-- **************************************************************
--
-- PDU definitions for X2AP.
--
-- **************************************************************

X2AP-PDU {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-PDU (1) }

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS

    maxProtocolIEs,
    Criticality,
    ProcedureCode,
    ProtocolIE-ID
FROM X2AP-CommonDataTypes;

IE ::= SEQUENCE {
    id ProtocolIE-ID,
    criticality Criticality,
    value ANY
}

X2AP-PDU ::= CHOICE {
    initiatingMessage InitiatingMessage,
    successfulOutcome SuccessfulOutcome,
    unsuccessfulOutcome UnsuccessfulOutcome,
    ...
}

InitiatingMessage ::= SEQUENCE {
    procedureCode   ProcedureCode,
    criticality     Criticality,
    value           ANY
}

SuccessfulOutcome ::= SEQUENCE {
    procedureCode   ProcedureCode,
    criticality     Criticality,
    value           ANY
}

UnsuccessfulOutcome ::= SEQUENCE {
    procedureCode   ProcedureCode,
    criticality     Criticality,
    value           ANY
}

HandoverRequest ::= SEQUENCE {
    handoverRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

HandoverRequestAcknowledge ::= SEQUENCE {
    handoverRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

HandoverPreparationFailure ::= SEQUENCE {
    handoverPreparationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

SNStatusTransfer ::= SEQUENCE {
    snStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

UEContextRelease ::= SEQUENCE {
    ueContextRelease-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

HandoverCancel ::= SEQUENCE {
    handoverCancel-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

HandoverReport ::= SEQUENCE {
    handoverReport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

ErrorIndication ::= SEQUENCE {
    errorIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

ResetRequest ::= SEQUENCE {
    resetRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

ResetResponse ::= SEQUENCE {
    resetResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

X2SetupRequest ::= SEQUENCE {
    x2SetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

X2SetupResponse ::= SEQUENCE {
    x2SetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

X2SetupFailure ::= SEQUENCE {
    x2SetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

LoadInformation ::= SEQUENCE {
    loadInformation-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

ENBConfigurationUpdate ::= SEQUENCE {
    eNBConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
    eNBConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

ENBConfigurationUpdateFailure ::= SEQUENCE {
    eNBConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

ResourceStatusRequest ::= SEQUENCE {
    resourceStatusRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

ResourceStatusResponse ::= SEQUENCE {
    resourceStatusResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

ResourceStatusFailure ::= SEQUENCE {
    resourceStatusFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

ResourceStatusUpdate ::= SEQUENCE {
    resourceStatusUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

RLFIndication ::= SEQUENCE {
    rlfIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

PrivateMessage ::= SEQUENCE {
    privateMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

MobilityChangeRequest ::= SEQUENCE {
    mobilityChangeRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

MobilityChangeAcknowledge ::= SEQUENCE {
    mobilityChangeAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

MobilityChangeFailure ::= SEQUENCE {
    mobilityChangeFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

CellActivationRequest ::= SEQUENCE {
    cellActivationRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

CellActivationResponse ::= SEQUENCE {
    cellActivationResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

CellActivationFailure ::= SEQUENCE {
    cellActivationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
    ...
}

END