VoLTE注册流程详解 - 图文 下载本文

重注册的流程与初始注册过程相似,对于UE手机和S-CSCF这两个实体来说判断重注册与初始注册的依据在于是否携带上次成功IMS认证的数据: AUTH/RAND/RES/IK/CK等,以及携带接入网络位置信息。

P-CSCF通过完整性验证和解密后,在转发注册消息之前,和初始注册时的头域处理相类似,但有所改变,其中:Authorization头域内容调整“integrity-protected=yes”标签,表示注册消息受保护;P-Access-Network-Info头域内容新增小区ID构成五项。 P-CSCF依然以明文形式转发register消息给I-CSCF。

值得注意的是:重注册时Call-ID必须维持不变(IPV6地址也不变),之后由于现网S-CSCF设置为每次重注册都认证(重注册时,S-CSCF对用户进行鉴权认证是可选流程),那么同样会生成401认证挑战,与初始注册一样也要经历IMS认证过程。 而对于HSS实体来说,则依据数据库是否存在该用户的P-CSCF Network ID或S-CSCF名称来判断初始注册或后续注册,若不存在任一条件,则判断为初始注册,回复给I-CSCF则为S-CSCF能力集;若存在P-CSCF Network ID则判断为后续注册,回复给I-CSCF为S-CSCF能力集;若存在S-CSCF名称则判断为后续注册,且回复给I-CSCF为S-CSCF名称。

经过I-CSCF与HSS的授权信息交互后,HSS判断出用户为后续注册---DIAMETER_SUBSEQUENT_REGISTRATION (2002),并给定S-CSCF名称(而不是能力集),S-CSCF名称经DNS翻译后,I-CSCF传递register消息至S-CSCF。 S-CSCF依据Register消息中授权认证头域的信息为该用户的上次成功认证信息,判断本次注册为重注册。重注册若设置为需要认证时,可根据IMS认证数据(初始注册时下载了5套五元组)在S-CSCF的剩余情况来决定是否需要MAR和MAA的流程,否

则可直接取用本地保存的未曾使用过的认证数据。因此对于S-CSCF和HSS来说这是一个选择性认证过程,有利于缩短时延及降低S-CSCF与HSS之间的信令负荷,最终S-CSCF发送401鉴权认证挑战消息给I-CSCF,由I-CSCF传递给P-CSCF,之后通过Gm接口下发至UE。 四、后续注册---二次注册

后续注册中的二次注册指的是UE收到S-CSCF的401鉴权认证挑战消息之后,手机发起的第二次注册过程,手机首先对网络进行认证:根据算法、随机数和USIM卡中的共享密钥,对AUTH进行验证以判断网络是否合法。

在验证通过后(XMAC与MAC一致,SQN在合理范围内),再基于共享密钥、RAND和算法计算出RES/CK/IK,并通过Gm口将digest摘要认证数据发送给P-CSCF网元:

简明二次注册示意图如下:

9-12步骤是认证成功所必须的,13步骤是为了进一步触发第三方注册。

UE发起二次注册,其中Call-ID头域标识保持不变,而From头域tag标识可变、Cseq头域可变,并将生成的RES响应值以及原始的RAND/AUTH通过加密通道发给P-CSCF,另外还携带接入网络位置信息。

P-CSCF通过完整性验证和解密后,在转发注册消息之前,和初始注册时的头域处理相类似,但有所改变,其中:Authorization头域内容调整“integrity-protected=yes”标签,表示注册消息受保护;P-Access-Network-Info头域内容新增小区ID构成五项。 P-CSCF依然以明文形式转发register消息给I-CSCF。

后续注册的过程在信令平台的抓包如下:

I-CSCF发送用户授权请求UAR消息给HSS,HSS判断出用户为后续注册---DIAMETER_SUBSEQUENT_REGISTRATION (2002),将之前记录的S-CSCF的地址信息(注意是S-CSCF名称而不是能力集)通过UAA消息发送给I-CSCF,S-CSCF名称经DNS翻译后,I-CSCF转发Register消息至S-CSCF。

由S-CSCF比对RES响应值与XRES期望响应值,两者匹配,则该用户通过网络鉴权。接下来是为触发第三方注册而进行的流程,初始注册触发的二次注册流程中一定存在取用户数据流程,而重注册触发的二次注册流程可根据该用户数据在S-CSCF的预留情况,可选择性进行取用户数据流程,这有利于缩短时延和降低Cx接口信令负荷,取用户数据通过服务器分配请求SAR(Server Assignment Request)和SAA服务器分配回应两个过程来完成,下文假设为存在取用户数据情况:

S-CSCF发送消息SAR(类型为注册)至HSS,由于相关用户签约和第三方认证数据等是空的,HSS响应S-CSCF的SAA消息,该消息包含了用户签约数据、两套iFC(初始过滤准则,用于触发AS进行第三方注册以及后续业务AS逻辑顺序)、计费信息域名等。

S-CSCF原路返回或内部传递SIP---INVITE 200 OK消息至I-CSCF,传递至P-CSCF,最终到达UE,确认注册成功,包含头域叙述如下:

P-Associated-URI头域中包含了两个IMS公用身份标识(IMPU),分别采用Tel URI和SIP URI格式,其中SIP URI格式包含该用户归属省份信息,比如下述号码为浙江移动号码:

Tel URI用于后续的语音呼叫,而SIP URI用于IMS网络路由。

Contact头域为注册成功用户的IMSI、IPV6地址和端口号、重注册时长、终端支持业务类型等,截图如下:

Service-Route头域包含有该用户归属的S-CSCF名称,由S-CSCF向I-CSCF发送,继而由I-CSCF传递给向P-CSCF,如下图所示注册成功消息中所示:

由P-CSCF保存Service-Route头域内容:归属S-CSCF名称,这样UE成功注册之后的其它SIP消息(非注册类,例如呼叫INVITE)抵达P-CSCF后,在转往下一跳时,直接在Route字段放置该用户的S-CSCF名称,经DNS翻译后,可实现SIP消息无需再经过I-CSCF实体就可直达该用户的归属S-CSCF。也就是说在用户IMS注册成功后,用户的非注册类的SIP消息,即可经Gm接口、Mw接口至归属网络的S-CSCF,由S-CSCF进行下一步逻辑处理。

Path头域包含S-CSCF已登记的IPV4的P-CSCF地址,经P-CSCF实体变换为IPV6的P-CSCF地址传递给UE,作为Gm接口的端地址。

Accept-Resource-Priority头域包含用户签约的优先级,比如wps.4。 可选项---Authentication-Info头域,携带下一次重注册的随机项nonce。

下表为注册前、中、后三个状态的各相关网元必须要记录的地址、域名、安全数据或用户数据: 五、第三方注册

在基本注册成功之后,归属S-CSCF代替用户发起第三方注册,第三方注册过程仅在IMS核心网出现,Uu口无此信息,REGISTER消息中的Contact头域包含该用户归属