这篇文章资料来自于网络,对部分知识整理,这里只是记录一下,仅供参考。
1.1 模块列表
关于模块的介绍,在官方的Wiki页面上大部分也都能查到。Modules | FreeSWITCH Documentation ,大部分模块也都有自己的页面,它们的URL也比较规范,如mod_dptools | FreeSWITCH Documentation 、mod_commands | FreeSWITCH Documentation 等 。
我们基于FreeSWITCH 1.8版,以自然的顺序来讲解。这里,模块的顺序是用下面命令生成的:
cd src/mod
find . -type d -name mod_*
各个模块根据其主要功能和能提供的接口分到不同的目录中。
1.1.1 applications
该目录下的模块提供了大部分的应用功能,有的模块实现了多种Interface不好归类也会存在该目录中。
- mod_abstraction:用于创建新的API命令。新的命令可以基于原有的API创建,相当于创建原有命令的别名或快捷方式。
- mod_av:基于libav.org库的视频模块。支持H263、H264编解码,mp4视频播放和录像,RTMP推送等。也支持
ffmpeg库(2.6、2.8、3.0)。 - mod_avmd: avmd是Advanced Voice Mail Detection的缩写,即高级语音邮件检测。它是
mod_vmd的高级版。详见mod_vmd。 - mod_bert:一个用于音频测试的模块。
- mod_blacklist: 黑名单功能。它提供了一些通过Dialplan来添加、删除以及检查黑名单的方法。
- mod_callcenter: 一个比较强大的呼叫中心类应用。
- mod_cidlookup: 用于主叫号码查询,即可以根据主叫号码从本地数据库或网络上查询到主叫的名字。网络上有开放的服务,如:
$ curl https://api.opencnam.com/v2/phone/16502530000?format=pbx
GOOGLE INC
- mod_cluechoo: 该模块是一个例子模块,主要是教大家怎么写模块。另外,它还带了一个好玩的例子,如在命令行上执行cluechoo将会看到屏幕上开过一个小火车。
- mod_commands: 提供了系统大部分的命令API。
- mod_conference: 多人语音及视频会议。
- mod_curl: 使用
libcurl作为一个HTTP客户端向Web服务器发送请求,也可以得到返回的结果。 - mod_cv:使用OpenCV库,对视频进行图像识别的模块。
- mod_db: 该模块提供一组接口,用于使用API或App对数据库表进行增、删、改、查。
- mod_directory: 该模块用于按姓名呼叫用户。如果不知道用户的分机号,但知道用户的名字,则可以通过输入该用户名字的前几位进行拨叫。如,在下面的例子中,我们可以通过拨打411进入directory程序。
<extension name="directory" continue="true">
<condition field="destination_number" expression="^411$">
<action application="directory" data="default $${domain} default"/>
</condition>
</extension>
当系统提示输入名字时,我们输入9378可以找到Brian West(默认是按last_name查找的,West

文章详细介绍了FreeSWITCH1.8版本中的各类模块,包括应用程序模块如mod_av、mod_cluechoo等,ASR/TTS模块如mod_pocketsphinx,编码模块如mod_opus,拨号计划模块mod_dialplan_xml,以及事件处理、日志、XML接口等相关模块的功能和用途。

9074

被折叠的 条评论
为什么被折叠?



