ImageVerifierCode 换一换
格式:DOC , 页数:21 ,大小:124KB ,
资源ID:9011275      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9011275.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(Asterisk 入门教程.doc)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Asterisk 入门教程.doc

1、Asterisk 入门教程 subscriber:加入某个group,从而遵从某一个call restricion subscriber group:可以使用1种call restriction。 call restriction:将numbering plan中各项取出,各自组成成不同的呼叫限制方案 numbering plan:通用,是一个整体的计划,里面包括长途,本地,等各种形式的方案 ------------------------------------------------------------- 以上,用于拨入号码的预处理,实际上是一种过滤,下面才是真正的呼叫

2、处理。 -------------------------------------------------------------- route:一种策略,根据号码匹配的模式,选择走哪个trunk。 trunk:实际上做通一个链路,供route选择。 analog的,一个POTS就是一条analog trunk analog的数量由设备定, ip trunk没有限制数量,并且一个ip trunk连到对方IPPBX后,对方的subscriber 数量是不确定的,由那个IP PBX决定。 Asterisk,开始吧 ------------------------------

3、 什么是asterisk?开源电话平台 Asterisk 通过了电话的开源平台。基本上就是一个软件的PBX。 最初是Digium 公司的Mark Spencer 编写的,这个公司就是他创立的,专门生产并销售Asterisk使用的硬件。Asterisk 简直就是一场电话的革命。 为什么使用Asterisk? 现在电信行业的混乱,因为各种专利技术应用在各种层次的网络上,导致很大的混乱。Asterisk 就是答案——给电信行业普遍的混乱环境带来秩序的革命。 专利技术有什么错? 没错,如果专利技术独立工作

