(通信与信息系统专业论文)双协议栈语音网关关键技术研究与实现.pdf_第1页
(通信与信息系统专业论文)双协议栈语音网关关键技术研究与实现.pdf_第2页
(通信与信息系统专业论文)双协议栈语音网关关键技术研究与实现.pdf_第3页
(通信与信息系统专业论文)双协议栈语音网关关键技术研究与实现.pdf_第4页
(通信与信息系统专业论文)双协议栈语音网关关键技术研究与实现.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京邮电大学硕士研究生学位论文摘要 双协议栈语音网关关键技术研究与实现 摘要 随着宽带网络技术日新月异的发展,i p 网络中传输的信息已由 单纯的文本数据演变到多媒体信息( 如语音、视频等) 。i p 电话作为 一种价格低廉的通信方式,凭借相对于传统的电路交换网络的独特优 势,成为下一代网络( n g n ) 的发展目标之一。如何为普通家庭用户 提供一种性价比高、使用方便的潜入式v o l p 解决方案,正是本文研 究的重点。本文设计的双协议栈语音网关提供r j l1 、r j 4 5 端口,通 过a d s l 或l a n ,把普通电话机接入i n t e r n e t ,可以进行网关间直接 通话,也可通过软交换平台实现通信。 在i p 网络上传输语音包括两个步骤,一是呼叫建立,二是媒体 传输。本文围绕这两个方面的内容进行了对双协议栈语音网关的研 究,首先说明了v o l p 的基本原理,比较了不同的实现方式,从中选 取h 3 2 3 和s i p 作为信令交互协议栈;然后介绍了基于a r m 的系统 硬件平台,分析并且设计了基于r t o s ( 实时操作系统) v x w o r k s 的 系统软件,包括软件架构的设计,核心控制模块f s m ( 有限状态机) 的实现和改进,音频处理模块的设计,多路处理和以及一些其他辅助 功能的实现。 测试结果表明,本文所设计的双协议栈语音网关性能稳定,语音 质量良好,达到了预期的目标。 关键字:v o l p 网关h 3 2 3s i pv x w o r k s 北京邮电大学硕士研究生学位论文摘要 r e s e a r c ha n d 洄l e n 抖t a t i o n o fk e yt e c h n o l o g i e sf o r d u a ls t a c kv o i pg a t e 硷y a bs t r a c t d u et ot h er a p i dd e v e l o p m e n to fc o m p u t e ra n db r o a d b a n dn e t w o r k t e c h n o l o g y , t h ei n f o r m a t i o nt r a n s f e r r e db yi n t e r n e t i sc o n v e r t i n gf r o m s i m p l et e x tt om u l t i m e d i ac o n t e n t ,s u c ha sv o i c ea n dv i d e o c o n t r i b u t e d t oi t s1 0 wp r i c ea n dt r e m e n d o u sa d v a n t a g e sc o m p a r e dw i t hp s t n 、,o i p h a sb e c o m eo n eo ft h ea i m so fn g n w h a tt h i st h e s i sr e s e a r c h e si sh o w t op r o v i d eo r d i n a r yf a m i l i e sw i t hh i g hp e r f o r m i n ga n dc o n v e n i e n tv o i p s o l u t i o n s t h i sd u a ls t a c kv o i pg a t e w a yd e s i g n e db yt h i st h e s i sp r o v i d e s r j1 1 ,u s e dt oc o n n e c tp o t s ,a n dr j 4 5 ,u s e dt oc o n n e c ta d s lo rl a n , s o ,t e l e p h o n ec a l l sc a nb ec o n d u c t e dd i r e c t l yo rt h r o u g hg a t e k e e p e r w h e nv o i c ed a t aa r ec a r r i e do ni pn e t w o r k ,t h e r ea r et w os t e l ) s ;o n e i st os e tu pt h es e s s i o n a n dt h eo t h e ri st ot r a n s f e rm e d i aa c r o s st h e n e t w o r k a r r o u n dt h e s e s f o l l o w i n gs e v e r a le x p l a n a t i o n so ft h eb a s i so f v o i p c o m p a r a t i o no fd i f f e r e n ts o l u t i o n s ,a n dt h ec h o o s eo fh 3 2 3a sw e l l a ss i pa st h es t a c k s t h i st h e s i si n t r o d u c e sh a r d w a r ep l a t f o r mb a s e do n a r m ,a n di l l u s t r a t e ss o f t w a r eb a s e do nv x w r o r k s ,i n c l u d i n gs o f t w a r e a r c h i t e c t u r e ,f s m ,v o i c em o d u l e ,a n do t h e ra s s i s t a n tf u n c t i o n s i ti st e s t e dt h a tt h ed u a ls t a c kv o i pg a t e w a yd e s i g n e di nt h i st h e s i s p e r f o r m sw e l la n dh a sg o o dv o i c eq u a l i t y k e yw o r d s :v o l pg a t e w a yh 3 2 3s i pv x w o r k s 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处, 本人签名: 蕴i 二圆 本人承担一切相关责任。 日期: 全! 塑:芝! 兰! 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名:型二盈 导师签名: 日期:兰竺墨呈:兰 日期:! 墨:至! 北京邮i 乜人学硕 :研究生学位论文第一章绪论 第一章绪论 1 1 研究背景 传统的公共电信网( p s t n ) 是以6 4 k b i t s 的话音信道为基本单元的电路交换 模式进行交换、选路和传送用户信息的体系结构。在这种体系结构中,呼叫选路 和特征业务的智能化控制都紧紧地和交换机的处理软件、网络架构捆绑在一起, 使得开发和部署增值的个性化业务变得相当困难。 在最近二十年中,电信业务已经快速地向简单电话、传真等以外的业务扩张, 这些业务已经彻底改革了人们彼此之间通信的方式。类似地,数据业务也从开始 时的视频文字快速转向今天的w e b 和i n t e m e t 发展。综合的话音和数据业务可以被 重新定义为是在基于分组的网络上,为终端用户提供话音、数据和视频业务的集 成。按照现行的网络观点,下代网路将是以业务为中心的。 v o l p 通常被称为i p 电话,从广义上讲,只要在语音的呼叫过程中涉及到了 i p 协议,就可以把这类呼叫统称为v o l p 。v o l p 业务一般是指在以i p 协议为网络 层协议的计算机网络中进行的话音通信。 v o l p 技术是通过对模拟话音信号进行数字化编码和压缩处理后生成压缩帧, 然后转换为i p 数据包在i p 网络上进行传输,从而实现在i p 网络上进行话音通 信的目的。由于v o l p 技术的应用促进了网络资源的利用,降低了话音业务的实 现成本,从而节约用户通信的费用。i p 电话业务具有下述特点: ( 1 ) 因为目前的i p 网是为非实时数据业务设计的,因此在i p 层面并不支 持差错检测和纠错的能力,网这种“尽力而为的特点,使得v o l p 无法具有 和传统电话一样高的可靠性和良好的话音质量,特别是在i p 网路发生拥塞时, 话音质量难以保证。 ( 2 ) v o l p 业务中的话音信息的传送不需要占用固定的信道,同时压缩技术 的采用,甚至可以将话音信息压缩到8 k b i t s ,比其话音传送所占用的带宽要低。 ( 3 ) 由于i p 网络的异步时分复用和存储转发的特点,使得v o i p 的话音信 息传送延时一般较长,由于i p 网络中节点性能的不确定性,也使得分组信息的 时延并不固定,并且在传输过程中可能出现分组信息丢失的现象。 从2 0 世纪9 0 年代中期v o l p 的出现,到现阶段v o l p 业务的如火如荼的发展, 对传统电信业产生了巨大影响。随着v o i p 技术的广泛应用,在带动了传统电信 业务向宽带多媒体应用发展的同时,也推动着传统电信业向下一代网的转变。 驱使i n t e m e t 话音业务飞速发展的因素主要是价格。相同通话时间,通过 i n t e r n e t 话音服务花费的费用仅仅为通过传统话音服务花费的费用的几分之一甚 北京邮l u 人学硕i j 研究生学位论义 第一章绪论 至几十分之一,其价格差异如此地悬殊,i n t e r n e t 电话的发展速度也就可想而知了。 另一个因素是技术的发展,以往i n t e r n e t 电话留给人的印象是话音质量低劣、延迟 长、经常断,但随着技术的发展,这些现象将不复存在。一方面随着i t uh 3 2 3 和i e t fs i p 等系列协议的推出,使得i n t e r n e t 电话的规范逐步完善,各厂商的设备 可以互通,另一方面i n t e r n e t 网络硬件设备性能的提高也为i n t e m e t 电话的顺畅提 供了保障,最后话音压缩技术的发展也为i n t e r n e t 电话的发展铺平了道路f 1 1 。 v o l p 业务根据主被叫的终端特点,被分为4 种组合业务方式,即: p h o n e p h o n e ,p h o n e p c ,p c p h o n e 和p c p c 。对于普通用户,驻地用户应用型 网关是实现p h o n e p h o n e 的一种实现形式,p o t ( p l a i no l dt e l e p h o n e ,普通电话) 通过r j l l 端口与这种网关相连,网关通过l a n 、a d s l 或其他接入方式接入分 组网络,其除了完成用户环路信令功能,通过相关控制协议与分组网络中的实体 进行信令交互,同时完成来自p o t s 的话音媒体流的数字化和分组化【羽。 1 2v o l p 系统实现的分析和比较 1 2 1 基于h 3 2 3 协议的v o l p 技术 i t uh 3 2 3 系列建议定义了在无服务质量保证的i n t e r n e t 或其它分组网络上多 媒体通信的协议及其规程。h 3 2 3 最初是作为不保证服务质量的局域网上的多媒 体通信协议而提出的,但现已发展成为满足i p 电话技术要求的协议系列。 h 3 2 3 很大程度上建筑在u 以前的有关多媒体的协议( 如h 3 2 0 ,h 3 2 1 等) 的基础之上,相关的协议包括用于控制的h 2 4 5 ;用于建立连接的h 2 2 5 0 ;用于 大型会议的h 3 3 2 ;用于补充业务的h 4 5 0 1 ,h 4 5 0 2 和h 4 5 0 3 等。 h 3 2 3 呼叫建立过程涉及到三条信令控制信道:r a s ( r e g i s t e r ,a d m i s s i o n , s t a t u s ) 信令信道、呼叫信令信道和h 2 4 5 控制信道。通过这三条信道的协调使得 h 3 2 3 的呼叫得以进行。r a s 信令功能使用h 2 2 5 0 消息来完成端点与关守之间的 登记注册、授权许可、带宽改变、状态和脱离解除等过程。当网络中没有关守时, 不使用r a s 信令信道。 呼叫信令功能使用h 2 2 5 消息来建立两个h 3 2 3 端点之间的连接。当系统中没 有关守时,呼叫信令信道在呼叫涉及的两个端点之间打开。当系统中包含关守时, 有两种情况,将由关守选择,直接路由就是仅在, 乎n t t 端点间开辟一条呼叫信令信 道;间接路由需要通过关守,两个端点都要与关守建立呼叫信令信道。h 2 2 5 中 指定,进行呼叫信令过程时使用的主要为q 9 3 1 消息。 h 2 4 5 控制功能使用h 2 4 5 控制信道来传输端到端的控制消息,以管理h 3 2 3 实体的操作,包括主从判别、能力交换、打开和关闭逻辑信道、模式参数请求、 和通用命令与指示等1 3 j 。 2 北京邮i 也大学硕士研究生学位论文第一章绪论 1 2 2 基于s i p 的、,0 i p 技术 s i p 是i e t f 提出来的一个应用层控制( 信令) 协议。它可用来创建、修改以 及终结多个参与者参加的多媒体会话进程。参与会话的成员可以通过组播方式、 单播连网或两者结合的形式进行通信。 s i p 中有客户机和服务器之分。客户机是指为了向服务器发送请求而与服务 器建立连接的应用程序。用户代理( u s e r a g e n t ) 和代理( p r o x y ) 中含有客户机。服 务器是用于向客户机发出的请求提供服务并回送应答的应用程序。共有四类基本 服务器: ( 1 ) 用户代理服务器。当接至i j s i p 请求时它联系用户,并代表用户返回响 应。 ( 2 ) 代理服务器。代表其他客户机发起请求,既充当服务器又充当客户机。 在转发请求之前,它可能改写原请求消息中的内容。 ( 3 ) 重定向服务器。它接收s i p 请求,并把请求中的原地址映射成零个或多 个新地址,返回给客户机。 ( 4 ) 注册服务器。它接收客户机的注册请求,完成用户地址的注册。 用户终端程序往往需要包括用户代理客户机和用户代理服务器。代理服务 器、重定向服务器和注册服务器可以看作是公众性的网络服务器。在s i p 中还经 常提到定位服务器的概念,但是定位服务器不属于s i p j 艮务器。 s i p 在设计上充分考虑了对其它协议的扩展适应性。它支持许多种地址描述 和寻址,包括用户名 主机地址;被叫号码 p s t n 网关地址;t e l :0 1 0 6 2 2 8 4 4 4 9 普通电话的描述等。这样,s i p 主叫按照被叫地址就可以识别出被叫在传统电话 网上的位置,然后通过一个与传统电话网相连的网关发起并建立呼叫。s i p 的最 强大之处就是用户定位功能。s i p 本身含有向注册服务器注册的功能,也可以利 用其它定位服务器提供的定位服务来增强其定位功能。 s i p 规定了六种基本方法:i n v i t e ,a c k ,c a n c e l ,o p t i o n s ,b y e , r e g i s t e r 。其中i n v i t e 和a c k 用于建立呼叫,完成三次握手,或者用于呼叫 建立以后改变会话属性;b y e 用以结束会话;o p t i o n s 用于查询服务器能力; c a n c e l 用于取消已经发出但未最终结束的请求;r e g i s t e r 用于客户机向注册 服务器注册用户位置等信息。 s i p 协议支持三种呼叫方式:由用户代理客户机( u a c ) 向用户代理服务器 ( u a s ) 直接呼叫,由u a c 在重定向服务器的辅助下进行重定向呼叫和由代理服 务器代表u a c 向被叫发起呼叫i 钔。 1 2 3 基于传统i n t e r n e t 的w e b 电话 与s i p 和h 3 2 3 协议不同的是,基于传统i n t e r n e t 的w e b 电话主要利用的是 3 北京邮也人学侦l :研究生学位论文 第一市绪论 i n t e m e t 作为v o l p 的传送平台,把w e b 服务器作为v o l p 业务的交换平台。对于这 类v o l p 应用,用户终端问并不能直接进行端到端的通话,而是必须要通过提供 v o l p 业务的w e b 服务器来把用户间端到端的信息进行转发。 由于是属于互联网的技术应用,因此在实现上与传统的电信业务不同,并没 有统一的技术标准。通常这类业务是互联网的业务提供者或者是软件开发商,通 过在互联网上部署提供w e b 电话业务的服务器,并向用户推送w e b 电话的客户端 软件,来实现该类应用的推广。 1 2 4 基于软交换的v o l p 业务 从协议发展的角度,基于软交换的v o i p n 是把上述几种技术协议进行了更 深层次的融合,一方面从设备本身来讲,软交换网络可以实现同这些网络和终端 进行互通,同时也通过更为严格的标准定义,规范出了在业务层面,用户与网络 的接口划分。 在用户的接入层面,软交换的引入增加了终端的接入灵活性,不仅可以接入 h 3 2 3 矛1 s i p 的终端,也可以提供对m g c p 和h 2 4 8 协议的终端接入,特别是综合 接入设备的实现,把传统电信网络上的一些简单终端也接入到网络中。 在网络层面,由于把网络节点上的媒体处理功能分离到了终端或网关上,从 而使得网络的处理能力大幅度提高。加之软交换在业务上与控制分离,使得软交 换在提供业务时也借具有灵活性。 图1 1 表示了通过i p 网络将p o t s 连接到p s t n 的情况。p o t s 首先连接到住户 网关,r g 完成用户环路功能;然后,通过m g c p 或h 2 4 8 协议将信令传送到m g c , m g c 在信令网关( s g ) 的帮助下实现和p s t n 的呼叫连接;最后,r g 将模拟话 音媒体流数字化、分组化( r t p 格式) 后传送到中继网关进入p s t n 网络【。 媒体嘲关择制嚣 囤 | 黝嬲国一 图1 - 1 通过i p n 络实现p o t s 之间的通信 4 北京邮l 乜大学硕十研究生学位论文第一章绪论 1 2 5 不同体系的v o i p 技术的发展 从协议自身特点上讲,h 3 2 3 和s i p 分别是通信领域与i n t e m e t 领域两大阵营推 出的建议,h 3 2 3 企图把i p 电话当作是众所周知的传统电话,只是传输方式发生 了改变,由电路交换变成了分组交换。而s i p 协议侧重于将i p 电话作为i n t e r n e t 上 的一个应用,较其它应m ( 女n f t p ,e m a i l 等) 增加了信令和o o s 的要求。它们支持 的业务集基本相同,也都利用r t p 作为媒体传输的协议。但h 3 2 3 是一个相对复 杂的协议。 h 3 2 3 采用基于a s n 1 和压缩编码规则的二进制方法表示其消息。a s n 1 通常 需要特殊的代码生成器来进行词法和语法分析。而s i p 是基于文本的协议,类似 于h t t p 。基于文本的编码意味着头域的含义是一目了然的,如f r o m ,t o ,s u b j e c t 等域名。这种广布式、几乎不需要复杂的文档说明的标准规范风格,其优越性已 在过去的实践中得到了充分的证明( 现在广为流行的邮件协议s m t p 就是一个这 样的例子) 。s i p 的消息体部分采用s d p 进行描述,s d p 中的每一项的格式为 = ,也比较简单。 在h 3 2 3 中,呼叫建立过程涉及到三条信令信道:r a s 信令信道、呼叫信令 信道和h 2 4 5 控制信道。通过这三条信道的协调才使得h 3 2 3 的呼叫得以进行,呼 叫建立时间很长。在s i p 中,会话请求过程和媒体协商过程等一起进行。h 3 2 3 的呼叫信令信道和h 2 4 5 控制信道需要可靠的传输协议,而s i p 独立于低层协议, 一般使用u d p 等无连接的协议,用自己应用层的可靠性机制来保证消息的可靠传 输。 从资费上讲,基于s i p 技术和传统i n t e r n e t 的w e b 电话,在价格上有一定的优 势。而对于h 3 2 3 网络和软交换网络而言,由于设计之初瞄准的业务就是提供电 信级别的话音业务,因此其资费( 设备成本和建设成本) 就明显要高于前两者; 从网络融合和业务综合的角度来看,目前基于软交换技术的v o l p 在网络融合和业 务综合能力上是最强的;从网络发展的角度出发,无论采用哪种技术建设的网路 对于运营商而言,应当是一个安全可靠、可运营、可维护的网络,目前只有软交 换和h 3 2 3 网络在技术标准的完善程度、设备的可靠性和运营管理维护能力、计 费支撑能力上可以满足上述要求。 1 - 3 本文主要工作和后续安排 本文在双协议栈语音网关方面的主要工作是:研究了一种基于v x w o r k s 实时 操作系统,集成了h 3 2 3 署1 s i p 双协议栈的语音网关软件设计方案。 下文在第二章描述了双协议栈语音网关系统的软、硬件平台,然后在第三章 详细讲解了在网关的软件开发过程中,遇到的设计难点及其解决方法,接着在第 四章,描述了网关的测试情况,最后,对论文进行了总结,并且表明了对语音网 5 北京邮i 【1 人学侦l j 研究生学位论义第一章绪论 关后续研发的展望。 6 北京邮电大学硕十研究生学位论文第二章v o l p 叫关的系统设计 第二章双协议栈语音网关的系统设计 穿统的电话交换网络采用中心复杂边缘简单的设计模式,因而作为传统 p s t n 网络终端的普通电话机只有处理p s t n 网络信令及收发模拟语音信号的能 力,然而在以i p 分组网络为承载的v o l p 系统中,其中心简单边缘复杂的网络模 式使得终端需要做很多复杂的处理,对于传统电话机而言显然是无法实现的,而 语音网关可以在传统的p s t n 电话机和i p 分组网络之间架起一座桥梁。在p s t n 侧提供r j l l 电话接口;在分组网络侧提供r j 4 5 以太网接口,可将经过压缩、编 码、打包等处理后的r t p 语音包传送至网络。本文设计的语音网关提供p s t n 相关信令,支持h 3 2 3 和s i p 双协议栈,实现了语音信号的模数转换、语音信号 的编解码、以及语音包的打包和拆分等功能,从而实现了传统的p s t n 电话交换 网络和i p 分组网络的互通,其在网络中的拓扑如图2 - 1 所示。 图2 - 1 网络拓扑图 2 1 系统的硬件设计 根据语音网关所要实现的功能,将其硬件部分划分为:c p u 子系统;语音 编解码子系统;电话接e l 电路子系统;复位、时钟、电源等辅助芯片及电路子系 统四个子部分,并分别进行设计与实现。硬件结构示意图如图2 2 所示。 7 北京邮i 也入学顶i :i o f 究生学位论文第一二章v o l p 网关的系统设计 图2 2 语音网关硬件结构示意图 2 1 1 语音编解码子系统 为适应在以太网上进行传输,经过模数变换和p c m 编码后的语音数据仍需 要通过语音编解码子系统进行信源压缩编码。在本设计方案中,该部分由c p u 的h p i ( h o s tp o r ti n t e r f a c e ) 接口和与之相连的语音编解码器芯片 a c 4 8 3 c 及一块s r a m ( 静念随机存储器) 存储器组成。h p i 采用并行接口,用 于主处理器和a c 4 8 3 c 之间的通信及语音数据传递。a c 4 8 3 一c 又通过p c m 总 线接口与电话接口电路子系统相连,接收经过p c m 编码后的语音数据,并进行 g 7 2 9 ( 本设计方案中采用g 7 2 9 编解码方式) 或g 7 1 1 等编码处理。此外,本 设计方案采用一块1 m ba s y n c h r o n o u ss r a m 存储器与a c 4 8 3 相连,用于运行编 解码程序并暂存待处理的语音数据以提高编解码速度和质量。 2 1 2 电话接口电路子系统 本设计方案中,电话接口电路子系统由一个s l a c ( 用户线音频处理电路) 和四个s l i c ( 用户线接口电路) 芯片,以及一个振荡器电路芯片组成。s l a c 芯片的作用是将语音信号进行模数转换、实现p c m 编码,可编程选择a 率( 本 设计方案中采用a 率p c m 编码方式) 、u 率、或线型p c m 编码,并通过p c m 总线与语音编解码芯片a c 4 8 3 进行语音数据交换。该s l a c 芯片可提供4 路独 立语音通道,且分别与4 块s l i c 芯片向连接。每一路由双向语音通道和5 根状 态控制线组成,其中d e t 提供摘挂机检测、c 1 c 3 为s l a c 向s l i c 提供的状态 转移控制信号、e 1 为2 4 v 6 0 v 电压选择控制信号。s l a c 芯片的d u o 、d c l k 、 c s 、i n t 引脚通过3 个通用i o 接口和1 个中断请求引脚与c p u 相连,以实现 c p u 对s l a c 硬件初始化、对s l a c 寄存器读写操作、以及查询s l i c 状态信息 等。此外,还需要一个振荡器电路芯片为s l i c 端电话机提供铃流。 2 1 3 硬件工作流程 系统上电后,自动运行b o o t l o a d e r 引导程序,然后既可通过网口下载指定的 v x w o r k s 映像并运行,也可由b o o t l o a d e r 自动引导已经烧写到f l a s h 中的 8 北京邮电人学硕i :研究生学位论文 第二章v o l p 嘲关的系统设计 v x w o r k s 映像并运行;v x w o r k s 操作系统启动后,执行应用程序入口函数;先 将保存在f l a s h 中的c l i 配置参数读入到一个结构体类型的全局变量中,然后 分别初始化s l a c 和a c 4 8 3 芯片( 选择a 率p c m 编码和g 7 2 9 压缩编码标准) 以及消息队列初始化和启动看门狗定时器,根据c l i 配置参数选择一种方式 ( s t a t i ce t h e r n e tc o n n e c t 、d h c pc o n n e c t 、p p p o ec o n n e c t ) 创建网络连接,选择 使用的协议栈( h 3 2 3 、s i p ) ,创建c l i 、d r i v e r 、s t a c k 三个任务,最后通过c p u 通用i o 口控制四路电话状态l e d 指示灯分别点亮和熄灭表示系统初始化完成。 当某路电话( 主叫方) 摘机时,s l a c 通过s l i c 检测到电话用户摘机并通 知c p u ( 通过c p u 读写s l a c 状态寄存器) ;c p u 指示a c 4 8 3 向电话接口电路 发出放拨号音命令;a c 4 8 3 将用户电话所拨号码进行收号并做号码解析;收号 完毕并按楗后,s t a c k ( 协议栈) 开始请求与远端g a t e k e e p e r ( 网守) 或p r o x ys e r v e r ( 代理服务器) 或u s e r a g e n t ( 用户代理) 建立h 3 2 3 或s i p 连接;被叫方摘机 停放提示音,语音通道建立,进入语音通话阶段。 在语音通话阶段中,电话接口电路子系统将语音信号进行采样、量化完成 p c m 编码,使模拟信号变为数字信号;但该信号仍不适合在i p 分组网络中传输, 由a c 4 8 3 对语音信号进行g 7 2 9 压缩编码;经过g 7 2 9 编码后的语音信号再通过 打包变为更加适合实时分组业务的r t p ( 实时传输协议) 语音包;最后通过c p u 的内部以太网控制器与p h y 芯片之间的m i i 接口,将语音包从网口发送至网络 并最终传送至对端实体,由此实现语音通信。 2 2 系统软件设计 双协议栈语音网关的软件是在v x w o r k s 嵌入式操作系统基础上丌发的,分为 三大模块:d r i v e r ( 驱动) 、s t a c k ( 协议栈) 、c o n f i g u r e ( 配置程序) 。 d r i v e r 部分只运行一个任务,实现的功能主要有:a c 4 8 3 和s l a c 硬件初始化; 按照s t a c k 发出的消息做出相应处理( 包括:振铃、播放停止各种进程音、打开 关闭语音通道、收发语音信号等) ;检测硬件变化并告矢h s t a c k ( 包括:检测摘挂 机、检测双音频号码并向s t a c k 发送该号码、检测并发送语音流等) ;控制与通用 i o 接口相连的l e d 指示灯的亮、灭等功能。d r i v e r 模块消息接收处理函数工作流 程为:首先定义相关变量,然后从消息队列接收消息,判断消息类型并做出相关 处理,然后返回继续接收并处理其它消息。 s t a c k 部分基于o o h 3 2 3 、o s i p e x o s i p 开源协议栈开发而成,包括回调函数、 f s m ( 有限状态机) 任务、r t p 协议4 个任务( 有4 路电话,每路电话有一个任务 负责从网络上接收语音包) 、向硬件发送从网络上接收的语音包任务和定时器任 务的实现。其启动流程为:启动s t a c k 模块主函数、从c l i 读取参数并配置相应参 数、启动状态机、启动超时机制、启动负责接收r t p 包的t a s k 、启动负责发送语 9 北京邮1 1 1 人学硕i :研究生学位论义 第一二章v o i p 湖关的系统设计 音包到硬件的t a s k 、进入监听网络的循环。 c o n f i g 部分使用户能够通过串口或者t e l n e t g 寸n 音网关运行参数进行配置。由 c l i 任务实现其功能。 软件模块总流程如图2 3 所示。 ,7 s t a r t j 一一 i n i t _ h w l 一i 芏 一 i n i t _ m s g q l 一一j 一 萝 一 c r e a t e w a t c h d o g l t i m 竺 l 一一一 s e t u p _ c o n n e c t ! 【。、。,。一。一 f f t a s k s p a 赢 ( 蔓l i , h w d r v , s t a c k ) j 审 d i s p i a yl i g h t 一一 , ( e n d 图2 - 3 软件模块总流程图 程序进入入口函数后,会执行如下操作: ( 1 ) 对硬件进行初始化( 包括s l a c 、a c 4 8 3 、以及4 个语音通道的初始化) ; ( 2 ) 初始化消息队列及看门狗定时器; ( 3 ) 建立网络连接( 可通过3 种模式建立网络连接:s t a t i ce t h e r n e tc o n n e c t ( 即:通过静态设定i p 地址的方式接入本地局域网) 、d y n a m i ce t h e r n e tc o n n e c t ( 即:通过d h c p 动态获得i p 地址的方式接入本地局域网) 、p p p o ec o n n e c t ( 即: 通过a d s l 拨号上网的方式与电信运营商远端接入点建立网络连接) ,用户可通过 c l i 界面来完成启动参数的设置和修改从而选择其中一种方式建立网络连接) ; ( 4 ) 随后分别开启c l i 、d r i v e r 、s t a c k - - 个任务; ( 5 ) 最后将电话指示灯分别点亮后再熄灭表示系统初始化完毕。 2 2 1v x w o r k si m a g e ( 映像) 组成结构及其i d e v x w o r k s 是美国w i n d r i v e r 公司推出的一款实时操作系统,是专门为实时嵌 入式系统设计开发的操作系统软件,其核心是高性能的嵌入式实时操作系统内 核,包括多任务调度、任务问的通信和进程i 、日j 通信机制以及中断处理、看门狗和 1 0 北京邮电人学硕士研究生学位论文第一二章v o i p 网关的系统设计 内存管理机制。可以提供各种输入输出驱动,包括s c s i 驱动,网络驱动、键盘 驱动和显示驱动等。网络接口提供对其他网络和t c p i p 网络的访问。文件系统支 持多种文件系统。与硬件相关的软件中b s p ( 板级支持包) 对各种板子的硬件功 能提供了统一的软件接口。v x w o r k s 只占用很小的存储空间,并可高度裁减,保 证了系统能以较高效率的运行。 映像文件( i m a g e ) 是在宿主机上编译生成并下载到目标机上运行的程序代 码。v x w o r k si m a g e 有三种。l o a d a b l ei m a g e :由b o o t l o a d e r 引导,通过网口将 v x w o r k s 映像文件下载到r a m 中,然后启动操作系统;r o m b a s e di m a g e :将 压缩或未经压缩的映像文件烧入r o m f l a s h ,运行时将映像复制到r a m 中运 行;r o m r e s i d e n ti m a g e :i m a g e 的指令部分驻留在r o m f l a s h 中,并直接在 r o m f l a s h 上运行,仅将数据段部分拷入r a m 。 v x w o r k si m a g e 由r t o s ( 实时操作系统) w i n d 内核、b s p ( b o a r ds u p p o r t p a c k a g e 板级支持包) 、c o m p o n e n t s ( 组件) 和应用程序四部分组成。如图2 4 所 不o 42 4v x w o r k sl m a g e 组成 w i n d 内核:是一个微内核,仅提供任务的管理与调度以及同步与通信,动 态内存的管理,时钟管理和i o 管理等功能。 组件( c o m p o n e n t s ) :v x w o r k s 的组件提供了许多支持模块用于调试和扩展 微内核w i n d 的功能。这些组件是可以根据用户的要求进行裁剪的。 b s p ( b o a r ds u p p o ap a c k a g e 板级支持包) :由于v x w o r k s 提供的大部分功 能模块是与硬件无关的,因此为使其能运行于不同的处理器体系结构上,必须使 上述功能模块与硬件之间加入一层软件,并对这层软件规定标准接口,这层软件 就是b s p 。 应用程序:自定义的功能函数,针对开发需求进行设计,可以独立于操作系 统平台。 v x w o r k s 的基本开发环境包含一个目标机( t a r g e t ) 和一个宿主机( h o s t ) 。 目标机一般是丌发的电路板,其上运行v x w o r k s 和所开发的应用程序;宿主机 上有一个集成开发环境( i d e ) 来辅助进行软件开发;两者之间通过以太网口或 北京邮l u 人学硕h o f 究生学位论义第二章v o l p 网关的系统设计 串口相连,并以一种目标s e r v e r a g e n t 的方式通信。t o m a d o 是v x w o r k s 自带的 i d e ,包括c r o s sc o m p i l e r 、c r o s sd e b u g g e r 。a g e n t 运行在目标机上,代表目标 服务器和t o r n a d o 工具在目标机上进行读取、修改内存,设置、清除断点等功能, 宿主机上的t a r g e ts e r v e r 和目标机上的t a r g e ta g e n t 之f 日j 通过w i n dd e b u g g e r 协 议进行通信。总体构成如图2 5 所示。 佰一1 - 机目标机 图2 5 开发环境 2 2 20 0 h 3 2 3 介绍 o o h 3 2 3 协议栈是一个单线程的应用,多路的输入输出由u n i xs e l e c t 命令 来完成,这条命令监听所有的激活的i o 信道。协议栈提供两种用户应用程序和 协议栈的接口:协议栈命令( s t a c kc o m m a n d ) 和回调函数( c a l l b a c kf u n c t i o n ) 1 7 】 o 1 、协议栈命令 用户应用程序调用协议栈a p i 初始化一个栈内处理过程,如表2 - 1 所示。 表2 1 协议栈提供的顶层a p i 协议栈命令 描述 o o m a k e c a l l 初始化一个呼叫 o o a n s w e r c a l l 接听一个呼入 o o h a n g c a l l 终止一个呼叫 o o f o r w a r d c a l l 重定向呼叫 一个典型的初始化函数是o o m a k e c a l l 0 ,用来初始化一个呼叫。这个函数一 旦被调用,当交换不同的h 3 2 3 消息来建立信道时,协议栈将会调用不同的回调 函数。 2 、回调函数 协议栈是事件驱动的,通过调用注册的回调函数对i o 或定时器事件做出反 1 2 北京邮电大学硕f j 研究生学位论文 第一二章v o l p 网关的系统设计 应。有三种类型的回调函数,h 3 2 3 回调函数( 呼叫级) ,h 2 2 5 回调函数( h 2 2 5 信令级) ,和信道回调函数( 打丌和关闭媒体传输或接收信道) 。 3 、协议栈初始化流程 o o h 3 2 3 协议栈的初始化流程如图2 - 6 所示。 ( 1 ) 从f l a s h 读取参数 i ( 2 ) 初始化h 3 2 3 e n d p o i n ts t r u c t u r e l ( 3 ) 仞始化用于s t a c k 内部通信的t c p s e r v e rs o c k e t i ( 4 ) 注册h 2 2 5 信令 的叫调函数 l ( 5 ) 注册h 2 4 5 ( 者令 的| f | i 凋函数 ( 6 ) 初始化g k 的参 数 l ( 7 ) 初始化h 2 2 5j 监 听t c ps e r v e r s o c k e t l ( 8 ) 启动其他任务 l ( 9 ) 发送g r q i ( 1 0 ) s e l e c t o r 有在 s t a c k :l j 开的s o c k e t 图2 6 协议栈彳刀始化流程 在上图中: ( 1 ) 用户配置或者系统默认的参数存储在f l a s h 的指定地址空间,在协议栈 初始化之前,必须读取这些参数,包括网关的注册i d ,网守的i p 地址,呼入和 呼出规则等。 ( 2 ) 初始化网关的全局结构体变量。 ( 3 ) s t a c k 内部通信主要包括协议栈a p i 和协议栈信令处理部分的通信。 ( 4 ) 注册和h 2 2 5 信令相关的回调函数。 ( 5 ) 注册和h 2 4 5 信令相关的回调函数。 ( 6 ) 设定网关之间进行信令交互和媒体传输的过程中是采用点对点方式, 或者通过网守转接。 ( 7 ) 该s o c k e t 用来监听被叫,即g k 发来的s e t u p 消息。 ( 8 ) 启动网关中的其他应用程序。 ( 9 ) 发送g r q 消息。 ( 1 0 ) 同时监听网关内部和外部通信。 1 3 北京邮i u 人学硕l j 研究生学位论文第二章v o i p 刚关的系统设计 2 2 3o s i p 介绍 o s l f 是一个开放源代码的s i p 协议栈,使开源代码中为数不多使用c 语言 编写的协议栈之一,它具有结构小巧简单、可移植性好和工作稳定等特点,专注 于s i p 底层解析,其本身可以运行在v x w o r k s 系统平台上。它并不提供高层的 s i p 会话控制的a p i ,它主要提供一些解析s i p s d p 消息的a p i 和事务处理的状 态机。o s i p 支持线程安全,既可以用于多线程和单线程的编程模式。 0 s i p 主要包括三大部分:解析器模块、状态机模块和工具模块,其结构图 如图2 7 所示。 。,z 7 jl 。、, 瓣够i 撵渗 童 s f i 慨静 器 1r 蓄。 1 ,fh l j l 辫移l 貉 皤一仃刺匕铷t s l l ,盼鹣1 ”l s l 嘲机器 ;| 蚴,徽j 熟 j fi 蕊 _ 。 一一 图2 7 0 s 1 p 结构图 解析器模块的功能:完成对s i p 消息结构剖析、s d p 消息的结构剖析以及 u r i 结构的剖析。其能够读写任何在r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论