The decoder determines the type of an open type value from the component relation constraint information. For example, if you have the ASN.1 syntax:
... Foo ::= SEQUENCE { type TYPE-IDENTIFIER.&Id ({ObjSet}), value TYPE-IDENTIFIER.&Type ({ObjSet}{@type}) } ObjSet ::= { {IA5String IDENTIFIED BY {1 2 3 4 5}} | {BOOLEAN IDENTIFIED BY {1 2 5 } | {INTEGER IDENTIFIED BY {2 1 2 2 4 1 6 }, ... }
then the decoder knows that it should get the value in the type field and use it to do a lookup in the id column of ObjSet (TYPE-IDENTIFIER is defined in Rec. ITU-T X.681 Annex A), and if the value is found, it sets the type identified in the Type column as the type of the open type value.
The samples included with some of the Knowledge Center answers are meant for your general understanding of the OSS products. Different versions of the products might produce slightly different outputs. Consult the products documentation and samples for the most up-to-date products information and code examples.
Test drive the OSS Nokalva ASN.1, LTE, and XML Tools now! Your trial includes complete software, documentation, sample programs, free 24x7 technical support and more.
Our expert personnel can help you learn ASN.1!
We offer 4-day ASN.1 courses at our headquarters or your premises.