基于Asterisk的VoIP开发指南--Asterisk_AGI程序编写指南

上传人:n**** 文档编号:45888048 上传时间:2018-06-20 格式:PDF 页数:41 大小:1.46MB
返回 下载 相关 举报
基于Asterisk的VoIP开发指南--Asterisk_AGI程序编写指南_第1页
第1页 / 共41页
基于Asterisk的VoIP开发指南--Asterisk_AGI程序编写指南_第2页
第2页 / 共41页
基于Asterisk的VoIP开发指南--Asterisk_AGI程序编写指南_第3页
第3页 / 共41页
基于Asterisk的VoIP开发指南--Asterisk_AGI程序编写指南_第4页
第4页 / 共41页
基于Asterisk的VoIP开发指南--Asterisk_AGI程序编写指南_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《基于Asterisk的VoIP开发指南--Asterisk_AGI程序编写指南》由会员分享,可在线阅读,更多相关《基于Asterisk的VoIP开发指南--Asterisk_AGI程序编写指南(41页珍藏版)》请在金锄头文库上搜索。

1、基于基于 AsteriskAsterisk 的的 VoIPVoIP 开发指南开发指南(1)(1)实现基本呼叫功能实现基本呼叫功能2008/06/12说明:说明:1.本文档探讨基于 Asterisk 如何实现 VoIP 的一些基本功能,包括基本呼叫功能的方案选取、主叫号码透传、如何编写 Asterisk AGI 程序、Radius 认证计费模块等。2. 本文档 VoIP 软终端使用 X-Lite,其它终端均可以接入测试。3. 文章内容仅供参考,转载请注明出处。1 1 VoIPVoIP 系统相关协议和标准系统相关协议和标准由于 I P 电话技术标准的开发涉及多个领域,因此,VOIP 系统要想实现这

2、些 IP电话之间的通信,则必须提供支持这些协议的实现。目前主要涉及的协议如图 1-1所示,其中除了 HTTP 是与 WWW 相关的协议外,其它的都是 VOIP 相关协议。图 1-1 所有基于 IP 协议的协议族由图 1 -1 可以看出,与 VOIP 相关的协议共分五层,每一层又由许多协议组成。目前有关 IP 电话制定的标准体现在应用层。而应用层又可分为信令控制协议、网关控制协议、媒体编码和传输协议和 QOS 协议等。1. 信令控制协议,目前被广泛接受的 IP 电话控制信令体系主要有 ITU-T 的H.323 系列和 IETF 的会话初始化协议(SIP)。2. 网关控制协议,网关控制协议主要有媒

3、体网关控制协议(MGCP)。该协议是为 了解决目前 IP 电话负担过重,不能满足未来容量和业务扩展的要求而设计的。3. 媒体编码,媒体编码主要有两类视频编码和音频编码。视频编码主要有H.261 和 H.263。音频编码主要有 G. 7xx 系列。4. 实时传输协,实时传输协议有包括了实时传输协议(RTP)、实时传输控制协 议(RTCP)、实时流协议(RTSP)和资源预留协议(RSVP)。相关的协议标准可以参考相应的网上资料,在这不细述。2 2 AsteriskAsterisk 简介简介Asterisk 是一个开源的软件包, 它可以运行 PBX 的所有功能, 通常运行在 Linux操作系统平台上

4、。 它不仅包含了 PBX 的功能, 同时还有其它一些附加特性。 Asterisk可以用三种协议来实现 VoIP,同时可以与目前电话使用的标准硬件进行交互通信。Asterisk 提供了附加的语音邮件服务、电话会议、交互语音应答、呼叫排队等基本电话服务。它还提供了多方呼叫、显示呼叫者 ID(显示主叫号码)等服务Asterisk 在实现 VoIP 时,不需要任何附加硬件,DDD 软交换所采用的也是这种使用方式。但是,如果企业没有与 VoIP 语音网关运营商建立合作关系,想要自己构建这样的一个平台,那么要和数字电话设备与模拟电话设备进行交互通信,Asterisk 需要一个 PCI 硬件的支持,这个硬件

5、生产商中最著名的是 Digium 平台提 供的。Asterisk 的结构基本上是十分简单, 但是它不同于大多数的电话产品。 基本上,Asterisk 担任的是一个中间件的功能,它连接了底层的电话技术和上层的电话应用。Asterisk 为布局混合的电话环境提供了一致性。Asterisk 是开源 PBX (Private Branch eXchange)和 IVR (Interactive Voice Response)系统。使用兼容的 PCI 硬件, Asterisk 支持传统的电话线路, 包括:TDM(Time Division Multiplexing), TI/ElPRI/PRA此外,还能

