没有合适的资源?快使用搜索试试~ 我知道了~
首页FreeSwitch的mod_dialplan_xml模块分析
FreeSwitch的mod_dialplan_xml模块分析

dialplan包含四个模块,mod_dialplan_directory|mod_dialplan_asterisk|mod_dialplan_xml|mod_dialplan_yaml。freeswitch默认是加载mod_dialplan_xml,即配置文件是采用XML文件格式。XML文件格式非常灵活,而且可以用第三方软件编辑XML文件,而且也可以手工编辑因为XML非常简单。这也是freeswitch采用mod_dialplan_xml为默认模块的原因。在配置文件中,采用了正则表达式匹配字段。本文的重点是解析配置文件的格式和API/APP接口。
资源详情
资源评论
资源推荐

mod_dialplan_xml 模块分析
一、mod_dialplan_xml 介绍
1、描述
dialplan 包含四个模块,mod_dialplan_directory|mod_dialplan_asterisk|mod_dialplan_xml|
mod_dialplan_yaml。freeswitch 默认是加载 mod_dialplan_xml,即配置文件是采用 XML 文件格式。XML 文件格式
非常灵活,而且可以用第三方软件编辑 XML 文件,而且也可以手工编辑因为 XML 非常简单。这也是 freeswitch 采用
mod_dialplan_xml 为默认模块的原因。在配置文件中,采用了正则表达式匹配字段。本文的重点是解析配置文件的格式
和 API/APP 接口。
2、XML 文件格式解析
XML dialplan 本质上是被用于呼叫路由,当一个 session 需要路由时,会解析 dialplan,将要执行的应用程序按顺序
保存在 switch_caller_extension 结构链表里,然后再顺序的执行应用程序。配置文件被放在 conf/dialplan/目录下,里
面有 default|public 目录,default 下可以存放多个以数字开头的 xml 文件,如:01_example.com.xml。这些文件按
数字顺序被加载。如果你想扩展拨号计划,而且想第一个被加载,可以将文件命名为"00_xxx.xml"。
文件包含 5 个元素,context|extension|condition|action|anti-action。格式如下:
<context name="xxx">
<!包含多个 extension>
<extension name="xxx1">
<!多个 condition>
<condition name="xxxx" expression="xxxx">
<!多个 action>
<action application="xxxx" data="xxxx"/>
<anti-action application="xxxx" data="xxxx"/>
</condition>
</extension>
<extension +eld ="xxxx">
</extension>
</context>
(1)condition +led 包含以下关键字:
rdnis 重定向号码
destination_number 被呼叫号码
dialplan 拨号计划模块的名称 例如:"XML"就是代表 mod_dialplan_xml
caller_id_name 访问者名称
caller_id_number 访问者电话号码
ani 自动号码识别
aniii 呼叫设备类型
uuid 当前呼叫唯一标识












安全验证
文档复制为VIP权益,开通VIP直接复制

评论4