概述

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

空空如常

求真得真

最新文章

  1. CWMP开源代码研究4——认证流程
  2. openssl 非对称加密 RSA 加密解密以及签名验证签名
  3. js判断数据类型
  4. Git command line
  5. Mysql基础3
  6. emulator: ERROR: x86 emulation currently requires hardware acceleration!
  7. JavaWeb学习----JSP脚本元素、指令元素、动作元素
  8. stl map高效遍历删除的方法 [转]
  9. Lucene.Net 2.3.1开发介绍 —— 三、索引(一)
  10. 用Python处理实验数据
  11. python一行写不下,变多行
  12. 对YUV数据进行裁剪
  13. Scout YYF I POJ - 3744(概率dp)
  14. V4L2 driver -整体架构
  15. NB-IoT移远BC95使用小结
  16. Chapter 3 Phenomenon——23
  17. fzyzojP2984 -- 序列变换问题
  18. 创建安全的基于HTTP的api应用接口
  19. 最简单,有效的学习mysql教程(一)
  20. 活动a 使用 启动为结果 方法 启动 活动 b, b什么都不做 并返回给a,a中的 在活动结果时候 回调 是否被执行?

热门文章

  1. C#-13 泛型
  2. acwing346 走廊泼水节 (最小生成树)
  3. P8548 小挖的买花 方法记录
  4. AlexNet-文献阅读笔记
  5. Morris 遍历实现二叉树的遍历
  6. envoy开发调试环境搭建
  7. 我的Vue之旅 07 Axios + Golang + Sqlite3 实现简单评论机制
  8. JavaScript基础&实战(2)js中的强制类型转换、运算符、关系运算符、逻辑运算符、条件运算符
  9. app自动化测试环境安装
  10. python基础之open函数和路径处理