Metropoli BBS
VIEWER: p2.xv2 MODE: TEXT (ASCII)
(* $Workfile:   p2.xv2  $  $Revision:   1.22  $ *)

(*****************************************************************************)
(* ASN.1 P2 DATA-TYPE TEMPLATE                                               *)
(*                                                                           *)
(* - Defines:                                                                *)
(*    - IP Message User APDU                                                 *)
(*    - IP Status Report APDU                                                *)
(*                                                                           *)
(* Note:                                                                     *)
(* When receiving from 1984 systems the string fields may exceed their       *)
(* limits defined for 1988 systems. Thus for some fields we have relaxed the *)
(* length limit. Currently the only node for which we have relaxed the limit *)
(* is 2ffnm.                                                                 *)
(*                                                                           *)
(* Note the first character is 0 this is so the P2.TPL file and the P2.XV2   *)
(* file can be used together                                                 *)
(*                                                                           *)
(*****************************************************************************)

(*****************************************************************************)
(* The following nodes need further study:                                   *)
(* - 0ords                                                                   *)
(* - 0hext                                                                   *)
(* - 0null                                                                   *)
(*                                                                           *)
(*****************************************************************************)

InformationObject          LABEL     = 0apdu               T=special case
                           STRUCTURE = CHOICE
                           CHILDREN  = { <0ipdu, C  0 C,O,0>,
                                         <0srdu, C  1 C,O,0> }


(*****************************************************************************)
(* IP Message                                                                *)
(*****************************************************************************)

IPM                        LABEL     = 0ipdu               T=0
                           STRUCTURE = SEQUENCE            C=INTERPERSONAL_MSG
                           CHILDREN  = { <0ihed, U 17 C,M,0>,
                                         <0ibdy, U 16 C,M,0> }

ForwardedIPM               LABEL     = 0fpdu               T=IPM
                           STRUCTURE = SEQUENCE            C=INTERPERSONAL_MSG
                           CHILDREN  = { <0ihed, U 17 C,M,0>,
                                         <0ibdy, U 16 C,M,0> }

(*****************************************************************************)
(* IP Message - HEADING                                                      *)
(*****************************************************************************)

IPMessageHeading           LABEL     = 0ihed
                           STRUCTURE = SET
                           CHILDREN  = { <0ipid, A 11 C,M,0>,
                                         <0orig, C  0 C,O,0>,
                                         <0auth, C  1 C,O,0>,
                                         <0prir, C  2 C,D,0>,
                                         <0cpyr, C  3 C,D,0>,
                                         <0bldr, C  4 C,O,0>,
                                         <0inrp, C  5 C,O,0>,
                                         <0obsl, C  6 C,D,0>,
                                         <0xref, C  7 C,D,0>,
                                         <0subj, C  8 C,O,0>,
                                         <0expd, C  9 P,O,0>,
                                         <0rpby, C 10 P,O,0>,
                                         <0rpto, C 11 C,O,0>,
                                         <0impt, C 12 P,D,0>,
                                         <0sens, C 13 P,O,0>,
                                         <0afwd, C 14 P,D,0>,
                                         <0extn, C 15 C,D,0> }

Extensions Field           LABEL     = 0extn               T=special case
                           STRUCTURE = SET OF
                           CHILDREN  = { <0hext, U 16 C,O,0> }

Heading Extension          LABEL     = 0hext               T=special case
                           STRUCTURE = SEQUENCE
                           CHILDREN  = { <0deft, U 6 P,M,0>*,
                                         <0adby, U 0 P,D,0>  }

Defining type              LABEL     = 0deft               T=special case
                           STRUCTURE = OBJECT IDENTIFIER

Extension Value            LABEL     = 0adby               T=special case
                           STRUCTURE = ANY DEFINED BY
                           DEFGLABEL = 2deft
                           REGISTER  = { <{2 6 1 5 0},0null, U  5 P,0>  ,
                                         <{2 6 1 5 1},0lngs, U 17 C,0>  ,
                                         <P,0pext, U  0 P,0> }

Null                       LABEL     = 0null               T=special case
                           STRUCTURE = NULL

Languages                  LABEL     = 0lngs
                           STRUCTURE = SET OF
                           CHILDREN  = { <0lang, U 19 P,O,2> }

Language                   LABEL     = 0lang               T=LANGUAGES
                           STRUCTURE = PRINTABLE STRING

IPMIdentifier              LABEL     = 0ipid               T=THIS_IPM
                           STRUCTURE = SET                 C=IPM_IDENTIFIER
                           TAG       = (A 11 C)
                           CHILDREN  = { <0user, A  0 C,O,0>,
                                         <0urid, U 19 P,M,64> }

User                       LABEL     = 0user               T=USER
                           STRUCTURE = SEQUENCE            C=MH_C_OR_NAME
                           TAG       = (A 0 C)
                           CHILDREN  = { <dsatt, U 16 C,M,0>E,
                                         <dddal, U 16 C,O,0>,
                                         <dxatl, U 17 C,O,0>,}
                                         <5nam3, C  0 C,O,0> }

LocalIPMIdentifier         LABEL     = 0urid               T=USER_RELATIVE_ID..
                           STRUCTURE = PRINTABLE STRING

Originator                 LABEL     = 0orig               T=ORIGINATOR
                           STRUCTURE = SET                 C=OR_DESCRIPTOR
                           CHILDREN  = { <dornm, A  0 C,O,0>,
                                         <0ffnm, C  0 P,O,0>,
                                         <0teln, C  1 P,O,32> }

