《IMS注册会话流程解析》由会员分享,可在线阅读,更多相关《IMS注册会话流程解析(39页珍藏版)》请在金锄头文库上搜索。
1、IMSIMS注册会话流程解析注册会话流程解析Sipteltel:+8625XXXXXXsip:+8625XXXXXImpu用户共有标识Impi用户私有标识2主要网元及功能CSCF:Call Session Control Function CSCF按其位置和功能又可分为P/S/I三种类型:其中: P-CSCF(ProxyCSCF):是是IMS中与用户的第一个连接点中与用户的第一个连接点,提供代理(Proxy)功能,即接受业务请求并转发它们;P-CSCF也可提供用户代理(UA)功能,即在异常情况下中断和独立产生SIP会话;S-CSCF(ServingCSCF):S-CSCF在IMS核心网中处于核
2、心的控制地位,负责对UE的注册鉴权和会话控制,执行针对主叫端及被叫端IMS用户的基本会话路由功能,并根据用户签约的IMS触发规则,在条件满足时进行到AS的增值业务路由触发及业务控制交互;I-CSCF(InterrogatingCSCF):类似IMS的关口节点,提供本域用户服务节点分配、路由查询以及IMS域间拓朴隐藏功能;I-CSCF是归属是归属IMS网络的统一的初步入口点。网络的统一的初步入口点。P/S/I-CSCF在物理实体上完全可以是合一的,在实际组网时,其划分和部署需综合考虑对IMS业务接入方式、CSCF的容量、能力及用户业务量需求等因素.3主要网元及功能HSS(The Home Sub
3、scriber Server ):):HSS是归属网络中保存IMS用户的签约信息,包括基本标识、路由信息以及业务签约信息等集中综合数据库,位于IMS核心网络架构的最顶层,HSS中保存的主要信息包括:IMS用户标识(包括公共及私有标识)、号码和地址信息IMS用户安全上下文:用户网络接入认证的密钥信息IMS用户的路由信息:HSS支持用户的注册,并且存储用户的位置信息IMS用户的业务签约信息:包括其他AS的增值业务数据SLF(Subscription Locator Function):): 在运营商内设置多个HSS的情况下,I-CSCF在登记注册及事务建立过程中通过SLF获得用户签约数据所在的HS
4、S域名;可与HSS合设;AS(Application Server): 为IMS用户提供增值业务,可以位于用户归属网,也可以由第三方提供。4主要网元及功能MGCF(Media Gateway Control Function): 实现IMS核心控制面与PSTN或PLMNCS的交互,支持ISUP/BICC与SIP的协议交互及呼叫互通,通过H.248控制IM-MGW完成PSTN或CSIP/TDM承载与IMS域用户面RTP的实时转换。IM-MGW(IMS-Media Gateway Function): 完成IMS与PSTN及CS域用户面宽窄带承载互通及必要的Codec编解码变换。ENUM/DNS
5、Server:DNS服务器负责URL地址到IP地址的解析,ENUM(E.164NumberURIMapping)服务器负责电话号码到URL的转换,一般需IMS运营商新建;MRFC(Multimedia Resource Function Controller): 通过H.248控制MRFP上的媒体资源,解析来自其他S-CSCF及AS的SIP资源控制命令,转换为对MRFP的对应控制命令并产生相应计费信息;MRFP(Multimedia Resource Function Processor): 作为网络公共资源,在MRFC控制下提供资源服务,包括媒体流混合(多方会议)、多媒体信息播放(放音、流媒
6、体)、媒体内容解析处理(码变换、语音识别等)。5内容介绍1.主要网元及各自功能主要网元及各自功能2.SIP协议介绍协议介绍3.IMS注册及相关流程注册及相关流程4.IMS会话及相关流程会话及相关流程6什么是SIP?lSIP:SessionInitiationProtocolp用于建立,控制和释放会话lSIP是是 IETF 为多媒体会话而开发制定的协议为多媒体会话而开发制定的协议p这里的会话包括文本,视频,游戏和传统的语音lSIP 是为是为Internet 而制定设计的协议而制定设计的协议p象HTTP协议一样是基于文本的p询问/应答机制p广泛应用于internetl可以基于可以基于UDP、TCP
7、和和SCTP传输,目前最常用传输,目前最常用UDP7消息类型lSIP消息可以被分为两类:p请求n发起一个会话p响应n对请求的响应.8请求消息方法名应用场景INVITE用于会话的建立和会话属性的修改。ACK用于对INVITE消息最终响应的确认。BYE用于会话的释放。CANCEL用于取消之前发送的SIP请求消息。建议CANCEL消息仅用于取消INVITE请求。REGISTER用于注册和注销。SUBSCRIBE用于对事件的订阅。PUBLISH用于发布网元状态。NOTIFY用于对订阅事件的通知。UPDATE用于会话媒体修改和会话刷新。MESSAGE用于即时消息。PRACK用于对临时响应消息的确认。PR
8、ACK消息及其成功响应可携带SDP进行媒体协商,通常用于与CS域互通。INFO用于在会话内传送会话相关的控制信息。REFER用于通知第三方对会话进行控制。OPTIONS用于服务器能力查询。也可用作心跳消息。响应消息状态码含义1XX临时响应,表示请求消息正在被处理。2XX成功响应,表示请求已被成功接收,完全理解并被接受。3XX重定向响应,表示需采取进一步以完成该请求。4XX客户机错误,表示请求消息中包含语法错误信息或服务器无法完成客户机请求。5XX服务器错误,表示服务器无法完成合法请求。6XX全局故障,表示任何服务器无法完成该请求。临时响应临时响应最终响应最终响应SIP消息结构SIP消息基于文本
9、,包含3部分Start-Line首行Header头域Body消息体Body消息消息体体Header头域头域Start-Line首行首行SDP11SIP头域消息INVITE sip:66500002191.169.1.110 SIP/2.0From:;tag=1ccb6df3To:CSeq:1INVITECall-ID:20973e49f7c52937fc6be224f9e52543sx3000Via:SIP/2.0/UDP;branch=z9hG4kb77ef4c23Via:SIP/2.0/UDP191.169.1.116:5061;branch=z9hG4bkbc427dad6Record-
10、Route:Route:Contact:Supported:100rel,Max-Forwards:70User-agent:Flexit-IMSsoftphoneV1.2D301SP03Expires:120Content-Length:230Content-Type:application/sdp12SIP头域参数解释TO:指明请求的接收者FROM:指示请求的发起者Cseq:命令序号,在Call-ID范围内唯一确定包含序列号和SIP方法两部分SIP方法必须和request请求中的方法保持一致Call-ID:唯一的标识符,Call-ID和tags用来标识一个会话.Via:Via消息头用以保存
11、请求历经的路径。它可以防止请求消息传送产生环路,并确保响应和请求消息选择同样的路径。必须包含branch字段:用来标识一个事务Record-Route:由消息路由过程中的各有状态SIP代理添加,目的是为了形成下一个SIP请求的“Route”头域,确定消息路由。Route:用于消息的路由Contact:提供一个地址与用户直接通话,呈现于INVITE,ACK,和REGISTER请求,成功响应,呼叫处理响应,重定向响应。Supported:100rel,:支持1XX类的响应,终端可以回PRACK回应,提高可靠性。Max-Forwards:用于定义一个请求到达其目的地址所允许经过的中转站的最大值,错误
12、时返回483响应(toomanyhops).只用于请求消息。13SIP扩展头域REGISTER sip: SIP/2.0Via:SIP/2.0/UDP8.27.2.102:10226;branch=z9hG4bod840d0wVia:SIP/2.0/UDP8.27.22.224:5061;branch=z9hG4bKnashds7;received=192.0.2.4To:B;From:B;tag=456248P-Access-Network-Info:3GPP-UTRAN-TDD;utran-cell-id-3gpp=234151D0FCEP-Visited-Network-ID:8.27.
13、2.102P-Charging-Vector:icid-value=8.27.2.102.3348465999.3157.14Call-ID:2179448158.27.22.224CSeq:1826REGISTERContact:;Expires:7200Content-Length:0l实例SIP扩展头域扩展头域14IMS中常见的SIP扩展头域参数常见扩展头域常见扩展头域主要功能主要功能P-Access-Network-Info 用于终端上报接入网类型和信息P-Visited-Network-ID用于携带终端接入的PCSCF信息,作为漫游控制依据P-Charging-Vector 与P-C
14、harging-Function-Address头域一起完成计费功能P-Asserted-Identity正式的主叫线显示使用的头域Service-Route注册过程中SCSCF向PCSCF下发自己的地址,用于会话的初始路由Path注册过程中PCSCF向SCSCF下发自己的地址,用于会话的初始路由15SDP示例示例v=0o=Alice456981216781226INIP410.10.10.40s=SipCallc=INIP410.10.10.40t=00m=audio10052RTP/AVP8a=rtpmap:8PCMA/8000a=sendrecv协议版本,取值为0会话创建者信息,会话标识
15、会话名称,描述性媒体地址描述会话开始和结束时间媒体成分描述媒体成分属性SDP示例示例内容介绍1.主要网元及各自功能主要网元及各自功能2.SIP协议介绍协议介绍3.IMS注册及相关流程注册及相关流程4.IMS会话及相关流程会话及相关流程17P-CSCF发现过程为了和IMS网络通信,UE必须知道P-CSCF的至少一个IP地址,UE查找P-CSCFIP地址的过程为CSCF发现过程三种机制:GPRS方式由GPRS提供PCSCF发现的能力DHCP方式IP连接建立后,使用DHCP为UE提供PCSCF的域名和DNS服务器的地址,然后通过DNS服务器解析PCSCF域名静态配置在UE中。注:实际组网方式中,注:
16、实际组网方式中,UE中静态配置中静态配置SBC的地址或配置的地址或配置SBC域名域名由由DNS解析得到地址,解析得到地址,SBC静态配置静态配置P-CSCF的地址。的地址。18S-CSCF分配当一个用户注册到网络中要接入IMS业务时,I-CSCF就分配一个S-CSCF给UE。I-CSCF与HSS通过Cx接口进行通讯,从而得到选择S-CSCF时所需要的信息.当HSS返回一个S-CSCF的名字时,I-CSCF使用HSS返回的S-CSCF的名字去查找S-CSCF的IP地址。当HSS返回一个S-CSCF的能力集时,I-CSCF根据接收到的每个S-CSCF的能力集进行某种选择算法,选择一个合适的S-CS
17、CF。19S-CSCF分配I-CSCF根据从HSS接收到的每个S-CSCF的能力选择一个合适的S-CSCF。能力名称能力名称ID紧急呼叫紧急呼叫1SIP 增强能力增强能力12SIP 增强能力增强能力23 I-CSCFP-CSCFS-CSCF3S-CSCF2S-CSCF1User1 的注册信息的注册信息:必必选能力能力 : :1,2,3,4可可选能力能力 : :5, ,6 能力集能力集 : :1,2,3,4,5能力集能力集 : :1,2,3能力集能力集 : :3,4,5ICSCF中配置有每个中配置有每个SCSCF的能力集的能力集HSSUser120内容介绍2.IMS注册相关流程2.1P-CSCF
18、的发现过程2.2S-CSCF分配2.3 注册流程注册流程21IMS用户注册过程注册步骤注册步骤2二次注册鉴权二次注册鉴权RegisterRegister获取用户数据获取用户数据200 OK200 OK200 OKS-CSCF-AHSS-AI-CSCF-AP-CSCF-AI-CSCF-A分配分配S-CSCFUE注册步骤注册步骤1初始注册消息初始注册消息RegisterRegister鉴权数据鉴权数据401401401S-CSCF-AHSS-AI-CSCF-AP-CSCF-AI-CSCF-A分配分配S-CSCFUE注册信令流程初始注初始注册请求册请求鉴权参数返鉴权参数返回给终端回给终端S-CSCF
19、分分配配下载鉴权向下载鉴权向量集合量集合S-CSCF 分分配配下载用户签下载用户签约档案约档案(iFC etc.)鉴权相应鉴权相应第三方注册第三方注册用户注册流程说明(1)1.用户向P-CSCF发起注册请求。24.P-CSCF根据注册请求中的注册服务器域名(在用户终端配置),将请求路由到I-CSCF。5.I-CSCF使用UAR消息查询HSS。6.HSS用UAA消息返回用户需求的S-CSCF能力集。7.I-CSCF根据用户的签约需求选择合适的S-CSCF,将注册请求发往S-CSCF。8.S-CSCF根据注册请求中的用户信息,用MAR消息向HSS要求下载用户鉴权向量。9.HSS使用MAA给S-CS
20、CF返回用户的鉴权向量(HSS根据用户开户时的密码等计算生成)。10.S-CSCF获得鉴权向量后,生成一个随机值,并用这个随机值和鉴权向量进行加密运算,得到一个验证码并保存。并向I-CSCF返回401鉴权挑战,消息中携带生成的随机值(就是就是401消息消息WWW-Authenticate头域中的头域中的nonce参数参数)。1112.P-CSCF将401消息回给用户终端。24用户注册流程说明(2)13.用户使用401中的随机值和自己的鉴权向量(根据用户的密码等计算生成),得到一个验证码,并在第二个注册请求中携带这个验证码(就是第二个注册第二个注册请求请求Authorization头域中的头域中
21、的response参数参数)发向P-CSCF。1419同27。20.S-CSCF比较用户注册请求中的验证码和自己生成的验证码,如果相同就鉴权比较用户注册请求中的验证码和自己生成的验证码,如果相同就鉴权成功成功,代表用户是合法的,因为只有合法用户才知道自己的开户信息。S-CSCF鉴权成功后通过SAR消息向HSS下载用户的签约数据供呼叫触发AS使用。21.HSS通过SAA消息返回用户的签约数据。2224.S-CSCF保存后向终端回200,注册鉴权成功。2526.注册成功后S-CSCF向用户签约的AS发起第三方注册,通知AS下载用户数据供呼叫时使用。25注册过程中各网元功能注册过程中各主要网元的功能
22、见下表网元网元功能功能PCSCF检查IMPI、IMPU和归属域根据归属域查询DNS获取ICSCF的地址并转发初始注册请求ICSCF查询HSS进行SCSCF的选择并指定SCSCF向SCSCF转发注册请求SCSCF从HSS下载鉴权数据,对终端进行鉴权鉴权成功后从HSS下载用户的业务签约数据(ServiceProfile)根据iFC进行第三方鉴权HSS与ICSCF(下发SCSCF列表与每个SCSCF所支持的性能)交互确定SCSCF下发鉴权数据和用户业务签约数据,记录用户注册状态26用户主动注销流程注销流程和注册流程一样,唯一的区别就是用户发起的注销流程和注册流程一样,唯一的区别就是用户发起的Regi
23、ster消息中的消息中的Expires头域或参数的值是否为头域或参数的值是否为0。如果为。如果为0表示注销,否则就是注册或重注表示注销,否则就是注册或重注册。册。27内容介绍1.主要网元及各自功能主要网元及各自功能2.SIP协议介绍协议介绍3.IMS注册及相关流程注册及相关流程4.IMS会话及相关流程会话及相关流程28IMS用户的会话信令流程IMS用户进行媒体协商,确定媒体IP地址,媒体流类型和编解码方式UE1/PCSCF1 SCSCF1/AS1ICSCF2INVITEINVITE183183PRACKPRACK200 OK (UPDATE)180 Ringing200 OK (INVITE)
24、ACKACK200 OK(PRACK)200 OK(PRACK)UPDATEUPDATEPRACK 200 OK200 OK (UPDATE)180 RingingPRACK 200 OK200 OK (INVITE)会会话进行中行中SCSCF2/AS2PCSCF2/UE2INVITEINVITE183183PRACK200 OK(PRACK)UPDATE200 OK (UPDATE)180 Ringing180 RingingPRACK 200 OK200 OK (INVITE)200 OK (INVITE)ACKIMS会话相关网元功能网元网元主要功能主要功能P-CSCF主叫侧:主叫UE的I
25、MS初步入口点;被叫侧:通过被叫P-CSCF将消息转发给被叫UE。S-CSCF主叫被叫侧都用到,均完成本侧的呼叫会话控制I-CSCF只有被叫侧用到,被叫网络的初步入口点ASIMS的服务提供通过应用服务器实现,主叫被叫都用到DNS/ ENUM主叫S-CSCF将被叫公共用户身份发送至DNS,通过DNS解析公共用户身份的宿主部分获得被叫侧I-CSCF的地址HSS只有被叫侧用到,I-CSCF通过在HSS中查询获得被叫使用的S-CSCF30DNS&ENUMMediaI-CSCFP-CSCFS-CSCFHSSP-CSCF主叫方主叫方被叫方被叫方 +ENUMDNSS-CSCF/ENUMDNS功能功能ENUM
26、功能功能31DNS&ENUM查询S-CSCF和DNS、ENUM交互不是使用SIP协议,而是Diameter协议。主叫S-CSCF在路由呼叫请求前需要根据被叫的URI格式进行不同的处理。如果被叫URI是SIPURI,S-CSCF需要使用被叫的域名向DNS服务器发送Diameter请求,获取被叫域名对应的IMS入口网元的IP地址(通常是I-CSCF),将呼叫请求路由到被叫域。如果被叫URI是telURI,S-CSCF需要使用被叫的tel号码向ENUM服务器发送Diamter请求,来判断被叫用户是否IMS域用户。如果被叫是IMS用户ENUM服务器会返回该用户对应的SIPURI,S-CSCF会用SIP
27、URI对应的域名查询DNS服务器进行路由;如果ENUM服务器没有返回对应的SIPURI表示该用户不是IMS域用户,需要根据telURI进行号码分析,路由到其它域的入口网元。32业务触发的处理Invite 5183183183183IPIP 媒体流媒体流S-CSCF-AS-CSCF-AHSS-AHSS-AP-CSCF-AP-CSCF-AI-CSCF-AI-CSCF-AI-CSCF-BI-CSCF-BHSS-BHSS-BS-CSCF-BS-CSCF-BP-CSCF-BP-CSCF-BInvite 1Invite 2Invite 9Invite 10AS-AAS-AAS-BAS-B183Invite
28、 3Invite 7Invite 4Invite 8Invite 6DNS/ENUMDNS/ENUM主叫方主叫方被叫方被叫方33IMS用户呼叫PSTN/PLMN用户 IMSIMS主叫方主叫方InviteS-CSCF-AS-CSCF-AHSS-AHSS-AP-CSCF-AP-CSCF-AIM-MGWIM-MGWI-CSCF-AI-CSCF-AMGCFMGCFInviteMedia control移动关口局移动关口局PSTNPSTN被叫方被叫方IAMInviteENUMENUMQuery Query TelTelFaiFail lInvitePSTN/PLMNPSTN/PLMN34PSTN/PLM
29、N用户呼叫IMS用户 I-CSCF-AI-CSCF-AHSS-AHSS-AP-CSCF-AP-CSCF-AIM-MGWIM-MGWS-CSCF-AS-CSCF-AMGCFMGCF移动关口局移动关口局PSTNPSTN主叫方主叫方IAMInviteInviteInviteInviteIMSIMS被叫方被叫方PSTN/PLMNPSTN/PLMN35媒体协商过程媒体协商:主叫和被叫UE在会话的建立过程中需要对媒体的类型和编码方式达成一致,为此使用SDP请求和应答机制对媒体进行协商。双方所协商的媒体类型包括视频、音频、文本等。每种媒体类型包括多种编码方式,如音频包括PCMU、G.726编码等,视频包括M
30、PV、H.262编码等。支持:支持:AudioG.729H.263支持:支持:AudioG.729我可以使用G.729好,就用G.72936媒体协商相关概念l媒体信息在SIP消息中的SDP协议里面携带l支持的语音编解码类型SIP消息消息 “INVITE”37主叫主叫UE 被叫被叫UE INVITE(第一个(第一个SDP提供:所希望媒体类型与所有编码方案)提供:所希望媒体类型与所有编码方案) 183会话进行中(第一个会话进行中(第一个SDP应答:支持的媒体类型及编码方案)应答:支持的媒体类型及编码方案) PRACK(第二个(第二个SDP提供:双方协商的媒体类型和编码方案)提供:双方协商的媒体类型和编码方案) 200 OK(第二个第二个SDP应答:对所协商媒体类型和编码方案的确认应答:对所协商媒体类型和编码方案的确认)媒体协商过程38结束结束