《Asterisk 使用资料》
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Asterisk目录及配置文件
/etc/asterisk/Asterisk主目录,包含其它关于Asterisk的配置文件;*zaptel.conf这个配置文件放在/etc,因为其它软件也可以使用Zaptel这个硬件及其驱动,所以不是放在
/etc/asterisk里.
/usr/lib/asterisk/modules/这个目录包含所有可以加载Asterisk模块(应用程序\编辑器\格式和有用通道),在Asterisk启运时会加载这些模块(可以编辑modules.conf).
/var/lib/asterisk/比较重要的是astdb文件与agi-bin目录;astdb包含Asterisk当地数据库信息.
sounds/所有声音提示的文件在里面,包括Asterisk原代码中的sounds.txt文件
mohmp3/如果配置了音乐保持,应用程序会在这个目录下查找mp3(用CBR从文件中去除身份标签).
keys/使用公钥和私钥系统认证与一个由RSA数字签名形成的一对等连接.公钥和私钥的扩展名分别为.pub和.key
firmware/这个目录含了很多Asterisk相兼容的设备固件,它只有iax/这个子目录,其中有Digium的IAXy的二进制固件镜像.
images/只有在较多的支持并且利用图解式的图像设备被发布,这个目录将会与相应的目录有更大的关联.
/var/lib/asterisk/agi-bin agi-bin包含所有脚本,可以通过许多已经建立的AGI应用程序与Asterisk连接.
/var/spool/asterisk
outgoing/
gcall/
tmp/
voicemail/
================配置文件================
/etc/asterisk/asterisk.conf主要配置文件,
/etc/zaptel.conf硬件接口的基本层.修改这个配置文件要用modprobe装载Linux Kernel使用模块.
/etc/asterisk/zapata.conf为硬件配置Asterisk的接口.
/etc/asterisk/extensions.conf拨号方案.
/etc/asterisk/sip.conf SIP协议配置文件
/etc/asterisk/iax.conf呼入和呼出IAX通道
/etc/asterisk/extensions.conf拨号方案配置文件
/etc/asterisk/moduprobe.conf加载模块配置文件
Asterisk developer\'s documentation 翻译计划by serva
今天,Asterisk已经成为一个VOIP业界使用最广泛的一个集成电信级别P BX的工具,IPPBX如今已经成为VOIP商家争夺的一块重要市场,在我们越来越熟悉使用Asterisk的同时,我们希望能够越来越深入的了解asterisk,特别是对于开发人员,如果有自己特定的需求,在复杂的asterisk文件夹和asteri sk的源代码文件中迷失了方向,不知所措。
在使用asterisk后,我们知道,Asterisk就是一台企业级的电话交换机,它功能的特点有:语音邮件,电话会议,呼叫路由,呼叫列队,呼叫转移,音乐保持等。然后这些功能是如何实现的,SIP和H323之间是如何进行通话的?甚至,我们也许也要问更基础一点的问题,SIP和SIP之间是如何进行通话?信令是如何控制,通话流程是怎么样?包括语音是如何进行交换传输的?这些都是我们开发人员希望了解,或者说对asterisk有不同需求的人,需要了解的。但是对于那么复杂的asterisk的代码,我们如何下手?飞云提出了对http://www.as /doxygen/进行中文的翻译,这样可以使得有需要的人,能够初步的了解Asterisk的文件结构和文件的大概功能,可以使得更多的人参与到我们的队伍中来,一起完成对asterisk所有源码的注释。
在/doxygen/中,我们可以看到modules这个选项,在1.4版本中,出现了Main文件夹,将之间版本的直接放在asteris k的根目录下的一些文件,转移到Main文件夹中,其中Main文件夹中很多文件就是对应的Main_options module。AMI functions 主要对应的源码放在manager.c文件中。此外,还有CLI_functions,CDR,Asterisk Channel Drivers,Dial plan applications等。
对asterisk源码的重要性和规整,如下表,按照modules来放置。
Format和codec的部分,由于需要的知识比较广,也比较专业,偏向于编码方面,而对于asterisk本身而言,在意的不是format或者codec本身,而是他们提供出来的接口,使得asterisk在媒体数据交换的时候,可以查到对应的编码,或者可以调用对应的压缩算法而已。所以我建议,只需要翻译有代表的几个。上面的列表中,列出来的只是.c的文件,我们翻译的时候,会对应到很多相应的.h文件,其中很多.h文件包含了大量的数据结构的定义,是对于理解asterisk非常有帮助的。
在/doxygen/中,file list中对应的文件,都会有Data Structures,而每个文件的Data Structures里面包含的结构,都可以Data Structures总的列表中找到Struct Reference,所以,我们在翻译的时候,以.c文件为主要翻译的对象,其中有函数的说明,程序中代码段的注释,还有其他的一些文字性的说明,然后.c文件对应的Data Structures
需要翻译到总的列表中的Struct Reference、也是归于.c文件翻译的范围之内。
此外,在/doxygen/中,还有Modules,Dir ectories和Related Pages目录,Modules,Directories目录需要翻译当前页连接文件的内容。这个对于代码是相关联的。而Related Pages目录的东西,属于周围相关文档,可以参照翻译的人数来决定。
翻译只是我们熟悉的第一步,其实/doxygen/中,做的代码注释和介绍,是比较有限的,很多方面都没有补齐,我们的最终的目的是注释并掌握整个asterisk的源代码,便于我们自己利用。我们需要通过上面的翻译完成之后,按照翻译整理出一个asterisk的框架结构,包括,核心,扩展,以及应用等。这样可以使得,在代码注释有更多的人,真正能够入手到代码注释,这样可以保证代码注释的质量。
模块文件功能重要性分工
Main_options
asterisk.c ASTERISK的核心执行程序,执行着PBX的核心程序和CLI的接口程序* 飞云
pbx.c PBX的核心程序* 大头,篇幅较大,后期还要增加人手