文章列表
Dialplan是任何成功的Asterisk系统运作必不可少的. 在这个模块中,我们将会协助你学习Asterisk拨号方案的基本组件,以及如何将他们联合在一起来编写你自己的拨号方案.我们也会在拨号方案中添加语音信箱和一个通过姓名拨号的目录功能.
Contexts, Extensions, and Priorities
被组织在拨号方案中的每个部分我们称它为context(上下文). Context是拨号方案的最基本的组织单位,正因为如此,这些context在拨号方案中不同的部分中都保持着相互独立.在拨号方案的每个不同部分之间,我们将会利用context来加强安全边界,也给组群用户提供不同类别 ...
extensions.conf解读
- 博客分类:
- Asterisk
1. Overview
在Asterisk PBX中,extensions.conf是一个最有用也是最重要的文件, 它包含拨号方案. 什么是拨号方案?拨号方案,或者我们称它为"Asterisk系统的心脏", 就是定义Asterisk如何处理呼入呼出呼叫的文件,它也包含所有的分机号码. ...
Asterisk和AGI之间的通信是通过标准输入和标准输出进行的.
Asterisk <=========================> AGI Script
初始化从Asterisk到AGI脚本的信息(在执行的时候发送)(1)
|-------------------------(1)------------------------------>|
AGI命令(ASC:标准输出, AST:标准输入) (2)
|<------------------------(2)-------------------------------|
AGI命令回应(ASC ...
每个基于AGI脚本的PHP都是运用下面的形式:
#!/usr/bin/php –q
<?
$stdin = fopen(‘php: //stdin’, ‘r’);
$stdout = fopen(‘php://stdout’, ‘w’);
$stdlog = fopen(‘my_agi.log’, ‘w’);
/*Operational Code starts here*/
…
…
…
?>
当执行php的时候,Asterisk会通过标准输入(STDIN)传送一组信息到AGI脚本, 用下面的方式来处理标准输入是最好的.
#!/usr/bin/php –q
& ...
如果用AGI接口调用php文件时注意设置如下几个参数.(仅供参考)
ob_implicit_flush(false); //为了保证从AGI脚本到Asterisk的输出没有被缓冲,将PHP输出缓存设置为false;
set_time_limit(5); // 为了确认在执行时不会超出一个合理的时间,在AGI脚本中设置一个确定的时间; 这里没有一个确切的办法来验证一个实际的值. 通常依赖于具体的实现. 依赖于你的系统和应用程序, 但通常建议确保脚本并保证能够工作的最大限制值30秒.
error_log = finename; //做调试目的时非常有用, 通常会创建一个log文 ...