0

我正在解析规范 ETSI TS 129 002 (3GPP TS 29.002),其中包含应用程序上下文的类定义:

APPLICATION-CONTEXT ::= CLASS {
   &Symmetric OPERATION-PACKAGE OPTIONAL,
   &InitiatorConsumerOf OPERATION-PACKAGE OPTIONAL,
   &ResponderConsumerOf OPERATION-PACKAGE OPTIONAL,
   &code OBJECT IDENTIFIER }
WITH SYNTAX {
   [ OPERATIONS OF &Symmetric ]
   [ INITIATOR CONSUMER OF &InitiatorConsumerOf
     RESPONDER CONSUMER OF &ResponderConsumerOf ]
     ID &code }

在同一规范中有此类的实例化,例如

resetContext-v3 APPLICATION-CONTEXT ::= {
    -- Responder is VLR or SGSN if Initiator is HLR or CSS 
    INITIATOR CONSUMER OF {
    resetPackage-v3}
 ID {map-ac reset(10) version3(3)} }

据我了解,该课程有两个可选组(OPERATIONS 和 INITIATOR...RESPONDER)和一个必需组(ID)。可选组本身由必需的令牌组成。以这种方式看到它的类的实例化将是无效的,因为缺少响应部分。这两个片段都取自同一个规范,所以我认为它们不应该是无效的。

X.680 中的一个附加声明指出,可选组的第一个标记的出现使该组出现。在这种情况下,令牌 INITIATOR 将标记该组存在。但是随后将缺少所需的令牌 RESPONDER。

在这种情况下,对可选组的正确解释是什么?

4

1 回答 1

1

看起来您的 ASN.1 规范无效。如果 INITIATOR 存在,那么 RESPONDER 必须存在于对象中是正确的。在http://asn1-playground.oss.com上的免费在线编译器中尝试您的规范以确认这一点。

于 2013-03-25T14:45:56.220 回答