匹配优先规则:
系统优先匹配最符合的条目。
如下例:
[sales]
exten => _12X.,1,NoOp{12X}
exten => 12345,1,NoOp(12345}
exten => _1234.,1,NoOp{1234.}
在CLI中输入:dialplan show 12345@sales
系统显示:
[ Context 'sales' created by 'pbx_config' ]
'12345' => 1. NoOp(12345}) [pbx_config]
'_1234.' => 1. NoOp{1234.}() [pbx_config]
'_12X.' => 1. NoOp{12X}() [pbx_config]
在CLI中输入:dialplan show 12346@sales
系统显示:
'_1234.' => 1. NoOp{1234.}() [pbx_config]
'_12X.' => 1. NoOp{12X}() [pbx_config]
Include 语法
include => name-of-the-other-context
示例:
[general]
[sales]
include => internal
include => external
exten => 2000,1,Answer()
exten => 2000,2,Playback(hello-world)
exten => 2000,3,Hangup()
[internal]
exten => 2000,1,Dial(SIP/2000)
[external]
exten => 17005551212,1,Dial(SIP/5551212)
这时如果呼叫2000时,系统会播放hello-world语音,而不是呼叫sip/2000,include
的优先级低于context中相同的条目。
include语句中可以加入对时间限制的功能,其格式如下:
include => context | <time> | <day> | <day-of-month> | <month>
其中day和month使用其前3个英文字母表示,如:
星期: mon,tue,wed,thu,fri,sat,sun
月:jan,feb,mar,apr...
时间使用24小时格式。
例子:
A business is open from 9:00 a.m. until 5:00 p.m. Monday to Friday and
from 9:00 a.m. to 2:00 p.m. Saturday. The dialplan would look like this:
; Day
include => open|09:00-17:00|mon-fri|*|*
include => open|09:00-14:00|sat|*|*
include => closed
[open]
exten => 2000,1,Dial(SIP/2000)
[closed]
exten => 2000,1,VoiceMail(2000,u)