The stated purpose of the constraints shown above is to restrict the use of
the $(MONO presentation-context-id), either by itself or within the
context-negotiation, which makes the following the effective abstract
syntax of $(MONO EmbeddedPDV) when using Canonical Encoding Rules or
Distinguished Encoding Rules:
With the constraints applied, the abstract syntax for $(MONO EmbeddedPDV)s encoded
using Canonical Encoding Rules or Distinguished Encoding Rules becomes:
ASN1ValueException if encoded EmbeddedPDV has too few or too many
elements, or if syntaxes or context-negotiation element has
too few or too many elements
Decodes an $(MONO EmbeddedPDV), which is a constructed data type, defined in the https://www.itu.int, International Telecommunications Union's https://www.itu.int/rec/T-REC-X.680/en, X.680.
The specification defines $(MONO EmbeddedPDV) as:
EmbeddedPDV ::= [UNIVERSAL 11] IMPLICIT SEQUENCE { identification CHOICE { syntaxes SEQUENCE { abstract OBJECT IDENTIFIER, transfer OBJECT IDENTIFIER }, syntax OBJECT IDENTIFIER, presentation-context-id INTEGER, context-negotiation SEQUENCE { presentation-context-id INTEGER, transfer-syntax OBJECT IDENTIFIER }, transfer-syntax OBJECT IDENTIFIER, fixed NULL }, data-value-descriptor ObjectDescriptor OPTIONAL, data-value OCTET STRING } (WITH COMPONENTS { ... , data-value-descriptor ABSENT })This assumes $(MONO AUTOMATIC TAGS), so all of the $(MONO identification) choices will be $(MONO CONTEXT-SPECIFIC) and numbered from 0 to 5.
The following additional constraints are applied to the abstract syntax when using Canonical Encoding Rules or Distinguished Encoding Rules, which are also defined in the https://www.itu.int/en/pages/default.aspx, International Telecommunications Union's http://www.itu.int/rec/T-REC-X.690/en, X.690 - ASN.1 encoding rules:
EmbeddedPDV ( WITH COMPONENTS { ... , identification ( WITH COMPONENTS { ... , presentation-context-id ABSENT, context-negotiation ABSENT } ) } )The stated purpose of the constraints shown above is to restrict the use of the $(MONO presentation-context-id), either by itself or within the context-negotiation, which makes the following the effective abstract syntax of $(MONO EmbeddedPDV) when using Canonical Encoding Rules or Distinguished Encoding Rules:
EmbeddedPDV ::= [UNIVERSAL 11] IMPLICIT SEQUENCE { identification CHOICE { syntaxes SEQUENCE { abstract OBJECT IDENTIFIER, transfer OBJECT IDENTIFIER }, syntax OBJECT IDENTIFIER, presentation-context-id INTEGER, context-negotiation SEQUENCE { presentation-context-id INTEGER, transfer-syntax OBJECT IDENTIFIER }, transfer-syntax OBJECT IDENTIFIER, fixed NULL }, data-value-descriptor ObjectDescriptor OPTIONAL, data-value OCTET STRING } ( WITH COMPONENTS { ... , identification ( WITH COMPONENTS { ... , presentation-context-id ABSENT, context-negotiation ABSENT } ) } )With the constraints applied, the abstract syntax for $(MONO EmbeddedPDV)s encoded using Canonical Encoding Rules or Distinguished Encoding Rules becomes:
EmbeddedPDV ::= [UNIVERSAL 11] IMPLICIT SEQUENCE { identification CHOICE { syntaxes SEQUENCE { abstract OBJECT IDENTIFIER, transfer OBJECT IDENTIFIER }, syntax OBJECT IDENTIFIER, transfer-syntax OBJECT IDENTIFIER, fixed NULL }, data-value-descriptor ObjectDescriptor OPTIONAL, data-value OCTET STRING }