首页 > 解决方案 > 从两个 FreeSWITCH 连接时如何解决 NO_ROUTE_DESTINATION

问题描述

我是 FreeSWITCH 的新手,我正在尝试桥接来自两个不同 FreeSWITCH (SwitchA -> SwitchB ) 的呼叫。但是当我试图打电话时,它说NO_ROUTE_DESTINATION

这是我当前对 FreeSWITCH-A 的配置(呼叫发起)

我的sip_profile/外部

<include>
    <gateway name="fs-test2">
        <param name="proxy" value="ipOfSwitch-B:5080"/>
        <param name="register" value="false"/>
        <param name="called-id-in-from" value="true"/>

        <variables>
            <variable name="verbose_sdb" value="true"/>
            <variable name="absolute_codec_string" value="PCMU, PCMA" direction="oubound"/>
        </variables>
    </gateway>
</include>

我的拨号计划

拨号方案/默认

<include>

    <extension name="outbound_call">
        <condition field="destination_number" expression="^(18881)$">
            <action application="bridge" data="sofia/gateway/fs-test2/$1"/>
        </condition>
    </extension>

</include>

拨号方案/公共

<include>
   <extension name="public-did">
        <condition field="destination_number" expression="^(19991)$">
            <action application="set" data="domain_name=$${domain}"/>
            <action application="transfer" data="1000 XML default"/>
            <action application="answer"/>
            <action application="sleep" data="1000"/>
        </condition>
   </extension>
</include>

这是我目前对 FreeSWITCH-B 的配置

我的 sip_profile/外部

<include>
   <gateway name="fs-test1">
        <param name="proxy" value="ipOfSwitch-A:5080"/>
        <param name="register" value="false"/>
        <param name="caller-id-in-from" value="true"/>
    </gateway>
</include>

我的拨号方案

拨号方案/默认

<include>
   <extension name="outbound_call">
        <condition field="destination_number" expression="^(18881)$">
            <action application="bridge" data="sofia/gateway/fs-test1/$1"/>
         </condition>
    </extension>
</include>

拨号方案/公共

<include>
    <extension name="public-did">
        <condition field="destination_number" expression="^(18881)$">
            <action application="set" data="domain_name=$${domain}"/>
            <action application="transfer" data="1000 XML default"/>
        </condition>
    </extension>
</include>

这是我在 SWITCH A 中的索非亚状态档案

-----------------------------------------------------------------
Profile::Gateway-Name|       Data                      | Status |
-----------------------------------------------------------------
external::fs-test2   | sip:FreeSWITCH@ipOfSwitchB:5080 | NOREG  | 
-----------------------------------------------------------------

这是我在 SWITCH B 中的索非亚状态配置文件-

-----------------------------------------------------------------
Profile::Gateway-Name|       Data                      | Status |
-----------------------------------------------------------------
external::fs-test1   | sip:FreeSWITCH@ipOfSwitchA:5080 | NOREG  | 
-----------------------------------------------------------------

当我在 SWITCH A 中键入sofia status gateway fs-test2的命令时,结果如下所示:

Name       | fs-test2
Profile    | external
Scheme     | Digest
Realm      | ipOfSwitchB:5080
username   | FreeSWITCH
Password   | no
From       | <sip:FreeSWITCH@ipOfSwitchB:5080>
Contact    | <sip:gw+fs-test2@103.62.152.227:5080;transport=udp;gw=fs-test2>
Exten      | FreeSWITCH
To         | sip:FreeSWITCH@ipOfSwitchB:5080
Proxy      | sip:FreeSWITCH@ipOfSwitchB:5080
Status     | UP
State      | NOREG

完成所有更改后,我运行“reloadxml”、“reload mod_sofia”

当我从 SWITCH A 触发呼叫 (18881) 时,SWITCH B 上显示了一个日志,它说:

sofia.c:10362 sofia/external/FreeSWITCH@ipOfSWITCHB:5080 receiving invite from ipOfSWITCHB:5080 version: 1.10.6 -release-18-1ff9d0a60e 64bit call-id: fd37ba89-54d1-123a-db86-080027337ad5, 

并且从 SWITCHA 呼叫结束的那一刻,日志在 SWITCHA 上显示为:

switch_core_state_machine.c:276 Dialplan [default] not found, skipping
switch_core_state_machine.c:312 No Route, Aborting
 switch_core_state_machine.c:313 Hangup sofia/external/1000@ipOfSWITCHA [CS_ROUTING] [NO_ROUTE_DESTINATION]

SwitchB上还显示了一个日志:

sofia.c:8641 Hangup sofia/external/18881 [CS_CONSUME_MEDIA] [NO_ROUTE_DESTINATION]
mod_dptools.c:3643 Originate Failed.  Cause: NO_ROUTE_DESTINATION
switch_channel.c:4942 Hangup sofia/external/FreeSWITCH@ipOfSwitchB:5080 [CS_EXECUTE] [NO_ROUTE_DESTINATION]

我错过了什么吗?提前致谢。

标签: freeswitch

解决方案


我认为这就是 SIP INVITE 发送到您的 Switch-B 时发生的情况:

  1. 到达扩展名“public-did”,并转移到默认上下文的扩展名“1000”。

  2. 因为您在默认上下文中没有扩展名“1000”,所以您收到错误“No Route”


推荐阅读