第二章《Asterisk权威指南》深入探讨了Asterisk体系结构,由Steele于2011年翻译。Asterisk是一个开放源代码的IP PBX解决方案,与传统PBX系统有显著区别。本章内容主要分为以下几个部分:
1. **模块**:
- **Dialplan Applications**:负责处理呼叫流程和业务逻辑,允许创建定制化的接听和转移规则。
- **Bridging Modules**:用于连接不同的通信网络,如内部网络与外部网络或多个Asterisk实例之间的通信桥接。
- **Call Detail Recording Modules**:记录电话通话详细信息,便于分析和合规性管理。
- **Channel Event Logging Modules**:监控和记录通话中的事件,如挂断、振铃等。
- **Channel Drivers**:负责驱动各种硬件设备,如电话接口板(PBX)或网络电话。
- **Codec Translators**:处理不同音频编码格式的转换,确保多方通话的兼容性。
- **Format Interpreters**:解析和生成不同格式的数据,如SIP头字段或XML指令。
- **PBX Modules**:专门针对PBX功能的模块,如自动路由、语音邮件等。
- **Resource Modules**:管理电话号码簿、铃声和其他共享资源。
- **Addon Modules**:第三方开发者的扩展模块,增加了Asterisk的功能多样性。
- **Test Modules**:用于测试和调试的模块。
2. **文件结构**:
- **Configuration files**:系统的配置文件,包括核心配置、模块配置和拨号计划等。
- **Modules**:按功能分类存放的模块目录,包括核心模块和自定义模块。
- **Resource Library**:存储电话号码、脚本和其他可重用资源的库。
- **Spool**:临时数据存储区,用于处理电话呼叫过程中的数据交换。
3. **Dialplan**:Asterisk的核心组成部分,它定义了电话呼叫的处理流程,即使内外线的概念不再严格区分,而是通过灵活的编程逻辑实现统一处理。
4. **硬件支持**:Asterisk支持多种硬件设备,适应不同的部署环境,包括电话接口、网络设备和多媒体服务器。
5. **Asterisk版本管理**:
- **旧版本机制**:过去的版本可能采用不同的版本标识方式。
- **新版本机制**:介绍了Asterisk随着版本更新带来的架构变化,强调了向后兼容性和灵活性。
6. **结论**:总结了Asterisk体系结构的独特之处,以及其如何利用模块化设计、开放源码和灵活的拨号计划来提供高度可定制的IP PBX解决方案。
通过阅读这一章节,读者可以深入了解Asterisk的工作原理、模块功能以及如何有效地配置和扩展这个强大的电话系统。