ORDescriptor               LABEL     = 0ords               T=RECIPIENT
                           STRUCTURE = SET                 C=OR_DESCRIPTOR
                           CHILDREN  = { <dornm, A  0 C,O,0>,
                                         <0ffnm, C  0 P,O,0>,
                                         <0teln, C  1 P,O,32> }

FreeFormName               LABEL     = 0ffnm               T=FREE_FORM_NAME
                           STRUCTURE = TELETEX STRING

TelephoneNumber            LABEL     = 0teln               T=TELEPHONE_NUMBER
                           STRUCTURE = PRINTABLE STRING

AuthorisingUsers           LABEL     = 0auth
                           STRUCTURE = SEQUENCE OF
                           LIMIT     = 32767
                           CHILDREN  = { <0aord, U 17 C,O,0> }

AuthorisingUser            LABEL     = 0aord               T=AUTHORIZING_USERS
                           STRUCTURE = SET                 C=OR_DESCRIPTOR
                           CHILDREN  = { <dornm, A  0 C,O,0>,
                                         <0ffnm, C  0 P,O,0>,
                                         <0teln, C  1 P,O,32> }

Primary Recipient          LABEL     = 0rcip               T=PRIMARY_RECIPIENTS
                           STRUCTURE = SET                 C=RECIPIENT_SPECIF..
                           CHILDREN  = { <0ords, C  0 C,M,0>,
                                         <0repr, C  1 P,D,0>,
                                         <0rpyr, C  2 P,D,0> }

PrimaryRecipients          LABEL     = 0prir
                           STRUCTURE = SEQUENCE OF
                           LIMIT     = 32767
                           CHILDREN  = { <0rcip, U 17 C,O,0> }

CopyRecipients             LABEL     = 0cpyr
                           STRUCTURE = SEQUENCE OF
                           LIMIT     = 32767
                           CHILDREN  = { <0ccip, U 17 C,O,0> }

Copy Recipient             LABEL     = 0ccip               T=COPY_RECIPIENTS
                           STRUCTURE = SET                 C=RECIPIENT_SPECIF..
                           CHILDREN  = { <0ords, C  0 C,M,0>,
                                         <0repr  C  1 P,D,0>,
                                         <0rpyr, C  2 P,D,0> }

BlindCopyRecipients        LABEL     = 0bldr
                           STRUCTURE = SEQUENCE OF
                           LIMIT     = 32767
                           CHILDREN  = { <0bcip, U 17 C,O,0> }

BlindCopy Recipient        LABEL     = 0bcip               T=BLIND_COPY_RECIP..
                           STRUCTURE = SET                 C=RECIPIENT_SPECIF..
                           CHILDREN  = { <0ords, C  0 C,M,0>,
                                         <0repr  C  1 P,D,0>,
                                         <0rpyr, C  2 P,D,0> }

InReplyTo                  LABEL     = 0inrp               T=REPLIED_TO_IPM
                           STRUCTURE = SET                 C=IPM_IDENTIFIER
                           TAG       = (A 11 C)
                           CHILDREN  = { <0user, A  0 C,O,0>,
                                         <0urid, U 19 P,M,64> }

Obsoletes                  LABEL     = 0obsl
                           STRUCTURE = SEQUENCE OF
                           LIMIT     = 32767
                           CHILDREN  = { <0ipob, A 11 C,O,0> }

ObseletedIPMID             LABEL     = 0ipob               T=OBSOLETED_IPMS
                           STRUCTURE = SET                 C=IPM_IDENTIFIER
                           TAG       = (A 11 C)
                           CHILDREN  = { <0user, A  0 C,O,0>,
                                         <0urid, U 19 P,M,64> }

CrossReferences            LABEL     = 0xref
                           STRUCTURE = SEQUENCE OF
                           LIMIT     = 32767
                           CHILDREN  = { <0ipxr, A 11 C,O,0> }

RelatedIPMID               LABEL     = 0ipxr               T=RELATED_IPMS
                           STRUCTURE = SET                 C=IPM_IDENTIFIER
                           TAG       = (A 11 C)
                           CHILDREN  = { <0user, A  0 C,O,0>,
                                         <0urid, U 19 P,M,64> }

Subject                    LABEL     = 0subj               T=SUBJECT
                           STRUCTURE = TAG
                           TAG       = (C 8 C)
                           CHILDREN  = { <Ctexs, U 20 S,O,256> }

ExpiryDate                 LABEL     = 0expd               T=EXPIRY_TIME
                           STRUCTURE = UTC TIME

ReplyBy                    LABEL     = 0rpby               T=REPLY_TIME
                           STRUCTURE = UTC TIME

ReportRequest              LABEL     = 0repr               T=special case
                           STRUCTURE = BITSTRING

ReplyRequest               LABEL     = 0rpyr               T=REPLY_REQUESTED
                           STRUCTURE = BOOLEAN

ReplyToUsers               LABEL     = 0rpto
                           STRUCTURE = SEQUENCE OF
                           LIMIT     = 32767
                           CHILDREN  = { <0rtus, U 17 C,O,0> }

ORDescriptor               LABEL     = 0rtus               T=REPLY_RECIPIENTS
                           STRUCTURE = SET                 C=OR_DESCRIPTOR
                           CHILDREN  = { <dornm, A  0 C,O,0>,
                                         <0ffnm, C  0 P,O,0>,
                                         <0teln, C  1 P,O,32> }

Importance                 LABEL     = 0impt               T=IMPORTANCE
                           STRUCTURE = ENUMERATED

Sensitivity                LABEL     = 0sens               T=special case
                           STRUCTURE = ENUMERATED

