Networking SIP:两个网络如何透明连接并形成一个逻辑网络?

Networking SIP:两个网络如何透明连接并形成一个逻辑网络?,networking,asterisk,sip,freeswitch,sip-server,Networking,Asterisk,Sip,Freeswitch,Sip Server,我学习SIP已经有一段时间了,但是我想不出一个方法来完成我脑海中的场景 让我们假设我在家里有许多SIP客户端和一个SIP服务器,在一个专用网络中(在NAT/防火墙后面,从公共互联网无法访问)。然后在公共互联网上有一个SIP服务器,我也可以访问它。现在假设我还有一个带有SIP客户端的移动设备。我对在这个逻辑网络中所有SIP客户端之间拨打和接听电话的能力感兴趣,无论移动SIP客户端连接到专用网络还是公共互联网(系统应适应环境的变化)。此外,我需要确保专用网络中的SIP服务器在连接到公共Interne

我学习SIP已经有一段时间了,但是我想不出一个方法来完成我脑海中的场景

让我们假设我在家里有许多SIP客户端和一个SIP服务器,在一个专用网络中(在NAT/防火墙后面,从公共互联网无法访问)。然后在公共互联网上有一个SIP服务器,我也可以访问它。现在假设我还有一个带有SIP客户端的移动设备。我对在这个逻辑网络中所有SIP客户端之间拨打和接听电话的能力感兴趣,无论移动SIP客户端连接到专用网络还是公共互联网(系统应适应环境的变化)。此外,我需要确保专用网络中的SIP服务器在连接到公共Internet不可用时能够独立工作。也就是说,与公共互联网的连接在此设置中是可选的扩展,这可能使移动SIP客户端能够连接到专用网络

我真的不知道SIP协议及其扩展是否可能实现这一点。我很好奇这两个SIP服务器将如何连接(以什么“模式”?)以便工作

你知道我需要什么软件来实现这种情况吗,例如FreeSWITCH、Asterisk、Kamailio


如有任何提示,我们将不胜感激。

我将使用FreeSWITCH:

  • 定义一个SIP服务域名,并设置两个解析程序:家庭LAN上的一个指向本地服务器,在公共Internet上,此域将指向您的外部服务器

  • 在外部服务器上,您可以使用“用户特定网关”,请参阅中的详细信息。因此,当用户在外部服务器上注册时,外部服务器会与您的LAN服务器建立连接(它必须可以从公共Internet访问,例如通过防火墙上的端口转发)。然后,呼叫可以转发到您的LAN服务器,并与其他分机桥接

  • 此外,以下是我为初学者提供的简短教程:


    我认为使用星号也很可行,但我的经验要少得多。此外,我建议任何绿地项目使用FreeSWITCH。

    谢谢您的意见。不过,你能更具体一点吗?这两个解析器是什么?你指的是与DNS相关的东西吗?难道没有办法从位于专用网络中的SIP服务器建立到基于Internet的公共SIP服务器的连接,并在该连接上进行双向操作,以避免需要通过端口转发等从专用网络公开主机吗?一种代理或者某种隧道会有帮助吗?这也是可能的,但需要更多的工作。您的内部服务器需要知道外部用户的位置,并且我描述的方法是开箱即用的,无需在其上添加任何逻辑。是的,我指的是DNS解析程序。我可以为你做一个原型,但会很贵:)