C/C++教程

freeswitch对接落地

本文主要是介绍freeswitch对接落地,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

使用freeswitch将呼叫送到中继线路或运营商
通过拨号计划将呼叫的主被叫送到指定的中继ip上
定义external接口用于呼入,internal接口用于呼出

使用ip方式对接中继线路

情况1 主机只有一块网卡一个ip
修改拨号计划 dialplan/call.xml
    <context name="callout">
        <extension name="fs_call_out1">
        	<condition field="network_addr" expression="^111\.111\.111\.111$"/>
            <!--仅允许指定的ip通过-->
        	<condition field="destination_number" expression="^(122\d{11}|123\d{12})$">
            <!--仅允许被叫号码为122,123的通过-->
                    <action application="set" data="effective_caller_id_name=${caller_number}"/>
                    <action application="set" data="effective_caller_id_number=${caller_number}"/>
                    <!--设置通道变量-->
        	        <action application="bridge" data="sofia/internal/${destination_number}@1.1.1.1:5060"/>
                    <!--action application="bridge" data="{absolute_codec_string='PCMA'}sofia/internal/${caller_id_number}/${destination_number}@1.1.1.1:5060"/-->
                    <!--将呼叫桥接送到中继线路10.9.2.2:5060-->
                    <action application="hangup"/>
                </condition>
        </extension>
    </context>
修改 sip_profiles/internal.xml指定拨号计划
    <param name="context" value="callout"/>
fs_cli控制台 按f6加载配置
呼叫测试
情况2 主机具有内外网两块网卡,呼入呼出使用不通的网卡的ip

external使用ip 192.168.1.2/24 internal使用ip 10.9.2.2/29 中继ip 10.9.7.7

配置路由
  1 默认路由走192.168.1.2不用配置
  2 10.9.7.x指定走10.9.2.2
    route add -net 10.9.7.0/24 gw 10.9.2.186
  3 使用ping分别测试路由
    ping baidu.com
    ping 10.9.7.7
修改 sip_profiles/internal.xml指定接口ip
    <param name="rtp-ip" value="10.9.2.2"/>
    <param name="sip-ip" value="10.9.2.2"/>
    <param name="ext-rtp-ip" value="10.9.2.2"/>
    <param name="ext-sip-ip" value="10.9.2.2"/>
其他步骤同 情况1 主机只有一块网卡一个ip

使用sip注册方式对接中继线路

......
这篇关于freeswitch对接落地的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!