对基于SIP协议的VoIP的研究
金晶
北京邮电大学计算机科学与技术系,北京(100876)
E-mail:cathrine0816@
摘要:在网络技术不断发展的今天,传统的电话方式已经不能满足人们的需要了,对V oIP 的研究与应用已经变得越来越重要。在本文中将首先对V oIP的基本原理、框架等进行解释,然后会对SIP协议的相关内容进行概述,最后介绍了一中采用SIP协议的V oIP设计方案。关键词:SIP协议,互联网,V oIP,媒体网关
1.引言
随着网络技术的不断发展,传统的电话服务在网络电话来势汹汹的挑战面前,已经显露出陈旧、乏味和呆板的疲态。越来越多的公司推出了网络电话服务,V oIP技术和传统电话之间的竞争也趋于白热化的状态,语音和综合业务IP化已经是不可逆转的历史潮流,是大趋势所向,整个语音IP化正在实现。
2.VoIP的基本原理
V oIP-V oice over IP,即透过IP网络传输的语音讯号或影像讯号,所以V oIP就是一种可以在IP网络上互传模拟音讯或视讯的一种技术。简单地说,它是藉由一连串的转码、编码、压缩、打包等程序,好让该语音数据可以在IP网络上传输到目的端,然后再经由相反的程序,还原成原来的语音讯号以供接听者接收。
2.1 VoIP架构
一个基本的V oIP架构包含4个基本元素[1]:
1)媒体网关器(MdeiaGateWay):主要扮演将语音讯号转换为IP封包的角色;
2)媒体网关控制器(Media Gateway Controller):主要负责管理讯号传输与转换的工作;
3)语音服务器:主要提供电话不通、占先或忙线时的语音响应服务
4)信号网关器(Signaling Gateway):主要在交换过程中进行相关控制,以决定通话建立与否,以及提供相关应用的增值服务;
由于V oIP在短期内不可能完全取代已经发展成熟并且市场占有率高的PSTN电路交换网,所以两者相并存的局面必将维持很长一段时间。为了让两者间能相互沟通,必须要建立个互通的接口和管道,媒体网关器与网关管理器,由于其具有将媒体数据流及IP封包转译成不同网络所支持的各类协议,所以就扮演了这样的中介角色。其运作原理是,媒体网关器先将语音转换为IP封包,然后交由媒体网关控制器加以控制管理,并决定IP封包在网络中的传送路径。至于信号网关器则负责将SS7信号格式转换为IP封包。
2.2 VoIP三大主流协议
要想在IP网络中正确的寻找到要通话的对方并建立对答,同时还要能依照彼此自生的处理能力来传送语音数据,必须藉由国际电信组织所拟定的标准协议才能达到。目前使用较多的是H.323、SIP及MGCP这3种标准协议。
H.323是由ITU-T第16研究组在1996年颁布的,在原则上,该协议提供了基础网络架构上的多媒体通讯系统标准,并为IP网络上的多媒体通讯应用提供了技术基础。但H.323协议本身也具有一些问题,如采用H.323协议的IP电话网络在接入端仍要经过当地的PSTN 电路交换网等等。
SIP是由IETF所制定,其特性几乎与H.323相反,原则上它是一种比较简单的会话初始化协议,也就是只提供会话或呼叫的建立与控制功能[2]。SIP支持单点播送和群播功能,也即用户可以随时加入一个已经存在的视讯会议之中。另外,SIP是属于一种基于文本的协议,采用SIP规则资源定位语言描述,所以其灵活性与扩展性比H.323要好一些。
MGCP在原则上去前两种协议皆不同,MGCP与IP电话网络无关,之牵涉到网关分解上的问题,所以这个协议可同时适用于支持H.323或SIP协议的网络电话系统。
基于这三种协议的VOIP架构的主要特征如表1所示。
表1 基于三种协议V oIP比较
H.323 SIP MGCP
拟定组织ITU-T IETF IETF
架构P2P P2P 主从式
设计对象 ISDN及ATM Internet Gateway
QoS 无有N/A
复杂度高低N/A
扩充性低高中
延伸性中高低
传真中继传输T.38 T.38 T.38
编码二进位编码基于文本编码N/A
3.SIP协议概述
SIP――会话初始协议――作为一个应用层的多媒体会话信令协议,可以被用来发起一个会话进程、在会话中邀请其他参加者加入会议。其主要用于语音与数据相结合的业务、多媒体业务的呼叫建立与释放[3]。
SIP协议是想借鉴Web的成功经验,它通过使用SIP终端将网络设备的复杂性推向网络的边沿,同时SIP可以充分利用已定义的头域,对其进行简单必要的扩充就能很方便地支持各项新业务和智能业务,有利于与Internet的各项应用集成开发V oIP 的增值业务。SIP协议遵循因特网一贯坚持的简练、开放、兼容和可扩展等原则,并充分注意到因特网开放而复杂的网络环境下的安全问题,同时,SIP协议也充分考虑了对传统公共电话网的各种业务,包括IN 业务和ISDN业务的支持。
SIP协议采用基于文本格式的客户-服务器方式,以文本的形式表示消息的语法、语义和编码。其主要用于SIP终端和软交换之间、软交换和软交换之间以及软交换与应用服务器之间。
图1 SIP客户-服务器方式
3.1 SIP基本信令功能
1) 用户定位:确定参加通信的终端用户的位置;
2) 用户能力:确定通信采用的媒体类型和参数;
3) 用户可用性:确定被叫是否愿意加入通信过程;
4) 呼叫建立:包括向被叫“振铃”,确定主叫和被叫的连接参数;
5) 呼叫处理:包括呼叫重定向、呼叫转移、终止呼叫等等。
3.2 SIP网络组件
SIP网络包含两类组件:用户代理和网络服务器[4]。
1) 用户代理:用户代理有分为用户代理客户端(UAC)和服务器(UAS)。UAC负责发起SIP呼叫请求,UAS负责对呼叫请求作出响应。
2) 网络服务器主要为用户代理提供注册,认证,鉴权,路由等服务,分为代理服务器,重定向服务器和注册服务器。代理服务器提供路由功能,代理其他客户机发起的请求,请求由本地服务器响应或可能被翻译之后再传送给其他服务器。代理服务器在转发请求之前需要对原请求消息进行解释,而且必要的话则还必须重写原请求消息;重定向服务器是一个接受SIP请求、把该地址映射成零个或更多个新地址并把这写地址返回给请求客户。不同于代理服务器,重定向服务器不发起它自己的SIP请求,并且它也不接受呼叫;注册服务器接受终端的Register请求,用户终端在启动后都需要进行注册,纪录。一个注册服务器通常和一个代理或重定向服务器位于同一个物理实体中。并可提供定位服务。
3.3 SIP典型流程
SIP的核心通信机制是请求响应。一个基本的SIP呼叫过程可分为以下3部分[5]:
1) UAC发出呼叫邀请,在请求消息起始行中写入INVITE,在头部字段To中写入被叫的SIP URI地址。代理服务器收到请求后,将自己的地址压入头部字段Via栈中。当消息到达被叫用户代理服务器时,代理服务器向定位服务器查询被叫当前的位置信息,如果被叫的位置信息未发生更新,请求消息则直接发给被叫;如果发生了更新,则继续根据新的地址转发请求消息,直到到达被叫UAS。
2) 被邀请时,quAs收到请求消息后,回送响应。响应分为两种类型:一是中间响应,报告呼叫进展情况,如用户空闲、正在振铃等;一类是最终响应,如成功响应和异常失败响应。响应根据请求消息中的Via字段,原路返回主叫UAC。对于表示成功的响应,UAC使用