6、提供呼叫控制信令、呼叫管理等其他功能。要构建一个稳定可靠的、实用的 VoIP 网,离不开 GK 的管理。基于 VoIP 语音网关的复杂性与成本昂贵,本文档不使用这种方案。方案 2:VoIP 电话/IP 电话+商业 IP-PBX 设备+PBX+模拟电话IP-PBX 是一种基于 IP 的电话交换系统,它具有传统 PBX 交换机的所有功能, 它的目标是取代企业内部原先的 PBX。这个系统可以完全将话音通信集成到公司的数据网络中,从而建立能够连接分布在全球各地办公地点和员工的统一话音数据网络。IP-PBX 最显著的特征是一个集成通信系统,因此,通过互联网,仅需要单一设备即可为用户提供语音、传真、数据和

7、视频等多种通信方式,建立中、小型的呼叫 中心。 由于 VoIP 技术是将语音以数据包的形式在 IP 网络中进行传送, 因此采用 VoIP技术构建的通信平台,用户具有可移动的特性,形象的说就是同一个用户在 A 地用的是 011 的号码, 到了 B 地还是 011 的号码, 号码随着人走, VoIP 还支持语音信箱、多方会议、视频会议等传统 PBX 没有的功能。有助于移动办公和异地协同办公。虽然说商业的 VoIP 设备或者软件,如华为 SoftCo 5816 IP 语音交换机、贝尔阿尔卡特 A5020,他们能够更容易、方便提供丰富的 IP-PBX 业务类型,也提供了数字中继接口与 PSTN 网络方

8、便连接,并且只需要手动配置参数就可以投入到使用,不 需要大量地编程,但是这种方案需要的成本跟方案 1 差不多,比较昂贵,并且灵活性不够,所以不使用。方案 3:IP 电话/模拟电话+Linux PC 机+开源 IP-PBX+媒体网关+PBX+模拟电话基于 PC 服务器+ Asterisk 呼叫管理软件的 IP-PBX 系统,Asterisk 作为 IP 电话网络的控制中心(PC 型 PBX),该控制中心以软件方式工作,安装在一台服务器内。数字中继网关与原有传统 PBX 的 E1 中继接口相联(在这里媒体网关特指单独的 VoIP 落地网关运营商的语音网关设备, 本文档让 Asterisk 与之对接

9、实现 IP 与 PSTN 的完美转换),VoIP 媒体网关提供的多路数字设置为中继模式,一端连接 PSTN 专网,一端对接 Asterisk 软交换 IP 侧。在控制中心的服务器上对 IP 电话号码进行分配。通过适当调整控制中心软件的参数以及添加、修改某些模块代码,即可完成本文档最 终完成的 IP 电话系统的建设。如果使用专用、商业的 IP-PBX 系统,可能会花费不菲,所以本文档使用方案 3。本节的目标就是基于开源 IP-PBX Asterisk 设计 VoIP 电话系统的基本呼叫功能 模块、认证计费功能模块、AGI 功能模块等。4.2 VOIP 系统的基本组件一般 VOIP 系统基本组件组

10、成如图 4-1 所示。图 4-1 VOIP 系统的基本组成IP- PBX 主要功能组件如图 4-1 所示,下面讨论这些基本功能组件。1. 呼叫控制器 IP 电话系统的智能部分, 它负责提供一切传统 PBX 系统的中心-PBX 交换机所能提供的服务。负责控制所有的呼叫建立和呼叫管理,能轻易提供大部分基本服务(如呼叫保持、 呼叫转移、 呼叫等待等), 以及配置电话的分机号码(Extension Number)、功能按钮、通话管理和路由决策功能。此外,它还控制所有的 PC 虚拟电话功能,如语音邮件、统一消息、自动话务员、交互式语音响应(IVR)和自动呼叫分配等。2. 媒体网关在 IP-PBX 系统中

11、,媒体网关用来实现 IP 网络和传统电路交换网的通信,负责把呼叫转接到 PSTN 网,完成异种网络的电话呼入和呼出。它除了具有接通被叫的功 能外,还可以把来自 PSTN 的呼叫连接到 IP 电话系统。媒体网关在整个 VoIP 系统中起着非常关键的作用。它不仅使 VoIP 系统能够连接 PSTN 用户,而且能够增加整个系统的可靠性,使系统具有处理紧急呼叫的能力。媒体网关还需要完成语音编码转换,通信协议转换以及 LAN/WAN-PSTN 之间的呼叫建立拆除等功能。3. 局域网接入模块提供 IP-PBX 系统各组件之间的连接。在局域网的环境中,该模块可以使用局域网交换机来代替。4. 控制中心包括资源

