`
sun4love
  • 浏览: 226278 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

拨号方案基础

    博客分类:
  • VOIP
阅读更多

Application
Answer(),Playback()和Hangup()应用

    Answer()应用于接听正在响铃通道,它不需要任何参数.
    Playback()应用在通道上播放事先录制好的语音文件.指定一个文件名(不带扩展名),可以使用绝对路径与相对路径.
  Hangup()应用在于挂断一个正在活动的通道.
Background(),Goto()应用
  Background()它也播放事先录制好的语音文件,但它等待按键,然后执行对应extension.
    防止Background()后超出按键范围,使用i来解决问题.
    防止Background长时间没有选择,使用t来决解问题.
  Goto()应用使得在拨号方案的不同部分有序的转移非常容易.
    Goto()应用有三个参量分别是context,extension,和priority.即Goto(context,extension,priority)

Dial()应用
  Dial()有4个参量,
    第一个是:呼叫的被叫地(传输技术/远地资源)如:SIP/50000或Zap/1.可以同时拨打多个通道如:

exten => 601,1,Dial(Zap/1&SIP/50000&IAX/60000)

    第二个是:超时,单位"秒".给定超时参量Dial会一直对被叫地进行呼叫,直到超时后才放弃,如果没有给定,将直到接听或主叫挂机,如果呼叫在超时前接听,通道就被桥接,拨号完成
  补充:如果超时后被叫地没有应答,则会继续Dial()的extension下一个priority.如果被叫地通道忙,Dial()将转到priority n+101(n是Dial()被调用的priority),如果存在的话,将能够处理被叫地忙的方式接叫未接电话.
    第三个是:可选择参量,它会可以影响到Dial()的行为,如:
exten => 601,1,Dial(SIP/50000,30,Ttwr)

  其中T表示允许主叫用户按"#"转接呼叫;t表示允许被叫用户按"#"转接呼叫;r表示为被叫用户产生振铃声;w用户按"*"键开始录音.
    最后一个是:URL参量.如:
exten => 601,1,Dial(SIP/60000@asterisk.voip.org)exten => 602,1,Dial(Zap/1/5732381)

任何参量都可以为空如:
exten => 601,1,Dial(SIP/60000,,T)或exten => 601,1,Dial(SIP/60000)

综合上面举个例子:
[test]
exten => s,1,Answer()
exten => s,2,Background(enter-ext-of-person)
exten => 601,1,Dial(Zap/1,30,Ttrw)
exten => 601,2,Playback(vm-nobodyavail)
exten => 601,3,Hangup()
exten => 601,102,Playback(tt-allbusy)
exten => 601,103,Hangup()
exten => 602,1,Dial(SIP/50000,30,Ttrw)
exten => 602,2,Playback(vm-nobodyavail)
exten => 602,3,Hangup()
exten => 602,102,Playback(tt-allbusy)
exten => 602,103,Hangup( )
exten => i,1,Playback(pbx-invalid)
exten => i,2,Goto(test,s,1)
exten => t,1,Playback(vm-goodbye)
exten => t,2,Hangup()

Extension,不能多于80个字符,也不能少于1个字符(601/602)
------2007-01-05-修改

变量
在拨号方案中使用变量可以减少打字、增加清晰度,也有助于在拨号方案中加入逻辑.
这里的变量有全局变量,通道变量和环境变量.
全局变量:
  全局变量应该在extensions.conf文件的开始利用[globals]这个context定义或利用 SetGlobalVar()应用.如:
[globals]80000=Zap/1或[internal]exten => 123,1,SetGlobalVar(80000=Zap/1)

通道变量
  通道变量与特定的呼叫相关的变量,通道变量只能在当前呼叫存在其间定义,并只能用于参与该呼叫的通道.通道变量使用 Set()应用来设置.如:
exten => 601,1,Set(80000=Zap/1)

环境变量
  环境变量是一种在 Asterisk 中访问操作系统环境变量的方法.这些变量以${ENV(var)}形式引用,其中的 var 是所要引用的操作系统环境变量.
  综合上面举例:
[globals]PSTN=Zap/1TEST=SIP/80000 [test]exten => s,1,Answer()exten => s,2,Background(enter-ext-of-person)exten => 101,1,Dial(${PSTN},10)exten => 101,2,Playback(vm-nobodyavail)exten => 101,3,Hangup()exten => 101,102,Playback(tt-allbusy)exten => 101,103,Hangup()exten => 102,1,Dial(${TEST},10)exten => 102,2,Playback(vm-nobodyavail)exten => 102,3,Hangup()exten => 102,102,Playback(tt-allbusy)exten => 102,103,Hangup()exten => i,1,Playback(pbx-invalid)exten => i,2,Goto(incoming,s,1)exten => t,1,Playback(vm-goodbye)exten => t,2,Hangup() [default]exten => 101,1,Dial(${PSTN},,r)exten => 102,1,Dial(${TEST},,r)


模式匹配

模式匹配
  使用模式及匹配是用不同的字母和符号来代表可能要匹配的数字.模式总是用一个下划线 (_) 开始,它告诉Asterisk 要做模式匹配,这不是一个 extension 名字.(这意味着不能使用下划线作为 extension 名字的开始字符.)
模式匹配语法
  在下划线之后,可以使用一个或者多个下面列出来的字符:
X:匹配 0-9 的任何数字;Z:匹配 1-9 的任何数字;N:匹配 2-9 的任何数字;.(句号)通配符,匹配一个或多个字符;[15-7]:匹配1,5,6,7;

  使用${EXTEN}通道变量:Asterisk会把通道变量${EXTEN}设置为所拨的数字.通过sayDigits()检测拨到号码内容如:
exten => _9XXXXXXX,1,SayDigits(${EXTEN});SayDigits()应用会把所拨的8位extension读出来 exten => _9XXXXXXX,1,SayDigits(${EXTEN:1});只读出来后7位数,其中"1"表示不拨前面1位数 exten => _9XXXXXXX,1,SayDigits(${EXTEN:-1});只读出来最后1位,其中"1"表示只拨出最后1位数


去话拨号(PSTN)
举例:按"9"后拨打外线,去电时,去除"9";加放"ignorepat => 9"是为了使按完"9"后还可以听到拨号音;加入"Congestion()"应用是挂机或忙的时候播放快忙音(拥挤声音).
---本地去话拨号---[outbound-local]ignorepat => 9exten => _9NXXXXXX,1,Dial(Zap/1/${EXTEN:1})exten => _9NXXXXXX,2,Congestion()exten => _9NXXXXXX,102,Congestion()---再加入紧急电话拨号---exten => 9119,1,Dial(Zap/1/119)exten => 119,1,Dial(Zap/1/119)exten => 9110,1,Dial(Zap/1/110)exten => 110,1,Dial(Zap/1/110)---长途电话拨号---[outbound-long]exten => _90NXXNXXXXXX,1,Dial(Zap/1/${EXTEN:1})exten => _90NXXNXXXXXX,2,Congestion()exten => _90NXXNXXXXXX,102,Congestion()


Includes
Asterisk通过Includes实现在一个context中使用另一个context.格式:includes => context
[internal]include => outbound-localinclude => outbound-longexten => _80XXX,1,Dial(SIP/${EXTEN},30,r)exten => _80XXX,2,Playback(vm-nobodyavail)exten => _80XXX,3,Hangup()exten => _80XXX,102,Playback(tt-allbusy)exten => _80XXX,103,Hangup()


表达式和可变操作
表达式
  表达式是变量,运算符和数值的联合,当你把它们组合到一起就会得到一个表达式结果.在Asterisk 中,表达式总是以$符合作为开始,以方括号“[]”来扩住表达式.如:
$[expression]$[${COUNT} + 1]$[${COUNT} / 2];引用变量,必须把这个变量名用花括号"{}"括起来,而且在前面加上美元符号"$" 标示出来

运算符
  布尔型运算符
  expr1 | expr2("|"或运算):如果expr1的值是真值,那么运算符将赋expr1的值,否则将赋expr2的值.
  expr1 & expr2("&"与运算):如果两个表达式的值都为true,运算符将赋值为expr1,否则赋值为0.
  expr1{=,>,>=,<,<=,|=}expr2:如果自变量都是整数,这些运算符将得到一个整数的比较结果;否则,它们将得到字符串的结果.如果给定的关系是正确地,这个结果是1,否则就是0.
  数学运算符
  expr1{+, -}expr2:运算符能得到整数自变量的加法或者减法地结果.
  expr1{*,/,%}expr2:运算符能分别得到整数自变量的乘法,除法或是余数的结果.
  正则表达式运算符
  expr1:expr2:运算符匹配 expr2到expr1,这里的expr2必须是一个正则表达式.
  ***Asterisk 的分析程序非常简单,因此在你输入时,在运算符和其他数值之间至少需要一个空格.

拨号方案函数
  拨号方案函数可以使你增加更多的功能到你的表达式中.
语法
  基本语法:FUNCTION_NAME(argument).如果要引用函数的值,和引用变量的值一样,用美元符号“ $” 加上花括号“{}” 括起函数表达式.如:
${FUNCTION_NAME(argument)}

函数也可以嵌套封装其他的函数,如:
${FUNCTION_NAME(${FUNCTION_NAME(argument)})}
拨号方案函数
  函数常常用来连接set()应用,来取得或者赋值一个变量的值.举个例子,计算一下一个字符串的长度,并读出这个长度;
exten=>123,1,set(TEST=example)      ;赋值example变量给TESTexten=>123,2,saynumber(${LEN(${TEST})})  ;计算出变量TEST长度,并读出长度数结果是:7

  如果我们要设置一个动态通道的超时,应该用TIMEOUT()函数.这个函数可以接受以下三个中的一个做为自变量,分别是absolute,digit和response.他们对应的应用是AbsoluteTimeout(),DigitTimeout()和ResponseTimeout().用 timeout()函数,设置数字的超时,我们可以set()函数, 如:
exten=>s,1,set(TIMEOUT(digit)=30)

  ***这个函数中没有${}.它和给一个自变量赋值一样,我们就赋值给一个函数,是不使用${}封装的.
分享到:
评论

相关推荐

    Asterisk电话未来之路第二书签版

    第五章 拨号方案基础 这一章介绍 Asterisk 的核心部件,拨号方案。 第六章 更多的拨号方案概念 这一章将介绍更多的高级的拨号方案的概念。 第七章 了解电话 这一章与 Asterisk 无关,而是讨论一些更加重要的...

    基础架构及服务器虚拟化解决方案.doc

    网络基础架构及数据中心规划方案 2016年11月 目录 一.网络建设需求 2 1.1 目标架构: 2 1.2设计目标: 2 二. 规划方案 4 2.1 方案拓扑 4 2.2 架构说明 5 2.3 为什么选用虚拟化技术(整个方案的重点) 6 ...

    鹰峰NGN组网成功解决方案

    鹰峰NGN组网方案协助A公司在中国总部进行了周密的分析与考察并就相关的产品技术进行了深入的研究与探讨,提供了以A公司在中 国现有数据专网为基础的,融合语音通信的解决方案,这是一套充分利用A公司现有数据网络...

    3Com公司第三层无线LAN安全解决方案

    3Com公司的解决方案与该公司现有的远程访问管理系统协同工作,通过在有线网络基础设施和无线LAN工作组之间安装3Com公司的 SuperStack II Router 400,以及在无线工作站上实现MPPE,客户可以对移动工作者提供稳健、...

    2021年计算机应用基础本科在线作业三.docx

    2021年计算机应用基础本科在线作业三全文共4页,当前为第1页。2021年计算机应用基础本科在线作业三全文共4页,当前为第1页。2021年计算机应用基础本科在线作业三 2021年计算机应用基础本科在线作业三全文共4页,当前...

    2019春计算机应用基础第三次在线作业.docx

    2019春计算机应用基础第三次在线作业 窗体顶端 单选题 (共30道题) 展开 收起 1.(2.5分) PowerPoint演示文稿的作者必须非常注意幻灯片集的两个要素是()。 A、内容和设计 B、内容和模板 C、内容和视觉效果 D、问题...

    系统网络基础解决方法

    ADSL拨号中出现的错误代码BIOS与CMOS区别DOS中使用系统还原工具Windows常用命令集常见电脑故障处理方法解决EXE关联丢失方法解决多硬盘盘符混乱问题解决关机变重启故障解决网页恶意代码方案解决系统资源严重不足自动...

    点击科技律师行业解决方案

    律师行业办公解决方案以“竞开协同之星(GK-Star)”作为统一客户端软件,它提供了协同办公与商用通讯的基础功能,可以通过局域网、无线或拨号等多种方式接入本系统,并支持离线工作模式,有利于提高访问速度,降低...

    网络工程设计方案.doc

    具体要求: λ WWW服务 λ E-mail、FTP服务 λ 网上多媒体教学,能提供视频点播服务 λ 集团内行政管理 λ 拨号上网服务 2. 信息点分布 主要信息点集中在生产部、账务部、网络中心、职工宿舍等部门。详细分布如表1...

    北交《计算机应用基础》在线作业二-0003E956.docx

    北交《计算机应用基础》在线作业二-0003 在微型计算机中,bit的中文含义是( ) A:二进制位 B:字 C:字节 D:双字 答案:A 当个人计算机以电话拨号方式接入1nternet网时,必须使用的设备是( ) A:网卡 B:调制解调器...

    基于Nuvoton ISD9160带语音功能的物联网开发板方案-电路方案

    语音识别技术正在积极推动信息通信领域的革命,语音拨号、语音邮件、语音输入乃至语音操控等以语音识别为基础的人机交互日益普及。随着更多智能硬件和可穿戴产品的推出,人类社会日趋成为物联网世界,语音识别技术的...

    计算机网络技术基础

    计算机网络技术基础 1.3.4 1.3.5 1.3.6 1.3.7 1.4 树型拓扑结构 .................................................................................................... 11 网状型拓扑结构 .......................

    网络设计方案.doc

    校园网络设计方案 设计者:王帆 2017年11月 目 录 1 校园网需求分析 3 1.1 网络基本情况 3 1.2网络需求分析 3 2 网络总体设计 3 2.1网络架构分析 3 2.2 设计思路 4 2.3 校园网的设计原则 4 2.4 网络三层结构设计 5 ...

    智能变电站监控系统解决方案.doc

    智能变电站监控系统 解决方案 目 录 第1章 概述 9 1.1 项目背景 9 1.2 现状分析 9 1.3 设计目标 10 1.4 设计原则 11 1.5 设计标准 13 第2章 系统总体设计 15 2.1 设计思路 15 2.2 系统架构 16 2.3 系统组成 17 2.3.1...

    计算机应用基础在线测试6.pdf

    《计算机应用基础》第 06 章在线测试 《计算机应用基础》第 06 章在线测试 剩余时间:57:40 答题须知:1、本卷满分 20 分。 2、答完题后,请一定要单击下面的"交卷"按钮交卷,否则无法记录本试卷的成绩。 3、在交卷...

    基础电子中的ADSL使用中常见协议解析

    ①、 1483B:就是指通常所提及的1483桥接协议,该功能是基于基本的桥接协议的基础上,其在网络的第一层(物理层)实现,在使用该方案时,MODEM只是充当桥接设备,不提供任何协议转换或地址过滤功能,一般当MODEM能与...

    计算机网络局域网作业.doc

    所以中国主要ISP提供Internet接入服务的运营商为中国电信、中国移动、中国联通三大 基础运营商,三家的价格均存在着地区差异,以下价格均以北京地区为例。 1、中国电信提供的是电信宽带服务,接入方式有:拨号上网...

    智能变电站监控系统解决方案(1).doc

    智能变电站监控系统 解决方案 目 录 第1章 概述 9 1.1 项目背景 9 1.2 现状分析 9 1.3 设计目标 10 1.4 设计原则 11 1.5 设计标准 13 第2章 系统总体设计 15 2.1 设计思路 15 2.2 系统架构 16 2.3 系统组成 17 2.3.1...

    校园网络设计方案(1).pdf

    并根据学校的具体基础设施情 况,采用相应的模块,为学校提供一套完整的校园网建设解 决方案,使学校真正实现建好校园网,用好校园网的目标。 城市学院网络以开放性、可扩展性、先进性、高可靠性、 实时性、兼容性、...

    校园网设计方案(2).doc

    可扩容的远程拨号接入/拨出,共享资源、发布信息等。应用系统及教学资源丰富; 有综合网络办公系统及各个应用管理系统,实现办公自动化,管理信息化; 有以WEB数据库为中心的综合信息平台,可进行消息发布,招生...

Global site tag (gtag.js) - Google Analytics