Asterisk定义:一个软件,可以安装在linux上,甚至几个非linux上。未见windows支持。将voip连接到传统pstn网络之间的桥梁。与硬件
IP-PBX定义:基于tcp/ip的程控交换机。
Digium Zaptel:
Zaptel 卡:连接VOIP的PC机和PSTN网络的卡片。??或者用于FXO,电话线??
Zapata:与Zapatel同时被使用。
ACG脚本:用于操作Asterisk的脚本
ISDN:PRI BRI两种类型
PRI:PBX和PSTN网络之间的中继
BRI:模拟电路提供中继,固定贷款,基于电路交换
模拟电话:模拟信号,声音可在电缆上测量。
专用数字电话:包括IP电话,ISDN电话,
IP电话:。。牛逼。。
软电话:运行在PC上,使用标准电话寻址E.164接收全双工音频信号的能力,接收电话呼叫。
FXO:模拟电话线
FXS:模拟电话。(不是电话线)
比特率采样:4位最多有14个样本。每个一段时间从波形中采样一次。而4比特率采样被成为4PCM。电话网中使用8PCM,而其他数字音频多用16pcm或者更多。
混叠现象(Aliasing)
如果你曾经注意过早期西部片中向后转动的马车车轮,你就看到了混叠的效果。电影的帧速率跟不上转动频率,感受到的就是错误的转动方向。
DS-0,64-kbps,64000bps, 8b*8000Hz。即每秒钟采样8000次,没次使用8个基本比特位。
T-1 T-2 T-3 T-4(承载电路)分别可以承载24,96,672,4032个DS-0.
SONET/OC(同步光通信) oc-1 oc-2 oc-3 oc-12 oc-192分别可以承载672 201 8064 129024个DS-0.
CAS是ISDN-PRI未出现或者不可用时使用的。旧版本。各种缺点和落后技术。就通信模式适合。
ISDN 因市场的原因,只用作基本中继。
ISDN-BRI/BRA。一个ISDN的基本速率包括64*2+16共144kbps。16用于控制。在欧洲用于接入PSTN。
B通道:通信通道,语言通道。
D通道,管理通道,信令通道。
ISDN-PRI/PRA。北美。mB+nD。当12个以上的DS-0时可以考虑ISDN-PRI而非ISDN-BRI。
ISDN也可以使ISDN-BRI的简称。
7号信令系统用于子啊ISDN端点之间传递必要的附加信息。7号信令系统完全独立于另一个网络。
拨号盘::
Context:
上下文,AB两公司公用一个Asterisk,则配置Context后,A公司员工拨打extension 0时,Asterisk保证其被A公司的接线员转接,而B公司员工拨打extension0 时,Asterisk保证其呼叫能被B公司接线员转接。这个例子架设在用户按下extension0 时,我们让asterisk将呼叫转向其接线员。似乎context也用在呼叫叫限制,如限制拨打国际长途中。Context中的incoming表示呼入类型的呼叫。
Extension
传统上的分机号表示的前缀。Extension0表示分机号1.但是在asterisk中,Extension可以表示邮件类似的呼叫地址,这在VOIP中非常有用。
extens=>name,priority,application()。
Priority
每个extension可以有多个步骤,这里的每个步骤就是一个priority..那么分多个步骤的extension如下定义:
exten =>123,1,answer()
exten =>123,2,hangup()
这里的exten123有两步骤。Priority必须严格顺序。可以使用n标示前一个priority序号加1.如exten=>123,n,do sth after answer..
Application, 上文中的answer和hangup就是两个application.
DialPlan
一个Dialplan被分为同级的几个部分,每个部分都是一个Context,而extension是context的成员,同一个context下的extension具有先后关系,先后的表示使用priority。
一个完整的拨号方案
[incoming]
Exten=>s,1,answer()
Exten=>s,n,playback(helloword.asm)
Exten=>s,n,hangup()
保存为一个新的extensions.conf。注意这里的复数,这表示一个extensions.conf文件中可以有多个拨号方案。
GSM
一种编码格式,这里用作文件的后缀名。
其他应用
Backgrond()。与playback()不同,background在播放文件同时,等待客户按键,并根据客户按键跳转执行。
[incoming]
Exten=>s,1,Answer()
Exten=>s,2,background(press1_for_money_or_press2_for_sex.gsm)
Exten=>2,1,playback(sex_is_collor_or_null.gsm)
Exten=>1,1,playback(money_just_the_same_as_sex_work_and_enjoy_it.gsm)
Goto(),加入goto可以更完美。可以让用户在听完色即是空,或者空即是色后,继续听问候语,而后继续选择,听到色即是空或者空即是色,而后继续如此往复,从而达到使之彻底崩溃之目的。Just for fun..
[incoming]
Exten=>s,1,Answer()
Exten=>s,2,background(press1_for_money_or_press2_for_sex.gsm)
Exten=>2,1,playback(sex_is_collor_or_null.gsm)
Exten=>2,2,Goto(incoming,s,1)
Exten=>1,1,playback(money_just_the_same_as_sex_work_and_enjoy_it.gsm)
Exten=>1,2,Goto(incoming,s,1)
其他的extension
上文中的 数字extension和n extension.另外类似用法的i extension和t extention。其中I extension在系统接收到非法输入的时候执行其后的priority,而t extension在操作超时执行其后的priority.
Zap通道 链接到模拟电话的FXS通道
资源,远地资源,通常是通道名称或者编号
Dial()应用的参数
参数1.Zap/1,SIP/1234,IAX/fred,其中Zap表示模拟电话的FXS通道,SIP/1234和IAX/fred中斜线前的协议。
Dial(Zap/1&Zap/2&Zap/3)则应用会桥接来电,无论被叫地那个应用先接听。
Dial(Zap/1,10)表示超时限制。如果在10秒内Zap/1无人接听,那么Dial也无法完成桥接,那么Dial自动退出,由下一个priority继续执行。但是如果Zap/1忙,那么Dial将跳转到当前priority+101上执行。如当前为1,那么跳转到102.
Dial(Zap/1,10,r)是可选的字符串最常见的r,用作强制播放等待音。R是可选的,因为即使没有R,在普通情况下,asterisk在建立通道时会产生振铃。所谓特殊情况可能是,asterisk假装在为呼入者接听,但事实上确是在敷衍了事,或者撒谎。
现在结合Dial重新回忆完整的一个DialPlan。
[incoming]
Exten=>s,1,answer()
Exten=>s,2,backgroud(请拨分机号码.asm)
Exten=>101,1,dial(Zap/1,10)
Exten=>101,2,playback(“对不起,您不打的电话暂时无人接听,请稍后再拨”.asm)
Exten=>101,3,hangup()
Exten=>101,102,playback(您拨打的电话正在通话中全忙音急促“滴,滴,滴”.asm)
Exten=>101,103,hangup()
Exten=>102,1,Dial(SIP/Jane,10)
Exten=>102,2,Playback(电话无人接听.asm)
Exten=>102,3,hangup()
Exten=>102,102,playback(通话中,占线,全忙音.asm)
Exten=>102,103,hangup()
Exten=>I,1,playback(呼叫无法到达,您拨打的号码是空号)
Exten=>I,2,Goto(incoming,s,1)
Exten=>t,1,playback(超时,再见.asm)
Exten=>t,2,hangup()
[internal]
Exten=>101,1,Dial(Zap/1,,r)
Exten=>102,1,Dial(Sip/jane,,r)
[internal]
Exten=>101,1,Dial(Zap/1,,r)
Exten=>102,1,Dial(Sip/jane,,r)
Exten=>john,1,Dial(Zap/1,,r)
Exten=>jane,1,Dial(Sip/jane,,r)
这里的incoming表示是电话呼入,而internal表示内部通讯。内部通信注册了4哥特地址,这四个地址可以呼叫。Extension 单字符时保留的,最多可以有80个字符。
变量
JOHN=Zap/1
Exten=>555,1,Dial(${JOHN},,r)
全局变量应该在extensions.conf文件的开始使用[globals]context定义,用法同普通变量。也可以用app中的SetGlobalVar(JOHN=Zap/1)定义。
通道变量
Set(MAGICNUMBER=42)
环境变量
访问操作系统环境变量的方法${ENV(var)}而var是操作系统的环境变量名。
Asterisk自己的匹配符号。用来匹配extension等。
${EXTEN}通道变量
用来告诉你现在的位置。是你现在所拨出的extension.
${EXTEN:x}表示删除所拨号码的前几位,只留下后面的部分。
[outbound-local]
用来指定可以向外拨打的目的地号码。
实例
[globals]
JOHN=Zap/1
JANE=SIP/jane
OUTBOUNDTRUNK=Zap/4
[outbound-local]
Exten=>_9NXXXXXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN:1}}
Exten=>_9NXXXXXX,2,Congestion()
Exten=>-9NXXXXXX,102,Congestion()翻译挤满
Exten=>911,1,Dial(${OUTBOUNDTRUNK}/911)
Exten=>9911,1,Dial(${OUTBOUNDTRUNK}/911)
[outbound-long-distance]用作拨出长途。配置方法同短途。
配置域内用户使能拨打长短途。在[internal]下加入
Include=>outbound-local
Include=>outbound-long-distance
更加复杂的拨号方案概念
表达式,运算符中的数学运算符和比较运算符。拨号方案函数包括计算字符串长度,日期和时间,MD5校验,等等,这些都在一个表达式中实现。
测量字符串长度
Exten=>123,1,set(TEST=example)
Exten=>123,2,saynumber(${LEN(${TEST})})
条件分支Gotoif应用
Gotoif(表达式?目的地1:目的地2)
GotoIfTime时间匹配跳转。
Exten=>s,1,GotoIfTime(*,*,4,jul?open,s,1)
Exten=>s,2,GotoIfTime(09:00-17:59|mon-fri|*|*?open,s,1)
Exten=>s,3,GotoIfTime(09:00-11:59|sat|*|*?open,s,1)
Exten=>s,4,GOTO(Closed,s,1)
就是根据时间,判断是不是开门的问题。。
语言邮箱
Astrisk数据库
Astrisk会议Meetme()
Pdf114页。
分享到:
相关推荐
《Asterisk,电话未来之路2nd 中文版》是一本深入探讨开源PBX系统Asterisk的专业书籍。Asterisk作为全球最流行的开源通信平台,它为用户提供了一个灵活且可自定义的电话系统解决方案,使得电话技术的发展不再受限于...
Asterisk-电话未来之路.pdf
### Asterisk电话未来之路知识点概览 #### 一、Asterisk简介与发展趋势 - **Asterisk**:是一款开源的语音通信平台,允许用户构建交互式语音响应系统(IVR)、电话会议桥接、PBX(专用分组交换机)等功能。 - **...
### Asterisk:电话未来之路——探索开源PBX系统的变革力量 #### 一、Asterisk简介与背景 Asterisk是一款开源的PBX(Private Branch Exchange,私有分组交换机)系统,由美国开发者Mark Spencer于1999年创建。自...
为了让更多人了解和使用Asterisk,2006年4月,“Asterisk爱好者协会”组织翻译了《Asterisk,电话未来之路》一书的中文版。这本书由协会成员集体翻译,经过近一个月的努力,最终形成了初版(CHN1.0)。此次翻译工作...
《Asterisk电话未来之路CHN2》是关于开源PBX系统Asterisk的一本入门经典书籍,旨在引领读者深入理解和掌握Asterisk的核心技术及其在通信领域的应用。Asterisk是一个强大的开源电话交换机软件,它允许用户构建自己的...
### Asterisk 电话未来之路:轻松掌握 TrixBox #### Asterisk 技术概览 Asterisk 是一款开源的电话通信平台,它允许用户构建功能丰富的交互式语音响应(IVR)应用和服务,以及搭建复杂的电话通信网络。自1999年由 ...
Asterisk,电话未来之路第二书签版.pdf 这本书适用于任何刚开始学习Asterisk 的人。 第一章 一次电话的革命 在这一章里,我们摩擦火柴,并且点燃火焰。 Asterisk 将要改变整个世界的 电信行业,在这一章里我们所...
Asterisk是一款开源的电话系统软件,由Mark Spencer于1999年创立,旨在提供一种灵活且成本效益高的方式来构建电话通信系统。它支持各种语音通信协议,如SIP、IAX、PRI等,可以用于创建IP-PBX(互联网协议专用交换机...
"电话未来之路2.0"这一主题可能指的是Asterisk如何引领通信技术的发展,以及如何在新的技术和市场趋势中继续保持领先地位。 Asterisk的核心功能包括VoIP(Voice over Internet Protocol)通话、会议呼叫、语音邮件...
《Asterisk:电话未来之路》是一本深入探讨开源电话系统Asterisk的中文书籍,其主要内容涵盖了Asterisk在现代通信技术中的应用及其发展趋势。Asterisk作为全球最受欢迎的开源PBX(Private Branch Exchange)系统,它...
### Asterisk:开启电话通信新纪元 #### 一、Asterisk简介及发展历程 Asterisk是一款开源的电话通信平台,它支持多种协议,包括SIP、IAX2等,能够实现语音通信、视频会议等多种功能。自问世以来,Asterisk就以其...
### Asterisk:电话系统的未来之路 #### 一、Asterisk简介及发展历程 **Asterisk**是一款开源的电话通信平台,它支持多种电话通信协议,包括但不限于SIP(Session Initiation Protocol)、IAX(Inter-Asterisk ...
Asterisk是一款开源的电话交换机软件,它在电话通讯行业中扮演着重要的角色。这款软件以其高度可定制性、灵活性和成本效益而受到全球众多企业的青睐。本文将深入探讨Asterisk在电话通讯行业的未来发展趋势及其对sip...
Asterisk是一款开源的IP电话系统,用于构建VoIP(Voice over Internet Protocol)通信平台。在本场景中,我们讨论的是Asterisk的16版本安装包,这将引导我们深入理解Asterisk的核心功能、安装流程以及如何进行编译和...