![如何正确将 FreeSWITCH 来电路由至外部 SIP URI](https://linux22.com/image/646916/%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E5%B0%86%20FreeSWITCH%20%E6%9D%A5%E7%94%B5%E8%B7%AF%E7%94%B1%E8%87%B3%E5%A4%96%E9%83%A8%20SIP%20URI.png)
我对 Freeswitch 还很陌生。我在 CentOS 6.6 64 位虚拟机上运行 FreeSWITCH 版本 1.5.15b+git~20141120T035109Z~79de78a0fb~64bit (git 79de78a 2014-11-20 03:51:09Z 64bit)。
我正在尝试设置 freeswitch,以便一旦它通过 sip 网关接到呼叫,它就会将呼叫者 ID 发送到另一个 SIP 网关 (URI) 进行处理。我遇到了很多困难,我不确定我是否正确地做了正确的事情,而且日志提供了太多信息,很难看清发生了什么。请帮我验证我是否配置正确。
我已经设置了我期望来电的网关,并且 freeswitch 已正确注册。例如:
索菲亚返回:external::sipgw081 网关 sip:[电子邮件保护] 登记
我希望将 caller_id_numbers 路由到的网关已经定义,但由于我没有收到密码或被要求注册,所以我像这样设置它(这样可以吗?):
<gateway name="othersipgw">
<param name="username" value="user.name"/>
<param name="password" value="none"/>
<param name="register" value="false"/>
<param name="realm" value="sip.othersipgw.in"/>
<param name="proxy" value="sip.othersipgw.in"/>
<param name="outbound-proxy" value="sip.othersipgw.in"/>
<param name="expire-seconds" value="3600"/>
<!-- <param name="caller-id-in-from" value="true"/> -->
</gateway>
索菲亚返回:external::othersipgw 网关 sip:[电子邮件保护] 挪威
从我读过的文档中看到的内容来看,为了将入站呼叫路由到 freeswitch 中的任何位置,最初进入公共环境并被视为不受信任的呼叫 - 如果它们没有被专门路由到默认环境内的分机,那么它们就会被断开连接。
因此我在 conf/dailplan/public 中创建了一个文件,其中包含以下内容,默认拨打分机号 1212(我想要路由 11 位数字的呼叫者 ID,全部以数字 0 开头):
<include>
<extension name="sipgw-inbound">
<condition field="caller_id_number" expression="^0(\d+)$">
<!-- <action application="set" data="domain_name=$${domain}"/> -->
<action application="transfer" data="1212 XML default"/>
</condition>
</extension>
</include>
这就是我困惑的开始。我在 conf/dialplan/default 中创建了一个文件,并编辑了 conf/dialplan/default.xml,以便将发送到 1212 的呼叫路由到外部网关 URI。我还希望 caller_id 以 +234 为前缀
默认.xml:
<extension name="1212">
<condition field="destination_number" expression="^1212$">
<action application="set"data="absolute_codec_string=G729"/>
<action application="set" data="hangup_after_bridge=true"/>
<action application="bridge" data="sofia/gateway/othersipgw/+234$1"/>
</condition>
conf/dialplan/default 中的 outbound.xml 文件:
<include>
<extension name="othersipgwoutbound">
<condition field="destination number" expression="1212">
<action application="set"data="absolute_codec_string=G729"/>
<action application="bridge" data="[leg_timeout=5]sofia/gateway/othersipgw/$1"/>
</condition>
</extension>
</include>
任何帮助都值得感激。