himalaya51 / sipservlets

Automatically exported from code.google.com/p/sipservlets
0 stars 0 forks source link

App name resolution problem on error response's ACK #237

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Hello,

What steps will reproduce the problem?

1. Create two SipServlets with different app-names.
The first one proxies INVITEs to the second.
The second replies an error response (4xx, 5xx or 6xx, generated localy).

2. UAC sends an INVITE to MSS1, which is proxied to MSS2.
MSS2 replies with an error response with a to-tag containing 
z9hG4bK<app_id>_<app_name>_<some_numbers> and without Record-Route.
MSS1 ACK the error (without Route) and sends the error message to UAC (the To 
header is the same, no Record-Route).
UAC ACK the error (the To header is the same, no Route header).

What is the expected output? What do you see instead?

In the logs:
MSS1 throws a DispatcherException: IllegalArgumentException: The hash doesn't 
correspond to any app name: <app_name>.
No exception are expected, MSS should be able to find application in this case 
too.

In the SIP headers:
MSS2 (which generate error message) should add a Record-Route header to its 
error response if Route header is expected in ACK.
MSS1 should add itself to Record-Route too.

What version of the product are you using? On what operating system?

MSS 2.0.0 with JBoss AS 7.1.2.Final "Steropes"on Debian squeeze 6.0.7.
With sun-java 1.6.0_26.

Please provide any additional information below.

When MSS2 is replaced by another proxy (without Record-Route in error response 
and with a to-tag without underscores), the problem does not happen (or I 
didn't find it in the logs).

A discussion is opened here: 
https://groups.google.com/forum/#!topic/mobicents-public/ljCJ508lbYc.

Original issue reported on code.google.com by adrien.d...@gmail.com on 24 Sep 2013 at 9:12

Attachments:

GoogleCodeExporter commented 8 years ago

Original comment by jean.deruelle on 8 Nov 2013 at 1:57

GoogleCodeExporter commented 8 years ago
hello,
i have exactly the same problem? Which is rather blocking.
Has a solution been found since september ?
BL

--------------------------------------------------------------------------------
-
7:21:53,583 ERROR [SipApplicationDispatcherImpl] Unexpected exception while 
processing request ACK sip:+33975100501@sip.france.fr SIP/2.0
Call-ID: 1-4073@10.192.228.26
Max-Forwards: 69
From: <sip:+33975100500@sip.france.fr>;tag=1
To: 
<sip:+33975100501@sip.france.fr>;tag=10734201_aad3a370_2c870a1e-62b4-4b50-b0d7-4
8a8474cb351
Via: SIP/2.0/UDP 
10.192.228.49:5080;branch=z9hG4bK2c870a1e-62b4-4b50-b0d7-48a8474cb351_aad3a370_1
058095149532813
CSeq: 1 ACK
Route: <sip:10.192.228.49:5080;lr;imssession=b73fee31068ea1683b7e8624a18e9a9e>
Content-Length: 0

org.mobicents.servlet.sip.core.DispatcherException: 
java.lang.IllegalArgumentException: The hash doesn't correspond to any app 
name: aad3a370
        at org.mobicents.servlet.sip.core.dispatchers.SubsequentRequestDispatcher.dispatchMessage(SubsequentRequestDispatcher.java:135)
        at org.mobicents.servlet.sip.core.SipApplicationDispatcherImpl.processRequest(SipApplicationDispatcherImpl.java:770)
        at gov.nist.javax.sip.EventScanner.deliverEvent(EventScanner.java:230)
        at gov.nist.javax.sip.SipProviderImpl.handleEvent(SipProviderImpl.java:196)
        at gov.nist.javax.sip.DialogFilter.processRequest(DialogFilter.java:1298)
        at gov.nist.javax.sip.stack.SIPServerTransaction.processRequest(SIPServerTransaction.java:869)
        at gov.nist.javax.sip.stack.UDPMessageChannel.processMessage(UDPMessageChannel.java:540)
        at gov.nist.javax.sip.stack.UDPMessageChannel.processIncomingDataPacket(UDPMessageChannel.java:492)
        at gov.nist.javax.sip.stack.UDPMessageChannel.run(UDPMessageChannel.java:297)
        at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.IllegalArgumentException: The hash doesn't correspond to 
any app name: aad3a370
        at org.mobicents.servlet.sip.core.ApplicationRoutingHeaderComposer.getAppNameAndSessionId(ApplicationRoutingHeaderComposer.java:73)
        at org.mobicents.servlet.sip.core.dispatchers.SubsequentRequestDispatcher.dispatchMessage(SubsequentRequestDispatcher.java:131)
        ... 9 more

--------------------------------------------------------------------------------
-

Original comment by bruno.lo...@gmail.com on 22 Jan 2014 at 5:22

GoogleCodeExporter commented 8 years ago
Hello, and sorry for the late reply.

Unfortunately we didn't found enough time to work on it at the moment.

Original comment by adrien.d...@gmail.com on 24 Feb 2014 at 11:32

GoogleCodeExporter commented 8 years ago
added server id to to tag routing as well to avoid the issue and non regression 
test in r743b9a0081b1.

Original comment by jean.deruelle on 11 Mar 2014 at 10:02

GoogleCodeExporter commented 8 years ago
Please test the fix from latest 
https://mobicents.ci.cloudbees.com/job/Mobicents-SipServlets-Release/lastSuccess
fulBuild/artifact/ and report back

Original comment by jean.deruelle on 12 Mar 2014 at 10:33

GoogleCodeExporter commented 8 years ago
Hello, it works, no errors are returned, thanks.

Original comment by adrien.d...@gmail.com on 12 Mar 2014 at 2:43

GoogleCodeExporter commented 8 years ago
Thanks for reporting back

Original comment by jean.deruelle on 12 Mar 2014 at 3:02

GoogleCodeExporter commented 8 years ago

Original comment by jean.der...@telestax.com on 25 Aug 2014 at 10:52