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
> 
> 

Reply via email to