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官网文档。
空空如常
求真得真
freeswitch的gateway配置方案的更多相关文章
- Atitit.兼具兼容性和扩展性的配置方案attilax总结
Atitit.兼具兼容性和扩展性的配置方案attilax总结 文件配置法1 Jdbc多数据源文件配置发1 Bat文件配置法1 改进的文件配置法(采用类似i18n技术) 推荐1 使用自动化pc_id的方 ...
- Spring MVC之视图解析器和URL-Pattern的配置方案
上期讲解了第一入门案例之后接下来了解一下视图解析器与URL-Pattern的配置方案 先来说视图解析器,在上次博客文章中我们完成了入门案例,接下来我们就在上一个例子中完善一下体出视图解析器 <? ...
- Apache安全配置方案
Apache安全配置方案 from:http://drops.wooyun.org/%e8%bf%90%e7%bb%b4%e5%ae%89%e5%85%a8/2727 apache的一些配置主要是通过 ...
- web.config中sessionState节点的配置方案
web.config中sessionState节点的配置方案 web.config关于sessionState节点的配置方案,sessionState有五种模式:Custom,off,inProc,S ...
- gVim 配置方案 采用Vundle管理插件
在Linux下配置vim非常简单,尤其是采用Vundle来管理插件,使得一切用起来得心应手. Maple大神在github上公布了自己的vim配置方案,相当方便好用.详见 https://github ...
- mysql cluster 安装配置方案
mysql cluster (mysql 集群)安装配置方案 一.准备 1.准备服务器 计划建立有5个节点的MySQL CLuster体系,需要用到5台服务器,但是我们做实验时没有这么多机器,可以 ...
- Windows环境下python多版本配置方案
系统环境 Windows,安装了msys2,windows和msys2都安装了python,且版本比较多,使用shell/bash聚合工具conemu64 配置方案 配置msys2环境用户目录下的.b ...
- Asp.net的sessionState四种模式配置方案
sessionState节点的配置 web.config关于sessionState节点的配置方案,sessionState有四种模式:off,inProc,StateServer,SqlServer ...
- 第八节: Quartz.Net五大构件之SimpleThreadPool及其四种配置方案
一. 简介 揭秘: SimpleThreadPool是Quartz.Net中自带的线程池,默认个数为10个,代表一个Scheduler同一时刻并发的最多只能执行10个job,超过10个的job需要排队 ...
- LoadRunner配置方案
1.配置方案运行时设置 选择“Tools”>“Options”.在“Options”对话框有“Run-Time Settings”(运行时设置).“Timeout”(超时).“Run-Time ...
随机推荐
- DateSet的应用
一.知识描述 1.什么是DataSet? DataSet为一个数据集,可以看做是一个内存中的数据库,包括表.数据行.数据列以及表与表之间的关系. 创建一个DataSet后,它可以单独存在,不需要一直保 ...
- 关于将Azure云上磁盘导出-使用VirtualBox转换成vmdk格式的方法记录
在工作中,经常会遇到虚拟磁盘文件格式的转换需求,尤其是在虚拟化迁移及云环境迁移到DC的虚拟化环境中 或者中转处理,如最近笔者遇到一个需要将Azure Cloud上的磁盘导出到VMware中,但Azur ...
- Java 集合简介 一
什么是集合? 集合就是由若干个确定的元素所构成的整体.例如,5只小兔构成的集合: 在数学中,我们经常遇到集合的概念.例如: ● 有限集合 ○ 一个班所有的同学构成的集合: ○ 一个网站所有的商品构成的 ...
- HTML+CSS基础知识(2)选择器的使用、盒子模型的讲解、列表的使用
文章目录 1.CSS基础知识 2.css样式 2.1.代码: 2.2 测试结果 3.CSS的语法 3.1 代码 4.块元素和行内元素 4.1 代码 4.2 测试结果 5.常用的选择器 5.1 代码块 ...
- LcdTools如何自定义读写PX01 SSD2828寄存器
LcdToos打开相应的工程文件,连接PX01并开启点亮屏使LcdTools开关处于开启状态. 切到"测试设置"栏,在"Bridge控制"栏,在"Ad ...
- 14.-F对象和Q对象
一.F对象 一个F对象代表数据库中某条记录的字段的信息 作用 通常是对数据库中的字段值在不获取的情况下进行操作 用于属性(字段)之间的比较 语法: from django.db.models im ...
- Sql Server 数据库分页存储过程书写
create proc 存储过程名称( @page int, //pageindex @rows int, //pagesize @rowCount int out)as begin--定义字符串变量 ...
- flutter 系列之:flutter 中的幽灵offstage
目录 简介 Offstage详解 Offstage的使用 总结 简介 我们在使用flutter的过程中,有时候需要控制某些组件是否展示,一种方法是将这个组件从render tree中删除,这样这个组件 ...
- mlflow详细安装部署
1.安装docker # 安装工具 sudo yum install -y yum-utils # 添加yum仓库配置 sudo yum-config-manager --add-repo https ...
- nodered获取简单的时间
1.添加simpletime 的节点 2. 添加一个inject节点用来每1s循环获取当点的信息 3.添加一个函数节点对simpletime发来的msg进行解析 var payload=msg;var ...