Autoforwarded              LABEL     = 0afwd               T=AUTO_FORWARDED
                           STRUCTURE = BOOLEAN

(*****************************************************************************)
(* IP Message User APDU - BODY                                               *)
(*****************************************************************************)

IPMessageBody              LABEL     = 0ibdy
                           STRUCTURE = SEQUENCE OF
                           LIMIT     = 32767
                           CHILDREN  = { <0bdyp, U  0 P,O,0> }

(*****************************************************************************)
(* Body parts 1 & 10 are 84 P2 only !                                        *)
(*****************************************************************************)
BodyPart                   LABEL     = 0bdyp               T=special case
                           STRUCTURE = CHOICE
                           CHILDREN  = { <0ia5t, C   0 C,O,0>,
                                         <0tlxb, C   1 C,O,0>,
                                         <0g3fx, C   3 C,O,0>,
                                         <0g4c1, C   4 C,O,0>,
                                         <0ttxb, C   5 C,O,0>,
                                         <0vidt, C   6 C,O,0>,
                                         <0natd, C   7 C,O,0>,
                                         <0encr, C   8 C,O,0>,
                                         <0msgb, C   9 C,O,0>,
                                         <0sfdb, C  10 C,O,0>,
                                         <0mixd, C  11 C,O,0>,
                                         <06937, C  13 C,O,0>,
                                         <0bild, C  14 S,O,0>,
                                         <0edef, C  15 C,O,0>,
                                         <0usan, C 310 C,O,0>,
                                         <0unid, U   0 P,O,0> }

Ia5TextParams              LABEL     = 0ia5p
                           STRUCTURE = SET
                           CHILDREN  = { <0rept, C  0 P,D,0> }

Repertoire                 LABEL     = 0rept               T=REPERTOIRE
                           STRUCTURE = ENUMERATED

IA5Text                    LABEL     = 0ia5t               T=BODY
                           STRUCTURE = SEQUENCE            C=IA5_TEXT_BD_PRT
                           TAG       = (C 0 C)
                           CHILDREN  = { <0ia5p, U 17 C,M,0>,
                                         <Cia5s, U 22 S,M,0> }

Bilat defined data         LABEL     = 0bild               T=special case
                           STRUCTURE = OCTET STRING

ExternallyDefinedBodyPart  LABEL     = 0edef               T=BODY
                           STRUCTURE = SEQUENCE            C=EXTERN_DEF_BD_PRT
                           TAG       = (C 15 C)
                           CHILDREN  = { <0epar, C 0 C,O,0>,
                                         <0edat, U 8 C,M,0> }

ExternallyDefinedParams    LABEL     = 0epar               T=special_case
                           STRUCTURE = SEQUENCE
                           CHILDREN  = { <0drfp, U 6 P,M,0>,
                                         <0encd, U 0 P,M,0> }

ExternallyDefinedData      LABEL     = 0edat               T=0
                           STRUCTURE = SEQUENCE
                           TAG       = (U 8 C)
                           CHILDREN  = { <0drfd, U 6 P,M,0>,
                                         <0encd, U 0 P,M,0> }

Direct Reference           LABEL     = 0drfp               T=special_case
                           STRUCTURE = OBJECT IDENTIFIER

Direct Reference           LABEL     = 0drfd               T=special_case
                           STRUCTURE = OBJECT IDENTIFIER

Encoding                   LABEL     = 0encd               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <0asnt, C 0 C,O,0>,
                                         <0octa, C 1 S,O,0>,
                                         <0arbi, C 2 P,O,0> }

Single ASN.1 Type tag      LABEL     = 0asnt
                           STRUCTURE = TAG
                           TAG       = (C 0 C)
                           CHILDREN  = { <0asn1, U 0 P,O,0> }

Single ASN.1 Type          LABEL     = 0asn1               T=special_case
                           STRUCTURE = ANY
                           CHILDREN  = { }

Octet Aligned              LABEL     = 0octa               T=special_case
                           STRUCTURE = OCTETSTRING

Arbitrary                  LABEL     = 0arbi               T=special_case
                           STRUCTURE = BIT STRING

TLX                        LABEL     = 0tlxb               T=special case
                           STRUCTURE = ANY
                           TAG       = (C 1 C)
                           CHILDREN  = {}

USANationallyDefined       LABEL     = 0usan               T=BODY
                           STRUCTURE = SEQUENCE            C=USA_NAT_DEF_BD_PRT
                           TAG       = (C 310 C)
                           CHILDREN  = { <0ubpn, U 2 P,M,0>,
                                         <0udat, U 0 P,M,0> }

USABodyPartNumber          LABEL     = 0ubpn               T=BODY_PART_NUMBER
                           STRUCTURE = INTEGER

USAData                    LABEL     = 0udat               T=special case
                           STRUCTURE = ANY
                           CHILDREN  = {}

Unidentified               LABEL     = 0unid               T=special case
                           STRUCTURE = ANY
                           CHILDREN  = {}

G3Fax                      LABEL     = 0g3fx               T=BODY
                           STRUCTURE = SEQUENCE            C=G3_FAX_BD_PRT
                           TAG       = (C 3 C)
                           CHILDREN  = { <0g3pm, U 17 C,M,0>,
                                         <0g3dt, U 16 C,M,0> }

G3FacsimileParameters      LABEL     = 0g3pm
                           STRUCTURE = SET
                           CHILDREN  = { <0intg, C 0 P,O,0>DE,
                                         <0g3nb, C 1 P,O,0> }

G3NonBasicParams           LABEL     = 0g3nb               T=special case
                           STRUCTURE = BITSTRING

