blob: 453c6de392804ba1ab5f48fdc3918fd964c1a8cc [file] [log] [blame]
-- ASN1START
-- **************************************************************
--
-- Elementary Procedure definitions
-- Derived from 3GPP 38.413 v15.4.0 NGAP
-- **************************************************************
E2AP-PDU-Descriptions {
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version1 (1) e2ap(1) e2ap-PDU-Descriptions (0) }
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
-- **************************************************************
--
-- IE parameter types from other modules.
--
-- **************************************************************
IMPORTS
Criticality,
ProcedureCode
FROM E2AP-CommonDataTypes
E2setupFailure,
E2setupRequest,
E2setupResponse,
ErrorIndication,
ResetRequest,
ResetResponse,
RICcontrolAcknowledge,
RICcontrolFailure,
RICcontrolRequest,
RICindication,
RICserviceQuery,
RICserviceUpdate,
RICserviceUpdateAcknowledge,
RICserviceUpdateFailure,
RICsubscriptionFailure,
RICsubscriptionRequest,
RICsubscriptionResponse,
RICsubscriptionDeleteFailure,
RICsubscriptionDeleteRequest,
RICsubscriptionDeleteResponse
FROM E2AP-PDU-Contents
id-E2setup,
id-ErrorIndication,
id-Reset,
id-RICcontrol,
id-RICindication,
id-RICserviceQuery,
id-RICserviceUpdate,
id-RICsubscription,
id-RICsubscriptionDelete
FROM E2AP-Constants;
-- **************************************************************
--
-- Interface Elementary Procedure Class
--
-- **************************************************************
E2AP-ELEMENTARY-PROCEDURE ::= CLASS {
&InitiatingMessage ,
&SuccessfulOutcome OPTIONAL ,
&UnsuccessfulOutcome OPTIONAL ,
&procedureCode ProcedureCode UNIQUE ,
&criticality Criticality DEFAULT ignore
}
WITH SYNTAX {
INITIATING MESSAGE &InitiatingMessage
[SUCCESSFUL OUTCOME &SuccessfulOutcome]
[UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
PROCEDURE CODE &procedureCode
[CRITICALITY &criticality]
}
-- **************************************************************
--
-- Interface PDU Definition
--
-- **************************************************************
E2AP-PDU ::= CHOICE {
initiatingMessage InitiatingMessage,
successfulOutcome SuccessfulOutcome,
unsuccessfulOutcome UnsuccessfulOutcome,
...
}
InitiatingMessage ::= SEQUENCE {
procedureCode E2AP-ELEMENTARY-PROCEDURE.&procedureCode ({E2AP-ELEMENTARY-PROCEDURES}),
criticality E2AP-ELEMENTARY-PROCEDURE.&criticality ({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
value E2AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
}
SuccessfulOutcome ::= SEQUENCE {
procedureCode E2AP-ELEMENTARY-PROCEDURE.&procedureCode ({E2AP-ELEMENTARY-PROCEDURES}),
criticality E2AP-ELEMENTARY-PROCEDURE.&criticality ({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
value E2AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
}
UnsuccessfulOutcome ::= SEQUENCE {
procedureCode E2AP-ELEMENTARY-PROCEDURE.&procedureCode ({E2AP-ELEMENTARY-PROCEDURES}),
criticality E2AP-ELEMENTARY-PROCEDURE.&criticality ({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
value E2AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
}
-- **************************************************************
--
-- Interface Elementary Procedure List
--
-- **************************************************************
E2AP-ELEMENTARY-PROCEDURES E2AP-ELEMENTARY-PROCEDURE ::= {
E2AP-ELEMENTARY-PROCEDURES-CLASS-1 |
E2AP-ELEMENTARY-PROCEDURES-CLASS-2,
...
}
E2AP-ELEMENTARY-PROCEDURES-CLASS-1 E2AP-ELEMENTARY-PROCEDURE ::= {
ricSubscription |
ricSubscriptionDelete |
ricServiceUpdate |
ricControl |
e2setup |
reset,
...
}
E2AP-ELEMENTARY-PROCEDURES-CLASS-2 E2AP-ELEMENTARY-PROCEDURE ::= {
ricIndication |
ricServiceQuery |
errorIndication,
...
}
-- **************************************************************
--
-- Interface Elementary Procedures
--
-- **************************************************************
e2setup E2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE E2setupRequest
SUCCESSFUL OUTCOME E2setupResponse
UNSUCCESSFUL OUTCOME E2setupFailure
PROCEDURE CODE id-E2setup
CRITICALITY reject
}
errorIndication E2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE ErrorIndication
PROCEDURE CODE id-ErrorIndication
CRITICALITY ignore
}
reset E2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE ResetRequest
SUCCESSFUL OUTCOME ResetResponse
PROCEDURE CODE id-Reset
CRITICALITY reject
}
ricControl E2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE RICcontrolRequest
SUCCESSFUL OUTCOME RICcontrolAcknowledge
UNSUCCESSFUL OUTCOME RICcontrolFailure
PROCEDURE CODE id-RICcontrol
CRITICALITY reject
}
ricIndication E2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE RICindication
PROCEDURE CODE id-RICindication
CRITICALITY ignore
}
ricServiceQuery E2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE RICserviceQuery
PROCEDURE CODE id-RICserviceQuery
CRITICALITY ignore
}
ricServiceUpdate E2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE RICserviceUpdate
SUCCESSFUL OUTCOME RICserviceUpdateAcknowledge
UNSUCCESSFUL OUTCOME RICserviceUpdateFailure
PROCEDURE CODE id-RICserviceUpdate
CRITICALITY reject
}
ricSubscription E2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE RICsubscriptionRequest
SUCCESSFUL OUTCOME RICsubscriptionResponse
UNSUCCESSFUL OUTCOME RICsubscriptionFailure
PROCEDURE CODE id-RICsubscription
CRITICALITY reject
}
ricSubscriptionDelete E2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE RICsubscriptionDeleteRequest
SUCCESSFUL OUTCOME RICsubscriptionDeleteResponse
UNSUCCESSFUL OUTCOME RICsubscriptionDeleteFailure
PROCEDURE CODE id-RICsubscriptionDelete
CRITICALITY reject
}
END
-- ASN1STOP
-- ASN1START
-- **************************************************************
--
-- PDU definitions for E2AP
-- Derived from 3GPP 38.413 v15.4.0 NGAP
--
-- **************************************************************
E2AP-PDU-Contents {
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version1 (1) e2ap(1) e2ap-PDU-Contents (1) }
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
-- **************************************************************
--
-- IE parameter types from other modules.
--
-- **************************************************************
IMPORTS
Cause,
CriticalityDiagnostics,
GlobalE2node-ID,
GlobalRIC-ID,
RANfunctionDefinition,
RANfunctionID,
RANfunctionRevision,
RICactionDefinition,
RICactionID,
RICactionType,
RICcallProcessID,
RICcontrolAckRequest,
RICcontrolHeader,
RICcontrolMessage,
RICcontrolOutcome,
RICcontrolStatus,
RICeventTriggerDefinition,
RICindicationHeader,
RICindicationMessage,
RICindicationSN,
RICindicationType,
RICrequestID,
RICsubsequentAction,
TimeToWait
FROM E2AP-IEs
ProtocolIE-Container{},
ProtocolIE-ContainerList{},
ProtocolIE-SingleContainer{},
E2AP-PROTOCOL-IES,
E2AP-PROTOCOL-IES-PAIR
FROM E2AP-Containers
id-Cause,
id-CriticalityDiagnostics,
id-GlobalE2node-ID,
id-GlobalRIC-ID,
id-RANfunctionID,
id-RANfunctionID-Item,
id-RANfunctionIEcause-Item,
id-RANfunction-Item,
id-RANfunctionsAccepted,
id-RANfunctionsAdded,
id-RANfunctionsDeleted,
id-RANfunctionsModified,
id-RANfunctionsRejected,
id-RICaction-Admitted-Item,
id-RICactionID,
id-RICaction-NotAdmitted-Item,
id-RICactions-Admitted,
id-RICactions-NotAdmitted,
id-RICaction-ToBeSetup-Item,
id-RICcallProcessID,
id-RICcontrolAckRequest,
id-RICcontrolHeader,
id-RICcontrolMessage,
id-RICcontrolOutcome,
id-RICcontrolStatus,
id-RICindicationHeader,
id-RICindicationMessage,
id-RICindicationSN,
id-RICindicationType,
id-RICrequestID,
id-RICserviceQuery,
id-RICsubscriptionDetails,
id-TimeToWait,
maxofRANfunctionID,
maxofRICactionID
FROM E2AP-Constants;
-- **************************************************************
--
-- MESSAGES FOR NEAR-RT RIC FUNCTIONAL PROCEDURES
--
-- **************************************************************
-- **************************************************************
--
-- RIC Subscription Elementary Procedure
--
-- **************************************************************
-- **************************************************************
--
-- RIC SUBSCRIPTION REQUEST
--
-- **************************************************************
RICsubscriptionRequest ::= SEQUENCE {
protocolIEs ProtocolIE-Container {{RICsubscriptionRequest-IEs}},
...
}
RICsubscriptionRequest-IEs E2AP-PROTOCOL-IES ::= {
{ ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory}|
{ ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory}|
{ ID id-RICsubscriptionDetails CRITICALITY reject TYPE RICsubscriptionDetails PRESENCE mandatory},
...
}
RICsubscriptionDetails ::= SEQUENCE {
ricEventTriggerDefinition RICeventTriggerDefinition,
ricAction-ToBeSetup-List RICactions-ToBeSetup-List,
...
}
RICactions-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxofRICactionID)) OF ProtocolIE-SingleContainer { {RICaction-ToBeSetup-ItemIEs} }
RICaction-ToBeSetup-ItemIEs E2AP-PROTOCOL-IES ::= {
{ ID id-RICaction-ToBeSetup-Item CRITICALITY ignore TYPE RICaction-ToBeSetup-Item PRESENCE mandatory },
...
}
RICaction-ToBeSetup-Item ::= SEQUENCE {
ricActionID RICactionID,
ricActionType RICactionType,
ricActionDefinition RICactionDefinition OPTIONAL,
ricSubsequentAction RICsubsequentAction OPTIONAL,
...
}
-- **************************************************************
--
-- RIC SUBSCRIPTION RESPONSE
--
-- **************************************************************
RICsubscriptionResponse ::= SEQUENCE {
protocolIEs ProtocolIE-Container{{RICsubscriptionResponse-IEs}},
...
}
RICsubscriptionResponse-IEs E2AP-PROTOCOL-IES ::= {
{ ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory } |
{ ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory } |
{ ID id-RICactions-Admitted CRITICALITY reject TYPE RICaction-Admitted-List PRESENCE mandatory } |
{ ID id-RICactions-NotAdmitted CRITICALITY reject TYPE RICaction-NotAdmitted-List PRESENCE optional },
...
}
RICaction-Admitted-List ::= SEQUENCE (SIZE(1..maxofRICactionID)) OF ProtocolIE-SingleContainer{{RICaction-Admitted-ItemIEs}}
RICaction-Admitted-ItemIEs E2AP-PROTOCOL-IES ::= {
{ ID id-RICaction-Admitted-Item CRITICALITY ignore TYPE RICaction-Admitted-Item PRESENCE mandatory },
...
}
RICaction-Admitted-Item ::= SEQUENCE {
ricActionID RICactionID,
...
}
RICaction-NotAdmitted-List ::= SEQUENCE (SIZE(0..maxofRICactionID)) OF ProtocolIE-SingleContainer { {RICaction-NotAdmitted-ItemIEs} }
RICaction-NotAdmitted-ItemIEs E2AP-PROTOCOL-IES ::= {
{ ID id-RICaction-NotAdmitted-Item CRITICALITY ignore TYPE RICaction-NotAdmitted-Item PRESENCE mandatory },
...
}
RICaction-NotAdmitted-Item ::= SEQUENCE {
ricActionID RICactionID,
cause Cause,
...
}
-- **************************************************************
--
-- RIC SUBSCRIPTION FAILURE
--E2AP-PROTOCOL-IES
-- **************************************************************
RICsubscriptionFailure ::= SEQUENCE {
protocolIEs ProtocolIE-Container {{RICsubscriptionFailure-IEs}},
...
}
RICsubscriptionFailure-IEs E2AP-PROTOCOL-IES ::= {
{ ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
{ ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory }|
{ ID id-RICactions-NotAdmitted CRITICALITY reject TYPE RICaction-NotAdmitted-List PRESENCE mandatory }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
...
}
-- **************************************************************
--
-- RIC Subscription Delete Elementary Procedure
--
-- **************************************************************
-- **************************************************************
--
-- RIC SUBSCRIPTION DELETE REQUEST
--
-- **************************************************************
RICsubscriptionDeleteRequest ::= SEQUENCE {
protocolIEs ProtocolIE-Container {{RICsubscriptionDeleteRequest-IEs}},
...
}
RICsubscriptionDeleteRequest-IEs E2AP-PROTOCOL-IES ::= {
{ ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
{ ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory },
...
}
-- **************************************************************
--E2AP-PROTOCOL-IES
-- RIC SUBSCRIPTION DELETE RESPONSE
--
-- **************************************************************
RICsubscriptionDeleteResponse ::= SEQUENCE {
protocolIEs ProtocolIE-Container {{RICsubscriptionDeleteResponse-IEs}},
...
}
RICsubscriptionDeleteResponse-IEs E2AP-PROTOCOL-IES ::= {
{ ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
{ ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory },
...
}
-- **************************************************************
--
-- RIC SUBSCRIPTION DELETE FAILURE
--
-- **************************************************************
RICsubscriptionDeleteFailure ::= SEQUENCE {
protocolIEs ProtocolIE-Container {{RICsubscriptionDeleteFailure-IEs}},
...
}
RICsubscriptionDeleteFailure-IEs E2AP-PROTOCOL-IES ::= {
{ ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
{ ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory }|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
...
}
-- **************************************************************
--
-- RIC Indication Elementary Procedure
--
-- **************************************************************
-- **************************************************************
--
-- RIC INDICATION
--
-- **************************************************************
RICindication ::= SEQUENCE {
protocolIEs ProtocolIE-Container {{RICindication-IEs}},
...
}
RICindication-IEs E2AP-PROTOCOL-IES ::= {
{ ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
{ ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory }|
{ ID id-RICactionID CRITICALITY reject TYPE RICactionID PRESENCE mandatory }|
{ ID id-RICindicationSN CRITICALITY reject TYPE RICindicationSN PRESENCE optional }|
{ ID id-RICindicationType CRITICALITY reject TYPE RICindicationType PRESENCE mandatory }|
{ ID id-RICindicationHeader CRITICALITY reject TYPE RICindicationHeader PRESENCE mandatory }|
{ ID id-RICindicationMessage CRITICALITY reject TYPE RICindicationMessage PRESENCE mandatory }|
{ ID id-RICcallProcessID CRITICALITY reject TYPE RICcallProcessID PRESENCE optional },
...
}
-- **************************************************************
--
-- RIC Control Elementary Procedure
--
-- **************************************************************
-- **************************************************************
--
-- RIC CONTROL REQUEST
--
-- **************************************************************
RICcontrolRequest ::= SEQUENCE {
protocolIEs ProtocolIE-Container {{RICcontrolRequest-IEs}},
...
}
RICcontrolRequest-IEs E2AP-PROTOCOL-IES ::= {
{ ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
{ ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory }|
{ ID id-RICcallProcessID CRITICALITY reject TYPE RICcallProcessID PRESENCE optional }|
{ ID id-RICcontrolHeader CRITICALITY reject TYPE RICcontrolHeader PRESENCE mandatory }|
{ ID id-RICcontrolMessage CRITICALITY reject TYPE RICcontrolMessage PRESENCE mandatory }|
{ ID id-RICcontrolAckRequest CRITICALITY reject TYPE RICcontrolAckRequest PRESENCE optional },
...
}
-- **************************************************************
--
-- RIC CONTROL ACKNOWLEDGE
--
-- **************************************************************
RICcontrolAcknowledge ::= SEQUENCE {
protocolIEs ProtocolIE-Container {{RICcontrolAcknowledge-IEs}},
...
}
RICcontrolAcknowledge-IEs E2AP-PROTOCOL-IES ::= {
{ ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
{ ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory }|
{ ID id-RICcallProcessID CRITICALITY reject TYPE RICcallProcessID PRESENCE optional }|
{ ID id-RICcontrolStatus CRITICALITY reject TYPE RICcontrolStatus PRESENCE mandatory } |
{ ID id-RICcontrolOutcome CRITICALITY reject TYPE RICcontrolOutcome PRESENCE optional },
...
}
-- **************************************************************
--
-- RIC CONTROL FAILURE
--
-- **************************************************************
RICcontrolFailure ::= SEQUENCE {
protocolIEs ProtocolIE-Container {{RICcontrolFailure-IEs}},
...
}
RICcontrolFailure-IEs E2AP-PROTOCOL-IES ::= {
{ ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
{ ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory }|
{ ID id-RICcallProcessID CRITICALITY reject TYPE RICcallProcessID PRESENCE optional }|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
{ ID id-RICcontrolOutcome CRITICALITY reject TYPE RICcontrolOutcome PRESENCE optional },
...
}
-- **************************************************************
--
-- MESSAGES FOR GLOBAL PROCEDURES
--
-- **************************************************************
-- **************************************************************
--
-- Error Indication Elementary Procedure
--
-- **************************************************************
-- **************************************************************
--
-- ERROR INDICATION
--
-- **************************************************************
ErrorIndication ::= SEQUENCE {
protocolIEs ProtocolIE-Container {{ErrorIndication-IEs}},
...
}
ErrorIndication-IEs E2AP-PROTOCOL-IES ::= {
{ ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE optional }|
{ ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE optional }|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
...
}
-- **************************************************************
--
-- E2 Setup Elementary Procedure
--
-- **************************************************************
-- **************************************************************
--
-- E2 SETUP REQUEST
--
-- **************************************************************
E2setupRequest ::= SEQUENCE {
protocolIEs ProtocolIE-Container { {E2setupRequestIEs} },
...
}
E2setupRequestIEs E2AP-PROTOCOL-IES ::= {
{ ID id-GlobalE2node-ID CRITICALITY reject TYPE GlobalE2node-ID PRESENCE mandatory }|
{ ID id-RANfunctionsAdded CRITICALITY reject TYPE RANfunctions-List PRESENCE optional },
...
}
-- **************************************************************
--
-- E2 SETUP RESPONSE
--
-- **************************************************************
E2setupResponse ::= SEQUENCE {
protocolIEs ProtocolIE-Container { {E2setupResponseIEs} },
...
}
E2setupResponseIEs E2AP-PROTOCOL-IES ::= {
{ ID id-GlobalRIC-ID CRITICALITY reject TYPE GlobalRIC-ID PRESENCE mandatory }|
{ ID id-RANfunctionsAccepted CRITICALITY reject TYPE RANfunctionsID-List PRESENCE optional }|
{ ID id-RANfunctionsRejected CRITICALITY reject TYPE RANfunctionsIDcause-List PRESENCE optional },
...
}
-- **************************************************************
--
-- E2 SETUP FAILURE
--
-- **************************************************************
E2setupFailure ::= SEQUENCE {
protocolIEs ProtocolIE-Container { {E2setupFailureIEs} },
...
}
E2setupFailureIEs E2AP-PROTOCOL-IES ::= {
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
{ ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
...
}
-- **************************************************************
--
-- Reset Elementary Procedure
--
-- **************************************************************
-- **************************************************************
--
-- RESET REQUEST
--
-- **************************************************************
ResetRequest ::= SEQUENCE {
protocolIEs ProtocolIE-Container { {ResetRequestIEs} },
...
}
ResetRequestIEs E2AP-PROTOCOL-IES ::= {
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
...
}
-- **************************************************************
--
-- RESET RESPONSE
--
-- **************************************************************
ResetResponse ::= SEQUENCE {
protocolIEs ProtocolIE-Container { {ResetResponseIEs} },
...
}
ResetResponseIEs E2AP-PROTOCOL-IES ::= {
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
...
}
-- **************************************************************
--
-- RIC Service Update Elementary Procedure
--
-- **************************************************************
-- **************************************************************
--
-- RIC SERVICE UPDATE
--
-- **************************************************************
RICserviceUpdate ::= SEQUENCE {
protocolIEs ProtocolIE-Container {{RICserviceUpdate-IEs}},
...
}
RICserviceUpdate-IEs E2AP-PROTOCOL-IES ::= {
{ ID id-RANfunctionsAdded CRITICALITY reject TYPE RANfunctions-List PRESENCE optional }|
{ ID id-RANfunctionsModified CRITICALITY reject TYPE RANfunctions-List PRESENCE optional }|
{ ID id-RANfunctionsDeleted CRITICALITY reject TYPE RANfunctionsID-List PRESENCE optional },
...
}
RANfunctions-List ::= SEQUENCE (SIZE(0..maxofRANfunctionID)) OF ProtocolIE-SingleContainer { {RANfunction-ItemIEs} }
RANfunction-ItemIEs E2AP-PROTOCOL-IES ::= {
{ ID id-RANfunction-Item CRITICALITY ignore TYPE RANfunction-Item PRESENCE mandatory },
...
}
RANfunction-Item ::= SEQUENCE {
ranFunctionID RANfunctionID,
ranFunctionDefinition RANfunctionDefinition,
ranFunctionRevision RANfunctionRevision,
...
}
RANfunctionsID-List ::= SEQUENCE (SIZE(0..maxofRANfunctionID)) OF ProtocolIE-SingleContainer{{RANfunctionID-ItemIEs}}
RANfunctionID-ItemIEs E2AP-PROTOCOL-IES ::= {
{ ID id-RANfunctionID-Item CRITICALITY ignore TYPE RANfunctionID-Item PRESENCE mandatory },
...
}
RANfunctionID-Item ::= SEQUENCE {
ranFunctionID RANfunctionID,
ranFunctionRevision RANfunctionRevision,
...
}
-- **************************************************************
--
-- RIC SERVICE UPDATE ACKNOWLEDGE
--
-- **************************************************************
RICserviceUpdateAcknowledge ::= SEQUENCE {
protocolIEs ProtocolIE-Container {{RICserviceUpdateAcknowledge-IEs}},
...
}
RICserviceUpdateAcknowledge-IEs E2AP-PROTOCOL-IES ::= {
{ ID id-RANfunctionsAccepted CRITICALITY reject TYPE RANfunctionsID-List PRESENCE optional }|
{ ID id-RANfunctionsRejected CRITICALITY reject TYPE RANfunctionsIDcause-List PRESENCE optional },
...
}
RANfunctionsIDcause-List ::= SEQUENCE (SIZE(0..maxofRANfunctionID)) OF ProtocolIE-SingleContainer { {RANfunctionIDcause-ItemIEs} }
RANfunctionIDcause-ItemIEs E2AP-PROTOCOL-IES ::= {
{ ID id-RANfunctionIEcause-Item CRITICALITY ignore TYPE RANfunctionIDcause-Item PRESENCE mandatory },
...
}
RANfunctionIDcause-Item ::= SEQUENCE {
ranFunctionID RANfunctionID,
cause Cause,
...
}
-- **************************************************************
--
-- RIC SERVICE UPDATE FAILURE
--
-- **************************************************************
RICserviceUpdateFailure ::= SEQUENCE {
protocolIEs ProtocolIE-Container {{RICserviceUpdateFailure-IEs}},
...
}
RICserviceUpdateFailure-IEs E2AP-PROTOCOL-IES ::= {
{ ID id-RANfunctionsRejected CRITICALITY ignore TYPE RANfunctionsIDcause-List PRESENCE optional }|
{ ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
...
}
-- **************************************************************
--
-- RIC Service Query Elementary Procedure
--
-- **************************************************************
-- **************************************************************
--
-- RIC SERVICE QUERY
--
-- **************************************************************
RICserviceQuery ::= SEQUENCE {
protocolIEs ProtocolIE-Container {{RICserviceQuery-IEs}},
...
}
RICserviceQuery-IEs E2AP-PROTOCOL-IES ::= {
{ ID id-RANfunctionsAccepted CRITICALITY reject TYPE RANfunctionsID-List PRESENCE optional },
...
}
END
-- ASN1STOP
-- ASN1START
-- **************************************************************
-- E2AP
-- Information Element Definitions
--
-- **************************************************************
E2AP-IEs {
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version1 (1) e2ap(1) e2ap-IEs (2)}
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
Criticality,
Presence,
ProcedureCode,
ProtocolIE-ID,
TriggeringMessage
FROM E2AP-CommonDataTypes
maxnoofErrors,
maxProtocolIEs
FROM E2AP-Constants;
-- A
-- B
-- C
Cause ::= CHOICE {
ricRequest CauseRIC,
ricService CauseRICservice,
transport CauseTransport,
protocol CauseProtocol,
misc CauseMisc,
...
}
CauseMisc ::= ENUMERATED {
control-processing-overload,
hardware-failure,
om-intervention,
unspecified,
...
}
CauseProtocol ::= ENUMERATED {
transfer-syntax-error,
abstract-syntax-error-reject,
abstract-syntax-error-ignore-and-notify,
message-not-compatible-with-receiver-state,
semantic-error,
abstract-syntax-error-falsely-constructed-message,
unspecified,
...
}
CauseRIC ::= ENUMERATED {
ran-function-id-Invalid,
action-not-supported,
excessive-actions,
duplicate-action,
duplicate-event,
function-resource-limit,
request-id-unknown,
inconsistent-action-subsequent-action-sequence,
control-message-invalid,
call-process-id-invalid,
unspecified,
...
}
CauseRICservice ::= ENUMERATED{
function-not-required,
excessive-functions,
ric-resource-limit,
...
}
CauseTransport ::= ENUMERATED {
unspecified,
transport-resource-unavailable,
...
}
-- **************************************************************
-- copied from 3GPP 38.413 NGAP IEs v15.5.0
-- note: ie-Extensions removed
-- **************************************************************
CriticalityDiagnostics ::= SEQUENCE {
procedureCode ProcedureCode OPTIONAL,
triggeringMessage TriggeringMessage OPTIONAL,
procedureCriticality Criticality OPTIONAL,
ricRequestorID RICrequestID OPTIONAL,
iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
...
}
CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE(1..maxnoofErrors)) OF CriticalityDiagnostics-IE-Item
CriticalityDiagnostics-IE-Item ::= SEQUENCE {
iECriticality Criticality,
iE-ID ProtocolIE-ID,
typeOfError TypeOfError,
...
}
-- D
-- E
-- **************************************************************
-- copied from 3GPP X2AP IEs v15.4.0
-- note: ie-Extensions removed
-- **************************************************************
ENB-ID ::= CHOICE {
macro-eNB-ID BIT STRING (SIZE (20)),
home-eNB-ID BIT STRING (SIZE (28)),
... ,
short-Macro-eNB-ID BIT STRING (SIZE(18)),
long-Macro-eNB-ID BIT STRING (SIZE(21))
}
-- **************************************************************
-- copied from 3GPP 38.423 v15.5.0 XnAP IEs
-- **************************************************************
ENB-ID-Choice ::= CHOICE {
enb-ID-macro BIT STRING (SIZE(20)),
enb-ID-shortmacro BIT STRING (SIZE(18)),
enb-ID-longmacro BIT STRING (SIZE(21)),
...
}
-- **************************************************************
-- copied from 3GPP X2AP IEs v15.4.0
-- note: ie-Extensions removed
-- Note: to avoid duplicate names with XnAP, GNB-ID renamed ENGNB-ID, GlobalGNB-ID renamed GlobalenGNB-ID
-- **************************************************************
ENGNB-ID ::= CHOICE {
gNB-ID BIT STRING (SIZE (22..32)),
...
}
-- F
-- G
GlobalE2node-ID ::= CHOICE{
gNB GlobalE2node-gNB-ID,
en-gNB GlobalE2node-en-gNB-ID,
ng-eNB GlobalE2node-ng-eNB-ID,
eNB GlobalE2node-eNB-ID,
...
}
GlobalE2node-en-gNB-ID ::= SEQUENCE{
global-gNB-ID GlobalenGNB-ID,
...
}
GlobalE2node-eNB-ID ::= SEQUENCE{
global-eNB-ID GlobalENB-ID,
...
}
GlobalE2node-gNB-ID ::= SEQUENCE{
global-gNB-ID GlobalgNB-ID,
gNB-CU-UP-ID GNB-CU-UP-ID OPTIONAL,
gNB-DU-ID GNB-DU-ID OPTIONAL,
...
}
GlobalE2node-ng-eNB-ID ::= SEQUENCE{
global-ng-eNB-ID GlobalngeNB-ID,
...
}
-- **************************************************************
-- copied from 3GPP X2AP IEs v15.4.0
-- note: ie-Extensions removed
-- **************************************************************
GlobalENB-ID ::= SEQUENCE {
pLMN-Identity PLMN-Identity,
eNB-ID ENB-ID,
...
}
-- **************************************************************
-- copied from 3GPP X2AP IEs v15.4.0
-- Note: to avoid duplicate names with XnAP, GNB-ID renamed ENGNB-ID, GlobalGNB-ID renamed GlobalenGNB-ID
-- **************************************************************
GlobalenGNB-ID ::= SEQUENCE {
pLMN-Identity PLMN-Identity,
gNB-ID ENGNB-ID,
...
}
-- **************************************************************
-- copied from 3GPP 38.423 v15.5.0 XnAP IEs
-- **************************************************************
GlobalgNB-ID ::= SEQUENCE {
plmn-id PLMN-Identity,
gnb-id GNB-ID-Choice,
...
}
-- **************************************************************
-- copied from 3GPP 38.423 v15.5.0 XnAP IEs
-- **************************************************************
GlobalngeNB-ID ::= SEQUENCE {
plmn-id PLMN-Identity,
enb-id ENB-ID-Choice,
...
}
GlobalRIC-ID ::= SEQUENCE{
pLMN-Identity PLMN-Identity,
ric-ID BIT STRING (SIZE (20)),
...
}
-- **************************************************************
-- copied from 3GPP 38.463 v15.5.0 E1AP IEs
-- **************************************************************
GNB-CU-UP-ID::= INTEGER (0..68719476735)
GNB-DU-ID::= INTEGER (0..68719476735)
-- **************************************************************
-- copied from 3GPP 38.423 v15.5.0 XnAP IEs
-- **************************************************************
GNB-ID-Choice ::= CHOICE {
gnb-ID BIT STRING (SIZE(22..32)),
...
}
-- H
-- I
-- J
-- K
-- L
-- M
-- N
-- O
-- P
-- **************************************************************
-- copied from 3GPP X2AP IEs v15.4.0
-- **************************************************************
PLMN-Identity ::= OCTET STRING (SIZE(3))
-- Q
-- R
-- **************************************************************
-- Following IE defined in E2SM
-- **************************************************************
RANfunctionDefinition ::= OCTET STRING
RANfunctionID ::= INTEGER (0..4095)
RANfunctionRevision ::= INTEGER (0..4095)
-- **************************************************************
-- Following IE defined in E2SM
-- **************************************************************
RICactionDefinition ::= OCTET STRING
RICactionID ::= INTEGER (0..255)
RICactionType ::= ENUMERATED{
report,
insert,
policy,
...
}
-- **************************************************************
-- Following IE defined in E2SM
-- **************************************************************
RICcallProcessID ::= OCTET STRING
RICcontrolAckRequest ::= ENUMERATED{
noAck,
ack,
nAck,
...
}
-- **************************************************************
-- Following IE defined in E2SM
-- **************************************************************
RICcontrolHeader ::= OCTET STRING
-- **************************************************************
-- Following IE defined in E2SM
-- **************************************************************
RICcontrolMessage ::= OCTET STRING
-- **************************************************************
-- Following IE defined in E2SM
-- **************************************************************
RICcontrolOutcome ::= OCTET STRING
RICcontrolStatus ::= ENUMERATED{
success,
rejected,
failed,
...
}
-- **************************************************************
-- Following IE defined in E2SM
-- **************************************************************
RICeventTriggerDefinition ::= OCTET STRING
-- **************************************************************
-- Following IE defined in E2SM
-- **************************************************************
RICindicationHeader ::= OCTET STRING
-- **************************************************************
-- Following IE defined in E2SM
-- **************************************************************
RICindicationMessage ::= OCTET STRING
RICindicationSN ::= INTEGER (0..65535)
RICindicationType ::= ENUMERATED{
report,
insert,
...
}
RICrequestID ::= SEQUENCE {
ricRequestorID INTEGER (0..65535),
ricInstanceID INTEGER (0..65535),
...
}
RICsubsequentAction ::=SEQUENCE{
ricSubsequentActionType RICsubsequentActionType,
ricTimeToWait RICtimeToWait,
...
}
RICsubsequentActionType ::= ENUMERATED{
continue,
wait,
...
}
RICtimeToWait ::= ENUMERATED{
zero,
w1ms,
w2ms,
w5ms,
w10ms,
w20ms,
w30ms,
w40ms,
w50ms,
w100ms,
w200ms,
w500ms,
w1s,
w2s,
w5s,
w10s,
w20s,
w60s,
...
}
-- S
-- T
-- **************************************************************
-- copied from 3GPP 38.413 NGAP IEs v15.5.0
-- **************************************************************
TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...}
-- **************************************************************
-- copied from 3GPP 38.413 NGAP IEs v15.5.0
-- **************************************************************
TypeOfError ::= ENUMERATED {
not-understood,
missing,
...
}
-- U
-- V
-- W
-- X
-- Y
-- Z
END
-- ASN1STOP
-- ASN1START
-- **************************************************************
--
-- Common definitions
-- Derived from 3GPP 38.413 v15.4.0
--
-- **************************************************************
E2AP-CommonDataTypes {
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version1 (1) e2ap(1) e2ap-CommonDataTypes (3) }
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
Criticality ::= ENUMERATED { reject, ignore, notify }
Presence ::= ENUMERATED { optional, conditional, mandatory }
ProcedureCode ::= INTEGER (0..255)
ProtocolIE-ID ::= INTEGER (0..65535)
TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome }
END
-- ASN1STOP
-- ASN1START
-- **************************************************************
--
-- Constant definitions
--
-- **************************************************************
E2AP-Constants {
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version1 (1) e2ap(1) e2ap-Constants (4) }
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
ProcedureCode,
ProtocolIE-ID
FROM E2AP-CommonDataTypes;
-- **************************************************************
--
-- Elementary Procedures
--
-- **************************************************************
id-E2setup ProcedureCode ::= 1
id-ErrorIndication ProcedureCode ::= 2
id-Reset ProcedureCode ::= 3
id-RICcontrol ProcedureCode ::= 4
id-RICindication ProcedureCode ::= 5
id-RICserviceQuery ProcedureCode ::= 6
id-RICserviceUpdate ProcedureCode ::= 7
id-RICsubscription ProcedureCode ::= 8
id-RICsubscriptionDelete ProcedureCode ::= 9
-- **************************************************************
--
-- Extension constants
--
-- **************************************************************
maxProtocolIEs INTEGER ::= 65535
-- **************************************************************
--
-- Lists
--
-- **************************************************************
maxnoofErrors INTEGER ::= 256
maxofRANfunctionID INTEGER ::= 256
maxofRICactionID INTEGER ::= 16
-- **************************************************************
--
-- IEs
--
-- **************************************************************
id-Cause ProtocolIE-ID ::= 1
id-CriticalityDiagnostics ProtocolIE-ID ::= 2
id-GlobalE2node-ID ProtocolIE-ID ::= 3
id-GlobalRIC-ID ProtocolIE-ID ::= 4
id-RANfunctionID ProtocolIE-ID ::= 5
id-RANfunctionID-Item ProtocolIE-ID ::= 6
id-RANfunctionIEcause-Item ProtocolIE-ID ::= 7
id-RANfunction-Item ProtocolIE-ID ::= 8
id-RANfunctionsAccepted ProtocolIE-ID ::= 9
id-RANfunctionsAdded ProtocolIE-ID ::= 10
id-RANfunctionsDeleted ProtocolIE-ID ::= 11
id-RANfunctionsModified ProtocolIE-ID ::= 12
id-RANfunctionsRejected ProtocolIE-ID ::= 13
id-RICaction-Admitted-Item ProtocolIE-ID ::= 14
id-RICactionID ProtocolIE-ID ::= 15
id-RICaction-NotAdmitted-Item ProtocolIE-ID ::= 16
id-RICactions-Admitted ProtocolIE-ID ::= 17
id-RICactions-NotAdmitted ProtocolIE-ID ::= 18
id-RICaction-ToBeSetup-Item ProtocolIE-ID ::= 19
id-RICcallProcessID ProtocolIE-ID ::= 20
id-RICcontrolAckRequest ProtocolIE-ID ::= 21
id-RICcontrolHeader ProtocolIE-ID ::= 22
id-RICcontrolMessage ProtocolIE-ID ::= 23
id-RICcontrolStatus ProtocolIE-ID ::= 24
id-RICindicationHeader ProtocolIE-ID ::= 25
id-RICindicationMessage ProtocolIE-ID ::= 26
id-RICindicationSN ProtocolIE-ID ::= 27
id-RICindicationType ProtocolIE-ID ::= 28
id-RICrequestID ProtocolIE-ID ::= 29
id-RICsubscriptionDetails ProtocolIE-ID ::= 30
id-TimeToWait ProtocolIE-ID ::= 31
id-RICcontrolOutcome ProtocolIE-ID ::= 32
END
-- ASN1STOP
-- ASN1START
-- **************************************************************
--
-- Container definitions
--
-- derived from 3GPP 38.413 v15.4.0
-- **************************************************************
E2AP-Containers {
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version1 (1) e2ap(1) e2ap-Containers (5) }
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
-- **************************************************************
--
-- IE parameter types from other modules.
--
-- **************************************************************
IMPORTS
Criticality,
Presence,
PrivateIE-ID,
ProtocolExtensionID,
ProtocolIE-ID
FROM E2AP-CommonDataTypes
maxProtocolIEs
FROM E2AP-Constants;
-- **************************************************************
--
-- Class Definition for Protocol IEs
--
-- **************************************************************
E2AP-PROTOCOL-IES ::= CLASS {
&id ProtocolIE-ID UNIQUE,
&criticality Criticality,
&Value,
&presence Presence
}
WITH SYNTAX {
ID &id
CRITICALITY &criticality
TYPE &Value
PRESENCE &presence
}
-- **************************************************************
--
-- Class Definition for Protocol IEs
--
-- **************************************************************
E2AP-PROTOCOL-IES-PAIR ::= CLASS {
&id ProtocolIE-ID UNIQUE,
&firstCriticality Criticality,
&FirstValue,
&secondCriticality Criticality,
&SecondValue,
&presence Presence
}
WITH SYNTAX {
ID &id
FIRST CRITICALITY &firstCriticality
FIRST TYPE &FirstValue
SECOND CRITICALITY &secondCriticality
SECOND TYPE &SecondValue
PRESENCE &presence
}
-- **************************************************************
--
-- Container for Protocol IEs
--
-- **************************************************************
ProtocolIE-Container {E2AP-PROTOCOL-IES : IEsSetParam} ::=
SEQUENCE (SIZE (0..maxProtocolIEs)) OF
ProtocolIE-Field {{IEsSetParam}}
ProtocolIE-SingleContainer {E2AP-PROTOCOL-IES : IEsSetParam} ::=
ProtocolIE-Field {{IEsSetParam}}
ProtocolIE-Field {E2AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
id E2AP-PROTOCOL-IES.&id ({IEsSetParam}),
criticality E2AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
value E2AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
}
-- **************************************************************
--
-- Container for Protocol IE Pairs
--
-- **************************************************************
ProtocolIE-ContainerPair {E2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
SEQUENCE (SIZE (0..maxProtocolIEs)) OF
ProtocolIE-FieldPair {{IEsSetParam}}
ProtocolIE-FieldPair {E2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
id E2AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
firstCriticality E2AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
firstValue E2AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
secondCriticality E2AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
secondValue E2AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
}
-- **************************************************************
--
-- Container Lists for Protocol IE Containers
--
-- **************************************************************
ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, E2AP-PROTOCOL-IES : IEsSetParam} ::=
SEQUENCE (SIZE (lowerBound..upperBound)) OF
ProtocolIE-SingleContainer {{IEsSetParam}}
ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, E2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
SEQUENCE (SIZE (lowerBound..upperBound)) OF
ProtocolIE-ContainerPair {{IEsSetParam}}
END
-- ASN1STOP