目录
VOLTE信令流程-IMS 注册
IMS注册流程简述
获取鉴权向量
IMS用户将注册消息通过QCI5默认专载送达P-CSCF, P-CSCF通过DNS查询用户归属I-CSCF并将注册消息转到I-CSCF,I-CSCF通过HSS获取SCSCF地址并将注册消息转到S-CSCF,S-CSCF从HSS下载IMS鉴权五元组( XRES,RAND,AUTN,IK,CK) ,S-CSCF保存XRES(用于网络对用户鉴权)
并将剩余鉴权消息返回给P-CSCF,P-CSCF保存IK和CK并将AUTN和RAND转发给UE。
用户对网络鉴权
UE收到401消息之后,根据本地ISIM中的共享密钥和AUTN对网络进行认证;并根据共享密钥和RAND计算出RES (用于网络对用户鉴权)
网络对用户鉴权
UE携带RES重构注册消息并按照之前的路径发送给S-CSCF, S-CSCF根据之前保存的XRES和收到的RES进行对比,两者若匹配,则UE通过鉴权,
S-CSCF发送REGISTER 200消息标明初始注册成功。
第三方注册
S-CSCF通知AS进行第三方注册, AS从HSS下载用户数据进行注册,并向S-CSCF返回第三方注册200成功响应, IMS注册成功。
VOLTE信令流程-IMS 注册/注销
VOLTE信令流程-VoLTE呼叫流程
VoLTE-VoLTE
VoLTE-VoLTE 主叫侧按照标准IMS流程进行主叫发起和主叫业务触发(先触发SCC,再 触发业务) 主叫IMS域按照标准IMS流程将呼叫路由至被叫IMS域 被叫IMS业务触发及T-ADS流程 域选择结果为IMS接续, S-CSCF将呼叫路由至被叫SBC |
VoLTE-CS
VoLTE-CS |
主叫侧按照标准IMS流程进行主叫发起和主叫业务触发(先触发SCC,再触发业务) |
CS-VoLTE
CS-VoLTE 主叫端局查询被叫三合一HSS,三合一HSS返回锚定SCP/VoLTE AS的T CSI 主叫端局触发至锚定SCP/VoLTE AS,锚定SCP在被叫号码前插入路由码 电路域进行数据配置,根据锚定码将呼叫路由至被叫归属地GMSC, GMSC直接将呼叫路由至本地MGCF MGCF根据默认路由将消息发往本域I-CSCF, I-CSCF查询被叫归属地HSS I-CSCF将呼叫路由至S-CSCF, S-CSCF触发VoLTE AS上的业务,业务完成 后SCC 执行T-ADS流程,向三合一HSS获取相关信息 域选结果为IMS接续,被叫S-CSCF将呼叫路由至被叫SBC |
CS-CS
CS-CS 主叫端局查询被叫三合一HSS,三合一HSS返回锚定SCP/VoLTE AS的TCSI 主叫端局触发至锚定SCP/VoLTE AS,锚定SCP在被叫号码前插入路由码 电路域进行数据配置,根据锚定码将呼叫路由至被叫归属地GMSC, GMSC直接将呼叫路由至本地MGCF MGCF根据默认路由将消息发往本域I-CSCF, I-CSCF查询被叫归属地HSS I-CSCF将呼叫路由至S-CSCF, S-CSCF触发VoLTE AS上的业务,业务完 成后SCC 执行T-ADS流程,向三合一HSS获取相关信息 域选结果为CS接续, VoLTE AS向HSS获取被叫CSRN 呼叫在被叫归属地MGCF进入电路域,并路由至被叫端局 |
VOLTE信令流程
VOLTE信令流程-VOLTE-VOLTE信令
VOLTE信令流程-INVITE详细信息
INVITE 消息头
1. SIP Call ID:用于标识该通话,主被叫各自维护唯一Call ID,可通过该值区分SIP信令是否属于该通
话;
2. F: 请求发起方,含主叫号码;
3. T:请求接受方,含被叫号码;
4. CSeq:命令序列号,同一CallID中Cseq值唯一,重传和主被叫“同姓” 命令序列号相同,“异姓”
命令序列号按序递增。 用于将INVITE请求和其触发的响应、对应的ACK、 CANCEL请求相关联;
5. v:该字段用于指示该请求历经的路径, 防止请求消息传送产生环路并确保响应和请求消息选择同样
的路径,发送协议SIP,协议版本2.0,传输层协议UDP,发送方地址;
6. Max-forward:表示该请求到达其目的地址所允许经过的中转站的最大值.到达目的地址前跳数耗尽,
服务器将返回483响应;
7. Route: 由P-CSCF插入, 目的是为了使后续的请求(Request)依然能通过该代理进行路由;
8. P-Access-Network-Info:接入网络类型以及小区ID;
9. Security-Verfiy:协商SIP的安全机制;
10. Proxy-Require:要求代理一定支持的特性;(如: sec-agree等)
11. Require:要求对方一定支持的特性。安全认证。 (如: sec-agree、 100rel、 precondition等)
100rel值表示支持1xx响应的可靠传输,携带该字段时,必须以PRACK/PRACK200进行临时响应。
12. Allow:该字段给出代理服务器支持的所有请求消息类型列表
13. P-Early-Media:是否支持放音提示
14. Contact:提供了访问后续请求的特定UA实例的联系方法,且该联系地址是全局可用得, 指示其后的
请求(如BYE请求)可以直接发往, 而不必借助Via字段。 -------
15. Supported:携带支持的能力扩展。
16. Session-Expires:决定会话更新的上限,在该值超时前如果发起方没有发送re-INVITE或者UPDATE
消息, 则IMS将认为会话结束。
17. Min-SE:决定了session在代理服务器或者UE之间最小的更新间隔
18. P-Called-Party-ID:这项报头内容只在被叫中出现,里面包含的信息就是被叫UE的公共用户标识;
19. Feature-Caps:说明了在SIP信令传送中途径的SIP实体所支持的特性和能力;(如:SRVCC、 alertingSRVCC、 Mid-call)
20. Accept-Contact:主叫端对被叫端UE所具备的能力偏好要求,服务器会依据偏好选择设置,对被叫端
进行选择;
21. Content-Length:表示消息体的大小, 为十进制值,单位字节,该值必须大于等于0; 如果消息中没
有消息体,则Content-Length头字段值必须设为0。
22. Content-Type:标志了发给对方的消息体的媒体类型, 表示消息中携带的消息体是单消息体且为
SDP;
23. User-Agent:该字段包含有发起请求的用户终端的信息
INVITE 消息体
1. v: 描述SDP协议版本,通常取值为“0” ;
2. o: 表示会话源(会话所有者)信息,同时携带会话标识; --
-
3. s:表示会话类型
4. c: 表示媒体地址信息,即发送或接受媒体流的地址
5. b:给出会话或媒体所用带宽,单位为kbit/s. 媒体需求总带
宽=AS+(RS+RR)/1000;
6. b=AS应用特定最大带宽,传输语音RTP包所需带宽;
7. b=RR表示分配给活动数据的RTCP带宽;
8. b=RS表示RTCP分配给其他参与者的RTP会话带宽;
9. t :会话开始和结束时间, VoLTE里面一般都缺省0,不做时
间控制;
10.m: 描述媒体类型、媒体端口号、 传输协议、格式列表;
11.a: 对会话或媒体的附加属性进行描述。
12.a=rtpmap:净荷类型号、编码名、时钟速率、编码参数
(a=rtpmap: 104 AMR-WB/16000/1说明 104格式代表采
用AMR宽带语音编码方式,采样率为16000Hz);
13.a=fmtp:指定格式的附加参数
14.a=ptime:媒体分组打包的时长。通话双方的codec ptime
值一定要相同,现网媒体分组打包时长为20ms。
15.a=maxptime:不管何种媒体格式,媒体分组打包时长最大
值
16.a=cur:当前状态:预置处理类型、状态类型、方向
(a=curr:qos local none a=curr:qos remote none :
本端当前qos资源还未预留、远端当前qos资源还未预留)
17. a=des:期望状态:预置处理类型、强度标识、状态类型、
方向
(a=des:qos mandatory local sendrecv a=des:qos
optional remote sendrecv :本端期望的预留资源是高强度的双
向预留资源、远端期望的预留资源是强度可选的双向预留资源);
VOLTE信令流程-eSRVCC信令流程
VOLTE信令流程-IP短信