2016-05-30 20 views
1

当在mobicents中测试代理时,mobicents不能转发再见消息到另一个。 当一个用户发送再见时,它只收到481,另一个用户保持通话。
这种异常只发生在通话时间> = 10s时。当使用mobicents代理时,未能转发再见

我可以看到在用户发送再见之前关闭sip应用程序会话。我不知道如何避免这种情况。 请帮助我!

下面

是我的测试代码:

@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(); 
} 

,我在我的日志得到一个例外:

org.mobicents.servlet.sip.core.DispatcherException: Cannot find the corresponding sip application session to this subsequent request BYE sip:[email protected]: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:[email protected]>;tag=KtgZ29USetpNj 
To: <sip:[email protected]>;tag=vN8t8Xm8yXg2K 
Call-ID: 0e0bee76-943b-1234-4ba8-000c29680286 
CSeq: 91266548 BYE 
Contact: <sip:[email protected]: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) 

回答

0

这是只发生呼叫其持续时间>3分钟?

sip servlets规范将SIP会话的默认持续时间定义为3分钟。您可以在应用程序中以sip.xml session-timeout属性或编程方式修改它。

+0

当hanguped,持续时间只有> 10秒。你可以看到我的详细日志:[err log](https://groups.google.com/group/mobicents-public/attach/a5af52a063b6/proxy_error_log.txt?part=0.2&authuser=0&view=1)和[wireshark package] (https://groups.google.com/group/mobicents-public/attach/a5af52a063b6/proxy_error.pcapng?part=0.3&authuser=0&view=1) –

+0

您的DEBUG日志缺少初始INVITE事务。请只做1次调用,展示问题并发送整个DEBUG日志。你正在使用哪个版本?你有没有试过来自https://mobicents.ci.cloudbees.com/job/RestcommSipServlets-Release/的最新版本? – jeand

相关问题