SIP over double nat

SIP over double nat

我正在用 C(仅限客户端)开发一个 SIP 解析器,我有疑问,我是否需要在双 nat 上绑定一个具有特定端口 (5060) 的套接字?。我确定它在服务器端非常重要,但我不确定客户端

无论 NAT 类型如何,您都不必在客户端使用端口 5060。如果您只是选择一个随机端口,则没有任何缺点。唯一的建议是,一旦你选择了一个端口,就在会话中保持它,以帮助 NAT 在某些情况下绕过一点,并且不会因各种绑定而溢出 NAT。

即使在服务器端你也可以使用任何端口,但有一个很大的缺点:如果你不使用标准的 5060 端口,用户还需要输入端口部分作为服务器地址 (yourdomain:port)。

像 http 一样考虑一下。在 Web 服务器上,标准端口是 80。但是 none 的客户端(Web 浏览器)在客户端使用端口 80。