在freeSwitch中,使用拨号计划实现来自gateway 为gw80 的来电转向 gateway 为gw4的,并且被叫前缀加上88

可以通过如下拨号计划实现该功能:

```
<include>
<context name="default">
<extension name="forward_call">
<condition field="destination_number" expression="^53(\d+)$">
<action application="set" data="forward_destination=88${1}"/>
<action application="bridge" data="sofia/gateway/gw80/${destination_number}"/>
<action application="hangup"/>
</condition>
</extension>

<extension name="forward2_call">
<condition field="destination_number" expression="^53(\d+)$">
<action application="set" data="destination_number=15098829958"/>
<action application="bridge" data="sofia/gateway/gw4/${destination_number}"/>
<action application="hangup"/>
</condition>
</extension>
</context>
</include>
```

在此拨号计划中,我们创建了两个 `<extension>` 分别用于实现来电转向。

第一个 `<extension>` 被称为 `forward_call`,其匹配的号码范围是 `^53(\d+)$`,表示所有以53开头的号码。当匹配成功后,我们使用 `<action>` 语句中的 `set` 应用程序,指定要使用的转向目标号码为 `88${1}`。转向号码的前缀为88。`${1}` 是一个特殊的变量,它会被匹配成功的正则表达式中的第一个匹配组所替代,即去掉53的号码。最后我们使用 `bridge` 应用程序,指定使用的网关为 `gw80`,以便转移到转向目标号码。

第二个 `<extension>` 被称为 `forward2_call`,其也匹配的号码范围是 `^53(\d+)$`,表示所有以53开头的号码。当匹配成功后,我们使用 `<action>` 语句中的 `set` 应用程序,指定要使用的转向目标号码为 `15098829958`。然后我们使用 `bridge` 应用程序,将其转移到网关为 `gw4`,以实现转向功能。

要使这两个拨号计划生效,可以将其保存为xml文件并放置在`/usr/local/freeswitch/conf/dialplan/public/`目录下 (假设你的FreeSWITCH安装在`/usr/local/freeswitch/`目录下),然后重启FreeSWITCH服务。

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