文章目录

  • ​​一、配置文件的结构(执行APP/API)​​
  • ​​1.1拨号计划由多个 Context (上下文/环境)组成。每个 Context 中有多个 Extension​​
  • ​​1.2Extension 相当于路由表中的表项,其中,每一个 Extension 都有一个 name 属性。它可以是任何合法的字符串,本身对呼叫流程没有任何影响,但取一个好听的名字,有助于你在查看 Log 时发现它。​​
  • ​​二、默认的配置文件结构​​
  • ​​1.default(打出去)​​
  • ​​2.public 是接收外部呼叫​​
  • ​​3.features是自定的action​​
  • ​​3.注意​​
  • ​​刷新配置F6​​

一、配置文件的结构(执行APP/API)

1.1拨号计划由多个 Context (上下文/环境)组成。每个 Context 中有多个 Extension

<?xml version="1.0"?>
<document type="freeswitch/xml">
<section name="dialplan" description="Regex/XML Dialplan">
<context name="default">
<extension name="Test Extension">
</extension>
</context>

<context name="default1">
<extension name="Test Extension">
</extension>
</context>

<context name="default2">
<extension name="Test Extension">
</extension>
</context>

</section>
</document>

1.2Extension 相当于路由表中的表项,其中,每一个 Extension 都有一个 name 属性。它可以是任何合法的字符串,本身对呼叫流程没有任何影响,但取一个好听的名字,有助于你在查看 Log 时发现它。

在 Extension 中可以对一些 condition (条件)进行判断,如果满足测试条件所指定的表达式,则执行相对应的 action (动作)。

例如,我们将下列 Extension 配置加入到 conf/dialplan/default.xml 中。并作为第一个 Extension。

<extension name="My Echo Test">
<condition field="destination_number" expression="^echo|1234$">
<action application="echo" data=""/>
</condition>
</extension>

二、默认的配置文件结构

系统默认提供的配置文件包含三个 Context:default、features和 public,它们分别在三个 XML 文件中

1.default(打出去)

default 是默认的 dialplan,一般来说注册用户都可以使用它来打电话,如拨打其它分机或外部电话等

2.public 是接收外部呼叫

因为从外部进来的呼叫是不可信的,所以要进行更严格的控制。如,你肯定不想从外部进来的电话再通过你的网关进行国内或国际长途呼叫。

3.features是自定的action

12-FreeSwitch-拨号计划_配置文件


12-FreeSwitch-拨号计划_xml_02

3.注意

其中,在 default 和 public 中,又通过 INCLUDE 预处理指令分别加入了 default/ 和 include/ 目录中的所有 XML 文件。 这些目录中的文件仅包含一些额外的 Extension

12-FreeSwitch-拨号计划_路由表_03

刷新配置F6