摘要
IP多媒体核心子系统(IMS)近年来日益成为比较受认同的固定网络和移动网络融合的理想方案,而会话发起协议(SIP)是IMS的基本控制协议,它自身的特点使得它在固网和移动网络向下一代网络(NGN)迈进的过程中发挥日益突出的重要作用。文章就SIP在IMS中的基本应用、扩展应用做了具体的分析,并通过IMS中SIP信令典型流程阐述了SIP在IMS中的应用。
1、IMS和SIP协议简单介绍
IP多媒体核心子系统(IMS)是第三代移动通信合作伙伴项目(3GPP)提出的支持IP多媒体业务的子系统,它的显着特点是采用了会话发起协议(SIP),通信与接入方式无关,可以提供多种媒体业务,控制功能与承载能力分离、呼叫与会话分离、应用与服务分离、业务与网络分离、移动网与互联网业务融合。IMS顺应了通信网络融合发展的趋势。
SIP是基于因特网两个最成功的服务Web和E-mail进行设计的。借鉴了Internet的标准和协议设计思想,坚持简洁、开放和可扩展、可重用性的原则,为组建多媒体通信网络、提供多媒体业务提供了一种可以将简单的应用结合到复杂的服务中去的方法。SIP通过一种便捷的方式来建立和控制各种类型的点到点媒体会话。和Internet协议类似,它采用的是一种模块化结构,请求/应答模式,基于文本方式,因此使用非常简单灵活,升级、扩展方便。SIP由SIP基本协议和一系列针对移动业务的SIP扩展组成。SIP基本协议由因特网工程任务组(IETF)请求说明文档(RFC)3261定义,SIP扩展则由一系列RFC文档组成,主要包括RFC3455、RFC3311、RFC3262、RFC 3325等20多个文档。
2、IMS中的SIP协议
由于SIP的灵活性,使得3GPP在R5中采用了SIP作为会话控制协议来设计IMS。3GPP没有定义一个新的SIP协议,而只是以某种方式使用IETF定义的SIP。因此,在公用移动网中的诸如低带宽、漫游、安全需求、服务质量(QoS)和计费管制等特定需求,对SIP也都会有特定要求。
SIP模型中,为建立起一个会话,用户代理客户端向用户代理服务起发起请求。请求通过代理服务器在网络中路由。此外,注册服务器,因为要提供用户代理的位置信息,因而需要将SIP地址映射成IP地址。3GPP的IMS体系结构选择了这个模型。
在IMS中的用户代理为用户设备(UE)。IMS中的代理服务器和注册服务器即为呼叫会话控制功能(CSCF)的网络实体。有3种类型的CSCF:
1)服务CSCF(S-CSCF),作为注册服务器并且激活基于用户数据的应用业务控制;
2)代理CSCF(P-CSCF),是UE在IMS网络中的第一个接触点;SIP信令消息在P-CSCF和UE之间传送;
3)查询CSCF(I-CSCF)对于外部网络是第一个接触点,特别是对于外部的IMS网络。
在IMS中SIP需要解决的问题包括:
1)有效地使用无线接口
无线接口是稀有资源。正因如此,在移动终端和网络间的信令消息的交换必须最小化。所有发展的机制必须使无线接口的利用最有效。
2)终端支持的最小化
因为终端应该是比较小的设备,有内存需求,有能量消耗和处理能力等,所以应该被最小化。
3)漫游和非漫游
所有的需求都会遇到漫游与非漫游情形。两种情形下的信令过程是不会有重大改变的。
4)终端移动性管理
由于终端移动性由接入网络来管理,因此,在SIP中不需要支持终端移动性管理。
5)IPv6
3GPPIMS是为使用IP版本6单独设计。因此,所有的协议都必须支持IP版本6。
6)SIP出境代理服务器
SIP出境代理服务器是用来支持漫游和非漫游情形的。SIP出境代理服务器既可以定位在归属网络中,也可以定位在拜访地网络中。必须有一个全面的机制使得移动设备(UA)学习到SIP出境代理服务器的地址。
7)登记
一个归属网络必须保持一个或者多个SIP登记服务器。SIP登记服务器鉴别用户,登记可以定位用户的IP地址。一旦终端用户被激活,UA将读取它的配置数据。这个数据可以被存储到SIM卡中或者存储到任何其他形式的存储设备中。配置数据包含了一个归属网络的识别。设备从归属网络域名中找到SIP登记地址。终端通过SIP出境代理服务器发送登记。为了支持登记搜寻,归属网络必须包含一个或者多个SIP服务器。这些就是归属网络的边缘代理服务器。它们的使命就是作为连接归属网络的第一个点来服务,并且在定位服务器的帮助下决定给某个特定用户分配哪个SIP登记服务器。不管UA是否漫游,登记程序都是相同的。
a)登记是必须的。用户在接收到任何会话邀请前必须登记到IMS。此外,用户在开始会话前也要登记。为了向会话和服务发送被认为标准的SIP请求,归属网络中的SIP服务代理需要知道何时和哪个终端用户是合法的。用户可以被早点鉴别,这样鉴别就不会导致快速拨号延迟。用户被分配到一个指定的服务代理。服务代理下载服务轮廓来触发服务。因此,3GPP委托UA在开始会话之前登记。
b)有效登记。由于稀少的无线接口资源,每个登记必须要有效,这样才能确保UA对于归属网络和拜访地网络都是可达的。
8)撤消用户注册
必须有一个程序使用户从网络中撤消注册。这个程序可以被使用。如当用户使终端不活动,一个带有中止时间为0的REGISTER将满足此需求。
9)用户的识别
a)私有用户识别。为了使用3GPPIMS,用户将被分配到一个私有用户身份。归属网络分配私有用户身份,这个身份用来确定用户在一个网络中的唯一性。举例来说,一个私有用户身份被用来鉴定、授权、管理(即AAA)。私有用户身份没有用来安排SIP消息的路由。私有身份的形式表现为一个网络接入标识符(NAI),在RFC2486中有定义。
b)注册用的私有用户ID。UA必须在注册的时候发放私有用户身份给SIP出站代理服务器和登记员。私有用户身份作为在移动用户登记期间的基本证明。公共用户身份为了使用3GPPIMS,一个用户被分配到一个或多个公共用户身份。当用户请求与其他用户通信时,用户将使用公共用户身份。一个用户可以有不同的外形,每一个都包含了不同的公共用户身份。公共用户身份的格式采用的SIP统一资源标识(URI)。
10)SIP的路由
a)SIP出境代理服务器。3GPP体系结构包括一个SIP出境代理服务器,它一般被配置在拜访地网络中。这个出境代理服务器提供了诸如SIP消息压缩和安全功能的本地服务。此外,出境服务器可以与媒体预约机制相配合来给媒体预约提供鉴定授权支持。所有发起会话建立企图的移动终端必须经过出境代理服务器,这样由出境代理服务器提供的服务才可以被发送到移动终端中去。
b)归属网络中的SIP服务代理服务器。归属网络中的服务代理服务器允许触发定制的用户服务,一般这样的服务是在一个应用服务器执行的。所有的发起会话建立企图的移动终端必须经过归属网络中的服务代理服务器,这样,代理服务器可以适当地触发分配给用户的SIP服务。这意味着需要某种源路由机制来确保经过这些代理服务器的正确性。拜访地网络可以应用特定的服务和策略来引入会话。因此,拜访地网络可以包含一个SIP入境代理服务器来终结会话。一般地,SIP入境代理服务器和SIP出境代理服务器是同一个SIP代理服务器。
11)SIP相关的QoS需要
a)QoS信令与SIP的独立性
QoS信令和资源分配方案的选择必须独立于选择的会话控制协议。这是考虑到QoS控制和SIP的发展。
b)SIP和QoS资源分配的协调
i)Alerting之前的分配。在建立一个SIP会话时,对一个应用来说,请求传送建立所需的资源必须在目的用户被通知以前被成功分配。然而也应该注意到,对于一个终端中的SIP应用,在无线资源建立前通知用户也是可能的。
ii)目的用户加入到载体协商中。在建立一个SIP会话时,对一个终结性的应用来说,允许目的用户加入进来决定哪个载体将被建立。然而,没有用户干涉而建立SIP会话也必须是可能的。
iii)成功地确立载体。必须包括任何必须的端到端的QoS信令、协商和资源分配的完成。
c)预防服务的偷窃。典型的,如果用户分配到QoS资源,必须有一个允许控制机制来预防用户超越了网络中协商的限制。网络必须防止未授权的用户来使用没有授权的资源。
d)无线资源授权。由于无线资源是非常昂贵的,所以网络必须可以用一种方式来管理它们。网络必须可以识别谁在使用这些资源并且批准他们的使用。例如,如果网络不监督无线资源的使用的话,一个UA终端可以执行一个不受限制和不受控制的资源预约程序。
e)预防恶意使用。3GPPIMS必须预防移动设备恶意使用网络。例如,一个恶意的UA将不能服从涉及到Record-Route头域的程序。当发送了一个并发的请求时,UA可以旁路代理服务器,这个代理服务器在初始化处理期间插入一Record-Route头。
f)预防拒绝服务。一个代理服务器接收到拒绝服务的攻击的风险必须被最小化。例如,一个恶意的UA可以学习到一个SIP代理服务器的IP地址和端口号(例如,在Record-Route头的值)并且建立一个针对这个代理服务器的攻击。
3、IMS中的SIP扩展
3.1SIP压缩
会话建立时间可能由于通过一个受限带宽信道传送SIP消息所需的时间而被延长。因此,必须有一个机制,通过压缩UA和SIP出境代理服务器之间和SIP出境代理服务器和UA之间的SIP消息来有效地通过无线接口传送SIP信令包。对IP和传送这些SIP消息的传输层协议头也必须进行压缩。
1)SIP请求和发给P-CSCF的响应的压缩和解压
SIP消息的压缩是一个执行的选项。然而压缩是被强烈推荐的。由于压缩支持是强制性的,所以UE可以发送甚至是第一个就被压缩的消息。信令压缩(SigComp)提供了一套机制来让UE知道状态State是否已在P-CSCF中被创建。
对于SIP请求和从P-CSCF接收到的响应消息,UE也必须对它们进行解压操作。如果UE探测到在P-CSCF的解压失败,修复机制将被执行,同时,还可以改变算法。
SIP在P-CSCF的压缩过程所遵循的压缩规则与UE相同。注册期间交换字节码将会预防会话建立时不必要的延迟。SIP请求和发给UE的响应也需要压缩,同样从UE接收到的响应也需要解压,它们遵循和上述P-CSCF相同的规则进行。
2)压缩运算独立
所选择的解决方法必须可以允许能在不能压缩的运算法则上实行。
3)SIP压缩的可扩展性
所选择的解决结果必须有可扩展性,当它们可利用时,以反向兼容的方式来推动新的和改良的压缩运算的合并。
4)SIP压缩对网络的最小影响
特定的应用压缩对现存的3GPP接入网络的影响要最小化。另一方面,压缩机制必须独立于接入,比如压缩必须定义在UA和出境SIP代理服务器。
5)SIP压缩的可选性
让SIP信令压缩的使用具有可选性是必须的。为了方便移动终端在使用压缩的网络中的漫游,移动终端必须始终支持SIP信令压缩。如果压缩不被支持,通信可以不用压缩而继续,这依赖与拜访地网络的局方策略。
6)压缩的可靠性
压缩机制应该是可靠的,并且能够自动修复在解压过程中产生的错误。
3.2SIP私有头
1)关联URI(P-Associated-URI):传送移动终端注册地址的所有关联URI。它使用在对REGISTER请求的200OK响应中。
2)被叫方标识符(P-Called-Party-ID):传送被叫身份标识。当一个移动终端需要注册多个URI时,通过P-Called-Party-ID可以识别真实的被叫URI。
3)拜访网络标识符(P-Visited-Network-ID):传送全局惟一的拜访网络的标识码。通常,一个P-CSCF管辖的范围需要一个网络标识,网络标识码需要由网络运营商统一进行分配。
4)接入网信息(P-Access-Network-Info):传送移动终端所使用的无线接入技术和网络相关信息。
5)计费地址(P-Charging-Function-Address):IMS中有两类计费功能实体计费采集功能(CCF)和事件计费功能(ECF)。该消息头部字段用于指示所使用的计费功能实体地址信息。通过该头部字段,IMS可以实现计费信息冗余保存机制。
6)计费矢量(P-Charging-Vector):传送IMS中的计费信息,例如计费采集点标识、IP地址、主叫方网络标识符和被叫方网络标识符。
3.3安全
IMS系统对移动终端的安全鉴权功能通过SIP的WWW-authenticate和Authorization头部字段来实现的。UE向CSCF发送注册或呼叫请求时,必须在REGISTER消息的Authorization头部字段协议身份标识以及密码等安全参数,当UE未携带安全参数时,CSCF将向UE发送401响应(未授权)且包括WWW-authenticate字段,WWW-authenticate字段用户携带UE鉴权必备的安全参数(如鉴权方式)。
3.4预处理Precondition
在IMS中,所有必需资源的可用性是建立会话的前提。因此引入了基于SDP提供/应答机制以及相关SIP和SDPPrecondition扩展。Precondition扩展的使用导致了特定的SIP呼叫流程。IMS通过使用位于GGSN和P-CSCF之间的Go接口,完成对媒体资源的策略控制。
3.5网络发起的呼叫释放
在移动网中,有时会因为信号没有覆盖、电池断电等原因而需要网络释放一个正在进行的呼叫。从网络侧送出一个BYE请求给UE就可以解决这个问题。但是这个不符合SIP原则,那就是代理服务器不允许发BYE消息。但是,由于缺乏更好的解决方法,因而IETF接受了3GPP的需求和此解决方案。
对SIP的一些头部进行了参数扩展,例如,对WWW-authenticate头部进行了参数扩展,定义了一个新的auth-param参数字段,用在对REGISTER请求的401(Unauthorized未授权)响应中,此字段又包括integrityOkey和cipher-key两个具体参数等。
对SIP协议中的消息体MIME类型增加了“application/3gpp-ims+xml”类型,即3GPPIP多媒体核心子系统可扩展语言体版本1,同时约定了此类型内容不允许发送到3GPP的网络之外。
4、IMS中的SIP典型流程
由公共电话交换网(PSTN)发起的往IP核心多媒体子系统到达第一个媒体网关控制功能(MGCF)的步骤如下:
步骤1SS77号信令初始地址消息(IAM)
PSTN建立一个到达媒体网关(MGW)的目的路径,并用SS7IAM消息发起一个到T信令网关(T-SGW)的信令。给出中继身份和目的的信息。
步骤2IPIAM
T-SGW接续SS7消息,压缩成IP包送给MGCF。
步骤3与H.248交互作用
MGCF发起了一个H.248命令来获知中继和IP端口。
步骤4INVITE(PSTN-O到S-S)
MGCF发起了一个INVITE请求,包括一个初始的SDP,就象每个特有的S-CSCF到S-CSCF过程一样。
步骤5100Trying(S-S到PSTN-O)
MGCF收到一个100Trying临时响应,和S-CSCF到S-CSCF过程指定的一样。
步骤6183SessionProcess(S-S到PSTN-O)
在每一个S-CSCF到S-CSCF过程,媒体流的目的性能将被在183SessionProcess临时响应中的信道上被返回。
步骤7PRACK(PSTN-O到S-S)
MGCF决定这个会话的最终媒体流形式,并且把这个信息包含在PRACK请求中,发送到每个S-CSCF到S-CSCF过程的目的地。
步骤8200OK(S-S到PSTN-O)
目的地用一个200OK来响应PRACK请求。
步骤9H.248交互
MGCF发起一个H.248命令来修改连接参数,指示MGW预留会话所需的资源。
步骤10预留资源
MGW预留会话所需的资源。
步骤11COMET(PSTN-O到S-S)
当资源预定完成以后,MGCF发送COMET请求到每个S-CSCF到S-CSCF过程的终端点。SDP将指出资源预留成功。
步骤12200OK(S-S到PSTN-O)
目的终端点用一个200OK响应COMET请求。
步骤13180Ringing(S-S到PSTN-O)
目的终端点可以随意地发信号。如果是这样,它则用一个180Ringing临时响应来发信号给呼叫发起方。这个响应被送到每个S-CSCF到S-CSCF过程的MGCF。
步骤14PRACK(PSTN-O到S-S)
MGCF用一个PRACK请求来响应180Ringing临时响应。
步骤15200OK(S-S到PSTN-O)
目的终端点用一个200OK来响应PRACK请求。
步骤16IP-ACM
如果信号已经发送,MGCF将接着向前发一个IP-ACM地址全消息给T-SGW。
步骤17ACM
如果信号已经发送,T-SGW将会继续向前发送一个SS7ACM消息。
步骤18200OK(S-S到PSTN-O)
当呼叫发起方响应时,S-S过程将会发送一个最终的响应200OK给MGCF来终结。
步骤19IP-ANM
MGCF继续向前发送一个IP-ANM应答消息给T-SGW。
步骤20ANM
T-SGW继续向前发送一个ANM地址全消息给PSTN。
步骤21H.248交互
MGCF发起一个H.248命令来改变MGW的连接使它变成双向的。
步骤22ACK(PSTN-O到S-S)
MGCF用ACK请求确认200OK最终响应。
5、结束语
虽然目前IMS体系架构只能支持移动业务的接入,暂还不能支持固定接入方式,但是IMS的提出顺应了通信网络融合发展的趋势。现在已有ETSI/TISPAN(针对固网应用)、ITU-TFGNGN等多家标准实体参与进来。由通信发展的三大趋势(信息组织方式IP化、信息传输方式无线化、信息内容多媒体化)可以预见,在这种发展趋势带动下,H.323和SIP将会在以后相当一段时间内并存,且由于SIP和IP方式更具亲和性,随着SIP的互操作功能的逐步完善,SIP将最终可能成为一个全局性协议。