wordpress 演示导入,seo优质友链购买,注册公司哪个网站,杂志媒体网站建设方案从架构的角度看来#xff0c;Asterisk是由许多不同的模块组成的。在设计基于Asterisk的系统时#xff0c;这种模块化的特性#xff0c;提供了几乎无限的灵活必。作为Asterisk系统管理员#xff0c;你拥有选择加载模块的权利。你所加载的每一个模块#xff0c;都提供了不同… 从架构的角度看来Asterisk是由许多不同的模块组成的。在设计基于Asterisk的系统时这种模块化的特性提供了几乎无限的灵活必。作为Asterisk系统管理员你拥有选择加载模块的权利。你所加载的每一个模块都提供了不同的系统功能。比如说有的模块能够让你的Asterisk与模拟电话线路通信有的模块则提供话务报告的功能。后续我们还将讨论到各种模块的功能和类别。 Asterisk的整体框架 在我们深入了解各种模块之前让我们先退一步看一下Asterisk的整体框架 当前我们需要在上图中添加CEL和Bridge模块而把CLI和Manager模块移除在新版本中这些模块重整过。
CORE模块是Asterisk地核心。PBX内核是必不可少的组件内核除了话务桥接功能之外还提供了读取配置文件和加载其它模块的功能。后续我们会详细说明内核的功能现在只需要牢记其它模块都和内核模块紧密相连。 从后勤角度看来这些模块通常都是以.so为扩展名的文件这些文件存放在Asterisk的modules子目录中通常是/usr/lib/asterisk/modules。在Asterisk启动时它会加载这些文件把它们的功能添加到系统中。 再哆嗦一点 花点时间看一下你系统里Asterisk的modules目录。你应该会看到各种各样的模块。一个典型的Asterisk系统所包含的模块数量通常都超过150个 内核还包含了拨号计规则这是任何Asterisk系统的执行逻辑。拨号规则包含一系列的操作说明这些操作说明是Asterisk处理系统入呼和外呼的行为准则。 Asterisk的模块中内核部分的文件名是pbx_xxxxx.so。 Asterisk的模块类型
通道驱动模块 框架图的顶部蓝色部分描述的就是通道驱动。通道驱动程序与Asterisk外部的设备通信并为内核转换某种特定的信令或协议。
所有从外部呼入的呼叫在抵达内核之前都要经过某种通道驱动所有外呼的呼叫在抵达外围设备之前也一定要经过某种通道驱动。 例如SIP通道驱动用于与使用SIP协议的终端设备通信。它为内核转换SIP信令。这意味着Asterisk的内核是与信令无关的。因此Asterisk不仅仅是SIP PBX它是多协议的PBX。
所有通道驱动都以 chan_xxxxx.so命名比如说chan_sip.so、chan_dahdi.so
拨号规则应用模块 Application为系统提供呼叫相关的功能。这些应用可能是应答、播放提示音、挂机等功能。
应用模块为系统提供呼叫功能。这些应用在拨号方案中按(草种)顺序脚本化。比如说一个呼叫进入Asterisk拨号方案可能会有一个应用作出应答另一个应用从磁盘中读取一个文件播放一段提示音第三个应用则让呼叫方在指定的语音信箱中留言。
有关拨号计划应用的更详细信息请参考 Dialplan Fundamentals 所有应用模块都以app_xxxxx.so命名比如说 app_voicemail.so
拨号规则功能模块 从某种程度上来说拨号规则的功能类似于应用但是它们不是作用于某个特定通道或呼叫而是简单地检索或设置通道上的某个设定或者执行文本操作。比如说某个功能模块会检索呼叫的主叫ID信息过滤某些文本或为来电者设置一个超时时间。 拨号规则功能模块都以 func_xxxxx.so命名比如说func_callerid.so
资源模块 顾名思义资源就是Asterisk需要用到的资源服务。常见资源如呼叫保持音乐、呼叫停泊等。
资源模块为Asterisk提供可以在呼叫过程中任意时刻调用的一些扩展功能即使另一个应用正在某个通道上执行也能够调用。资源模块典型应用于事件同步比如说在呼叫置保持或挂起时播放音乐。 资源模块以res_xxxxx.so命名比如说 res_musiconhold.so
编解码模块 一种CODEC就是某种音频或视频的编解码模块。通常用于压缩媒体以减少带宽消耗。 编解码模块都以codec_xxxxx.so命名比如说codec_alaw.so、 codec_ulaw.so 编解码模块提供媒体流的编码和解码算法。Asterisk在接收和发送媒体音频和视频时都用到编解码模块。这个模块还完成不同编码算法间的转换工作。 Asterisk提供了多种媒体格式的支持包括ADPCM, 32kbit/s、G.711 alaw, 64kbit/s、G.711 ulaw, 64kbit/s、G.726, 32kbit/s、G.726, 32kbit/s、GSM, 13kbit/s、LPC-10, 2.4kbit/s。 其它的如G.729A、G.723.1是需要专利许可的。
文件格式驱动模块 这些模块让Asterisk能够支持的一系列文件格式。Asterisk利用文件模块从网络上获取媒体流音频或视频转换成文件存储在磁盘中或者反过来从磁盘中读取文件并转换为媒体流。这些模块常常关系到编解码模块对于某种编解码来说磁盘上可能存在多种可用的文件格式。 文件格式模块以format_xxxxx.so命名比如说 format_wav.so、format_xxxxx.so
呼叫详细记录(CDR)驱动 CDR模块的用途是把呼叫详细记录按不同的格式要求存储。常用的存储机制包括CSV文件、关系型数据库比如PostgreSQL。通常每一通呼叫生成一条通话记录记录内容包括主叫、被叫、通话时长等等。 CDR模块都以cdr_xxxxx.so命名比如说cdr_csv.so、 cdr_pgsql.so
呼叫事件日志(Call Event Log)驱动 CEL和CDR类似但它更侧重于记录在呼叫过程中Asterisk内部发生了什么。 CEL记录呼叫过程中发生的各种事件。正因如此它通常记录了比CDR更详尽的事情。比如说CEL可能会记录下这样的内容ALICE呼叫BOBBOB的电话在振铃秒后BOB的移动电话响铃了再过秒呼叫转到BOB的语音信箱去了然后ALICE留下一条秒长的语音留言然后挂机。系统还能够自定义需要记录的事件。 CEL模块以cel_xxxxx.so命名比如cel_custom.so、cel_adaptive_odbc.so
桥接模块 从Asterisk..开始Asterisk引入了桥接呼叫的一种新方法。它依赖各种桥接模块控制为呼叫参与者间的媒体流混频方式。新的桥接方式是一种更灵活、更高效的设计。 桥接模块以 bridge_xxxxx.so命名比如bridge_simple.so、 bridge_multiplexed.so.