sip配置

sip配置

sip--会话初始协议,通常用于voip电话,进行呼叫建立、呼叫结束以及呼叫进程中的协商。基本上,它帮助二个端点互相通话。sip不处理媒体;当呼叫建立之后,它通过实时传输协议在电话之间直接传输媒体。
SIP使用UDP5060端口进行通信,目前asterisk没有TCP用于传输,但以后的版本可能会支持。我们所说的媒体是指端点之间传输的用于在另一端点重建你的声音数据。同样也指pbx音乐或声音提示。
RTP用于在端点之间传输媒体。Asterisk中RTP使用大数字的无特权的端口(默认10000至20000)
SIP不是第一个,也不是唯一一个我们使用的VOIP协议(其它包括H.323,MGCP,IAX等),但是目前SIP似乎是硬件厂商最大的动力。SIP协议的优点是普遍的被接受和结构灵活,简单。
下面是基本的sip.conf配置:

[general]
context=default
srvlookup=yes
[john]
type=friend
secret=welcome
qualify=yes         ;qualify peer is no more than 2000 ms away
nat=no                ;this phone is not natted
host=dynamic     ;this device registers with us
canreinvite=no    ;Asterisk by default tries to redirect
context=internal  ;the internal context controls what we can do


sip.conf文件开始是一个[general]项,包含通道设置,所有用户和对端默认选项。在一个端-用户/端的基础上,你可以不考虑默认的配置,而在user/peer定义中重新进行配置。
域名系统服务记录(DNS SRV records)是建立一个逻辑和可解析地址的方法,你可以到达这个地址。这种方法可以是呼叫传输到不同的地点,而不需要改变逻辑地址。使用SRV记录,你可以获取DNS的很多好处,然而禁止它们打破SIP RFC的规定,并且禁止了基于域名的SIP呼叫(注意如果多个记录返回,Asterisk只会使用第一个)。
DNS SRV记录查询在ASterisk默认禁止,但是强烈建议你打开。启动使用sip.conf中[general]section里面的srvlookup=yes。
每个连接都会定义为用户、端或者朋友。用户类型是用于认证呼入呼叫;端类型用于呼出呼叫;朋友类型两种都用。扩展名用中括号定义。


Secret是用于认证的密码。
qualify=yes,确认远端设备是否可达。可用于监视任何远端商务,包括其它的Asterisk服务器。默认情况是Asterisk认为时延在2000ms以内的设备可达。你可以通过将yes替换为毫秒来配置Asterisk判断对端是否可达的时间。
如果一个号码在NAT设备后面,例如路由器或者防火墙,必须配置nat=yes,强迫astersik忽略号码的联系信息,使用收到的包的地址信息。


设host=dynamic将要求号码注册,以便asterisk可以知道如何找到电话。将一个端点绑定到一个单独地址或者FQDN,将dynamic替换成IP地址或者域名。注意这只是限制你呼叫的目的地址,用户允许从任何地点发起呼叫(假定它鉴权成功)。如果你设置host=static,则终端设备不需要注册。


设置canreinvite=no。在sip协议中,邀请用于发起呼叫,重写向媒体。在初始邀请后相同对话中发起的任何邀请都被视作重邀请(reinvite).例如:假设双方正在交换媒体信息。如果一方呼叫等待,asterisk设置为播放呼叫等待音乐,asterisk会发起到第二个客户端的重邀请,告诉将他的媒体流定向到PBX。然后就可以传输音乐流,或者一个等待客户的通知。最开始的用户再到PBX的重邀请中发起一个接机的命令,然后pbx发起一个重邀请到第二方,要求它将媒体流重新定向到发起方,结束呼叫等待音乐,重新连接客户端。
通常,当二个端点建立起呼叫,他们直接从一端到另一端传输媒体。asterisk通常在媒体通道打破这个规则,允许它听到电话键盘上的拨号音。这是必须的,因为如果asterisk不能确定呼叫长度,计费将不准确。canreinvite=no让asterisk媒体经过自己,而不允许rtp信息直接在端点之间传送。
asterisk在以下情况下不会发起重邀请:
1.客户端的任何一方配置为canreinvite=no
2.客户端不能协商编码,asterisk需要执行语音编码转换
3.客户端的任何一方配置为nat=yes
4.如果asterisk在呼叫中需要监听双音(DTMF)音(用于呼叫前转或者其他功能)
context=internal定义了指令的地点,用于控制电话的权限,以及如何处理此号码的呼入呼叫。sip.conf中设置的context名称和extensions.conf中的匹配。
如果你配置了一组相似的用户,你可以在[general]字段中使用相似的命令。asterisk会使用默认的定义,除非他们在用户的配置文档中明确改变。
客户端配置(软电话配置)
配置客户端通常简单。最重要的是注册用户名和密码,和你要注册的asterisk服务器地址。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值