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服务即可生效。