蜂窝网络

Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.


基础知识

蜂窝网络概述

蜂窝网络(Cellular Network)是一种 基于蜂窝状基站覆盖结构 的移动通信网络,核心是将地理区域划分为多个六边形的 “蜂窝小区”,每个小区由一个基站提供信号覆盖,通过频率复用技术提升频谱利用率,实现大范围、高密度的通信。其主要服务于手机、物联网终端等设备,是现代移动通信的核心基础设施。

APN

什么是APN

APN(Access Point Name,接入点名称)指一种网络接入技术,是终端入网时必须配置的一个参数,它决定了终端通过哪种接入方式来访问网络。

对于用户来说,可以访问的外部网络类型有很多,例如:InternetWAP网站、集团企业内部网络、行业内部专用网络。而不同的接入点所能访问的范围以及接入的方式是不同的,网络侧如何知道终端激活以后要访问哪个网络从而分配哪个网段的IP呢,这就要靠APN来区分了,即APN决定了用户的终端通过哪种接入方式来访问什么样的网络 。

所有运营商都使用特定的APN(Access Point Name,接入点名称),通常是您的SIM卡预先配置的,但必要时,您需手动进行调整。

确认用什么APN

所有运营商都有自己的APN,一般普通的SIM卡(也叫公网卡),其APN都是公开的,可以在网络上查询到,或者直接联系对应运营商咨询。而对于物联网卡或者其他一些专网卡,需要用户联系对应运营商去确认应该使用什么APN。

CFUN

CFUN(Cellular Functionality,蜂窝功能)指移动终端的功能模式。我们在提到CFUN时,一般都是指使用 net 模块的相关方法或者 AT+CFUN 这个AT命令,来设置或者查询移动终端的功能模式。关于如何查询和设置CFUN,请参考《蜂窝网络函数定义》章节。移动终端通常有如下几种功能模式:

  • 最小功能模式:该模式下,整个射频网络协议栈全部关闭,SIM卡模块停止供电。这种模式下,终端设备功耗是不关机情况下最低的。

  • 全功能模式:该模式下,终端设备的无线射频功能全都是开启的,设备可以执行网络相关操作。

  • 飞行模式:该模式下,会禁用终端设备的无线射频功能,即禁止设备发送和接收RF信号,但是SIM卡模块依然是正常供电,并且可以正常识别到SIM卡的。

MCC/MNC

MCC(Mobile Country Code)和 MNC(Mobile Network Code)是在移动通信网络中用来唯一标识一个移动网络运营商的。

  • MCC:移动国家码。MCC是由3位数字组成的,用于标识移动设备所在的国家或地区。例如,中国的MCC是460。

  • MNC:移动网络码。MNC是由2位或3位数字组成的,用于在一个特定国家或地区内标识具体的移动网络运营商。例如,中国移动的MNC是00或02,中国联通的MNC是01,中国电信的MNC是03或05。

将MCC和MNC组合在一起,就形成了一个全球唯一的代码,用于标识世界上每一个移动网络运营商。我们将由MCC和MNC组合起来的标识称为PLMN(Public Land Mobile Network)。

小区

在移动网络中,小区(Cell)代表的是基站覆盖的特定地理区域。每一个小区都由一个基站来覆盖并为其提供网络服务。各个小区的大小并不是统一的,会根据需求和环境进行调整。

对于UE来说,小区还分为服务小区(Serving Cell)和邻区(Neighbouring Cell)。

  • 服务小区:是指当前为移动设备提供服务的小区。也就是说,这个设备目前正与这个小区的基站进行通信,所有的呼叫、数据传输等活动都通过这个小区进行。

  • 邻区:是指那些与服务小区相邻,并且可能在移动设备移动时成为新的服务小区的小区。移动设备会周期性地测量邻区的信号质量,以便在必要时进行小区切换。

信号质量

概述

在蜂窝移动网络中,信号质量是由不同的测量值来确定的,并不是只看某个参数的测量值。在不同的网络制式中,用来衡量信号质量的参数以及参数范围一般也都不同。下面是一些常见的测量值:

  • RSSI

  • CSQ

  • RSRP

  • RSRQ

  • RSCP

  • SINR

影响信号质量的因素

影响信号强度和信号质量的因素有很多,比如:

  • 和基站的距离:移动设备与基站之间的距离越远,信号强度就越弱,信号质量也可能下降。这是因为信号在传播过程中会衰减。

  • 遮挡物:建筑物、树木、山丘等遮挡物可以阻碍信号的传播,导致信号强度下降和信号质量降低。这种影响在室内尤其明显。

  • 天线性能:设备和基站的天线性能也会影响信号强度和信号质量。

  • 干扰:其他设备发出的信号可能会与目标信号冲突,导致信号质量下降。这种情况在频繁使用无线设备的地方(例如公共WIFI区域)尤其常见。

  • 多路径效应:信号可能会在到达接收器之前反射、折射或散射,导致多个信号路径。这些不同路径的信号可能会相互干扰,导致信号质量下降。

  • 天气条件:某些天气条件,如雨、雾、雪等,也可能对无线信号产生影响,降低信号强度和质量。

  • 网络拥塞:在网络使用量大的时段,如高峰时段,大量用户可能会导致网络拥塞,进而影响信号质量。

  • 基站负载:同一个基站在某时间段内承载了太多的用户或者很大的数据流量,也可能会影响到信号质量。

  • 功率控制:移动通信系统通常采用功率控制机制来优化信号强度,避免过强的信号导致的干扰和过弱的信号导致的服务质量下降。

我们在衡量信号强度和信号质量时,不能片面的认为信号强度值很好或者信号质量好,就表示蜂窝移动通信数据传输就一定是非常快和稳定的。比如用户所在地方,RSSI的值很大,说明信号强度很好,但是用户使用时,由于网络拥塞或者基站负载过重,导致用户设备此时的通信质量并不是很好。

RSSI

RSSI(Received Signal Strength Indicator)指接收的所有信号的总功率(单位dBm),包括导频信号、数据信号、邻区干扰信号和底噪信号等。RSSI的参数范围在不同的网络制式中有所不同,但是值越大,表示信号强度越好。

RSSI通常是一个相对值,它的测量和接收设备有很大的关系。因此对于不同设备,其RSSI的衡量标准并不是完全统一的,因此下面我们提供的RSSI衡量标准仅作为一个参考:

衡量标准

RSSI(dBm)

信号强度

描述

RSSI < -100

信号非常弱,无法进行正常通信。

-100 <= RSSI < -90

一般

信号较弱,可能会有丢包或延迟等问题。

-90 <= RSSI < -80

良好

信号良好,可以支持大部分应用。

-80 <= RSSI < -70

信号很好,适合高清视频、实时语音等应用。

RSSI > -70

非常好

信号非常好,适合高速数据传输和对网络质量要求较高的应用场景。

一般RSSI的值小于-90dBm,说明网络信号比较差了,模组可能就无法进行正常的网络通信。

CSQ

CSQ表示信号强度,是用来指示RSSI强度的参数,取值范围是0~31,数值越大表示信号强度越好。若CSQ值小于6,终端基本无法进行网络通信。CSQ和RSSI之间的对应关系如下:

CSQ

RSSI(dBm)

0

-113

1

-111

2~30

-109 ~ -53

31

>= -51

99

未知或者不可检测等异常

RSRP

RSRP(Reference Signal Received Power)指参考信号接收功率。是在某个符号内承载参考信号的所有RE(资源粒子)上接收到的信号功率的平均值。反映的是当前信道的路径损耗强度,用于小区覆盖的测量和小区的选择以及重选。RSRP的取值范围是-140 dBm ~ -44 dBm,值越大越好。

需要注意的是,RSRP是在LTE中才引入的概念,也就是说RSRP是用来衡量LTE网络信号强度的参数。相当于WCDMA网络中的RSCP参数。下面提供的RSRP参数衡量标准仅作为一个参考:

衡量标准

RSRP(dBm)

强度级别

描述

RSRP <= -105

6

覆盖很差,基本无法进行业务。

-105 < RSRP <= -95

5

覆盖差,室外语音业务能够起呼,但是呼叫成功率低,掉话率高;室内基本无法发起业务。

-95 < RSRP <= -85

4

覆盖一般,室外能够发起各种业务,可获得低速率的数据业务;室内呼叫成功率低,掉话率高。

-85 < RSRP <= -75

3

覆盖较好,室外能够发起各种业务,可获得中等速率的数据业务;室内能发起各种业务,可获得低速率数据业务。

-75<RSRP <= -65

2

覆盖很好,室外能够发起各种业务,可获得高速率的数据业务;室内能够发起各种业务,可获得中等速率的数据业务。

RSRP > -65

1

覆盖非常好。

RSRQ

RSRQ(Reference Signal Received Quality)指参考信号接收质量。表示当前信道质量的信噪比和干扰水平。其取值范围是-20 dB ~ -3 dB,值越大越好。RSRQ是在LTE中才引入的概念,也就是说RSRQ是用来衡量LTE网络信号强度的参数。

