作者: 柒号华仔
个人主页: 欢迎访问我的主页
个人信条:星光不问赶路人,岁月不负有心人。
个人方向:专注于4G/5G领域,同时兼顾其他网络协议,编解码协议,C/C++,linux等,感兴趣的小伙伴可以关注我,一起交流。
1. RRC连接释放介绍
RRC连接释放,成功
当UE与基站出现RRC重配置失败、切换失败、无线链路失败和完整性保护失败等失败时,将发起RRC Release过程,将UE转为RRC_IDLE或RRC_INACTIVE状态。
发起目的:
释放RRC连接,包括释放已建立的无线电承载以及所有无线资源,或者仅在建立SRB2,同时伴随有至少一个DRB时暂停RRC连接,包括暂停已建立的无线承载。
释放场景:
- 网络发起RRC连接释放过程以将RRC_CONNECTED中的UE转换到RRC_IDLE;
- 当SRB2伴随至少一个DRB在RRC_CONNECTED中建立时,将UE在-RRC_CONNECTED中转换到RRC_INACTIVE;
- 当UE尝试恢复时,将RRC_INACTIVE中的UE转发回RRC_INACTIVE;
- 当UE尝试恢复时,将UE在RRC_INACTIVE中转发到RRC_IDLE;
- 释放UE并将其重定向到另一频率。
2. UE接收RRCRelease处理流程
当UE收到RRCRelease消息时,按如下流程进行处理:
- 停止定时器T380和T320
- 如果未激活AS安全性,忽略RRCRelease消息中除waitTime外的其他任何字段。UE转入RRC_IDLE状态,释放原因'other',程序结束
- 如果RRCRelease消息包含指示重定向到eutra的redirectedCarrierInfo,并包含cnType,在小区选择之后,向上层指示可用的CN类型和接收的cnType;
- 如果RRCRelease消息包含cellReselectionPriorities,存储cellReselectionPriorities提供的小区重选优先级信息;如果包括T320,则启动定时器T320,根据T320的值设置定时器值。如果RRCRelease消息没有包含cellReselectionPriorities,则应用系统信息中广播的小区重选优先级信息;
- 如果包含deprioritisationReq,则启动或重启定时器T325,并将定时器值设置为deprioritisationTimer,并存储deprioritisationReq直到T325到期;
- 如果RRCRelease包含suspendConfig,则应用接收到的suspendConfig,重置MAC并释放默认的MAC Cell Group配置;为SRB1重建RLC实体;
- 如果收到带有suspendConfig的RRCRelease消息来回应RRCResumeRequest或RRCResumeRequest1,停止计时器T319,在UE Inactive AS上下文中用当前的KgNB和KRRCint替换KgNB和KRRCint;用UE收到RRCRelease消息的临时C-RNTI、小区cellIdentity、物理小区标识分别替换当前的C-RNTI、cellIdentity和物理小区标识。
- 暂停所有SRB和DRB(SRB0除外);
- 如果包含t380,启动定时器T380,定时器值设为t380;
- 如果RRCRelease消息包含waitTime,启动定时器T302,将值设置为waitTime;告知上层访问限制除“0”和“2”以外的所有访问类别;
- 如果T390正在运行,停止计时器T390;
- 暂停到上层的RRC连接, UE进入RRC_INACTIVE状态;
- 如果RRCRelease没有包含suspendConfig,则UE进入RRC_IDLE状态,释放原因为“other”。
3. T320定时器到期
释放由cellReselectionPriorities提供的或从另一个RAT继承的小区重选优先级信息,应用系统信息中广播的小区重选优先级信息
4. RRC Release消息结构
RRC Release结构
RRCRelease-IEs ::= SEQUENCE {
redirectedCarrierInfo RedirectedCarrierInfo OPTIONAL, -- Need N
cellReselectionPriorities CellReselectionPriorities OPTIONAL, -- Need R
suspendConfig SuspendConfig OPTIONAL, -- Need R
deprioritisationReq SEQUENCE {
deprioritisationType ENUMERATED {frequency, nr},
deprioritisationTimer ENUMERATED {min5, min10, min15, min30}
} OPTIONAL, -- Need N
lateNonCriticalExtension OCTET STRING OPTIONAL,
nonCriticalExtension RRCRelease-v1540-IEs OPTIONAL
}
- redirectedCarrierInfo:重定向信息,可让UE重定向到其他频点;
- cellReselectionPriorities:小区重选优先级信息
- suspendConfig:表示RRC_INACTIVE状态的配置
- deprioritisationType :指示去优先级的对象是频率还是NR
- deprioritisationTimer:指示去优先级的等待时间,5min,10min,15min,30min
小区重选优先级参数
CellReselectionPriorities ::= SEQUENCE {
freqPriorityListEUTRA FreqPriorityListEUTRA OPTIONAL, -- Need M
freqPriorityListNR FreqPriorityListNR OPTIONAL, -- Need M
t320 ENUMERATED {min5, min10, min20, min30, min60, min120, min180, spare1} OPTIONAL, -- Need R
...,
[[
freqPriorityListNRSlicing-r17 FreqPriorityListNRSlicing-r17 OPTIONAL -- Need M
]]
}
FreqPriorityListEUTRA ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA
FreqPriorityListNR ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityNR
FreqPriorityEUTRA ::= SEQUENCE {
carrierFreq ARFCN-ValueEUTRA,
cellReselectionPriority CellReselectionPriority,
cellReselectionSubPriority CellReselectionSubPriority OPTIONAL -- Need R
}
FreqPriorityNR ::= SEQUENCE {
carrierFreq ARFCN-ValueNR,
cellReselectionPriority CellReselectionPriority,
cellReselectionSubPriority CellReselectionSubPriority OPTIONAL -- Need R
}
- carrierFreq:重选小区频点
- cellReselectionPriority :小区重选优先级
- cellReselectionSubPriority:用于计算频点的绝对优先级
RRC 挂起配置参数
SuspendConfig ::= SEQUENCE {
fullI-RNTI I-RNTI-Value,
shortI-RNTI ShortI-RNTI-Value,
ran-PagingCycle PagingCycle,
ran-NotificationAreaInfo RAN-NotificationAreaInfo OPTIONAL, -- Need M
t380 PeriodicRNAU-TimerValue OPTIONAL, -- Need R
nextHopChainingCount NextHopChainingCount,
...
}
- I-RNTI-Value:I-RNTI,长度40bit
- ShortI-RNTI-Value:短格式I-RNTI,长度24bit
- PagingCycle: 接入网发起寻呼的周期。rf32对应于32无线帧,rf64对应64个无线帧,依此类推
- RAN-NotificationAreaInfo:RAN更新区域信息
- PeriodicRNAU-TimerValue: 在UE中周期性触发RAN更新过程的定时器。min5对应于5分钟,依此类推
- NextHopChainingCount:跳频配置