拨打电话时android sipdemo超时出现问题。手机上的本地SIP客户端没有问题,完美无缺。它当我在sipdemo中发起呼叫时,我在logcat中得到一个超时。超时设置为30秒的标准..本地星号框是它连接到的。注册成功。拨打电话时Android sipdemo超时
回答
我遇到同样的问题。 我追查在Wireshark的包,这里是我的发现:
- 我注册到SIP服务器SipDemo
- 我注册(使用的Ekiga)
- 我放在SipDemo到的Ekiga呼叫到SIP的桌面服务器。
- INVITE消息被发送到的Ekiga
- 试图从的Ekiga发送到服务器
- 铃声是从的Ekiga发送到SipDemo
- 我回答的Ekiga客户端上的电话
- OK(带会话描述)是从Ekiga发送到SipDemo。出现这种情况的11倍之前的Ekiga只是放弃
- BYE从的Ekiga客户端发送到SipDemo
请注意,确定正在发送11次前的Ekiga只是放弃,并挂断电话。这就是通话持续30秒的原因。
如果你看看在RFC这里: http://www.ietf.org/rfc/rfc3261.txt部分13.3.1.4
可以看到的Ekiga被放弃SipDemo客户端上的原因是因为它从来没有得到ACK从SipDemo回来。
我相信这是android bug,但我无法想象他们可能在他们的SIP实现中遗漏了这些基本的东西。
在接下来的几天里,我会尝试在Android源代码,以发掘一些答案......
我会尽力看到建立2个SipDemo应用程序之间的调用时会发生什么。如果它有效,那意味着android只会一起忽略ACK。
编辑: 我刚刚尝试过2个SipDemo客户端之间的调用。它发送OK 5次并放弃OK,但不结束通话。有趣的行为:)
EDIT2: 我挖出了androids的SIP实现,我发现应该发送ACK ...甚至logcat记录这一点,但我仍然没有看到任何Wireshark。我想也许它被阻塞了,所以我在设备上运行了鲨鱼(比如安卓版的Wireshark),将转储转移到了我的笔记本电脑上,在Wireshark中打开了它,并且我没有在任何地方看到ACK。我什至看到槽所有数据包...没有过滤器,以防万一我可能会过滤出来。反正...这是我在Android的代码中发现: http://hi-android.info/src/com/android/server/sip/SipSessionGroup.java.html 类:SipSessionImpl 方法:私人布尔outgoingCall(EVT的EventObject) 的情况下,Response.OK: 你可以看到这个调用: mSipHelper.sendInviteAck(事件,支持mDialog );如果(DEBUG)Log.d(TAG,“send ACK:”+ ack);如果(DEBUG)Log.d(TAG,“send ACK:”+ ack); dialog.sendAck(ack);
Dialog是NIST javax.sip,所以我不认为有必要进一步去... 运行的应用程序
EDIT3,当我看到这则消息,我logcat的“发送ACK”: 我注意到这个问题只发生在一些SIP服务器上。我现在试过opensips,它工作正常。我想我遇到的问题与服务器响应与404未找到的androids保持活动选项消息。然后,android试图尽可能不使用服务器。因此,一旦android获得了其对等客户端的地址,它试图发送一条直接消息,并失败
很难说就这样。尝试使用wireshark捕获软件包,筛选SIP协议并查看通过网络发送的内容。也可以用本地客户端尝试它并将其与sipdemo进行比较。
另一个出发点是你的星号实例(systemlog)
的日志如果你不能弄清楚自己,在这里发表的结果。
- 1. android:在接听电话时在后台拨打电话
- 2. 从iOS或Android拨打电话时隐藏电话号码
- 3. Android Twilio拨打电话
- 4. 在android中拨打电话
- 5. 拨打电话Error Listener - Android
- 6. Android:拨打服务电话
- 7. 拨打电话
- 8. 拨打外拨电话
- 9. 从两个地方拨打电话时只拨打一次电话
- 10. 访问android中拨打电话时的来电号码
- 11. 使用亚行在超时后拨打电话
- 12. 在拨入/拨出电话时自动打开拨号盘
- 13. iPhone:拨打电话
- 14. 当用户拨打电话时收听已结束的电话
- 15. 拨打电话作为选项拨打电话记录
- 16. 在手机上点击电话号码时拨打电话号码拨号器
- 17. Android意图ACTION_CALL不拨打电话
- 18. Android拨打电话的方法
- 19. 我在我的SIPDemo项目中获得注册,但无法拨打电话
- 20. 在android中点击textview拨打电话
- 21. Android List View Button拨打电话
- 22. android-如何从webview拨打电话
- 23. 在android中使用intent拨打电话
- 24. 在Android 2.1中拨打紧急电话
- 25. 打电话意图拨打电话,在Android中选择一个电话号码?
- 26. 在Android拨打电话时在拨号器屏幕上显示Toast消息
- 27. 从JavaScript中拨打电话
- 28. html5在ios拨打电话
- 29. Twilio拨打电话筛选
- 30. J2ME:如何拨打电话?
不错的工作谢谢你们 – tommo 2012-02-26 05:51:30