来自Asterisk 1.8忽略的来自Android SIP演示的取消请求

将标准Android SIP演示与星号1.8.9.2服务器结合使用时,我遇到一个奇怪的问题:传入/传出呼叫正常运行,但是有一件事不起作用:当我从SIP演示发起呼叫时,再次关闭该呼叫(单击“结束当前呼叫”按钮),该呼叫在SIP演示中终止,但被叫设备仍保持振铃.

我尝试通过Wireshark记录电报来检查发生了什么,看来从SIP演示到星号服务器的CANCEL电报似乎不被接受,请看一下:

300 08:30:39.483913 130.10.0.102    192.168.0.110   SIP/SDP 916 Request: INVITE sip:110@192.168.0.110:5060, with session description
301 08:30:39.488686 192.168.0.110   130.10.0.102    SIP 525 Status: 100 Trying
302 08:30:39.524884 192.168.0.110   130.10.0.102    SIP 541 Status: 180 Ringing
309 08:30:41.041071 130.10.0.102    192.168.0.110   SIP 370 Request: CANCEL sip:110@192.168.0.110:5060
310 08:30:41.051545 192.168.0.110   130.10.0.102    SIP 526 Status: 481 Call/Transaction Does Not Exist

而现在真正的奇怪的事情是:如果我重复相同的操作,并且在通过“结束当前通话”按钮终止通话之前,我要等待ca. 7秒后,CANCEL被接受,并且呼叫正确终止:

646 08:31:05.571464 130.10.0.102    192.168.0.110   SIP/SDP 916 Request: INVITE sip:110@192.168.0.110:5060, with session description
647 08:31:05.576150 192.168.0.110   130.10.0.102    SIP 525 Status: 100 Trying
648 08:31:05.662345 192.168.0.110   130.10.0.102    SIP 541 Status: 180 Ringing
664 08:31:08.302561 130.10.0.102    192.168.0.110   SIP 389 Request: OPTIONS sip:192.168.0.110
665 08:31:08.312097 192.168.0.110   130.10.0.102    SIP 528 Status: 404 Not Found
698 08:31:13.370346 130.10.0.102    192.168.0.110   SIP 370 Request: CANCEL sip:110@192.168.0.110:5060
699 08:31:13.373570 192.168.0.110   130.10.0.102    SIP 513 Status: 487 Request Terminated
700 08:31:13.373912 192.168.0.110   130.10.0.102    SIP 497 Status: 200 OK

我已经检查了两个CANCEL请求的内容,并且结构完全相同!
此外,我还使用星号1.6测试了服务器,并且在那里我没有遇到此问题,因此呼叫在此处正确终止!
因此,它使我相信它必须与星号保持一致. 1.8.

有没有人遇到类似的问题,并且对我有帮助?如果需要进一步的数据进行分析,请告诉我!
谢谢你的帮助,
BR

阿明

解决方法:

我遇到了与Asterisk 1.8.11.0和Android 2.3 / 4.0.3完全相同的问题.
sip.conf文件的“常规”部分下有一个针对此问题的简单解决方案
添加以下属性,其值等于no.

[general]
.
.
pedantic=no 

我希望它也对您有用…..

上一篇:网络协议-DNS组包实例


下一篇:QT Designer config