sip_nat.conf 设置

Elastix/Asterisk 主機設定

PBX > Tools > File Editor > File: sip_nat.conf,增加以下兩行。

externip=aaa.aaa.aaa.aaa
localnet=bbb.bbb.bbb.bbb/255.255.255.0

externip - 主機所對應的外部網路 IP
localnet - 與主機在同一個LAN,所有內部分機的內部網路之網段,如有 vLan 環境可設多組網段。

aaa.aaa.aaa.aaa 外部網路 IP 位址
bbb.bbb.bbb.bbb 內部網路的子網路定義,例如 192.168.1.0。

如果沒有固定的 IP,可以使用 DDNS 服務,且設定將 externip 改成 externhost,並填寫正確的主機 FQDN 名稱。

externhost=mypbx.mydomain.com

變更設定後需重啟服務,才會生效。

檢查設定是否有被套用:

# Asterisk -rx "sip show settings"

Network Settings:
---------------------------
SIP address remapping: Enabled using externip
Externhost: <none>
Externip: 123.123.123.123:5060
Externrefresh: 10
Internal IP: 127.0.0.1:5060
Localnet: 192.168.9.0/255.255.255.0
STUN server: 0.0.0.0:0

注意:新版的 Asterisk 1.8+ 已經將 externip 改成 externaddr

Router/Firewall 設備的設定

這裡的設定程序會依實際使用的設備而有所不同,不過大致區分有兩種作法:

  1. DMZ
    將 Elastix 設定為 DMZ,且確保 SIP、RTP、IAX2 通訊埠允許通過,且都有對應到 Elastix 主機。
    SIP - 5060 UDP。
    RTP - 10000~20000 UDP,請參照 /etc/asterisk/rtp.conf
    IAX2 - 4569 TCP/UDP。
  2. Port Forwarding
    確認 SIP、RTP、IAX2 這些通訊埠(各埠號同上述)可以轉送至 Elastix 主機,且無其他應用程式佔用。

常見問題

  1. 遠端網路的分機或另一台 Elastix 主機無法註冊?
    Ans:請在 分機或 SIP Trunk 設定增加 nat=yes。
  2. 遠端的分機可以成功註冊但聽不到聲音,而內部分機是正常的?
    Ans:這個問題多半是 RTP 無法正常通過兩邊的防火牆所致。
    • 在主機端,請重新檢查上述的所有步驟,尤其是 RTP 的部份。
    • 在分機端,檢查防火牆有關 RTP 的設定。
  3. 主機放在網路防火牆內,不需要遠端分機註冊,防火牆該如何設定安全政策?
    Ans:假使沒有遠端分機註冊的需求,在網路防火牆的安全政策設定,仍需要開啟 Port forwarding for RTP,否則當要接聽來自外網的其他 SIP 來電時,撥號者會聽不到任何聲音。
  4. 如何決定 RTP port 的可用範圍?
    Ans:一個電話終端會用到 2 port,分機 A 撥給分機 B 就會用到 4 port,如使用視訊通話,則一個視訊通話會用到 4 port,可參閱此篇討論
  5. 對於某些 Router 即使修改的 Asterisk 的設定,仍是聽不到聲音?
    Ans:檢查 Router 是否開啟 SIP ALG(預設通常是開啟的),將它關閉試試。參閱:http://www.sysfix.co.uk/blog/2011/01...-sip-asterisk/
  6. 主機與遠端分機都在 NAT 網路下,遠端分機每隔幾秒或分鐘,就會出現未註冊或掉線狀態?
    Ans:這通常是兩端的防火牆設備造成兩邊 NAT 網路不一致所引起,比較好的方法是更換其中一邊的防火牆設備試試。
    如果仍不行或者無法更換設備,可以試著調整遠端分機的設定,找尋有關 keeplive,或 register expire 兩個參數,作法是啟用 keeplive,調低 register expire。(參閱此篇文章

技巧

如何檢測主機 5060 port 有否正常對外通訊?

使用另一台在外網的 Linux 電腦,執行以下指令,偵測對方主機是否開啟 port 5060。
//若對方主機的網路未封鎖 ping 指令,請用
#>nmap -sU -p 5060 <對方主機 IP 位址>

//若對方主機的網路封鎖 ping 指令,請用
#>nmap -P0 -p 5060 <對方主機 IP 位址>

通訊埠可連線時狀態

Starting Nmap 4.68 ( http://nmap.org ) at 2009-01-23 18:51 PST
Interesting ports on 192.168.1.254:
PORT     STATE         SERVICE
5060/udp open|filtered sip

通訊埠不可連線時狀態

Starting Nmap 4.68 ( http://nmap.org ) at 2009-01-23 19:12 PST
Interesting ports on 192.168.1.254:
PORT     STATE  SERVICE
5060/udp closed sip
如何挑選適合 VoIP 的 Router

基於網路使用的安全性,VoIP 的基礎網路架構一定免不了要用到 NAT 網路,然而市售的 Router 其廠牌與售價又非常之混亂,若只是將它們用於一般上網、玩遊戲,可能差別不大;若要應用在 VoIP 的語音通訊上,可就不一定每個都能擔此重任了。

有些設備對於 VoIP 通訊不是這麼相容,有可能會衍生一些奇奇怪怪的問題,故挑選一個正確的 Router 對於 VoIP 通訊是非常重要的,設備除了非親自使用過以外,採購前也可以參考這個網站的列表

 

设置sip_nat.conf的范例如下:

bindport=5060
externaddr=xxx.xxx.xxx.xxx
localnet=172.16.9.0/255.255.255.0
localnet=10.49.30.0/255.255.255.0
nat=yes
allow=all

 

 

 

http://support.vocalocity.com/kb/rou...quipment-list/

你可能感兴趣的:(conf)