`

(转)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/

分享到:
评论

相关推荐

    Freepbx中各配置文件的介绍关系作用.doc

    解决方案通常包括在sip.conf中设置`externip`为公网IP,或者使用STUN(Session Traversal Utilities for NAT)或TURN(Traversal Using Relays around NAT)服务器来帮助穿越NAT。 4. /etc/asterisk/backup.conf ...

    elastix公网呼入及音视频通讯

    接下来,在Elastix服务器上编辑`/etc/asterisk/sip_nat.conf`文件,配置如下: - `bindport=5060`:绑定SIP端口。 - `externip=11.22.33.44`:指定Elastix服务器的公网IP地址。 - `localnet=192.168.0.0/255.255....

    Asterisk服务器之间的互联

    `sip.conf`用于定义SIP用户代理和服务器之间的关系,而`extensions.conf`则定义了呼叫路由规则。 在serverA上,我们首先要在`/etc/asterisk/sip.conf`中添加两个用户,分别表示1495和1496的SIP电话。它们的类型设置...

    freeswitch配置.docx

    3. **启用WebSocket**:若希望实现数据的实时更新,可以在`xml_rpc.conf.xml`中添加`&lt;paramname="enable-websocket"value="true"/&gt;`来启用WebSocket功能。 4. **系统事件查看**:在Chrome浏览器中使用开发者工具的...

    softap_ap6212a0_tinav2.1_验证通过_旧版本的系统_20170915_1223没有外层目录.7z

    &lt; &gt; SIP protocol support &lt; &gt; TFTP protocol support &lt;M&gt; Connection tracking netlink interface &lt;M&gt; Connection tracking timeout tuning via Netlink &lt;*&gt; Netfilter Xtables support (required for ip_...

    asterisk安装与配置.pdf

    使用 vim 编辑 `/etc/asterisk/sip.conf` 文件,添加分机配置: `[101]` `;SIP 分机注册账号` `callerid=ABC` `; 分机显示名称(可不设定)` `username=101` `;SIP 再注册时要使用的账号(可不设定)` `type=friend...

    Asterisk配置.doc

    在服务器端,主要涉及两个关键文件的修改:`sip.conf`和`extension.conf`。 `sip.conf`用于定义用户账户和他们的属性。例如, `[1111]`、`[2222]`和`[9999]`是三个不同用户的配置,每个用户都有一个唯一的ID...

    CCM与asterisk trunk

    1. **编辑 sip.conf 文件:** - 创建一个新的节 (section),如 `[callman01]`。 - 配置类型为 `friend`。 - 指定上下文为 `xiuxiu`。 - 主机地址设置为 CUCM 的 IP 地址 (172.18.10.111)。 - 允许的编码格式: ...

    centos7.9 freeswitch webrtc安装配置.docx

    - **网络ACL配置**:在`/etc/freeswitch/autoload_configs/acl.conf.xml`中,定义允许的网络范围,例如允许特定的局域网IP段,以支持内网部署。 - **应用ICE ACL**:在`/etc/freeswitch/sip_profiles/internal.xml...

    Centos5.8安装asterisk并配置mysql用户表

    然后,在Asterisk配置文件sip.conf中添加用户信息,并使用Mysql数据库连接实现在用户表中的数据。 Asterisk配置 在安装和配置Mysql用户表后,需要配置Asterisk以使用Mysql数据库。可以在sip.conf文件中添加用户...

    asterisk 视频通讯实现方法

    首先,让我们打开/etc/asterisk/sip.conf文件,这是Asterisk配置SIP用户和设置的主要文件。在这个文件中,我们需要添加或修改一些关键参数来启用视频支持。在你的描述中提到,你需要在该文件中加入以下行: ```ini ...

    WebRtc-Freeswitch介绍

    - 修改`conf/sip_profiles/internal.xml`文件启用WebSocket绑定。 - 关闭Linux防火墙以避免访问拒绝错误。 ```bash service iptables stop ``` **测试场景**: - 使用默认的Freeswitch账户(例如1011、1012)...

    百问FreeSwitch.pdf

    - **概念解释**:由于NAT设备可能阻塞SIP和RTP通信,因此需要特殊的技术来确保穿透。 - **STUN/TURN/ICE协议**:实现NAT穿透的关键技术。 #### FreeSwitch基础和配置部分 **21. FreeSwitch简介** - **定义**:...

    videollamadas:带有Web rtc的视频通话系统-Asterisk

    1. **配置Asterisk**:设置WebRTC支持,配置sip.conf、modules.conf、rtp.conf等文件,确保支持WebRTC的编解码器。 2. **Asterisk AGI(Asterisk Gateway Interface)或AMI(Asterisk Manager Interface)**:使用...

    FreeSwitch默认配置的说明(译)

    这一过程涉及到NATPMP和UPnP两种协议,这两种协议的目的是让FreeSwitch能够自动配置NAT,从而使得SIP通信可以正常进行。然而,这种自动配置方式存在安全隐患,因为它可能会在路由器上开放不必要的端口。如果不想暴露...

Global site tag (gtag.js) - Google Analytics