`

agi脚本说明中文

 
阅读更多

1.      执行AGI脚本文件时,Application应用就是“agi”,参数就是脚本文件的文件名。

2.      脚本文件需要满足的条件:(1)必须可执行,chmod 775 (2)必须放置在指定的目录,如标准目录:/var/lib/agi-bin (3)必须指定完整的extension信息。

Exten=>1,2,AGI(test.php,${CALLERID(name)})

3.      脚本执行时可以从控制台上得到不同基本的详细信息;通过agi VERBOSE命令,可以将信息发送到asterisk控制台上,并且可以通过verbosity设置可以关闭开启这个功能。

4.      AGI技术实现的基本原理

(1)      传递参数到AGI脚本

l  在脚本名称后紧跟以英文半角状态下的逗号,分隔的字符串,把需要的参数传入脚本:AGI(dial_agi.php,${CALLERID(name)});

l  AGI脚本主要传输两种参数,1是脚本的完整路径,2是拨号方案中的‘EXTEN’的传递参数

l  第一种参数,如果AGI程序放在asterisk的默认路径,可以省略,只写文件名。第二种参数,是AGI程序需要拨号方案传递进来的参数。

(2)      通过标准的输出发送命令到asterisk

l  可以在AGI脚本程序中向asterisk发送各种命令从而调用asterisk的某些应用程序,如Dial,Goto.也可以直接发送命令获得或设置某些通道变量的值   

l  通过标准的输入,从asterisk接收信息。当AGI脚本执行时,asterisk会向脚本发送各种信息,可以在做其他事情之前通过标准输入获取这种信息。

根据项目需要,人用过需要这些数据,就先保存起来,否则不用处理

5.AGI与Asterisk通信通过STDIN,STDOUT,STDERR.AGI脚本可以通过STDIN从asterisk获得信息,AGI脚本通过STDOUT向asterisk发送信息。AGI脚本可以写数据向STDERR,发送调试信息向asterisk控制台

6. AGI命令

(1)ANSWER

目的:如果通道不再应答状态,则应答该通道      Returns         -1 on channel failure, or 0 ifsuccessful.

(2)AUTOHANGUP <time>

在指定时间自动通道挂机,如果时间为0,则该命令在此通道上无效   Returns   0

如果挂机发生在设定事件之前,此设置无效

(3)CHANNEL STATUS [<channelname>]

返回指定通道的状态,如果通道没有指定,返回当前通道状态

Returns

-1 There is no channel that matches thegiven <channelname>   没有匹配的通道

0 Channel is down and available     通道没有上线(激活)但有效

1 Channel is down, but reserved     通道没有上线(激活)但有预留

2 Channel is off hook          通道在挂机状态

3 Digits (or equivalent) have beendialed  通道准备拨号

4 Line is ringing    通道正在振铃

5 Remote end is ringing         通道远端正在振铃

6 Line is up                               线路激活可用

7 Line is busy                           线路忙

Examples

CHANNEL STATUS             Return the status of the currentchannel.

CHANNEL STATUS Zap/9-1       Return the status of channel Zap/9-1

Note The <channelname> to use is the same as the channel names reportedby the Asterisk console 'show channels' command. 通道名称与asterisk控制台上 showchannels命令显示的通道名字一致

(4)EXEC <application> <options>  带参数执行指定的Asterisk 应用

 

 

(5)GET DATA <filename> [<timeout> [<maxdigits>]]

播放指定的语音文件,同时获取DTMF按键信号,与STREAMFILE类似,但此命令能够接收到多个DTMF按键,而STREAMFILE在接收到第一个DTMF按键时立刻返回。

 $playbackvoice存放着语音文件

注意:

l  音频文件名称命名不要与分机相同 ;

l  如果用户没有按键,声音播放完毕后,静默<超时时间>,然后命令结束

l  在播放音频和静默时间内,用户可以按键打断,按键将停止播放音频,超时时间计时从用户第一个按键开始计时,每次按键重新计时,当用户按键复合最大按键数量或超时时间结束,命令结束

l  如果没有定义超时时间,缺省的时间为按键后20秒,如果没有按键,静默6秒后命令结束

l  如果想定义最大按键,最好定义超时时间

l  如果没有定义最大按键,用户可以按任意多的按键

l  按#号箭的效果相当于超时时间结束,命令终止并返回#号建前面的按键,不能获取到#号建本身

(6)GET VARIABLE <variablename>  取得变量值

(7)HANGUP [<channelname>] 断开指定的通道,若没有指定的通道,则断开当前的通道

HANGUP    Hangup the current channel.

HANGUP   Zap/9-1Hangup channel Zap/9-1

(8)RECEIVE CHAR <timeout>从链接的通道上获取文本的字符,在超时时间内获取到达的字符,如果超时时间为0,则持续接收。

如果一个字符串到达,以10进制数字的方式返回字符的ASCII码,例如A的返回值为:65

如果通道不支持文本接收,或者在超时时间内没有字符被接收,结果如下

   result=0 (timeout)On error or failure the result is

   result=-1

大多数通道不支持接收文本

(9) RECORD FILE <filename> <format><escape digits> <timeout> [BEEP]

录制通道内的声音,生成文件,直到接收到DTMF确认结束按键,或者超时时间结束。在录制声音时,可以选择在录制前提示'BEEP滴'。

(10)SAY DIGITS <digit string> <escape digits>

播音给定的数字字符,当取消按键确认收到则命令结束,如果不需要取消按键,采用""带入函数

(11)SAY NUMBER <number> <escape digits>播音指定的数值。

(12)SEND IMAGE <image>

the image in /var/lib/asterisk/images

(13)SEND TEXT "<text to send>"

(14)SET CALLERID <caller ID specification>设置当前通道的主叫号码

(15)SET CONTEXT <new context>设置应用结束后的context从而继续流程

(16)SET EXTENSION <new extension>置应用结束后的extension从而继续流程

(18)SET VARIABLE <variablename> <value>

设置变量的初始值,变量将被创建,并在后面的拨号方案中以${变量名字}形式使用

(19)STREAM FILE <filename> <escape digits>

播放指定的语音文件,允许按键终止播放,这命令与GET DATA类似,但只返回用户的第一个按键,GET DATA可以积累返回用户的很多按键

(20)TDD MODE <setting>在当前通道上启用关闭 TDD(分时双功模式)收发模式

(21)VERBOSE <message> [<level>]通过Verbose向Asterisk控制台发送信息

(22)WAIT FOR DIGIT <timeout> 等待号码输入时间

Waits up to 'timeout' milliseconds forchannel to receive a DTMF digit

-1 on channel failure, 0 if no digit isreceived in timeout or the numerical value of the ascii of the digit received. 

分享到:
评论

相关推荐

    asterisk AGI应用说明

    asterisk AGI应用说明,主要讲述在asterisk中如何应用AGI.

    AGI by C:AGI by C是用于编写AGI脚本的库-开源

    AGI by C是用于编写AGI脚本的库。 它是从PHPAGI [http://phpagi.sourceforge.net]开发的。

    agi demo vdf online

    agi stk vdf online demo

    AGI Systems Tool Kit (STK) 11.0 with Data Disc

    AGI Systems Tool Kit (STK) 11.0 with Data Disc AGI Systems Tool Kit (STK) 11.0 with Data Disc AGI Systems Tool Kit (STK) 11.0 with Data Disc

    AGI 高分辨率地图

    AGI High Resolution Maps is a global vector dataset consisting of political boundaries, coastlines, rivers, and lakes. It is extracted from the 1995 CIA RWDB2 database and optimized for rendering in ...

    Asterisk 简单的AGI Demo

    一个简单的AGI示例,java连接asterisk代码

    AGI官网关于MATLAB与STK的全部文档(24篇FAQ、16篇Article、16篇Tech tip、13篇blog等)

    本文件夹中的所有文件,均保存于AGI官网,由于AGI官网对我们有一定的访问限制,所以我就把有关MATLAB的所有搜索保存了下来,有些内容需要注册账号才能下载的,我就没有下载。 一共有78个项目,文件内容较多,选择感...

    AGI Syllabus AGI教学大纲.doc

    AGI Syllabus AGI教学大纲

    AGI 天文图像数据文件(pdttx)

    AGI Celestial Imagery The AGI Celestial Imagery is a photographic background of the night sky. It is free to use with AGI products.

    AGI STK11 UITemplate(exe)

    AGI STK11 UITemplate安装文件,需要安装VISUAL STUDIO.

    AGI STK 8.1.1 FILE11

    美国Analytical Graphics公司开发的STK卫星工具包软件,是航天工业领先的商品化分析软件。STK可以快速方便地分析复杂的陆、海、空、天任务,并提供易于理解的图表和文本形式的分析结果,确定最佳解决方案。...

    通用人工智能(AGI)的技术、应用及安全问题:以ChatGPT为例.pdf

    通用人工智能(AGI)的技术、应用及安全问题:以ChatGPT为例.pdf

    AGI STK 8.1.1 FILE5

    美国Analytical Graphics公司开发的STK卫星工具包软件,是航天工业领先的商品化分析软件。STK可以快速方便地分析复杂的陆、海、空、天任务,并提供易于理解的图表和文本形式的分析结果,确定最佳解决方案。...

    先图AGI模盒2017

    AGI模盒是北京先图科技有限公司开发的一款Revit实用插件,用于快速准确地创建和修改建筑、结构、机电的三维模型,智能根据AutoCAD图纸进行快速翻模,并提供在线族库管家供广大工程师下载。 (1) 专业功能助您快速建模...

    AGI STK11.2.txt

    AGI Systems Tool Kit简称stk,是行业内专业的卫星工具套件,最新版本stk 11.2.stk软件使工程师能够同时分析地面,海洋,航空,航天等。该软件的主要应用是分析和解决卫星在地球周围的旋转问题。该软件现在用于航空...

    AGI systems tool kit(stk) 10破解版-破解文件

    AGI systems tool kit(stk) 10破解版从如下地址下载 http://www.3322.cc/soft/14846.html

    AGI STK 8.1.1 FILE7

    美国Analytical Graphics公司开发的STK卫星工具包软件,是航天工业领先的商品化分析软件。STK可以快速方便地分析复杂的陆、海、空、天任务,并提供易于理解的图表和文本形式的分析结果,确定最佳解决方案。...

    AGI STK 8.1.1 FILE8

    美国Analytical Graphics公司开发的STK卫星工具包软件,是航天工业领先的商品化分析软件。STK可以快速方便地分析复杂的陆、海、空、天任务,并提供易于理解的图表和文本形式的分析结果,确定最佳解决方案。...

    AGI和ChatGPT的区别

    AGI(人工通用智能)指的是开发能够执行通常需要人类水平智能的任务和解决问题的机器。AGI是一种假设的人工智能未来发展方向,可以理解或学习任何人类可以完成的智力任务。 ChatGPT则是一种特定的AI语言模型实现,...

    AGI STK 8.1.1 FILE9

    美国Analytical Graphics公司开发的STK卫星工具包软件,是航天工业领先的商品化分析软件。STK可以快速方便地分析复杂的陆、海、空、天任务,并提供易于理解的图表和文本形式的分析结果,确定最佳解决方案。...

Global site tag (gtag.js) - Google Analytics