SIP协议在3G网络中的应用
时间:01-19
来源:互联网
点击:
会话起始协议SIP是3G的IP多媒体子系统中提供多媒体业务的核心技术。文章首先介绍了SIP的基本工作原理,然后对3GPPUMTSR5定义的IMS进行了简要描述,最后详细阐述了SIP在IMS提供服务的过程及对漫游用户的处理。
会话起始协议(sessioniniTIationprotocol)是由IETF定义的一个基于IP网络中实现实时通信应用的一种信令控制协议。 3GPP定义了IP多媒体子系统(IPMultimedia Subsystem:IMS)的网络架构,并基于SIP来承载各种多媒体业务(VoIP,流媒体,网络游戏等)。
一、SIP协议简介
会话起始协议SIP(SessionInitiationProtocol)被描述用来生成,修改和终结一个或多个参与者之间的会话,是由IETF于 1999年提出的一个基于IP网络中实现实时通信应用的一种信令控制协议。它打破了传统电信业务的传输模式,采用基于因特网的准则,将蜂窝系统与因特网应用融合在一起提供基于IP的多媒体业务,具有开放性,可扩展性,安全性的特点。3GPP
已将SIP作为第三代移动通信系统多媒体域的控制协议。
经常出现这种情况,一个用户在多个位置之间移动,如一个公司职员,可能处在公司,家里或是咖啡厅等位置。为了给用户提供方便的移动性,SIP使用统一资源定位符URI(UniformResourceIdentifier)来表示用户。通常由一个域名加上用户名组成,例如SIP:John@ eastcom.com,类似于电子邮件地址。SIP URI只是用来唯一标示用户的逻辑标记符,用户注册时它将与用户的IP地址绑定并记录到定位服务器。
在SIP中,系统采用了因特网常用的客户机/服务器结构,由用户代理和服务器两大部分组成。其中用户代理又分为用户代理客户(UAC: UserAgentClient)和用户代理服务器(UAS:UserAgent Server)两种。UAC用来发起会话请求,UAS用来接受并响应会话请求。这两者只是逻辑上的功能,实际上网络终端应同时具备这两种功能,既能发起会话,又能接受、相应会话。服务器分为代理服务器(Proxy Server)、重定向服务器(Redirected Server)和注册服务器(Registrar)。
图1 SIP的网络体系结构
图1描述了SIP的基本网络体系结构。用户接入网络后首先要向注册服务器注册,注册信息写入定位服务器中(定向服务器不属于SIP网元,只是一个数据库)。当用户代理客户UAC要发起呼叫时,它一般将呼叫请求消息发送给本域的出向代理服务器。媒体描述信息以SDP (SessionDescriptionProtocol)的形式在SIP消息体中被封装并发送出去。代理服务器检查被叫地址,将请求转发(可能经过多个中间代理服务器的转发),直至到达被叫域的代理服务器。被叫域的代理服务器通过查询定位服务器确定被叫的确切位置,然后将请求转发给被叫用户代理服务器 UAS。被叫UAS收到请求后,生成响应消息。响应消息将按照请求消息经过的路径,原路返回到主叫UAC。主叫UAC根据响应消息的内容选择是建立呼叫、重新发起呼叫或取消该呼叫。如果被叫没有在归属地,主叫将通过重定位服务器重新定位被叫的位置,然后发起请求。
SIP有两种类型的消息:
(1)请求:从客户机发到服务器的消息。SIP核心规范定义了6种SIP请求:
INVITE—邀请用户加入呼叫。
BYE—终止两个用户之间的呼叫。
OPTIONS—请求关于服务器能力的信息。
ACK—确认客户机已经收到对INVITE的最终响应。
REGISTER—提供地址解析的映射,让服务器知道其他用户的位置。
INFO—用于会话中信令。
(2)应答:从服务器发到客户机的消息,当服务器收到请求时,它就发出一个或多个应答。每个应答都有一个代表事务状态的状态码(100-699的整数)。下面是常用的几种应答及它们的状态码:
trying(100)—正在尝试
ringing(180)—正在振铃
sessionprogress(183)—会话进行
OK(200)—好
二、3GPP R5中IMS的基本结构
根据3GPP的定义,3G网络被划分为3个域:电路交换域、分组交换域、IP多媒体域(如图2)。
图2 3GPP R5基本结构
电路交换域与现有的2G网络类似,采用电路交换技术提供话音业务。分组交换域是2.5G网络中引入的,主要网元设备有SGSN (ServiceGPRSSwitchNode)和GGSN(Gateway GPRS Switch Node)。它们负责向终端提供IP连接,用户通过该域进入因特网,用户可以由此发送邮件,浏览网页。它并没有在IP之上定义任何特殊的体系结构,它主要是一种接入技术。IP多媒体域(即IMS,IP MulTImedia Subsystem)是3GPP制定的UMTS R5版本中引入的,采用SIP作为主要的信令协议,使得移动运营商可以为用户提供端到端的全IP的多媒体业务。
IMS由呼叫状态控制功能CSCF(CallSessionControlFunction)、媒体网关控制功能MGCF(Media Gateway Control Function)、媒体网关MGW(Media Gateway)、归属地用户服务器H
SS(Home Subscriber Server)等功能实体组成。CSCF的种类包括P-CSCF(Proxy-CACF,代理CSCF)、I-CSCF(Interrogating CSCF,查询CSCF)和S-CSCF(Serving CSCF,服务CSCF),本质上它们都是SIP服务器,处理SIP信令。
●P-CSCF是UE联系IMS的第一步,是UE在被访问域(漫游时)首先要访问的点,进出的SIP消息都要通过P-CSCF。P-CSCF相当于SIP协议定义的边界代理服务器。
●I-CSCF的功能是提供到归属网络的入口,将归属网络的拓扑图对其它网络隐藏起来,并通过HSS为特定用户找出相应的S-CSCF。它是用户终端漫游或者外来任务进入本地服务提供商网络中的联系点。当I-CSCF接到一个请求时,它将把请求路由到相应的S-CSCF。
●S-CSCF给用户提供服务。当终端注册时,它同本地域的S-CSCF联系,本地S-CSCF向用户提供用户预定的服务。这样的好处是用户即使漫游到不支持某项业务的网络也能像在本地一样得到需要的服务。
HSS(HomeSubscriberServer)相当于2G网络中的HLR,存储了与一个单独用户相关的S-CSCF和相应的用户简介。因此它知道用户现在的位置和用户指定的服务。CSCF可以向HSS询问以获得这些信息。HSS和CSCF之间交互用的是Cx接口,它不是IETF制定的,当也是基于 IP的。
三、用户SIP注册
用户在发起一次会话之前必须先完成SIP服务注册。UE(UserEquipment)将告诉HSS它现在的位置,HSS更新相应用户的信息;注册前要进行验证,HSS根据用户信息和操作限制检查该用户是否可以注册;在服务注册中,本地域还要为UE选择一个S-CSCF,并把用户信息发往S-CSCF。这个过程是在应用层完成的,所以注册前要建立信令链路。因此,首先要建立UE到SGSN和SGSN到GGSN的链路。这条链路建立以后,用户就可以注册了。
如图3,描述了一个用户在3G网络中注册的全部过程。注册之后,系统会给用户分配一个S-CSCF,由这个S-CSCF来负责向用户提供服务。首先,用户从UE发送一个注册请求给所在地P-CSCF。P-CSCF是UE和网络之间的联系点。P-CSCF向用户归属地I-CSCF转发该注册请求。归属地I- CSCF向HSS咨询,I-CSCF根据从HSS得来的有关该用户的信息给用户选择一个S-CSCF。因此,原来的注册请求就可以交由这个S-CSCF处理。一旦收到请求,S-CSCF就从HSS下载用户的信息,该信息告诉S-CSCF用户预定了哪些服务。最终,它发出一个约定的应答信号。
图3 用户注册的信令流
四、在漫游用户间的会话
一旦UE注册到一个S-CSCF,语音和多媒体呼叫就可以建立了。两用户之间建立链路的过程实际上就是穿越各个CSCF的过程。总的来说是按照“主叫用户 ◇主叫所在地P-CSCF◇主叫归属地S-CSCF◇被叫归属地S-CSCF ◇被叫所在地P-CSCF ◇被叫用户”的路线。
用户访问地的SIPCSCF服务器是不会处理用户业务的,它只起到了接入网络、转发信息的作用,给用户提供业务服务以及用户接入其他网络(例如PSTN)都要依靠归属地的S-CSCF。用户进入网络时首先到访问地的P-CSCF登记,告诉P-CSCF自己的归属地在哪里,就犹如外地人口到来先到访问地公安局登记领取暂住证,并登记自己是谁,户口所在地等信息。接着通过访问地P-CSCF告诉归属地的S-CSCF自己的位置并更新HSS中的位置信息。当用户发出会话请求时,访问地P-CSCF将请求发往用户归属地交由S-CSCF处理,同样的,当有发往用户的会话请求时,请求先到达归属地,归属地找到用户的位置后再通过用户访问地P-CSCF与用户取得联系,建立链路。
如图4所示是最普通的两个漫游用户的会话建立过程。一个完整的IMS呼叫分为会话邀请、资源预留、会话提供、会话连接、会话终止五个阶段。
图4 两个漫游用户会话的SIP信令交换
呼叫的过程如下:
(1)会话邀请
A向P-CSCF发送一个INVITE请求消息。该消息中有B和A的SIPURI。P-CSCF注意到A不属于本地用户并向A的归属地转发该INVITE 消息并返回100trying临时应答A(表示已经发送A的请求,正在尝试建立链路,A需要等待)。A的本地域I-CSCF向HSS查询,并向A注册时分配的S-CSCF转发INVITE并返回100trying给外地P-CSCF。S-CSCF收到请求后将INVITE转发给被叫B的本地域并返回 100trying给I-CSCF。同样,B归属地的I-CSCF
接到请求后向HSS查询并将请求转发到B的归属地S-CSCF,该S-CSCF发现B正处在外地网络中,于是将INVITE转发到B目前所在地的P-CSCF,接着P-CSCF将请求最后传给B。
(2)资源预留
B接受了这个会话请求,但此时他不回铃通知A,他返回183sessionprocess应答表示他接受该会话,同时要求A对此表示确定,这个应答通过各个CSCF传给A。同时B激活一个GPRSPDP上下文,它被用来通过IMS的IP接入点来建立语音通道。
A收到183应答后,同样激活一个PDP上下文并通过CSCF建立的通道发送一个COMET消息给B,该消息含有A的语音通道的地址细节,并起确认作用。
(3)会话提供和会话连接
当接到COMET,B知道传送语音的IP通道和服务质量参数已经被双方预留,并且知道了语音通道的地址,因此B返回200OK确认消息。该消息包含了B的语音通道的地址细节。
A接到确认后,给B一个180振铃信息,B听到振铃即给A一个200OK消息,最后A给B发送ACK确认信息,到此通信链路建立完成,接下来A和B可以进行通话了。
(4)会话终止
为了终止会话,A发送一个BYE消息给B。同时A撤销他的PDP上下文。
B接到BYE消息后,它会撤消自己的PDP上下文,并返回一个200OK应答给A是房改呼叫使用的所有CSCF。
五、结束语
SIP协议是一个简单、灵活的协议,具有很强的包容性,在保持其核心协议简捷的基础上建立了强大的扩充机制,所以利用SIP技术可以很容易的实现大量应用。我们可以毫无疑问,基于SIP的3GIMS将会给广大用户带来更快捷、更丰富、更灵活的通信体验。
会话起始协议(sessioniniTIationprotocol)是由IETF定义的一个基于IP网络中实现实时通信应用的一种信令控制协议。 3GPP定义了IP多媒体子系统(IPMultimedia Subsystem:IMS)的网络架构,并基于SIP来承载各种多媒体业务(VoIP,流媒体,网络游戏等)。
一、SIP协议简介
会话起始协议SIP(SessionInitiationProtocol)被描述用来生成,修改和终结一个或多个参与者之间的会话,是由IETF于 1999年提出的一个基于IP网络中实现实时通信应用的一种信令控制协议。它打破了传统电信业务的传输模式,采用基于因特网的准则,将蜂窝系统与因特网应用融合在一起提供基于IP的多媒体业务,具有开放性,可扩展性,安全性的特点。3GPP
已将SIP作为第三代移动通信系统多媒体域的控制协议。
经常出现这种情况,一个用户在多个位置之间移动,如一个公司职员,可能处在公司,家里或是咖啡厅等位置。为了给用户提供方便的移动性,SIP使用统一资源定位符URI(UniformResourceIdentifier)来表示用户。通常由一个域名加上用户名组成,例如SIP:John@ eastcom.com,类似于电子邮件地址。SIP URI只是用来唯一标示用户的逻辑标记符,用户注册时它将与用户的IP地址绑定并记录到定位服务器。
在SIP中,系统采用了因特网常用的客户机/服务器结构,由用户代理和服务器两大部分组成。其中用户代理又分为用户代理客户(UAC: UserAgentClient)和用户代理服务器(UAS:UserAgent Server)两种。UAC用来发起会话请求,UAS用来接受并响应会话请求。这两者只是逻辑上的功能,实际上网络终端应同时具备这两种功能,既能发起会话,又能接受、相应会话。服务器分为代理服务器(Proxy Server)、重定向服务器(Redirected Server)和注册服务器(Registrar)。
图1 SIP的网络体系结构
图1描述了SIP的基本网络体系结构。用户接入网络后首先要向注册服务器注册,注册信息写入定位服务器中(定向服务器不属于SIP网元,只是一个数据库)。当用户代理客户UAC要发起呼叫时,它一般将呼叫请求消息发送给本域的出向代理服务器。媒体描述信息以SDP (SessionDescriptionProtocol)的形式在SIP消息体中被封装并发送出去。代理服务器检查被叫地址,将请求转发(可能经过多个中间代理服务器的转发),直至到达被叫域的代理服务器。被叫域的代理服务器通过查询定位服务器确定被叫的确切位置,然后将请求转发给被叫用户代理服务器 UAS。被叫UAS收到请求后,生成响应消息。响应消息将按照请求消息经过的路径,原路返回到主叫UAC。主叫UAC根据响应消息的内容选择是建立呼叫、重新发起呼叫或取消该呼叫。如果被叫没有在归属地,主叫将通过重定位服务器重新定位被叫的位置,然后发起请求。
SIP有两种类型的消息:
(1)请求:从客户机发到服务器的消息。SIP核心规范定义了6种SIP请求:
INVITE—邀请用户加入呼叫。
BYE—终止两个用户之间的呼叫。
OPTIONS—请求关于服务器能力的信息。
ACK—确认客户机已经收到对INVITE的最终响应。
REGISTER—提供地址解析的映射,让服务器知道其他用户的位置。
INFO—用于会话中信令。
(2)应答:从服务器发到客户机的消息,当服务器收到请求时,它就发出一个或多个应答。每个应答都有一个代表事务状态的状态码(100-699的整数)。下面是常用的几种应答及它们的状态码:
trying(100)—正在尝试
ringing(180)—正在振铃
sessionprogress(183)—会话进行
OK(200)—好
二、3GPP R5中IMS的基本结构
根据3GPP的定义,3G网络被划分为3个域:电路交换域、分组交换域、IP多媒体域(如图2)。
图2 3GPP R5基本结构
电路交换域与现有的2G网络类似,采用电路交换技术提供话音业务。分组交换域是2.5G网络中引入的,主要网元设备有SGSN (ServiceGPRSSwitchNode)和GGSN(Gateway GPRS Switch Node)。它们负责向终端提供IP连接,用户通过该域进入因特网,用户可以由此发送邮件,浏览网页。它并没有在IP之上定义任何特殊的体系结构,它主要是一种接入技术。IP多媒体域(即IMS,IP MulTImedia Subsystem)是3GPP制定的UMTS R5版本中引入的,采用SIP作为主要的信令协议,使得移动运营商可以为用户提供端到端的全IP的多媒体业务。
IMS由呼叫状态控制功能CSCF(CallSessionControlFunction)、媒体网关控制功能MGCF(Media Gateway Control Function)、媒体网关MGW(Media Gateway)、归属地用户服务器H
SS(Home Subscriber Server)等功能实体组成。CSCF的种类包括P-CSCF(Proxy-CACF,代理CSCF)、I-CSCF(Interrogating CSCF,查询CSCF)和S-CSCF(Serving CSCF,服务CSCF),本质上它们都是SIP服务器,处理SIP信令。
●P-CSCF是UE联系IMS的第一步,是UE在被访问域(漫游时)首先要访问的点,进出的SIP消息都要通过P-CSCF。P-CSCF相当于SIP协议定义的边界代理服务器。
●I-CSCF的功能是提供到归属网络的入口,将归属网络的拓扑图对其它网络隐藏起来,并通过HSS为特定用户找出相应的S-CSCF。它是用户终端漫游或者外来任务进入本地服务提供商网络中的联系点。当I-CSCF接到一个请求时,它将把请求路由到相应的S-CSCF。
●S-CSCF给用户提供服务。当终端注册时,它同本地域的S-CSCF联系,本地S-CSCF向用户提供用户预定的服务。这样的好处是用户即使漫游到不支持某项业务的网络也能像在本地一样得到需要的服务。
HSS(HomeSubscriberServer)相当于2G网络中的HLR,存储了与一个单独用户相关的S-CSCF和相应的用户简介。因此它知道用户现在的位置和用户指定的服务。CSCF可以向HSS询问以获得这些信息。HSS和CSCF之间交互用的是Cx接口,它不是IETF制定的,当也是基于 IP的。
三、用户SIP注册
用户在发起一次会话之前必须先完成SIP服务注册。UE(UserEquipment)将告诉HSS它现在的位置,HSS更新相应用户的信息;注册前要进行验证,HSS根据用户信息和操作限制检查该用户是否可以注册;在服务注册中,本地域还要为UE选择一个S-CSCF,并把用户信息发往S-CSCF。这个过程是在应用层完成的,所以注册前要建立信令链路。因此,首先要建立UE到SGSN和SGSN到GGSN的链路。这条链路建立以后,用户就可以注册了。
如图3,描述了一个用户在3G网络中注册的全部过程。注册之后,系统会给用户分配一个S-CSCF,由这个S-CSCF来负责向用户提供服务。首先,用户从UE发送一个注册请求给所在地P-CSCF。P-CSCF是UE和网络之间的联系点。P-CSCF向用户归属地I-CSCF转发该注册请求。归属地I- CSCF向HSS咨询,I-CSCF根据从HSS得来的有关该用户的信息给用户选择一个S-CSCF。因此,原来的注册请求就可以交由这个S-CSCF处理。一旦收到请求,S-CSCF就从HSS下载用户的信息,该信息告诉S-CSCF用户预定了哪些服务。最终,它发出一个约定的应答信号。
图3 用户注册的信令流
四、在漫游用户间的会话
一旦UE注册到一个S-CSCF,语音和多媒体呼叫就可以建立了。两用户之间建立链路的过程实际上就是穿越各个CSCF的过程。总的来说是按照“主叫用户 ◇主叫所在地P-CSCF◇主叫归属地S-CSCF◇被叫归属地S-CSCF ◇被叫所在地P-CSCF ◇被叫用户”的路线。
用户访问地的SIPCSCF服务器是不会处理用户业务的,它只起到了接入网络、转发信息的作用,给用户提供业务服务以及用户接入其他网络(例如PSTN)都要依靠归属地的S-CSCF。用户进入网络时首先到访问地的P-CSCF登记,告诉P-CSCF自己的归属地在哪里,就犹如外地人口到来先到访问地公安局登记领取暂住证,并登记自己是谁,户口所在地等信息。接着通过访问地P-CSCF告诉归属地的S-CSCF自己的位置并更新HSS中的位置信息。当用户发出会话请求时,访问地P-CSCF将请求发往用户归属地交由S-CSCF处理,同样的,当有发往用户的会话请求时,请求先到达归属地,归属地找到用户的位置后再通过用户访问地P-CSCF与用户取得联系,建立链路。
如图4所示是最普通的两个漫游用户的会话建立过程。一个完整的IMS呼叫分为会话邀请、资源预留、会话提供、会话连接、会话终止五个阶段。
图4 两个漫游用户会话的SIP信令交换
呼叫的过程如下:
(1)会话邀请
A向P-CSCF发送一个INVITE请求消息。该消息中有B和A的SIPURI。P-CSCF注意到A不属于本地用户并向A的归属地转发该INVITE 消息并返回100trying临时应答A(表示已经发送A的请求,正在尝试建立链路,A需要等待)。A的本地域I-CSCF向HSS查询,并向A注册时分配的S-CSCF转发INVITE并返回100trying给外地P-CSCF。S-CSCF收到请求后将INVITE转发给被叫B的本地域并返回 100trying给I-CSCF。同样,B归属地的I-CSCF
接到请求后向HSS查询并将请求转发到B的归属地S-CSCF,该S-CSCF发现B正处在外地网络中,于是将INVITE转发到B目前所在地的P-CSCF,接着P-CSCF将请求最后传给B。
(2)资源预留
B接受了这个会话请求,但此时他不回铃通知A,他返回183sessionprocess应答表示他接受该会话,同时要求A对此表示确定,这个应答通过各个CSCF传给A。同时B激活一个GPRSPDP上下文,它被用来通过IMS的IP接入点来建立语音通道。
A收到183应答后,同样激活一个PDP上下文并通过CSCF建立的通道发送一个COMET消息给B,该消息含有A的语音通道的地址细节,并起确认作用。
(3)会话提供和会话连接
当接到COMET,B知道传送语音的IP通道和服务质量参数已经被双方预留,并且知道了语音通道的地址,因此B返回200OK确认消息。该消息包含了B的语音通道的地址细节。
A接到确认后,给B一个180振铃信息,B听到振铃即给A一个200OK消息,最后A给B发送ACK确认信息,到此通信链路建立完成,接下来A和B可以进行通话了。
(4)会话终止
为了终止会话,A发送一个BYE消息给B。同时A撤销他的PDP上下文。
B接到BYE消息后,它会撤消自己的PDP上下文,并返回一个200OK应答给A是房改呼叫使用的所有CSCF。
五、结束语
SIP协议是一个简单、灵活的协议,具有很强的包容性,在保持其核心协议简捷的基础上建立了强大的扩充机制,所以利用SIP技术可以很容易的实现大量应用。我们可以毫无疑问,基于SIP的3GIMS将会给广大用户带来更快捷、更丰富、更灵活的通信体验。
- 变革电信网网络安全框架 (01-03)
- 浅谈IPv6技术的若干问题(01-09)
- LG电子低成本CDMA手机的设计原则剖析 (01-12)
- 专家教你做个病毒高手(04-30)
- 数据库归档要考虑的四大问题(05-26)
- 5个步骤成功加密电子邮件(07-18)