【发布时间】:2013-03-08 14:06:52
【问题描述】:
有些 ios sip 应用程序能够与仅 UDP 的 SIP 服务器通信。
据我所知,iOS 仅允许 TCP 连接在后台保持打开状态,但大多数 SIP 提供商仅支持 UDP。
我注意到 iOS 应用程序 3CXPhone 有一个“NAT 辅助模式”,它能够在后台保持与仅 UDP 的 3CX Phone 系统的通信。有人知道他们使用什么技巧吗?我正在开发一个 SIP 应用程序,我必须使它适用于仅 UDP 的 SIP 提供商。
我知道在 SO 的后台有多个关于 UDP 套接字的问题,但没有一个有有用的答案,或者那里提出的解决方案不再有效(从 iOS 6 开始)。
到目前为止,我知道两种可能的解决方案: 1. 使用一些 GPS 事件,并在这些事件期间保持套接字通信。之后尝试欺骗苹果并在商店中获取您的应用程序。 2.在中间使用SIP代理(B2BUA)。但是在 3CXPhone “NAT 助手模式”中,我没有看到任何 sip 代理配置。
【问题讨论】:
-
@tc。我知道这个问题以及另外 10 个可能看起来相似但他们都在处理套接字级别的问题。不幸的是,UDP 套接字的包装不再起作用了。
-
我对结束这个问题的投票感到非常失望,我有一个问题,我正在寻找解决方案。如果问题的格式不正确,您应该帮我重新格式化问题而不是关闭它。
-
这个问题是关于如何让应用程序穿越 NAT。
-
@FrankShearar:是和不是。问题是 iOS 只允许 TCP 套接字在后台保持打开状态并保持 NAT 处于打开状态。但是在一些 SIP 提供商中只支持 UDP,所以我正在寻找一种解决方案,在这种情况下如何保持 NAT 横向打开。
标签: iphone ios sip voip sip-server