1.业务模型
UE注册到IMS网络的过程可以分为如下几个阶段:
EPC网络附着示意图:
IMS网络注册示意图:
2.信令流程
融合HLR/HSS组网场景下在EPC网络的注册消息流程如下图:
3.EPC附着流程
1).UE向MME发起附着请求Attach Request。Attach Request消息中与VoLTE相关的关键信元
2).MME检查本地是否有鉴权集,如果本地没有鉴权集,则MME向融合HLR/HSS发送AIR消息,请求鉴权数据,消息中携带user-name信元,表示用户的IMSI;如果本地有鉴权集,则流程从4开始
3).融合HLR/HSS向MME返回AIA消息,消息中携带用户的四元组鉴权向量,包括XRES(Expected Response)、RAND(Random Challenge)、AUTN(Authenticaiton Token)、Kme
4).MME收到AIA消息后,向UE发送Authentication Request消息,对UE发起鉴权请求。消息中包含:RAND、AUTN、KSIme
5).如果UE鉴权成功,则会根据RAND计算出RES并通过Authentication Response返回给MME。MME使用鉴权向量组中的XRES和UE返回的RES比较,相同则鉴权成功,否则鉴权失败并向UE发送Authentication Reject消息,如果UE鉴权失败,则向MME响应Authentication Failure消息
6).EPC网络对终端的USIM卡完成鉴权流程后,MME向融合HLR/HSS发送ULR消息,获取用户信息
7).融合HLR/HSS向MME发送ULA消息,向MME插入签约数据,包括默认APN,一个或多个PDN(Packet Data Network)签约上下文
8).MME根据APN配置和网络拓扑选择S-GW和P-GW,向S/P-GW发送Create Session Request消息,请求建立数据APN缺省承载
9).P-GW收到Create Session Request消息后,向PCRF发起IP-CAN会话建立流程,即向PCRF发送信用控制请求消息CCR请求,获取UE的缺省PCC规则
10).PCRF通过信用控制应答消息CCA消息下发策略,消息中携带Default-EPS-Bearer-QoS AVP,且QCI=9
11).S/P-GW向MME返回Create Session Response消息,其中携带QCI=9的信元,指示建立数据APN缺省承载已完成
12).MME向UE返回Attach Accept消息
13).UE向MME发送PDN Connectivity Request消息,消息中携带IMS APN名称,请求建立IMS APN默认承载
14).MME向S/P-GW发送Create Session Request消息,请求建立IMS APN默认承载
15).P-GW收到Create Session Request消息后,发起IP-CAN会话建立流程,即向PCRF发送信用控制请求消息CCR请求,获取UE的PCC规则
16).PCRF通过信用控制应答消息CCA消息下发策略,消息中携带关键AVP
17).S/P-GW向MME返回Create Session Response消息,消息中携带关键信元PCO和QCI=5,指示建立IMS信令默认承载已完成,其中PCO中的“C0DD430B”表示P-CSCF的地址。至此,EPC网络附着已完成。
4.IMS注册流程
18).UE首先读取USIM卡信息获取IMSI,再从IMSI推导出IMPI和T-IMPU,向IMS拜访网络入口P-CSCF发送REGISTER消息请求注册
19).P-CSCF根据Request-URI头域中域名查询DNS服务器,获得归属域网络入口I-CSCF网元地址,向I-CSCF转发REGISTER消息
20).I-CSCF收到REGISTER消息后,做如下处理:I-CSCF从Via头域获取P-CSCF的地址或主机名,并检查P-CSCF的地址或主机名是否在信任域或本地域(通过ADD TDMI命令中的“可信任域名”参数配置);根据本地IHSS表(通过ADD IHSS配置)中的“优先级”参数设置,选择优先级最高的HSS;再查询IHSSL表(通过ADD IHSSL配置)获取HSS网元的IP地址,向融合HLR/HSS发送UAR消息,请求获取S-CSCF的地址或者能力集
21).融合HLR/HSS收到UAR消息,根据本地数据库中的用户开户信息,判断用户已开户,则向I-CSCF发送UAA消息,返回S-CSCF的地址或者能力集
22).I-CSCF根据融合HLR/HSS返回的S-CSCF地址,向S-CSCF转发REGISTER消息。S-CSCF向融合HLR/HSS发送MAR消息,请求获取认证向量AV(Authorization Vector)。并且通知融合HLR/HSS当前S-CSCF为该用户服务,保证401鉴权挑战消息之后的REGISTER消息能够到达同一个SCSCF
23).融合HLR/HSS向S-CSCF返回MAA响应,包括鉴权五元组XRES(Expected Response)、RAND(Random Challenge)、AUTN(Authentication Token)、IK(Integrity Key)和CK(Cipher Key)
24).S-CSCF根据RAND和AUTN生成nonce,并将nonce同IK,CK,以及鉴权算法放到WWW-Authenticate头域中,随401响应返回给P-CSCF。同时,S-CSCF保存参数XRES,以备后续对用户的鉴权响应进行验证
25).P-CSCF从消息中取出IK和CK并保存,将消息中剩余的鉴权元素RAND和AUTN继续向UE转发
26).UE收到401响应后,根据本地ISIM(IMS Subscriber Identity Module)中保存的共享密钥对AUTN进行认证,认证通过则表明401消息来源于用户真实的归属网络。再基于共享密钥和RAND计算出RES(Response),重新构造REGISTER消息,携带RES,按照初始REGISTER消息的路径发给P-CSCF
27).P-CSCF按照初始REGISTER消息的路径发送后续REGISTER给I-CSCF
28).I-CSCF收到REGISTER消息后,做如下处理:I-CSCF从Via头域获取P-CSCF的地址或主机名,并检查P-CSCF的地址或主机名是否在信任域或本地域(通过ADD TDMI命令中的“可信任域名”参数配置);根据本地IHSS表(通过ADD IHSS配置)中的“优先级”参数设置,选择优先级最高的HSS;再查询IHSSL表(通过ADD IHSSL配置)获取HSS网元的IP地址,向融合HLR/HSS发送UAR消息,请求获取S-CSCF的地址或者能力集
29).融合HLR/HSS收到UAR消息后,将之前记录的S-CSCF的地址信息通过UAA消息发送给I-CSCF
30).S-CSCF收到鉴权响应,将期望收到的鉴权响应XRES和实际收到的鉴权响应RES进行比较。如果两者匹配,则该UE通过网络鉴权。鉴权通过后,S-CSCF向融合HLR/HSS发送SAR消息,请求下载用户的签约数据
31).融合HLR/HSS向S-CSCF返回SAA响应,携带用户的签约数据
32).S-CSCF向UE侧反馈200响应,表明初始注册成功
33).S-CSCF根据从融合HLR/HSS处下载的用户签约信息,判断其中有针对REGISTER请求的iFC(initial Filter Criteria)数据,S-CSCF根据iFC中ATS地址,向ATS发送第三方注册请求。如果用户签约信息中包含多条针对REGISTER请求的iFC数据,S-CSCF会根据优先级从高到低依次发送给iFC中的ATS地址
34).ATS发现用户为第一次注册,发送UDR消息给融合HLR/HSS,请求获取用户数据(包括用户身份数据、业务签约数据等)
35).融合HLR/HSS向ATS返回UDA响应,携带用户数据
36).ATS根据收到的用户数据对用户进行鉴权。鉴权通过后,ATS将用户数据保存到本地数据库,并向S-CSCF返回第三方注册的200成功响应。至此,IMS网络注册已完成
P-CSCF从消息中取出IK和CK并保存,将消息中剩余的鉴权元素RAND和AUTN继续向UE转发