- 浏览: 233495 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
newLinuxJava:
http://www.voip-info.org/wiki/v ...
asterisk App Dial 拨号 发起外呼 -
newLinuxJava:
http://www.voip-info.org/wiki/v ...
asterisk App Dial 拨号 发起外呼 -
tsinglongwu:
这种做法在Server端getValue()方法是能获得修改后 ...
client-side programming客户端修改值,但服务端获取仍然旧值的解决办法 -
Listen_ing:
zk+spring+hibernate如何配置hibernat ...
zk+hibernate+spring零配置 -
peterxq181:
严重: Method not found in org.apa ...
zk+hibernate+spring零配置
AgentLogin( )允许呼叫代理登陆系统
AgentLogin([AgentNo][,options])
将当前呼叫者作为代理登入呼叫队列系统(以任意AgentNo验证),登陆后,该代理可以接收呼叫并在呼入时听到“哔哔”声。该代理可以按
Asterisk (*)键来挂起通话。
option参数可以包含字母s,这样可无记录登入。
; silently log in as agent number 42, as defined in agents.conf
exten => 123,1,AgentLogin(42,s)
参见
AgentCallbackLogin( )
~~~~~~~~~~~~~~~~~~
AgentMonitorOutgoing( ) 记录代理呼出。
AgentMonitorOutgoing([options])
记录所有代理呼出电话。
This application tries to figure out the ID of the agent who is placing outgoing call based on a comparison of the Caller ID
of the current interface and the global variable set by the AgentCallbackLogin( ) application.
该应用设法断定该代理的ID,
同样,它应该与 AgentCallbackLogin( ) 应用配合使用。它使用chan_agent模块中的监控功能代替Monitor( )应用来记录。这表明记录须在
agents.conf文件中正确配置。
默认地,记录存放在/var/spool/asterisk/monitor/ 路径下。也可以通过改变agents.conf中的savecallsin参数覆盖默认路径。
如果主叫ID或代理ID找不到,该应用将优先n+1,如果它存在(n为当前优先级)。
返回0除非被以下任意选项覆盖。
option参数可以包含以下一个或多个参数:
d
如果有错误条件,且无扩展名n+101,程序返回-1。
c
更改呼叫记录以便主叫以Agent/agent_id记录。
n
若没有主叫ID或者代理ID未知不发出警告。如果你想为代理及无代理呼叫共享上下文,该选项将非常有用。
; record outbound calls for this agent, and change the CDR to reflect
; that the call is being made by an agent
exten => 123,1,AgentMonitorOutgoing(c)
参见
AgentCallbackLogin( ), agents.conf
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AGI( ) 执行AGI-compliant应用
[E]AGI(program[,arguments])
在当前信道执行自适应Asterisk网关接口程序。AGI程序允许外部程序(任何语言编写)通过播放音频,读取DTMF数位等等来控制电话信道。
Asterisk以STDIN 和 STDOUT与AGI程序通信。指定参数被转到AGI程序中。
program 参数须在根文件系统下设置为可执行的。程序路径与Asterisk AGI目录关联,默认为/var/lib/asterisk/agi-bin/。
若你想在无信道存在情况下运行AG(例如在h扩展名中)I,可用DeadAGI( )应用替代。
若你要用AGI处理穿越网络,你或许要用到FastAGI( )应用。
若你要从你的AGI程序中访问内部音频,可用EAGI( )代替AGI( )。届时内部音频将被三号存档描述符读入。
挂断程序请求挂断将返回-1,未挂断退出将返回0。
; call the demo AGI program
exten => 123,1,AGI(agi-test)
exten => 123,2,EAGI(eagi-test)
参见
DeadAGI( ), FastAGI( ), Chapter 9
AlarmReceiver( ) 为从防盗防火警报盘中接收警报提供支持。 效仿报警接受器,及允许Asterisk从防火及(或)防盗警报盘中接收以及解码指定数据。此时,只支持Ademco Contact ID。 呼叫发出时,AlarmReceiver( )将与警报盘握手,接收事件,并验证,握手,存储直到面板挂断。一旦面板挂断,应用将运行命令行来表明alarmreceiver.conf 中eventcmd的设定与传送事件到标准应用的输入。alarmreceiver.conf也包括对DTMF定时和确认声音的音量的设置。 该应用不保证可靠,所以除非你广泛测试否则不要依赖它。如果你没有经过广泛测试,你就是把你的生命和财产置于危险的境地。 该应用总返回0。 ;set up Asterisk to answer a call from a supported fire alarm panel exten => s,1,AlarmReceiver( ) 参见 alarmreceiver.conf ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Answer( ) 如果响铃响应该信道 Answer( ) 如果正确响铃Asterisk响应该信道。应用不启用若当前信道不响铃。 通常在调用其它应用时,在信道上使用Answer( )是个好办法,除非你有很好的理由不这样做。大多数应用需要在信道被叫时响应,可能不正常工作例外。 返回0除非它设法响应信道失败。 exten => 123,1,Answer( ) exten => 123,2,Wait(1) exten => 123,3,Playback(tt-weasels) 参见 Hangup( ) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ AppendCDRUserField( ) 向呼叫详单的用户域中添加值 AppendCDRUserField(value) 向呼叫详单的用户域中添加value。用户域通常用于存储呼叫的特定数据,或许并不适用于其它域。 总是返回0。 ; set the user field to 'abcde' exten => 123,1,SetCDRUserField(abcde) ; now append 'xyz' exten => 123,1,AppendCDRUserField(xyz) 参见 SetCDRUserField( ), ForkCDR( ), NoCDR( ), ResetCDR( ) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Authenticate( ) 需要呼叫者输入正确的密码后才继续。 ________________________________________ Authenticate(password[,options]) 需要呼叫者输入特定的password 为了以便继续下一个优先的拨号规则的执行。Authenticate( ) 给呼叫者三次机会正确输入密码。如果三次输入密码不正确,信道将被挂断。 如果 password 以 / 字符开始,说明一个文件中存放有效密码列表(每行一个)。密码也可以存储在 Asterisk数据库(AstDB);看下面的 d 选项。 提供一组选项,有下面列表中一个或多个字母组成。 a 将名为accountcode的CDR域和信道变量ACCOUNTCODE设置为输入的密码。 d 把路径看作为可以找到密码的数据库键,而不是文字文件。当使用数据库键时,键和值可以任意。 r 移除数据库键若正确输入(只当d被选时)。 当用户三次内正确输入密码返回0,否则返回-1(或挂断)。 ; force the caller to enter the password before continuing, and set the CDR field ; named 'accountcode' to the entered password exten => 123,1,Answer exten => 123,2,Authenticate(1234,a) exten => 123,3,Playback(pin-number-accepted) exten => 123,4,SayDigits(${ACCOUNTCODE}) 参见 VMAuthenticate( ), Chapter 6 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Background( ) 接受到按键式(DTMG)数字时播放文件 ________________________________________ Background(filename1[&filename2...][,options[,language]]) 当等待用户开始输入一个扩展名时播放指定音频文件。一旦用户开始输入扩展名录音重放将终止。Filename不需要指定扩展名,因为Asterisk会以最低转换成本自动找出文件格式。 有效的option 包含以下任一: Skip 如果信道不是"up"状态(也就是还未被响应)跳过消息回放。如果指定skip,应用立即返回信道未空闲。 Noanswer 在播放指定文件之前不会应答信道。没有这个选项,信道会在声音播放之前自动被应答。不是所有的信道都支持在被应答之前播放信息。 Language参数可能被用来指定一种语言来播放提示,如果它与当前的信道语言不同。 如果信道被挂断,返回-1,或者指定的文件名不存在,否则返回0值。 exten => 123,1,Answer( ) exten => 123,2,Background('exter-ext-of-person'); 参见 Playback( ), BackgroundDetect( ), show translation 命令 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ BackgroundDetect( ) 在后台播放一个文件并侦测通话 ________________________________________ BackgroundDetect(filename[,sil[,min[,max]]]) 与Background( )相似,但会试图侦测通话。 在重放一个文件期间,音频被监控在接收地址。如果一个非静音时期大于min毫秒,小于max毫秒,并且发生伴随着至少sil毫秒的静音,那么音频回放被取消,并且在可用的情况下跳转到扩展通话。 如果没有指明,sil,min和max的默认值分别为1000ms,100ms和无穷大。 挂断返回-1,在没有退出并成功回放的情况下返回0值。 exten => 123,1,BackgroundDetect(tt-monkeys) exten => 123,2,Playback(im-sorry) exten => talk,1,Playback(yes-dear) 参见 Playback( ), Background( ) |
Busy() 显示一个信道的占用情况
________________________________________
Busy([timeout])
请求显示信道的占用情况,然后等待用户挂机或可选择的timeout(几秒内)到终止。
这个应用只发送一个占用情况到桥接信道。每个特殊的信道类型有它自己的通信方式给呼叫方。你可以使用Playtones(busy)来播放一个忙音给呼叫方。
永久返回-1
exten => 123,1,Playback(im-sorry)
exten => 123,2,Playtones(busy)
exten => 123,3,Busy( )
参见
Congestion( ), Progress( ), Playtones( )
CallingPres( ) 更改呼叫方的描述
________________________________________
CallingPres(presentation)
更改呼叫方ID在Q931优先级连接上的描述参数。这些参数应该在播打呼出之前来设置。参数presentation控制两件事情:不光被呼叫可以看到呼叫方ID的信息(认为是描述),而且呼叫者ID的信息已经被权威的资源所查证(认为是显示)。
应用获得呼叫描述设置和显示设置,并且把他们合并成一个数字。这些数值本身是在ITU Q931标准中被定义的,参见Tables B-1和B-2。
Table B-1 显示被位 2和1控制
位 2 位 1 说明
0 0 呼叫者ID信息由用户提供,并不会显示。
0 1 呼叫者ID信息由用户提供,并被成功的校验。
1 0 呼叫者ID信息由用户提供,并确认失败。
1 1 呼叫者ID信息由网络提供。
Table B-2 描述被位7和6控制
位 7 位 6 说明
0 0 呼叫者ID信息描述被允许。
0 1 呼叫者ID信息描述被受限。
1 0 由于相互作用号码不可用。
1 1 保留。
位3,4,5和8应该全被设置为zero(0)。请注意,位从最重要到非重要是有限的,如:87654321。
; set presentation to:
; Presentation Allowed (00000000)
; Network Provided (00000011)
; ------------------ ----------
; Result = 3 (bitwise AND) (00000011)
exten => 123,1,CallingPres(3)
exten => 123,2,Dial(Zap/g1/8885551212)
; set presentation to:
; Presentation Restricted (00100000)
; User-provided, verified, and passed (00000001)
; ------------------ ----------
; Result = 33 (bitwise AND) (00100001)
exten => 124,1,CallingPres(33)
exten => 124,2,Dial(Zap/g1/8885551213)
参见
SetCallerPres( ), SetCallerID( )
ChangeMonitor( ) 更改一个信道的监控文件名
________________________________________ChangeMonitor(filename_base)
使用Monitor( )应用更改一个已被记录的信道监控的文件名称,如果信道没有被监控,应用将没有任何效果。参数filename_base是一个新的文件名,基本上是用来监控信道。
; start recording this channel with a basename of 'sample'
exten => 123,1,Monitor(sample)
; change the filename base to 'example'
exten => 123,2,ChangeMonitor(example)
参见
Monitor( ), StopMonitor( )
ChanIsAvail( ) 检查指定的信道当前是否可用
________________________________________ChanIsAvail(technology1/resource1[&technology2/resource2...][,option])
查看任何被请求的信道是否为可用。如果任何被请求的信道是不可用的,那么新的优先权将会变成n+101 (n为当前优先权),除非优先权不存在或发生了一个错误,无论如何ChanIsAvail( )将会退出并返回 -1。
如果任意一个信道都是可用的,那么下一个优先权将会变为n+1,并且ChanIsAvail( )将会返回0。
ChanIsAvail( ) 设置下列信道变量:
${AVAILCHAN}
可用信道的名称,包括被用来进行测试的呼叫会话号码。
${AVAILORIGCHAN}
被用来创建没有任何会话号码的规范的信道名称。
${AVAILSTATUS}
信道的状态代码。
如果选项s(s代表“state”)被指定,Asterisk将会认为信道不论什么时候被占用的信道都是不可用的,即使它能够承载另一个呼叫。
; check both Zap/1 and Zap/2 to see if they're available
exten => 123,1,ChanIsAvail(Zap/1&Zap/2)
; if we go to priority 2, then one of the channels is available
; in priority 2, we'll dial our number on the available channel
exten => 123,2,NoOp(${AVAILORIGCHAN})
exten => 123,3,Dial(${AVAILORIGCHAN}/5551212)
; if we go to priority 101, then neither Zap/1 nor Zap/2 is available
exten => 123,3,Playback(all-circuits-busy-now)
发表评论
-
解决elastix登录显示非常慢以及禁用新闻的展示的问题
2011-06-10 11:12 1254解决登录显示非常慢的问题以及禁用新闻的展示 ... -
FreePBX 2.7.0.3 汉化
2011-06-09 15:46 18191,FreePBX 2.7.0.3 右侧语言选项,默认无 ... -
Asterisk 1.6的配置文件:chan_dahdi.conf
2010-12-24 13:56 2166Asterisk 1.6的配置文件:chan_dahdi.co ... -
Asterisk 安装笔记(2)- Zaptel 和 Dahdi 的配置
2010-12-24 13:53 2033Zap Channel Module Configurat ... -
Asterisk Extension中的Application命令详解七
2010-12-22 09:51 1172StripLSD( ) ... -
Asterisk Extension中的Application命令详解六
2010-12-22 09:50 1587MailboxExists() ... -
Asterisk Extension中的Application命令详解五
2010-12-22 09:46 1951Math( ) Performs mathema ... -
Asterisk Extension中的Application命令详解四
2010-12-22 09:44 2109Hangup( ) Unconditionall ... -
Asterisk Extension中的Application命令详解三
2010-12-22 09:43 3268CheckGroup( )检查特定组中的信道数。CheckG ... -
Asterisk Extension中的Application命令详解一
2010-12-22 09:39 1672AbsoluteTimeout() 设置呼叫最大呼叫时长 A ... -
拨号方案基础
2010-12-22 09:28 1273ApplicationAnswer(),Playback()和 ... -
模拟卡的疑难杂症
2010-12-22 09:23 4953, 不能编译zaptel和asterisk ... -
Asterisk的拨号计划命令
2010-12-22 09:21 1799Asterisk的拨号计划命 ... -
Asterisk 配置文详解和Freepbx功能键逐个数
2010-12-22 09:19 12911Asterisk 配置文详解 转自:http://www.ha ... -
Asterisk manager API(AMI)文档(中文版
2010-12-22 03:04 1508Asterisk控制接口(AMI)允许管理客户端程序连接到一个 ... -
SIP 中文翻译
2010-12-22 03:01 29881.介绍 extensions.conf中使用sip设备的语 ... -
队列振铃方式
2010-12-22 02:58 984队列振铃方式有:ringall,roundrobin,leas ... -
asterisk App Dial 拨号 发起外呼
2010-12-22 02:54 2893Synopsis Attempts to establi ... -
asterisk 集群配置的完全解决方案
2010-12-22 02:53 1197IAX 设置详细两台Asterisk服务器设置步骤如下:* 设 ... -
Asterisk命令MeetMe详解
2010-12-22 02:50 1209转贴:http://www.ctiforum.com/ ...
相关推荐
Asterisk命令详解 Asterisk是一款开源的电话交换机软件,提供了丰富的命令来管理和控制电话系统。下面是Asterisk的一些常用的命令: 1. amportal 命令 amportal 命令是FreePBX搞的,负责管控Asterisk。amportal ...
Asterisk CLI 命令列表 Asterisk 是一个开源的 VoIP 系统平台,提供了一个命令行接口(CLI),允许用户通过命令行控制 Asterisk 系统。下面是 Asterisk CLI 命令列表: 1. ! 命令:执行 shell 命令 使用格式:! ...
2. **配置**:在Asterisk的配置文件中,如`extensions.conf`,你需要更新或添加相应段落,指定使用中文语音包。这可能涉及到修改或者创建新的context,确保当接收到中文语言请求时,Asterisk会调用正确的语音文件。 ...
"asterisk拨号方案中应用使用详解" Asterisk拨号方案中应用使用详解是指在Asterisk系统中使用拨号方案来实现各种应用的技术手段。本文将对Asterisk拨号方案中的各种应用进行详细地解释和示例。 1. Authenticate:...
当 Asterisk 从一个通道上收到一个呼入连接,Asterisk 从 context 定义中查询通道命令。context 根据用户拨打的 extension 定义了不同的命令集。 在 Asterisk 中,你可以定义多个 context,每个context都可以嵌套另...
Asterisk权威指南中文(第3版) Asterisk权威指南(第3版)第15章自动话务员 Asterisk权威指南(第3版)第02章Asterisk体系结构 Asterisk权威指南(第3版)第05章用户设备配置 Asterisk权威指南(第3版)第06章Dialplan基础 ...
在高级主题中,你可能会学到如何集成Asterisk与其他系统,如CRM(Customer Relationship Management)或ERP(Enterprise Resource Planning)系统,以实现更复杂的业务流程自动化。此外,故障排查和日志分析也是重要...
2. **Asterisk控制台命令**: - `sip reload`:重新加载SIP配置,确保最新的设置生效。 - `sip set debug`:开启SIP调试,显示更多信息。 - `sip set debug off`:关闭SIP调试。 - `sip show channels`:查看...
Asterisk APP命令含义中文对照 Asterisk是一个开源的PBX(Private Branch Exchange)电话交换系统,具有强大的功能和灵活性。Asterisk提供了许多APP命令,用于实现各种电话功能。本文将对Asterisk APP命令进行分类...
修改sip_general_custom.conf(作为测试,在所有SIP 通道上启用提示语为中文,在实际应用中,可根据需要修改--zapata-channels.conf,sipXXX.conf,IAXXXX.conf...,也可在FreePBX的WEB界面中有language选项的地方修改--...
这种通信是双向的,客户端不仅可以发送命令给Asterisk,还能够接收来自Asterisk的事件通知。通过这种方式,开发者能够轻松地监控和管理Asterisk系统中的各种活动,包括但不限于电话呼叫的状态、设备的状态以及系统的...
在Asterisk系统中,Asterisk命令行接口(CLI)是管理员进行配置、监控和调试的主要工具。下面,我们将深入探讨Asterisk CLI的相关知识点。 1. **Asterisk CLI简介** Asterisk CLI是一个基于文本的交互式环境,通过...
Asterisk.NET 1.6.3 是一个专门为.NET开发者设计的开源库,它提供了对Asterisk PBX系统的编程接口,使得用户可以方便地在C#、VB.NET或其他.NET支持的语言中控制和扩展Asterisk功能。这个库是基于Asterisk Manager ...
### Asterisk AGI应用详解 #### 一、概述 Asterisk是世界上最流行的开源PBX系统之一,它支持多种通信协议并提供了丰富的功能。在Asterisk中,AGI(Asterisk Gateway Interface)是一种非常重要的接口技术,它允许...
Asterisk的声音包是其功能中的一个重要组成部分,为用户提供各种语音提示和交互体验。 这个名为“asterisk中文的语音包”的资源包含了Asterisk系统中用于中文环境的音频文件。声音包通常由一系列预录制的语音片段...
2. `ael reload`:重新加载AEL(Asterisk Extension Language)配置。AEL是Asterisk的一种脚本语言,用于扩展和自定义Asterisk的功能。 3. `ael set debug {read|tokens|mac}`:设置AEL的调试模式,你可以选择读取...
2. **监听事件**:Asterisk会产生多种事件,如新通话建立、通话挂断、拨号计划执行等。你可以注册一个`ManagerEventListener`,该接口定义了各种事件的处理方法。当Asterisk服务器发送事件时,对应的处理方法会被...
在传统的 Asterisk 配置中,配置文件都是存储在文件系统中的,但是随着系统的复杂度和规模的增加,配置文件的管理和维护变得非常困难。因此,将配置从配置文件迁移到数据库中成为一种必要的选择。 在本方案中,我们...
### Asterisk详解 #### Asterisk概述 Asterisk是一款开源的通信平台,它支持多种通信协议,包括但不限于SIP(Session Initiation Protocol)、H.323等,并且能够提供语音邮件、会议呼叫、交互式语音应答(IVR)等...