资源描述:
《asterisk dialplan学习笔记》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、asterisk学习笔记1分类: asterisk2009-12-0210:33 372人阅读 评论(0) 收藏 举报/etc/asterisk/sip.conf设置[xhtml] viewplaincopy1.[general] 2.port = 5060 3.bindaddr = 0.0.0.0 4.context = others 5. 6. 7. 8.[2000] 9.type=friend 10.context=my-phones 11.secret=1234 12.host=dynamic 13
2、. 14. 15. 16.[2001] 17.type=friend 18.context=my-phones 19.secret=1234 20.host=dynamic [general]中定义的是sip的全局变量,port=5060表示sip协议使用的端口号是5060,bindaddr=0.0.0.0表示服务器监听服务器定义的所有Ip地址,context=others指向/etc/asterisk/extensions.conf中对应的[others]节定义的内容。 [2001]节定义了一个2001sip
3、分机,type=friend表示此sip分机可以拨入和拨出。type=peer:只能呼出.type=user:只能呼入.context=my-phones指向/etc/asterisk/extensions.conf中对应的[others]节定义的内容。表示此分机拨入时(Caller)按照[my-phones]中的定义来执行其动作。secret=1234是其密码。host=dynamic则是此分机的IP地址是任意的。想要查看其所有设置,在asterisk的CLI界面下输入sipshowpeer2001asterisk学习笔记2/et
4、c/asterisk/extensions.conf[xhtml] viewplaincopy1.[others] 2. 3.[my-phones] 4.exten => 2000,1,Dial(SIP/2000,20) 5.exten => 2000,2,VoiceMail(2000,u) 6. 7.exten => 2001,1,Dial(SIP/2001,20) 8.exten => 2001,2,VoiceMail(2001,u) 9. 10.exten => 2999,1,VoiceMailMain(${
5、CALLERID(num)},s) 拨号方式(dialplan)的条目定义方式如下:extern=>Number,Priority,Application当一个号码被呼叫,Asterisk会检查其是否符合dialplan中的一个条目,如果找到,那个条目就会被执行,如果多于一个条目符合被叫号码,Asterisk会首先执行priority=1的条目。Application定义了Asterisk实际执行的动作。基于上面的条目,2001呼叫2000过程如下:1.Asterisk在/etc/asterisk/sip.conf中查找主机分机2
6、000的context=my-phones,Asterisk使用此context,在/etc/asterisk/extensions.conf中查看其内容。2.找到后,Asterisk执行其中符合被叫2000的条目,按照优先级决定执行的顺序。3.首先执行priority=1的条目,Dial(sip/2000,20),Dial首先查找在/etc/asterisk/sip.conf中的2000条目,找到后向其振铃20秒。4.如果2000在20秒内没有摘机,Dial()执行完成,其priority会加1,5.那么符合条目就跳到下一条,ex
7、ten=>2000,2,VoiceMail(2000,u), VoiceMail()中的2000是邮箱号码,其定义在/etc/asterisk/voicemail.conf中,“u”表示使用标准的"unavailable"语音。条目中exten=>2999,1,VoiceMailMain(${CALLERID(num)},s)其含义是用户拨2999,将进入自己的邮箱听取语音。${CALLERID(num)}表示主叫号码,s表示不要求密码。/etc/asterisk/voicemail.conf[xhtml] viewplaincop
8、y1.[general] 2.format = wav 3. 4.[default] 5.2000 => 4711,Joe Bloggs,joeb@megacorp.biz 6.2001 => 0815,Darlene Do