维普资讯 http://www.cqvip.com 通信论坛 计算机与网络创新生活 47 SIP协议语音网关的设计与实现 高渲1,2高福祥 (1东北大学信息科学与工程学院 辽宁沈阳110004) (2唐山钢铁集团有限责任公司计控处河北唐山063000) 【摘要】讨论了基于会话初始协议(sIP),通过IP网传输语音的网关的设计。首先,对IP电话技术及SIP协议在网关中的应 用作了介绍;其次,详细阐述了语音网关的设计与实现,包括系统方案设计,硬件设计,软件设计;最后,讨论了SIP协议应用于 该系统中的呼叫流程。该设计为企业拨打IP电话提供了解决方案。 【关键词】IP 网关 SIP 软交换 流的编解码功能,并将压缩编码后的话音业务流打成包,通过 1引言 IP承载网传给目的网关。它跨接在电路交换网和IP网之间, 负责电路交换到分组交换之间的转换。 随着IP网络的普及与飞速发展,各种基于IP网络的应 IP电话的管理层面主要负责用户的接入认证、地址解析、 用应运而生 。利用IP网络拨打语音电话,可以为许多企业节 计费结算等工作。 约大量的通话成本,已经成为中国计算机领域研发的一个热 点。因此,提供一套基于IP网络进行语音通话的解决方案具 3 SIP协议在语音网关中的应用 有相当的现实意义。 本设计的语音网关实现了3路内线交换及1路外线交 基于IP的分组网络上传输语音,语音网关需将模拟的语 换,提供实时的高质量的基于IP网络传输的语音服务。语音 音信号转换为一定长度的数字化语音分组,采用存储一转发的 网关利用SIP协议,通过IP网络实现了Phone到Phone, 方法,以分组的形式在分组网络上进行交换和传输。这个过程 Phone到PC通话。本设计极大地弥补了传统交换机的缺点, 需要先进行A/D转换,变成PCM码,然后经过数据压缩,最 投入市场后,会有良好的应用前景。 后打上IP数据包在网络上传输。常采用的编码协议有G.711, G.729,G.723.1等等。 2 电话网络结构 SIP协议作为语音网关的通信协议,用于建立、修改和终 止IP网上的双方或多方多媒体会话圈。SIP是IETF制订的.是 一IP电话网总体框架主要由IP电话网关、IP网、IP电话网 个基于文本的应用层控制协议,用于多方多媒体通信。按照 管理层面以及电路交换网接入部分组成H,tP电话网的总体框 IETFRFC2543的定义,于底层传输协议TCP/UDP/ 架如图1所示。 SCTP,SIP协议借鉴了HrrP、SMTP等协议,支持代理、重定 向及登记定位用户等功能。通过与RTP/RTCP、SDP、RTsP 等协议及DNS配合,SIP协议支持语音、视频、数据等。 SIP协议中有2个要素,SIP用户代理和SIP网络服务 ⑤ 器【3]。用户代理是呼叫的终端系统元素,而SIP服务器是处理 与多个呼叫相关联信令的网络设备。用户代理本身具有一客 户机元素(用户代理客户机UAC)和一服务器元素(用户代理 图1 IP电话网的总体框架 服务器UAS)。由于呼叫者未必知道被呼叫方的IP地址或主 电话网、ISDN和数字移动通信网,构成了IP电话的主 机名,SIP服务器的主要功能是提供名字解析和用户定位。 要接入部分。IP网是用于传送IP电话的承载网,它可以是公 基于SIP协议的语音网关是网络中的用户代理,用于发 网也可以是专网。 起和接收呼叫,实现点到点语音通话。在多台网关的模式中. IP电话网关主要功能是完成对来自PSTN的语音业务 网关向SIP服务器查询被叫地址,进行重定向,从而实现多台 定稿日期:2007-11—16 2007年第24期《计算机与厨络》 维普资讯 http://www.cqvip.com 通信论坛 48 计算机与网络创新生活 网关间的通信。SIP用户拔打IP电话需要事先在SIP服务器 进行注册。SIP用户呼叫时先由服务器监权,然后查询被叫IP 地址,最后选择通话路由,实现双方点到点通话。SIP协议以其 器为低功耗的32位RISC处理器。.VP101系列数字信号处理 器特为应用于中低密度处理用户设备的基于语音包交换的宽 带系统做了优化设计,此系列芯片基于DSP Group的可编程 简单灵活的优势越来越受到青睐。 TeakLite DSPCore(r),并且集成了所有必需的外设硬件及片上 软件。它可将模拟或PCM语音,传真与调制解调器数据流语 4系统方案设计 本设计的语音网关提供实时的高质量的基于IP网络传 输的语音服务。该设备具有对语音的编解码、回音抵消、信号 音频带的处理工作接于运行基于包协议的数据网络。VP101 这一芯片连接模拟话路接口和主处理器。 各SLIC接口将普通电话所产生的模拟语音信号引入到 VP101BQC的复用器,通过它的内部逻辑选定话路,并将其信 号送入ADC;同样,DAA将电话局送出的信号以相同的原理 送人ADC。然后,VP101BQC进行数字信号处理,再将处理后 的数字信号通过DAC,送至特定的SLIC或DAA。完成一次 音的产生和识别:包括DTMF、FSK、传真信号音、呼叫进程 音,可通过SIP协议与软交换网络通信。该设备可提供语音通 话、语音信箱、来电显示、呼叫等待等业务。 系统的网络结构图如图2所示。在图2中Addtrans服务 器用于多台语音网关的动态地址解析。网关根据用户拨打的 号码。通过SIP消息。寻找被叫用户所在的网关或软电话的IP 地址,实现通话路由的选择。它的网络侧通过以太网口接入 通话语音包的交换。系统硬件结构如图3所示。 IP网络,它的用户侧有3个FXS口可以下挂3个话机,一个 VP101BQC DSP FXO口可接一个用户程控交换机(PBX)的用户线,PBX可下 挂分机。Soft-phone为安装在PC机上的软电话。 此模式可以实现FXS口下挂分机之间的内线通话,也可 A/D/Al lA/D/A l l ND/A l lAIDIA GPI l l MUX 通过FXO口拨打PBX下挂的分机。在有2台以上网关的情 况下,语音模块将模拟话音编码后,生成语音数据包通过以太 j I 同Y Y 网’ 睡姻T 图3系统的硬件结构图 : 网接口传输到局域网的另一台对等网关中,完成分布式交换 的功能。此模式中也可实现网关电话与软电话的通信,以及2 台软电话的通信。该设备接人IP网络,支持TCP/UDP/IP协 议和RTP/RTCP协议。作为下一代网络中的接人层设备,支 持SIP协议。若将此一个以上的语音网关接人以太网,便可利 甩SIP协议进行呼叫建立、呼叫释放等操作,实现各交换机之 间的互通,构成分布式交换的框架I引。 在有2台以上设备的情况下,¥3C4510B主处理器将 VP101BQC生成的语音数据包通过以太网接口传输到IP网 络的另一台对等网关中,完成分布式交换的功能。 6系统软件设计 实时性是软件平台的重要指标。系统采用了VxWorks实 时操作系统,它包括一个微内核、强大的网络支持,以及文件 系统和I/O管理、c++支持的各种模块。它的多任务、抢占调 度、快速上下文切换、低中断延迟和快速灵活的通信机制更是 VxWorks的突出优点[11。该操作系统也具有线程调度器、TCP/ IP网络协议栈等,完全满足实际需要。 图2系统的网络结构图 本系统的开发采用了嵌入式实时操作系统开发工具 Tornado oTornado具有集成开发环境。包括图形化的交叉调试 器CrossWind,支持任务级和系统级的调试,支持混合代码和 5系统硬件设计 本设计所选用的¥3C 4510B是一种ARM7系列微处理 汇编代码显示,支持多目标机同时调试。 软件分6个模块。包括应用模块、SIP模块、配置模块、SIP 协议栈模块、VP协议栈模块、内核模块。 《计算机与网络》2007年第24期 维普资讯 http://www.cqvip.com 通信论坛 计算机与网络创新生活 VxWorks内核模块是整个项目的人口程序,一些BSP的 态,推动呼叫过程的进行。 驱动程序也在这个项目中。系统上电后最先执行的是引导过 程,CPU初始化,VxWorks复制到内存中l1】。然后是内核激活 7 SIP语音呼叫流程 的准备,初始化依赖于目标板的硬件,禁止硬件中断。接着激 活内核,初始化系统内存池,激活根任务,完成初始化过程,解 网关作为用户代理,既具有客户机元素(用户代理客户机 锁中断。最后创建设备,安装设备驱动程序,安装中断处理程 UAC)也具有服务器元素(用户代理服务器UAS)。用于发起 序.激活中断,初始化VxWorks库程序,调用应用程序启 和接收呼叫,实现点到点语音通话。由于呼叫者未必知道被呼 动代码。 叫方的IP地址或主机名,Addtrans服务器的提供名字解析和 vP协议栈模块主要完成语音、传真数据的编解码, 用户定位。SIP的通信机制的核心是请求——响应日。在2台网 DTMF的检测。对DSP的底层驱动和RTP、RTCP协议的实 关的连接模式中,一个基本的SIP呼叫的过程可分为以下3 现均由协议栈实现。首先是启动过程,主要完成TDM配置, 部分。 用户通道的配置,启动程序和内核程序的下载。接着是轮询 ①网关1检测到用户A摘机,向Addttrans服务器发起查 DSP循环检测DSP是否来包了。如果来了包则读出数据,打 询,查询被叫当前的位置信息,写入被叫的SIP URI地址。网 成RTP的包,发送到IP网络。如果收到RTP包或RTCP包, 关1的用户代理客户机UAC向网关2用户代理服务器 则解出数据。 UAS)发出呼叫“邀请”,UAC在请求消息起始行中写入I卜 所有SIP标准协议的定义都在SIP协议栈模块中完成。 VITE,在头部字段To中写入被叫的SIP URI地址.在CalIlD SIP消息分为请求消息和响应消息2种,这2大类消息都由3 字段中生成唯一的呼叫标识,在From字段中写入主叫用户的 部分构成:起始行(StartLine)、头域(Header)、消息体(Message— SIP URI地址,在Via字段中写入自己的主机名或者网络地 Bodv)。其中,现有的请求消息有ACK、Bye、Cancel、Invite、 址,消息体内SDP写明UAC/UAS所支持的媒体类型以及网 Option、Register、Subscribe、Message、Notify等9种类型。配置 络地址和端口号; 模块完成终端SHELL的配置功能。所有配置参数都保存在 ②网关2的用户代理服务器UAS收到IVNITE请求消 DATA—SAVE结构中。 息后回送响应。响应分为2种类型:一类是中间响应.报告呼叫 应用模块是整个软件的核心。它从配置模块的DA— 进展情况,如用户空闲、正在振铃等;一类是最终响应,包括成 TA—SAVE结构中读取配置参数,进行硬件和DSP的初始化, 功响应和异常失败响应。响应根据请求消息中的Via字段,原 创建定时器任务TIME,开始启动动态地址解析任务.创建话 路返回主叫UAC。对于表示成功的响应.UAC使用“确认” 音信道控制任务AMCT。完成系统时钟的检测任务。实现振 (AcK)方法向被叫UAS发请求消息,被叫UAC收到确认消 铃任务。完成动态IP地址解析,实现路由功能。系统设计是基 息后,主被叫间会话建立.双方通过RTP协议互发信息: 于消息驱动的,所有的消息都会在这里处理。创建SIPCon— ③通信结束后,任何一方向对方发送”再见”(BYE)请求. nectlD_sm二进制信号量,创建ACC_Q消息队列,创建振铃 请求终止会话,接收方回送成功响应,则会话结束。在通信过 任务,创建SIP消息监听任务,创建TCP接收任务.创建 程中,任何一方如果想更改会话的状态可以再次发起呼叫 UDP接收任务,创建Shell配置任务,创建编码检测任务,创 INVITE请求,使用相同的CallID,并在命令序列字段Cseq中 建硬件轮询任务。启动ACC—Q消息队列的接收。根据消息类 对原有请求的Cseq加1,请求的接收方根据收到的头部信息 型转入其它各个子模块的执行。 和消息体,调整相应的状态和媒体参数。 SIP模块实现了SIP协议。当一用户希望呼叫另一用户, 呼叫者用INVITE请求初始呼叫,请求包含足够的信息用以 被呼叫方参与会话。SIP消息的构建和解析是两个互逆的过程 。 8结束语 在构建SIP消息的过程中,首先根据用户输入的消息内容,判 断消息类型,然后根据输入的消息字符串和给定消息类 语音网关是为解决中小型企业拨打IP电话设计的网关I41。 型的整数值创建SIP消息。创建消息对象后,请求消息的 其中涉及的领域包括SIP通信协议、vP协议栈、以及RTP、 起始行、头域、消息体等部分的创建也将完成。解析消息 RTCP实时数据接收协议的实现。 时,按照消息中的标识符将消息分段,解析出各参数的 语音网关具有以下特点:①支持语音业务,有传真业务 值,以便将这些参数的值应用到当前呼叫,改变实体状 接口,可以进行扩展;②语音提示,并提供录音功能。可提供 集中管理式的IP电话服务;③支持使用超级终端进行功能 2007年第24期《计算杌与网络》 维普资讯 http://www.cqvip.com ■ _丌舁 L匈哪篓瞢础耕歪7古 ・ / 配置和软件升级,配置简便易用,升级方便;④个人或企业可 利用本地廉价的网络资源来经营电信业务,构建IP超市,IP 话吧或企业专线等。 邮电出版社.2004. [2]谢耐.NGN中的SIP技术们江西通信科技,2005,(3): .10—12. 综上所述,该设计为企业拨打IP电话,降低长途通话费 用,提供了良好的解决方案。如果在将来的应用中,对该系统 [3]强磊.基于软交换的下一代网络组网技术【M】北京:人民邮 .电出版社.2005. 的功能做进一步的扩展,对存在的不足做进一步的改善,将会 有更美好的市场前景。 [4】潘伟,王秀华.voIP协议分析ⅡJ、宜宾学院学报2006,(6): ,67—70. [5]郑俊辉,周绪川.下一代网络一NGN们,西南民族大学学报, 参考文献 2006,32(3):624—626. [1陈智育,温彦军.1】CVxWorks程序开发实践[M】.北京:人民 BUFFALO TurboUSB再掀移动存储市场竞争热潮 自从2006年IT硬件市场再现势不可挡的苏复迹 象,随后受到各路资本追捧,一向不被看重的移动存储 行业也风声水起。例如,BUFFALO Inc等国际品牌纷纷 强势介入,来势汹汹,转眼之间,存储行业又如同另一个不能放过。MiniStation同样采用了TurboUSB技术,然而数据 传输速度更是相比同类产品提高了64个百分点,当然对于 工作效率的提升则是更加显著,相对Drive Staffon,MiniSta- don更为显著的亮点则是他的防震外壳,将硬盘被包裹在减 美洲新,受到众多英豪的追捧。随着时代的进步,最 初单纯的移动存储工具的定义,已经完全不能适应消费 者们的需求。数据的安全性、硬件的稳定性、使用效率等 方面逐步成为了消费者关注的焦点。其中BUFFALO公 震材料中间,“悬浮设计”更是为了吸震和最大限度地减少震 动,从设计上看,设计风格大气,富有现代感,边圆角润,表面 还经过了特殊的处理,看上有点颗粒感,使用长时间也不容 易显旧,手感圆润光滑。选用的抗冲击材质,增强了产品耐 司更是在2007年频推新品,强化服务。 时间就是金钱,这句话对于我们来说已经并不陌生,对 于数据的安全性、硬件的稳定性以及使用效率上的不断追 求,BUFFALO更是将功夫做到了家。作为BUFFALO Tur- boUSB今年最为闪亮的两款产品,Drive Station(3.5”移动存 储)和iiniStation(2.5”移动存储)移动存储无论在工作效率 用、防摔性。为那些经常携带移动存储设备外出工作的人员. 提供了更加安全稳固的技术保障。 对用户而言,用移动硬盘盒与笔记本硬盘DIY移动硬盘 是极具价格吸引力的。据技术专家介绍,出其不意的外部震 动、主控芯片异常带来的数据读写错误、偶然的数据被盗等 因素,都将可能为您的数据带来不可估量的损失。而用户在 还是安全性上来讲,都已经走到了时代技术的尖峰。其中 Drive Station采用的TurbUSB插口技术,相比同类型产品在 传输速率上高出了37个百分点,也就是说,在传送同样大小 的文件时,Drive Stadon至少将为您节省37%的时间,大大地 市场上购买的移动硬盘盒,绝大部分都只是由转接芯片和外 壳两部分组成的,不但没有额外的减震技术来抵御外部震 动,就更不要说数据保护措施。这样的移动硬盘在使用时 包含了太多的不确定因素,其商用价值也大打折扣。很显然, 提高了工作效率。同时采用Seiral ATA7200RpM的硬盘,外 加独特的敖热底盘,以及随用随插免驱动的技术,更加彰显 随着移动存储的概念日益深入人心,数据的安全性、硬 件的稳定性以及超大容量、高效的传输速率正在逐渐成 了BUFFALO对产品各方面技术领先性的追求。它内含 Memeo(啪∞自动备份软件,以及数据加密软件Secure Lock Ware( ̄)同时为数据做到双重保护,使得数据自然丢失被盗为消费者追求的第一目标。BUFFALO今后将在中国市场陆 续推出带有TurboUSB功能的“HD DVD Drive”,“Blu一Ⅲy Drive”,以及“DVD Drive”等产品。我们相信:便捷与高效的使 的概率在BUFFALO TurboUSB相关商品上降到了最低。 既然说过了Drive Stadon,对于iiniStaifon我们自然也 用效率加上先进的数据保护措施必等于更加轻松的新时代 数字生活。 <计算祝与厨络>2007年第24期