Asterisk AGI脚本

来源:互联网 发布:超声波软件 编辑:程序博客网 时间:2024/05/22 00:12
AGI脚本用于开发复杂的IVR应用。AGI脚本与Asterisk之间通过两个标准的数据流交互,一是STDIN(标准输入),二是STDOUT(标准输出)。从AGI脚本角度看,任何来自Asterisk的数据可以称之为STDIN,任何向Asterisk的输出可称之为STDOUT。也可以认为是通过读命令从Asterisk读取数据,通过写命令向Asterisk写入数据。AGI脚本可以支持多种语言来编写,例如通过Bash、Perl、PHP等脚本语言,也可以通过C/C++语言来编写。

    Asterisk 拨号方案中调用AGI脚本的方法如下:

    exten => _X,1,AGI(some_script_name.agi,param1,param2,param3)

从上面可以看出,AGI脚本的执行与拨号方案中普通应用的执行没有多大区别,不同的是拨号方案中的普通应用的执行消耗的是Asterisk的内部资源,而AGI脚本执行消耗的是外部资源,Asterisk将执行脚本的控制权移交给外部进程去执行,而Asterisk消耗的是对外部AGI脚本执行过程的控制和管理。所以外部AGI脚本执行所消耗的资源是不可控的,取决于什么样的语言执行环境及AGI脚本复杂度。

0 0
原创粉丝点击