freeswitch拨号转接加前缀案例

可以使用以下拨号计划来实现:

<include>
  <context name="public">
    <extension name="forward_call">
      <condition field="caller_id_number" expression="^053158263720$"/>
      <condition field="destination_number" expression="^(\d{11})$">
        <action application="set" data="destination_number=88${destination_number}"/>
        <action application="bridge" data="sofia/gateway/gw4/${destination_number}"/>
        <action application="hangup"/>
      </condition>
    </extension>
  </context>
</include>

在此拨号计划中,我们创建了一个 <extension>,称为 forward_call,其用于将号码为053158263720的主叫转向为加上前缀88的被叫,并使用网关gw4进行呼叫。

我们首先使用 <condition> 指定匹配该拨号计划的条件。第一个 <condition> 指定匹配的主叫号码为053158263720。第二个 <condition> 指定匹配的被叫号码为一个11位数字,即手机号码。

当匹配成功后,我们使用 <action> 语句中的 set 应用程序,将被叫号码进行前缀添加,指定要使用的转向目标号码为 88${destination_number}${destination_number} 是一个特殊的变量,它会被匹配成功的被叫号码所替代,即去掉前缀后的11位手机号码。

最后我们使用 bridge 应用程序,将其转移到网关为 gw4,以实现转向功能,并使用hangup应用程序结束呼叫。将该拨号计划保存为xml文件并放置在/usr/local/freeswitch/conf/dialplan/public/目录下(假设你的FreeSWITCH安装在/usr/local/freeswitch/目录下),然后重启FreeSWITCH服务即可生效。

posted @ 2023-06-16 21:33  孙同海  阅读(303)  评论(0编辑  收藏  举报