移动互联网+与新技术研究汇总

程志鹏@6A商学院 专注SEM与“互联网+”研究与学习

asterisk的NAT配置

sip.conf:


externip:在[general] context配置的属性,配置你的公网地址,这样发送sip消息时就会用该地址替换消息头的主机地址,对端解析消息后就会往这个地址发送应答消息。


Nat:该属性决定asterisk如何处理用户的连接。个人理解就是配置astersik处理收到消息的方式。


1、nat=route


asterisk 从收到的rtp包得到目地地址,把rtp包发往该地址而不是SDP中协商的每媒体地址。


2、nat=no


默认配置,根据rfc3581,asterisk会把rport和received字段添加到via域,作为应答接受地址。


3、 nat=never


asterisk不把rport加入via域,也不会按照route的方式处理。


4、 nat=yes


总是忽略信息,假定使用NAT


在Asterisk中配置NAT需要进行以下步骤:


1. 在sip.conf文件中设置NAT选项为yes,以指示该服务器位于NAT后面。


2. 设置externip和localnet选项。Externip是服务器在互联网上的公共IP地址,而localnet是服务器位于NAT后面的私有IP范围。


3. 开启RTP端口范围。默认情况下,AsteriskUDP端口10000到20000进行RTP通信,需要确保这些端口在NAT上进行转发


4. 配置SIP客户端。SIP户端需要知道服务器的NAT地址和RTP端口围,以便正确地与服务器通信。


以下是一个示例sip.conf配置文件:


[nat]

nat=yes

externip=203.0.113.1

localnet=192.168.0.0255.255.255.0


[general]

rtpstart=10000

rtpend=20000


[sip_client]

type=friend

host=dynamic

nat=yes

canreinvite=no

context=default

disallow=all

allow=ulaw

allow=alaw

allow=gsm

dtmfmode=rfc2833


需要注意的是,NAT配置可能因网络环境的不同而有所不同,因此建议仔细阅读Asterisk文档并参考最佳实践进行配置。


发表评论:

网站分类
搜索
最新留言
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合

Powered By Z-BlogPHP 1.7.2

Copyright ©2007-2023 程志鹏@6A商学院 All Rights Reserved
冀ICP备10208152号-4 |