when testing proxy in mobicents, mobicents cannot forward bye message to the other one.
when one user send bye, it just receives 481 and the other user remains in talking.
Such exception only occurs when call duration >= 10s.
and i can see that sip application session is closed before user send bye. i dont konw how to avoid this. please help me !!!
below is my test code:
@Override
protected void doInvite(SipServletRequest request) throws ServletException, IOException {
List<SipURI> forks = new ArrayList<SipURI>();
SipURI toURI = (SipURI) request.getTo().getURI();
SipFactory sipFactory = (SipFactory) getServletContext().getAttribute(SIP_FACTORY);
forks.add( sipFactory.createSipURI(toURI.getUser(),"192.168.4.160:11180") );
forks.add( sipFactory.createSipURI("9988003","192.168.4.30:5080") );
//request.getProxy().setParallel(true);
List<ProxyBranch> branches = request.getProxy().createProxyBranches( forks );
for(ProxyBranch branch: branches){
branch.setRecordRoute(true);
}
request.getProxy().startProxy();
}
and i get an exception in my log:
org.mobicents.servlet.sip.core.DispatcherException: Cannot find the corresponding sip application session to this subsequent request BYE sip:9988002@192.168.4.160:11180;transport=udp SIP/2.0
Via: SIP/2.0/UDP 192.168.4.204:11180;rport=11180;branch=z9hG4bKBH36Ht963rXeB;received=192.168.4.204
Max-Forwards: 70
From: "Extension 9988001" <sip:9988001@192.168.4.204>;tag=KtgZ29USetpNj
To: <sip:9988002@192.168.4.89>;tag=vN8t8Xm8yXg2K
Call-ID: 0e0bee76-943b-1234-4ba8-000c29680286
CSeq: 91266548 BYE
Contact: <sip:mod_sofia@192.168.4.204:11180>
User-Agent: FreeSWITCH-mod_sofia/1.2.23~64bit
Allow: INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REGISTER,REFER,NOTIFY
Supported: timer,path,replaces
Reason: Q.850;cause=16;text="NORMAL_CLEARING"
Content-Length: 0
with the following popped route header <sip:192.168.4.89:5060;transport=udp;as=ded31d5f-500e-4c2d-84bb-370065d85c87;appname=1180947b;proxy=true;app_id=7599adf4;lr>, it may already have been invalidated or timed out
at org.mobicents.servlet.sip.core.dispatchers.SubsequentRequestDispatcher.dispatchMessage(SubsequentRequestDispatcher.java:248)
at org.mobicents.servlet.sip.core.SipApplicationDispatcherImpl.processRequest(SipApplicationDispatcherImpl.java:861)
at gov.nist.javax.sip.EventScanner.deliverRequestEvent(EventScanner.java:250)
at gov.nist.javax.sip.EventScanner.deliverEvent(EventScanner.java:146)
at gov.nist.javax.sip.SipProviderImpl.handleEvent(SipProviderImpl.java:185)
at gov.nist.javax.sip.DialogFilter.processRequest(DialogFilter.java:1324)
at gov.nist.javax.sip.stack.SIPServerTransactionImpl.processRequest(SIPServerTransactionImpl.java:811)
at gov.nist.javax.sip.stack.UDPMessageChannel.processMessage(UDPMessageChannel.java:578)
at gov.nist.javax.sip.stack.UDPMessageChannel.processIncomingDataPacket(UDPMessageChannel.java:524)
at gov.nist.javax.sip.stack.UDPMessageChannel.run(UDPMessageChannel.java:319)
at java.lang.Thread.run(Thread.java:722)