【OpenAirInterface5g】RRC NR解析(一)
目录1. RRC源码位置2. 文件功能3. 函数功能4. 主函数流程1. RRC源码位置RRC(Radio Resource Control)称为无线资源控制是5G系统的核心模块其主要作用是给下层(PHYMACRLCPDCP)控制或配置所有无线资源从而保证UE与基站之间进行通信。OAI RRC模块位于openair2\RRC下其下有NRLTENR UE等几个源码目录我们只分析NR。2. 文件功能RRC模块主要文件如下文件名功能rrc_gNB.cRRC核心程序包括RRC消息接收和处理rrc_gNB_NGAP.cNGAP消息生成和发送rrc_gNB_UE_context.cUE上下文生成获取和删除等rrc_gNB_reconfig.cCoreset0,搜索空间BWPrb等参数配置rrc_gNB_GTPV1U.cGTPV1U相关nr_rrc_config.cRlcmac cellgroup等一些参数初始化为0nr_rrc_common.c一些全局参数初始化3. 函数功能rrc_gNB.c是RRC模块的核心源码文件所有RRC消息由这里接收所有处理流程也从这里发起rrc_gnb_task()相当于RRC模块的Main主函数。函数描述rrc_gnb_task接收其他模块传给RRC模块的msg根据消息ID进入不同的处理分支rrc_gNB_decode_dcchdcch解码nr_rrc_gNB_decode_ccchccch解码rrc_gNB_generate_RRCSetup生成RRC Setuprrc_gNB_generate_RRCSetup_for_RRCReestablishmentRequest生成对于RRC重建的RRC SETUPrrc_gNB_generate_RRCReject生成RRC Rejectrrc_gNB_process_RRCSetupComplete处理RRC setupCompleterrc_gNB_generate_defaultRRCReconfiguration生成RRC重配命令rrc_gNB_process_RRCReconfigurationComplete处理RRC重配完成命令rrc_gNB_generate_RRCReestablishment生成RRC重建命令rrc_gNB_process_RRCConnectionReestablishmentComplete处理RRC重建完成命令rrc_gNB_generate_SecurityModeCommand生成加密模式命令rrc_gNB_generate_UECapabilityEnquiry生成UE能力查询rrc_gNB_generate_RRCRelease生成RRCReleaseinit_NR_SIMIB,SIB1编码4. 主函数流程itti_receive_msg为主接收函数上一篇已讲过。通过ITTI_MSG_ID(msg_p)获取消息ID由switch转入各个处理分支流程对数据进行解码。nr_rrc_gNB_decode_ccch()负责CCCH解码传入的数据调用uper_decode()进行per解码得到消息ID主要消息包括rrcSetupRequest和rrcReestablishmentRequest两条。rrc_gNB_decode_dcch()负责DCCH解码传入的数据调用uper_decode()进行per解码得到消息ID包括rrcSetupCompleterrcReconfigurationCompleteulInformationTransfersecurityModeCompletesecurityModeFailureueCapabilityInformationrrcReestablishmentComplete。其他几条分支主要是NGAP相关的消息包括下行NASPDU会话建立和释放UE上下文建立和释放。

相关新闻

OpenCore Legacy Patcher终极指南:让老款Mac焕发新生的免费方案

OpenCore Legacy Patcher终极指南:让老款Mac焕发新生的免费方案

OpenCore Legacy Patcher终极指南:让老款Mac焕发新生的免费方案 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 还在为老款Mac无法升级最新macOS而…

2026/7/24 20:10:33阅读更多 →
鸣潮自动化工具终极指南:5分钟上手智能战斗与声骸管理

鸣潮自动化工具终极指南:5分钟上手智能战斗与声骸管理

鸣潮自动化工具终极指南:5分钟上手智能战斗与声骸管理 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸 一键日常 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves ok-ww是一款基于…

2026/7/24 20:10:33阅读更多 →
【OpenAirInterface5g】RRC NR解析之RrcSetupRequest

