在将标准 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 的服务器,我没有遇到这个问题,呼叫在那里正确终止!所以它让我相信它必须用星号 vers 做一些事情。1.8.
有没有人遇到过类似的问题并对我有一些有用的提示?如果需要进一步的数据进行分析,请告诉我!谢谢你的帮助,BR
阿明