G3FacsimileData            LABEL     = 0g3dt
                           STRUCTURE = SEQUENCE OF
                           CHILDREN  = { <0bits, C 3 P,O,0> }

Bitstring                  LABEL     = 0bits               T=IMAGES
                           STRUCTURE = BITSTRING

G4Class1                   LABEL     = 0g4c1               T=BODY
                           STRUCTURE = SEQUENCE OF         C=G4_CLASS_1_BD_PRT
                           TAG       = (C 4 C)
                           CHILDREN  = { <0g4pe, U 0 P,O,0> }

G4Class1(External)         LABEL     = 0g4c2
                           STRUCTURE = SEQUENCE OF
                           CHILDREN  = { <0g4pe, U 0 P,O,0> }

(*****************************************************************************)
(* G4 PE is not an ANY in ASN.1, but it maps to an encoding in an octet      *)
(* string, so we choose to handle it as an ANY, and just blatt the bytes     *)
(* without regard to their semantics.                                        *)
(*****************************************************************************)
G4ProtocolElement          LABEL     = 0g4pe               T=special case
                           STRUCTURE = ANY
                           CHILDREN  = { }

Teletex                    LABEL     = 0ttxb               T=BODY
                           STRUCTURE = SEQUENCE            C=TELETEX_BD_PRT
                           TAG       = (C 5 C)
                           CHILDREN  = { <0txpm, U 17 C,M,0>,
                                         <0txdt, U 16 C,M,0> }

TeletexParameters          LABEL     = 0txpm
                           STRUCTURE = SET
                           CHILDREN  = { <0intg, C 0 P,O,0>DE,
                                         <0txcp, C 1 P,D,0>,
                                         <0tetx, C 2 C,O,0> }

TeletexData                LABEL     = 0txdt
                           STRUCTURE = SEQUENCE OF
                           CHILDREN  = { <0texs, U 20 S,O,0> }

TeletexDocument            LABEL     = 0ttxd               T=TELETEX_DOCUMENT
                           STRUCTURE = TELETEX STRING

TeletexCompatible          LABEL     = 0txcp               T=TELEX_COMPATIBLE
                           STRUCTURE = BOOLEAN

TeletexNonBasicParams      LABEL     = 0tetx               T=TELETEX_NBPS
                           STRUCTURE = SET                 C=MH_C_TELETEX_NBPS
                           CHILDREN  = { <Mghcs, C  0 P,O,32>,
                                         <Mclcs, C  1 P,O,0> ,
                                         <Mpgfm, C  2 P,O,0> ,
                                         <Mmtmc, C  3 P,O,0> ,
                                         <Mpriu, C  4 P,O,0>  }

Videotex                   LABEL     = 0vidt               T=BODY
                           STRUCTURE = SEQUENCE            C=VIDEOTEX_BD_PRT
                           TAG       = (C 6 C)
                           CHILDREN  = { <0vpar, U 17 C,M,0>,
                                         <0vdat, U 21 P,M,0> }

VideotexData               LABEL     = 0vdat               T=VIDEOTEX_DATA
                           STRUCTURE = VIDEOTEX STRING

VideotexParameters         LABEL     = 0vpar
                           STRUCTURE = SET
                           CHILDREN  = { <0vprm, C 0 P,O,0> }

NationallyDefined          LABEL     = 0natd               T=special case
                           STRUCTURE = ANY
                           TAG       = (C 7 C)
                           CHILDREN  = {}

NationallyDefined2         LABEL     = 0nat2               T=special case
                           STRUCTURE = ANY
                           CHILDREN  = {}

EncryptedBodyPart          LABEL     = 0encr               T=special case
                           STRUCTURE = SEQUENCE
                           TAG       = (C 8 C)
                           CHILDREN  = { <0enpm, U 17 C,M,0>,
                                         <0endt, U  3 P,M,0> }

EncryptedParameters        LABEL     = 0enpm
                           STRUCTURE = ANY
                           TAG       = (U 17 C)
                           CHILDREN  = {}

EncryptedData              LABEL     = 0endt
                           STRUCTURE = BITSTRING

MessageBodyPart            LABEL     = 0msgb               T=BODY
                           STRUCTURE = SEQUENCE            C=MESSAGE_BD_PRT
                           TAG       = (C 9 C)
                           CHILDREN  = { <0mpar, U 17 C,M,0>,
                                         <0fpdu, U 16 C,M,0> }

MessageParameters          LABEL     = 0mpar               T=special case
                           STRUCTURE = SET                 C=MH_C_DELIVERY_EN..
                           CHILDREN  = { <3mdtm, C 0 P,O,0>,
                                         <0omdf, C 1 C,O,0> }

SFD                        LABEL     = 0sfdb               T=special case
                           STRUCTURE = SEQUENCE OF
                           TAG       = (C 10 C)
                           CHILDREN  = { <0pele, U 0 P,O,0> }

ProtocolElement            LABEL     = 0pele               T=special case
                           STRUCTURE = CHOICE
                           CHILDREN  = { <0txtu, C 3 C,O,0>,
                                         <0logd, C 5 C,O,0> }

TextUnit                   LABEL     = 0txtu
                           STRUCTURE = SEQUENCE
                           CHILDREN  = { <0cpat, U 16 C,M,0>,
                                         <0txti, U  0 P,M,0> }

ContentPortionAttr         LABEL     = 0cpat
                           STRUCTURE = SET
                           CHILDREN  = {}

TextInformation            LABEL     = 0txti
                           STRUCTURE = CHOICE
                           CHILDREN  = { <0ttxd, U 20 P,O,0> }

