asterisk/freeswitch 在 nat/no-nat 设置中

asterisk/freeswitch 在 nat/no-nat 设置中

我目前的设置 - 我在几个办公室周围使用一堆 SIP 硬电话。所有设备都配置了两个 SIP 帐户 - 一个在内部 SIP 代理上[用于分支机构之间的呼叫],另一个 - 在第三方 VOIP 提供商处[因为它在不同的国家 - 那些是不同的提供商,但这无关紧要]。

我正在考虑在类似 asterisk/freeswitch 服务器的服务器上终止 sip 呼叫,并让所有 sip 设备只登录一次这样的服务器 - 主要是为了提供语音邮件、群组呼叫、重定向等功能。这似乎完全可行,但有一个问题 - 我找不到如何准备 nat/no nat 的示例。对于路由到/来自第三方 voip 运营商的呼叫 - 我需要处理 nat/stun 等,但对于内部呼叫的处理 - 我不想要任何 nat,所有流量都应该通过 vpn 到不同的分支机构。

您能给我提供一些有关如何配置它的提示吗?有任何教程吗?

谢谢!

答案1

对于 FreeSWITCH,我相信此功能可以通过内部/外部 sip 配置文件来处理。您可以在 wiki.freeswitch.org 上找到更多信息

您可以在外部配置文件中设置外部 VoIP 提供商的 NAT 配置(例如 /usr/local/freeswitch/conf/sip_profiles/external/voipprovider.xml)。您可以设置这两个参数以匹配您的公共 IP 地址:

<include>
        <gateway name="voipprovider">
        <param name="ext-rtp-ip" value="x.x.x.x"/>
        <param name="ext-sip-ip" value="x.x.x.x"/>
        <param name="username" value="user"/>
        <param name="password" value="password"/>
        <param name="realm" value="sip.voipprovider.com"/>
        </gateway>
</include>

要使用外部 voip 提供商,您需要设置拨号计划 (/usr/local/freeswitch/conf/dialplan/default.xml),如下所示。要根据目的地使用不同的 voip 提供商,您可以调整正则表达式:

<include>
 <extension name="Dial Out VoIP Provider">
   <condition field="destination_number" expression="^9(1\d{10})$">
     <action application="bridge" data="sofia/gateway/voipprovider/$1"/>
   </condition>
 </extension>
</include>

希望这能有所帮助。我没有使用过 Asterisk,因此我不确定如何使用该开关进行设置。

相关内容