随笔分类 - FreeSWITCH
a new world.
摘要:一、查看Linux内核版本命令(两种方法): 1. cat /proc/version 2. uname -a 二、查看Linux系统版本的命令(两种方法): 1. lsb_release -a 2. cat /etc/redhat-release,这种方法只适合Redhat系的Linux:
阅读全文
摘要:一、说明: FreeSWITCH版本1.6.13二、测试准备 软电话A的语音编码只配置iLBC;软电话B的语音编码只配置PCMU; 三、修改文件vars.xml 添加如下一行: 四、重启FreeSWITCH A->B,呼叫成功。 看日志,发现Fs和A协商了iLBC编码,然后和B协商了PCMU编码。
阅读全文
摘要:1. 安装ilbc库从第三方库里下载指定版本 注意:我试过,从iLBC官网下载的最新版本目前是不适配的。 2. 安装ilbc-devel CentOS 7: Debian 8: 3. 更新ilbc库 4. 打开编译配置项vim modules.conf#codecs/mod_ilbc //去掉这个注
阅读全文
摘要:这个参数定义了呼叫中主叫信息的头字段类型。支持两种类型: 1. rpidRemote-Party-ID头,这是默认的设置。{sip_cid_type=rpid}sofia/default/user@example.com此时送出去的SIP消息头的主叫信息字段示例:Remote-Party-ID: "
阅读全文
摘要:1. 这个配置项两个设置值: true和false(默认) <param name="caller-id-in-from" value="true"/> 2. 干什么用的呢? 顾名思义,是否使用from头域中的主叫信息。 3. 效果如下:false(默认): true:
阅读全文
摘要:一、主动发送 1. 加入sip_h_前缀 这样FreeSWITCH就能自动加上后面的扩展头。 2. 示例 这样后续的SIP呼叫消息会带上自定义头: 3. 注意:这个头的封装创建是FreeSWITCH来完成的。 二、被动接收 1. 约定X-前缀 这样收到的自定义头能被FreeSWITCH解析出来。 2
阅读全文
摘要:大致网络示意和终端号码: 客户端侧: 终端号码(1019)终端IP(192.168.1.15)+ 网关(192.168.1.1) + 路由器公网IP(动态地址) 服务器侧: 防火墙(181.92.2.7)+ 负载(10.40.50.20X)+ FreeSWITCH(10.10.10.190)+ 终端
阅读全文
摘要:一、背景 测试人员反映FreeSWITCH录音不及时,需要大约5秒的时间才能捕获到RTP流。 二、原因及解决 查了下资料,FreeSWITCH默认的录音参数配置是开启缓冲的, 即RTP流大小到达65536字节写一次wav文件,想更接近实时的获得wav文件,关闭缓冲区即可。
阅读全文
摘要:方法一、通过使用acl配置 <list name="domains" default="deny"> <!-- domain= is special it scans the domain from the directory to build the ACL --> <node type="all
阅读全文
摘要:一、 freeswitch订阅会议相关通知 这时会收到各种通知,会议创建、成员加入、成员离开、成员开始讲话,成员停止讲话等等。实际使用的时候可能不需要这么多的通知,想过滤一些怎么办? 二、 配置文件1. 文件路径 2. 配置项 默认屏蔽,只需要去掉屏蔽就可以阻止接收开始讲话和停止讲话的通知了。 3.
阅读全文
摘要:以FreeSWITCH的自启动脚本为例。 一、 编写freeswitch.service文件 二、 freeswitch.service的文件路径 可能会和具体的Linux版本有关系,给出ubuntu的例子: 三、 编写步骤一中声明的配置文件 1. 文件路径 2. 文件内容 四、 自启动添加 五、
阅读全文
摘要:一、RFC2833 1. 介绍: RFC2833为带内检测方式,通过RTP传输,由特殊的rtpPayloadType即TeleponeEvent来标示RFC2833数据包。同一个DTMF按键通常会对应多个RTP包,这些RTP数据包的时间戳均相同,此可以作为识别同一个按键的判断依据,最后一包RTP数据
阅读全文
摘要:一、目标修改event_socket配置,使之能够建立远端ESL链接。 二、步骤 1. vim ../autoload_configs/event_socket.conf.xml 2. 默认的监听地址配置 <param name="listen-ip" value="127.0.0.1"/> 3.
阅读全文
摘要:一、背景假设源代码路径为/home/freeswitch 二、编译安装libesl.a1. cd /home/freeswitch(源代码的根目录) 执行./configure,以便生成必要的Makefile文件。 2. cd /home/freeswitch/libs/esl make && ma
阅读全文
摘要:一、错误场景 FreeSWITCH通过网关和一台支持SIP的网关设备互联,一个呼叫发过去,收到这个错误。 FreeSWITCH的地址是192.168.1.99。 网关设备的地址是192.168.1.200。 二、提示的很清楚,From header中的domain无效。 三、抓包分析 四、检查我的配
阅读全文
摘要:一、中文语音资源的获取 二、中文资源的安装 三、中文资源的配置 修改vars.xml如下: 增加vars.xml如下: 四、编译中文say模块 1. cd src/mod/say/mod_say_zh 2. make && make install 五、中文say的配置 六、修改zh.xml为如下:
阅读全文
摘要:错误日志如下: 从日志上看,就是无法读取wav格式的文件。 可是哪个模块关联的wav文件格式的读取呢? 从头看启动日志: 原因找到了,mod_sndfile模块缺少关联库文件。 执行ldd mod_sndfile,结果如下: 一个一个补充吧。
阅读全文
摘要:去h.323plus官网上下载关联的库 http://www.h323plus.org/source/ 很贴心,分操作系统下载,而且关联的ptlib库的版本也一并列了出来。 一、编译ptlib库 二、编译h323+库 2.1 make的时候提示了一个错误,找不到ptlib.mk文件(因为路径错误)。
阅读全文
摘要:一、用户号码组 听到这个名词的时候,心中还挺迷茫,需求如下: 一个用户分配号码为800,但是这个用户有一部座机,两部手机;有人拨打800这个号码时,这个用户的所有关联终端都要振铃。 其实就是用户号码多终端同时注册。 修改方法如下:
阅读全文
摘要:FreeSWITCH使用了大量的第三方库,本文档主要介绍关联相关库的信息: 音频相关库的信息介绍参考:http://www.cnblogs.com/yoyotl/p/5486753.html 视频相关库的信息介绍参考:http://www.cnblogs.com/yoyotl/p/5488890.h
阅读全文