- 浏览: 145224 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (129)
- javaee struts2 (3)
- java mail (2)
- spring mail (4)
- 下拉列表 (1)
- MySQL (3)
- MyEclipse (1)
- java script (5)
- js html (4)
- oracle (7)
- eclipse ide (1)
- 正则表达式 (1)
- oracle 安装 (0)
- ExtJS 4.0 (1)
- java (5)
- linux (13)
- asterisk (25)
- asterisk AMI (1)
- java socket (1)
- sip (6)
- jsonp (1)
- mongodb (12)
- http (3)
- jQuery (2)
- java timer (2)
- OSGi (2)
- Firefox (1)
- tomcat (1)
- win7 (0)
- Highcharts (2)
- SVN (2)
- webstorm (1)
- AngularJS (1)
- 搜索引擎 (1)
- wordpress (1)
- 语音编码 (1)
- idea (1)
- dom4j (1)
- QQ (1)
- cti 呼叫中心 (3)
- 敏感词检测 (1)
- asterisk sip tls (1)
- nginx (1)
- FreeSWITCH (1)
最新评论
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拨号方案的配置
2016-02-18 23:40 3647============================ ... -
asterisk拨号规则(包含匹配规则说明)转
2015-01-28 13:53 824一、前言 本文档 ... -
asterisk features.conf 介绍
2014-09-23 10:29 595http://www.voip-info.org/wiki/v ... -
Asterisk标准通道变量
2014-03-27 16:16 1651在asterisk中,定义了许多变量,或是有些变量能够被其读 ... -
sip.conf配置说明
2013-11-09 11:30 709l 在freeiris中添加分机,在sip_exten.c ... -
asterisk sip配置
2013-11-08 19:27 23991. 介绍 extens ... -
Asterisk 学习进阶(转)
2013-03-19 11:50 945介绍篇 抛开所有概念,首先从单词学起。估计很多人和我一样没 ... -
Asterisk 拨号方案中截取字符串(转)
2013-01-22 11:54 1187原地址:http://hwzyyx.iteye.com/b ... -
asterisk的wav格式要求
2013-01-16 16:44 912asterisk的wav格式的语音格式是: ... -
asterisk使用之AEL
2012-11-21 14:01 2107AEL 介绍(Introduction) AEL纯粹 ... -
Asterisk Kernel analysis 2 channel
2012-11-20 12:02 900从内核的角度去分析问题时,弄清楚呼叫流程是非常关键的,只 ... -
Asterisk录音文件的管理(转)
2012-11-20 11:37 2443(作者:陈新汉,http://www.blogjava.net ... -
asterisk配置文详解
2012-11-09 09:56 1207asterisk配置文详解 Configurat ... -
asterisk user、peer和friend
2012-11-09 09:47 1187Users,Peers 以及Friends连接中对我们的 ... -
Asterisk 中 拨号规则 之 Read()和SayDigits()命令详解(转)
2012-10-10 09:47 8851:Read() 读取用户输入的一个或多个以 #-结尾 ... -
asterisk常用命令
2012-10-08 11:15 1481asterisk常用命令 1. 运行调试常用命令. ... -
asterisk dial 命令参数解析(实现自动二次拨号)
2012-09-28 17:54 2886格式:Dial(type/identifi ... -
Asterisk拨号函数Dial()详解
2012-09-28 17:53 1810Asterisk的拨号函数/命 ... -
Asterisk如何定义通道
2012-09-24 10:06 1100通过Asterisk接通的电话包含一个呼入连接和呼出连接 ... -
Asterisk有用的博文
2012-09-20 17:28 670http://blog.csdn.net/ht8326/art ...
相关推荐
执行AGI脚本时,`Application`字段应设置为`agi`,其后跟的是要执行的脚本文件名。脚本文件需要满足以下条件: 1. **可执行权限**:确保脚本文件具有执行权限,如通过`chmod 775`命令设置。 2. **存放位置**:脚本...
7. **脚本编程**:除了图形用户界面,STK10还支持使用Python和C++进行脚本编程,允许用户自定义工作流程,自动化重复任务,或构建定制化的应用程序。 8. **数据接口**:STK10能与多种数据源集成,如GPS数据、遥感...
文档会介绍如何创建和调用AGI脚本,以及如何处理呼叫流程控制。 此外,文档还可能涵盖Asterisk的模块化架构,包括各种内置模块的作用和如何启用/禁用它们。例如,MeetMe模块用于创建多用户电话会议,而Chan_SIP模块...
12. Wait: 暂停脚本执行一段时间,等待特定的时间间隔。 13. WaitExten: 等待特定的扩展名被激活,常用于等待特定事件的发生。 14. WaitForRing: 等待呼叫振铃,通常在接听前使用。 15. WaitMusicOnHold: 在等待...
- DeadAGI:在中断的通道上运行AGI脚本。 - EAGI:在音频通道上执行EAGI应用。 - EnumLookup:在ENUM系统中查找电话号码。 - ExternalIVR:运行外部IVR引擎。 - Jack:与JACK音频接口,用于高级音频处理。 以上命令...
STK,全称System Tool Kit,是一款强大的航天任务模拟和分析软件,由AGI(Analytical Graphics, Inc.)公司开发。这个“STK中文教程(推荐).zip”压缩包提供了丰富的学习资料,旨在帮助初学者快速掌握STK的基本操作...
在STK中,GUI设计通常利用其内建的脚本语言AGI STK COM接口进行。GUI的主要目的是使得用户能够以直观和友好的方式与软件进行交互,简化操作流程,提高工作效率。 5. 案例分析:Walker星座设计与优化算法 在文中案例...
来自美国国税局的所有美国邮政编码(12zpallagi.csv)的2012年美国邮政编码AGI统计数据。 收入统计(SOI)部门的邮政编码数据基于来自国税局(IRS)个人主文件(IMF)系统的个人所得税申报表(表格1040)的管理记录...
接着,手册将深入讲解Asterisk的组件和模块,如AGI(Asterisk Gateway Interface),用于与外部应用程序交互;Dialplan,是Asterisk的通话路由规则;以及IVR(Interactive Voice Response),允许用户通过电话菜单...
以下是对该研究中相关知识点的详细说明: 1. Cesium开源三维地图引擎: Cesium是一个开源的三维地球可视化平台,它能够提供丰富的三维地图展示功能。通过Cesium,可以实现对地形、影像等地图数据的高效展示,同时...
对于开发者来说,了解如何对接Asterisk的AGI(Asterisk Gateway Interface)或AMI(Asterisk Manager Interface)接口是关键,因为这些接口使得popPyCall能够与Asterisk进行通信。 总的来说,popPyCall是开源社区对...