-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
MAP-DialogueInformation {itu-t identified-organization(4) etsi(0)
  mobileDomain(0) gsm-Network(1) modules(3) map-DialogueInformation(3)
  version8(8)} DEFINITIONS IMPLICIT TAGS ::=
BEGIN

EXPORTS
  map-DialogueAS, MAP-DialoguePDU, map-ProtectedDialogueAS,
    MAP-ProtectedDialoguePDU;

IMPORTS
  gsm-NetworkId, as-Id
    FROM MobileDomainDefinitions {itu-t(0) identified-organization(4) 
      etsi(0) mobileDomain(0) mobileDomainDefinitions(0) version1(1)}
  AddressString
    FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0)
      mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18)
      version8(8)}
  ExtensionContainer
    FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0)
      mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21)
      version8(8)}
  SecurityHeader, ProtectedPayload
    FROM MAP-ST-DataTypes {itu-t identified-organization(4) etsi(0)
      mobileDomain(0) gsm-Network(1) modules(3) map-ST-DataTypes(27)
      version8(8)};

-- abstract syntax name for MAP-DialoguePDU
map-DialogueAS OBJECT IDENTIFIER ::=
  {gsm-NetworkId as-Id map-DialoguePDU(1) version1(1)}

MAP-DialoguePDU ::= CHOICE {
  map-open           [0]  MAP-OpenInfo,
  map-accept         [1]  MAP-AcceptInfo,
  map-close          [2]  MAP-CloseInfo,
  map-refuse         [3]  MAP-RefuseInfo,
  map-userAbort      [4]  MAP-UserAbortInfo,
  map-providerAbort  [5]  MAP-ProviderAbortInfo}

MAP-OpenInfo ::= SEQUENCE {
  destinationReference   [0]  AddressString OPTIONAL,
  originationReference   [1]  AddressString OPTIONAL,
  ...,
  extensionContainer     ExtensionContainer OPTIONAL}
  -- extensionContainer must not be used in version 2

MAP-AcceptInfo ::= SEQUENCE {
  ...,
  extensionContainer     ExtensionContainer OPTIONAL}
  -- extensionContainer must not be used in version 2

MAP-CloseInfo ::= SEQUENCE {
  ...,
  extensionContainer     ExtensionContainer OPTIONAL}
  -- extensionContainer must not be used in version 2

MAP-RefuseInfo ::= SEQUENCE {
  reason                            Reason,
  ...,
  extensionContainer                ExtensionContainer OPTIONAL,
  -- extensionContainer must not be used in version 2
  alternativeApplicationContext     OBJECT IDENTIFIER OPTIONAL}
  -- alternativeApplicationContext must not be used in version 2

Reason ::= ENUMERATED {
  noReasonGiven(0), invalidDestinationReference(1),
  invalidOriginatingReference(2), encapsulatedAC-NotSupported(3),
  transportProtectionNotAdequate(4)}

-- encapsulatedAC-NotSupported and transportProtectionNotAdequate must not be used in
-- dialogues with an AC different from secureTransportHandling
MAP-UserAbortInfo ::= SEQUENCE {
  map-UserAbortChoice    MAP-UserAbortChoice,
  ...,
  extensionContainer     ExtensionContainer OPTIONAL}
  -- extensionContainer must not be used in version 2

MAP-UserAbortChoice ::= CHOICE {
  userSpecificReason                [0]  NULL,
  userResourceLimitation            [1]  NULL,
  resourceUnavailable               [2]  ResourceUnavailableReason,
  applicationProcedureCancellation  [3]  ProcedureCancellationReason}

ResourceUnavailableReason ::= ENUMERATED {
  shortTermResourceLimitation(0), longTermResourceLimitation(1)}

ProcedureCancellationReason ::= ENUMERATED {
  handoverCancellation(0), radioChannelRelease(1), networkPathRelease(2),
  callRelease(3), associatedProcedureFailure(4), tandemDialogueRelease(5),
  remoteOperationsFailure(6)}

MAP-ProviderAbortInfo ::= SEQUENCE {
  map-ProviderAbortReason  MAP-ProviderAbortReason,
  ...,
  extensionContainer       ExtensionContainer OPTIONAL}
  -- extensionContainer must not be used in version 2

MAP-ProviderAbortReason ::= ENUMERATED {abnormalDialogue(0), invalidPDU(1)}

-- abstract syntax name for MAP-ProtectedDialoguePDU
map-ProtectedDialogueAS OBJECT IDENTIFIER ::=
  {gsm-NetworkId as-Id map-ProtectedDialoguePDU(3) version1(1)}

MAP-ProtectedDialoguePDU ::= SEQUENCE {
  encapsulatedAC    OBJECT IDENTIFIER,
  securityHeader    SecurityHeader OPTIONAL,
  protectedPayload  ProtectedPayload OPTIONAL,
  ...}

-- The protectedPayload carries the result of applying the security function
-- defined in 3GPP TS 33.200 to the encoding of the securely transported
-- MAP-DialoguePDU
END

