Fixes setting allow events sip header value.

deb-src-release-2.8.5426
Damian Minkov 11 years ago
parent ecfda19eb5
commit 72d1008e25

@ -15,8 +15,10 @@
import javax.sip.address.*;
import javax.sip.header.*;
import javax.sip.message.*;
import javax.sip.message.Message;
import gov.nist.javax.sip.*;
import gov.nist.javax.sip.header.*;
import net.java.sip.communicator.impl.protocol.sip.net.*;
import net.java.sip.communicator.service.protocol.*;
@ -107,15 +109,7 @@ public boolean processRequest(RequestEvent requestEvent)
method));
}
Iterable<String> knownEventsList = provider.getKnownEventsList();
synchronized (knownEventsList)
{
for (String event : knownEventsList)
optionsOK.addHeader(
provider.getHeaderFactory().createAllowEventsHeader(
event));
}
addAllowEventsHeader(optionsOK);
}
catch (ParseException ex)
{
@ -158,6 +152,32 @@ public boolean processRequest(RequestEvent requestEvent)
return true;
}
/**
* Creates a list of known events and add them to the value of
* Allow-Events header
* @param message the message to set the newly created header
* @throws ParseException error on creating header
*/
private void addAllowEventsHeader(Message message)
throws ParseException
{
Iterable<String> knownEventsList = provider.getKnownEventsList();
AllowEventsList eventsList = new AllowEventsList();
synchronized (knownEventsList)
{
for (String event : knownEventsList)
{
eventsList.add(
(AllowEvents)provider.getHeaderFactory()
.createAllowEventsHeader(event));
}
}
message.setHeader(eventsList);
}
/**
* Returns the next long to use as a cseq header value.
* @return the next long to use as a cseq header value.
@ -323,19 +343,7 @@ public void run()
provider.getHeaderFactory().createAllowHeader(method));
}
Iterator<String> events
= provider.getKnownEventsList().iterator();
synchronized (provider.getKnownEventsList())
{
while (events.hasNext())
{
String event = events.next();
request.addHeader(provider.getHeaderFactory()
.createAllowEventsHeader(event));
}
}
addAllowEventsHeader(request);
//Transaction
ClientTransaction optionsTrans = null;

Loading…
Cancel
Save