使用模式匹配和通道变量可以构建一个最简单的最通用的拨号方案。
如下:
exten => _XXXX,1,Dial(SIP/${EXTEN})
exten => _XXXX,2,Hangup()
模式匹配规则:
模式总是用一个下划线 _开始,它告诉 Asterisk 要做模式匹配,这不是一个extension 名字。这意味着不能使用下划线作为 extension 名字的开始字符。
在下划线之后,可以使用一个或者多个下面列出来的字符:
X
匹配 0-9 的任何数字。
Z
匹配 1 - 9 的任何数字。
N
匹配 2 - 9 的任何数字。
在我的拨号方案里面,都是4位的任意数字,因此我用_XXXX来表示号码。
通道变量:
一旦拨了某个 extension, Asterisk 会把通道变量${EXTEN}设置为所拨的数字。
另外通道变量可以通过两种方式来截取。
1. 从头截去x位 ${EXTEN:x}
2. 从尾截去x位 ${EXTEN:-x}
因此我们的拨号方案可以象上面那样写的如此简单。