今天有一个朋友留言问如果要对freeswitch做监控或者功能扩展开发,有没有专门的对外的插件接口之类的。我想,使用ESL可能比较合适。在我们书里第十一章有简单的介绍,可以点击左下角的查看原文查看。
昨天我们大体说了一下FreeSWITCH的架构,今天,我们一起来看一下FreeSWITCH中的模块。
我们可以在FreeSWITCH的源代码目录中找到各种模块。模块的代码在源代码目录的src/mod目录中,我们进入该目录,输入以下命令,看一看里面都有什么:
cd src/mod
ls
可以看出,除了几个Makefile以外,其它的都是目录,这些目录基本上是跟昨天的架构图一一对应的:
Makefile
Makefile.in
Makefile.am
asr_tts/
dialplans/
endpoints/
formats/
legacy/
say/
timers/
applications/
codecs/
directories/
event_handlers/
languages/
loggers/
sdk/
xml_int/
在源代码中,模块一般是按照它实际的接口功能分类的。有些模块实现了很多不同的接口,无法归类的,就直接放到了applications目录中。总之,要查看哪个目录中实现了哪些模块,可以使用如下命令查询:
tree -d
.
├── applications
│ ├── mod_abstraction
│ │ └── conf
│ │ └── autoload_configs
│ ├── mod_avmd
│ ├── mod_blacklist
│ │ └── conf
│ │ └── autoload_configs
│ ├── mod_callcenter
│ │ └── conf
│ │ └── autoload_configs
│ ├── mod_cidlookup
│ │ └── conf
│ │ └── autoload_configs
│ ├── mod_cluechoo
│ ├── mod_commands
│ ├── mod_conference
│ │ └── conf
│ │ ├── autoload_configs
│ │ └── dialplan
当然,这里我们只显示了一部分,如果全显示了,估计手机要爆炸。从明天开始,我们就要介绍单独的模块了。按字母顺序讲显示不合适,看来我只好随机选择了。当然,大家如果想先听哪一个,也可以跟我说啊。
----------------------------------------
题图:荷花 作者丁丁(十来岁吧,我以前同事的女儿)
----------------------------------------
FreeSWITCH-CN是什么?
FreeSWITCH-CN是FreeSWITCH中文社区,我们的官方网站是 http://www.freeswitch.org.cn 。FreeSWITCH-CN同时也是一个微信公共账号,可以通过点击本页最顶端的“FreeSWITCH中文社... ”,或在通迅录->订阅号中搜索“FreeSWITCH-CN”来订阅,也可以到官方网站上扫描二维码。当然,不管是新用户还是老用户,随时都可以输入m或1显示本账号的主菜单。
FreeSWITCH-CN的账号维护者是Seven Du,在此,他会分享多年的FreeSWITCH使用经验,分享一些对开源VoIP软件以及软件社区的思考,并隔三差五的解答一些粉丝关心的问题。Seven Du于2007年听说、2008年开始使用FreeSWITCH,2009年创办FreeSWITCH-CN中文社区,2011~2013连续三年参加了在美国芝加哥举办的ClueCon全球VoIP开发者大会,该会议是由FreeSWITCH核心团队主办的。
移动设备上打字不方便,如果想写长的留言可以发邮件到 wechat@freeswitch.org.cn 。