LogicalDescriptor          LABEL     = 0logd
                           STRUCTURE = SEQUENCE
                           CHILDREN  = { <0lobt, U  2 P,M,0>,
                                         <0lgdb, U 17 C,M,0> }

LogicalObjectType          LABEL     = 0lobt
                           STRUCTURE = INTEGER

LogicalDescriptorBody      LABEL     = 0lgdb
                           STRUCTURE = SET
                           CHILDREN  = { <0pghd, C 3 P,O,0>,
                                         <0lytd, C 4 C,O,0>,
                                         <0prsd, C 5 C,O,0>,
                                         <0dfvs, C 6 C,O,0> }

PageHeading                LABEL     = 0pghd
                           STRUCTURE = TELETEX STRING

LayoutDirectives           LABEL     = 0lytd
                           STRUCTURE = SET
                           CHILDREN  = { <0offt, C 0 C,O,0>,
                                         <0offt, C 3 C,O,0> }

Offset                     LABEL     = 0offt
                           STRUCTURE = CHOICE
                           CHILDREN  = { <0intg, U 2 P,O,0> }

PresentationDirectives     LABEL     = 0prsd
                           STRUCTURE = SET
                           CHILDREN  = { <0algn, C 0 P,O,0>,
                                         <0gphr, C 1 C,O,0> }

Alignment                  LABEL     = 0algn
                           STRUCTURE = INTEGER

GraphicRendition           LABEL     = 0gphr
                           STRUCTURE = SEQUENCE OF
                           CHILDREN  = { <0gpha, U 2 P,O,0> }

GraphicRenditionAspect     LABEL     = 0gpha
                           STRUCTURE = INTEGER

LogicalDescriptor          LABEL     = 0dfvs
                           STRUCTURE = SEQUENCE
                           CHILDREN  = { <0dfvl, U 0 P,M,0> }

DefaultValueList           LABEL     = 0dfvl
                           STRUCTURE = CHOICE
                           CHILDREN  = { <0para, C 1 C,M,0> }

ParagraphAttributes        LABEL     = 0para
                           STRUCTURE = SET
                           CHILDREN  = { <0lytd, C 0 C,M,0> }

MixedModeBodyPart          LABEL     = 0mixd               T=BODY
                           STRUCTURE = SEQUENCE OF         C=MIXED_MODE_BD_PRT
                           TAG       = (C 11 C)
                           CHILDREN  = { <0mmpe, U 0 P,O,0> }

MixedModeBodyPart          LABEL     = 0mix2
                           STRUCTURE = SEQUENCE OF
                           TAG       = (C 11 C)
                           CHILDREN  = { <0mmpe, U 0 P,O,0> }

(*****************************************************************************)
(* See comment for G4 PE.                                                    *)
(*****************************************************************************)
MixedModeProtocolElement   LABEL     = 0mmpe               T=special case
                           STRUCTURE = ANY
                           CHILDREN  = { }

ISO6937BodyPart            LABEL     = 06937               T=BODY
                           STRUCTURE = SEQUENCE            C=ISO_6937_TEXT_BD_
                           TAG       = (C 13 C)
                           CHILDREN  = { <0693p, U 17 C,M,0>,
                                         <0693d, U 16 C,M,0> }

ISO6937Parameters          LABEL     = 0693p
                           STRUCTURE = SET
                           CHILDREN  = { <0rept, C 0 P,D,0> }

ISO6937Data                LABEL     = 0693d               T=special case
                           STRUCTURE = SEQUENCE OF
                           CHILDREN  = { <0693c, U 0 P,O,0> }

ISO6937Choice              LABEL     = 0693c               T=special case
                           STRUCTURE = CHOICE
                           CHILDREN  = { <0693s, C  0 C,O,0>,
                                         <0693l, C  0 P,O,0> }

ISO6937 from Softswitch    LABEL     = 0693s               T=special case
                           STRUCTURE = SEQUENCE
                           TAG       = (C 0 C)
                           CHILDREN  = { <0693l, U  4 P,O,0> }

ISO6937Line                LABEL     = 0693l               T=special case
                           STRUCTURE = OCTET STRING

GeneralTextParameters      LABEL     = 0genp
                           STRUCTURE = SET OF
                           CHILDREN  = { <0char, U 2 P,O,0> }

GeneralTextData            LABEL     = 0gend               T=GENERAL_TEXT_DATA
                           STRUCTURE = GENERAL STRING

CharacterSetRegistration   LABEL     = 0char               T=CHAR_SET_REG
                           STRUCTURE = INTEGER

FileTransferParameters     LABEL     = 0ftrp
                           STRUCTURE = SEQUENCE
                           CHILDREN  = { <0dnt1, C 0 C,O,0>,
                                         <0cnty, C 1 C,D,0>,
                                         <0envr, C 2 C,O,0>,
                                         <0dnt2, C 3 C,O,0>,
                                         <0flat, C 4 C,O,0>,
                                         <0dnt3, C 5 C,D,0> }

DontCareTag                LABEL     = 0dnt1
                           STRUCTURE = TAG
                           TAG       = (C 0 C)
                           CHILDREN  = { <0dntc, U 0 P,O,0> }

DontCareTag                LABEL     = 0dnt2
                           STRUCTURE = TAG
                           TAG       = (C 3 C)
                           CHILDREN  = { <0dntc, U 0 P,O,0> }

DontCareTag                LABEL     = 0dnt3
                           STRUCTURE = TAG
                           TAG       = (C 5 C)
                           CHILDREN  = { <0dntc, U 0 P,O,0> }

