How to forward the 302 resp from proxy to B2B?
Hi,
I have the following chain of servlets in my applications.
B2B1->Proxy->B2B2
I am trying the following scenarios in my application
A B2B1 Proxy B2b2 B
INV(call-id1) INV(call-id2) INV(call-id2) INV(call-id3)
|-------------> | --------------->| --------------->|------------> |
| | | | |
| | | 302 Res(id2) | 302 Res(id3) |
| | |<----------------|<------------|
I don't have any specific implementation in my proxy for 302. i just call super.doResponse(). The default implementation for 302 in sip servlet is trying to send the invite with new address in the contact header field. when this new invite reaches the B2B-2 i get the following exception.
java.lang.IllegalStateException: This DialogFragment is in confirmed state and has no longer a DialogSet reference
at com.ericsson.ssa.sip.DialogFragment.getDialogSet(DialogFragment.java:272)
at com.ericsson.ssa.container.sim.ServletDispatcher.createSession(ServletDispatcher.java:181)
at com.ericsson.ssa.container.sim.ServletDispatcher.invoke(ServletDispatcher.java:278)
at com.ericsson.ssa.container.sim.ApplicationDispatcher.invokeServletDispatchers(ApplicationDispatcher.java:544)
at com.ericsson.ssa.container.sim.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:349)
at com.ericsson.ssa.sip.ProxyBranchImpl$3.call(ProxyBranchImpl.java:693)
at com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:325)
at com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184)
I want to avoid this and let the 302 be forwarded to B2B-1 from the proxy.
How can i do that?
Regards
Saikiran