5G核心网学习平台
精华帖 #14

ASN.1中的Criticality参数属性如何理解?

来自知识星球

ASN.1中的Criticality参数属性如何理解?

ASN.1在3GPP中有广泛的应用,比如36413的S1AP,空口RRC协议、38413的NGAP协议以及话单CDR

ASN.1有自己的一些特殊格式、语法要求。

这里说下Criticality、Assigned Criticality和Criticality Information的区别。

首先,Criticality和Assigned Criticality都不是协议的参数,而是参数的属性。

例如:S1AP消息Initial UE Message消息;

- 第1列叫IE或者Group:这一列每一行都是一个IE,也就是我们口头所说的参数。比如TAI、NAS-PDU

- 右侧有两列就是我们说的参数的属性Criticality和Assigned Criticality。

Criticality和Assigned Criticality分别在9.1.2.2节和9.1.2.2节中定义。

另外还有一个配套的叫Criticality Information,在10.3.2节定义。

1. 需要先从10.3.2节看起,Criticality Information的定义。

- 简单来说,就是定义了接收方在收到了无法理解/识别的参数时,并且这个参数又被打上了关键参数(我

把Criticality Information翻译成关键参数),那接收方应该如何处理。

- 接收方有三种选择,拒绝、忽略并且通知发送端、忽略。

2. 再看9.1.2.2节Criticality的定义。

- 这个就简单了。就是有3种取值,如果取值为yes,那这个参数就是关键参数。

- "GLOBAL":表示信息元素及其所有重复的实例共享相同的criticality信息,但仅适用于可重复的信息元

- "EACH":表示每个信息元素重复的实例都有自己的criticality信息,并且不允许将不同的criticality值分配

给重复的实例。这仅适用于可重复的信息元素。

【我们不管它,常见的就是YES这个取值。】

3 再看9.1.2.4 Assigned Criticality节,只有一句话。

- 这个就是让我们回到10.3.2节,对10.3.2的取值的一个引用。所以取值和10.3.2节是一样的。

最后,再看这个综合实例,就简单了。

- TAI这个参数为例,Criticality列取值为YES,表示是关键参数。

- 再看Assigned Criticality这一列,取值为reject。也就是说接收端如果不能识别TAI这个参数,那接受段会

拒绝这个消息(initial ue message。)

- 总结下:这里的发送端是eNB,也就是说eNB给MME发initial ue message消息,里边带了TAI,带TAI的

格式、长度、语法等等有问题,导致MME无法识别。MME将拒绝这个参数。因为取值是reject。如果取值

为ignore,则可以忽略这个参数,不至于拒绝。

涵盖了5G核心网、IMS绝大多数知识点。

返回精华帖列表