12、管理系统、计费系统、网管系统、语音信箱等。5. 信令网关提供和其它信令网络的互通功能,可以支持 H.323,IAX,SIP,MGCP 等的全部或者部分功能。6. 应用服务器为 IP-PBX 系统提供增值应用。7. I P 话机终端包括终端部分软件 PC Phone,I P-Phone 等。8. 模拟终端普通电话,传真机等传统模拟设备。本文档 IP-PBX 系统的基本组件1VoIP 软终端 X-Lite,对应图 4-1 的 PC PHONE:PC 用户使用 SIP 软终端(目前只 使 SIP 协议作为输入信令)访问 IP-PBX 服务器软交换后台,对普通座机或手机发起呼叫,实现 PC2Phone

13、 的通讯。2 IP-PBX(VoIP 软交换), 对应图 4-1 的呼叫控制器: 基于开源软交换平台 Asterisk, 接受 VoIP 软终端(或其它能发起 SIP/H323 请求的硬件终端)发起的呼叫信令、解析被叫号码、构建 VoIP 语音数据包发送到 IP 网络中。3语音网关,对应图 4-1 的媒体网关、信令网关,因为实际使用中大部分的媒体网 关设备都集成了信令网关功能:提供模拟语音信号和 VoIP 信令的转换,即从 IP 网络进入的 VOIP 数据包被转换成模拟语音,通过与 PBX 相连的数字中继线路进入到PBX(数字程控交换机)。4数字程控交换机(PBX):用于电话交换网的交换设备,

14、它以计算机程序控制电话 的接续, 从语音网关的 E1 数字中继线路送出来的 7 号信令或 1 号信令或 PRI 信令以及模拟语音数据包进入到数字程控交换机。4.3 VOIP 系统的软硬件平台第 1 节已经简单介绍过 Asterisk,它是一个非常灵活的软件,可以轻松的安装在任何 Linux 平台上。Asterisk 的资源需求与其它的嵌入式、实时的应用系统很类似,都是通过优先级的方式来访问 CPU 和总线,并规定系统上的任何函数都不能直 接调用比 Asterisk 优先的进程。对于非专业的系统而言,这也许不是很重要,如果目标是商用系统,这种优先级方式带来的性能上的缺陷会引起通话质量的问题。比如

15、,经常出现回声、噪音等等。这种情况在手机超出服务区外的时候常常出现。由于对于 Linux 的内核代码和优化技巧不是很了解,选择一个高的配置,而不是重新 对内核进行编程,是一个比较好的主意。硬件平台硬件平台表 4-1 可以对系统的硬件配置有一个大概的认识表 4-1 VOIP 系统的硬件配置系统并发通话数量 最小要求非专业系统15双处理器, 在分布式构架里采用多个服 务器集群对于要安装 Asterisk 的计算机,如果在预算有限的情况下,下面是一些建议:系统的稳定性及质量取决于所选择主板的结构设计,考虑使用服务器主板是一个很 好的主意。比如服务器主板提供的 PCI 插槽有 3.5V 和 5.0V,

16、服务器主板可以给主板提供更稳定的电压和电流。而且,语音卡常常会造成每秒 100 个以上的中断请求,所以对于主板来说,一定要仔细考察芯片组是否能供支持。安装 PCI 显卡,而不是 AGP 显卡,因为 AGP 通道会造成内存的高占用率和 CPU中断占用。如果采用工控机/服务器构架,根本没有安装显卡,而是使用 Console来管理系统。对于 CPU 而言,由于 Asterisk 使用 CPU 进行信号的模数转换(也就是 说 CPU 具有 DSP 的作用),所以浮点运算能力是非常重要的,同时 CPU 的 L2Cache也应该尽量的大。1. 专有板卡的准备如果准备连接 Asterisk 系统到任何电信设备上去, 必须需要一个专有硬件的支持。板卡的主要功能是连接 PSTN 和 LAN/WAN。为了桥接电路交换的电信网络和包交换的数据网络, 最流行和最经济的连接 PSTN 的方法是使用接口卡, 接口卡有好几种, 这里仅仅讨论常见的两种情况。(a)模拟接口卡PSTN 介入情况是普通的电话线或者模拟中继电话线的时候,就需要这种卡。最流行的 Asterisk 模拟接口卡也许是 TDM4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号