Status: New
Owner: ----
Labels: Type-Defect Priority-Medium Component-Sip-Servlets MSS-1.8.0.FINAL
New issue 2 by [email protected]: MSS: Recursed proxy branches are not
cancelled
http://code.google.com/p/sipservlets/issues/detail?id=2
What steps will reproduce the problem?
1. Create a proxy application
2. Proxy a request to something that returns a 302 with a second destination
3. As soon as the second destination has received the INVITE, send a CANCEL
What is the expected output? What do you see instead?
The expected output is that the container CANCELs the remaining branch.
What I see instead is an exception because proxy.cancel() tries to cancel
all branches, including the first one for which a final response has
already been sent.
What version of the product are you using? On what operating system?
Mobicents 1.7 snapshot updated from svn.
Please provide any additional information below.
I think ProxyImpl.cancel should call cancelAllExcept with the last argument
(throwExceptionIfCannotCancel) being false so that an exception on a branch
doesn't prevent the next branches from being cancelled. Perhaps it would be
good to log the exception with info/warn (but not throw it unless it's the
last branch).
I tested locally after modifying throwExceptionIfCannotCancel to false, and
things are behaving as expected.