概述
freeswitch是一款簡單好用的VOIP開源軟交換平臺。
在voip的網路模型中,閘道器是我們經常會遇到的概念。
在freeswitch中,如何配置gateway,如何使用好gateway的模型和功能。
本節簡單介紹fs中gateway相關的配置方案。
環境
centos:CentOS release 7.0 (Final)或以上版本
freeswitch:v1.10.7
GCC:4.8.5
gateway
freeswitch中的gateway概念有三種配置方案,預設的示例檔案如下。
conf/sip_profiles/external/example.xml
conf/directory/default/default.xml
conf/directory/default/brian.xml
預設的檔案內容就不在這裡羅列了,可以自行搜尋檢視。
這三種配置方案有什麼區別?
sip_profile下的閘道器會跟隨對應profile埠的啟動/停止/重啟,default型別的閘道器會始終存在,brian型別的閘道器會跟隨brian使用者的註冊狀態啟動/停止。
今天主要介紹第一種gateway的配置方法和測試結果。
配置&測試
配置conf/sip_profile/external/gw-138-5080.xml,設定閘道器引數,例子中只列舉了必須的引數,非註冊模式。
<include>
<gateway name="gw-138-5080">
<param name="username" value="not-used"/>
<param name="realm" value="10.55.55.138:5080"/>
<param name="password" value="not-used"/>
<param name="register" value="false"/>
<!--send an options ping every x seconds, failure will unregister and/or mark it down-->
<param name="ping" value="20"/>
<param name="ping-min" value="3"/>
<param name="ping-max" value="6"/>
<param name="ping-user-agent" value="proxy"/>
</gateway>
</include>
配置檔案conf/dialplan/test.xml,設定撥號計劃。
<extension name="test" continue="false">
<condition field="destination_number" expression="^(\d+)$">
<action application="bridge" data="{sip_invite_call_id=${sip_call_id}}sofia/gateway/gw-138-5080/$1"/>
</condition>
</extension>
發起呼叫10011->1002,三次的測試日誌如下。
2022-12-14 15:02:03.955588 [WARNING] sofia.c:6073 Ping succeeded gw-138-5080 with code 200 - count 3/4/6, state UP
...
2022-12-14 15:01:59.595541 [INFO] mod_dialplan_xml.c:637 Processing 10011 <10011>->1002 in context public
...
EXECUTE sofia/external/10011@10.55.55.138 bridge({sip_invite_call_id=0b9b5723-f620-123b-7d99-000c29a63969}sofia/gateway/gw-138-5080/1002)
...
EXECUTE sofia/external/10011@10.55.55.138 bridge({sip_invite_call_id=0fa91c5b-f620-123b-7d99-000c29a63969}sofia/gateway/gw-138-5080/1002)
...
EXECUTE sofia/external/10011@10.55.55.138 bridge({sip_invite_call_id=13af6d0d-f620-123b-7d99-000c29a63969}sofia/gateway/gw-138-5080/1002)
...
總結
freeswitch的gateway概念有多種型別和模式。型別包括profile、default和brian三種,模式包括註冊和非註冊模式。
gateway的引數詳情請參考fs官網文件。
空空如常
求真得真