-- Module EDIMUseOfDirectory (X.435:06/1999)
-- See also ITU-T X.435 (06/1999)
-- See also the index of all ASN.1 assignments needed in this document

EDIMUseOfDirectory {joint-iso-itu-t mhs(6) edims(7) modules(0)
  edi-directory-cl-att(6) version(2)} DEFINITIONS IMPLICIT TAGS ::=
BEGIN

--	Prologue
--	Exports everything
IMPORTS
  --	EDIMS Object Identifiers
  ID, id-dir
    --==
    FROM EDIMSObjectIdentifiers {joint-iso-itu-t mhs(6) edims(7) modules(0)
      object-identifiers(0) version(2)}
  --	EDIMS Information Objects
  EDIBodyPartType, EDIMessageTypeFieldSubField, SyntaxIdentifier, SyntaxVersion
    --==
    FROM EDIMSInformationObjects {joint-iso-itu-t mhs(6) edims(7) modules(0)
      information-objects(2) version(2)}
  --	EDIMS Upper bounds
  ub-edi-association-assigned-code, ub-edi-controlling-agency,
    ub-edi-document-release, ub-edi-document-version,
    ub-edi-string-size -- please check this value
    --==
    FROM EDIMSUpperBounds {joint-iso-itu-t mhs(6) edims(7) modules(0)
      upper-bounds(5)}
  --	MHS Directory Object Classes and Attributes
  mhs-user, mhs-user-agent, mhs-message-store
    --==
    FROM MHSDirectoryObjectsAndAttributes {joint-iso-itu-t mhs(6) arch(5)
      modules(0) directory(1) version-1999(1)}
  --	Information Framework
  ATTRIBUTE, OBJECT-CLASS, top
    --==
    FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
      informationFramework(1) 3}
  --	Selected Object Classes
  applicationEntity
    --==
    FROM SelectedObjectClasses {joint-iso-itu-t ds(5) module(1)
      selectedObjectClasses(6) 3}
  --	Selected Attribute Types
  objectIdentifierFirstComponentMatch, DirectoryString{}
    --==
    FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
      selectedAttributeTypes(5) 3};

--	END Imports
--	OBJECT IDENTIFIER ASSIGNMENTS FOR USE OF DIRECTORY
--	Categories
id-doc ID ::=
  {id-dir  0} -- directory object classes

id-dat ID ::= {id-dir  1} -- directory attribute types

--	Directory Object Classes
id-doc-edi-user ID ::= {id-doc  0}

id-doc-edi-user-agent ID ::= {id-doc  1}

id-doc-edi-message-store ID ::= {id-doc  2}

--	Directory Attribute Types
id-dat-edi-name ID ::= {id-dat  0}

id-dat-edi-routing-address ID ::= {id-dat  1}

id-dat-edi-capabilities ID ::= {id-dat  2}

--	END Object Identifier Assignments
--	Object Classes for EDI Use of Directory
--	EDI User
edi-user OBJECT-CLASS ::= {
  SUBCLASS OF   {top}
  MUST CONTAIN  {edi-name}
  MAY CONTAIN   {edi-routing-address | edi-capabilities}
  ID            id-doc-edi-user
}

--	EDI User Agent
edi-user-agent OBJECT-CLASS ::= {
  SUBCLASS OF  {mhs-user-agent}
  MAY CONTAIN  {edi-capabilities}
  ID           id-doc-edi-user-agent
}

--	EDI Message Store
edi-message-store OBJECT-CLASS ::= {
  SUBCLASS OF  {mhs-message-store}
  MAY CONTAIN  {edi-capabilities}
  ID           id-doc-edi-message-store
}

--	ATTRIBUTES
--	EDI Name
edi-name ATTRIBUTE ::= {
  WITH SYNTAX   DirectoryString {ub-edi-string-size}
  SINGLE VALUE  TRUE
  ID            id-dat-edi-name
}

--	The edi-name shall be one of the following:
--	*  a name assigned by an EDI naming authority, e.g. the Sender-ID or the 
--	Receiver-ID,
--	*  a name assigned by the EDI user's organization.
--	EDI Routing Address 
edi-routing-address ATTRIBUTE ::= {
  WITH SYNTAX   DirectoryString {ub-edi-string-size}
  SINGLE VALUE  TRUE
  ID            id-dat-edi-routing-address
}

--  The term edi-routing-address reflects its derivation from a data element in 
--  the EDI Interchange with the same name.
--	EDI Capabilities
edi-capabilities ATTRIBUTE ::= {
  WITH SYNTAX             EDIUserCapability
  EQUALITY MATCHING RULE  objectIdentifierFirstComponentMatch
  ID                      id-dat-edi-capabilities
}

EDIUserCapability ::= SEQUENCE {
  edi-bodypart-type         [0]  EDIBodyPartType OPTIONAL,
  edi-processable-document  [1]  EDIProcessableDocument OPTIONAL
}

EDIProcessableDocument ::= SEQUENCE {
  standardVersion          [0]  SyntaxVersion OPTIONAL,
  standardSyntaxId         [1]  SyntaxIdentifier OPTIONAL,
  documentType             [2]  EDIMessageTypeFieldSubField OPTIONAL,
  documentVersion          [3]  DocumentVersion OPTIONAL,
  documentRelease          [4]  DocumentRelease OPTIONAL,
  controllingAgency        [5]  ControllingAgency OPTIONAL,
  associationAssignedCode  [6]  AssociationAssignedCode OPTIONAL
}

AssociationAssignedCode ::=
  TeletexString(SIZE (1..ub-edi-association-assigned-code))

ControllingAgency ::= TeletexString(SIZE (1..ub-edi-controlling-agency))

DocumentRelease ::= TeletexString(SIZE (1..ub-edi-document-release))

DocumentVersion ::= TeletexString(SIZE (1..ub-edi-document-version))

END -- EDIMUseOfDirectory module
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D