asterisk 拨号方案的配置
配置文件 “extensions.conf” 包含了 Asterisk 的拨号方案(dial plan)。它的所有操作的控制
和执行流程的主要方案。它控制呼入和呼出是如何被处理和路由。这里是你配置连接行为
的地方。
"extensions.conf"的内容以“节”的形式组织。它可以静态设置和定义,作为上下文被执行。
设置节有 general 和 globals 两种形式,由系统管理员完全定义。一种特殊类型的“contexts”
是 macros,由用户自定义,命名前缀是“macro-”,这是可重用的模式,如同编程语言里的“过
程”。extensions.conf 中每一节都由 []中的节名开始。这使得 extensions.conf 具有和 windows
世界里传统的 ini 文件非常相似的结构。
Asterisk v1.2 中的新东西: 默认情况下,有一个新的选项“autofallthrough”被设置成了“yes”.
这个设置改变了以前的规则使得遇忙,阻塞,挂起的呼叫被立即终止。如果你正在为 IVR
写一个 extension.你必须使用“WaitExten”应用程序。
[general] extentions.conf 文件的顶部,配置几个设置。
[globals] 接着,在[globals]节中,你可以定义全局变量/常量,以及他们的初始值。
Contexts 和 Extensions
在[general]和[globals]之后,extentions.conf 文件的剩余部分就是 dialplan 的定义了。
dialplan 是由 contexts 的集合组成的。每个 context 是由 extensions 的集合组成。
Extension 模式
当你在 context 中定义 extension 时,你不仅使用文字数字,字母,还要匹配 extension 模
式。
Context 包括的内容
一个 extension context 可以嵌套另一个,参考一下下面的范例:
Context "default":
Extension Description
101 Mark Spencer
102 Wil Meadows
0 Operator
Context "local":
Extension Description
_9NXXXXXX Local calls
include => "default"
Context "longdistance":
Extension Description
_91NXXNXXXXXX Long distance calls