RSRQ是RSRP和RSSI的比值,但是因为两者测量所基于的带宽可能不同,会用一个系数来调整,即 RSRQ = N*RSRP/RSSI。

下面提供的RSRQ参数衡量标准仅作为一个参考:

衡量标准

RSRQ(dB)

信号质量

说明

-20 <= RSRQ < -15

信号质量很差,基本不能正常通信。

-15 <= RSRQ < -10

一般

信号质量一般,通信可能会收到干扰。

-10 <= RSRQ < -7

良好

信号质量较好,可以正常通信。

-7 <= RSRQ <= -3

信号质量很好,数据通信速度快。

RSCP

RSCP(Receive Signal CodePower)指接收信号码功率。它是UMTS网络系统中的概念,表示接收器在特定物理信道上测量的功率。它在下行链路功率控制中用作信号强度的指示、切换标准以及计算路径损耗。RSCP的取值范围通常在-120 dBm到-25 dBm之间。

下面提供的RSCP参数衡量标准仅作为一个参考:

RSCP(dBm)

信号强度

描述

RSCP < -110

很差

信号非常差,基本无法保持稳定的通话和数据传输。

-110 <= RSCP < -100

较差

信号较差,难以保持稳定的通话和数据传输。

-100 <= RSCP < -85

一般

信号一般,可能会影响通话和数据传输的质量。

-85 <= RSCP < -75

良好

信号较好,通常能够保持高质量的通话和数据传输。

RSCP >= -75

信号非常好,通常可以保持最高质量的通话和数据传输。

SINR

SINR(Signal to Interference plus Noise Ratio)指信号与干扰加噪声比,即接收到的有用信号的强度和接收到的干扰信号强度的比值。它是用来表示移动网络通信中信号质量的重要参数。SINR的单位是dB,范围一般是-10 dB到40 dB。

下面提供的SINR参数衡量标准仅作为一个参考:

SINR(dB)

信号质量

说明

SINR < 3

非常差

通常无法建立连接或维持通信。

3 <= SINR < 10

通信不稳定,可能会出现高丢包率和低数据速率。

11 <= SINR < 15

一般

通信较为稳定,但数据速率可能受限。

16 <= SINR < 25

通信稳定,数据速率较高。

SINR >= 25

非常好

通信非常稳定,可获得高数据传输速率。

BAND

移动通信中的 band(也叫 频段),指的是移动通信系统使用的 特定无线电频率范围,不同的band对应不同的频率区间,且会被划分给2G、3G、4G、5G等不同代际的移动通信技术使用。

简单来说,无线电频率是移动通信的 “通道”,而band就是给不同通信技术划分的 “专属通道”,这样可以避免不同系统之间的信号干扰,同时实现信号的高效传输。

核心特点

  1. 有明确的编号和频率范围。 国际电信联盟(ITU)和 3GPP 等组织会给每个移动频段分配统一编号,比如4G中常见的 Band 3(1800MHz)、Band 40(2300MHz),5G 中常见的 n78(3500MHz)、n41(2600MHz)。不同编号的band对应固定的上行(手机发信号给基站)和下行(基站发信号给手机)频率区间。

  2. 不同 band 的覆盖与速率差异

  • 低频段(如700 MHz、800 MHz):波长较长,覆盖范围广,穿墙能力强,适合农村、郊区等广域覆盖,但传输速率相对偏低。

  • 中频段(如1.8 GHz、2.6 GHz):覆盖和速率兼顾,是4G/5G主流的覆盖频段。

  • 高频段(如26 GHz、28 GHz,也叫毫米波):波长极短,传输速率极高,但覆盖范围小、穿墙能力弱,适合城市热点区域(如商场、写字楼)的高速率需求。

网络制式

网络制式(Radio Access Technology,简称RAT),也叫无线接入技术,是指移动设备如何通过无线电信号连接到网络的技术。比如我们通常说的GSM、GPRS、WCDMA、CDMA2000、LTE等都是网络制式。

网络技术

网络技术可以理解为使得设备能够连接到移动网络并且进行通信的一系列技术。通常指的是用于在设备和网络之间建立和管理连接的一组技术或协议。

例如:

COMPACT是一种针对GSM网络的优化技术,它通过改变控制通道的处理方式,来提高网络的频谱效率和容量。因此我们也将其归类为GSM网络技术的一种。

eMTC(Enhanced Machine-Type Communication)是指增强型机器类通信。这是一种LTE技术,旨在提高网络对大量低功耗设备的支持。因此我们也将其归类为LTE网络技术的一种。

默认承载

在介绍默认承载之前,我们先来说明什么是承载。承载(Bearer)也叫EPS承载,是LTE中才引入的术语,它是一种逻辑上的概念。指的是LTE无线网络中传递信息的通道。如果将承载比喻为一条交通道路的话,那信息就像是路上来回的车辆。

在LTE无线网络中,承载一般分为默认承载(Default Bearer)和专用承载(Dedicated Bearer)。

  • 默认承载:在UE初始附着过程中按照用户签约的默认QoS等级建立一个承载,叫默认承载。在PDN连接业务存在期间会始终保持这个默认承载,给UE提供一个“永久在线”的IP连接。其实可以将其理解为一种提供尽力而为的IP连接的承载。

  • 专用承载:连接到相同的PDN的其他EPS承载称为专用承载。也就是在默认承载基础上,为了提供某种特定的QoS传输需求而建立的,比如VoLTE功能就需要专门建立一路承载。

基站时间

基站时间通常指的是无线基站的内部时钟,这个时钟为移动通信网络提供了一个精确的时间参考。在无线通信系统中,发送和接收数据需要在准确的时间窗口内进行。例如,数据传输需要准确地与基站的时间同步,否则可能会导致数据丢失或错误。因此,基站需要有一个精确的内部时钟,以便控制这些时间敏感的操作。

此外,基站时间还有一个很常见的用处,即一些移动设备可能会通过基站时间来自动校准它们的本地时间,尤其是当移动设备在不同的时区之间移动时。而这个过程就是通过NITZ(Network Identity and Time Zone)来实现的。

API说明

头文件

qosa_network.h

函数列表

函数

描述

qosa_nw_get_current_rat()

获取当前服务小区的制式

qosa_nw_get_rat_mode_from_nv()

从NV获取当前配置的制式模式,表示当前配置的制式模式,用于网络选择

qosa_nw_get_supported_rat_mode()

获取可配置的制式模式组合

qosa_nw_set_rat_mode()

配置制式模式

qosa_nw_get_rat_order()

获取网络选择过程中RAT的顺序

qosa_nw_set_rat_order()

设置网络选择过程中RAT的顺序

qosa_nw_get_scell_info()

获取服务小区信息

qosa_nw_get_ncell_basic()

获取邻区信息

qosa_nw_get_ncell_ext()

用于在无卡或空闲状态下(解码SIB消息)获取邻区信息

qosa_nw_trigger_freq_scan()

触发频点扫描

qosa_nw_get_reg_status()

获取CS域和PS域注册状态

qosa_nw_get_oper_name()

获取当前注册的网络PLMN信息

qosa_nw_get_cfg_oper_name()

获取ME配置的运营商名称信息,需要指定PLMN

qosa_nw_query_supp_operator()

进行PLMN扫描,获取支持的运营商信息

qosa_nw_auto_register()

进行自动网络搜索

qosa_nw_manual_register()

进行手动网络搜索

qosa_nw_deregister()

进行网络注销,CS和PS域都被注销

qosa_nw_get_cfg_band()

获取当前配置的频段信息

qosa_nw_get_support_band()

获取支持的频段信息

qosa_nw_set_cfg_band()

配置频段

qosa_nw_freq_lock()

设置频率锁定和解锁

qosa_nw_get_freq_lock_config()

获取频率锁定的配置

qosa_nw_get_srv_domain()

查询分组域/电路域注册模式

qosa_nw_set_srv_domain()

设置分组域/电路域注册模式

qosa_nw_get_voice_domain()

获取语音域注册模式信息

qosa_nw_set_voice_domain()

设置语音域注册模式

qosa_nw_get_ue_usage_setting()

获取UE的使用设置

qosa_nw_set_ue_usage_setting()

设置UE的使用设置

qosa_nw_get_roaming_pref()

获取漫游偏好设置

qosa_nw_set_roaming_pref()

设置漫游偏好设置

qosa_nw_nssai_set_default_config()

设置默认配置的NSSAI

qosa_nw_nssai_get_default_config()

获取默认配置的NSSAI

qosa_nw_nssai_clear_default_config()

清除默认配置的NSSAI

qosa_nw_nssai_get_nssai()

获取NSSAI配置

qosa_nw_get_rrc_conn_info()

获取RRC连接信息

qosa_nw_set_rrc_fast_release()

设置RRC快速释放配置

qosa_nw_get_rrc_fast_release()

获取RRC快速释放配置

qosa_nw_rrc_fast_release()

