需求举例:asterisk服务器在深圳的一个局域网内,广州分公司有一个分机需要注册到深圳的asterisk服务器上面。

    第一种方法通过路由器映射TCP  sip注册端口和UDP  rtp语音端口。

    第一步  查看sip注册端口方法:vim /etc/asterisk/sip.conf

[general] bindport = 5060(注册端口默认就是) 。

查看UDP语音端口:vim /etc/asterisk/rtp.conf

[general] rtpstart=30000 rptend=40000(如果范围是30000-40000就只能支持2500路同时通话)。

[general] bindaddr = 0.0.0.0  (如果这个地址填写成固定IP地址后远程会注册不上。)

   第二步   把需要远程注册的分机号码的nat打开。

方法为:vim /etc/asterisk/sip_additional.conf  nat=yes。

   第三步   在路由器上新增映射  选择TCP协议 内部端口5060 外部端口 8986(为了安全最好不要使用默认的注册端口,如果路由器有限制访问IP的功能最好是限制一下注册IP)。 新增映射 选择UDP协议内部端口30000-40000(此处的端口为在rtp.conf出查看到的起始端口和结束端口)外部端口自己定义也可以设置为: 30000-40000。

   第三步    远程注册的时候注册地址写服务器外网IP加映射注册端口例如:192.168.16.16:8986或者是域名:8986。

       第二种方法相对第一种方法更安全那就是使用×××互联。