【OpenAirInterface5g】RRC NR解析之RrcSetupRequest

作者:柒号华仔 个人主页:欢迎访问我的主页 个人信条:星光不问赶路人,岁月不负有心人。 个人方向:专注于4G/5G领域,同时兼顾其他网络协议,编解码协议,C/C,linux等,感兴趣的…

2026/7/24 20:10:33阅读更多 →
为你的ClaudeCode编程助手配置稳定可靠的国内直连通道

为你的ClaudeCode编程助手配置稳定可靠的国内直连通道

为你的ClaudeCode编程助手配置稳定可靠的国内直连通道 对于使用Claude Code进行编程辅助的开发者而言,一个稳定、低延迟的模型服务通道至关重要。Claude Code作为一款基于Anthropic模型的编程工具,其默认服务可能因网络环境或账号状态而出现访问不稳定、…

2026/7/25 3:33:49阅读更多 →
为Hermes Agent自定义配置Taotoken作为大模型供应商

为Hermes Agent自定义配置Taotoken作为大模型供应商

为Hermes Agent自定义配置Taotoken作为大模型供应商 对于使用Hermes Agent框架的开发者而言,有时需要接入特定的大模型服务来满足项目需求。Taotoken作为一个提供多模型统一API的平台,其OpenAI兼容的接口可以方便地与Hermes Agent集成。本文将详细介绍如…

2026/7/25 3:33:49阅读更多 →
Google DeepMind轻量级多模态AI模型:Nano Banana 2 Lite与Gemini Omni Flash解析

Google DeepMind轻量级多模态AI模型:Nano Banana 2 Lite与Gemini Omni Flash解析

这次我们来看 Google DeepMind 最新发布的两个轻量级 AI 模型:Nano Banana 2 Lite 和 Gemini Omni Flash。这两个模型主打高保真视觉创作能力,特别适合需要在本地或边缘设备上运行的场景。从发布信息来看,Nano Banana 2 Lite 属于 Gemini 3.1…

2026/7/25 3:33:49阅读更多 →
初次使用Taotoken从注册到成功调用的全过程耗时记录

初次使用Taotoken从注册到成功调用的全过程耗时记录

初次使用Taotoken从注册到成功调用的全过程耗时记录 作为一名开发者,在尝试接入新的API服务时,最关心的问题之一就是“从零开始到跑通第一个请求,到底需要多久?” 本文将以第一视角,完整记录我初次使用Taotoken平台&a…

2026/7/25 3:33:49阅读更多 →
智能采购AI系统架构设计与实现解析

智能采购AI系统架构设计与实现解析

1. 项目背景与核心价值去年参与某制造业企业的数字化采购改造项目时,我们团队遇到了一个典型困境:采购部门每天要处理来自20多个部门的500采购申请,但现有系统只能做到简单的电子化表单流转。人工审核效率低下、供应商比价耗时过长、历史采购…

2026/7/25 3:33:49阅读更多 →
MacOS通过UTM虚拟机安装ROS Noetic开发环境指南

MacOS通过UTM虚拟机安装ROS Noetic开发环境指南

1. 项目背景与核心价值 在机器人开发领域,ROS(Robot Operating System)作为开源中间件框架已成为行业标准。对于使用Mac设备的开发者而言,原生系统无法直接运行ROS环境是个长期痛点。传统方案要么依赖双系统切换,要么使…

2026/7/25 3:31:49阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/25 1:01:14阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/25 1:01:14阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/25 1:01:14阅读更多 →
突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的…

2026/7/25 0:01:16阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述:为什么我们要“手撕”string类?在C的学习道路上,尤其是从C语言过渡到C的“初阶”阶段,string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了,、find、substr,几个操作符和函数…

2026/7/25 0:01:16阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看,“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具,而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源,比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:01:16阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/24 23:01:03阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/24 19:00:40阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/24 19:00:40阅读更多 →