基于sip的voip系统总体设计说明书_第1页
基于sip的voip系统总体设计说明书_第2页
基于sip的voip系统总体设计说明书_第3页
基于sip的voip系统总体设计说明书_第4页
基于sip的voip系统总体设计说明书_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

第PAGE第26页共26页更改记录日期修改章节修改类型*修改描述修改人版本200-A创建文档李强1.02007-6-252,3M更改WAP服务器李强1.02007-6-287A客户端开发规划李强1.0*修改类型分为A-ADDEDM-MODIFIEDD–DELETEDRD"基于sip的voip系统总体设计说明书.doc"\fTOC\h\z\n\uRD"基于sip的voip系统总体设计说明书.doc"\fTOC\h\z\n\u1引言1.1 目的1.2 定义及概念2 设计概述2.1 系统描述2.2 voip的基本传输过程3总体框架设计3.1系统整体框架结构3.1.1SIP核心网系统逻辑架构图3.1.2VOIP系统整体逻辑架构图3.1.3VOIP系统物理架构图3.2 子系统划分3.2.1VOIP代理服务器3.2.2SIP超级终端3.2.3 OutboundProxy3.2.4SipProxy3.3 SIP协议栈及Resiprocate框架说明3.3.1Sip协议栈的层次3.3.2ResiprocateSIPStack系统架构图示3.3.3 FIFO流的走向图3.3.4SendingDatagramProcessingIncomingUDP4外部接口设计4.1硬件接口4.2 软件接口4.3 协议通行接口5 配置要求5.1开发环境配置5.2 运行环境配置5.3 测试环境配置6 其它7客户端VOIP功能模块开发附录A遗留问题列表参考文献1引言通过因特网进行语音通信是一个非常复杂的系统工程,其应用面很广,因此涉及的技术也特别多,其中最根本的技术是VoIP(VoiceoverIP)技术,可以说,因特网语音通信是VoIP技术的一个最典型的、也是最有前景的应用领域。作为多媒体会话的基础协议SIP(SessionInitiationProtocol),很自然的应用到voip系统中。目的提供此文档来定义基于sip协议voip的系统的整体架构,为快速熟悉本系统以及作为系统设计的指导提供帮助。定义及概念Voip:因特网语音通信Sip:SIP(SessionInitiationProtocol)协议是一个用于建立、更改和终止多媒体会话或呼叫的应用层协议。多媒体会话可以是多媒体会议、远程教学、因特网电话等各种应用。SIP协议可用于发起会话,也可以用于邀请成员加入已经用其它方式建立的会话。SIP协议透明地支持名字映射和重定向服务,便于实现ISDN,智能网以及个人移动业务。P2P:互联网上的两台机器直接连接,进行数据传输。NAT穿透:处在nat设备之后的两台终端可以直接进行数据传输。编解码:对数据的一种标准的编码压缩算法,通常为音视频的编解码。回音:由麦克风输入的声音在另一端的音响输出并由麦克风采集到并传输回来。静默音:麦克风采集的信号很弱,为了节省带宽,一般会停止对音频数据传输。引擎:将功能实现封装到一个库文件中(或类)进行整合调用。采集:声音从麦克风由声卡被转换成计算机数据。RTP:RealTimeTransportProtocol,是用于Internet上针对多媒体数据流的一种传输协议。RTP被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。RTP通常使用UDP来传送数据,但RTP也可以在TCP或ATM等其他协议之上工作。当应用程序开始一个RTP会话时将使用两个端口:一个给RTP,一个给RTCP。RTP本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。通常RTP算法并不作为一个独立的网络层来实现,而是作为应用程序代码的一部分。TCP:一种可靠模式(不会丢数据)的传输协议。UDP:一种不可靠模式的传输协议。代理服务器:在客户端和服务器端之间的一台机器,用来接收客户的请求,并向服务器请求,将服务器回传的响应,转给客户端。WAP:WirelessApplicationProtocol无线应用协议是一个开放式标准协议,利用它可以把网络上的信息传送到移动电话或其他无线通讯终端上。设计概述系统描述本系统是一个基于sip协议,用来实现voip功能的系统。根据产品需求将首先应用在手机上,通过移动提供cmwap接入点接入互联网,通过一台VOIP代理服务器引导,接入建立在互联网上的sip网络系统,完成手机终端之间的voip应用。或者,手机终端和接入互联网的其他终端进行voip应用。voip的基本传输过程传统的电话网是以电路交换方式传输语音,所要求的传输宽带为64kbit/s。而所谓的VoIP是以IP分组交换网络为传输平台,对模拟的语音信号进行压缩、打包等一系列的特殊处理,使之可以采用无连接的UDP协议进行传输。对于具体应用领域,也可以采用基于面向连接的tcp应用协议来传输。而对于我们现行开发的系统,在手机终端接入sip网络系统之前,会采用基于tcp连接,完成tcp到udp传输的转换。之后,系统就和互联网接入方式一样。为了在一个IP网络上传输语音信号,要求几个元素和功能。最简单形式的网络由两个或多个具有VoIP功能的设备组成,这一设备通过一个IP网络连接。VoIP模型的基本结构图如图2-01所示。从图中可以发现VoIP设备是如何把语音信号转换为IP数据流,并把这些数据流转发到IP目的地,IP目的地又把它们转换回到语音信号。两者之音的网络必须支持IP传输,且可以是IP路由器和网络链路的任意组合。因此可以简单地将VoIP的传输过程分为下列几个阶段。图2-01VoIP的模型结构1。语音-数据的转换语音信号是模拟波形,通过IP方式来传输语音,不管是实时应用业务还是非实时应用业务,首先要对语音信号进行模拟数据转换,也就是对模拟语音信号进行8位或6位的量化,然后送入到缓冲存储区中,缓冲器的大小可以根据延迟和编码的要求选择。许多低比特率的编码器是采取以帧为单位进行编码。典型帧长为10~30ms。考虑传输过程中的代价,语音包通常由60、120或240ms的语音数据组成。数字化可以使用各种语音编码方案来实现,目前采用的语音编码标准主要有ITU-TG.711。源和目的地的语音编码器必须实现相同的算法,这样目的地的语音设备帮可以还原模拟语音信号。2。原数据到IP转换一旦语音信号进行数字编码,下一步就是对语音包以特定的帧长进行压缩编码。大部份的编码器都有特定的帧长,若一个编码器使用15ms的帧,则把从第一来的60ms的包分成4帧,并按顺序进行编码。每个帧合120个语音样点(抽样率为8kHz)。编码后,将4个压缩的帧合成一个压缩的语音包送入网络处理器。网络处理器为语音添加包头、时标和其它信息后通过网络传送到另一端点。语音网络简单地建立通信端点之间的物理连接(一条线路),并在端点之间传输编码的信号。IP网络不像电路交换网络,它不形成连接,它要求把数据放在可变长的数据报或分组中,然后给每个数据报附带寻址和控制信息,并通过网络发送,一站一站地转发到目的地3。传送在这个通道中,全部网络被看成一个从输入端接收语音包,然后在一定时间(t)内将其传送到网络输出端。t可以在某全范围内变化,反映了网络传输中的抖动。网络中的同间节点检查每个IP数据附带的寻址信息,并使用这个信息把该数据报转发到目的地路径上的下一站。网络链路可以是支持IP数据流的任何拓结构或访问方法。4。IP包-数据的转换目的地VoIP设备接收这个IP数据并开始处理。网络级提供一个可变长度的缓冲器,用来调节网络产生的抖动。该缓冲器可容纳许多语音包,用户可以选择缓冲器的大小。小的缓冲器产生延迟较小,但不能调节大的抖动。其次,解码器将经编码的语音包解压缩后产生新的语音包,这个模块也可以按帧进行操作,完全和解码器的长度相同。若帧长度为15ms,,是60ms的语音包被分成4帧,然后它们被解码还原成60ms的语音数据流送入解码缓冲器。在数据报的处理过程中,去掉寻址和控制信息,保留原始的原数据,然后把这个原数据提供给解码器。5。数字语音转换为模拟语音播放驱动器将缓冲器中的语音样点(480个)取出送入声卡,通过扬声器按预定的频率(例如8kHz)播出。简而言之,语音信号在IP网络上的传送要经过从模拟信号到数字信号的转换、数字语音封装成IP分组、IP分组通过网络的传送、IP分组的解包和数字语音还原到模拟信号等过程。3总体框架设计3.1系统整体框架结构3.1.1SIP核心网系统逻辑架构图3.1.2VOIP系统整体逻辑架构图3.1.3VOIP系统物理架构图子系统划分3.2.1VOIP代理服务器功能概要:Wap客户端通过TCP连接到该服务器,接收客户端请求,进行协议转换,产生两路UDP,一路发送控制信息,一路发送音频数据流。并将收到的数据按协议封装,通过TCP链路传给客户端。内部功能模块说明:TCP连接处理:接收客户端的连接请求,建立一条到客户端的TCP连接,并保留客户端的用户sessionId,如果用户断线,可以依据这个Id保留SIP会话一段时间。也可以结束该次通话。通过该链路,客户端可以传送控制数据,和语音数据。VOIP代理协议解析:收到客户端的数据,解析为控制信令或者音频数据。控制信令经过解析,通过发送控制信息的udp通道,发送到Sip超级终端,并解析返回的控制信令的状态响应,包装为控制信令,通过TCP链路,发回到Wap客户端。音频数据经过解析,转化为RTP流的数据包,通过发送音频数据的udp通道,发送到对方的RTP端口,并接受RTP包,根据协议转化为音频数据包,通过TCP链路,发回到Wap客户端。RTP数据处理:收到客户端的音频数据,按照rtp数据格式重新进行封包,通过发送音频数据的udp通道,发送到到对方的RTP端口。当接收到RTP包,进行解析,按照协议转化为音频数据包,通过Tcp链路,发回到Wap客户端。UDP会话请求:收到客户端的控制信令,进行解析,通过发送控制信息的udp通道,向sip超级终端发送会话请求。接收sip超级终端返回的控制响应信息,按照协议转化为控制信令,通过TCP链路传给Wap客户端。VOIP代理服务处理逻辑图:处理流程:(注:VOIP代理协议为自定义协议,具体协议格式请看协议文档。)3.2.2SIP超级终端功能概要:通过UDP方式接收到VOIP代理服务器的会话请求,生成一个sip终端,代替客户端完成用户向sip服务器注册,向其他注册用户发起多媒体对话邀请,并返回特定的状态信息。管理所有的用户的对话,在整个用户会话期间,维持所有的sipUA(useragent)的活跃状态及行为控制。内部功能模块说明:UDP会话请求处理:收到一个会话请求,经过协议解析,并向请求方发送确认信息,表示已经收到,产生一个SipAgent,并维护该sipAgent生命周期的所有活动,回传Sip终端的状态信息。会话协议处理:接收VOIP代理发送的数据,进行解析,根据请求的类型进行相应处理,并将sip的状态转化为相应的数据格式。发送回去。该协议要求,所有的数据包都要且确认是否收到。SipAgent:一个sip终端的代理,包括UAC(完成客户端的功能),UAS(完成服务端的功能)两部分;完成用户注册,用户呼叫的功能。Sip对话管理:管理由每个会话请求产生SipAgent,以及一些相关的控制。Sip协议栈:对sip协议进行解析,处理事务管理等。Sip超级终端处理流程:(注:会话协议为自定义协议,具体协议格式请看协议文档。)OutboundProxy功能概要:该服务器为一个SipProxy,只是完成sip信令的转发,不会对Request-URI处理,只是添加通过自己的路由(Via)记录,将Sip信令转发到sipProxy处理,作为进入sip核心网的门户。并增加了数据包的统计功能,以检测是否受到攻击,通知op人员。内部功能模块说明:Sipproxy:见后边对sipproxy的说明。代理控制处理:实现对sip信令转发,处理NAT/FIRE的保活数据包。安全统计功能:统计来自某个IP+PORT的数据包的多少,如果,单位时间超过上限,我们可以认为Sip客户端不是我们自己的客户端,或者受到攻击。Sip协议栈:对sip协议进行解析,处理事务管理等。Outbound-Prxoy处理流程:(注:Sip处理见SipProxy中对Sip信令处理流程。)3.2.4SipProxy功能概要:Sip代理服务器的基本功能,是代表用户代理(UA)设备转发或者代理SIP信令和路由信令,和完成呼叫控制。为了在互联网的复杂环境,以及一些业务需求会增加一些其它的功能模块。一般包括注册验证模块,重定向模块等,媒体控制模块等,来协调整个系统运作,对于一些并行接入的子系统,要实现负载平衡。内部功能模块说明:数据库处理:该模块对一些基本的数据库操作进行封装,对上层调用提供统一接口。通话记录处理:记录一路通话时间的开始,结束,通话结束原因等等。用户验证:用户要使用该系统,必须首先登陆,系统对用户身份的合法性进行验证,用户的登陆地址将被保留,实现用户处于在线状态,其它的登陆用户可以呼叫自己。为新用户分配ID号,以及用户登陆注册后地址等信息的更新,同时提供定位服务。用户重定向处理:该模块收到请求,完成地址解析,将被叫方的地址信息返回给呼叫方,让呼叫方直接向下一跳发送请求。WEB管理控制:一个简化的http服务器,给管理员提供以WEB方式的管理系统的工具,包括一些系统配置等等。SDP协商控制:主要应用在通话双方在无法实现P2P时,要对SDP协议中规定的RTP传输使用的IP,PORT进行修改,使RTP数据流通过RTP中转服务器中转。媒体转发均衡:系统可以并行接入多台媒体转发服务器,该模块会自动根据各个媒体服务转发服务器的负载量进行平衡。Sip增值业务:通过扩展一些AS(applyserver)提过其它的一些功能业务。流程控制管理:处在整个SipProxy服务器控制的最上层,主要完成一些业务上的逻辑控制。对话管理:用来管理用户注册,及地址信息,以及用户保持活跃状态的处理。会话控制处理:主要实现对整个呼叫流程的管理,控制,并维护整个呼叫过程的状态,直到整个呼叫过程结束。事务用户管理:用户完成一次呼叫过程,要经历多个事务,每个事物有自己的控制流程,状态变迁。Sip协议栈:对sip协议进行解析,处理事务管理等。SipProxy处理流程:SIP协议栈及Resiprocate框架说明3.3.1Sip协议栈的层次下面是SIP的分层图示,IETF坚持分层,不同模块功能相对独立,各层之间松散耦合。事务用户层(TransactionUser)事务用户层(TransactionUser)事务层(Transaction)传输层(Transport)语法与编码层(SyntaxandEncoding)3.3.2ResiprocateSIPStack系统架构图示FIFO流的走向图3.3.4SendingDatagramProcessingIncomingUDP该章节只是对ResiprocetSip协议栈的简单介绍,详细地处理细节,以协议规范请参见RFC3261。4外部接口设计4.1硬件接口//暂无软件接口数据库:server端使用的数据库是Mysql。操作系统:服务器采用linux。服务器端程序:VOIP代理开发;Sip超级终端,Outbound_proxy,SipProxy采用resiprocate协议栈。客户端程序:包括Symbian,Wince,linuxQt。协议通行接口//VOIP代理协议参考协议《VOIP代理协议》//会话协议参考协议《会话协议》配置要求5.1开发环境配置类别标准配置最低配置计算机硬件软件网络通信其它运行环境配置类别标准配置最低配置计算机硬件软件网络通信其它测试环境配置类别标准配置最低配置计算机硬件软件网络通信其它其它客户端的帐号分配规则:为了对整个系统的的负载实现均衡配置,充分利用网络资源,对用户帐号的分配规则进行规划。可以采用以下两种方式接入系统。1,通过分配给用户的号码,依据某种规则接入不同的VOIP代理服务器,比如使用

温馨提示

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

评论

0/150

提交评论