《基于Asterisk多种接入方式的VoIP系统研究》由会员分享,可在线阅读,更多相关《基于Asterisk多种接入方式的VoIP系统研究(7页珍藏版)》请在金锄头文库上搜索。
1、 -1- 基于基于 Asterisk 多种接入方式的多种接入方式的 VoIP 系统研究系统研究1 徐冲,高泽华,赵荣华 北京邮电大学光通信与光波技术教育部重点实验室,北京(100876) 摘 要:摘 要:对基于 Asterisk 多种接入方式的 VoIP 系统做了较详细的介绍及应用分析。首先介 绍了整个基于 Asterisk 的 VoIP 系统结构以及多种接入方式的应用。然后对系统平台关键实 体:核心服务器 Asterisk 的配置文件,拨号方案,多种业务功能;终端实体的各功能模块以 及媒体数据流程做了详细的分析。 关键词:关键词:VoIP 系统,Asterisk,sip 1. 引言引言 19
2、95 年以色列 VocalTec 公司所推出的 Internet Phone, 不但是 VoIP 网络电话的开端, 也 揭开了电信 IP 化的序幕。人们从此不但可以享受到更便宜、甚至完全免费的通话及多媒体 增值服务,电信业的服务内容及面貌也为之剧变。VoIP 最大的优势是能广泛地采用 Internet 和全球 IP 互连的环境,提供比传统业务更多、更好的服务。VoIP 可以在 IP 网络上便宜的传 送语音、传真、视频、和数据等业务,如统一消息、虚拟电话、虚拟语音/传真邮箱、查号 业务、Internet 呼叫中心、Internet 呼叫管理、电视会议、电子商务、传真存储转发和各种信 息的存储转发
3、等。 Wi-Fi,WiMAX 等无线技术的出现及迅速发展使得无线 VoIP 成为现实,为医院、工厂、 机场和大型商场等员工在场所内移动又需要与其他人保持联系的移动办公系统提供了优秀 的解决方案;随着全世界电子产品价格的不断下降,终端设备的成本也越来越低廉。随着无 线接入技术以及 VoIP 技术的不断发展成熟,无线 VoIP 会越来越普及。 作为 VoIP 系统的核心服务器 IP PBX 可以完全将话音通信集成到系统总的数据网络中, 从而建立能够连接分布在全球各地终端的统一话音和数据网络。IP PBX 最显著特征是成为 一个集成通信系统,通过电信网和互联网,仅需要单一设备即可为用户提供语音、传真
4、、数 据和视频等多种通信方式。还可以建立中、小型的呼叫中心。 2. 基于基于 SIP 协议的典型协议的典型 VoIP 系统结介绍系统结介绍 图 1 说明了一个典型 SIP 系统的结构。 SIP 实体是连在 IP 网上的软件或硬件实体。 从网 络拓扑来看,他们是通过 SIP 信令连接的终端系统。IP 层提供了传输信令消息与用户数据的 通道。图 1 中的 media gateway 提供了 INTERNET 网与 PSTN 网的互连。它提供了两种网络 之间在信令层和数据传输层上的转换。SIP 系统中的多媒体计算机和 IP 电话机等多种终端 设备。在通话中,他们都既可以作为主叫也可以作为被叫。因此,
5、 两个程序 UAC ( user agent client) 以及 UAS ( user agent server)都被安装在一个 SIP 终端设备中。 用户可以通过 UAC 发 起一个呼叫。UAC 也就代表主叫用户参与信令过程。而 UAS 就代表了被叫。SIP 显然使用 了 client - server 模型。在 SIP 系统中有三种不同的服务器: 代理服务器(proxy server) ,重定 向服务器(redirection server) 以及注册服务器(registrar server) 。在图 1 中,我们只标示了代理 服务器。 虽然位置服务器(例如 DNS 服务器) 没有被算
6、SIP 实体,但是他们对于 SIP 的运行至 关重要。 1本课题得到国家自然科学基金(60602005)的资助。 -2- Internet 路由器 Internet 媒体网关 PSTN SIP电话 SIP代理服 务器 模拟电话 电脑 图 1 典型 SIP 系统的结构 SIP 使用类似于 Email 地址的方式标志用户(其实, Email 地址是 SIP 地址的一种) , 例如 。如果用户拥有 PSTN 电话号码,那么他也可以把电话号码嵌入 SIP 地址 中, 例如 4062091297gatway_。 SIP 与 HTTP 相似而且兼容。 例如, 当 URL sip: 被鼠标点击后,web 浏
7、览器就会自动开始一个 SIP 对话。 SIP 能很容易地 与一些 HTTP 服务集成, 例如 DNS 把一个地址翻译成 IP 地址。 由于这些原因, SIP 这些年来 变得越来越流行。 不同的 SIP 实体通过发送和接受 SIP 消息合作以完成一个信令过程, 而 IP 层则提供了必须的传输功能。 3. 基于基于 Asterisk 多种接入方式的多种接入方式的 VoIP 系统平台设计系统平台设计 3.1 多种接入方式多种接入方式 VoIP 网络的实现方案网络的实现方案 随着接入技术的不断发展,VoIP 网络电话由最初以软件形式实现的 PC to PC 间的通话 发展到现在多样化接入方式,如图 2
8、 所示。 -3- 图 2 多种接入方式的 VoIP 系统结构 ? IP 话机在电信业的出现是令人振奋的变化,通过网线将话机直接与 IP 网络相联, 快捷方便的实现通话,视频等多媒体数据增值业务。 ? Wi-Fi 技术的出现及迅速发展使得无线 VoIP 成为现实,为医院、工厂、机场和大型 商场等员工在场所内移动又需要与其他人保持联系的移动办公系统提供了优秀的 解决方案;随着全世界电子产品价格的不断下降,终端设备的成本也越来越低廉。 ? Wi-MAX 的出现可能会是传统手机消失的开端,将来在无线 Internet 接入到绝这大 多数小区的情况下,昂贵的手机服务还有什么价值?VoIP 提供的语音,视
9、频等多 种多媒体数据业务将很好的在 Wi-MAX 终端实现。 ? 多年来传统模拟话机已经广泛应用于每家每户, 我们可以很方便的利用已有的模拟 电话来实现 VoIP 接入。通过 Channelbank(信道复用器)将传统模拟话机连接到 E1/T1 线路,最终连接到 Asterisk 服务器,实现大范围,廉价的 VoIP 接入。 3.2 系统平台关键实体系统平台关键实体 3.2.1 基于基于 IP PBX Asterisk 的服务器的服务器 该 VoIP 系统平台是基于 Asterisk 构建的, 作为网络核心的 Asterisk 是一个由 Digium 公 司发起的基于 Linux 操作系统上的
10、开放源代码的软件,它以软件的方式不仅实现了 PBX 的 -4- 所有功能,还实现了软交换系统,媒体服务器和 VOIP 网关所有功能。1结合合开源数据库 Mysql 和开源编程语言 PHP,为局域网内的无线终端用户提供三方会谈,主叫显示,呼叫等 待,动态呼叫转移,语音信箱,电话会议,交互语音应答(IVR) ,自动呼叫分配(ACD) , 视频服务。将每个用户的信息,如用户名,密码,IP 地址,语音信箱的配置信息都储存在 和 Asterisk 运行载一台主机的 Mysql 数据库中,用户通过 WLAN 连接到 Asterisk 服务器就 可以互相通话,在语音信箱中留言,并且所有呼叫详细记录(CDR)
11、 。用户及其语音信箱的 数据存储在 Mysql 数据库中,可以通过由 PHP 语言开发的基于 Web 的应用程序来维护。根 据 Asterisk 服务器生成的 CDR 信息,可以控制通信流量,进行流量统计和通话计费。 我们只需在 Asterisk 上通过对 zaptel.conf,zapata.conf,sip.conf,extensions.conf, voicemail.conf 和 meetme.conf 进行配置就可以通过固定模拟电话,SIP 电话以及无线终端实 现常规呼叫,语音信箱和电话会议等所有功能。2 zaptel.conf:用于配置连接传统模拟电话硬件接口,建立一个 FXS 和
12、 FXO 通道。 zapata.conf:用于为系统中安装得电话硬件配置 Asterisk 接口。包括两个部分的配置, 一个是trunkgroups用于配置 NFAS 和 GR-303 连接,另一个是channels用于决定硬件通道 和他们选项的信令方式。通过 zaptel.conf 和 zapata.conf 对 FXS/FXO 接口通道进行配置,我 们可以将模拟话机经过 FXS 接口,PSTN 经过 FXO 接入到 Asterisk 服务器,实现 VoIP 的落 地。 Sip.conf:用于配置 sip 协议。该文件的开始是一个generalsenction,包含通道设置,所 有用户和对端
13、的默认选项。可以对系统注册的每个用户设置用户名,连接类型,认证密码和 指令地点(用于控制电话的权限,以及如何处理此号码的呼入呼叫) 。 Extensions.conf: 用于配置拨号方案。 该文件由四部分组成: contexts, extensions, priorities 和 applications。通过对这四部分进行配置,Asterisk 就可以根据主叫号码和被叫号码对所有 相应的呼入呼出进行的一系列的有序处理。 voicemail.conf:用于配置语音信箱。该文件包含语音信箱系统设置的分类,为用户设置 特定的邮箱号码, 邮箱的用户名以及邮箱密码等相关信息, 这样就可以客户化配置语音
14、邮件 系统到想要得状态。 本课题得到国家自然科学基金(60602005)资助 meetme.conf:用于配置 MeetMe 会议系统。在配置文件中,我们可以定义会议室和进入 会议的密码来建立一个电话会议。 3.2.2 终端实体终端实体 在诸如 IP 话机,Wi-Fi 以及 Wi-MAX 等终端使用语音模块来完成数模转换,信令处理, 语音分组编解码, 回音消除等功能, 配合相应的物理层传输芯片组来完成物理层和介质访问 层的功能。 图 3 是终端 SIP 协议栈里业务数据及 SIP 信令的传输流程, 最初的模拟语音信息经过编 码压缩,通过 RTP 层传输到 UDP 层。RTP 层在 UDP 层之
15、上,提供一种无连接的传输。SIP 使用 RTP 和 UDP 以避开 TCP 的重传机制以及拥塞控制机制。RTP 可以通过 IP 网传输实时 语音与图像数据传输。 它提供了时间戳与同步机制, 方便接受端实时播放语音与图像。 RTCP 协议提供了对 RTP 传输的控制。但是, 一般的 SIP 信令消息的传输并不需要通过 RTCP 层。 SIP 应用程序当然也可以用 RTCP 以实现一些功能, 例如主被叫通过 RTCP 交换各自的身份 标志。最后将经过 IP 层打包好的数据分组包通过物理层传输到目的地。5 -5- 图 3 终端 SIP 协议栈结构 目前主要的编码技术有 ITU-T 定义的 G.729
16、、G.723、G.723.1 等。其中,G.729 可将经过 采样的 64kbit/s 语音以几乎不失真的质量压缩至 8kbit/s。由于在分组交换网络中,业务质量 不能得到很好保证,因而需要语音编码具有一定的灵活性,即编码速率、编码尺度的可变可 适应性。G.729 原来是 8kbit/s 现在的工作范围扩展至 6.4kbit/s11.8kbit/s,语音质量也在此 范围内有一定的变化。G.723.1 采用 5.3/6.3kbit/s 双速率语音编码,其话音质量好,但是处理 时延较大。表 1 是 G.723.1、G.729 和 G.729A 的部分性能比较。 表 1 G.723.1、G.729 和 G.729A 的部分性能比较4 编码方法 G.723.1 G.729 G.729A 比特率 5.3/6.3kbit/s 8kbit/s 8kbit/s 帧长度 30ms 10ms 10ms 处理时延