freeswitch对接其它SIP设备这⼏天⽤到freeswitch对接其它设备⽅⾯的知识,这⾥整理下,也⽅便我以后查阅。
操作系统:debian8.5_x64
freeswitch 版本 : 1.6.8
⼀、freeswitch作为被叫设备
freeswitch作为被叫设备和其它设备对接的情况⽐较简单,可以直接通过5080端⼝呼⼊。
freeswitch默认配置默认开启5080端⼝的对接(conf/l中关于public):
<extension name="public_extensions">
<condition field="destination_number" expression="^(10[01][0-9])$">
<action application="transfer" data="$1 XML default"/>
</condition>
</extension>
⼆、freeswitch作为主叫设备
这⾥主要描述下freeswitch作为主叫设备怎么对接其它sip设备(使⽤sipp模拟)。
HostA : 192.168.1.100
HostB : 192.168.1.101
其中HostA上安装freeswitch,HostB使⽤sipp模拟其它设备。
使⽤sip uri格式对接
1、编辑A机中 conf/l ⽂件 ,添加如下extension :
<extension name="hostB">
<condition field="destination_number" expression="^0(.*)$">
<actionapplication="bridge"data="sofia/external/sip:$*********.168.101:5080"/>        </condition>xml文件怎么打开
</extension>
2、B机上使⽤sipp模拟uas设备,命令如下:
sipp -sn uas -p5080
A机重新加载xml⽂件( F6 或 reloadxml ),在A的1000话机上拨打号码 01234 即可看到对接效果。使⽤⽹关对接
1、在A机上创建 conf/sip_profiles/external/l ⽂件,添加如下内容:
<include>
<gateway name="gw_A">
<param name="username" value="anonymous"/>
<param name="from-user" value=""/>
<param name="password" value=""/>
<param name="outbound-proxy" value="192.168.1.101:5080"/>
<param name="register-proxy" value="192.168.1.101:5080"/>
<param name="expire-seconds" value="120"/>
<param name="register" value="false"/>
<param name="register-transport" value="UDP"/>
<param name="caller-id-in-from" value="true"/>
<param name="extension-in-contact" value="true"/>
<variables>
<variable name="gateway_name" value="gw_A"/>
</variables>
</gateway>
</include>
2、打开A机中 conf/l ⽂件 ,添加如下extension :
<extension name="gw_A">
<condition field="destination_number" expression="^9(.*)$"><action application="bridge" data="sofia/gateway/gw_A/$1"/>
</condition>
</extension>
3、B机上使⽤sipp模拟uas设备,命令如下:
sipp -sn uas -p5080
4、加载⽹关配置,需在A机器执⾏如下命令:
sofia profile external rescan
A机重新加载xml⽂件( F6 或 reloadxml ),在A的1000话机上拨打号码 91234 即可看到对接效果。
本⽂github地址:
欢迎补充