关于模块的介绍,在官方的Wiki页面上大部分也都能查到。https://freeswitch.org/confluence/display/FREESWITCH/Modules ,大部分模块也都有自己的页面,它们的URL也比较规范,如https://freeswitch.org/confluence/display/FREESWITCH/mod_dptools 、https://freeswitch.org/confluence/display/FREESWITCH/mod_commands 等 。
我们基于FreeSWITCH 1.8版,以自然的顺序来讲解。这里,模块的顺序是用下面命令生成的:
cd src/mod
find . -type d -name mod_*
各个模块根据其主要功能和能提供的接口分到不同的目录中。
该目录下的模块提供了大部分的应用功能,有的模块实现了多种Interface不好归类也会存在该目录中。
ffmpeg
库(2.6、2.8、3.0
)。mod_vmd
的高级版。详见mod_vmd
。$ curl https://api.opencnam.com/v2/phone/16502530000?format=pbx
GOOGLE INC
libcurl
作为一个HTTP客户端向Web服务器发送请求,也可以得到返回的结果。<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对应键盘按键9378
)。
expr
表达式计算。mod_hash
的数据库到远程的Memcache中。mod_memcache
。mod_memcache
。echo
App。然后在本地的FreeSWITCH上产生一些铃音,发送到远端的服务器上再反射回来,然后使用VAD检测功能可以检测这些铃音,从而可以在某种程度上确定网络的质量。mod_spy: 用于监视某个话机,当该话机有通话时,本机就振铃并可以监听。
mod_stress: 使用快速傅立叶变换(FFT,Fast Fourier Transform)检测重音。
mod_translate: 通过既定的规则对号码进行翻译。
mod_valet_parking: 电话停靠。类似于泊车,有来电时可以将来电依靠在某个泊位上,然后通知某人拨开指定的号码将来话『接』走。
mod_vmd: 提供Voicemail声音检测。在国外,好多电话都有自动应答功能,如『您好,主人不在家,请留言』。使用该模块可检测到这种声音,应用程序在自动外呼时就可以根据它的结果判断是人工接听的还是机器接听的。
mod_voicemail: 语音邮箱。
mod_voicemail_ivr: 带IVR导航的语音邮箱。
提供自动语音识别及语音合成的功能。
各种类型的音、视频编码。大多数名称都很直观,不再多做解释。
mod_vpx
代替。拨号计划。
目录服务。
各种Endpoint的实现。
事件处理。
mod_erlang_event
的一些问题。格式。
.PCMU
或.G729
格式的文件。portaudio
库从本地声卡生成媒体流。libsndfile
支持大多数的声音文件。各种嵌入式编码语言接口。
mod_v8
替代。日志。
多语种接口。
定时器。
timerfd
定时器。XML接口。
http://www.soft-switch.org/↩︎