小编Ros*_*lan的帖子

Iphone Voip应用程序 - 背景和保持nat针孔活着

我正在测试由使用PJSip的iphone app开发者编写的Voip sip客户端.我亲自玩弄了一些SIP开发,但我不是专家.

使用我们的VOIP软交换机(Acme数据包/ Broadsoft),它通过动态确定最佳重新注册时间来保护Nat设备上的Nat针孔活动,从而完成所有Nat处理.通常当iphone落后于NAT时,这段时间在60-90秒之间.

Iphone应用程序正在使用TCP,并愉快地使用Backgrounding.显然背景是节省电池寿命的理想选择.电话会唤醒电话,您可以收听电话.

问题是,当应用程序进入后台模式时,它无法保持Nat针孔打开.这意味着一旦针孔关闭,防火墙将始终拒绝新的来电到达Iphone应用程序.这会影响到应用程序工作几分钟,然后无法工作一段时间,然后当应用程序退出后台并再次注册时,入站呼叫再次起作用.

根据苹果文档:http: //developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html#//apple_ref/doc/uid/TP40007072-CH4-SW3

它们内置了用于后台处理的voip应用程序的特殊例外,我们可以:1.配置应用程序套接字,以便它们仍然可以处理传入的消息传递.这没有帮助,因为如果nat针孔关闭,消息传递将永远不会到达应用程序.2.使用Keep alive,但最短时间为600秒.这也意味着针孔将关闭.

是否有一些聪明的方式,应用程序可以发送Voip Sip注册消息,例如每60秒左右,同时保留在后台.或者应用程序可以每隔60秒唤醒一些工作然后关闭.

我真的很困惑,市场上是否有其他sip应用程序解决了这个问题.

iphone voip objective-c pjsip

5
推荐指数
1
解决办法
1938
查看次数

标签 统计

iphone ×1

objective-c ×1

pjsip ×1

voip ×1