- 浏览: 417318 次
-
文章分类
- 全部博客 (327)
- Android (114)
- Java (13)
- Java基础 (14)
- Glib (2)
- linux (15)
- extjs (5)
- eclipse (2)
- Asterisk (56)
- MYSQL (6)
- 数据库 (9)
- PHP (7)
- C# (18)
- 杂谈~~ (1)
- web开发前端 (3)
- 网络编程 (2)
- Opensips (2)
- voip (3)
- debian (7)
- openfire (15)
- wordpress (1)
- 版本控制 (1)
- Android 线程服务广播 (1)
- SRTP (2)
- 单片机及ARM等 (3)
- 基础知识 (5)
- asp.net (2)
- 单片机 (1)
- 设计模式及架构 (1)
- 安全 (1)
- Cubieboard 草莓树莓各类派 Android开发板 (1)
- J2EE (2)
- BootStrap (3)
- BootStrap web前端开发 (1)
- web前端开发 (4)
- object-c (1)
- openwrt (8)
- 智能家居 (4)
- Node.js (4)
最新评论
-
xiaoxiecomeon:
你这个程序一存在线程的时间片相互抢占的问题,运行时间长了很可能 ...
Runnable 和 Thread -
dotjar:
我觉得话应该这么说:引用TestThread tt = new ...
Runnable 和 Thread -
dagf113225:
调用TelephonyManager的隐藏API是先参考Fra ...
Android提高第十四篇之探秘TelephonyManager
exten => s,1,background(voice_file)
exten =>1,1,playback(choice1)
exten => 1,2,hungup()
exten => i,1,playback(wrongchoice)
exten =>1,2,goto(s,1)
exten => t,1,play(timeout)
exten =>t,2,hungup()
一直以来都认为,当没有按键的时候,会自动进入t,谁知道,原来不是这样的。
background之后,会自动进入s,2 步,但是由于s,2没有了,所以就自动挂掉了。
查了资料才知道,要执行t,必须得先在background之后设置超时时间,可以在这里改成:
exten => s,1,background(voice_file)
exten => s,2,set(TIME(response)=10) //在这里设定为十秒
exten =>s,3,WaitExten(2) //在这里再跳回2再次设置,如果不这样的话,就自动挂掉了。
因为还没有到时间去执行t.
exten =>1,1,playback(choice1)
exten => 1,2,hungup()
exten => i,1,playback(wrongchoice)
exten =>1,2,goto(s,1)
exten => t,1,play(timeout)
exten =>t,2,hungup()
关于BackGround的在宏内的使用时,要特别注意:
如下方案:
[default]
exten => s,1,Macro(exeBG)
exten => 1,1,Noop(Press 1)
exten => 2,1,Noop(Press 2)
[macro-exeBG]
exten => s,1,BackGround(file1)
exten => s,n,WaitExten(10)
exten => 1,1,Noop(macro 1)
exten => 2,1,Noop(macro 2)
如上方案,如果用户响应的按键为1时,是不会转到[macro-exeBG]中的1那里的,而是会转到[default]中的1,即打印出Press 1.
如果希望转到[macro-exeGB],必须在BackGround中加入一个参数,参数值就是整个宏的名称,即:
[macro-exeBG]
exten => s,1,BackGround(file1,,,macro-exeGB)
exten => s,n,WaitExten(10)
exten => 1,1,Noop(macro 1)
exten => 2,1,Noop(macro 2)
这样的话,才会转到宏内对应的响应的按键那里。
不过,就我而言,我比较喜欢用Read来响应用户的按键,可以为响应按键单独写一个宏, 如下:
[macro-FuncPressDigit] ;播放提示音,并输入一个数字键
;入口: ${ARG1},即{IR1}等待时长
; ${ARG2},即{SR1}要播报的文件
;出口: ${IR1} ,10输入了*号,11超时没输入
exten => s,1,Read(IR1,${ARG2},1,,,${ARG1})
exten => s,n,GoToIf($[${LEN(${IR1})}=0]?10) ;表示超时没有输入
exten => s,n,GoToIf($["${IR1}"="*"]?20) ;输入了*号
exten => s,n,Noop(${IR1})
exten => s,10,Set(IR1=11) ;超时
exten => s,20,Set(IR1=10) ;输入了*号时,设置为10
发表评论
-
Configuring an Asterisk server
2013-06-28 09:05 920Configuring an Asterisk server ... -
asterisk ami
2013-06-28 08:56 1412Asterisk Manager Interface主要提供 ... -
Originate Using Asterisk Local Channels
2013-01-24 17:30 1342Whenever you want to place a c ... -
Asterisk 1.8 chan_sip模块代码分析
2013-01-18 16:33 1935和以前版本相比,Asterisk在架构上有了不小的变动,本文 ... -
Asterisk Kernel analysis 2 channel
2013-01-17 17:44 843从内核的角度去分析问题时,弄清楚呼叫流程是非常关键的,只有 ... -
Asterisk Kernel analysis 1
2013-01-17 17:44 856一、内核初始化。 从 main入口。Asterisk ... -
astersik bridge 支持
2013-01-17 17:27 690为支持通话过程中双方按键的接受及处理,asterisk 通过 ... -
Asterisk 之${BRIDGEPEER} 函数说明
2013-01-17 16:38 703${BRIDGEPEER} :个人理解是 获取当前通道类型 ... -
Asterisk拨号函数Dial()详解
2012-12-27 13:33 1699Asterisk的拨号函数/命令是Dial,下面就介绍一 ... -
asterisk中常用函数说明
2012-12-15 11:56 963int ast_strlen_zero(co ... -
什么是1号信令、7号信令和PRI信令?
2012-04-11 14:26 1516按照信令的信道来分类,信令可以分为:随路信令和公共信道信 ... -
FreeSWITCH 与 Asterisk 比较
2012-03-29 15:45 3577VoIP通信,与传统的电话技术相比,不仅仅在于绝对的资费 ... -
Asterisk命令MeetMe详解
2012-03-29 14:44 1015MeetMe 概要 MeetMe ... -
Asterisk local channels
2012-03-12 15:09 860Asterisk local channels ... -
35个最棒的Asterisk免费应用
2012-03-12 14:51 2222Hi, I was looking round o ... -
Asterisk Originate 内部执行流程
2012-03-11 20:34 10111. originate的执行 向客户端发起呼叫,将客 ... -
模拟板卡疑难杂症(转)
2012-03-11 20:34 2253转自:http://sun4love.javaeye.c ... -
Asterisk 通话过程中执行动作(即applicationmap )的使用方法和电话转会议的实现
2012-03-11 20:34 982asterisk在正常通话过程中执行拨号计划中动作是通过 ... -
asterisk feature applicationmap 的caller和callee 的区别
2012-03-11 20:34 1016经过测试,在applicationmap 中定 ... -
asterisk中关于实现会议室meetme的笔记
2012-03-09 11:07 1941一、资料: 1.http: ...
相关推荐
总的来说,Asterisk中文语音包的使用大大提升了Asterisk在中国用户中的易用性,使得非英语使用者也能流畅地与系统交互。了解如何正确安装和配置语音包是提升Asterisk服务质量的关键,特别是对于面向中文用户的通信...
通过使用SIP协议,Asterisk可以与多种软硬件电话终端进行交互,实现VoIP通信。 在文档中,你会找到关于Asterisk安装和配置的详细步骤。这包括如何在不同的操作系统上安装Asterisk,如Linux,以及如何配置网络设置、...
修改sip_general_custom.conf(作为测试,在所有SIP 通道上启用提示语为中文,在实际应用中,可根据需要修改--zapata-channels.conf,sipXXX.conf,IAXXXX.conf...,也可在FreePBX的WEB界面中有language选项的地方修改--...
Asterisk权威指南中文(第3版) Asterisk权威指南(第3版)第15章自动话务员 Asterisk权威指南(第3版)第02章Asterisk体系结构 Asterisk权威指南(第3版)第05章用户设备配置 Asterisk权威指南(第3版)第06章Dialplan基础 ...
《Asterisk 1.4 官方使用手册》中的"Asterisk.org.PDF"文件,很可能是手册的完整电子版,包含上述所有内容。这份文档对于系统管理员、开发者以及任何希望利用Asterisk构建高效、经济的通信平台的人来说,都是不可或...
Asterisk的声音包是其功能中的一个重要组成部分,为用户提供各种语音提示和交互体验。 这个名为“asterisk中文的语音包”的资源包含了Asterisk系统中用于中文环境的音频文件。声音包通常由一系列预录制的语音片段...
在本方案中,我们将介绍如何将 Asterisk 的配置从配置文件迁移到数据库中,并使用 Kamailio 作为 SIP 服务器来管理 Asterisk 的配置。 I. 硬件环境 为了搭建 Asterisk 的数据库配置方案,我们需要两台 x86 PC,一...
在本篇文章中,我们将深入探讨如何使用Asterisk-java来操作Asterisk,并通过提供的链接了解更详细的实践应用。 首先,理解Asterisk-java的基础是熟悉Asterisk的Manager API。Asterisk Manager Interface(AMI)是...
点击 Browes,选择官网下载的压缩包(需要解压缩),解压缩后选择asterisk-core-sound-cn,上传所有的wav格式的语音包 上传点击确认,实现批量上传。 2.5 进行语音包设置,支持中文语音播放。
要在Asterisk中使用这些中文提示音,你需要将它们正确地放置在Asterisk的声音目录中,并在配置文件(如extensions.conf)中指定使用这些声音文件。Asterisk的拨号计划(dialplan)可以控制何时以及如何播放这些声音...
asterisk中英文教材,包括原英文文档asterisk.pdf和部分翻译中文版,翻译版如下:第02章Asterisk体系结构 第05章用户设备配置 第06章Dialplan基础 第07章外线连接 第08章语音邮件 第10章深入Dialplan 第11章Parking&...
Asterisk是一款开源的电话交换机软件,它允许用户创建高度自定义的通信系统,包括VoIP(Voice over IP)电话、会议桥、自动呼叫分配(ACD)以及许多其他电信功能。Asterisk的核心设计理念是灵活性和可扩展性,这使得...
在这个“asterisk中文语音”压缩包中,重点是与Asterisk相关的中文语音资源,包括voicemail(语音邮件)和agent(代理或坐席)功能。 1. **Asterisk Voicemail**: Asterisk的voicemail系统允许用户在无法接听电话...
Asterisk 1.6是其早期的一个稳定版本,尽管现在已经有更新的版本发布,但该版本依然在一些环境中被使用,特别是对于那些有特定需求或者对旧系统有依赖的用户。 本资源“Asterisk1.6最全的中文语音包”是针对...
### Asterisk Manager Interface (AMI) 中文文档概览 #### 一、引言 Asterisk Manager Interface (AMI) 是一款强大...了解并掌握AMI的工作原理和使用方法对于任何从事Asterisk开发和管理工作的人来说都是非常重要的。
Asterisk.NET 1.6.3 是一个专门为.NET开发者设计的开源库,它提供了对Asterisk PBX系统的编程接口,使得用户可以方便地在C#、VB.NET或其他.NET支持的语言中控制和扩展Asterisk功能。这个库是基于Asterisk Manager ...
综上所述,《Asterisk权威指南》第十三章详细介绍了自动呼叫分配(ACD)的相关知识和技术,覆盖了从基本概念到高级配置的各个方面,对于想要深入了解并应用ACD功能的读者来说是非常有价值的资源。
4. **编译注意事项**: - 在编译过程中,可能会遇到依赖问题,需要按照错误提示安装相应库。 - 配置阶段可以根据需求选择编译选项,例如启用或禁用某些模块。 - 编译前确保系统有足够空间,编译过程可能会占用...
Asterisk拨号方案中应用使用详解是指在Asterisk系统中使用拨号方案来实现各种应用的技术手段。本文将对Asterisk拨号方案中的各种应用进行详细地解释和示例。 1. Authenticate:鉴别用户 Authenticate应用程序用于...
在这个源文件中,可能会包含处理CID解析的函数,这些函数可能读取并解析来自Dahdi线路的CID数据,然后将其存储在Asterisk的结构中,以便其他部分的软件可以访问和使用。此外,它可能还包含了监听Dahdi通道状态和事件...