我在提供商处有一个SIP帐户,它只支持UDP作为传输协议。
我读到,对于移动客户端应用程序,如CSipSimple和其他应用程序,UDP传输需要非常频繁的保持活动数据包发送,这会严重影响电池使用。
显然,在这种情况下,TCP协议会好得多,因为保持活动频率较低。
我想知道......我可以在服务器上设置SIP代理并使其连接到我的提供商并提供与客户端的TCP连接吗?某种“中间人”服务器。我怎么能这样做?
(也许我误解了“SIP代理”的“代理”一词?)
答案 0 :(得分:1)
您可以在中间放置SIP代理(例如Kamailio),甚至可以放置PBX(例如Asterisk,Freeswitch)。
最简单的方法是在中间使用Asterisk,配置非常简单。然而,切换到TCP可能对您没有帮助。这取决于您计划使用的移动设备 - Android或iPhone。对于iPhone,TCP运行良好,但在最新的Android版本6.0中是新的打盹模式,它将终止所有连接,甚至包括TCP,所以对于Android,你需要添加推送功能,这将唤醒Android上的CSipSimple。在iPhone推送没有必要,但也可能是推荐。