Asterisk权威指南(原书第5版)
上QQ阅读APP看书,第一时间看更新

2.2 文件结构

Asterisk是一个复杂的、由许多资源组成的系统。这些资源以不同的方式使用文件系统。由于Linux在这方面非常灵活,所以了解哪些数据会被存储是很有帮助的,这样你就可以知道可能在哪里找到特定的存储数据(例如语音邮件消息或日志文件)。

2.2.1 配置文件

Asterisk配置文件包括extensions.conf、pjsip.conf、modules.conf,以及其他几十个文件,这些文件定义了可能正在使用的各种信道、资源、模块和功能的参数。

这些文件通常位于/etc/asterisk中,当你配置和管理Asterisk系统时,经常会用到这个文件夹。

2.2.2 模块

Asterisk模块通常安装在/usr/lib/asterisk/modules文件夹中,一般情况下你并不需要访问这个文件夹。但是,了解模块的位置有时会很有用。例如,如果安装时在menuselect阶段升级Asterisk并选择不同的模块,以前Asterisk版本中的旧模块(不兼容的)又没有被删除,安装脚本就会产生告警提示。需要从模块文件夹中删除这些旧文件。你可以手动删除,也可以使用“uninstall”(make uninstall)来卸载目标。

2.2.3 资源库

有些资源需要外部数据源。例如,等待音乐(Music On Hold,MOH)必须有音乐文件才能播放。系统提示(system prompt)也需要存储在硬盘的某个地方。/var/lib/asterisk文件夹就是存放系统提示、AGI脚本、等待音乐和其他资源文件的地方。

2.2.4 spool

在Linux系统上,应用程序可将那些需要频繁修改,或者稍后将由其他进程处理的文件存储在spool中。例如,Linux打印作业和待处理电子邮件通常写入到spool,直到它们被处理。

在Asterisk中,spool用于存储语音消息、呼叫记录[1]、呼叫文件等临时数据。

Asterisk的spool位于/var/spool/asterisk目录中。

2.2.5 日志

Asterisk能够生成几种不同类型的日志文件。/var/log/asterisk文件夹用来存储调用详情记录(CDR)、来自CEL的信道事件、调试日志、队列日志、消息、错误和其他输出。

该文件夹对于任何故障排除工作都至关重要。我们将在第21章进一步讨论如何使用Asterisk日志。

[1] 不是呼叫详情记录(CDR),而是MixMonitor()和相关应用生成的呼叫音频记录。