主叫是053158263720,被叫是手机号,转向gateway 是gw4 ,并且被叫前缀加上88
可以使用以下拨号计划来实现:
<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服务即可生效。