freeswitch xml_rpc模块】的更多相关文章

概述 freeswitch的架构由稳定的核心模块和大量的外围插件式模块组成.核心模块保持稳定,外围模块可以动态的加载/卸载,非常灵活方便. 外围模块通过核心提供的 Public API与核心进行通信,而核心则通过回调机制执行外围模块中的代码. FS Core 是FreeSWITCH 的核心,它包含了关键的数据结构和复杂的代码,但这些代码只出现在核心中,并保持了最大限度的重用.核心代码都经过精心的编码和严格的测试,最大限度地保持了系统整体的稳定. 核心代码保持了最高度的抽象,因而它可以调用不同功能…
概述 上一章我们讲解了freeswitch的源码基本结构,以及如何新增一个插件式模块. freeswitch的架构非常适合这种业务开发模式,即以freeswitch的基本功能为开发平台,新增插件式模块来适配各种不同的业务场景,开发效率很高,学习成本相对较低. freeswitch的许多模块具有API,freeswitch可以通过命令行.脚本或事件套接字从远程计算机接收API命令. API命令可以做什么取决于每个单独的模块,常见的功能有数百个,包括返回状态信息(例如会议中有多少听众)或控制当前运行…
概述 freeswitch支持多种语言的业务开发,包括C/C++,java,python,js,lua,Golang等等.freeswitch在使用python做业务开发时,有俩种接入方式,一种是ESL接口,另一种是mod_python模块.python的ESL接口是通过socket套接字与freeswitch进行命令交互,包括发送命令.命令响应和事件回调等,类似于在外部增加一个第三方模块控制fs行为.ESL接口部分会在后续的章节中详细介绍.今天我们要介绍的是fs内部的mod_python语言支…
概述 freeswitch是开源.免费的VOIP软交换平台,自带了很多功能各异的模块. mod_tts_commandline模块,本身没有TTS能力,而是通过调用TTS引擎的命令生成语音文件,tts命令可以配置,最终实现自动TTS语音播放的功能. 今天,我们介绍一下该模块的一般应用方法. 环境 centos:CentOS  release 7.0 (Final)或以上版本 freeswitch:v1.8.7 GCC:4.8.5 模块编译安装 安装text2wave依赖包,TTS引擎,免费,不支…
http://wiki.freeswitch.org/wiki/Authoring_Freeswitch_Modules…
概述 freeswitch是一款非常好用的开源VOIP软交换平台. 之前我们有介绍过使用fs拨打分机号的方法,其中代码流程是比较复杂的,所以单独开一章介绍. fs拨打分机号,是使用send_dtmf接口实现,本节主要介绍接口是如何把DTMF码发送出去的,经过了哪些模块. 环境 centos:CentOS  release 7.0 (Final)或以上版本 freeswitch:v1.8.7 GCC:4.8.5 拨号计划 fs配置文件/usr/local/freeswitch/conf/dialp…
这是我之前整理的关于freeswitch mod_event_socket的相关内容,这里记录下,也方便我以后查阅. mod_event_socket以socket的形式,对外提供控制FS一种途径, 缺省的IP是127.0.0.1,TCP端口是8021,可以在外部通过sokcet执行API/APP命令. 连接模式 连接分两种模式: inbound/outboundmod_event_socket 的默认加载模式是inbound,outbound模式需要在dialplan的配置文件中设置. InB…
SIP 模块是 FreeSWITCH 的主要模块,所以,值得拿出专门一章来讲解. 在前几章时里,你肯定见过几次 sofia 这个词,只是或许还不知道是什么意思.是这样的,Sofia-SIP 是由诺基亚公司开发的 SIP 协议栈,它以开源的许可证 LGPL 发布,为了避免重复发明轮子,FreeSWITCH 便直接使用了它. 在 FreeSWITCH 中,实现一些互联协议接口的模块称为 Endpoint.FreeSWITH 支持很多的 Endpoint, 如 SIP.H232等.那么实现 SIP 的…
今天来学习FreeSWITCH 加载模块过程. 哪些模块需要编译,是由源码下的 modules.conf 文件决定的. 哪些模块在程序启动时自动加载,是由 freeswitch/conf/autoload_configs/modules.conf.xml  决定的. switch.c--main() ----> switch_core.c --switch_core_init_and_modload() ---->switch_loadable_module.c  --switch_loada…
概述 freeswitch的外围模块是插件式的,可以动态的加载和卸载,使用起来非常的灵活和方便. 如果我们自己来设计一个开源的代码框架,相信这种插件式的模块结构是非常适合多人合作的模式. 本文对fs的模块加载接口进行一些分析和讨论,作为借鉴. 环境 centos:CentOS  release 7.0 (Final)或以上版本 freeswitch:v1.8.7 GCC:4.8.5 模块接口 freeswitch新增mod_task模块的介绍,见之前的文章. 在mod_task模块实现中,有3个…