android - 来自 Android SIP 演示的 CANCEL 请求被 Asterisk 1.8 忽略

标签 android sip asterisk

将标准 Android SIP 演示与 Asterisk 1.8.9.2 服务器结合使用时,我遇到了一个奇怪的问题:传入/传出调用正常工作,但有一件事不起作用:当我从 SIP 发起调用时demo 然后我再次关闭通话(点击“结束当前通话”按钮),通话在 SIP demo 中终止,但被叫设备仍在响铃。

我试图通过 Wireshark 记录电报来检查发生了什么,似乎不接受从 SIP 演示到 Asterisk 服务器的取消电报,看一下:

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请求的内容,结构完全一样! 此外,我还测试了一个带有 asterisk 1.6 的服务器,我没有遇到这个问题,调用在那里正确终止! 所以它让我相信它必须用 Asterisk vers 做一些事情。 1.8.

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

阿敏

最佳答案

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

[general]
.
.
pedantic=no 

我希望它也对你有用......

关于android - 来自 Android SIP 演示的 CANCEL 请求被 Asterisk 1.8 忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10697282/

相关文章:

java - 使用 SIP 和 RTP 的简单聊天应用程序

iOS - 自己的 VoIP Asterisk 客户端应用程序

audio - Asterisk 可以播放rtsp流吗?

android - 在 OpenStreetMap Android 中点击位置地址

node.js - 如何在 Node 中接收SIP音频并将WAV流发送到Google语音识别API?

Android - 如何长时间保持与服务器的连接

SIP URI 变量的 Python 正则表达式?

Asterisk 11队列日志到mysql

Android,用户在单击按钮时发送推送通知

android - 从 android ContactsContract 数据库加载数据后 fragment 未填充