一次性RRC快速释放

qosa_nw_set_jamm_detect_func()

设置干扰检测功能

qosa_nw_get_jamm_detect_func()

获取干扰检测功能

qosa_nw_set_jamm_detect_param()

设置干扰检测参数

qosa_nw_get_jamm_detect_param()

获取干扰检测参数

函数详解

网络制式

qosa_nw_get_rat_mode_from_nv

函数原型
qosa_nw_err_e qosa_nw_get_rat_mode_from_nv(qosa_uint8_t simid, qosa_uint8_t *rat_mode);
功能描述

从NV获取当前配置的制式模式组合,表示当前配置的制式模式,用于网络选择

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

rat_mode

qosa_uint8_t *

获取的制式模式组合

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_get_supported_rat_mode

函数原型
qosa_nw_err_e qosa_nw_get_supported_rat_mode(qosa_uint8_t simid, qosa_uint8_t *rat_mode_ability);
功能描述

获取可配置的制式模式组合

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

rat_mode_ability

qosa_uint8_t *

获取的支持的制式模式组合

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_get_current_rat

函数原型
qosa_nw_rat_e qosa_nw_get_current_rat(qosa_uint8_t simid);
功能描述

获取当前服务小区的制式

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

返回值说明

当前的制式,参考 qosa_nw_rat_e ,如果未注册,则返回 QOSA_NW_RAT_UNKNOWN

qosa_nw_set_rat_mode

函数原型
qosa_nw_err_e qosa_nw_set_rat_mode(qosa_uint8_t simid, qosa_uint8_t rat_mode, qosa_bool_t effect, nw_callback_t cb, void *ctx);
功能描述

配置制式模式

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

rat_mode

qosa_uint8_t

设置的RAT组合,2G + 4G组合方式为 QOSA_NW_RAT_2G|QOSA_NW_RAT_4G;此外,QOSA_NW_RAT_ALL 可以用于表示当前模组的所有RAT功能

effect

qosa_bool_t

True or false

是否立即生效

cb

nw_callback_t

异步回调函数

ctx

void *

异步回调函数上下文参数

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_set_rat_order

函数原型
qosa_nw_err_e qosa_nw_set_rat_order(qosa_uint8_t simid, qosa_nw_rat_e *rat_order, qosa_bool_t effect, nw_callback_t cb, void *ctx);
功能描述

设置网络选择过程中RAT的顺序

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

rat_order

qosa_nw_rat_e *

RAT顺序

effect

qosa_bool_t

True or false

是否立即生效

cb

nw_callback_t

异步回调函数

ctx

void *

异步回调函数上下文参数

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_get_rat_order

函数原型
qosa_nw_err_e qosa_nw_get_rat_order(qosa_uint8_t simid, qosa_nw_rat_e *rat_order);
功能描述

获取网络选择过程中RAT的顺序

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

rat_order

qosa_nw_rat_e *

参考 qosa_nw_rat_e

RAT顺序

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

小区信息获取

qosa_nw_get_scell_info

函数原型
qosa_nw_err_e qosa_nw_get_scell_info(qosa_uint8_t simid, qosa_nw_scell_info_t *scell);
功能描述

获取服务小区信息

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

scell

qosa_nw_scell_info_t *

服务小区信息

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_get_ncell_basic

函数原型
qosa_nw_err_e qosa_nw_get_ncell_basic(qosa_uint8_t simid, qosa_nw_ncell_info_t *ncell);
功能描述

获取邻区信息

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

ncell

qosa_nw_ncell_info_t *

获取的邻区信息

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_get_ncell_ext

函数原型
qosa_nw_err_e qosa_nw_get_ncell_ext(qosa_uint8_t simid, qosa_nw_ncell_ext_config_t *config, nw_callback_t cb, void *ctx);
功能描述

用于在无卡或空闲状态下(解码SIB消息)获取邻区信息

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

config

qosa_nw_ncell_ext_config_t *

获取的扩展邻区信息

cb

nw_callback_t

异步回调函数

ctx

void *

异步回调函数上下文参数

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_trigger_freq_scan

函数原型
qosa_nw_err_e qosa_nw_trigger_freq_scan(qosa_uint8_t simid, qosa_nw_freq_scan_t *config, nw_callback_t cb, void *ctx);
功能描述

触发频点扫描

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

config

qosa_nw_freq_scan_t *

扫描配置参数

cb

nw_callback_t

异步回调函数

ctx

void *

异步回调函数上下文参数

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

选网、注网管理

qosa_nw_get_reg_status

函数原型
qosa_nw_err_e qosa_nw_get_reg_status(qosa_uint8_t simid, qosa_uint8_t *cs_status, qosa_uint8_t *ps_status);
功能描述

获取CS域和PS域注册状态

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

cs_status

qosa_uint8_t *

参考 qosa_nw_reg_status_e

CS域注册状态

ps_status

qosa_uint8_t *

参考 qosa_nw_reg_status_e

PS域注册状态

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_get_oper_name

函数原型
qosa_nw_err_e qosa_nw_get_oper_name(qosa_uint8_t simid, qosa_nw_oper_name_t *long_name, qosa_nw_oper_name_t *short_name);
功能描述

获取当前注册的网络PLMN信息

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

long_name

qosa_nw_oper_name_t *

长网络运营商名称

short_name

qosa_nw_oper_name_t *

短网络运营商名称

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_get_cfg_oper_name

函数原型
qosa_nw_err_e qosa_nw_get_cfg_oper_name(qosa_plmn_t *plmn, qosa_nw_oper_name_t *long_name, qosa_nw_oper_name_t *short_name);
功能描述

获取ME配置的运营商名称信息,需要指定PLMN

参数说明

参数名

类型

是否必填

范围/单位

说明

plmn

qosa_plmn_t *

要查询的运营商PLMN信息,详见 qosa_plmn_t

long_name

qosa_nw_oper_name_t *

长网络运营商名称

short_name

qosa_nw_oper_name_t *

短网络运营商名称

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_query_supp_operator

函数原型
qosa_nw_err_e qosa_nw_query_supp_operator(qosa_uint8_t simid, nw_callback_t cb, void *ctx);
功能描述

获取支持的运营商信息

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

cb

nw_callback_t

异步回调函数

ctx

void *

异步回调函数上下文参数

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_auto_register

函数原型
qosa_nw_err_e qosa_nw_auto_register(qosa_uint8_t simid, nw_callback_t cb, void *ctx);
功能描述

进行自动网络搜索

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

cb

nw_callback_t

异步回调函数

ctx

void *

异步回调函数上下文参数

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_manual_register

函数原型
qosa_nw_err_e qosa_nw_manual_register(
    qosa_uint8_t               simid,
    qosa_nw_oper_name_format_e format,
    char                      *plmn_str,
    qosa_nw_act_e              act,
    qosa_bool_t                fail_to_auto,
    nw_callback_t              cb,
    void                      *ctx
);
功能描述

进行手动网络搜索

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

format

qosa_nw_oper_name_format_e

参考 qosa_nw_oper_name_format_e

运营商字符串的格式

plmn_str

char*

运营商字符串

act

qosa_nw_act_e

参考qosa_nw_act_e

网络制式

fail_to_auto

qosa_bool_t

True or false

手动选网失败后, 是否切换到自动模式再重新尝试

cb

nw_callback_t

异步回调函数

ctx

void*

异步回调函数上下文参数

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_deregister

函数原型
qosa_nw_err_e qosa_nw_deregister(qosa_uint8_t simid, nw_callback_t cb, void *ctx);
功能描述

进行网络注销,CS和PS域都被注销

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

cb

nw_callback_t

异步回调函数

ctx

void *

异步回调函数上下文参数

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

频点、小区、频段管理

qosa_nw_get_cfg_band

函数原型
qosa_nw_err_e qosa_nw_get_cfg_band(qosa_uint8_t simid, qosa_nw_band_t *cfg_band);
功能描述

获取当前配置的频段信息

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

cfg_band

qosa_nw_band_t *

配置的band信息

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_get_support_band

函数原型
qosa_nw_err_e qosa_nw_get_support_band(qosa_uint8_t simid, qosa_nw_band_t *support_band);
功能描述

获取支持的频段信息

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

support_band

qosa_nw_band_t *

支持的band列表

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_set_cfg_band

函数原型
qosa_nw_err_e qosa_nw_set_cfg_band(qosa_uint8_t simid, const qosa_nw_band_t *cfg_band, qosa_bool_t effect, nw_callback_t cb, void *ctx);
功能描述

配置频段

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

cfg_band

const qosa_nw_band_t *

用户配置的band信息

effect

qosa_bool_t

True or false

是否立即生效

cb

nw_callback_t

异步回调函数

ctx

void *

异步回调函数上下文参数

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_freq_lock

函数原型
qosa_nw_err_e qosa_nw_freq_lock(qosa_uint8_t simid, qosa_uint8_t rat, qosa_uint8_t opcode, qosa_nw_freq_lock_list_t *freq_lock, nw_callback_t cb, void *ctx);
功能描述