4、的话。就像你有剃须刀和剃须膏没错一样!但是让各种技术互相操作,专利技术就会除了要价过高、客户不满,以及缓慢的开发速度等问题之外的刻板和局限。 我们要Asterisk做什么? 根据情况而定。在一个小实验室,一个pc(x86),500MHz 的奔三,合适的内存,合适的电源,还有Linux (其他os也可以支持)。此外还有Digium 板卡插在系统中,以便连接本地PSTN。 Asterisk支持什么技术? 与 VoIP, PSTN, ISDN, AIX, SIP 有关的任何东西。 比较好的Asterisk参考书? <电话未来之路>(http://www.aster

5、isk-docs.o... 找到,编译,安装,在第3,4章中,包含了到哪里去找那些文件之类的信息。还有编译时的需要注意的选项,需要配置的模块,和在运行时载入的模块。 相关: gcc, glibc-kernheaders, cpp, binutils, glibc-headers, glibc-devel 此外, 安装bison 和 open ssl 大多数标准的distro都自带 推荐distro:基于RedHat和 RH的 distro (版本没指定) 组件: Asterisk Zaptel libpri Asterisk:Asterisk

6、程序文件,还有配置,监控的工具 Zaptel: Zapata 项目中硬件的核心模块和驱动,如果要与PSTN或者其他网络接口,需要它。 libpri: 与Primary Rate Interface ISDN的接口库。 还有,如果基准时间参考,需要安装ztdummy 模块(第3章中解释) 有用的网页: PSTN: http://en.wikipedia.org/wi... G.729: http://en.wikipedia.org/wi... G.711: http://www.freesoft.org/CI... Digium: http://en.wikip

7、edia.org/wi... Asterisk: http://en.wikipedia.org/wi... Free World Dial-up: http://en.wikipedia.org/wi... Asterisk Architecture: http://www.asteriskdocs.or... 重要链接: Putty: http://www.chiark.greenend... Asterisk 通道: http://www.voip-info.org/w... 重要信息: Asterisk machine on the LAN: 90

8、0.0.3 Asterisk的目录结构:(更确切的说,是Asterisk使用的目录) /etc 包含了zaptel.conf文件(只有一个) /usr/lib/asterisk/modules 所有的asterisk可载入的模块都在这里,一般来说,所以的模块都是启动的时候载入的 注意:要更改启动时载入的模块,或者是模块载入的方式,你可以修改/etc/asterisk/modules.conf文件 /etc/asterisk 包含了所有的asterisk配置文件 /var/lib/asterisk agi-bin: agi

9、脚本 固件:兼容设备固件 映像:在这个目录下寻找映像(如果通道支持) 关键字:这个文件中有基于RSA一类的认证关键字 mohmp3:当配置了持有音乐的时候,这个目录是放置mp3的(注意,mp3应该使用恒比特率编码,并且没有id标签。) sounds:所有的语音提示 /var/spool/asterisk qcall:撤销了——包含了特殊呼叫方法的呼叫信息文件——不是打电话的好方法,因为这种方式太硬性了——不再使用。使用outgoing替代。 Outgoing:现在打电话的法国闹事——呼叫信息目录普遍使用。 Tmp:中间/临时数据

10、 Voicemail:语音和问候语。通过修改/etc/asterisk/voicemail.conf文件可以修改。 /var/run 处理系统中运行进程的id(包括asterisk) /var/log/asterisk Asterisk在这里生产日志,通过/etc/asterisk/logger.conf来配置。 /var/log/asterisk/cdr-csv 用来存储呼叫详细记录,逗号分割,例如csv(地址簿格式) 重要:很多时间会使用cdr,ast附件包的代码可以在mysql数据库中存储cdr,用于记录呼叫详细记录 外部交换借口/通道

11、接口 FXO :Digium Dev-Lite kit上的红口:Foriegn eXchange Office:这个通道(接口)的动作角色是fxo,利用fxs协议——就是说这个模块需要插入到pstn。 FXS(Digium卡的绿口):Foriegn eXchange Station,它表现得像fxs,读的是fxo协议——所以要插入终端设备——注意,这里插pstn,会烧坏! 配置Foriegn eXchange Station文件: 让你对常见的通道接口进行管理/comm 通道硬件,决定如何在连接的设备之间进行握手。 注意:使用zapata.conf文件完成非常重要的通

12、道配置——激活或者失效类似回形针、回声处理之类的功能。详细程度到pstn添加到那个端口,信令控制等——如果这里配置不正确,甭指望系统能工作正常。 拨号计划: 在extensions.conf中指定。 Dialplan: 拨号计划:在 /etc/asterisk 文件中 拨号计划语法由以下组成部分: 上下文(context) : 写在[]里面 , 定义上下文来创建独立的空间 注意:最重要的一个上下文的应用就是提供安全性:要获得更多信息,看安装文件中SECURITY 文件。 例如: [incoming] statement 1--- stateme

13、nt 2--- [next-context] 注意:当下一个定义的上下文开始的时候,现在这个上下文就结束了。 分机:非常简单。与普通的PBX一样。分机号的意思是你在连接到系统之后拨打的号码以获得某个终端/服务-不仅是 asterisk 分机以如下格式定义: exten => 分机的组成部分:exten => name, priority, application() 例如 exten => 123, 1, Answer() 的意思是当另一端拨打123,调用asterisk/apps /Answer(),优先级别为1。优先级别通常从1开始。数字越小,级别越高。例如,级别1就比级

14、别2要高。(现在,有一些称为非数字化的级别——非常好,继续读!)一个很好的例子: exten => 123, 1, Answer() exten => 123, 2, Hangup() 会发生什么情况,无论什么人拨打123,系统都会首先执行answer(),然后当answer结束的时候,过渡到hungup()。你看,都是执行的顺序和优先级。 还有一些特殊的分机,例如s,比如我们前面的例子中123的位置,后面再解释 记住: 所有的优先级别都是从1开始,其他的必须遵循这个顺序。Ast不会处理其他的,会认为是出错。 分机可是任何,不仅是数字,例如名字。 优先级:我

15、想在前面讨论分机的时候已经讨论了优先级别。 非数字的优先级: 我们会在Answer() ... Hangup() 后使用n来代替实际的优先级别数字。 exten => 123, 1, Answer() exten => 123, n, Hangup() Asterisk会自动给优先级别+1, 所以你就不用每次记着并输入这个数字了 Also, in Asterisk v2, we've got a way to put labels tp priorities: exten => 123, 1, Answer() exten => 123, n(Hangup), Hangup()

16、 Applications: 应用程序: 应用程序是真正执行你的拨号计划的程序。拨号计划定义了顺序——应用程序就按照它去做。工作内容可以是任何东西,从播放声音到接受当前通道上的按键输入。(http://www.voip-info.org/w...了解asterisk通道,虽然听起来很好笑,但是我是对通道很迷惑) 简而言之,应用程序是真正干活的,当有人拨打123的时候,参考以上示例。 我们可以通过友好的邻居应用程序传递参数,把它们放在逗号或者竖线分割的列表中。 例如: exten => 123, 1, DoSomething(Arg_1,Arg_2,Arg_

17、3,..,Arg_n) 或者exten => 123, 1, DoSomething(Arg_1|Arg_2|Arg_3|..|Arg_n) 开源中,你随意! 特别分机: ‘s’是个特别的分机——它处理环境中任何的输入,没有特定目标。S意味着开始。 例如 [incoming] exten => s,1,application( ) exten => s,2,application( ) exten => s,3,application( ) 现在,只要呼叫进入,就带有最高级别,进入s。当我们补充了应用程序之后,我们就是创建了自己的拨号计划 填入应用程序名(

18、分配正确的优先级别) exten => s,1,Answer( ) exten => s,2,Playback(hello-world) exten => s,3,Hangup( ) 这就是asg拨号计划了 这个拨号计划会: 1. 接电话 (接听已经建立了通道的呼叫,这个呼叫就是从这个通道来的,在进行任何处理之前,先把电话接听.没有参数传递。 2. 播放语音,给出了语音文件的路径,通常在 /var/lib/asterisk/sounds/, gsm 格式,后缀名为.gsm。如果有多个文件都符合这个文件名,ast就播放那个cpu负载(翻译成本)最小的,翻译成本与不同的文

19、件格式有关。在cli下面输入show translation可以看到,参数,语音文件名,还有路径,如果这个文件没有在标准路径下。 3. 挂掉活动通道,主叫方就是从这个通道进行呼叫的,很必要,确保主叫没有继续拨号计划。没有参数 为拨号计划添加逻辑: Background() 应用程序: 它与 playback() 非常像, 只是在播放语音的时候,如果用户拨打号码,语音中断,然后呼叫那个分机。例如,主叫拨打分机x,会以第一优先级转到分机x上面去。 语法: Background(sound_file) 例子: extend => s,n,Background(sound

20、filename) 回拨语音文件,直到用户输入分机号,——在创建语音菜单的时候有用。 但是playback()不会接受输入,会一直拨,直到语音文件结束。 Goto() 应用: 如其名,主叫跳到某个 context / extension / priority上去. 语法: Goto(context, extension, priority) 例子: exten => 1,n,Goto(incoming,s,1) 把控制权交给下一个上下文,分机s, 优先级别 1 – 预先订制拨号计划跳转的流程, 链接: Xlite sip电话- 免费的: 载入Ubunt

21、u: Ubuntu, 是一个比较新的桌面友好的distro ,放在Asterisk专用的机器上. 重要内容: Ubuntu 很好 – 对桌面来说 我们必须装很多内容才能在ast服务器上用. 所以一般来说: 不要使用桌面disrto ,如果你计划在上面跑服务器的话- Fedora 是更好的选择. 但是也没有坏处- 有耐心,万事可达. 载入Ubuntu的基本原因就是为了图形化工具Firefox和Acrobat。只是费很多CPU和内存,x历史遗留问题。 所以我们继续的是一台新机器,从新开始运行ast 下面开始真正体验ast系统。经过良好调整的Ubuntu可以阅读PD

22、F文档。 带有safe_asterisk 脚本的ast二进制文件在/usr/sbin中,昨天咱们编译过了如果ast异常,safe_asterisk脚本会引起ast的core dump,默认情况下是在第9终端开启ast。 开始ast我们使用safe_asterisk脚本,或者运行ast二进制文件来手工启动ast。在运行safe_asterisk脚本的时候,在9终端上载入ast的CLI(终端号可以配置),执行ast二进制文件载入ast,作为后台程序 我们还可以用初始化脚本来启动或者关闭ast。 见书71页 求助: asterisk -h 其它命令行参数: -c 显示As

23、terisk CLI (或控制面板) -v 设置 CLI 的详细程度- 例如v (verbose), vv (very verbose), vvv (very very verbose) -g 告诉asterisk 创建core dump,一会用gdb调试 -r 远程-连接到一个已经运行的Asterisk进程上 (与网络远程连接没有关系) -rx远程执行 – 执行引号内的命令 ( "restart now") 不需要真的启动CLI 还有好多命令 Beginning an affair with Asterisk - Day 6 asterisk-dev 准备好 - as

24、terisk-dev的配置: Distro: Ubuntu 5.10 (Breezy Badger) Asterisk version: 1.2.1 运行配置: 图形下完全多用户模式(运行级别5) asterisk-dev 机器上还装载了很多其他内容. 本章的任务: 1. Linux下Xlite客户端的配置,以便与asterisk-dev上我们的测试 Asterisk 服务器共同工作. 链接: Xten 网站: Xlite 下载页面e: 2. 录些 gsm 音频格式的音频文件: welcome messege timeout messege 我们使

25、用免费的基于Windows的软件(aghhh..) 来进行录制,格式转换和音频标准化 . 它工作非常好,并且最重要符合我们的要求- 快速录制,不需要撞墙很长时间。 链接: 录制/ 转换/ 处理软件- 录制: Recordpad Trial Version - .au/reco... 音频转换(WAV to GSM): Switch Freeware Version - .au/swit... 音频编辑和处理: Wavepad Trial Version - .au/wave... 轻松快速创建音频文件,转换格式,并且标准化到正常的语音级别,让声音没有分叉。可惜不是开源并且在Lin

26、ux下... . 注意:以上软件只是生成测试录音,为学习而已。Enterux Solutions (或者客户端, Enterux) 许可证要求不需用于任何商业目的。 这个开源的 zgsmplay 可用来测试我们的新gsm音频文件,在 Linux上 链接: 3. 写第一个拨号方案: 我们的分机配置文件 extensions.conf如下: [incoming] 欢迎界面, exten => s,1,Background(enterux/welcome) exten => i,1,Playback(enterux/invalid-extensio

27、n) exten => i,n,Goto(incoming,s,1) exten => t,1,Playback(enterux/call-will-be-disconnected) exten => t,n,Hangup() ; 呼叫方可以拨打的用户分机 exten => 0,1,Dial(SIP/0) ; Operator exten => 1,1,Dial(SIP/1) ; Sales staff – 使用&连接多个接收者,例如 SIP/staff_1&Sip/staff_2 – 最先接起来的电话就被连接。 exten => 2,1,Dial(SIP/2) ; Su

28、pport staff -使用&连接多个接收者,例如 SIP/staff_1&Sip/staff_2 – 最先接起来的电话就被连接。 exten => 202,1,Goto(incoming,s,1) exten => 201,1,Goto(incoming,s,1) 要使上面的拨号计划起作用, sip.conf 需要如下设置: [201] user=201 type=friend secret=1234 host=dynamic context=incoming [202] user=202 type=friend secret=1234 host

29、dynamic context=incoming [1234] user=1234 type=friend secret=1234 host=dynamic context=incoming ;用户添加 0-operator, 1-sales ,2-support [0] user=0 type=friend secret=1234 host=dynamic context=incoming [1] user=1 type=friend secret=1234 host=dynamic context=incoming [2] user=2

30、 type=friend secret=1234 host=dynamic context=incoming 配置Xlite,完成拨号计划。 参考103页(拨号计划基本章节) 4.观察结果: 如果一个登录到ast服务器上的一个软电话拨打201/202,预记录就会播放欢迎语音。 "Welcome to Enterux Solutions. Press 0 for an operator, 1 for sales and 2 for Support. Thank you." 拨打0,1 , 2之后,通过Dial() 应用程序拨打合适的用户 如果分机

31、号码不对,就播放语音 "You have dialled an invalid extension. Please try again.". 软件电话 Xlite 没有声音了,出错说找不到声音驱动 分别试验了Kiax ,Linphone. Twinkle Twinkle好用了. (仍然出错 "无法读 .DCOPserver_asterisk-dev_0; Please check that the dcopserver program is running" 在启动栏 – 这样就好了).继续,测试拨号计划 链接: Twinkle SoftPhone: http

32、//www.twinklephone.co... 装好Twinkle (and a little prayer) 我们修改#1号拨号计划: extensions.conf 文件: [incoming] ; 欢迎 exten => s,1,Background(enterux/welcome) exten => i,1,Playback(enterux/invalid-extension) exten => i,n,Goto(incoming,s,1) exten => t,1,Playback(enterux/call-timeout) exten

33、> t,n,Playback(enterux/thankyou) exten => t,n,Hangup() exten => 0,1,Playback(enterux/connecting-to-operator) exten => 0,n,Dial(SIP/0,10,r) ; Operator exten => 0,n,Playback(enterux/line-not-answering) exten => 0,n,Hangup() exten => 0,102,Playback(enterux/line-busy) exten => 0,103,Hangu

34、p() exten => 1,1,Playback(enterux/connecting-to-sales) exten => 1,n,Dial(SIP/1,10,r) ; &连接多个分机号码 exten => 1,n,Playback(enterux/line-not-answering) exten => 1,n,Hangup() exten => 1,102,Playback(enterux,line-busy) exten => 1,103,Hangup() exten => 2,1,Playback(enterux/connecting-to-support)

35、 exten => 2,n,Dial(SIP/2,10,r) ; &连接多个分机号码 exten => 2,n,Playback(enterux/line-not-answering) exten => 2,n,Hangup() exten => 2,102,Playback(enterux/line-busy) exten => 2,103,Hangup() exten => 202,1,Goto(incoming,s,1) exten => 201,1,Goto(incoming,s,1) (参考107页) sip.conf如下: [201] user=

36、201 type=friend secret=1234 host=dynamic context=incoming [202] user=202 type=friend secret=1234 host=dynamic context=incoming [1234] user=1234 type=friend secret=1234 host=dynamic context=incoming ;用户添加 operator, sales and support [0] user=0 type=friend secret=1234 host=

37、dynamic context=incoming [1] user=1 type=friend secret=1234 host=dynamic context=incoming [2] user=2 type=friend secret=1234 host=dynamic context=incoming 以下是拨号计划的内容: 系统可接收 0,1,2,201,202. 现在,我们的接线总机连到了201和202上面——就是说,欢迎信息只在拨打201和202分机时播放。 我们添加了超时、忙碌和没有应答的功能。阅读106页代码。 Ast的设置是,当没有

38、人接听电话的时候,被叫分机就响2声,然后回拨错误消息。如果被叫的分机应答了,ast就接通,两个人可以占用一个全双工通道。 这是个非常简单的配置,只有最基本的应答函数,最基本的呼叫处理和连接两个用户的能力,用Dial()这个应用程序。我们实际测试过,虽然有实质的延迟,2-4秒,就好像是一个人在讲话,另一个人在重复。这确实存在。有能力的话就写几行代码让两个语音通道互连(相似类型或者不同类型)。 现在我们只试验 "incoming" 这一条,还添加了另外的 "internal" 并对这个文件extensions.conf 进行了验证: [incoming] ; Extensi

39、ons for welcoming caller exten => s,1,Background(enterux/welcome) exten => i,1,Playback(enterux/invalid-extension) exten => i,n,Goto(incoming,s,1) exten => t,1,Playback(enterux/call-timeout) exten => t,n,Playback(enterux/thankyou) exten => t,n,Hangup() exten => 202,1,Goto(incoming,s,1)

40、 exten => 201,1,Goto(incoming,s,1) ; 呼叫正确的分机 exten => 0,1,Playback(enterux/connecting-to-operator) exten => 0,n,Dial(SIP/0,10,r) ; Operator exten => 0,n,Playback(enterux/line-not-answering) exten => 0,n,Hangup() exten => 0,102,Playback(enterux/line-busy) exten => 0,103,Hangup() exten =

41、> 1,1,Playback(enterux/connecting-to-sales) exten => 1,n,Dial(SIP/1,10,r) ; exten => 1,n,Playback(enterux/line-not-answering) exten => 1,n,Hangup() exten => 1,102,Playback(enterux,line-busy) exten => 1,103,Hangup() exten => 2,1,Playback(enterux/connecting-to-support) exten => 2,n,Dial(SIP/2

42、10,r) ; & 连接 SIP/staff_1&Sip/staff_2 exten => 2,n,Playback(enterux/line-not-answering) exten => 2,n,Hangup() exten => 2,102,Playback(enterux/line-busy) exten => 2,103,Hangup() [internal] exten => 0,1,Goto(Internal,0,1) exten => 1,1,Goto(Internal,1,1) exten => 2,1,Goto(Internal,2,1) si

43、p.conf 文件如下所示: [201] user=201 type=friend secret=1234 host=dynamic context=incoming [202] user=202 type=friend secret=1234 host=dynamic context=incoming [1234] user=1234 type=friend secret=1234 host=dynamic context=incoming ; 0: operator, 1:sales and 2:support [0] user

44、0 type=friend secret=1234 host=dynamic context=internal [1] user=1 type=friend secret=1234 host=dynamic context=internal [2] user=2 type=friend secret=1234 host=dynamic context=internal 0,1 , 2的条款发生了变化从[incoming] 到 [internal] 与以前类似,只是现在要使用的是不同的contexts。 --------------------

45、 在 Asterisk 拨号计划中使用变量 在拨号计划中使用变量 在 asterisk中设置变量: JOHN=SIP/1 引用变量Asterisk: exten => 123,1,Dial(${JOHN}) 很简单. 注意:不需要大写变量名 – 这里是为了清晰 变量的类型: 全局变量: 所有的context都可以访问的变量。 全局变量在拨号计划的最前面[globals] context中声明. 还可以在拨号计划中声明全局变量: [global] JOHN=SIP/1 或者 [so

46、me context] exten => 123,1,SetGlobalVar(JOHN=SIP/1) 全局变量的生命周期是到ast关闭为止。 渠道变量: 渠道变量与特定呼叫或者呼叫通道有关。 渠道变量的生命周期限制在呼叫的范围内. 有许多预定义的渠道变量- 见README.variables 文件 doc/ subdirectory. 设置渠道变量: exten => 123,1,Set(MAGICNUMBER=42) 环境变量: 提供了通过dialplans访问Unix环境变量的方法. 参考环境变量: UNIXPATH=${ENV(PATH)} A

47、sterisk中的模式匹配: Asterisk 会尝试匹配任何以下划线开头的符号 你可以在模式匹配中使用如下的符号: X 表示 0 到 9 Z 表示 1 到 9 N 表示 2 到 9 [] 表示范围 (例如, [15-7] 匹配1,5,6 or 7) . 通配符 举例: _9. 会匹配所有以9开头的数字,例如 92, 932344,99999,91,等. _XXX 匹配3个数字的串,每个数字的范围是0到9,例如321, 999,123, 等. 使用匹配模式,:通常手工添加每个可能的分机是非常枯燥乏味的。模式匹配简单多了。 出线中继(Outbound t

48、runk):要让用户可以通过ast网络拨打外面的电话号码,我们可以启用出线中继。 比较好的方案如下: -> 使用变量名来引用中继名。这可以让我们即时修改中继,不会引起错误 -> 使用编写正确的 context来合理划分拨号计划. 这可以保证系统免受意外,或者恶意的未经授权的使用。 下面看一些函数和条件分支,看看extensions.conf [incoming] ; s 和 t分机 exten => s,1,Background(enterux/welcome) exten => t,1,Hangup() ; 接受对201的呼叫 exten => 201

49、1,Goto(s,1) ; GotoIf() 函数 exten => 345,1,Set(TEST=greet) exten => 345,n,GotoIf([{TEST}=greet]?10:20) ; Asterisk 给 GotoIf传递一串参数 exten => 345,10,Playback(weasels-eaten-phonesys) exten => 345,20,Playback(office-iguanas) ; 倒数,使用 GotoIf() 和命名的优先级 exten => 346,1,Set(COUNT=10) exten => 346,n(say),SayNumber(${COUNT}) exten => 346,n,Set(COUNT=[{COUNT}-1]) exten => 346,n,GotoIf([{COUNT}>0]?say:thank) exten => 346,n(thank),Playba

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服