freeswitch的gateway配置方案

时间:2022-12-23 19:08:25

freeswitch的gateway配置方案

 

 

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官网文档。

 

空空如常

求真得真