Skip to main content

SIP11 RA events mismatch & ACK sending error

5 replies [Last post]
robertofrancesc...
Offline
Joined: 2008-08-28
Points: 0

Hello, we are trying to convert our B2BUA based services to use them on the new sip11 RA included in the 1.2.0CR2 release but we found out strange behaviours..

The in-dialog events fired by the eventIDCache.java file have this prefix:
private static final String EVENT_PREFIX_1_2 = "javax.sip.dialog.";

while in the resource-adaptor-type-jar.xml and event-jar.xml under the dialog events section we only have events like this:

javax.sip.message.Response.INFORMATIONAL
net.java
1.2
javax.sip.ResponseEvent

So we changed the event-type-name according to the above mentioned EVENT_PREFIX_1_2 variable, and had our services working again.
Is that a normal thing? Maybe you forgot to change them before releasing the new version? (It's even in the 1.2.0.GA just released)

The previous version of our service used the old SIP RA and worked flawlessly while now using SIP11 and the above modifications we are getting this error:

15:35:44,332 ERROR [STDERR] javax.sip.SipException: Could not send ack
15:35:44,333 ERROR [STDERR] at gov.nist.javax.sip.stack.SIPDialog.sendAck(SIPDialog.java:711)
15:35:44,333 ERROR [STDERR] at gov.nist.javax.sip.stack.SIPDialog.sendAck(SIPDialog.java:1473)
15:35:44,334 ERROR [STDERR] at org.mobicents.slee.resource.sip11.wrappers.DialogWrapper.sendAck(DialogWrapper.java:295)
15:35:44,334 ERROR [STDERR] at it.unipg.diei.slee.CallControl.CallControlSbb.forwardAck(CallControlSbb.java:377)
15:35:44,335 ERROR [STDERR] at it.unipg.diei.slee.CallControl.CallControlSbb.onAck(CallControlSbb.java:145)
15:35:44,336 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
15:35:44,337 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
15:35:44,338 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
15:35:44,339 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:597)
15:35:44,340 ERROR [STDERR] at org.mobicents.slee.runtime.sbbentity.SbbEntity.invokeEventHandler(SbbEntity.java:877)
15:35:44,341 ERROR [STDERR] at org.mobicents.slee.runtime.EventRouterImpl.routeQueuedEvent(EventRouterImpl.java:892)
15:35:44,342 ERROR [STDERR] at org.mobicents.slee.runtime.EventRouterImpl.access$100(EventRouterImpl.java:64)
15:35:44,343 ERROR [STDERR] at org.mobicents.slee.runtime.EventRouterImpl$EventExecutor.run(EventRouterImpl.java:121)
15:35:44,344 ERROR [STDERR] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
15:35:44,344 ERROR [STDERR] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
15:35:44,345 ERROR [STDERR] at java.lang.Thread.run(Thread.java:619)
15:35:44,346 ERROR [STDERR] Caused by: java.net.BindException: Cannot assign requested address: Datagram send failed
15:35:44,346 ERROR [STDERR] at java.net.PlainDatagramSocketImpl.send(Native Method)
15:35:44,347 ERROR [STDERR] at java.net.DatagramSocket.send(DatagramSocket.java:612)
15:35:44,347 ERROR [STDERR] at gov.nist.javax.sip.stack.UDPMessageChannel.sendMessage(UDPMessageChannel.java:752)
15:35:44,348 ERROR [STDERR] at gov.nist.javax.sip.stack.UDPMessageChannel.sendMessage(UDPMessageChannel.java:623)
15:35:44,349 ERROR [STDERR] at gov.nist.javax.sip.stack.SIPDialog.sendAck(SIPDialog.java:707)
15:35:44,349 ERROR [STDERR] ... 15 more
15:35:44,660 INFO [SipResourceAdaptor] Transaction z9hG4bK54ecb3ad6c84a346054dc99e8e9df890terminated

the code that is raising the error is posted below and regards the forwarding of the ACK message to the second leg:

private void forwardAck(final Request request, final DialogActivity dialog) {
DialogActivity peer = getPeerDialog(dialog);
CSeqHeader cseq = (CSeqHeader) request.getHeader(CSeqHeader.NAME);
try {
peer.sendAck(peer.createAck(cseq.getSeqNumber()));
} catch (Exception ex) {
ex.printStackTrace();
}
}

Do you happen to know why are we getting this error? I tried to send the ACK in different ways but nothing changed.

Best regards,
Roberto Francescangeli.

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
robertofrancesc...
Offline
Joined: 2008-08-28
Points: 0

Ok, I tried the GA release and patched the EventIDCache as you suggested in Issue 372 and everything is working fine now.
With the GA release even the ACK problem is not here anymore but I tried only a few events such as INVITE, BYE, ACK, SUCCESS, INFORMATIONAL and I'm going to try more in these days.

Thank you for your support,
Roberto Francescangeli.

robertofrancesc...
Offline
Joined: 2008-08-28
Points: 0

patching EventIDCache.java file and switching to GA release solved the problem

eduardomartins
Offline
Joined: 2005-10-10
Points: 0

Event id issue confirmed (http://code.google.com/p/mobicents/issues/detail?id=372), regarding the ACK that should not be the reason, have you tried the old SIP RA in the GA release too?

robertofrancesc...
Offline
Joined: 2008-08-28
Points: 0

No I haven't tried it yet but I'll check it tomorrow (in Italy is night now). However with the BETA3 and the old SIP RA everything was working fine using the same methods.

I'll keep you up to date.

Best Regards,
Roberto Francescangeli.

eduardomartins
Offline
Joined: 2005-10-10
Points: 0

we will check it, stay tunned