- 作者:james.zhu(james.zhu@hiastar.com) www.hiastar.com 微信公众号:asterisk-cn
- Asterisk课堂-如何通过源代码安装方式安装Asteisk/dahdi
- Asterisk课堂-系统部署环境要求
- Asterisk课堂-Asterisk技术架构
- Asterisk课堂-拨号规则基础
- Asterisk课堂-创建第一个拨号规则
- Asterisk课堂-拨号规则中的Contexts
- Asterisk课堂-拨号规则中变量的使用
- Asterisk课堂-拨号规则中的Extensions用法
- Asterisk课堂-拨号规则中匹配模式
- Asterisk课堂-IAX2 介绍
- Asterisk课堂-IAX2 呼叫流程
- Asterisk课堂-SIP介绍
- Asterisk课堂-SIP呼叫流程
- Asterisk课堂-终端注册
- Asterisk课堂-SIP Trunk
- Asterisk课堂-SIP和NAT
- Asterisk课堂-拨号规则中的Include使用方法
- Asterisk课堂-拨号规则中的语音播放
- Asterisk课堂-DTMF 介绍
- Asterisk课堂-语音IVR基础
- Asterisk课堂-Timeout 超时设置
- Asterisk课堂-CLI 使用方法
- Asterisk课堂-关于Input DTMF介绍
- Asterisk课堂-拨号规则中呼叫控制
- Asterisk课堂-如何使用Debug

视频中介绍了优先级的用法和应该注意到问题:
现在我们简单介绍几个拨号规则中优先级的使用方式和需要注意到地方:
拨号规则的优先级的语法,在拨号规则中,priority 是拨号规则的一个执行顺序的标志,帮助用户了解拨号流程的每个步骤。每个流程分类几个不同的步骤来执行。

特别的优先级字符n用来简化拨号规则的流程,方便重新编辑流程。按照默认的拨号规则的流程,用户需要编写的流程从1开始,2,3等依次类推。但是如果用户修改了拨号规则中的其中一个流程,或者关闭一个流程,则需要修改整个拨号规则的流程,这样就会给维护人员带来不便。如果拨号规则中使用了n以后,则不会影响其他后续流程的执行,这样也方便用户维护。

拨号规则中的优先级使用label 来标志一个流程的跳转。如果我们需要一个特别的跳转标志,可以在呼叫流程中添加一个跳转的标志符,拨号规则可以识别这个标志符来实现正确的跳转。

缺省号码的使用方式,很多拨号规则,如果extension 是同一个号码,在后续的流程中,需要重复这些号码,所以导致拨号规则编写比较麻烦。但是,使用缺省编写的格式,笔者认为不具有可读性,破坏了编程习惯用法。在asterisk-1.6 以上的版本支持了same=> prefix 的缺省用法。具体实例如下:
exten => 6123,1,NoOp() // 起始exten是6123.
same => n(repeat),Verbose("Do something!") // 缺省了6123
same => n,Verbose("Do something different!") // 缺省了6123
本章节介绍了拨号规则中优先级的使用方法,特殊字符n和label 的用法。通过本章节的介绍,管理员在编写拨号规则时可以使用一定的格式来编写拨号规则,同时避免重复号码的重复。
关注微信公众号:asterisk-cn 或者扫描二维码,了解开源通信技术。