设置频率锁定和解锁

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

rat

qosa_uint8_t

锁频操作的RAT类型

opcode

qosa_uint8_t

参考 qosa_nw_freq_lock_opcode_e

锁定的模式,锁频点或者锁小区

freq_lock

qosa_nw_freq_lock_list_t *

频点锁定列表

cb

nw_callback_t

异步回调函数

ctx

void *

异步回调函数上下文参数

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_get_freq_lock_config

函数原型
qosa_nw_err_e qosa_nw_get_freq_lock_config(qosa_uint8_t simid, qosa_uint8_t rat, qosa_nw_freq_lock_list_t *lock_freq);
功能描述

获取频率锁定的配置

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

rat

qosa_uint8_t *

锁频操作的RAT类型

lock_freq

qosa_nw_freq_lock_list_t *

频点锁定列表

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

网络偏好管理

qosa_nw_get_srv_domain

函数原型
qosa_nw_err_e qosa_nw_get_srv_domain(qosa_uint8_t simid, qosa_uint8_t *domain);
功能描述

查询分组域/电路域注册模式

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

domain

qosa_uint8_t *

参考 qosa_nw_srv_domain_e

分组域/电路域注册模式

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_set_srv_domain

函数原型
qosa_nw_err_e qosa_nw_set_srv_domain(qosa_uint8_t simid, qosa_uint8_t domain, nw_callback_t cb, void *ctx);
功能描述

设置分组域/电路域注册模式

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

domain

qosa_uint8_t *

参考 qosa_nw_srv_domain_e

分组域/电路域注册模式参数

cb

nw_callback_t

异步回调函数

ctx

void *

异步回调函数上下文参数

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAM,QOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_get_voice_domain

函数原型
qosa_nw_err_e qosa_nw_get_voice_domain(qosa_uint8_t simid, qosa_uint8_t *domain);
功能描述

获取语音域注册模式信息

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

domain

qosa_uint8_t *

参考 qosa_nw_voice_domain_e

语音域注册模式参数

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_set_voice_domain

函数原型
qosa_nw_err_e qosa_nw_set_voice_domain(qosa_uint8_t simid, qosa_uint8_t domain, nw_callback_t cb, void *ctx);
功能描述

设置语音域注册模式

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

domain

qosa_uint8_t

参考 qosa_nw_voice_domain_e

语音域注册模式参数

cb

nw_callback_t

异步回调函数

ctx

void *

异步回调函数上下文参数

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_get_ue_usage_setting

函数原型
qosa_nw_err_e qosa_nw_get_ue_usage_setting(qosa_uint8_t simid, qosa_uint8_t *setting);
功能描述

获取UE的使用设置

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

setting

qosa_uint8_t *

参考 qosa_nw_ue_usage_setting_e

获取的UE使用模式配置

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_set_ue_usage_setting

函数原型
qosa_nw_err_e qosa_nw_set_ue_usage_setting(qosa_uint8_t simid, qosa_uint8_t setting, nw_callback_t cb, void *ctx);
功能描述

设置UE的使用设置

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

setting

qosa_uint8_t

参考 qosa_nw_ue_usage_setting_e

设置的UE使用模式配置

cb

nw_callback_t

异步回调函数

ctx

void *

异步回调函数上下文参数

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_get_roaming_pref

函数原型
qosa_nw_err_e qosa_nw_get_roaming_pref(qosa_uint8_t simid, qosa_uint8_t *setting);

功能描述

获取漫游偏好设置

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

setting

qosa_uint8_t *

参考 qosa_nw_roaming_pref_e

漫游偏好设置

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_set_roaming_pref

函数原型
qosa_nw_err_e qosa_nw_set_roaming_pref(qosa_uint8_t simid, qosa_uint8_t setting, qosa_uint8_t effect, nw_callback_t cb, void *ctx);
功能描述

设置漫游偏好

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

setting

qosa_uint8_t *

参数参考 qosa_nw_roaming_pref_e

漫游偏好设置

effect

qosa_uint8_t

0~1

生效方式,0-重启后生效,1-立即生效

cb

nw_callback_t

异步回调函数

ctx

void *

异步回调函数上下文参数

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_nssai_set_default_config

函数原型
qosa_nw_err_e qosa_nw_nssai_set_default_config(qosa_uint8_t simid, qosa_uint8_t length, const char *nssai_data);
功能描述

设置默认配置的NSSAI

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

length

qosa_uint8_t

NSSAI 的长度

nssai_data

const char *

NSSAI 配置数据(字符串形式,多个 S-NSSAI 以冒号 ‘:’ 分隔)

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_nssai_get_default_config

函数原型
qosa_nw_err_e qosa_nw_nssai_get_default_config(qosa_uint8_t simid, qosa_uint8_t *length, char *nssai_data);
功能描述

获取默认配置的NSSAI

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

length

qosa_uint8_t *

当前配置的 NSSAI 长度(数量)

nssai_data

char *

