這幾天用到freeswitch對接其它設備方面的知識,這里整理下,也方便我以后查閱。
- 操作系統:debian8.5_x64
- freeswitch 版本 : 1.6.8
一、freeswitch作為被叫設備
freeswitch作為被叫設備和其它設備對接的情況比較簡單,可以直接通過5080端口呼入。
freeswitch默認配置默認開啟5080端口的對接(conf/dialplan/public.xml中關於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/dialplan/public.xml 文件 ,添加如下extension :
<extension name="hostB"> <condition field="destination_number" expression="^0(.*)$"> <action application="bridge" data="sofia/external/sip:$1@192.168.168.101:5080" /> </condition> </extension>
2、B機上使用sipp模擬uas設備,命令如下:
sipp -sn uas -p 5080
A機重新加載xml文件( F6 或 reloadxml ),在A的1000話機上撥打號碼 01234 即可看到對接效果。
使用網關對接
1、在A機上創建 conf/sip_profiles/external/gw_a.xml 文件,添加如下內容:
<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/dialplan/public.xml 文件 ,添加如下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 -p 5080
4、加載網關配置,需在A機器執行如下命令:
sofia profile external rescan
A機重新加載xml文件( F6 或 reloadxml ),在A的1000話機上撥打號碼 91234 即可看到對接效果。