freeswitch的gateway設定方案

2022-12-23 21:01:26

 

 

概述

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/[email protected] bridge({sip_invite_call_id=0b9b5723-f620-123b-7d99-000c29a63969}sofia/gateway/gw-138-5080/1002)

...

EXECUTE sofia/external/[email protected] bridge({sip_invite_call_id=0fa91c5b-f620-123b-7d99-000c29a63969}sofia/gateway/gw-138-5080/1002)

...

EXECUTE sofia/external/[email protected] bridge({sip_invite_call_id=13af6d0d-f620-123b-7d99-000c29a63969}sofia/gateway/gw-138-5080/1002)

...

總結

freeswitch的gateway概念有多種型別和模式。型別包括profile、default和brian三種,模式包括註冊和非註冊模式。

gateway的引數詳情請參考fs官網檔案。

 

空空如常

求真得真