Hi, Please look at X.690 for the second description of EXTERNAL. Although the compiler should parse EXTERNAL as specified in X.680, encoders/decoders should use the structure specified in X.690. This was necessary to maintain backward compatibility with encodings using the 1990 version of the ASN.1 standards.
---------------------------------------------------------------------------- Paul E. Thorpe Toll Free : 1-888-OSS-ASN1 OSS Nokalva International: 1-732-302-0750 Email: [EMAIL PROTECTED] Tech Support : 1-732-302-9669 http://www.oss.com Fax : 1-732-302-0023 On Thu, 30 Oct 2003, Ramaswamy Ranganathan wrote: > Hi, > I have the following query regarding the EXTERNAL type. In the ITU-T X.680 34.5 > the EXTERNAL type is said to be defined as follows - > > > ------------------------------------------------------------------------ > > EXTERNAL ::= > [UNIVERSAL 8] IMPLICIT SEQUENCE > { > identification CHOICE > { > syntaxes SEQUENCE > { > abstract OBJECT > IDENTIFIER, > transfer OBJECT > IDENTIFIER > }, > syntax OBJECT IDENTIFIER, > presentation-context-id INTEGER, > context-negatiation 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 > { > ..., > syntaxes ABSENT, > transfer-syntax ABSENT, > fixed ABSENT > }) > }) > > ------------------------------------------------------------------------ > > In contrary to this most materials on the web details the following as the > representation of EXTERNAL - > > > ------------------------------------------------------------------------ > > EXTERNAL ::= > [UNIVERSAL 8] IMPLICIT SEQUENCE > { > direct-reference OBJECT IDENTIFIER OPTIONAL, > indirect-reference INTEGER OPTIONAL, > data-value-descriptor ObjectDescriptor OPTIONAL, > encoding CHOICE > { > single-ASN1-type [0] TYPE-IDENTIFIER-1.&Type, > octet-aligned [1] IMPLICIT OCTET STRING, > arbitrary [2] IMPLICIT BIT STRING > } > } > > ------------------------------------------------------------------------ > > In almost all the materials the newer one have been discussed. When is the 1st > one applicable and when the 2nd? If one were to use the newer representation, then a > previous version of the protocol using it would not be able to interpret it > completely. How is this taken into account. Thanking you. > > Yours Sincerely > Ramaswamy > >
