Интерпретация ASN.1 optionalGroup в определенном синтаксисе

Я разбираю спецификацию 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). Необязательная группа сама состоит из обязательных токенов. В таком случае создание экземпляра класса будет недействительным, поскольку часть RESPONDER отсутствует. Оба фрагмента взяты из одной и той же спецификации, поэтому я предполагаю, что они не должны быть недействительными.

Дополнительный оператор в X.680 утверждает, что появление первого маркера необязательной группы делает группу присутствующей. В этом случае токен INITIATOR помечает присутствующую группу. Но тогда требуемый токен RESPONDER будет отсутствовать.

Какова правильная интерпретация дополнительной группы в этом контексте?


person Norbert Hartl    schedule 21.03.2013    source источник


Ответы (1)


Похоже, у вас неверная спецификация ASN.1. Вы правы в том, что RESPONDER должен присутствовать в объекте, если присутствует INITIATOR. Попробуйте свою спецификацию в бесплатном онлайн-компиляторе по адресу http://asn1-playground.oss.com, чтобы убедиться в этом. .

person Paul Thorpe    schedule 25.03.2013
comment
Спасибо. Трудно поверить, что эта ситуация верна для отраслевого стандарта для сетей GSM. До сих пор я просто находил такие вещи, как отсутствующий экспорт/импорт и тому подобное. Это как-то более радикально. У меня также есть новый вопрос :) Заголовок ="Какова эффективная среда тегов в случае импортированного типа"> stackoverflow.com/questions/15624838/ - person Norbert Hartl; 26.03.2013