ContentsType               LABEL     = 0cnty               T=special_case
                           STRUCTURE = CHOICE
                           TAG       = (C 1 C)
                           CHILDREN  = { <0doct, C 0 C,O,0>,
                                         <0csas, C 1 C,O,0> }

DocumentType               LABEL     = 0doct               T=DOCUMENT_TYPE
                           STRUCTURE = SEQUENCE            C=DOCUMENT_TYPE
                           TAG       = (C 0 C)
                           CHILDREN  = { <0dctn, U  6 P,M,0>,
                                         <0dctp, C  0 C,O,0> }

DocumentTypeName           LABEL     = 0dctn               T=DOCUMENT_TYPE_NAME
                           STRUCTURE = OBJECT IDENTIFIER

DocumentTypeParameter      LABEL     = 0dctp               T=special_case
                           STRUCTURE = ANY
                           TAG       = (C 0 C)
                           CHILDREN  = { }

ConstraintSetAndAbsSyn     LABEL     = 0csas
                           STRUCTURE = SEQUENCE
                           TAG       = (C 1 C)
                           CHILDREN  = { <Cobid, U 6 P,M,0>,
                                         <Cobid, U 6 P,M,0> }

EnvironmentParameter       LABEL     = 0envr
                           STRUCTURE = SEQUENCE
                           TAG       = (C 2 C)
                           CHILDREN  = { <0aprf, C 0 C,O,0>,
                                         <0mach, C 1 C,O,0>,
                                         <0opsy, C 2 P,O,0>,
                                         <0usvs, C 3 C,O,0> }

ApplicationReference       LABEL     = 0aprf               T=special case
                           STRUCTURE = CHOICE
                           TAG       = (C 0 C)
                           CHILDREN  = { <0regi, C 0 P,O,0>,
                                         <0desi, C 1 C,O,0> }

RegisteredIdentifier       LABEL     = 0regi               T=ENV_APP_REFERENCE
                           STRUCTURE = OBJECT IDENTIFIER

DescriptiveIdentifier      LABEL     = 0desi
                           STRUCTURE = SEQUENCE OF
                           TAG       = (C 1 C)
                           CHILDREN  = { <Cgphs, U 25 P,O,0> }

Machine                    LABEL     = 0mach               T=special case
                           STRUCTURE = CHOICE
                           TAG       = (C 1 C)
                           CHILDREN  = { <0regi, C 0 C,O,0> ,
                                         <0desi, C 1 C,O,0> }

OperatingSystem            LABEL     = 0opsy
                           STRUCTURE = OBJECT IDENTIFIER

DescriptiveIdentifier      LABEL     = 0usvs
                           STRUCTURE = SEQUENCE OF
                           TAG       = (C 3 C)
                           CHILDREN  = { <0usrv, U 25 P,O,0> }

GraphicString              LABEL     = 0usrv               T=ENV_USER_VISIBLE
                           STRUCTURE = GRAPHIC STRING

FileAttributes             LABEL     = 0flat               T=FILE_ATTRIBUTES
                           STRUCTURE = SEQUENCE            C=FILE_ATTRIBUTES
                           TAG       = (C 4 C)
                           CHILDREN  = { <0ptha, U  0 P,O,0>,
                                         <0dnt4, C  1 P,O,0>,
                                         <0dnt5, C  3 C,O,0>,
                                         <0dnt6, C  4 C,O,0>,
                                         <0dnt7, C  5 C,O,0>,
                                         <0dnt8, C  6 P,O,0>,
                                         <0dnt9, C  8 P,O,0>,
                                         <0dnta, C  9 P,O,0>,
                                         <0dntb, C 10 P,O,0>,
                                         <0objs, C 13 C,O,0>,
                                         <0dntd, C 14 C,O,0>,
                                         <0dnte, C 15 C,O,0>,
                                         <0dntf, C 16 C,O,0>,
                                         <0dntg, C 17 C,O,0>,
                                         <0dnth, C 22 C,O,0> }

DontCareTag                LABEL     = 0dnt4
                           STRUCTURE = TAG
                           TAG       = (C 1 P)
                           CHILDREN  = { <0dntc, U 0 P,O,0> }

DontCareTag                LABEL     = 0dnt5
                           STRUCTURE = TAG
                           TAG       = (C 3 C)
                           CHILDREN  = { <0dntc, U 0 P,O,0> }

DontCareTag                LABEL     = 0dnt6
                           STRUCTURE = TAG
                           TAG       = (C 4 C)
                           CHILDREN  = { <0dntc, U 0 P,O,0> }

DontCareTag                LABEL     = 0dnt7
                           STRUCTURE = TAG
                           TAG       = (C 5 C)
                           CHILDREN  = { <0dntc, U 0 P,O,0> }

DontCareTag                LABEL     = 0dnt8
                           STRUCTURE = TAG
                           TAG       = (C 6 P)
                           CHILDREN  = { <0dntc, U 0 P,O,0> }

DontCareTag                LABEL     = 0dnt9
                           STRUCTURE = TAG
                           TAG       = (C 8 P)
                           CHILDREN  = { <0dntc, U 0 P,O,0> }

DontCareTag                LABEL     = 0dnta
                           STRUCTURE = TAG
                           TAG       = (C 9 P)
                           CHILDREN  = { <0dntc, U 0 P,O,0> }

DontCareTag                LABEL     = 0dntb
                           STRUCTURE = TAG
                           TAG       = (C 10 P)
                           CHILDREN  = { <0dntc, U 0 P,O,0> }

DontCareTag                LABEL     = 0dntd
                           STRUCTURE = TAG
                           TAG       = (C 14 C)
                           CHILDREN  = { <0dntc, U 0 P,O,0> }