当前配置的 NSSAI 数据(调用者需分配缓冲区,缓冲区大小应不小于 QOSA_NSSAI_MAX_LEN

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_nssai_clear_default_config

函数原型
qosa_nw_err_e qosa_nw_nssai_clear_default_config(qosa_uint8_t simid);
功能描述

清除默认配置的NSSAI

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_nssai_get_nssai

函数原型
qosa_nw_err_e qosa_nw_nssai_get_nssai(qosa_uint8_t simid, qosa_nw_nssai_type_e type, qosa_plmn_t *plmn, qosa_nw_nssai_list_t *list);
功能描述

获取NSSAI配置

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

type

qosa_nw_nssai_type_e

参考 qosa_nw_nssai_type_e

NSSAI 配置类型

plmn

qosa_plmn_t *

指定的PLMN, 如果为 QOSA_NULL, 表示无PLMN信息

list

qosa_nw_nssai_list_t *

返回的 NSSAI 配置列表

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

RRC管理

qosa_nw_get_rrc_conn_info

函数原型
qosa_nw_err_e qosa_nw_get_rrc_conn_info(qosa_uint8_t simid, qosa_nw_rrc_conn_info_t *conn_info);
功能描述

获取RRC连接信息

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

conn_info

qosa_nw_rrc_conn_info_t *

RRC连接信息

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_set_rrc_fast_release

函数原型
qosa_nw_err_e qosa_nw_set_rrc_fast_release(qosa_uint8_t simid, qosa_nw_rrc_fast_release_t *fast_release, nw_callback_t cb, void *ctx);
功能描述

设置RRC快速释放配置

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

fast_release

qosa_nw_rrc_fast_release_t *

RRC快速释放配置

cb

nw_callback_t

异步回调函数

ctx

void *

异步回调函数上下文参数

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_get_rrc_fast_release

函数原型
qosa_nw_err_e qosa_nw_get_rrc_fast_release(qosa_uint8_t simid, qosa_nw_rrc_fast_release_t *fast_release);
功能描述

获取RRC快速释放配置

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

fast_release

qosa_nw_rrc_fast_release_t *

RRC快速释放配置

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_rrc_fast_release

函数原型
qosa_nw_err_e qosa_nw_rrc_fast_release(qosa_uint8_t simid);
功能描述

一次性RRC快速释放

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

干扰检测

qosa_nw_set_jamm_detect_func

函数原型
qosa_nw_err_e qosa_nw_set_jamm_detect_func(qosa_uint8_t simid, qosa_nw_jamm_detect_setting_param_t *jdc_func, nw_callback_t cb, void* ctx);
功能描述

设置干扰检测功能

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

jdc_func

qosa_nw_jamm_detect_setting_param_t *

设置的干扰检测功能

cb

nw_callback_t

异步回调函数

ctx

void*

异步回调函数上下文参数

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_get_jamm_detect_func

函数原型
qosa_nw_err_e qosa_nw_get_jamm_detect_func(qosa_uint8_t simid, qosa_nw_jamm_detect_setting_param_t *jdc_func);

功能描述

获取干扰检测功能

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

jdc_func

qosa_nw_jamm_detect_setting_param_t *

获取的干扰检测功能

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_set_jamm_detect_param

函数原型
qosa_nw_err_e qosa_nw_set_jamm_detect_param(qosa_uint8_t simid, qosa_nw_jamm_detect_setting_param_t *jdc_config);
功能描述

设置干扰检测参数

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

jdc_config

qosa_nw_jamm_detect_setting_param_t *

配置的干扰检测参数

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

qosa_nw_get_jamm_detect_param

函数原型
qosa_nw_err_e qosa_nw_get_jamm_detect_param(qosa_uint8_t simid, qosa_nw_jamm_detect_setting_param_t *all_param);
功能描述

获取干扰检测参数

参数说明

参数名

类型

是否必填

范围/单位

说明

simid

qosa_uint8_t

0~1

SIM卡ID

all_param

qosa_nw_jamm_detect_setting_param_t *

获取的干扰检测的参数

返回值说明

成功返回 QOSA_NW_ERR_OK,失败返回其他错误码:如 QOSA_NW_ERR_INVALID_PARAMQOSA_NW_ERR_OPERATION_NOT_SUPPORTED

数据结构定义

qosa_nw_scell_info_t

typedef struct
{
    qosa_nw_act_e act; /*!< Network RAT */
    union
    {
        qosa_nw_nr5g_param_t  nr5g;  /*!< 5G NR parameters */
        qosa_nw_lte_param_t   lte;   /*!< LTE parameters */
        qosa_nw_wcdma_param_t wcdma; /*!< WCDMA parameters */
        qosa_nw_gsm_param_t   gsm;   /*!< GSM parameters */
    };
} qosa_nw_scell_info_t;

qosa_nw_ncell_info_t

typedef struct
{
    qosa_nw_rat_e rat; /*!< Network RAT */

#ifdef CONFIG_QOSA_NW_NR_SUPPORT
    qosa_uint8_t         nr5g_num;                        /*!< 5G NR neighbor cell count */
    qosa_nw_nr5g_param_t nr5g[QOSA_NW_CELL_INFO_NUM_MAX]; /*!< 5G NR neighbor cell information set */
#endif

    qosa_uint8_t        lte_num;                            /*!< LTE neighbor cell count */
    qosa_nw_lte_param_t lte[QOSA_NW_CELL_INFO_NUM_MAX * 2]; /*!< LTE neighbor cell information set */
    
#ifdef CONFIG_QOSA_NW_WCDMA_SUPPORT
    qosa_uint8_t          wcdma_num;                        /*!< WCDMA neighbor cell count */
    qosa_nw_wcdma_param_t wcdma[QOSA_NW_CELL_INFO_NUM_MAX]; /*!< WCDMA neighbor cell information set */
#endif

#ifdef CONFIG_QOSA_NW_GSM_SUPPORT
    qosa_uint8_t        gsm_num;                        /*!< GSM neighbor cell count */
    qosa_nw_gsm_param_t gsm[QOSA_NW_CELL_INFO_NUM_MAX]; /*!< GSM neighbor cell information set */
#endif
} qosa_nw_ncell_info_t;

qosa_nw_ncell_ext_config_t

typedef struct
{
    qosa_uint32_t  opcode;    /*!< Operation code, available options refer to OSA_NW_NCELL_EXT_OP series macros */
    qosa_nw_band_t scan_band; /*!< Neighbor cell scan specified band, opcode specifies whether there is specified band scan behavior, if not specified, this parameter is invalid */
    qosa_uint32_t  reserved;  /*!< Reserved parameter */
} qosa_nw_ncell_ext_config_t;

qosa_nw_freq_scan_t

typedef struct
{
    qosa_uint32_t opcode; /*!< Operation code, available options refer to OSA_NW_FREQ_SCAN_OP series macros */
    qosa_nw_band_t
        scan_band; /*!< Frequency scan specified band, opcode specifies whether there is specified band scan behavior, if not specified, this parameter is invalid */
    qosa_uint32_t reserved; /*!< Reserved parameter */
} qosa_nw_freq_scan_t;

qosa_nw_oper_name_t

typedef struct nw_network_name
{
    qosa_uint8_t length;                             /*!< Length of operator name */
    qosa_uint8_t charset;                            /*!< Reserved for character set representation */
    char         name[QOSA_NW_NETWORK_NAME_LEN_MAX]; /*!< Operator name */
} qosa_nw_oper_name_t;                               //TODO: character set

qosa_nw_band_t

typedef struct nw_band
{
    qosa_uint32_t opt;           /*!< Reserved */
    qosa_uint32_t gwbandval;     /*!< bit0: GSM 900; bit1: 1800; bit2:850; ... bit4: WCDMA2100; bit5:WCDMA1900; ... */
    qosa_uint32_t ltebandval[8]; /*!< First element stores LTE band 1 to 32; Second element stores LTE band 33 to 64; Third element stores LTE band 65 to 96 */
    qosa_uint32_t nrbandval[32]; /*!< First element stores NR band 1 to 32; Second element stores NR band 33 to 64; Third element stores NR band 65 to 96 */
    qosa_uint32_t reserve;       /*!< Reserved */
} qosa_nw_band_t;

qosa_nw_freq_scan_t

typedef struct
{
    qosa_uint32_t opcode; /*!< Operation code, available options refer to OSA_NW_FREQ_SCAN_OP series macros */
    qosa_nw_band_t
        scan_band; /*!< Frequency scan specified band, opcode specifies whether there is specified band scan behavior, if not specified, this parameter is invalid */
    qosa_uint32_t reserved; /*!< Reserved parameter */
} qosa_nw_freq_scan_t;

qosa_nw_rrc_fast_release_t

typedef struct
{
    qosa_uint32_t mode;       /*!< Whether rrc fast release function is enabled, 0: disabled, 1: enabled */
    qosa_uint32_t idle_time;  /*!< Time for the module to enter sleep state after sending data, range 1~50, unit: second */
    qosa_uint32_t retry_time; /*!< Time to restore enhanced sleep mode if an exception occurs, range 1~600, unit: second */
} qosa_nw_rrc_fast_release_t;

qosa_nw_freq_lock_list_t

typedef struct
{
    qosa_uint32_t num;                   /*!< Number of frequency locks, range: 0~QOSA_NW_LOCK_FREQ_NUM_MAX */
    qosa_nw_lock_freq_t
        lock[QOSA_NW_LOCK_FREQ_NUM_MAX]; /*!< Frequency lock information array, each element contains frequency, PCI and other lock parameters */
} qosa_nw_freq_lock_list_t;

qosa_nw_jamm_detect_setting_param_t

typedef struct
{
    qosa_nw_jamm_detect_set_param_t param;
    qosa_uint8_t                    cmd_str[20]; /*!< Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_int32_t                    def;         /*!< Allow invalid, invalid value is QOSA_NW_PI_INT32 */
    qosa_int32_t                    minval;      /*!< Allow invalid, invalid value is QOSA_NW_PI_INT32 */
    qosa_int32_t                    maxval;      /*!< Allow invalid, invalid value is QOSA_NW_PI_INT32 */
} qosa_nw_jamm_detect_setting_param_t;

qosa_nw_jamm_detect_set_param_t

typedef struct
{
    qosa_nw_jdcfg_type_e qjdcfg_enum;
    qosa_int32_t         value; /*!< Allow invalid, invalid value is QOSA_NW_PI_INT32 */
} qosa_nw_jamm_detect_set_param_t;

qosa_nw_lte_param_t

typedef struct
{
    qosa_uint32_t cellid; /*!< CellIdentity; BIT STRING (SIZE (28)); invalid value: QOSA_NW_PI_UINT32 */
    qosa_plmn_t plmn; /*!< plmn id (MCC, MNC): refers to the struct of plmn; example: "46001" (mcc=460, mnc=01, mnc_digit_num=2); invalid value: 0xFFFF,0xFFFF,0xFF */
    qosa_uint16_t tac;         /*!< tracking area code; BIT STRING (SIZE (16)); invalid value: QOSA_NW_PI_UINT16 */

    qosa_uint16_t pcid;        /*!< physical cell identity(PhysCellId); 0..503; invalid value: QOSA_NW_PI_UINT16 */

    qosa_uint32_t earfcn;      /*!< E-UTRA carrier frequency(maxEARFCN2); 0..262143; invalid value: QOSA_NW_PI_UINT32 */
    qosa_uint16_t band;        /*!< band; invalid value: QOSA_NW_PI_UINT16 */

    qosa_bool_t is_tdd;        /*!< Whether it is TDD or FDD band, OSA_TRUE means it is TDD */

    qosa_uint8_t ul_bandwidth; /*!< Uplink bandwidth configuration value, parameter value: 0 - 1.4 M, 1 - 3 M, 2 - 5 M, 3 - 10 M, 4 - 15 M, 5 - 20 M */

    qosa_uint8_t dl_bandwidth; /*!< Downlink bandwidth configuration value, parameter value: 0 - 1.4 M, 1 - 3 M, 2 - 5 M, 3 - 10 M, 4 - 15 M, 5 - 20 M */

    qosa_rssi_t rssi;     /*!< Received signal strength indicator; unit: dBm; measurement value*100, range: -10000 ~ -2500; invalid value: QOSA_NW_PI_INT16 */
    qosa_rsrp_t rsrp;     /*!< Reference signal received power; unit: dBm; measurement value*100, range: -15600 ~ -4400; invalid value: QOSA_NW_PI_INT16 */
    qosa_rsrq_t rsrq;     /*!< Reference signal received quality; unit: dB; measurement value*100, range: -3400 ~ -250; invalid value: QOSA_NW_PI_INT16 */
    qosa_sinr_t sinr;     /*!< Signal to interference plus noise ratio; unit: dB; measurement value*100, range: -2300 ~ 4000; invalid value: QOSA_NW_PI_INT16 */

    qosa_srxlev_t srxlev; /*!< Cell selection S value; unit: dB; actual value; range: -; invalid value: QOSA_NW_PI_INT16 */
    qosa_squal_t  squal;  /*!< Cell selection signal quality; unit: dB; actual value; range: -; invalid value: QOSA_NW_PI_INT16 */

    qosa_uint8_t cell_resel_priority; /*!< Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_uint8_t s_non_intra_search;  /*!< Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_uint8_t thresh_serving_low;  /*!< Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_uint8_t s_intra_search;      /*!< Allow invalid, invalid value is QOSA_NW_PI_UINT8 */

    qosa_uint8_t threshX_low;         /*!< Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_uint8_t threshX_high;        /*!< Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    
    qosa_int16_t rx_dbm;              /*!< Received power, unit dbm, actual value*100; Allow invalid, invalid value is QOSA_NW_PI_INT16 */

    qosa_bool_t cell_barred;          /*!< Cell barred access identifier; Allow invalid, invalid value is QOSA_NW_PI_BOOL */

    qosa_int8_t  txpower;             /*!< Current TX power level in dbm, -128 is the invalid value */
    qosa_int32_t txtime;              /*!< Total TX time since last reboot in millisecond */
    qosa_int32_t rxtime;              /*!< Total RX time since last reboot in millisecond */
    qosa_bler_t ul_bler;          /*!< Upload Block Error Rate; invalid value: QOSA_NW_PI_UINT16 */
    qosa_bler_t dl_bler;          /*!< Download Block Error Rate; invalid value: QOSA_NW_PI_UINT16 */
} qosa_nw_lte_param_t;

qosa_nw_nr5g_param_t

typedef struct
{
    qosa_uint64_t cellid; /*!< CellIdentity, NR Cell identity(NCI); BIT STRING (SIZE (36)); invalid value: QOSA_NW_PI_UINT64 */
    qosa_plmn_t
        plmn; /*!< plmn id (MCC, MNC): refers to the struct of plmn; example: "46001" (mcc=460, mnc=01, mnc_digit_num=2); invalid value: 0xFFFF,0xFFFF,0xFF */
    qosa_uint32_t tac;        /*!< tracking area code; BIT STRING (SIZE (24)) ;invalid value: QOSA_NW_PI_UINT32 */

    qosa_uint16_t pcid;       /*!< physical cell identity(PhysCellId); 0..1007; invalid value: QOSA_NW_PI_UINT16 */

    qosa_uint32_t arfcn;      /*!< NR carrier frequency; 0..3279165; invalid value: QOSA_NW_PI_UINT32 */
    qosa_uint16_t band;       /*!< NR frequency band number; 1..1024; invalid value: QOSA_NW_PI_UINT16 */

    qosa_uint8_t duplex_mode; /*!< Duplex mode; 0 - FDD, 1 - TDD; invalid value: QOSA_NW_PI_UINT8 */

    qosa_uint8_t
        ul_bandwidth; /*!< Uplink bandwidth configuration value, parameter value: 0-mhz5, 1-mhz10, 2-mhz15, etc.. ref SupportedBandwidth; invalid value: QOSA_NW_PI_UINT8 */
    qosa_uint8_t
        dl_bandwidth; /*!< Downlink bandwidth configuration value, parameter value: 0-mhz5, 1-mhz10, 2-mhz15, etc.. ref SupportedBandwidth; invalid value: QOSA_NW_PI_UINT8 */

    qosa_uint16_t ul_NRB; /*!< Uplink RB number; invalid value: QOSA_NW_PI_UINT16 */
    qosa_uint16_t dl_NRB; /*!< Downlink RB number; invalid value: QOSA_NW_PI_UINT16 */

    qosa_rsrp_t
        rsrp; /*!< ss_rsrp under 5G: refers to reference signal received power; unit: dBm; measurement value*100, range: -15600 ~ -4400; invalid value: QOSA_NW_PI_INT16 */
    qosa_rsrq_t
        rsrq; /*!< ss_rsrq under 5G: refers to reference signal received quality; unit: dB; measurement value*100, range: -3400 ~ -250; invalid value: QOSA_NW_PI_INT16 */
    qosa_sinr_t
        sinr; /*!< ss_sinr under 5G: refers to signal to interference plus noise ratio; unit: dB; measurement value*100, range: -2300 ~ 4000; invalid value: QOSA_NW_PI_INT16 */
    qosa_uint8_t scs;     /*!< subcarrier spacing; 0..6; ref maxSCSs; invalid value: QOSA_NW_PI_UINT8 */

    qosa_srxlev_t srxlev; /*!< Cell selection level: refers to cell selection S value; unit: dB; actual value; range: -; invalid value: QOSA_NW_PI_INT16 */

    qosa_uint16_t offset_to_point_a;     /*!< offsetToPointA; 0..2199; ref offsetToPointA; invalid value is QOSA_NW_PI_UINT16 */

    qosa_uint8_t ssb_sub_carrier_offset; /*!< ssb-SubcarrierOffset; 0..15; ref ssb-SubcarrierOffset; invalid value is QOSA_NW_PI_UINT8 */
    qosa_uint8_t ssb_scs;                /*!< ssbSubcarrierSpacing; 0..6; ref ssb-maxSCSs; invalid value is QOSA_NW_PI_UINT8 */
#ifdef CONFIG_QOSA_NW_NR_SUPPORT
    qosa_uint16_t allowed_nssai_len;     /*!< Allowed NSSAI length; 0 means invalid */
    char          allowed_nssai[200];    /*!< Allowed NSSAI string */
#endif
} qosa_nw_nr5g_param_t;


qosa_nw_wcdma_param_t

typedef struct
{
    qosa_uint32_t cellid; /*!< CellIdentity; BIT STRING (SIZE (28)); invalid value: QOSA_NW_PI_UINT32 */
    qosa_plmn_t
        plmn; /*!< plmn id (MCC, MNC): refers to the struct of plmn; example: "46001" (mcc=460, mnc=01, mnc_digit_num=2); invalid value: 0xFFFF,0xFFFF,0xFF */
    qosa_uint16_t lac;    /*!< Allow invalid, invalid value: QOSA_NW_PI_UINT16 */
    qosa_uint16_t rac;    /*!< routing area code */

    qosa_uint16_t psc;    /*!< serving cell primary scrambling code */

    qosa_uint16_t uarfcn; /*!< carrier frequency; 0..16383; invalid value: QOSA_NW_PI_UINT16 */
    qosa_uint16_t band;   /*!< band; invalid value: QOSA_NW_PI_UINT16 */

    qosa_ecno_t ecno;     /*!< Ec/Io: Allow invalid; unit: dB; measurement value*100, range: -2400 ~ 0; invalid value: QOSA_NW_PI_INT16 */
    qosa_rscp_t
        rscp; /*!< Received signal code power: Allow invalid; unit: dBm; measurement value*100, range: -12000 ~ -2500; invalid value: QOSA_NW_PI_INT16 */

    /* Not recommended to use these parameters, these parameters are directly uploaded by the platform layer, calculation rules are uncertain */
    qosa_uint16_t rssi_meas;           /*!< rssi measurement value under 3G, unit dBm */
    qosa_uint16_t rssi_report;         /*!< rssi report value under 3G, range 0~31 or 99 means unknown or not detected */
    qosa_uint16_t rssi_rxlev;          /*!< rssi report value under 3G, range 0~63 or 99 means unknown or not detected */

    qosa_uint8_t  is_fdpch;            /*!< Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_uint32_t sf;                  /*!< Allow invalid, invalid value is QOSA_NW_PI_UINT32 */
    qosa_uint8_t  slot_fmt;            /*!< Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_int16_t  speech_code;         /*!< Allow invalid, invalid value is QOSA_NW_PI_INT16 */
    qosa_uint8_t  compressed_mode;     /*!< Allow invalid, invalid value is QOSA_NW_PI_UINT8 */

    qosa_uint8_t  cell_resel_priority; /*!< Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_uint16_t thresh_Xhigh;        /*!< Allow invalid, invalid value is QOSA_NW_PI_UINT16 */
    qosa_uint16_t thresh_Xlow;         /*!< Allow invalid, invalid value is QOSA_NW_PI_UINT16 */
    qosa_srxlev_t srxlev;              /*!< Cell selection S value: Allow invalid; unit: dB; actual value; range: -; invalid value: QOSA_NW_PI_INT16 */
    qosa_int16_t  srxqual;             /*!< Allow invalid; invalid value: QOSA_NW_PI_INT16 */
    qosa_uint16_t set;                 /*!< Allow invalid; invalid value: QOSA_NW_PI_UINT16 */
    qosa_int16_t  rank;                /*!< Allow invalid, invalid value is QOSA_NW_PI_INT16 */

    qosa_bool_t cell_barred;           /*!< Cell barred access identifier; Allow invalid, invalid value is QOSA_NW_PI_BOOL */
} qosa_nw_wcdma_param_t;

qosa_nw_gsm_param_t

typedef struct
{
    qosa_uint32_t cellid; /*!< CellIdentity; BIT STRING (SIZE (28)); invalid value: QOSA_NW_PI_UINT32 */
    qosa_plmn_t
        plmn; /*!< plmn id (MCC, MNC): refers to the struct of plmn; example: "46001" (mcc=460, mnc=01, mnc_digit_num=2); invalid value: 0xFFFF,0xFFFF,0xFF */
    qosa_uint16_t lac;          /*!< Allow invalid, invalid value: QOSA_NW_PI_UINT16 */

    qosa_uint8_t bsic;          /*!< base station identity code; range: 0~63  */

    qosa_uint16_t arfcn;        /*!< carrier frequency; 0..16383; invalid value: QOSA_NW_PI_UINT16 */
    qosa_uint16_t band;         /*!< band; invalid value: QOSA_NW_PI_UINT16 */
    qosa_int32_t ber;           /*!< Allow invalid, invalid value: QOSA_NW_PI_INT32 */
    qosa_signal_level_t
        signal_level;           /*!< Allow invalid, invalid value: QOSA_NW_PI_INT16; received signal strength; unit: dBm; measurement value range: -113 ~ -48 */

    qosa_uint8_t txp;           /*!< Maximum transmission power; Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_uint8_t rla;           /*!< Minimum access level; Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_uint8_t drx;           /*!< Non-continuous reception cycle length; Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_int32_t c1;            /*!< Allow invalid, invalid value is QOSA_NW_PI_INT32 */
    qosa_int32_t c2;            /*!< Allow invalid, invalid value is QOSA_NW_PI_INT32 */
    qosa_int32_t c31;           /*!< Allow invalid, invalid value is QOSA_NW_PI_INT32 */
    qosa_int32_t c32;           /*!< Allow invalid, invalid value is QOSA_NW_PI_INT32 */

    qosa_uint8_t  gprs_support; /* Whether current cell supports GPRS; Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_uint16_t tch;          /*!< Traffic channel; Allow invalid, invalid value is QOSA_NW_PI_UINT16 */
    qosa_uint8_t  ts;           /*!< Time slot number; Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_uint32_t ta;           /*!< Base station time advance; Allow invalid, invalid value is QOSA_NW_PI_UINT32 */
    qosa_uint8_t  maio;         /*!< Mobile allocation pointer offset; Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_uint8_t  hsn;          /*!< Hopping sequence number; Allow invalid, invalid value is QOSA_NW_PI_UINT8 */

    qosa_uint8_t rxqual_full;   /*!< Reception quality at full power transmission; Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_uint8_t rxqual_sub;    /*!< Reception quality at non-continuous transmission; Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_uint8_t rxlev_full;    /*!< Reception level at full power transmission; Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_uint8_t rxlev_sub;     /*!< Reception level at non-continuous transmission; Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_uint8_t dl_chan_mode;  /*!< Allow invalid, invalid value is QOSA_NW_PI_UINT8 */

    qosa_uint8_t cell_resel_priority; /*!< Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_uint8_t thresh_gsm_high;     /*!< Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_uint8_t thresh_gsm_low;      /*!< Allow invalid, invalid value is QOSA_NW_PI_UINT8 */
    qosa_uint8_t ncc_permitted;       /*!< Allow invalid, invalid value is QOSA_NW_PI_UINT8 */

    qosa_srxlev_t srxlev;             /*!< Cell selection S value: Allow invalid; unit: dB; actual value; range: -; invalid value: QOSA_NW_PI_INT16 */
    qosa_int16_t  rank;               /*!< Allow invalid, invalid value is QOSA_NW_PI_INT16 */

    qosa_bool_t cell_barred;          /*!< Cell barred access identifier; Allow invalid, invalid value is QOSA_NW_PI_BOOL */
} qosa_nw_gsm_param_t;

qosa_nw_nssai_list_t

typedef struct
{
    qosa_bool_t     default_present;             /*!< Whether default configuration NSSAI exists flag */
    qosa_nw_nssai_t default_s_nssai;             /*!< Default configuration NSSAI */

    qosa_bool_t     rejected_3gpp_present;       /*!< Whether 3GPP access rejected NSSAI exists flag */
    qosa_nw_nssai_t rejected_3gpp_s_nssai;       /*!< 3GPP access rejected NSSAI */

    qosa_bool_t     rejected_non3gpp_present;    /*!< Whether non-3GPP access rejected NSSAI exists flag */
    qosa_nw_nssai_t rejected_non3gpp_s_nssai;    /*!< Non-3GPP access rejected NSSAI */
    
    qosa_uint8_t    configured_num;              /*!< Number of configured NSSAI */
    qosa_nw_nssai_t configured_s_nssai[10];      /*!< Configured NSSAI array */

    qosa_uint8_t    allowed_3gpp_num;            /*!< Number of 3GPP access allowed NSSAI */
    qosa_nw_nssai_t allowed_3gpp_s_nssai[10];    /*!< 3GPP access allowed NSSAI array */

    qosa_uint8_t    allowed_non3gpp_num;         /*!< Number of non-3GPP access allowed NSSAI */
    qosa_nw_nssai_t allowed_non3gpp_s_nssai[10]; /*!< Non-3GPP access allowed NSSAI array */
} qosa_nw_nssai_list_t;


qosa_plmn_t

typedef struct plmn
{
    qosa_uint16_t mcc;           /*!< mobile country code */
    qosa_uint16_t mnc;           /*!< mobile network code */
    qosa_uint8_t  mnc_digit_num; /*!< digit num of mnc */
} qosa_plmn_t;

qosa_nw_rrc_conn_info_t

typedef struct
{
    qosa_nw_rrc_conn_mode_e   mode;   /*!< RRC connection mode */
    qosa_nw_rrc_state_e       state;  /*!< RRC state */
    qosa_nw_rrc_access_type_e access; /*!< RRC access type */
} qosa_nw_rrc_conn_info_t;

qosa_nw_nssai_t

typedef struct
{
    qosa_uint16_t nssai_len;                /*!< NSSAI length, in bytes, e.g., "01.000000" length is 4 */
    char          data[QOSA_NSSAI_MAX_LEN]; /*!< NSSAI slice string, string format, e.g., "01.000000:01.000000" */

    qosa_bool_t plmn_present;               /*!< Whether PLMN information exists flag */
    qosa_plmn_t plmn;                       /*!< Public land mobile network identifier; example: "46001" (mcc=460, mnc=01, mnc_digit_num=2) */
} qosa_nw_nssai_t;

qosa_nw_lock_freq_t

typedef struct
{
    qosa_uint32_t freq; /*!< Frequency */
    qosa_uint16_t pci;  /*!< Physical Cell ID, invalid value: QOSA_NW_PI_UINT16 */

    qosa_uint8_t  scs;  /*!< subcarrier spacing; 0..6; for nr5g only */
    qosa_uint16_t band; /*!< band; 1..1024; for nr5g only */
} qosa_nw_lock_freq_t;

枚举类型定义

qosa_nw_err_e

typedef enum nw_err
{
    QOSA_NW_ERR_OK = 0,

    QOSA_NW_ERR_OPERATION_NOT_ALLOWED   = 3 | QOSA_ERRCODE_NW_BASE, /*!< operation not allowed */
    QOSA_NW_ERR_OPERATION_NOT_SUPPORTED = 4 | QOSA_ERRCODE_NW_BASE, /*!< operation not supported */
    QOSA_NW_ERR_MEMORY_FULL             = 20 | QOSA_ERRCODE_NW_BASE, /*!< memory full */
    QOSA_NW_ERR_MEMORY_FAILURE          = 23 | QOSA_ERRCODE_NW_BASE, /*!< memory failure */
    QOSA_NW_ERR_INVALID_PARAM           = 53 | QOSA_ERRCODE_NW_BASE, /*!< invalid parameter */
    QOSA_NW_ERR_EXECUTE                 = 1 | (QOSA_ERRCODE_NW_BASE + QOSA_AT_ERR_OFS),
} qosa_nw_err_e;

qosa_nw_act_e

typedef enum
{
    QOSA_NW_ACT_GSM = 0,                        /*!< GSM */
    QOSA_NW_ACT_GSM_COMPACT,                    /*!< GSM compact */
    QOSA_NW_ACT_UTRAN,                          /*!< UTRAN */
    QOSA_NW_ACT_GSM_EGPRS,                      /*!< gsm w/EGPRS */
    QOSA_NW_ACT_UTRAN_HSDPA,                    /*!< UTRAN w/HSDPA  */
    QOSA_NW_ACT_UTRAN_HSUPA,                    /*!< UTRAN w/HSUPA  */
    QOSA_NW_ACT_UTRAN_HSPA,                     /*!< UTRAN w/HSDPA and w/HSUPA */
    QOSA_NW_ACT_EUTRAN = 7,                     /*!< EUTRAN */
    QOSA_NW_ACT_EC_GSM_IOT,                     /*!< EC-GSM-IoT (A/Gb mode) */
    QOSA_NW_ACT_EUTRAN_NB_S1_MODE,              /*!< E-UTRAN (NB-S1 mode) */
    QOSA_NW_ACT_EUTRA_CONNECTED_TO_A_5GCN = 10, /*!< E-UTRA connected to a 5GCN */
    QOSA_NW_ACT_NR_CONNECTED_TO_A_5GCN,         /*!< NR connected to a 5GCN */
    QOSA_NW_ACT_NG_RAN,                         /*!< NG-RAN */
    QOSA_NW_ACT_EUTRA_NR_DUAL_CONNECTIVITY,     /*!< E-UTRA-NR dual connectivity */
    QOSA_NW_ACT_UNKNOWN = 0xff,                 /*!< Unknown act */
} qosa_nw_act_e;

qosa_nw_rat_e

typedef enum
{
    QOSA_NW_RAT_UNKNOWN,
    QOSA_NW_RAT_2G = 1 << QOSA_NW_RAT_BIT_GSM,   /*!< RAT: GSM */
    QOSA_NW_RAT_3G = 1 << QOSA_NW_RAT_BIT_WCDMA, /*!< RAT: WCDMA */
    QOSA_NW_RAT_4G = 1 << QOSA_NW_RAT_BIT_LTE,   /*!< RAT: LTE */
    QOSA_NW_RAT_5G = 1 << QOSA_NW_RAT_BIT_NR5G,  /*!< RAT: NR5G */
} qosa_nw_rat_e;

qosa_nw_oper_name_format_e

typedef enum
{
    QOSA_OPER_NAME_FORMAT_LONG,    /*!< Long string format */
    QOSA_OPER_NAME_FORMAT_SHORT,   /*!< Short string format */
    QOSA_OPER_NAME_FORMAT_NUMERIC, /*!< Numeric format, plmn value */
    QOSA_OPER_NAME_FORMAT_UNKNOWN, /*!< Unknown format */
} qosa_nw_oper_name_format_e;

qosa_nw_nssai_type_e

typedef enum
{
    QOSA_NW_S_NSSAI_DEFAULT,                     /*!< Default NSSAI configuration */
    QOSA_NW_S_NSSAI_DEFAULT_REJECT,              /*!< Default NSSAI configuration rejected */
    QOSA_NW_S_NSSAI_DEFAULT_REJECT_CONFIG,       /*!< Default NSSAI configuration rejected configuration */
    QOSA_NW_S_NSSAI_DEFAULT_REJECT_CONFIG_ALLOW, /*!< Default NSSAI configuration rejected configuration allow */
} qosa_nw_nssai_type_e;

qosa_nw_jdcfg_type_e

typedef enum
{
    QOSA_NW_JDCFG_TYPE_ENUM_NONE = -1,
    QOSA_NW_JDCFG_TYPE_MODE = 0,
    QOSA_NW_JDCFG_TYPE_URC,
    QOSA_NW_JDCFG_TYPE_PERIOD,
    QOSA_NW_JDCFG_TYPE_MINCH,
    QOSA_NW_JDCFG_TYPE_SINR,
    QOSA_NW_JDCFG_TYPE_RXLEV,
    QOSA_NW_JDCFG_TYPE_RSRP,
    QOSA_NW_JDCFG_TYPE_RSRQ,
    QOSA_NW_JDCFG_TYPE_RSSI,
    QOSA_NW_JDCFG_TYPE_SHAKEPERIOD,
    QOSA_NW_JDCFG_TYPE_RSSI_GSM,
    QOSA_NW_JDCFG_TYPE_TDETECT,
    QOSA_NW_JDCFG_TYPE_REPORTINTERVAL,
    QOSA_NW_JDCFG_TYPE_JAMM_DETECT_RESULT,
    QOSA_NW_JDCFG_TYPE_ENUM_MAX
} qosa_nw_jdcfg_type_e;

qosa_nw_reg_status_e

typedef enum
{
    QOSA_NW_NOT_REG = 0,           /*!< Not registered, ME is currently not searching for operators to register with */
    QOSA_NW_REG_HOME = 1,          /*!< Registered, home network */
    QOSA_NW_NOT_REG_SEARCHING = 2, /*!< Not registered, ME is currently searching for operators to register with */
    QOSA_NW_REG_DENIED = 3,        /*!< Registration denied */
    QOSA_NW_REG_UNKNOWN = 4,       /*!< Unknown status */
    QOSA_NW_REG_ROAMING = 5,       /*!< Registered, roaming network */
} qosa_nw_reg_status_e;

qosa_nw_rrc_conn_mode_e

typedef enum
{
    QOSA_NW_RRC_CONN_MODE_IDLE,      /*!< RRC connection idle status */
    QOSA_NW_RRC_CONN_MODE_CONNECTED, /*!< RRC connection established */
} qosa_nw_rrc_conn_mode_e;

qosa_nw_rrc_state_e

typedef enum
{
    QOSA_NW_RRC_UTRAN_URA_PCH_STATE,
    QOSA_NW_RRC_UTRAN_CELL_PCH_STATE,
    QOSA_NW_RRC_UTRAN_CELL_FACH_STATE,
    QOSA_NW_RRC_UTRAN_CELL_DCH_STATE,
    QOSA_NW_RRC_GERAN_CS_CONNECTED_STATE,
    QOSA_NW_RRC_GERAN_PS_CONNECTED_STATE,
    QOSA_NW_RRC_GERAN_CS_AND_PS_CONNECTED_STATE,
    QOSA_NW_RRC_EUTRAN_CONNECTED_STATE,
} qosa_nw_rrc_state_e;

qosa_nw_rrc_access_type_e

typedef enum
{
    QOSA_NW_RRC_ACCESS_TYPE_GERAN,      /*!< GERAN */
    QOSA_NW_RRC_ACCESS_TYPE_UTRAN_TDD,  /*!< UTRAN TDD */
    QOSA_NW_RRC_ACCESS_TYPE_UTRAN_FDD,  /*!< UTRAN FDD */
    QOSA_NW_RRC_ACCESS_TYPE_EUTRAN_TDD, /*!< EUTRAN TDD */
    QOSA_NW_RRC_ACCESS_TYPE_EUTRAN_FDD, /*!< EUTRAN FDD */
} qosa_nw_rrc_access_type_e;

qosa_nw_srv_domain_e

typedef enum
{
    QOSA_NW_SRV_DOMAIN_CS,    /*!< CS domain */
    QOSA_NW_SRV_DOMAIN_PS,    /*!< PS domain */
    QOSA_NW_SRV_DOMAIN_CS_PS, /*!< CS and PS domain */
} qosa_nw_srv_domain_e;

qosa_nw_voice_domain_e

typedef enum
{
    QOSA_NW_VOICE_DOMAIN_CS,              /*!< CS domain only */
    QOSA_NW_VOICE_DOMAIN_IMS_PS,          /*!< IMS PS domain only */
    QOSA_NW_VOICE_DOMAIN_CS_PREFERED,     /*!< CS domain preferred */
    QOSA_NW_VOICE_DOMAIN_IMS_PS_PREFERED, /*!< IMS PS domain preferred */
} qosa_nw_voice_domain_e;

qosa_nw_ue_usage_setting_e

typedef enum
{
    QOSA_NW_UE_USAGE_SETTING_VOICE_CENTRIC, /*!< Voice centric mode */
    QOSA_NW_UE_USAGE_SETTING_DATA_CENTRIC,  /*!< Data centric mode */
    QOSA_NW_UE_USAGE_SETTING_MAX,           /*!< Maximum value */
} qosa_nw_ue_usage_setting_e;

qosa_nw_roaming_pref_e

typedef enum
{
    QOSA_NW_ROAMING_DISABLE = 0,               /*!< Disable roaming function */
    QOSA_NW_ROAMING_ONLY_ON_HOME_NETWORKS = 1, /*!< Only roam on home networks */
    QOSA_NW_ROAMING_ON_AFFILIATE_NETWORKS = 3, /*!< Roam on affiliate networks */
    QOSA_NW_ROAMING_ON_ANY_NETWORK = 255,      /*!< Roam on any network */
} qosa_nw_roaming_pref_e;

qosa_nw_freq_lock_opcode_e

typedef enum
{
    QOSA_NW_LOCK_FREQ_OPCODE_UNLOCK,    /*!< Unlock frequency band */
    QOSA_NW_LOCK_FREQ_OPCODE_LOCK_FREQ, /*!< Lock frequency band */
    QOSA_NW_LOCK_FREQ_OPCODE_LOCK_CELL, /*!< Lock physical cell */
} qosa_nw_freq_lock_opcode_e;

应用示例

示例Demo流程图

../../../../_images/image_RJEgboxRsoflGhxUtRPcRlL7noU.webp

完整示例Demo

请查看https://github.com/UniRTOS/UniRTOS-Doc-Examples/blob/main/network/nic/cellular/cellular_demo.c