前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FreeSWITCH架构

FreeSWITCH架构

作者头像
Seven Du
发布2020-12-21 10:22:32
1.5K0
发布2020-12-21 10:22:32
举报

在QQ群里老是看到有的朋友问到不同的模块都是干什么的。因此,我打算从今天起,把所有的模块都大体讲一遍。如果有时间我就多写点例子,时间少的话就写少点。 当然,说到模块,我们还得从FreeSWITCH的架构说起。我们先用一两天的间说一下FreeSWITCH的整体架构以及模块列表,然后,就可以式一一介绍所有模块了。当然,在讲的期间大家有什么问题话,也可以向我提问,我会有选择性的回答或“插播”一下。 FreeSWITCH的整体架构我们已经在最前面看到了,更详细一点的,我们看下图。

FreeSWITCH由一个稳定的核心(Core)和外围模块(Modules)组成。核心代码运行着系统重要的数据结构及状态机等,而且,最重要的是,它实现了不同的功能模块的抽象层,而具体的业务实现则在外围的模块中完成。这就使得它很容易扩展。 我们做一下类比。如果读者熟悉C++的话,可以认为核心中实现了一些类,并实现了一些纯虚函数,而具体的函数实现则在外围模块中实现。 从图中我们可以看出,这些“虚拟的类”大体分为几个部分。其中,Endpoint,也就是我们一般说的终点模块,实现了不同的具体的协议的处理。如,最重要的模块mod_sofia就是一个终点模块,它实现了SIP协议。而mod_opal和mod_h323则分别用不同的方式实现了H.323协议。 FreeSWITCH核心可以不加载任何模块独立运行,不过,那样做用处不大。一般来说,它都会加载一些模块。 在编译安装时,可以通过修改源代码目录中的modules.conf文件控制哪些模块被编译和安装。在安装完成后,则可以通过FreeSWITCH安装目录(一般是/usr/local/freeswitch)中的conf/autoload_configs/modules.conf.xml文件配置FreeSWITCH在运行时哪些模块被自动加载。 好了,今天就说到这里,希望进一步阅读的同学可以点一下左下角的查看原文。

---------------------------------------- 题图:FreeSWITCH架构 作者Seven Du ---------------------------------------- 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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2014-01-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeSWITCH中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档