DontCareTag                LABEL     = 0dnte
                           STRUCTURE = TAG
                           TAG       = (C 15 C)
                           CHILDREN  = { <0dntc, U 0 P,O,0> }

DontCareTag                LABEL     = 0dntf
                           STRUCTURE = TAG
                           TAG       = (C 16 C)
                           CHILDREN  = { <0dntc, U 0 P,O,0> }

DontCareTag                LABEL     = 0dntg
                           STRUCTURE = TAG
                           TAG       = (C 17 C)
                           CHILDREN  = { <0dntc, U 0 P,O,0> }

DontCareTag                LABEL     = 0dnth
                           STRUCTURE = TAG
                           TAG       = (C 22 C)
                           CHILDREN  = { <0dntc, U 0 P,O,0> }

PathnameAttribute          LABEL     = 0ptha               T=special case
                           STRUCTURE = CHOICE
                           CHILDREN  = { <0pthi, C 0  C,O,0> ,
                                         <0pthc, C 23 C,O,0> }

IncompletePathname         LABEL     = 0pthi
                           STRUCTURE = SEQUENCE OF
                           TAG       = (C 0 C)
                           CHILDREN  = { <0pthn, U 25 P,O,0> }

CompletePathname           LABEL     = 0pthc
                           STRUCTURE = SEQUENCE OF
                           TAG       = (C 23 C)
                           CHILDREN  = { <0pthn, U 25 P,O,0> }

PathName                   LABEL     = 0pthn               T=PATHNAME
                           STRUCTURE = GRAPHIC STRING

ObjectSize                 LABEL     = 0objs               T=special case
                           STRUCTURE = CHOICE
                           TAG       = (C 13 C)
                           CHILDREN  = { <Cnull, C 0 P,O,0>,
                                         <0actv, C 1 P,O,0> }

ActualValue                LABEL     = 0actv               T=OBJECT_SIZE
                           STRUCTURE = INTEGER

(*****************************************************************************)
(* FileTransferData is actually a SEQUENCE OF, but this causes problems with *)
(* multi-valuedness at a lower node.  Since the EMA says there should only   *)
(* be a single value anyway, this is most easily solved by making it just a  *)
(* SEQUENCE here (and produces the same ASN.1).                              *)
(*****************************************************************************)
FileTransferData           LABEL     = 0ftrd
                           STRUCTURE = SEQUENCE
                           CHILDREN  = { <0ftex, U 8 C,O,0> }

FileTransferDataExternal   LABEL     = 0ftex
                           STRUCTURE = SEQUENCE
                           TAG       = (U 8 C)
                           CHILDREN  = { <0ftdr, U 6 P,M,0>,
                                         <0ften, C 1 S,O,0> }

FileTransferDataDirectRef  LABEL     = 0ftdr               T=special case
                           STRUCTURE = OBJECT IDENTIFIER

FileTransferDataEncoding   LABEL     = 0ften               T=FILE_TRANSFER_DATA
                           STRUCTURE = OCTET STRING        C=encoding

DontCare                   LABEL     = 0dntc               T=special_case
                           STRUCTURE = ANY
                           CHILDREN  = { }

ExternalIA5Params          LABEL     = 0eiap               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <0ia5p, U 17 C,O,0> }

ExternalIA5Data            LABEL     = 0eiad               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <Cia5s, U 22 S,O,0> }

ExternalBilDefData         LABEL     = 0ebld               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <0bild, C 14 S,O,0> }

ExternalG3Params           LABEL     = 0eg3p               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <0g3pm, U 17 C,O,0> }

ExternalG3Data             LABEL     = 0eg3d               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <0g3dt, U 16 C,O,0> }

ExternalG4Data             LABEL     = 0eg4d               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <0g4c2, U 16 C,O,0> }

ExternalMessageParams      LABEL     = 0emsp               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <0mpar, U 17 C,O,0> }

ExternalMessageData        LABEL     = 0emsd               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <0fpdu, U 16 C,O,0> }

ExternalMixedModeData      LABEL     = 0emmd               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <0mix2, U 16 C,O,0> }

ExternalNatDefData         LABEL     = 0endd               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <0nat2, U  0 P,O,0> }

ExternalTeletexParams      LABEL     = 0etlp               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <0txpm, U 17 C,O,0> }

ExternalTeletexData        LABEL     = 0etld               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <0txdt, U 16 C,O,0> }

ExternalVideotexParams     LABEL     = 0evtp               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <0vpar, U 17 C,O,0> }

ExternalVideotexData       LABEL     = 0evtd               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <0vdat, U 21 P,O,0> }

ExternalGenTextParams      LABEL     = 0egnp               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <0genp, U 17 C,O,0> }

ExternalGenTextData        LABEL     = 0egnd               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <0gend, U 27 P,O,0> }

ExternalFTAMParams         LABEL     = 0eftp               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <0ftrp, U 16 C,O,0> }

ExternalFTAMData           LABEL     = 0eftd               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <0ftrd, U 16 C,O,0> }

(*****************************************************************************)
(* IP Notification                                                           *)
(*****************************************************************************)

IPN                        LABEL     = 0srdu
                           STRUCTURE = SET
                           CHILDREN  = { <0rcho, C  0 C,M,0>,
                                         <0ipsb, A 11 C,M,0>,
                                         <0actr, C  1 C,O,0>,
                                         <0ntdr, C  2 C,O,0>,
                                         <0eits, A  5 C,O,0> }

