首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mobicents代理时未能转发bye

使用mobicents代理时未能转发bye
EN

Stack Overflow用户
提问于 2016-05-30 09:52:39
回答 1查看 177关注 0票数 1

在mobicents中测试代理时,mobicents不能将bye消息转发给另一个。当一个用户发送bye时,它只接收到481,而另一个用户仍然在交谈。

此类异常仅在调用持续时间>= 10 s时发生。

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

下面是我的测试代码:

代码语言:javascript
复制
@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();
}

我的日志里有个例外:

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

发布于 2016-05-30 10:10:13

这种情况只发生在持续时间超过3分钟的呼叫中吗?

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37522639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档