4.1 VoLTE呼叫业务流程
上述A和B均是IDLE模式,互相进行拨打的方式是实际应用场景中最常见的一种方式了,具体流程如下。
1.用户A和B在注册成功后,无业务触发,MME发起上下文释放,将A和B均置为IDLE模式。
2. UE A呼叫UE B,此时A发现其为IDLE模式,则需要先建立信令连接。首先缓存需要发送的数据,向eNodeB发起RRC Connection Request,携带初始UE ID和S-TMSI(第一次是随机值,此时TMSI值应为有效)。
3. eNodeB向UE回复RRC Connection Setup,其中携带无线资源专用配置信。
4. UE向eNodeB回复RRConnection Setup Complete,确认RRC建立成功完成。其中携带选择的PLMN ID,注册的MME信息(plmn-id、mmegi、mmec),NAS消息(Service Request)。
5. eNodeB发送Initial UE Message到MME,其中携带eNodeB UE S1AP Id,TAI,E-UTRAN -CGI,RRCEstablishment Cause, NASPDU为Service Request。
6. MME侧用户面承载建立成功后向eNodeB返回Initial Context Setup Request,携带MME UE S1AP Id ,ERAB相关信息(QOS, GTP-TEID ,ERAB Id,IP),UE安全能力和安全密钥,如果存在UE无线能力,也需要带回。如果没有UE无线能力,则eNodeB需要向UE所要UE无线能力参数。
7. 无线承载的建立,对上下文进行处理,eNodeB向UE发送RRCConnection Reconfiguration消息,其中包含测量配置,移动性配置,无线资源配置(RBs,MAC主要配置,物理信道配置),NAS信息和安全配置等信息。
8. eNodeB收到UE的RRC Connection Reconfiguration Complete消息,确认无线资源配置完成。
9. eNodeB向MME发送Initial Context Setup Response消息,将eNodeB侧承载的IP和GTP-TEID带给MME。在重配完成后,实际上已经可以发送上行数据了。此时,完成建立EPS数据业务连接(QCI8/9承载),即完成在EPC侧的注册;以及IMS的注册(QCI5承载) 。
10.用户A发送上行数据,呼叫用户B,首先向AS服务器发送INVITE请求,LTE系统中会以数据的方式进行传输,用户A发送上行数据到AS服务器,其中携带SIP信令INVITE请求。
11. AS服务器发送100 Trying的确认消息给用户A,确认收到INVITE消息.。
12.同时转发INVITE到用户B,发送下行数据首先经过PDN网关到SGW网关。
13. SGW发现UE B为IDLE模式,发送下行数据到的通知到MME, 同时缓存数据。
14 . MME对UE B发起寻呼流程。
15. 同上述步骤1-9 : 步骤14-21,UE B也会完成在MME以及IMS的注册。
16. SGW将缓存的数据发往UE B,其中SIP信令为A呼叫B的INVITE消息。 UE发送上行数据到AS,携带回复的100 Trying消息。后续信令和数据的传输见A呼叫B(SIP呼叫业务流程)。
4.2 SIP呼叫业务流程
上述步骤1-24详细描述了主叫与被叫之间的SIP信令流程,具体流程如下。
1. 用户A,摘机对用户B发起呼叫,用户A首先向AS服务器发起INVITE请求。
2. AS服务器回复100 Trying给用户A说明收到INVITE请求。
3. AS服务器通过认证确认用户认证已通过后,向被叫终端B转送INVITE请求。
4. 用户B向AS服务器送呼叫处理中的应答消息,100 Trying 。
5. 用户B向AS服务器送183 Session Progress消息,提示建立对话的进度信息。(此时被叫QCI1专用承载建立)
6. AS服务器向主叫终端A转送183 Session Progress消息,终端A了解到整个Session的建立进度消息。
7. 终端A向AS服务器回复临时应答消息PRACK,表示收到183 Session Progress消息。
(此时主叫QCI1专用承载建立)
8. AS服务器向被叫终端B转送临时应答消息PRACK ,终端B了解到终端A收到183 Session Progress消息。
9. 被叫终端B向AS服务器发送200 OK消息,表示183 Session Progress请求已经处理成功。
10. AS服务器向主叫终端A转送200 OK消息。
11. 主叫终端A向AS服务器发送UPDATE消息,意在与被叫终端B协商相关SDP信息。
12. AS服务器向被叫终端B转送UPDATE消息。
13. 被叫终端B向AS服务器发送200 OK消息,表示UPDATE请求已经处理成功。
14. AS服务器向主叫用户A转送200 OK消息,通知用户A UPDATE请求已经处理成功。
15. 被叫用户B振铃,用户振铃后,向AS服务器发送180 Ringing 振铃信息。
16. AS服务器向主叫终端A转送180 Ringing 振铃信息。
17. 被叫终端B向AS服务器发送200 OK消息,表明主叫最初的INVITE请求已经处理成功。
18 . AS服务器向主叫终端A转送200 OK消息,通知主叫终端A,被叫终端B已经对INVITE请求处理成功。
19. 主叫终端A向AS服务器发送ACK消息,意在通知被叫终端B,主叫侧已经了解被叫侧处理INVITE请求成功。
20. AS服务器向被叫终端B转送ACK信息。
21. 用户A主动挂机,A向AS服务器发起通话结束BYTE信息。
22. AS服务器向被叫终端B转送BYTE信息。
23. 被叫终端B向AS服务器发送200 OK消息,表示对BYTE信息处理成功。
24. AS服务器向用户A转送200 OK信息。整个通话结束。
25. 被叫用户B主动挂机流程同步骤21—24。
通过Wireshark抓包,SIP呼叫信令流程如下。
VoLTE呼叫空口及S1口信令流程(非SIP):
(1) 这里的呼叫信令流程一般指的是主被叫UE都处于RRC_IDLE态,
这也是现网中最常见的呼叫应用场景。
(2)处于RRC_IDLE态的主被叫UE都需要首先建立RRC连接,再进行 EPC注册与IMS注册,并建立QCI=8/9、QCI=5、QCI=1的ERAB承载。
(3)主被叫UE的RRC连接建立流程以及ERAB承载建立流程基本相似,这里的分析以主叫UE为例 。
4.3 信令解析
1) VoLTE呼叫信令流程
establishment Cause :取值为4。代表终端发起的数据业务请求。这里的mo代表为移动始端,即“主叫”。
establishment Cause :取值为2。代表终端接收Paging消息发起的RRC建立请求。这里的mt代表为移动终端,即“被叫”。
RRCConnectionSetup 信令:主要用于SRB1无线承载的建立与无线配置。在这里可以看到SPS、TTIB等参数的配置。
RRCConnectionSetup 的srb_ToAddModList:srb_Identity=1,说明SRB1已经建立。
RRCConnectionSetup 的rlc_Config:t=1,代表显示配置。对于SRB1与SRB2的RLC_MODE必须采用AM模式。
RRCConnectionSetup 的mac_MainConfig:ttiBundling =FALSE, TTI绑定属性。TRUE表示TTI捆绑有效,而FALSE表示TTI捆绑无效。TTI 捆绑对FDD有效,对 TDD仅仅适用于配置为0、1、6的情况。
RRCConnectionSetup 的sps_Config : t=1表示释放该配置(release),包括上行和下行两个配置项。
RRCConnectionSetupComplete 信令:当UE完成SRB1承载和无线资源的配置,向eNodeB回应该消息。同时,NAS层包含Attach Request信息。
Initial UE Message信令:eNodeB向MME注册,包含NAS层Attach Request信息以及TAI等信息。
Initial UE Message信令:还包括小区以及接入原因等信息。
Initial Context Setup Request信令: eNB_UE_S1AP_ID,eNB中S1口UE的上下文ID。该参数是UE在eNodeB侧S1接口上的唯一标识,由eNodeB分配,此处必须与Initial UE Message消息中的eNB_UE_S1AP_ID保持一致。同时,还包括切换、CSFB、SRVCC等信息。
Initial Context Setup Request信令eRAB建立: 包括e_RAB_ID与QCI ,同时,还包括eRAB的抢占能力,以及告知eNodeB目标S-GW的地址与用户面传输标识gTP_TEID 。
Initial Context Setup Request信令eRAB建立: 包括e_RAB_ID与QCI ,同时,还包括eRAB的抢占能力,以及告知eNodeB目标S-GW的地址与用户面传输标识gTP_TEID 。
RRC Connection Reconfiguration信令: 用于UE进行相关无线资源重配,以及建立SRB2与DRB。
RRC Connection Reconfiguration无线专用承载: 分别对应srb_ToAddModList与drb_ToAddModList。
RRC Connection Reconfiguration无线专用承载: srb_Identity=2,说明SRB2已经建立。
RRC Connection Reconfiguration无线专用承载: 对应eps_BearerIdentity =5与drb_Identity =3同时,这里headerCompression =1,表示使用头压缩。RLC TYPE采用AM方式。
RRC Connection Reconfiguration无线专用承载: 对应eps_BearerIdentity =6与drb_Identity =4同时,这里headerCompression =1,表示使用头压缩。 RLC TYPE采用AM方式。
Initial Context Setup Response信令: eNB_UE_S1AP_ID,eNB中S1口UE的上下文ID。该参数是UE在eNodeB侧S1接口上的唯一标识,由eNodeB分配,此处必须与Initial Context Setup Request消息中的eNB_UE_S1AP_ID保持一致。同时,还包括切换、CSFB、SRVCC等信息。
Initial Context Setup Response信令: QCI=9的eRAB回应。同时,还包括基站侧业务面IP地址与用户面传输标识gTP_TEID等信息。
Initial Context Setup Response信令: QCI=5的eRAB回应。同时,还包括基站侧业务面IP地址与用户面传输标识gTP_TEID等信息。
E_RAB_SETUP_REQUEST信令:建立专用承载QCI=1,对应e_RAB_ID=7。
E_RAB_SETUP_REQUEST信令:建立专用承载QCI=2,对应e_RAB_ID=8。
RRC Connection Reconfiguration 信令:包含DRB、头压缩、 RLC TYPE 、SPS等信息。
RRC Connection Reconfiguration 信令:这里DRB对应eps_BearerIdentity =7以及drb_Identity=5。
RRC Connection Reconfiguration 信令:这里DRB对应eps_BearerIdentity =8以及drb_Identity=6。
RRC Connection Reconfiguration 信令:这里头压缩采用profile0x0001的等级。
RRC Connection Reconfiguration 信令:这里DRB RLC TYPE采用UM方式。
RRC Connection Reconfiguration 信令:这里sps_Config : t=2 ,表示设置该配置项(setup),包括上行和下行两个配置项。
E_RAB_SETUP_ RESPONSE信令:对于e_RAB_ID=7 的QCI=1专用承载回应 。
E_RAB_SETUP_ RESPONSE信令:对于e_RAB_ID=8的QCI=2专用承载回应 。
2)SRVCC业务流程
SRVCC业务流程解析:
(1) 支持SRVCC能力 UE 在附着过程或者TAU过程中,在NAS层Attach Request message 消息和Tracking Area Updates消息中的"MS Network Capability" IE中,携带SRVCC 能力,指示MME。MME存储UE 的SRVCC能力指示,用于SRVCC过程处理。
(2)支持SRVCC能力UE的业务请求处理过程中,MME在S1-AP的 Initial Context Setup Request消息中携带"SRVCC Operation Possible" IE指示E-UTRAN网络,UE和MME都支持SRVCC能力。
(3) UE 上报测量报告,eNodeB根据UE测量报告判决触发SRVCC过程。
1. eNodeB接收UE的测量报告。
2. eNodeB根据测量报告进行判决,若UE已建立VoIP业务(QCI=1)并且2G/3G GERAN/UTRAN目标小区不支持VoIP能力,触发SRVCC过程,发送切换请求到MME,携带是否需要同时进行PS域与CS域切换指示。
3. MME与MSC Server通过Sv接口进行信令交互,请求VoIP业务的PS to CS切换处理。
4. MSC Server与MSC进行信令交互完成CS域的切换资源的准备。
5. MSC Server与IMS域SRVCC AS交互完成IMS业务的会话转移流程。
6. MSC Server 向MME发送切换PS to CS切换响应消息,携带指示UE切入GERAN/UTRAN的 CS HO 命令消息。
7. MME同步PS to CS切换与PS to PS的切换响应。
8. MME通过切换命令指示eNodeB切换准备完成。
9. eNodeB指示UE从E-UTRAN向目标GERAN/UTRAN切换。
10. UE接入目标小区,VoIP业务从PS域切换到CS域。
注:1. SRVCC处理过程中,对于UE已建立的非语音业务,根据网络、UE的能力、业务的类型,MME可以触发PS HO、去激活Deactivated(GBR业务)或者挂起Suspended(NGBR业务)等业务处理流程。
注:2. 若UE在CS 域结束语音业务后,返回到LTE网络,UE通过TAU过程指示MME,MME检测UE存在挂起的业务,则可以恢复UE已挂起的业务。
3)SRVCC切换信令流程
UE上报测量报告,其中,测量标识:measId = 2对应RRC Connection Reconfiguration 中的Measurement Control信息的A2事件,RSRP这里是-80dBm,RSRQ对应的是-3db。达到A2事件的触发门限。
RRC Connection Reconfiguration中的Measurement Control对应A2事件
RRC Connection Reconfiguration中的Measurement Control信息:B2事件下发,RSRP这里的切换门限是-75dBm。即服务小区的RSRP门限等于或低于-75dBm,那么,服务小区的绝对门限1即达到。GSM小区的RSSI大于-110dBm,则目标小区的绝对门限2即达到。
RRC Connection Reconfiguration中的Measurement Control信息:这里表示测量对象为起始ARFCN=79的GSM小区。
UE上报测量报告,其中,测量标识:measId = 5对应RRC Connection Reconfiguration中的Measurement Control信息的B2事件,RSRP这里是-76dBm,RSRQ对应的是-3.5db。达到B2事件的触发门限1。
UE上报测量报告,其中,测量标识:measId = 5对应RRC Connection Reconfiguration中的Measurement Control信息的B2事件,符合条件的GSM小区的网络色码与基站色码分别为6和1,RSSI值为-76dBm,达到B2事件的触发门限2。
eNodeB向GSM系统发起基于SRVCC的切换请求。
GSM系统的目标小区的PLMN为460 00,CI小区标识为10993。
当GSM系统资源准备完成,由MME通过S1口通知基站触发由E-UTRAN到GSM的切换。
基站通知UE开始执行由E-UTRAN到GSM的切换。
切换完成,基站向MME请求释放UE的相关资源。
MME响应基站释放UE资源的请求。