EncodedInformationTypes    LABEL     = 0eits               T=CONVERSION_EITS
                           STRUCTURE = SET                 C=MH_C_EITS
                           CHILDREN  = { <Mbeit, C  0 P,M,32> ,
                                         <Mg3nb, C  1 P,D,0> D,
                                         <Mtetx, C  2 C,D,0> D,
                                         <Mg4c1, C  3 C,O,0> D,
                                         <Meeit, C  4 C,O,0> D }

IPMessageID                LABEL     = 0ipsb               T=SUBJECT_IPM
                           STRUCTURE = SET                 C=IPM_IDENTIFIER
                           TAG       = (A 11 C)
                           CHILDREN  = { <0user, A  0 C,O,0>,
                                         <0urid, U 19 P,M,64> }

RecipientChoice            LABEL     = 0rcho               T=special case
                           STRUCTURE = CHOICE
                           TAG       = (C 0 C)
                           CHILDREN  = { <0nrif, C  0 C,O,0>,
                                         <0rcif, C  1 C,O,0> }

NonReceiptFields           LABEL     = 0nrif               T=special case
                           STRUCTURE = SET
                           CHILDREN  = { <0reas, C  0 P,M,0>,
                                         <0nrql, C  1 P,O,0>,
                                         <0afcm, C  2 S,O,256>,
                                         <0rpdu, C  3 C,O,0> }

Returned IPM               LABEL     = 0rpdu               T=RETURNED_IPM
                           STRUCTURE = SEQUENCE            C=INTERPERSONAL_MSG
                           CHILDREN  = { <0ihed, U 17 C,M,0>,
                                         <0ibdy, U 16 C,M,0> }

ReceiptFields              LABEL     = 0rcif
                           STRUCTURE = SET
                           CHILDREN  = { <0rctm, C  0 P,M,0>,
                                         <0ackm, C  1 P,D,0>,
                                         <0rinf, C  2 P,D,256> }

ReceiptTimeField           LABEL     = 0rctm               T=RECEIPT_TIME
                           STRUCTURE = UTC TIME

AcknowledegmentModeField   LABEL     = 0ackm               T=ACKNOWLEDGEMENT_..
                           STRUCTURE = ENUMERATED

SupplReceiptInfoField      LABEL     = 0rinf               T=SUPPLEMENTARY_RE..
                           STRUCTURE = PRINTABLE STRING

IPN Originator             LABEL     = 0actr               T=IPN_ORIGINATOR
                           STRUCTURE = SET                 C=OR_DESCRIPTOR
                           CHILDREN  = { <dornm, A  0 C,O,0>,
                                         <0ffnm, C  0 P,O,0>,
                                         <0teln, C  1 P,O,32> }

IntendedRecipient          LABEL     = 0ntdr               T=IPM_INTENDED_REC..
                           STRUCTURE = SET                 C=OR_DESCRIPTOR
                           CHILDREN  = { <dornm, A  0 C,O,0>,
                                         <0ffnm, C  0 P,O,0>,
                                         <0teln, C  1 P,O,32> }

Auto-forwardComment        LABEL     = 0afcm               T=AUTO_FORWARD_COM..
                           STRUCTURE = PRINTABLE STRING

TeletexString              LABEL     = 0texs               T=TELETEX_DOCUMENT
                           STRUCTURE = TELETEX STRING

NonRecepitReason           LABEL     = 0reas               T=NON_RECEIPT_REASON
                           STRUCTURE = ENUMERATED

Discard Reason             LABEL     = 0nrql               T=special case
                           STRUCTURE = ENUMERATED

VideoSyntaxParameter       LABEL     = 0vprm               T=VIDEOTEX_SYNTAX
                           STRUCTURE = INTEGER

Unknown Extensions         LABEL     = 0pext               T=special_case
                           STRUCTURE = ANY
                           CHILDREN  = { }

(*****************************************************************************)
(* Nodes copied from P3.TPL and X400COM.TPL to allow Conversion to encode    *)
(* Delivery Envelope (ie. by ref to RDI.XV2, not RDI.TPL)                    *)
(*****************************************************************************)
OtherMessageDeliveryFields LABEL     = 0omdf
                           STRUCTURE = SET
                           CHILDREN  = { <Mdcnt, U  0 P,M,0> ,
                                         <03ori, A  0 C,M,0> ,
                                         <Meits, C  1 C,O,0> ,
                                         <Mprio, A  7 P,D,0> ,
                                         <3dflg, C  2 P,O,16>,
                                         <3orcp, C  3 C,O,0> ,
                                         <0trcp, C  4 C,M,0> ,
                                         <Mircp, C  5 C,O,0> ,
                                         <Mceit, C  6 C,O,0> ,
                                         <3mstm, C  7 P,M,0> ,
                                         <Mcnti, C  8 P,O,16>,
                                         <3dxtf, C  9 C,D,0>  }

OriginatorName             LABEL     = 03ori
                           STRUCTURE = SEQUENCE
                           CHILDREN  = { <dsatt, U 16 C,M,0>E,
                                         <dddal, U 16 C,O,0>,
                                         <dxatl, U 17 C,O,0>,}
                                         <5nam3, C  0 C,O,0> }

ThisRecipientName          LABEL     = 0trcp
                           STRUCTURE = SEQUENCE
                           CHILDREN  = { <dsatt, U 16 C,M,0>E,
                                         <dddal, U 16 C,O,0>,
                                         <dxatl, U 17 C,O,0>,}
                                         <5nam3, C  0 C,O,0> }

GeneralInteger             LABEL     = 0intg
                           STRUCTURE = INTEGER

!
[ RETURN TO DIRECTORY ]