Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 1792 by horacimacias: MSS 1.3.2 cannot proxy CANCEL
http://code.google.com/p/mobicents/issues/detail?id=1792
What steps will reproduce the problem?
1. Setup MSS 1.3.2 with a proxy application that just proxies to the
requestURI.
2. Setup a call between two UAs. I believe the problem only happens if
there are Route headers involved (although not 100% sure as there seem to
be some timing related issues too; see below)
3. Make a call and CANCEL de call before picking it up at the called party
side.
What is the expected output? What do you see instead?
CANCEL should be proxied. Instead, it's not proxied and called party keeps
ringing.
What version of the product are you using? On what operating system?
MSS 1.3.2 on Ubuntu Lucid.
Please provide any additional information below.
I'm attaching a zip file containing the sip-server.log file with
org.mobicents and gov.nist log levels set to debug. Strangely enough, I did
two calls; the first one worked fine (!?):
(line 5453)
DEBUG pool-2-thread-1
org.mobicents.servlet.sip.core.dispatchers.CancelRequestDispatcher -
proxying the CANCEL CANCEL sip:[email protected] SIP/2.0
From: "H" <sip:[email protected]>;tag=tmfwt
Call-ID: bgfmxhhirrkv...@le093206
although it still did produce some exceptions on the logs:
(line 6964)
java.lang.NullPointerException
at
org.mobicents.servlet.sip.core.dispatchers.CancelRequestDispatcher$CancelDispatchTask.dispatch(CancelRequestDispatcher.java:189)
at
org.mobicents.servlet.sip.core.dispatchers.DispatchTask.dispatchAndHandleExceptions(DispatchTask.java:55)
at
org.mobicents.servlet.sip.core.dispatchers.DispatchTask.run(DispatchTask.java:50)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
ERROR pool-2-thread-2
org.mobicents.servlet.sip.core.dispatchers.MessageDispatcher - Problem
while sending the error response to the following request CANCEL
sip:[email protected] SIP/2.0
From: "H" <sip:[email protected]>;tag=tmfwt
Call-ID: bgfmxhhirrkv...@le093206
CSeq: 454 CANCEL
Route: <sip:192.168.181.34;lr>
Route:
<sip:192.168.181.32:15060;lr;smcs=1a189ae6faa8c8ad1c10cf26b3fba2a5;origrequesturi=sip:50016%40testing.com;phase=termdone>
Max-Forwards: 70
To: <sip:[email protected]>
Record-Route: <sip:[email protected];transport=udp;lr>
User-Agent: Twinkle/1.4.2 AVAYA-SM-6.1.0.0.27
Via: SIP/2.0/UDP
192.168.181.34;rport=5060;branch=z9hG4bK9493B520FFFFFFFFCCB8831109287-AP;ft=192.168.181.34~13c4;received=192.168.181.34
Via: SIP/2.0/UDP
192.168.181.32:15070;branch=z9hG4bK9493B520FFFFFFFFCCB8831109287
Content-Length: 0
javax.sip.SipException: Response does not belong to this transaction.
at
gov.nist.javax.sip.stack.SIPServerTransaction.sendResponse(SIPServerTransaction.java:1356)
at
org.mobicents.servlet.sip.core.dispatchers.MessageDispatcher.sendErrorResponse(MessageDispatcher.java:114)
at
org.mobicents.servlet.sip.core.dispatchers.DispatchTask.dispatchAndHandleExceptions(DispatchTask.java:63)
The second call did not work (CANCEL was not proxied). I cannot
find "proxying the CANCEL" for the second call. The same two exceptions are
still there for the second call.
Attachments:
sip-server-debug.zip 57.3 KB