两台FreeSWITCH桥接呼叫出现NO_ROUTE_DESTINATION错误如何解决
核心问题及修复方案
1. 网关参数拼写错误(核心错误)
你在SwitchA的external网关fs-test2配置中错误使用了called-id-in-from参数,该参数会把被叫号码写入From头,导致发给SwitchB的SIP请求To头的被叫号变为默认值FreeSWITCH,无法匹配SwitchB public拨号计划的18881规则。
- 修复:将SwitchA网关配置中的
<param name="called-id-in-from" value="true"/>
修改为
<param name="caller-id-in-from" value="true"/>
同时修正同配置下的编码变量拼写错误:将direction="oubound"改为direction="outbound"
2. SwitchA拨号计划加载异常
日志提示Dialplan [default] not found, skipping,说明default拨号计划未被正常加载:
- 检查
conf/dialplan/default.xml文件是否存在,权限是否正确 - 检查
conf/dialplan/dialplan.xml中是否包含<X-PRE-PROCESS cmd="include" data="default/*.xml"/>或者直接include了default.xml的配置 - 修复后执行
reloadxml重载配置
3. SwitchB目标分机规则检查
你在SwitchB的public拨号计划中把呼入的18881转接到了分机1000,需确认:
- SwitchB的default拨号计划中存在匹配1000的路由规则
- 1000号用户已正常注册到SwitchB,或对应规则指向正确的处理逻辑(测试阶段可暂时把transfer动作替换为
playback $${sounds_dir}/en/us/callie/ivr/8000/ivr-welcome_to_freeswitch.wav快速验证呼叫链路是否正常)
4. 前置环境检查(避免后续问题)
两台机器的5080端口(UDP+TCP)、RTP端口范围(默认16384-32768 UDP)需在防火墙/安全组中放通,避免后续媒体流异常。
所有配置修改完成后,依次执行reloadxml、reload mod_sofia重载配置即可测试呼叫。
内容的提问来源于stack exchange,提问作者venalyn sudaria
相关产品推荐
相关产品推荐

