关于Linksys PAP2中的Dial Plan设置
这几天在折腾家里的IP电话,查了些关于PAP2的Dial Plan的设置,总结如下。
Dial Plan是干什么的?
简单来说,Dial Plan告诉VoIP设备该如何处理电话机拨号盘的输入,以实现各种功能, 如本地电话前自动加区号、国际长途自动添加指定前缀、特服号码转到特定号码等功能。
Linksys PAP2中的Dial Plan位于Voice → Admin Login → switch to advanced view → Line 1/2的最底部。
Dial Plan的格式
例如,下面这个Dial Plan:
(<:1780>[2-4]xxxxxxS0|*xx|<911:17804213333>S0|011[2-9]x.|1[2-9]xx[2-9]xxxxxx|1900xxxxxxx!)
首先,Dial Plan必须放在一对括号()
中。
其次,Dial Plan由|
分隔成多个部分,每部分表示一条指令。
第一部分的<:1780>[2-4]xxxxxxS0
中,<:>
表示将:
之前的内容替换成:
之后的内容。
由于这里:
前的字符串为空,所以匹配这条指令的号码都会加上前缀1780
。
接下来的[2-4]
只匹配一位数字2
、3
或4
,这个跟正则表达式有点相似。
接下来的xxxxxx
,字符x
匹配一位任意数字(0-9),所以这一段匹配六位数字。
最后的S0
表示Straight Out,表示如果匹配了前面的指令,就无需等待后续拨号输入,而直接拨出。
因此,第一部分<:1780>[2-4]xxxxxxS0
的意思是,任何以2、3、4开头后接6位数字的号码,
应当添加前缀1780,并直接拨出。于是212-3456
这个号码会解释成+1(780)212-3456
。
第二部分为*xx
,其中*
表示拨号键盘上的*
键,所以这部分匹配诸如*69
等特殊号码。
第三部分<911:17804213333>S0
将紧急电话911
替换成本地号码+1(780)421-3333
并立即拨出。
第四部分011[2-9]x.
中,最后的.
表示重复前一个符号任意次,所以这个指令匹配以0112
~0119
开头、
后接至少一位数字的号码。
第五部分1[2-9]xx[2-9]xxxxxx
匹配正常的以1
开头的十位电话号码。
最后一部分1900xxxxxxx!
中,!
表示阻拦符合该指令的号码,所以这条指令阻拦以1900
开头、后接七位数字的电话拨出。