FreeSWITCH中的XML拨号计划.docx
《FreeSWITCH中的XML拨号计划.docx》由会员分享,可在线阅读,更多相关《FreeSWITCH中的XML拨号计划.docx(14页珍藏版)》请在优知文库上搜索。
1、FreeSWITCH中的XML拨号计划dialplan本文是arlyard。翻译的,内容来自。介绍FS的配置文件都在conf目录下,都是xml文件。拨号方案的配置文件主要在dialplan目录下。Xml文件可以直接进行编辑,这使得配置FS的拨号方案非常灵活、方便。官方文档中,FS的拨号方案叫做XMLDialplanoXml配置文件中允许使用Perl兼容的正则表达式来匹配一个号码域,如10010-9匹配1000到1019的号码。正则表达式的用法参考。FS运行时,会先解析所有Xml文件,形成一个完整的配置方案。变量XMLDialPlan可以通过变量和表达式检测各种状况,当然如果判断条件不允许,该分
2、支中的变量是不会起作用的。XMLDialplan实际上是用于呼叫路由(CallRouting),而不是用于繁杂的条件检测和评估。FS支持lua、JavaScriptPerLPython等脚本语言,这是比直接单纯使用复杂的XML方案更好的选择。FS的拨号方案分为两步骤:查找和执行(huntingandexecuting)o首先查找时,基于条件判断,执行或撤销一个动作(action),把所有的应用解析出来,然后按顺序执行。也就是说,在查找的时候,执行阶段的信道变量(Channelvariables)是不会起作用的。比如XML文件中配置了,但是这个应用在前期的查找中,不符合条件的话就得不到执行,不过
3、也可以通过使用脚本语言来修改条件,或者XML中使用条件求值使它在解析阶段就得到执行。注:自SVNRevl4906起,允许某些应用使用inline关键字,这意味着它们可以在解析阶段求值,并应用于以后的条件匹配中。主叫描述文件(CallerPrOfi字段与信道变量(ChannelVariableS)的区别:在组织你的Dialplan时,这两者之间的区别可能是最令人头痛的,注意,前者是直接的字符串描述而后者使用变量语法注意,$.表示获取一个变量的值。XMLDialPlan解析当呼叫到达ROUTING状态时,拨号方案配置文件就会被解析。解析完后得到一个完整的建立channel的步骤,这些步骤由解析xm
4、l中action或antiaction标示得至少对于熟悉Asterisk的人来说,可能期望在一个action中获得的值能影响下action的判断。在FreeSWITCH中不是这样了。除非用$apifunc(apiargSvar-name)w这样的字段,在解析阶段从一个模块中调用一个可插入式的API,这情况仅应用于显示实时信息,如时间或其他可快速访问获取的信息,而不应该被滥用。XMLDialPlan剖析XMLDialplan中有几大要素:context(上下文)、extension(分机号)、condition(条件)、action(动作),它们会被按顺序处理,直到action被处理,actio
5、n告诉FS要执行的操作。对一个分机号,可以有多个condition(条件判断)和actionoExtension通俗的说就是电话号码,当然FS可以为其他设备分配号码,甚至是一个特殊的应用分配一个号码,如会议号。XMLDialplan目录可以考虑把分机号的xml配置文件放置到conf/dialplan/default目录,该目录中的分机号会被优先于Enumextension被解析到拨号方案中。Xml文件会按名字排序,排前面的xml文件会被优先加载,如OOLMYExtxmI会优先于002_Yu.xml。默认已经有IOoo至I1019分机号的ml文件。Enumextension放在最后,如果执行到这
6、一步时,它会匹配所有的分机号。ContextContexts是extensions(分机号)的逻辑分组。我们可能会有多个分机号在一个context中。Contet需要一个叫name,的参数,它的值是any的话表示匹配任何J情况。Name是用于表示ConteXt的,freeswitch.xml文件中默认包含几个context:默认extensionEXtenSiOn是一个呼叫的目的地,所以它不仅仅表示电话号码,虽然我叫它分机号需要给出一个name和conditions和actions以告诉FS如何找到它。这里name是唯一的,标识一分机号供后面使用。一个附加的参数叫做continue,默认把它设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FreeSWITCH 中的 XML 拨号 计划