P-CSCF:Proxy-CSCF
P-CSCF是UE连接IMS网络的唯一接口点。不管UE是在漫游还是在非漫游网络,UE与P-CSCF之间的接口均称为Gm接口。
主要功能包括:
1) UE SIP消息的转发
2) SIP 信令消息的压缩和解压缩
3) IP 安全通道的建立和维护(IP Security)
4) 与PCRF通信以完成具体的计费功能
5) 固定IP接入终端的网络地址的翻译(Network Address Translation, NAT)
6) 紧急呼叫的检测和转发紧急呼叫请求给相应的E-CSCF
P-CSCF 发现:通过动态或静态配置方法获得P-CSCF IP 地址
1) 通过DHCP:UE成功附着LTE网络,发起DHCP请求获取P-CSCF IP地址;如果DHCP返回的是P-CSCF 域名,则通过DNS获取其IP地址。
2) 通过附着过程(Attach Procedure):UE通过包含在Attach请求或PDN连接请求消息中的PCO(Protocol Configuration) IE 来要求核心网提供P-CSCF IP 地址。(适用移动终端)
3) 通过读取ISIM卡:读取预先配置好的静态P-CSCF IP 地址。
如下通过PCO选项,了解从附着过程获取P-CSCF IP地址:
该消息中APN设置为IMS网络专用值,通常为ims;
参数SM-Container IE(P-CSCF IPv4 AddressRequest)来请求P-CSCF IP地址,通过Activate default EPS bearer context request消息的SM-Container IE 回复UE P-CSCF IP地址。
IMS承载
UE附着LTE网络之后,发起IMS注册流程及随后的IMS会话流程之前,需要在LTE网络侧建立相应的EPS承载(EPS Bearer),用于传输IMS SIP信令消息和用于语音数据包。
EPS承载由E-RAB,即无线接入承载(Radio Access Bearer)和S5接口承载(S5 Bearer);
E-RAB由空中接口(Uu)无线承载(Radio Bearer)和S1接口承载组成(S1 Bearer);
Uu接口无线承载分为信令无线承载(Signalling Radio Bearer,SRB)和数据无线承载(Data Radio Bearer,DRB);
建立一个IMS会话通常需要建立一个默认EPS承载(Default EPS Bearer)和一个或两个专用EPS承载(Dedicated EPS Bearer),该两种承载对应同一个IMS PDN(PGW)连接,共用一个APN参数,共享一个客户端UE IP地址。
IMS 注册流程
注册的目的是将用户的私有标识(IMPI)与用户想要注册的公有标识(IMPU)绑定。
UE会在附着请求消息(Attach Request)通过voice_domain_pref告诉网络侧是否支持IMS语音业务功能。
Prot_disc=7,EPS mobility management messages
Msg_type=65,Attach request
0x2 - CombinedEPS/IMSI attach 联合附着
第1次Register注册请求消息
UE获取P-CSCF IP地址后,发送第1个SIP注册请求消息—Register,包含它所支持的鉴权类型(Digest)、业务能力和私有用户标识(IMPI SIP URI)。
401 Unauthorized鉴权请求消息
包含网络侧HSS计算出的具体矢量参数值(nonce)和鉴权算法,通过S-CSCF和P-CSCF转发给UE。
第2此Register注册请求消息
当UE鉴权网络通过以后,就会发送第2次注册请求消息,该消息包含UE根据网络侧下发的鉴权矢量参数值(nonce)和选定具体鉴权算法计算出来的鉴权响应值(response)。
200 OK注册响应消息
S-CSCF检查比较UE发回的鉴权响应值,然后发送200 OK注册状态响应值,改消息包含公用用户标识,最终协商好的本次注册有效期,即Expires值。注册过程完成用户私有标识IMPI与公有标识IMPU的关联。注册响应消息中还会包含一个Date头域值来告诉UE本次注册开始生效的日期时间是多少。
Subscribe订阅注册事件消息
收到注册请求响应消息以后,UE和P-CSCF还需要向S-CSCF订阅(Subscribe)本次注册状态事件(Event:Reg),以便于之后IMS网络侧可能发起的再鉴权过程或取消注册过程。注册成功以后的订阅消息中的请求行和From/To头域中都包含的是用户的公有标识IMPU,而不再是私有用户标识IMPI。
200 OK订阅响应消息
NOTIFY通知订阅消息
Notify向UE发送订阅的内容。Subscribe是一个用来请求对方节点当前状态以及后续状态变化的请求方法,从网络订阅消息;Notify从服务器请求返回当前状态消息。
200 OK通知响应消息