Nat

nat/no-nat 設置中的星號/freeswitch

  • August 9, 2015

我目前的設置 - 我在幾個辦公室周圍使用一堆 sip 硬電話。所有設備都配置了兩個 sip 帳戶 - 一個在內部 sip 代理上

$$ for calls between the branches $$, another - at 3rd 方 voip 提供商$$ since it’s in different countries - those are different providers, but that’s irrelevant $$. 我正在考慮終止類似星號/freeswitch 伺服器的 sip 呼叫,並讓所有 sip 設備只登錄一次到此類伺服器

$$ s $$- 主要是提供語音郵件、群呼、重定向等。這似乎完全可行,但有一個問題 - 我找不到如何準備 nat/no nat 的範例。對於路由到來自/到第 3 方 voip 運營商的呼叫 - 我需要處理 nat/stun 等,但對於處理內部呼叫 - 我不想要任何 nat,所有流量都應該通過 vpns 到不同的分支機構。 你能給我一些如何配置的提示嗎?任何教程?

謝謝!

對於 FreeSWITCH,我相信這個功能可以由內部/外部 sip 配置文件處理。您可以在 wiki.freeswitch.org 上找到更多資訊

可以在外部配置文件(例如 /usr/local/freeswitch/conf/sip_profiles/external/voipprovider.xml)中設置外部 VoIP 提供商的 NAT 配置。您可以設置這兩個參數以匹配您的公共 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 的經驗,所以我不確定您將如何使用該開關進行設置。

引用自:https://serverfault.com/questions/148691