Commit 45f52474 authored by Cedric Roux's avatar Cedric Roux

- Prefix-ed Informations Elements for S1AP to avoid types redefinitions with RRC

EPC/eNB builds OK

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4373 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent 55337aa6
...@@ -12,16 +12,16 @@ DEFINITIONS AUTOMATIC TAGS ::= ...@@ -12,16 +12,16 @@ DEFINITIONS AUTOMATIC TAGS ::=
BEGIN BEGIN
Criticality ::= ENUMERATED { reject, ignore, notify } S1ap-Criticality ::= ENUMERATED { reject, ignore, notify }
Presence ::= ENUMERATED { optional, conditional, mandatory } S1ap-Presence ::= ENUMERATED { optional, conditional, mandatory }
PrivateIE-ID ::= CHOICE { S1ap-PrivateIE-ID ::= CHOICE {
local INTEGER (0..65535), local INTEGER (0..65535),
global OBJECT IDENTIFIER global OBJECT IDENTIFIER
} }
ProcedureCode ::= INTEGER { S1ap-ProcedureCode ::= INTEGER {
id-HandoverPreparation(0), id-HandoverPreparation(0),
id-HandoverResourceAllocation(1), id-HandoverResourceAllocation(1),
id-HandoverNotification(2), id-HandoverNotification(2),
...@@ -72,9 +72,9 @@ ProcedureCode ::= INTEGER { ...@@ -72,9 +72,9 @@ ProcedureCode ::= INTEGER {
id-uplinkNonUEAssociatedLPPaTransport(47) id-uplinkNonUEAssociatedLPPaTransport(47)
} (0..255) } (0..255)
ProtocolExtensionID ::= INTEGER (0..65535) S1ap-ProtocolExtensionID ::= INTEGER (0..65535)
ProtocolIE-ID ::= INTEGER { S1ap-ProtocolIE-ID ::= INTEGER {
id-MME-UE-S1AP-ID (0), id-MME-UE-S1AP-ID (0),
id-HandoverType (1), id-HandoverType (1),
id-Cause (2), id-Cause (2),
...@@ -227,6 +227,6 @@ ProtocolIE-ID ::= INTEGER { ...@@ -227,6 +227,6 @@ ProtocolIE-ID ::= INTEGER {
id-PrivacyIndicator (166) id-PrivacyIndicator (166)
} (0..65535) } (0..65535)
TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome } S1ap-TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome }
END END
...@@ -19,8 +19,8 @@ BEGIN ...@@ -19,8 +19,8 @@ BEGIN
-- ************************************************************** -- **************************************************************
IMPORTS IMPORTS
ProcedureCode, S1ap-ProcedureCode,
ProtocolIE-ID S1ap-ProtocolIE-ID
FROM S1AP-CommonDataTypes; FROM S1AP-CommonDataTypes;
...@@ -31,54 +31,54 @@ FROM S1AP-CommonDataTypes; ...@@ -31,54 +31,54 @@ FROM S1AP-CommonDataTypes;
-- --
-- ************************************************************** -- **************************************************************
id-HandoverPreparation ProcedureCode ::= 0 id-HandoverPreparation S1ap-ProcedureCode ::= 0
id-HandoverResourceAllocation ProcedureCode ::= 1 id-HandoverResourceAllocation S1ap-ProcedureCode ::= 1
id-HandoverNotification ProcedureCode ::= 2 id-HandoverNotification S1ap-ProcedureCode ::= 2
id-PathSwitchRequest ProcedureCode ::= 3 id-PathSwitchRequest S1ap-ProcedureCode ::= 3
id-HandoverCancel ProcedureCode ::= 4 id-HandoverCancel S1ap-ProcedureCode ::= 4
id-E-RABSetup ProcedureCode ::= 5 id-E-RABSetup S1ap-ProcedureCode ::= 5
id-E-RABModify ProcedureCode ::= 6 id-E-RABModify S1ap-ProcedureCode ::= 6
id-E-RABRelease ProcedureCode ::= 7 id-E-RABRelease S1ap-ProcedureCode ::= 7
id-E-RABReleaseIndication ProcedureCode ::= 8 id-E-RABReleaseIndication S1ap-ProcedureCode ::= 8
id-InitialContextSetup ProcedureCode ::= 9 id-InitialContextSetup S1ap-ProcedureCode ::= 9
id-Paging ProcedureCode ::= 10 id-Paging S1ap-ProcedureCode ::= 10
id-downlinkNASTransport ProcedureCode ::= 11 id-downlinkNASTransport S1ap-ProcedureCode ::= 11
id-initialUEMessage ProcedureCode ::= 12 id-initialUEMessage S1ap-ProcedureCode ::= 12
id-uplinkNASTransport ProcedureCode ::= 13 id-uplinkNASTransport S1ap-ProcedureCode ::= 13
id-Reset ProcedureCode::= 14 id-Reset S1ap-ProcedureCode::= 14
id-ErrorIndication ProcedureCode ::= 15 id-ErrorIndication S1ap-ProcedureCode ::= 15
id-NASNonDeliveryIndication ProcedureCode ::= 16 id-NASNonDeliveryIndication S1ap-ProcedureCode ::= 16
id-S1Setup ProcedureCode ::= 17 id-S1Setup S1ap-ProcedureCode ::= 17
id-UEContextReleaseRequest ProcedureCode ::= 18 id-UEContextReleaseRequest S1ap-ProcedureCode ::= 18
id-DownlinkS1cdma2000tunneling ProcedureCode ::= 19 id-DownlinkS1cdma2000tunneling S1ap-ProcedureCode ::= 19
id-UplinkS1cdma2000tunneling ProcedureCode ::= 20 id-UplinkS1cdma2000tunneling S1ap-ProcedureCode ::= 20
id-UEContextModification ProcedureCode ::= 21 id-UEContextModification S1ap-ProcedureCode ::= 21
id-UECapabilityInfoIndication ProcedureCode ::= 22 id-UECapabilityInfoIndication S1ap-ProcedureCode ::= 22
id-UEContextRelease ProcedureCode ::= 23 id-UEContextRelease S1ap-ProcedureCode ::= 23
id-eNBStatusTransfer ProcedureCode ::= 24 id-eNBStatusTransfer S1ap-ProcedureCode ::= 24
id-MMEStatusTransfer ProcedureCode ::= 25 id-MMEStatusTransfer S1ap-ProcedureCode ::= 25
id-DeactivateTrace ProcedureCode ::= 26 id-DeactivateTrace S1ap-ProcedureCode ::= 26
id-TraceStart ProcedureCode ::= 27 id-TraceStart S1ap-ProcedureCode ::= 27
id-TraceFailureIndication ProcedureCode ::= 28 id-TraceFailureIndication S1ap-ProcedureCode ::= 28
id-ENBConfigurationUpdate ProcedureCode ::= 29 id-ENBConfigurationUpdate S1ap-ProcedureCode ::= 29
id-MMEConfigurationUpdate ProcedureCode ::= 30 id-MMEConfigurationUpdate S1ap-ProcedureCode ::= 30
id-LocationReportingControl ProcedureCode ::= 31 id-LocationReportingControl S1ap-ProcedureCode ::= 31
id-LocationReportingFailureIndication ProcedureCode ::= 32 id-LocationReportingFailureIndication S1ap-ProcedureCode ::= 32
id-LocationReport ProcedureCode ::= 33 id-LocationReport S1ap-ProcedureCode ::= 33
id-OverloadStart ProcedureCode ::= 34 id-OverloadStart S1ap-ProcedureCode ::= 34
id-OverloadStop ProcedureCode ::= 35 id-OverloadStop S1ap-ProcedureCode ::= 35
id-WriteReplaceWarning ProcedureCode ::= 36 id-WriteReplaceWarning S1ap-ProcedureCode ::= 36
id-eNBDirectInformationTransfer ProcedureCode ::= 37 id-eNBDirectInformationTransfer S1ap-ProcedureCode ::= 37
id-MMEDirectInformationTransfer ProcedureCode ::= 38 id-MMEDirectInformationTransfer S1ap-ProcedureCode ::= 38
id-PrivateMessage ProcedureCode ::= 39 id-PrivateMessage S1ap-ProcedureCode ::= 39
id-eNBConfigurationTransfer ProcedureCode ::= 40 id-eNBConfigurationTransfer S1ap-ProcedureCode ::= 40
id-MMEConfigurationTransfer ProcedureCode ::= 41 id-MMEConfigurationTransfer S1ap-ProcedureCode ::= 41
id-CellTrafficTrace ProcedureCode ::= 42 id-CellTrafficTrace S1ap-ProcedureCode ::= 42
id-Kill ProcedureCode ::= 43 id-Kill S1ap-ProcedureCode ::= 43
id-downlinkUEAssociatedLPPaTransport ProcedureCode ::= 44 id-downlinkUEAssociatedLPPaTransport S1ap-ProcedureCode ::= 44
id-uplinkUEAssociatedLPPaTransport ProcedureCode ::= 45 id-uplinkUEAssociatedLPPaTransport S1ap-ProcedureCode ::= 45
id-downlinkNonUEAssociatedLPPaTransport ProcedureCode ::= 46 id-downlinkNonUEAssociatedLPPaTransport S1ap-ProcedureCode ::= 46
id-uplinkNonUEAssociatedLPPaTransport ProcedureCode ::= 47 id-uplinkNonUEAssociatedLPPaTransport S1ap-ProcedureCode ::= 47
-- ************************************************************** -- **************************************************************
-- --
...@@ -86,41 +86,41 @@ id-uplinkNonUEAssociatedLPPaTransport ProcedureCode ::= 47 ...@@ -86,41 +86,41 @@ id-uplinkNonUEAssociatedLPPaTransport ProcedureCode ::= 47
-- --
-- ************************************************************** -- **************************************************************
maxPrivateIEs INTEGER ::= 65535 s1ap-maxPrivateIEs INTEGER ::= 65535
maxProtocolExtensions INTEGER ::= 65535 s1ap-maxProtocolExtensions INTEGER ::= 65535
maxProtocolIEs INTEGER ::= 65535 s1ap-maxProtocolIEs INTEGER ::= 65535
-- ************************************************************** -- **************************************************************
-- --
-- Lists -- Lists
-- --
-- ************************************************************** -- **************************************************************
maxNrOfCSGs INTEGER ::= 256 s1ap-maxNrOfCSGs INTEGER ::= 256
maxNrOfE-RABs INTEGER ::= 256 s1ap-maxNrOfE-RABs INTEGER ::= 256
maxnoofTAIs INTEGER ::= 256 s1ap-maxnoofTAIs INTEGER ::= 256
maxnoofTACs INTEGER ::= 256 s1ap-maxnoofTACs INTEGER ::= 256
maxNrOfErrors INTEGER ::= 256 s1ap-maxNrOfErrors INTEGER ::= 256
maxnoofBPLMNs INTEGER ::= 6 s1ap-maxnoofBPLMNs INTEGER ::= 6
maxnoofPLMNsPerMME INTEGER ::= 32 s1ap-maxnoofPLMNsPerMME INTEGER ::= 32
maxnoofEPLMNs INTEGER ::= 15 s1ap-maxnoofEPLMNs INTEGER ::= 15
maxnoofEPLMNsPlusOne INTEGER ::= 16 s1ap-maxnoofEPLMNsPlusOne INTEGER ::= 16
maxnoofForbLACs INTEGER ::= 4096 s1ap-maxnoofForbLACs INTEGER ::= 4096
maxnoofForbTACs INTEGER ::= 4096 s1ap-maxnoofForbTACs INTEGER ::= 4096
maxNrOfIndividualS1ConnectionsToReset INTEGER ::= 256 s1ap-maxNrOfIndividualS1ConnectionsToReset INTEGER ::= 256
maxnoofCells INTEGER ::= 16 s1ap-maxnoofCells INTEGER ::= 16
maxnoofTAIforWarning INTEGER ::= 65535 s1ap-maxnoofTAIforWarning INTEGER ::= 65535
maxnoofCellID INTEGER ::= 65535 s1ap-maxnoofCellID INTEGER ::= 65535
maxnoofEmergencyAreaID INTEGER ::= 65535 s1ap-maxnoofEmergencyAreaID INTEGER ::= 65535
maxnoofCellinTAI INTEGER ::= 65535 s1ap-maxnoofCellinTAI INTEGER ::= 65535
maxnoofCellinEAI INTEGER ::= 65535 s1ap-maxnoofCellinEAI INTEGER ::= 65535
maxnoofeNBX2TLAs INTEGER ::= 2 s1ap-maxnoofeNBX2TLAs INTEGER ::= 2
maxnoofeNBX2ExtTLAs INTEGER ::= 16 s1ap-maxnoofeNBX2ExtTLAs INTEGER ::= 16
maxnoofeNBX2GTPTLAs INTEGER ::= 16 s1ap-maxnoofeNBX2GTPTLAs INTEGER ::= 16
maxnoofRATs INTEGER ::= 8 s1ap-maxnoofRATs INTEGER ::= 8
maxnoofGroupIDs INTEGER ::= 65535 s1ap-maxnoofGroupIDs INTEGER ::= 65535
maxnoofMMECs INTEGER ::= 256 s1ap-maxnoofMMECs INTEGER ::= 256
maxnoofCellIDforMDT INTEGER ::= 32 s1ap-maxnoofCellIDforMDT INTEGER ::= 32
maxnoofTAforMDT INTEGER ::= 8 s1ap-maxnoofTAforMDT INTEGER ::= 8
-- ************************************************************** -- **************************************************************
...@@ -129,155 +129,155 @@ maxnoofTAforMDT INTEGER ::= 8 ...@@ -129,155 +129,155 @@ maxnoofTAforMDT INTEGER ::= 8
-- --
-- ************************************************************** -- **************************************************************
id-MME-UE-S1AP-ID ProtocolIE-ID ::= 0 id-MME-UE-S1AP-ID S1ap-ProtocolIE-ID ::= 0
id-HandoverType ProtocolIE-ID ::= 1 id-HandoverType S1ap-ProtocolIE-ID ::= 1
id-Cause ProtocolIE-ID ::= 2 id-Cause S1ap-ProtocolIE-ID ::= 2
id-SourceID ProtocolIE-ID ::= 3 id-SourceID S1ap-ProtocolIE-ID ::= 3
id-TargetID ProtocolIE-ID ::= 4 id-TargetID S1ap-ProtocolIE-ID ::= 4
id-eNB-UE-S1AP-ID ProtocolIE-ID ::= 8 id-eNB-UE-S1AP-ID S1ap-ProtocolIE-ID ::= 8
id-E-RABSubjecttoDataForwardingList ProtocolIE-ID ::= 12 id-E-RABSubjecttoDataForwardingList S1ap-ProtocolIE-ID ::= 12
id-E-RABtoReleaseListHOCmd ProtocolIE-ID ::= 13 id-E-RABtoReleaseListHOCmd S1ap-ProtocolIE-ID ::= 13
id-E-RABDataForwardingItem ProtocolIE-ID ::= 14 id-E-RABDataForwardingItem S1ap-ProtocolIE-ID ::= 14
id-E-RABReleaseItemBearerRelComp ProtocolIE-ID ::= 15 id-E-RABReleaseItemBearerRelComp S1ap-ProtocolIE-ID ::= 15
id-E-RABToBeSetupListBearerSUReq ProtocolIE-ID ::= 16 id-E-RABToBeSetupListBearerSUReq S1ap-ProtocolIE-ID ::= 16
id-E-RABToBeSetupItemBearerSUReq ProtocolIE-ID ::= 17 id-E-RABToBeSetupItemBearerSUReq S1ap-ProtocolIE-ID ::= 17
id-E-RABAdmittedList ProtocolIE-ID ::= 18 id-E-RABAdmittedList S1ap-ProtocolIE-ID ::= 18
id-E-RABFailedToSetupListHOReqAck ProtocolIE-ID ::= 19 id-E-RABFailedToSetupListHOReqAck S1ap-ProtocolIE-ID ::= 19
id-E-RABAdmittedItem ProtocolIE-ID ::= 20 id-E-RABAdmittedItem S1ap-ProtocolIE-ID ::= 20
id-E-RABFailedtoSetupItemHOReqAck ProtocolIE-ID ::= 21 id-E-RABFailedtoSetupItemHOReqAck S1ap-ProtocolIE-ID ::= 21
id-E-RABToBeSwitchedDLList ProtocolIE-ID ::= 22 id-E-RABToBeSwitchedDLList S1ap-ProtocolIE-ID ::= 22
id-E-RABToBeSwitchedDLItem ProtocolIE-ID ::= 23 id-E-RABToBeSwitchedDLItem S1ap-ProtocolIE-ID ::= 23
id-E-RABToBeSetupListCtxtSUReq ProtocolIE-ID ::= 24 id-E-RABToBeSetupListCtxtSUReq S1ap-ProtocolIE-ID ::= 24
id-TraceActivation ProtocolIE-ID ::= 25 id-TraceActivation S1ap-ProtocolIE-ID ::= 25
id-NAS-PDU ProtocolIE-ID ::= 26 id-NAS-PDU S1ap-ProtocolIE-ID ::= 26
id-E-RABToBeSetupItemHOReq ProtocolIE-ID ::= 27 id-E-RABToBeSetupItemHOReq S1ap-ProtocolIE-ID ::= 27
id-E-RABSetupListBearerSURes ProtocolIE-ID ::= 28 id-E-RABSetupListBearerSURes S1ap-ProtocolIE-ID ::= 28
id-E-RABFailedToSetupListBearerSURes ProtocolIE-ID ::= 29 id-E-RABFailedToSetupListBearerSURes S1ap-ProtocolIE-ID ::= 29
id-E-RABToBeModifiedListBearerModReq ProtocolIE-ID ::= 30 id-E-RABToBeModifiedListBearerModReq S1ap-ProtocolIE-ID ::= 30
id-E-RABModifyListBearerModRes ProtocolIE-ID ::= 31 id-E-RABModifyListBearerModRes S1ap-ProtocolIE-ID ::= 31
id-E-RABFailedToModifyList ProtocolIE-ID ::= 32 id-E-RABFailedToModifyList S1ap-ProtocolIE-ID ::= 32
id-E-RABToBeReleasedList ProtocolIE-ID ::= 33 id-E-RABToBeReleasedList S1ap-ProtocolIE-ID ::= 33
id-E-RABFailedToReleaseList ProtocolIE-ID ::= 34 id-E-RABFailedToReleaseList S1ap-ProtocolIE-ID ::= 34
id-E-RABItem ProtocolIE-ID ::= 35 id-E-RABItem S1ap-ProtocolIE-ID ::= 35
id-E-RABToBeModifiedItemBearerModReq ProtocolIE-ID ::= 36 id-E-RABToBeModifiedItemBearerModReq S1ap-ProtocolIE-ID ::= 36
id-E-RABModifyItemBearerModRes ProtocolIE-ID ::= 37 id-E-RABModifyItemBearerModRes S1ap-ProtocolIE-ID ::= 37
id-E-RABReleaseItem ProtocolIE-ID ::= 38 id-E-RABReleaseItem S1ap-ProtocolIE-ID ::= 38
id-E-RABSetupItemBearerSURes ProtocolIE-ID ::= 39 id-E-RABSetupItemBearerSURes S1ap-ProtocolIE-ID ::= 39
id-SecurityContext ProtocolIE-ID ::= 40 id-SecurityContext S1ap-ProtocolIE-ID ::= 40
id-HandoverRestrictionList ProtocolIE-ID ::= 41 id-HandoverRestrictionList S1ap-ProtocolIE-ID ::= 41
id-UEPagingID ProtocolIE-ID ::= 43 id-UEPagingID S1ap-ProtocolIE-ID ::= 43
id-pagingDRX ProtocolIE-ID ::= 44 id-pagingDRX S1ap-ProtocolIE-ID ::= 44
id-TAIList ProtocolIE-ID ::= 46 id-TAIList S1ap-ProtocolIE-ID ::= 46
id-TAIItem ProtocolIE-ID ::= 47 id-TAIItem S1ap-ProtocolIE-ID ::= 47
id-E-RABFailedToSetupListCtxtSURes ProtocolIE-ID ::= 48 id-E-RABFailedToSetupListCtxtSURes S1ap-ProtocolIE-ID ::= 48
id-E-RABReleaseItemHOCmd ProtocolIE-ID ::= 49 id-E-RABReleaseItemHOCmd S1ap-ProtocolIE-ID ::= 49
id-E-RABSetupItemCtxtSURes ProtocolIE-ID ::= 50 id-E-RABSetupItemCtxtSURes S1ap-ProtocolIE-ID ::= 50
id-E-RABSetupListCtxtSURes ProtocolIE-ID ::= 51 id-E-RABSetupListCtxtSURes S1ap-ProtocolIE-ID ::= 51
id-E-RABToBeSetupItemCtxtSUReq ProtocolIE-ID ::= 52 id-E-RABToBeSetupItemCtxtSUReq S1ap-ProtocolIE-ID ::= 52
id-E-RABToBeSetupListHOReq ProtocolIE-ID ::= 53 id-E-RABToBeSetupListHOReq S1ap-ProtocolIE-ID ::= 53
id-GERANtoLTEHOInformationRes ProtocolIE-ID ::= 55 id-GERANtoLTEHOInformationRes S1ap-ProtocolIE-ID ::= 55
id-UTRANtoLTEHOInformationRes ProtocolIE-ID ::= 57 id-UTRANtoLTEHOInformationRes S1ap-ProtocolIE-ID ::= 57
id-CriticalityDiagnostics ProtocolIE-ID ::= 58 id-CriticalityDiagnostics S1ap-ProtocolIE-ID ::= 58
id-Global-ENB-ID ProtocolIE-ID ::= 59 id-Global-ENB-ID S1ap-ProtocolIE-ID ::= 59
id-eNBname ProtocolIE-ID ::= 60 id-eNBname S1ap-ProtocolIE-ID ::= 60
id-MMEname ProtocolIE-ID ::= 61 id-MMEname S1ap-ProtocolIE-ID ::= 61
id-ServedPLMNs ProtocolIE-ID ::= 63 id-ServedPLMNs S1ap-ProtocolIE-ID ::= 63
id-SupportedTAs ProtocolIE-ID ::= 64 id-SupportedTAs S1ap-ProtocolIE-ID ::= 64
id-TimeToWait ProtocolIE-ID ::= 65 id-TimeToWait S1ap-ProtocolIE-ID ::= 65
id-uEaggregateMaximumBitrate ProtocolIE-ID ::= 66 id-uEaggregateMaximumBitrate S1ap-ProtocolIE-ID ::= 66
id-TAI ProtocolIE-ID ::= 67 id-TAI S1ap-ProtocolIE-ID ::= 67
id-E-RABReleaseListBearerRelComp ProtocolIE-ID ::= 69 id-E-RABReleaseListBearerRelComp S1ap-ProtocolIE-ID ::= 69
id-cdma2000PDU ProtocolIE-ID ::= 70 id-cdma2000PDU S1ap-ProtocolIE-ID ::= 70
id-cdma2000RATType ProtocolIE-ID ::= 71 id-cdma2000RATType S1ap-ProtocolIE-ID ::= 71
id-cdma2000SectorID ProtocolIE-ID ::= 72 id-cdma2000SectorID S1ap-ProtocolIE-ID ::= 72
id-SecurityKey ProtocolIE-ID ::= 73 id-SecurityKey S1ap-ProtocolIE-ID ::= 73
id-UERadioCapability ProtocolIE-ID ::= 74 id-UERadioCapability S1ap-ProtocolIE-ID ::= 74
id-GUMMEI-ID ProtocolIE-ID ::= 75 id-GUMMEI-ID S1ap-ProtocolIE-ID ::= 75
id-E-RABInformationListItem ProtocolIE-ID ::= 78 id-E-RABInformationListItem S1ap-ProtocolIE-ID ::= 78
id-Direct-Forwarding-Path-Availability ProtocolIE-ID ::= 79 id-Direct-Forwarding-Path-Availability S1ap-ProtocolIE-ID ::= 79
id-UEIdentityIndexValue ProtocolIE-ID ::= 80 id-UEIdentityIndexValue S1ap-ProtocolIE-ID ::= 80
id-cdma2000HOStatus ProtocolIE-ID ::= 83 id-cdma2000HOStatus S1ap-ProtocolIE-ID ::= 83
id-cdma2000HORequiredIndication ProtocolIE-ID ::= 84 id-cdma2000HORequiredIndication S1ap-ProtocolIE-ID ::= 84
id-E-UTRAN-Trace-ID ProtocolIE-ID ::= 86 id-E-UTRAN-Trace-ID S1ap-ProtocolIE-ID ::= 86
id-RelativeMMECapacity ProtocolIE-ID ::= 87 id-RelativeMMECapacity S1ap-ProtocolIE-ID ::= 87
id-SourceMME-UE-S1AP-ID ProtocolIE-ID ::= 88 id-SourceMME-UE-S1AP-ID S1ap-ProtocolIE-ID ::= 88
id-Bearers-SubjectToStatusTransfer-Item ProtocolIE-ID ::= 89 id-Bearers-SubjectToStatusTransfer-Item S1ap-ProtocolIE-ID ::= 89
id-eNB-StatusTransfer-TransparentContainer ProtocolIE-ID ::= 90 id-eNB-StatusTransfer-TransparentContainer S1ap-ProtocolIE-ID ::= 90
id-UE-associatedLogicalS1-ConnectionItem ProtocolIE-ID ::= 91 id-UE-associatedLogicalS1-ConnectionItem S1ap-ProtocolIE-ID ::= 91
id-ResetType ProtocolIE-ID ::= 92 id-ResetType S1ap-ProtocolIE-ID ::= 92
id-UE-associatedLogicalS1-ConnectionListResAck ProtocolIE-ID ::= 93 id-UE-associatedLogicalS1-ConnectionListResAck S1ap-ProtocolIE-ID ::= 93
id-E-RABToBeSwitchedULItem ProtocolIE-ID ::= 94 id-E-RABToBeSwitchedULItem S1ap-ProtocolIE-ID ::= 94
id-E-RABToBeSwitchedULList ProtocolIE-ID ::= 95 id-E-RABToBeSwitchedULList S1ap-ProtocolIE-ID ::= 95
id-S-TMSI ProtocolIE-ID ::= 96 id-S-TMSI S1ap-ProtocolIE-ID ::= 96
id-cdma2000OneXRAND ProtocolIE-ID ::= 97 id-cdma2000OneXRAND S1ap-ProtocolIE-ID ::= 97
id-RequestType ProtocolIE-ID ::= 98 id-RequestType S1ap-ProtocolIE-ID ::= 98
id-UE-S1AP-IDs ProtocolIE-ID ::= 99 id-UE-S1AP-IDs S1ap-ProtocolIE-ID ::= 99
id-EUTRAN-CGI ProtocolIE-ID ::= 100 id-EUTRAN-CGI S1ap-ProtocolIE-ID ::= 100
id-OverloadResponse ProtocolIE-ID ::= 101 id-OverloadResponse S1ap-ProtocolIE-ID ::= 101
id-cdma2000OneXSRVCCInfo ProtocolIE-ID ::= 102 id-cdma2000OneXSRVCCInfo S1ap-ProtocolIE-ID ::= 102
id-E-RABFailedToBeReleasedList ProtocolIE-ID ::= 103 id-E-RABFailedToBeReleasedList S1ap-ProtocolIE-ID ::= 103
id-Source-ToTarget-TransparentContainer ProtocolIE-ID ::= 104 id-Source-ToTarget-TransparentContainer S1ap-ProtocolIE-ID ::= 104
id-ServedGUMMEIs ProtocolIE-ID ::= 105 id-ServedGUMMEIs S1ap-ProtocolIE-ID ::= 105
id-SubscriberProfileIDforRFP ProtocolIE-ID ::= 106 id-SubscriberProfileIDforRFP S1ap-ProtocolIE-ID ::= 106
id-UESecurityCapabilities ProtocolIE-ID ::= 107 id-UESecurityCapabilities S1ap-ProtocolIE-ID ::= 107
id-CSFallbackIndicator ProtocolIE-ID ::= 108 id-CSFallbackIndicator S1ap-ProtocolIE-ID ::= 108
id-CNDomain ProtocolIE-ID ::= 109 id-CNDomain S1ap-ProtocolIE-ID ::= 109
id-E-RABReleasedList ProtocolIE-ID ::= 110 id-E-RABReleasedList S1ap-ProtocolIE-ID ::= 110
id-MessageIdentifier ProtocolIE-ID ::= 111 id-MessageIdentifier S1ap-ProtocolIE-ID ::= 111
id-SerialNumber ProtocolIE-ID ::= 112 id-SerialNumber S1ap-ProtocolIE-ID ::= 112
id-WarningAreaList ProtocolIE-ID ::= 113 id-WarningAreaList S1ap-ProtocolIE-ID ::= 113
id-RepetitionPeriod ProtocolIE-ID ::= 114 id-RepetitionPeriod S1ap-ProtocolIE-ID ::= 114
id-NumberofBroadcastRequest ProtocolIE-ID ::= 115 id-NumberofBroadcastRequest S1ap-ProtocolIE-ID ::= 115
id-WarningType ProtocolIE-ID ::= 116 id-WarningType S1ap-ProtocolIE-ID ::= 116
id-WarningSecurityInfo ProtocolIE-ID ::= 117 id-WarningSecurityInfo S1ap-ProtocolIE-ID ::= 117
id-DataCodingScheme ProtocolIE-ID ::= 118 id-DataCodingScheme S1ap-ProtocolIE-ID ::= 118
id-WarningMessageContents ProtocolIE-ID ::= 119 id-WarningMessageContents S1ap-ProtocolIE-ID ::= 119
id-BroadcastCompletedAreaList ProtocolIE-ID ::= 120 id-BroadcastCompletedAreaList S1ap-ProtocolIE-ID ::= 120
id-Inter-SystemInformationTransferTypeEDT ProtocolIE-ID ::= 121 id-Inter-SystemInformationTransferTypeEDT S1ap-ProtocolIE-ID ::= 121
id-Inter-SystemInformationTransferTypeMDT ProtocolIE-ID ::= 122 id-Inter-SystemInformationTransferTypeMDT S1ap-ProtocolIE-ID ::= 122
id-Target-ToSource-TransparentContainer ProtocolIE-ID ::= 123 id-Target-ToSource-TransparentContainer S1ap-ProtocolIE-ID ::= 123
id-SRVCCOperationPossible ProtocolIE-ID ::= 124 id-SRVCCOperationPossible S1ap-ProtocolIE-ID ::= 124
id-SRVCCHOIndication ProtocolIE-ID ::= 125 id-SRVCCHOIndication S1ap-ProtocolIE-ID ::= 125
id-NAS-DownlinkCount ProtocolIE-ID ::= 126 id-NAS-DownlinkCount S1ap-ProtocolIE-ID ::= 126
id-CSG-Id ProtocolIE-ID ::= 127 id-CSG-Id S1ap-ProtocolIE-ID ::= 127
id-CSG-IdList ProtocolIE-ID ::= 128 id-CSG-IdList S1ap-ProtocolIE-ID ::= 128
id-SONConfigurationTransferECT ProtocolIE-ID ::= 129 id-SONConfigurationTransferECT S1ap-ProtocolIE-ID ::= 129
id-SONConfigurationTransferMCT ProtocolIE-ID ::= 130 id-SONConfigurationTransferMCT S1ap-ProtocolIE-ID ::= 130
id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 131 id-TraceCollectionEntityIPAddress S1ap-ProtocolIE-ID ::= 131
id-MSClassmark2 ProtocolIE-ID ::= 132 id-MSClassmark2 S1ap-ProtocolIE-ID ::= 132
id-MSClassmark3 ProtocolIE-ID ::= 133 id-MSClassmark3 S1ap-ProtocolIE-ID ::= 133
id-RRC-Establishment-Cause ProtocolIE-ID ::= 134 id-RRC-Establishment-Cause S1ap-ProtocolIE-ID ::= 134
id-NASSecurityParametersfromE-UTRAN ProtocolIE-ID ::= 135 id-NASSecurityParametersfromE-UTRAN S1ap-ProtocolIE-ID ::= 135
id-NASSecurityParameterstoE-UTRAN ProtocolIE-ID ::= 136 id-NASSecurityParameterstoE-UTRAN S1ap-ProtocolIE-ID ::= 136
id-DefaultPagingDRX ProtocolIE-ID ::= 137 id-DefaultPagingDRX S1ap-ProtocolIE-ID ::= 137
id-Source-ToTarget-TransparentContainer-Secondary ProtocolIE-ID ::= 138 id-Source-ToTarget-TransparentContainer-Secondary S1ap-ProtocolIE-ID ::= 138
id-Target-ToSource-TransparentContainer-Secondary ProtocolIE-ID ::= 139 id-Target-ToSource-TransparentContainer-Secondary S1ap-ProtocolIE-ID ::= 139
id-EUTRANRoundTripDelayEstimationInfo ProtocolIE-ID ::= 140 id-EUTRANRoundTripDelayEstimationInfo S1ap-ProtocolIE-ID ::= 140
id-BroadcastCancelledAreaList ProtocolIE-ID ::= 141 id-BroadcastCancelledAreaList S1ap-ProtocolIE-ID ::= 141
id-ConcurrentWarningMessageIndicator ProtocolIE-ID ::= 142 id-ConcurrentWarningMessageIndicator S1ap-ProtocolIE-ID ::= 142
id-Data-Forwarding-Not-Possible ProtocolIE-ID ::= 143 id-Data-Forwarding-Not-Possible S1ap-ProtocolIE-ID ::= 143
id-ExtendedRepetitionPeriod ProtocolIE-ID ::= 144 id-ExtendedRepetitionPeriod S1ap-ProtocolIE-ID ::= 144
id-CellAccessMode ProtocolIE-ID ::= 145 id-CellAccessMode S1ap-ProtocolIE-ID ::= 145
id-CSGMembershipStatus ProtocolIE-ID ::= 146 id-CSGMembershipStatus S1ap-ProtocolIE-ID ::= 146
id-LPPa-PDU ProtocolIE-ID ::= 147 id-LPPa-PDU S1ap-ProtocolIE-ID ::= 147
id-Routing-ID ProtocolIE-ID ::= 148 id-Routing-ID S1ap-ProtocolIE-ID ::= 148
id-Time-Synchronization-Info ProtocolIE-ID ::= 149 id-Time-Synchronization-Info S1ap-ProtocolIE-ID ::= 149
id-PS-ServiceNotAvailable ProtocolIE-ID ::= 150 id-PS-ServiceNotAvailable S1ap-ProtocolIE-ID ::= 150
id-PagingPriority ProtocolIE-ID ::= 151 id-PagingPriority S1ap-ProtocolIE-ID ::= 151
id-x2TNLConfigurationInfo ProtocolIE-ID ::= 152 id-x2TNLConfigurationInfo S1ap-ProtocolIE-ID ::= 152
id-eNBX2ExtendedTransportLayerAddresses ProtocolIE-ID ::= 153 id-eNBX2ExtendedTransportLayerAddresses S1ap-ProtocolIE-ID ::= 153
id-GUMMEIList ProtocolIE-ID ::= 154 id-GUMMEIList S1ap-ProtocolIE-ID ::= 154
id-GW-TransportLayerAddress ProtocolIE-ID ::= 155 id-GW-TransportLayerAddress S1ap-ProtocolIE-ID ::= 155
id-Correlation-ID ProtocolIE-ID ::= 156 id-Correlation-ID S1ap-ProtocolIE-ID ::= 156
id-SourceMME-GUMMEI ProtocolIE-ID ::= 157 id-SourceMME-GUMMEI S1ap-ProtocolIE-ID ::= 157
id-MME-UE-S1AP-ID-2 ProtocolIE-ID ::= 158 id-MME-UE-S1AP-ID-2 S1ap-ProtocolIE-ID ::= 158
id-RegisteredLAI ProtocolIE-ID ::= 159 id-RegisteredLAI S1ap-ProtocolIE-ID ::= 159
id-RelayNode-Indicator ProtocolIE-ID ::= 160 id-RelayNode-Indicator S1ap-ProtocolIE-ID ::= 160
id-TrafficLoadReductionIndication ProtocolIE-ID ::= 161 id-TrafficLoadReductionIndication S1ap-ProtocolIE-ID ::= 161
id-MDTConfiguration ProtocolIE-ID ::= 162 id-MDTConfiguration S1ap-ProtocolIE-ID ::= 162
id-MMERelaySupportIndicator ProtocolIE-ID ::= 163 id-MMERelaySupportIndicator S1ap-ProtocolIE-ID ::= 163
id-GWContextReleaseIndication ProtocolIE-ID ::= 164 id-GWContextReleaseIndication S1ap-ProtocolIE-ID ::= 164
id-ManagementBasedMDTAllowed ProtocolIE-ID ::= 165 id-ManagementBasedMDTAllowed S1ap-ProtocolIE-ID ::= 165
id-PrivacyIndicator ProtocolIE-ID ::= 166 id-PrivacyIndicator S1ap-ProtocolIE-ID ::= 166
END END
...@@ -19,16 +19,16 @@ BEGIN ...@@ -19,16 +19,16 @@ BEGIN
-- ************************************************************** -- **************************************************************
IMPORTS IMPORTS
Criticality, S1ap-Criticality,
Presence, S1ap-Presence,
PrivateIE-ID, S1ap-PrivateIE-ID,
ProtocolExtensionID, S1ap-ProtocolExtensionID,
ProtocolIE-ID S1ap-ProtocolIE-ID
FROM S1AP-CommonDataTypes FROM S1AP-CommonDataTypes
maxPrivateIEs, s1ap-maxPrivateIEs,
maxProtocolExtensions, s1ap-maxProtocolExtensions,
maxProtocolIEs s1ap-maxProtocolIEs
FROM S1AP-Constants; FROM S1AP-Constants;
-- ************************************************************** -- **************************************************************
...@@ -38,10 +38,10 @@ FROM S1AP-Constants; ...@@ -38,10 +38,10 @@ FROM S1AP-Constants;
-- ************************************************************** -- **************************************************************
S1AP-PROTOCOL-IES ::= CLASS { S1AP-PROTOCOL-IES ::= CLASS {
&id ProtocolIE-ID UNIQUE, &id S1ap-ProtocolIE-ID UNIQUE,
&criticality Criticality, &criticality S1ap-Criticality,
&Value, &Value,
&presence Presence &presence S1ap-Presence
} }
WITH SYNTAX { WITH SYNTAX {
ID &id ID &id
...@@ -57,20 +57,20 @@ WITH SYNTAX { ...@@ -57,20 +57,20 @@ WITH SYNTAX {
-- ************************************************************** -- **************************************************************
S1AP-PROTOCOL-IES-PAIR ::= CLASS { S1AP-PROTOCOL-IES-PAIR ::= CLASS {
&id ProtocolIE-ID UNIQUE, &id S1ap-ProtocolIE-ID UNIQUE,
&firstCriticality Criticality, &firstCriticality S1ap-Criticality,
&FirstValue, &FirstValue,
&secondCriticality Criticality, &secondCriticality S1ap-Criticality,
&SecondValue, &SecondValue,
&presence Presence &presence S1ap-Presence
} }
WITH SYNTAX { WITH SYNTAX {
ID &id ID &id
FIRST CRITICALITY &firstCriticality FIRST CRITICALITY &firstCriticality
FIRST TYPE &FirstValue FIRST TYPE &FirstValue
SECOND CRITICALITY &secondCriticality SECOND CRITICALITY &secondCriticality
SECOND TYPE &SecondValue SECOND TYPE &SecondValue
PRESENCE &presence PRESENCE &presence
} }
-- ************************************************************** -- **************************************************************
...@@ -80,16 +80,16 @@ WITH SYNTAX { ...@@ -80,16 +80,16 @@ WITH SYNTAX {
-- ************************************************************** -- **************************************************************
S1AP-PROTOCOL-EXTENSION ::= CLASS { S1AP-PROTOCOL-EXTENSION ::= CLASS {
&id ProtocolExtensionID UNIQUE, &id S1ap-ProtocolExtensionID UNIQUE,
&criticality Criticality, &criticality S1ap-Criticality,
&Extension, &Extension,
&presence Presence &presence S1ap-Presence
} }
WITH SYNTAX { WITH SYNTAX {
ID &id ID &id
CRITICALITY &criticality CRITICALITY &criticality
EXTENSION &Extension EXTENSION &Extension
PRESENCE &presence PRESENCE &presence
} }
-- ************************************************************** -- **************************************************************
...@@ -99,16 +99,16 @@ WITH SYNTAX { ...@@ -99,16 +99,16 @@ WITH SYNTAX {
-- ************************************************************** -- **************************************************************
S1AP-PRIVATE-IES ::= CLASS { S1AP-PRIVATE-IES ::= CLASS {
&id PrivateIE-ID, &id S1ap-PrivateIE-ID,
&criticality Criticality, &criticality S1ap-Criticality,
&Value, &Value,
&presence Presence &presence S1ap-Presence
} }
WITH SYNTAX { WITH SYNTAX {
ID &id ID &id
CRITICALITY &criticality CRITICALITY &criticality
TYPE &Value TYPE &Value
PRESENCE &presence PRESENCE &presence
} }
-- ************************************************************** -- **************************************************************
......
...@@ -13,775 +13,754 @@ DEFINITIONS AUTOMATIC TAGS ::= ...@@ -13,775 +13,754 @@ DEFINITIONS AUTOMATIC TAGS ::=
BEGIN BEGIN
IMPORTS IMPORTS
id-E-RABInformationListItem, s1ap-id-E-RABInformationListItem,
id-E-RABItem, s1ap-id-E-RABItem,
id-Bearers-SubjectToStatusTransfer-Item, s1ap-id-Bearers-SubjectToStatusTransfer-Item,
id-Time-Synchronization-Info, s1ap-id-Time-Synchronization-Info,
id-x2TNLConfigurationInfo, s1ap-id-x2TNLConfigurationInfo,
id-eNBX2ExtendedTransportLayerAddresses, s1ap-id-eNBX2ExtendedTransportLayerAddresses,
id-MDTConfiguration, s1ap-id-MDTConfiguration,
maxNrOfCSGs, s1ap-maxNrOfCSGs,
maxNrOfE-RABs, s1ap-maxNrOfE-RABs,
maxNrOfErrors, s1ap-maxNrOfErrors,
maxnoofBPLMNs, s1ap-maxnoofBPLMNs,
maxnoofPLMNsPerMME, s1ap-maxnoofPLMNsPerMME,
maxnoofTACs, s1ap-maxnoofTACs,
maxnoofEPLMNs, s1ap-maxnoofEPLMNs,
maxnoofEPLMNsPlusOne, s1ap-maxnoofEPLMNsPlusOne,
maxnoofForbLACs, s1ap-maxnoofForbLACs,
maxnoofForbTACs, s1ap-maxnoofForbTACs,
maxnoofCells, s1ap-maxnoofCells,
maxnoofCellID, s1ap-maxnoofCellID,
maxnoofEmergencyAreaID, s1ap-maxnoofEmergencyAreaID,
maxnoofTAIforWarning, s1ap-maxnoofTAIforWarning,
maxnoofCellinTAI, s1ap-maxnoofCellinTAI,
maxnoofCellinEAI, s1ap-maxnoofCellinEAI,
maxnoofeNBX2TLAs, s1ap-maxnoofeNBX2TLAs,
maxnoofeNBX2ExtTLAs, s1ap-maxnoofeNBX2ExtTLAs,
maxnoofeNBX2GTPTLAs, s1ap-maxnoofeNBX2GTPTLAs,
maxnoofRATs, s1ap-maxnoofRATs,
maxnoofGroupIDs, s1ap-maxnoofGroupIDs,
maxnoofMMECs, s1ap-maxnoofMMECs,
maxnoofTAforMDT, s1ap-maxnoofTAforMDT,
maxnoofCellIDforMDT, s1ap-maxnoofCellIDforMDT,
maxProtocolExtensions, s1ap-maxProtocolExtensions,
maxNrOfIndividualS1ConnectionsToReset, s1ap-maxNrOfIndividualS1ConnectionsToReset,
maxnoofTAIs s1ap-maxnoofTAIs
FROM S1AP-Constants FROM S1AP-Constants
IE S1ap-IE
FROM S1AP-PDU FROM S1AP-PDU
Criticality, S1ap-Criticality,
ProcedureCode, S1ap-ProcedureCode,
ProtocolIE-ID, S1ap-ProtocolIE-ID,
TriggeringMessage S1ap-TriggeringMessage
FROM S1AP-CommonDataTypes; FROM S1AP-CommonDataTypes;
IE-Extensions ::= SEQUENCE (SIZE (1..maxProtocolExtensions)) OF IE S1ap-IE-Extensions ::= SEQUENCE (SIZE (1..s1ap-maxProtocolExtensions)) OF S1ap-IE
-- A -- A
AreaScopeOfMDT ::= CHOICE { S1ap-AreaScopeOfMDT ::= CHOICE {
cellBased CellBasedMDT, cellBased S1ap-CellBasedMDT,
tABased TABasedMDT, tABased S1ap-TABasedMDT,
pLMNWide NULL, pLMNWide NULL,
... ...
} }
AllocationAndRetentionPriority ::= SEQUENCE { S1ap-AllocationAndRetentionPriority ::= SEQUENCE {
priorityLevel PriorityLevel, priorityLevel S1ap-PriorityLevel,
pre-emptionCapability Pre-emptionCapability, pre-emptionCapability S1ap-Pre-emptionCapability,
pre-emptionVulnerability Pre-emptionVulnerability, pre-emptionVulnerability S1ap-Pre-emptionVulnerability,
-- iE-Extensions ProtocolExtensionContainer { {AllocationAndRetentionPriority-ExtIEs} } OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, ...
...
} }
-- B -- B
-- Bearers-SubjectToStatusTransferList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { { Bearers-SubjectToStatusTransfer-ItemIEs } } S1ap-Bearers-SubjectToStatusTransfer-List ::= SEQUENCE (SIZE(1.. s1ap-maxNrOfE-RABs)) OF S1ap-IE
Bearers-SubjectToStatusTransfer-List ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
Bearers-SubjectToStatusTransfer-Item ::= SEQUENCE { S1ap-Bearers-SubjectToStatusTransfer-Item ::= SEQUENCE {
e-RAB-ID E-RAB-ID, e-RAB-ID S1ap-E-RAB-ID,
uL-COUNTvalue COUNTvalue, uL-COUNTvalue S1ap-COUNTvalue,
dL-COUNTvalue COUNTvalue, dL-COUNTvalue S1ap-COUNTvalue,
receiveStatusofULPDCPSDUs ReceiveStatusofULPDCPSDUs OPTIONAL, receiveStatusofULPDCPSDUs S1ap-ReceiveStatusofULPDCPSDUs OPTIONAL,
-- iE-Extensions ProtocolExtensionContainer { {Bearers-SubjectToStatusTransfer-ItemExtIEs} } OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, ...
...
} }
BitRate ::= INTEGER (0..10000000000) S1ap-BitRate ::= INTEGER (0..10000000000)
BPLMNs ::= SEQUENCE (SIZE(1.. maxnoofBPLMNs)) OF PLMNidentity S1ap-BPLMNs ::= SEQUENCE (SIZE(1.. s1ap-maxnoofBPLMNs)) OF S1ap-PLMNidentity
BroadcastCancelledAreaList ::= CHOICE { S1ap-BroadcastCancelledAreaList ::= CHOICE {
cellID-Cancelled CellID-Cancelled, cellID-Cancelled S1ap-CellID-Cancelled,
tAI-Cancelled TAI-Cancelled, tAI-Cancelled S1ap-TAI-Cancelled,
emergencyAreaID-Cancelled EmergencyAreaID-Cancelled, emergencyAreaID-Cancelled S1ap-EmergencyAreaID-Cancelled,
... ...
} }
BroadcastCompletedAreaList ::= CHOICE { S1ap-BroadcastCompletedAreaList ::= CHOICE {
cellID-Broadcast CellID-Broadcast, cellID-Broadcast S1ap-CellID-Broadcast,
tAI-Broadcast TAI-Broadcast, tAI-Broadcast S1ap-TAI-Broadcast,
emergencyAreaID-Broadcast EmergencyAreaID-Broadcast, emergencyAreaID-Broadcast S1ap-EmergencyAreaID-Broadcast,
... ...
} }
-- C -- C
CancelledCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CancelledCellinEAI-Item S1ap-CancelledCellinEAI ::= SEQUENCE (SIZE(1..s1ap-maxnoofCellinEAI)) OF S1ap-CancelledCellinEAI-Item
CancelledCellinEAI-Item ::= SEQUENCE {
eCGI EUTRAN-CGI,
numberOfBroadcasts NumberOfBroadcasts,
-- iE-Extensions ProtocolExtensionContainer { {CancelledCellinEAI-Item-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL,
...
}
CancelledCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CancelledCellinTAI-Item
CancelledCellinTAI-Item ::= SEQUENCE{
eCGI EUTRAN-CGI,
numberOfBroadcasts NumberOfBroadcasts,
-- iE-Extensions ProtocolExtensionContainer { {CancelledCellinTAI-Item-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL,
...
}
Cause ::= CHOICE {
radioNetwork CauseRadioNetwork,
transport CauseTransport,
nas CauseNas,
protocol CauseProtocol,
misc CauseMisc,
...
}
CauseMisc ::= ENUMERATED {
control-processing-overload,
not-enough-user-plane-processing-resources,
hardware-failure,
om-intervention,
unspecified,
unknown-PLMN,
...
}
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,
...
}
CauseRadioNetwork ::= ENUMERATED {
unspecified,
tx2relocoverall-expiry,
successful-handover,
release-due-to-eutran-generated-reason,
handover-cancelled,
partial-handover,
ho-failure-in-target-EPC-eNB-or-target-system,
ho-target-not-allowed,
tS1relocoverall-expiry,
tS1relocprep-expiry,
cell-not-available,
unknown-targetID,
no-radio-resources-available-in-target-cell,
unknown-mme-ue-s1ap-id,
unknown-enb-ue-s1ap-id,
unknown-pair-ue-s1ap-id,
handover-desirable-for-radio-reason,
time-critical-handover,
resource-optimisation-handover,
reduce-load-in-serving-cell,
user-inactivity,
radio-connection-with-ue-lost,
load-balancing-tau-required,
cs-fallback-triggered,
ue-not-available-for-ps-service,
radio-resources-not-available,
failure-in-radio-interface-procedure,
invalid-qos-combination,
interrat-redirection,
interaction-with-other-procedure,
unknown-E-RAB-ID,
multiple-E-RAB-ID-instances,
encryption-and-or-integrity-protection-algorithms-not-supported,
s1-intra-system-handover-triggered,
s1-inter-system-handover-triggered,
x2-handover-triggered,
...,
redirection-towards-1xRTT,
not-supported-QCI-value,
invalid-CSG-Id
S1ap-CancelledCellinEAI-Item ::= SEQUENCE {
eCGI S1ap-EUTRAN-CGI,
numberOfBroadcasts S1ap-NumberOfBroadcasts,
iE-Extensions S1ap-IE-Extensions OPTIONAL,
...
} }
CauseTransport ::= ENUMERATED { S1ap-CancelledCellinTAI ::= SEQUENCE (SIZE(1..s1ap-maxnoofCellinTAI)) OF S1ap-CancelledCellinTAI-Item
transport-resource-unavailable,
unspecified,
...
}
CauseNas ::= ENUMERATED { S1ap-CancelledCellinTAI-Item ::= SEQUENCE{
normal-release, eCGI S1ap-EUTRAN-CGI,
authentication-failure, numberOfBroadcasts S1ap-NumberOfBroadcasts,
detach, iE-Extensions S1ap-IE-Extensions OPTIONAL,
unspecified, ...
...,
csg-subscription-expiry
} }
CellAccessMode ::= ENUMERATED { S1ap-Cause ::= CHOICE {
hybrid, radioNetwork S1ap-CauseRadioNetwork,
... transport S1ap-CauseTransport,
nas S1ap-CauseNas,
protocol S1ap-CauseProtocol,
misc S1ap-CauseMisc,
...
} }
CellIdentity ::= BIT STRING (SIZE (28)) S1ap-CauseMisc ::= ENUMERATED {
control-processing-overload,
not-enough-user-plane-processing-resources,
hardware-failure,
om-intervention,
unspecified,
unknown-PLMN,
...
}
CellID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Broadcast-Item S1ap-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,
...
}
CellID-Broadcast-Item ::= SEQUENCE { S1ap-CauseRadioNetwork ::= ENUMERATED {
eCGI EUTRAN-CGI, unspecified,
-- iE-Extensions ProtocolExtensionContainer { {CellID-Broadcast-Item-ExtIEs} } OPTIONAL, tx2relocoverall-expiry,
iE-Extensions IE-Extensions OPTIONAL, successful-handover,
... release-due-to-eutran-generated-reason,
handover-cancelled,
partial-handover,
ho-failure-in-target-EPC-eNB-or-target-system,
ho-target-not-allowed,
tS1relocoverall-expiry,
tS1relocprep-expiry,
cell-not-available,
unknown-targetID,
no-radio-resources-available-in-target-cell,
unknown-mme-ue-s1ap-id,
unknown-enb-ue-s1ap-id,
unknown-pair-ue-s1ap-id,
handover-desirable-for-radio-reason,
time-critical-handover,
resource-optimisation-handover,
reduce-load-in-serving-cell,
user-inactivity,
radio-connection-with-ue-lost,
load-balancing-tau-required,
cs-fallback-triggered,
ue-not-available-for-ps-service,
radio-resources-not-available,
failure-in-radio-interface-procedure,
invals1ap-id-qos-combination,
interrat-redirection,
interaction-with-other-procedure,
unknown-E-RAB-ID,
multiple-E-RAB-ID-instances,
encryption-and-or-integrity-protection-algorithms-not-supported,
s1-intra-system-handover-triggered,
s1-inter-system-handover-triggered,
x2-handover-triggered,
...,
redirection-towards-1xRTT,
not-supported-QCI-value,
invals1ap-id-CSG-Id
}
S1ap-CauseTransport ::= ENUMERATED {
transport-resource-unavailable,
unspecified,
...
} }
CellID-Cancelled::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Cancelled-Item S1ap-CauseNas ::= ENUMERATED {
normal-release,
authentication-failure,
detach,
unspecified,
...,
csg-subscription-expiry
}
CellID-Cancelled-Item ::= SEQUENCE { S1ap-CellAccessMode ::= ENUMERATED {
eCGI EUTRAN-CGI, hybrid,
numberOfBroadcasts NumberOfBroadcasts, ...
-- iE-Extensions ProtocolExtensionContainer { {CellID-Cancelled-Item-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL,
...
} }
CellBasedMDT::= SEQUENCE { S1ap-CellIdentity ::= BIT STRING (SIZE (28))
cellIdListforMDT CellIdListforMDT,
-- iE-Extensions ProtocolExtensionContainer { {CellBasedMDT-ExtIEs} } OPTIONAL, S1ap-CellID-Broadcast ::= SEQUENCE (SIZE(1..s1ap-maxnoofCellID)) OF S1ap-CellID-Broadcast-Item
iE-Extensions IE-Extensions OPTIONAL,
... S1ap-CellID-Broadcast-Item ::= SEQUENCE {
eCGI S1ap-EUTRAN-CGI,
iE-Extensions S1ap-IE-Extensions OPTIONAL,
...
} }
CellIdListforMDT ::= SEQUENCE (SIZE(1..maxnoofCellIDforMDT)) OF EUTRAN-CGI S1ap-CellID-Cancelled::= SEQUENCE (SIZE(1..s1ap-maxnoofCellID)) OF S1ap-CellID-Cancelled-Item
Cdma2000PDU ::= OCTET STRING S1ap-CellID-Cancelled-Item ::= SEQUENCE {
eCGI S1ap-EUTRAN-CGI,
numberOfBroadcasts S1ap-NumberOfBroadcasts,
iE-Extensions S1ap-IE-Extensions OPTIONAL,
...
}
Cdma2000RATType ::= ENUMERATED { S1ap-CellBasedMDT::= SEQUENCE {
hRPD, cellIdListforMDT S1ap-CellIdListforMDT,
onexRTT, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
Cdma2000SectorID ::= OCTET STRING S1ap-CellIdListforMDT ::= SEQUENCE (SIZE(1..s1ap-maxnoofCellIDforMDT)) OF S1ap-EUTRAN-CGI
Cdma2000HOStatus ::= ENUMERATED { S1ap-Cdma2000PDU ::= OCTET STRING
hOSuccess,
hOFailure, S1ap-Cdma2000RATType ::= ENUMERATED {
... hRPD,
onexRTT,
...
} }
Cdma2000HORequiredIndication ::= ENUMERATED { S1ap-Cdma2000SectorID ::= OCTET STRING
true,
... S1ap-Cdma2000HOStatus ::= ENUMERATED {
hOSuccess,
hOFailure,
...
} }
Cdma2000OneXSRVCCInfo ::= SEQUENCE { S1ap-Cdma2000HORequiredIndication ::= ENUMERATED {
cdma2000OneXMEID Cdma2000OneXMEID, true,
cdma2000OneXMSI Cdma2000OneXMSI, ...
cdma2000OneXPilot Cdma2000OneXPilot,
-- iE-Extensions ProtocolExtensionContainer { {Cdma2000OneXSRVCCInfo-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL,
...
} }
Cdma2000OneXMEID ::= OCTET STRING S1ap-Cdma2000OneXSRVCCInfo ::= SEQUENCE {
cdma2000OneXMEID S1ap-Cdma2000OneXMEID,
cdma2000OneXMSI S1ap-Cdma2000OneXMSI,
cdma2000OneXPilot S1ap-Cdma2000OneXPilot,
iE-Extensions S1ap-IE-Extensions OPTIONAL,
...
}
Cdma2000OneXMSI ::= OCTET STRING S1ap-Cdma2000OneXMEID ::= OCTET STRING
Cdma2000OneXPilot ::= OCTET STRING S1ap-Cdma2000OneXMSI ::= OCTET STRING
Cdma2000OneXRAND ::= OCTET STRING S1ap-Cdma2000OneXPilot ::= OCTET STRING
S1ap-Cdma2000OneXRAND ::= OCTET STRING
Cell-Size ::= ENUMERATED {verysmall, small, medium, large, ...} S1ap-Cell-Size ::= ENUMERATED {verysmall, small, medium, large, ...}
CellType ::= SEQUENCE { S1ap-CellType ::= SEQUENCE {
cell-Size Cell-Size, cell-Size S1ap-Cell-Size,
-- iE-Extensions ProtocolExtensionContainer { { CellType-ExtIEs}} OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, ...
...
} }
CGI ::= SEQUENCE { S1ap-CGI ::= SEQUENCE {
pLMNidentity PLMNidentity, pLMNidentity S1ap-PLMNidentity,
lAC LAC, lAC S1ap-LAC,
cI CI, cI S1ap-CI,
rAC RAC OPTIONAL, rAC S1ap-RAC OPTIONAL,
-- iE-Extensions ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, ...
... }
}
CI ::= OCTET STRING (SIZE (2)) S1ap-CI ::= OCTET STRING (SIZE (2))
CNDomain ::= ENUMERATED { S1ap-CNDomain ::= ENUMERATED {
ps, ps,
cs cs
} }
ConcurrentWarningMessageIndicator ::= ENUMERATED { S1ap-ConcurrentWarningMessageIndicator ::= ENUMERATED {
true true
} }
Correlation-ID ::= OCTET STRING (SIZE (4)) S1ap-Correlation-ID ::= OCTET STRING (SIZE (4))
CSFallbackIndicator ::= ENUMERATED { S1ap-CSFallbackIndicator ::= ENUMERATED {
cs-fallback-required, cs-fallback-required,
..., ...,
cs-fallback-high-priority cs-fallback-high-priority
} }
CSG-Id ::= BIT STRING (SIZE (27)) S1ap-CSG-Id ::= BIT STRING (SIZE (27))
CSG-IdList ::= SEQUENCE (SIZE (1..maxNrOfCSGs)) OF CSG-IdList-Item S1ap-CSG-IdList ::= SEQUENCE (SIZE (1..s1ap-maxNrOfCSGs)) OF S1ap-CSG-IdList-Item
CSG-IdList-Item ::= SEQUENCE { S1ap-CSG-IdList-Item ::= SEQUENCE {
cSG-Id CSG-Id, cSG-Id S1ap-CSG-Id,
-- iE-Extensions ProtocolExtensionContainer { {CSG-IdList-Item-ExtIEs} } OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, ...
...
} }
CSGMembershipStatus ::= ENUMERATED { S1ap-CSGMembershipStatus ::= ENUMERATED {
member, member,
not-member not-member
} }
COUNTvalue ::= SEQUENCE { S1ap-COUNTvalue ::= SEQUENCE {
pDCP-SN PDCP-SN, pDCP-SN S1ap-PDCP-SN,
hFN HFN, hFN S1ap-HFN,
-- iE-Extensions ProtocolExtensionContainer { {COUNTvalue-ExtIEs} } OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, ...
...
} }
CriticalityDiagnostics ::= SEQUENCE { S1ap-CriticalityDiagnostics ::= SEQUENCE {
procedureCode ProcedureCode OPTIONAL, procedureCode S1ap-ProcedureCode OPTIONAL,
triggeringMessage TriggeringMessage OPTIONAL, triggeringMessage S1ap-TriggeringMessage OPTIONAL,
procedureCriticality Criticality OPTIONAL, procedureCriticality S1ap-Criticality OPTIONAL,
iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, iEsCriticalityDiagnostics S1ap-CriticalityDiagnostics-IE-List OPTIONAL,
-- iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-ExtIEs}} OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, ...
...
} }
CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF CriticalityDiagnostics-IE-Item S1ap-CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..s1ap-maxNrOfErrors)) OF S1ap-CriticalityDiagnostics-IE-Item
CriticalityDiagnostics-IE-Item ::= SEQUENCE { S1ap-CriticalityDiagnostics-IE-Item ::= SEQUENCE {
iECriticality Criticality, iECriticality S1ap-Criticality,
iE-ID ProtocolIE-ID, iE-ID S1ap-ProtocolIE-ID,
typeOfError TypeOfError, typeOfError S1ap-TypeOfError,
-- iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-IE-Item-ExtIEs}} OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, ...
...
} }
-- D -- D
DataCodingScheme ::= BIT STRING (SIZE (8)) S1ap-DataCodingScheme ::= BIT STRING (SIZE (8))
DL-Forwarding ::= ENUMERATED { S1ap-DL-Forwarding ::= ENUMERATED {
dL-Forwarding-proposed, dL-Forwarding-proposed,
... ...
} }
Direct-Forwarding-Path-Availability ::= ENUMERATED { S1ap-Direct-Forwarding-Path-Availability ::= ENUMERATED {
directPathAvailable, directPathAvailable,
... ...
} }
Data-Forwarding-Not-Possible ::= ENUMERATED { S1ap-Data-Forwarding-Not-Possible ::= ENUMERATED {
data-Forwarding-not-Possible, data-Forwarding-not-Possible,
... ...
} }
-- E -- E
ECGIList ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF EUTRAN-CGI S1ap-ECGIList ::= SEQUENCE (SIZE(1..s1ap-maxnoofCellID)) OF S1ap-EUTRAN-CGI
EmergencyAreaIDList ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID S1ap-EmergencyAreaIDList ::= SEQUENCE (SIZE(1..s1ap-maxnoofEmergencyAreaID)) OF S1ap-EmergencyAreaID
EmergencyAreaID ::= OCTET STRING (SIZE (3)) S1ap-EmergencyAreaID ::= OCTET STRING (SIZE (3))
EmergencyAreaID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Broadcast-Item S1ap-EmergencyAreaID-Broadcast ::= SEQUENCE (SIZE(1..s1ap-maxnoofEmergencyAreaID)) OF S1ap-EmergencyAreaID-Broadcast-Item
EmergencyAreaID-Broadcast-Item ::= SEQUENCE { S1ap-EmergencyAreaID-Broadcast-Item ::= SEQUENCE {
emergencyAreaID EmergencyAreaID, emergencyAreaID S1ap-EmergencyAreaID,
completedCellinEAI CompletedCellinEAI, completedCellinEAI S1ap-CompletedCellinEAI,
-- iE-Extensions ProtocolExtensionContainer { {EmergencyAreaID-Broadcast-Item-ExtIEs} } OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, ...
...
} }
EmergencyAreaID-Cancelled ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Cancelled-Item S1ap-EmergencyAreaID-Cancelled ::= SEQUENCE (SIZE(1..s1ap-maxnoofEmergencyAreaID)) OF S1ap-EmergencyAreaID-Cancelled-Item
EmergencyAreaID-Cancelled-Item ::= SEQUENCE { S1ap-EmergencyAreaID-Cancelled-Item ::= SEQUENCE {
emergencyAreaID EmergencyAreaID, emergencyAreaID S1ap-EmergencyAreaID,
cancelledCellinEAI CancelledCellinEAI, cancelledCellinEAI S1ap-CancelledCellinEAI,
-- iE-Extensions ProtocolExtensionContainer { {EmergencyAreaID-Cancelled-Item-ExtIEs} } OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, ...
...
} }
CompletedCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CompletedCellinEAI-Item S1ap-CompletedCellinEAI ::= SEQUENCE (SIZE(1..s1ap-maxnoofCellinEAI)) OF S1ap-CompletedCellinEAI-Item
CompletedCellinEAI-Item ::= SEQUENCE { S1ap-CompletedCellinEAI-Item ::= SEQUENCE {
eCGI EUTRAN-CGI, eCGI S1ap-EUTRAN-CGI,
-- iE-Extensions ProtocolExtensionContainer { {CompletedCellinEAI-Item-ExtIEs} } OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, ...
...
} }
ENB-ID ::= CHOICE { S1ap-ENB-ID ::= CHOICE {
macroENB-ID BIT STRING (SIZE(20)), macroENB-ID BIT STRING (SIZE(20)),
homeENB-ID BIT STRING (SIZE(28)), homeENB-ID BIT STRING (SIZE(28)),
... ...
} }
GERAN-Cell-ID ::= SEQUENCE { S1ap-GERAN-Cell-ID ::= SEQUENCE {
lAI LAI, lAI S1ap-LAI,
rAC RAC, rAC S1ap-RAC,
cI CI, cI S1ap-CI,
-- iE-Extensions ProtocolExtensionContainer { { GERAN-Cell-ID-ExtIEs} } OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, ...
...
} }
Global-ENB-ID ::= SEQUENCE { S1ap-Global-ENB-ID ::= SEQUENCE {
pLMNidentity PLMNidentity, pLMNidentity S1ap-PLMNidentity,
eNB-ID ENB-ID, eNB-ID S1ap-ENB-ID,
-- iE-Extensions ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, ...
...
} }
GUMMEIList::= SEQUENCE (SIZE (1.. maxnoofMMECs)) OF GUMMEI S1ap-GUMMEIList::= SEQUENCE (SIZE (1.. s1ap-maxnoofMMECs)) OF S1ap-GUMMEI
ENB-StatusTransfer-TransparentContainer ::= SEQUENCE { S1ap-ENB-StatusTransfer-TransparentContainer ::= SEQUENCE {
bearers-SubjectToStatusTransferList Bearers-SubjectToStatusTransfer-List, bearers-SubjectToStatusTransferList S1ap-Bearers-SubjectToStatusTransfer-List,
-- iE-Extensions ProtocolExtensionContainer { {ENB-StatusTransfer-TransparentContainer-ExtIEs} } OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, ...
...
} }
ENB-UE-S1AP-ID ::= INTEGER (0..16777215) S1ap-ENB-UE-S1AP-ID ::= INTEGER (0..16777215)
ENBname ::= PrintableString (SIZE (1..150,...)) S1ap-ENBname ::= PrintableString (SIZE (1..150,...))
ENBX2TLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2TLAs)) OF TransportLayerAddress S1ap-ENBX2TLAs ::= SEQUENCE (SIZE(1.. s1ap-maxnoofeNBX2TLAs)) OF S1ap-TransportLayerAddress
EncryptionAlgorithms ::= BIT STRING (SIZE (16,...)) S1ap-EncryptionAlgorithms ::= BIT STRING (SIZE (16,...))
EPLMNs ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF PLMNidentity S1ap-EPLMNs ::= SEQUENCE (SIZE(1..s1ap-maxnoofEPLMNs)) OF S1ap-PLMNidentity
EventType ::= ENUMERATED {
direct, S1ap-EventType ::= ENUMERATED {
change-of-serve-cell, direct,
stop-change-of-serve-cell, change-of-serve-cell,
... stop-change-of-serve-cell,
...
} }
E-RAB-ID ::= INTEGER (0..15, ...) S1ap-E-RAB-ID ::= INTEGER (0..15, ...)
E-RABDataForwardingItem ::= SEQUENCE { S1ap-E-RABDataForwardingItem ::= SEQUENCE {
e-RAB-ID E-RAB-ID, e-RAB-ID S1ap-E-RAB-ID,
dL-transportLayerAddress TransportLayerAddress OPTIONAL, dL-transportLayerAddress S1ap-TransportLayerAddress OPTIONAL,
dL-gTP-TEID GTP-TEID OPTIONAL, dL-gTP-TEID S1ap-GTP-TEID OPTIONAL,
uL-TransportLayerAddress TransportLayerAddress OPTIONAL, uL-TransportLayerAddress S1ap-TransportLayerAddress OPTIONAL,
uL-GTP-TEID GTP-TEID OPTIONAL, uL-GTP-TEID S1ap-GTP-TEID OPTIONAL,
-- iE-Extensions ProtocolExtensionContainer { { E-RABDataForwardingItem-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { E-RABDataForwardingItem-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
E-RABToBeSetupItemHOReq ::= SEQUENCE { S1ap-E-RABToBeSetupItemHOReq ::= SEQUENCE {
e-RAB-ID E-RAB-ID, e-RAB-ID S1ap-E-RAB-ID,
transportLayerAddress TransportLayerAddress, transportLayerAddress S1ap-TransportLayerAddress,
gTP-TEID GTP-TEID, gTP-TEID S1ap-GTP-TEID,
e-RABlevelQosParameters E-RABLevelQoSParameters, e-RABlevelQosParameters S1ap-E-RABLevelQoSParameters,
-- iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemHOReq-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemHOReq-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
E-RABAdmittedItem ::= SEQUENCE { S1ap-E-RABAdmittedItem ::= SEQUENCE {
e-RAB-ID E-RAB-ID, e-RAB-ID S1ap-E-RAB-ID,
transportLayerAddress TransportLayerAddress, transportLayerAddress S1ap-TransportLayerAddress,
gTP-TEID GTP-TEID, gTP-TEID S1ap-GTP-TEID,
dL-transportLayerAddress TransportLayerAddress OPTIONAL, dL-transportLayerAddress S1ap-TransportLayerAddress OPTIONAL,
dL-gTP-TEID GTP-TEID OPTIONAL, dL-gTP-TEID S1ap-GTP-TEID OPTIONAL,
uL-TransportLayerAddress TransportLayerAddress OPTIONAL, uL-TransportLayerAddress S1ap-TransportLayerAddress OPTIONAL,
uL-GTP-TEID GTP-TEID OPTIONAL, uL-GTP-TEID S1ap-GTP-TEID OPTIONAL,
-- iE-Extensions ProtocolExtensionContainer { {E-RABAdmittedItem-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {E-RABAdmittedItem-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
E-RABToBeSwitchedDLItem ::= SEQUENCE { S1ap-E-RABToBeSwitchedDLItem ::= SEQUENCE {
e-RAB-ID E-RAB-ID, e-RAB-ID S1ap-E-RAB-ID,
transportLayerAddress TransportLayerAddress, transportLayerAddress S1ap-TransportLayerAddress,
gTP-TEID GTP-TEID, gTP-TEID S1ap-GTP-TEID,
-- iE-Extensions ProtocolExtensionContainer { { E-RABToBeSwitchedDLItem-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { E-RABToBeSwitchedDLItem-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
E-RABToBeSwitchedULItem ::= SEQUENCE { S1ap-E-RABToBeSwitchedULItem ::= SEQUENCE {
e-RAB-ID E-RAB-ID, e-RAB-ID S1ap-E-RAB-ID,
transportLayerAddress TransportLayerAddress, transportLayerAddress S1ap-TransportLayerAddress,
gTP-TEID GTP-TEID, gTP-TEID S1ap-GTP-TEID,
-- iE-Extensions ProtocolExtensionContainer { { E-RABToBeSwitchedULItem-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { E-RABToBeSwitchedULItem-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
E-RABToBeSetupItemBearerSUReq ::= SEQUENCE { S1ap-E-RABToBeSetupItemBearerSUReq ::= SEQUENCE {
e-RAB-ID E-RAB-ID, e-RAB-ID S1ap-E-RAB-ID,
e-RABlevelQoSParameters E-RABLevelQoSParameters, e-RABlevelQoSParameters S1ap-E-RABLevelQoSParameters,
transportLayerAddress TransportLayerAddress, transportLayerAddress S1ap-TransportLayerAddress,
gTP-TEID GTP-TEID, gTP-TEID S1ap-GTP-TEID,
nAS-PDU NAS-PDU, nAS-PDU S1ap-NAS-PDU,
-- iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemBearerSUReqExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemBearerSUReqExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
E-RABSetupItemBearerSURes ::= SEQUENCE { S1ap-E-RABSetupItemBearerSURes ::= SEQUENCE {
e-RAB-ID E-RAB-ID, e-RAB-ID S1ap-E-RAB-ID,
transportLayerAddress TransportLayerAddress, transportLayerAddress S1ap-TransportLayerAddress,
gTP-TEID GTP-TEID, gTP-TEID S1ap-GTP-TEID,
-- iE-Extensions ProtocolExtensionContainer { {E-RABSetupItemBearerSUResExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {E-RABSetupItemBearerSUResExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
E-RABToBeModifiedItemBearerModReq ::= SEQUENCE { S1ap-E-RABToBeModifiedItemBearerModReq ::= SEQUENCE {
e-RAB-ID E-RAB-ID, e-RAB-ID S1ap-E-RAB-ID,
e-RABLevelQoSParameters E-RABLevelQoSParameters, e-RABLevelQoSParameters S1ap-E-RABLevelQoSParameters,
nAS-PDU NAS-PDU, nAS-PDU S1ap-NAS-PDU,
-- iE-Extensions ProtocolExtensionContainer { {E-RABToBeModifyItemBearerModReqExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {E-RABToBeModifyItemBearerModReqExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
E-RABReleaseItemBearerRelComp ::= SEQUENCE { S1ap-E-RABReleaseItemBearerRelComp ::= SEQUENCE {
e-RAB-ID E-RAB-ID, e-RAB-ID S1ap-E-RAB-ID,
-- iE-Extensions ProtocolExtensionContainer { {E-RABReleaseItemBearerRelCompExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {E-RABReleaseItemBearerRelCompExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
E-RABToBeSetupItemCtxtSUReq ::= SEQUENCE { S1ap-E-RABToBeSetupItemCtxtSUReq ::= SEQUENCE {
e-RAB-ID E-RAB-ID, e-RAB-ID S1ap-E-RAB-ID,
e-RABlevelQoSParameters E-RABLevelQoSParameters, e-RABlevelQoSParameters S1ap-E-RABLevelQoSParameters,
transportLayerAddress TransportLayerAddress, transportLayerAddress S1ap-TransportLayerAddress,
gTP-TEID GTP-TEID, gTP-TEID S1ap-GTP-TEID,
nAS-PDU NAS-PDU OPTIONAL, nAS-PDU S1ap-NAS-PDU OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
E-RABSetupItemCtxtSURes ::= SEQUENCE { S1ap-E-RABSetupItemCtxtSURes ::= SEQUENCE {
e-RAB-ID E-RAB-ID, e-RAB-ID S1ap-E-RAB-ID,
transportLayerAddress TransportLayerAddress, transportLayerAddress S1ap-TransportLayerAddress,
gTP-TEID GTP-TEID, gTP-TEID S1ap-GTP-TEID,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
E-RABToBeModifiedListBearerModReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE S1ap-E-RABToBeModifiedListBearerModReq ::= SEQUENCE (SIZE(1.. s1ap-maxNrOfE-RABs)) OF S1ap-IE
E-RABReleaseListBearerRelComp ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE S1ap-E-RABReleaseListBearerRelComp ::= SEQUENCE (SIZE(1.. s1ap-maxNrOfE-RABs)) OF S1ap-IE
E-RABInformationList ::= SEQUENCE (SIZE (1.. maxNrOfE-RABs)) OF IE S1ap-E-RABInformationList ::= SEQUENCE (SIZE (1.. s1ap-maxNrOfE-RABs)) OF S1ap-IE
E-RABToBeSetupListCtxtSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE S1ap-E-RABToBeSetupListCtxtSUReq ::= SEQUENCE (SIZE(1.. s1ap-maxNrOfE-RABs)) OF S1ap-IE
E-RABSetupListCtxtSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE S1ap-E-RABSetupListCtxtSURes ::= SEQUENCE (SIZE(1.. s1ap-maxNrOfE-RABs)) OF S1ap-IE
E-RABDataForwardingList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE S1ap-E-RABDataForwardingList ::= SEQUENCE (SIZE(1.. s1ap-maxNrOfE-RABs)) OF S1ap-IE
E-RABSetupListBearerSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE S1ap-E-RABSetupListBearerSURes ::= SEQUENCE (SIZE(1.. s1ap-maxNrOfE-RABs)) OF S1ap-IE
E-RABFailedToSetupListHOReqAck ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE S1ap-E-RABFailedToSetupListHOReqAck ::= SEQUENCE (SIZE(1.. s1ap-maxNrOfE-RABs)) OF S1ap-IE
E-RABToBeSetupListBearerSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE S1ap-E-RABToBeSetupListBearerSUReq ::= SEQUENCE (SIZE(1.. s1ap-maxNrOfE-RABs)) OF S1ap-IE
E-RABAdmittedList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE S1ap-E-RABAdmittedList ::= SEQUENCE (SIZE(1.. s1ap-maxNrOfE-RABs)) OF S1ap-IE
E-RABToBeSwitchedDLList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE S1ap-E-RABToBeSwitchedDLList ::= SEQUENCE (SIZE(1.. s1ap-maxNrOfE-RABs)) OF S1ap-IE
E-RABToBeSwitchedULList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE S1ap-E-RABToBeSwitchedULList ::= SEQUENCE (SIZE(1.. s1ap-maxNrOfE-RABs)) OF S1ap-IE
E-RABModifyListBearerModRes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE S1ap-E-RABModifyListBearerModRes ::= SEQUENCE (SIZE(1.. s1ap-maxNrOfE-RABs)) OF S1ap-IE
E-RABToBeSetupListHOReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE S1ap-E-RABToBeSetupListHOReq ::= SEQUENCE (SIZE(1.. s1ap-maxNrOfE-RABs)) OF S1ap-IE
TAIList::= SEQUENCE (SIZE(1.. maxnoofTAIs)) OF IE S1ap-TAIList::= SEQUENCE (SIZE(1.. s1ap-maxnoofTAIs)) OF S1ap-IE
UE-associatedLogicalS1-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF IE S1ap-UE-associatedLogicalS1-ConnectionListRes ::= SEQUENCE (SIZE(1.. s1ap-maxNrOfIndividualS1ConnectionsToReset)) OF S1ap-IE
UE-associatedLogicalS1-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF IE S1ap-UE-associatedLogicalS1-ConnectionListResAck ::= SEQUENCE (SIZE(1.. s1ap-maxNrOfIndividualS1ConnectionsToReset)) OF S1ap-IE
E-RABModifyItemBearerModRes ::= SEQUENCE { S1ap-E-RABModifyItemBearerModRes ::= SEQUENCE {
e-RAB-ID E-RAB-ID, e-RAB-ID S1ap-E-RAB-ID,
-- iE-Extensions ProtocolExtensionContainer { {E-RABModifyItemBearerModResExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {E-RABModifyItemBearerModResExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
E-RABFailedToSetupItemHOReqAck ::= SEQUENCE { S1ap-E-RABFailedToSetupItemHOReqAck ::= SEQUENCE {
e-RAB-ID E-RAB-ID, e-RAB-ID S1ap-E-RAB-ID,
cause Cause, cause S1ap-Cause,
-- iE-Extensions ProtocolExtensionContainer { { E-RABFailedToSetupItemHOReqAckExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { E-RABFailedToSetupItemHOReqAckExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
E-RABInformationListItem ::= SEQUENCE { S1ap-E-RABInformationListItem ::= SEQUENCE {
e-RAB-ID E-RAB-ID, e-RAB-ID S1ap-E-RAB-ID,
dL-Forwarding DL-Forwarding OPTIONAL, dL-Forwarding S1ap-DL-Forwarding OPTIONAL,
-- iE-Extensions ProtocolExtensionContainer { {E-RABInformationListItem-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {E-RABInformationListItem-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
-- E-RABList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABItemIEs} } -- E-RABList ::= SEQUENCE (SIZE(1.. s1ap-maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABItemIEs} }
E-RABList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE S1ap-E-RABList ::= SEQUENCE (SIZE(1.. s1ap-maxNrOfE-RABs)) OF S1ap-IE
E-RABItem ::= SEQUENCE { S1ap-E-RABItem ::= SEQUENCE {
e-RAB-ID E-RAB-ID, e-RAB-ID S1ap-E-RAB-ID,
cause Cause, cause S1ap-Cause,
-- iE-Extensions ProtocolExtensionContainer { {E-RABItem-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {E-RABItem-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
E-RABLevelQoSParameters ::= SEQUENCE { S1ap-E-RABLevelQoSParameters ::= SEQUENCE {
qCI QCI, qCI S1ap-QCI,
allocationRetentionPriority AllocationAndRetentionPriority, allocationRetentionPriority S1ap-AllocationAndRetentionPriority,
gbrQosInformation GBR-QosInformation OPTIONAL, gbrQosInformation S1ap-GBR-QosInformation OPTIONAL,
-- iE-Extensions ProtocolExtensionContainer { {E-RABQoSParameters-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {E-RABQoSParameters-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
EUTRAN-CGI ::= SEQUENCE { S1ap-EUTRAN-CGI ::= SEQUENCE {
pLMNidentity PLMNidentity, pLMNidentity S1ap-PLMNidentity,
cell-ID CellIdentity, cell-ID S1ap-CellIdentity,
-- iE-Extensions ProtocolExtensionContainer { {EUTRAN-CGI-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {EUTRAN-CGI-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
EUTRANRoundTripDelayEstimationInfo ::= INTEGER (0..2047) S1ap-EUTRANRoundTripDelayEstimationInfo ::= INTEGER (0..2047)
ExtendedRNC-ID ::= INTEGER (4096..65535) S1ap-ExtendedRNC-ID ::= INTEGER (4096..65535)
ExtendedRepetitionPeriod ::= INTEGER (4096..131071) S1ap-ExtendedRepetitionPeriod ::= INTEGER (4096..131071)
-- F -- F
ForbiddenInterRATs ::= ENUMERATED { S1ap-ForbiddenInterRATs ::= ENUMERATED {
all, all,
geran, geran,
utran, utran,
cdma2000, cdma2000,
..., ...,
geranandutran, geranandutran,
cdma2000andutran cdma2000andutran
} }
ForbiddenTAs ::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF ForbiddenTAs-Item S1ap-ForbiddenTAs ::= SEQUENCE (SIZE(1.. s1ap-maxnoofEPLMNsPlusOne)) OF S1ap-ForbiddenTAs-Item
ForbiddenTAs-Item ::= SEQUENCE { S1ap-ForbiddenTAs-Item ::= SEQUENCE {
pLMN-Identity PLMNidentity, pLMN-Identity S1ap-PLMNidentity,
forbiddenTACs ForbiddenTACs, forbiddenTACs S1ap-ForbiddenTACs,
-- iE-Extensions ProtocolExtensionContainer { {ForbiddenTAs-Item-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {ForbiddenTAs-Item-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
ForbiddenTACs ::= SEQUENCE (SIZE(1..maxnoofForbTACs)) OF TAC S1ap-ForbiddenTACs ::= SEQUENCE (SIZE(1..s1ap-maxnoofForbTACs)) OF S1ap-TAC
ForbiddenLAs ::= SEQUENCE (SIZE(1..maxnoofEPLMNsPlusOne)) OF ForbiddenLAs-Item S1ap-ForbiddenLAs ::= SEQUENCE (SIZE(1..s1ap-maxnoofEPLMNsPlusOne)) OF S1ap-ForbiddenLAs-Item
ForbiddenLAs-Item ::= SEQUENCE { S1ap-ForbiddenLAs-Item ::= SEQUENCE {
pLMN-Identity PLMNidentity, pLMN-Identity S1ap-PLMNidentity,
forbiddenLACs ForbiddenLACs, forbiddenLACs S1ap-ForbiddenLACs,
-- iE-Extensions ProtocolExtensionContainer { {ForbiddenLAs-Item-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {ForbiddenLAs-Item-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
ForbiddenLACs ::= SEQUENCE (SIZE(1..maxnoofForbLACs)) OF LAC S1ap-ForbiddenLACs ::= SEQUENCE (SIZE(1..s1ap-maxnoofForbLACs)) OF S1ap-LAC
-- G -- G
GBR-QosInformation ::= SEQUENCE { S1ap-GBR-QosInformation ::= SEQUENCE {
e-RAB-MaximumBitrateDL BitRate, e-RAB-MaximumBitrateDL S1ap-BitRate,
e-RAB-MaximumBitrateUL BitRate, e-RAB-MaximumBitrateUL S1ap-BitRate,
e-RAB-GuaranteedBitrateDL BitRate, e-RAB-GuaranteedBitrateDL S1ap-BitRate,
e-RAB-GuaranteedBitrateUL BitRate, e-RAB-GuaranteedBitrateUL S1ap-BitRate,
-- iE-Extensions ProtocolExtensionContainer { { GBR-QosInformation-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { GBR-QosInformation-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
GTP-TEID ::= OCTET STRING (SIZE (4)) S1ap-GTP-TEID ::= OCTET STRING (SIZE (4))
GUMMEI ::= SEQUENCE { S1ap-GUMMEI ::= SEQUENCE {
pLMN-Identity PLMNidentity, pLMN-Identity S1ap-PLMNidentity,
mME-Group-ID MME-Group-ID, mME-Group-ID S1ap-MME-Group-ID,
mME-Code MME-Code, mME-Code S1ap-MME-Code,
-- iE-Extensions ProtocolExtensionContainer { {GUMMEI-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {GUMMEI-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
GWContextReleaseIndication ::= ENUMERATED { S1ap-GWContextReleaseIndication ::= ENUMERATED {
true, true,
... ...
} }
-- H -- H
HandoverRestrictionList ::= SEQUENCE { S1ap-HandoverRestrictionList ::= SEQUENCE {
servingPLMN PLMNidentity, servingPLMN S1ap-PLMNidentity,
equivalentPLMNs EPLMNs OPTIONAL, equivalentPLMNs S1ap-EPLMNs OPTIONAL,
forbiddenTAs ForbiddenTAs OPTIONAL, forbiddenTAs S1ap-ForbiddenTAs OPTIONAL,
forbiddenLAs ForbiddenLAs OPTIONAL, forbiddenLAs S1ap-ForbiddenLAs OPTIONAL,
forbiddenInterRATs ForbiddenInterRATs OPTIONAL, forbiddenInterRATs S1ap-ForbiddenInterRATs OPTIONAL,
-- iE-Extensions ProtocolExtensionContainer { {HandoverRestrictionList-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {HandoverRestrictionList-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
HandoverType ::= ENUMERATED { S1ap-HandoverType ::= ENUMERATED {
intralte, intralte,
ltetoutran, ltetoutran,
ltetogeran, ltetogeran,
utrantolte, utrantolte,
gerantolte, gerantolte,
... ...
} }
HFN ::= INTEGER (0..1048575) S1ap-HFN ::= INTEGER (0..1048575)
-- I -- I
ImmediateMDT ::= SEQUENCE { S1ap-ImmediateMDT ::= SEQUENCE {
measurementsToActivate MeasurementsToActivate, measurementsToActivate S1ap-MeasurementsToActivate,
reportingTriggerMDT ReportingTriggerMDT, reportingTriggerMDT S1ap-ReportingTriggerMDT,
thresholdeventA2 ThresholdEventA2 OPTIONAL, thresholdeventA2 S1ap-ThresholdEventA2 OPTIONAL,
-- Included in case of event-triggered reporting for measurement M1 -- Included in case of event-triggered reporting for measurement M1
periodicReportingMDT PeriodicReportingMDT OPTIONAL, periodicReportingMDT S1ap-PeriodicReportingMDT OPTIONAL,
-- Included in case of periodic reporting -- Included in case of periodic reporting
-- iE-Extensions ProtocolExtensionContainer { { ImmediateMDT-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { ImmediateMDT-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
IMSI ::= OCTET STRING (SIZE (3..8)) S1ap-IMSI ::= OCTET STRING (SIZE (3..8))
IntegrityProtectionAlgorithms ::= BIT STRING (SIZE (16,...)) S1ap-IntegrityProtectionAlgorithms ::= BIT STRING (SIZE (16,...))
InterfacesToTrace ::= BIT STRING (SIZE (8)) S1ap-InterfacesToTrace ::= BIT STRING (SIZE (8))
Inter-SystemInformationTransferType ::= CHOICE { S1ap-Inter-SystemInformationTransferType ::= CHOICE {
rIMTransfer RIMTransfer, rIMTransfer S1ap-RIMTransfer,
... ...
} }
...@@ -790,653 +769,652 @@ Inter-SystemInformationTransferType ::= CHOICE { ...@@ -790,653 +769,652 @@ Inter-SystemInformationTransferType ::= CHOICE {
-- L -- L
LAC ::= OCTET STRING (SIZE (2)) S1ap-LAC ::= OCTET STRING (SIZE (2))
LAI ::= SEQUENCE { S1ap-LAI ::= SEQUENCE {
pLMNidentity PLMNidentity, pLMNidentity S1ap-PLMNidentity,
lAC LAC, lAC S1ap-LAC,
-- iE-Extensions ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
LastVisitedCell-Item ::= CHOICE { S1ap-LastVisitedCell-Item ::= CHOICE {
e-UTRAN-Cell LastVisitedEUTRANCellInformation, e-UTRAN-Cell S1ap-LastVisitedEUTRANCellInformation,
uTRAN-Cell LastVisitedUTRANCellInformation, uTRAN-Cell S1ap-LastVisitedUTRANCellInformation,
gERAN-Cell LastVisitedGERANCellInformation, gERAN-Cell S1ap-LastVisitedGERANCellInformation,
... ...
} }
LastVisitedEUTRANCellInformation ::= SEQUENCE {
global-Cell-ID EUTRAN-CGI, S1ap-LastVisitedEUTRANCellInformation ::= SEQUENCE {
cellType CellType, global-Cell-ID S1ap-EUTRAN-CGI,
time-UE-StayedInCell Time-UE-StayedInCell, cellType S1ap-CellType,
time-UE-StayedInCell S1ap-Time-UE-StayedInCell,
-- iE-Extensions ProtocolExtensionContainer { { LastVisitedEUTRANCellInformation-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { LastVisitedEUTRANCellInformation-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
LastVisitedUTRANCellInformation ::= OCTET STRING S1ap-LastVisitedUTRANCellInformation ::= OCTET STRING
LastVisitedGERANCellInformation ::= CHOICE { S1ap-LastVisitedGERANCellInformation ::= CHOICE {
undefined NULL, undefined NULL,
... ...
} }
L3-Information ::= OCTET STRING S1ap-L3-Information ::= OCTET STRING
-- This is a dummy IE used only as a reference to the actual definition in relevant specification. -- This is a dummy IE used only as a reference to the actual definition in relevant specification.
LPPa-PDU ::= OCTET STRING S1ap-LPPa-PDU ::= OCTET STRING
LoggedMDT ::= SEQUENCE { S1ap-LoggedMDT ::= SEQUENCE {
loggingInterval LoggingInterval, loggingInterval S1ap-LoggingInterval,
loggingDuration LoggingDuration, loggingDuration S1ap-LoggingDuration,
-- iE-Extensions ProtocolExtensionContainer { {LoggedMDT-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {LoggedMDT-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
LoggingInterval ::= ENUMERATED {ms128, ms256, ms512, ms1024, ms2048, ms3072, ms4096, ms6144} S1ap-LoggingInterval ::= ENUMERATED {ms128, ms256, ms512, ms1024, ms2048, ms3072, ms4096, ms6144}
LoggingDuration ::= ENUMERATED {m10, m20, m40, m60, m90, m120} S1ap-LoggingDuration ::= ENUMERATED {m10, m20, m40, m60, m90, m120}
-- M -- M
MDT-Activation ::= ENUMERATED { S1ap-MDT-Activation ::= ENUMERATED {
immediate-MDT-only, immediate-MDT-only,
immediate-MDT-and-Trace, immediate-MDT-and-Trace,
logged-MDT-only, logged-MDT-only,
... ...
} }
MDT-Configuration ::= SEQUENCE { S1ap-MDT-Configuration ::= SEQUENCE {
mdt-Activation MDT-Activation, mdt-Activation S1ap-MDT-Activation,
areaScopeOfMDT AreaScopeOfMDT, areaScopeOfMDT S1ap-AreaScopeOfMDT,
mDTMode MDTMode, mDTMode S1ap-MDTMode,
-- iE-Extensions ProtocolExtensionContainer { { MDT-Configuration-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { MDT-Configuration-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
ManagementBasedMDTAllowed ::= ENUMERATED {allowed, ...} S1ap-ManagementBasedMDTAllowed ::= ENUMERATED {allowed, ...}
PrivacyIndicator ::= ENUMERATED { S1ap-PrivacyIndicator ::= ENUMERATED {
immediate-MDT, immediate-MDT,
logged-MDT, logged-MDT,
... ...
} }
MDTMode ::= CHOICE { S1ap-MDTMode ::= CHOICE {
immediateMDT ImmediateMDT, immediateMDT S1ap-ImmediateMDT,
loggedMDT LoggedMDT, loggedMDT S1ap-LoggedMDT,
... ...
} }
MeasurementsToActivate ::= BIT STRING (SIZE (8)) S1ap-MeasurementsToActivate ::= BIT STRING (SIZE (8))
MeasurementThresholdA2 ::= CHOICE { S1ap-MeasurementThresholdA2 ::= CHOICE {
threshold-RSRP Threshold-RSRP, threshold-RSRP S1ap-Threshold-RSRP,
threshold-RSRQ Threshold-RSRQ, threshold-RSRQ S1ap-Threshold-RSRQ,
... ...
} }
MessageIdentifier ::= BIT STRING (SIZE (16)) S1ap-MessageIdentifier ::= BIT STRING (SIZE (16))
MMEname ::= PrintableString (SIZE (1..150,...)) S1ap-MMEname ::= PrintableString (SIZE (1..150,...))
MMERelaySupportIndicator ::= ENUMERATED {true, ...} S1ap-MMERelaySupportIndicator ::= ENUMERATED {true, ...}
MME-Group-ID ::= OCTET STRING (SIZE (2)) S1ap-MME-Group-ID ::= OCTET STRING (SIZE (2))
MME-Code ::= OCTET STRING (SIZE (1)) S1ap-MME-Code ::= OCTET STRING (SIZE (1))
MME-UE-S1AP-ID ::= INTEGER (0..4294967295) S1ap-MME-UE-S1AP-ID ::= INTEGER (0..4294967295)
M-TMSI ::= OCTET STRING (SIZE (4)) S1ap-M-TMSI ::= OCTET STRING (SIZE (4))
MSClassmark2 ::= OCTET STRING S1ap-MSClassmark2 ::= OCTET STRING
MSClassmark3 ::= OCTET STRING S1ap-MSClassmark3 ::= OCTET STRING
-- N -- N
NAS-PDU ::= OCTET STRING S1ap-NAS-PDU ::= OCTET STRING
NASSecurityParametersfromE-UTRAN ::= OCTET STRING S1ap-NASSecurityParametersfromE-UTRAN ::= OCTET STRING
NASSecurityParameterstoE-UTRAN ::= OCTET STRING S1ap-NASSecurityParameterstoE-UTRAN ::= OCTET STRING
NumberofBroadcastRequest ::= INTEGER (0..65535) S1ap-NumberofBroadcastRequest ::= INTEGER (0..65535)
NumberOfBroadcasts ::= INTEGER (0..65535) S1ap-NumberOfBroadcasts ::= INTEGER (0..65535)
-- O -- O
OldBSS-ToNewBSS-Information ::= OCTET STRING S1ap-OldBSS-ToNewBSS-Information ::= OCTET STRING
-- This is a dummy IE used only as a reference to the actual definition in relevant specification. -- This is a dummy IE used only as a reference to the actual definition in relevant specification.
OverloadAction ::= ENUMERATED { S1ap-OverloadAction ::= ENUMERATED {
reject-non-emergency-mo-dt, reject-non-emergency-mo-dt,
reject-rrc-cr-signalling, reject-rrc-cr-signalling,
permit-emergency-sessions-and-mobile-terminated-services-only, permit-emergency-sessions-and-mobile-terminated-services-only,
..., ...,
permit-high-priority-sessions-and-mobile-terminated-services-only, permit-high-priority-sessions-and-mobile-terminated-services-only,
reject-delay-tolerant-access reject-delay-tolerant-access
} }
OverloadResponse ::= CHOICE { S1ap-OverloadResponse ::= CHOICE {
overloadAction OverloadAction, overloadAction S1ap-OverloadAction,
... ...
} }
-- P -- P
PagingDRX ::= ENUMERATED { S1ap-PagingDRX ::= ENUMERATED {
v32, v32,
v64, v64,
v128, v128,
v256, v256,
... ...
} }
PagingPriority ::= ENUMERATED { S1ap-PagingPriority ::= ENUMERATED {
priolevel1, priolevel1,
priolevel2, priolevel2,
priolevel3, priolevel3,
priolevel4, priolevel4,
priolevel5, priolevel5,
priolevel6, priolevel6,
priolevel7, priolevel7,
priolevel8, priolevel8,
... ...
} }
PDCP-SN ::= INTEGER (0..4095) S1ap-PDCP-SN ::= INTEGER (0..4095)
PeriodicReportingMDT ::= SEQUENCE { S1ap-PeriodicReportingMDT ::= SEQUENCE {
reportInterval ReportIntervalMDT, reportInterval S1ap-ReportIntervalMDT,
reportAmount ReportAmountMDT, reportAmount S1ap-ReportAmountMDT,
-- iE-Extensions ProtocolExtensionContainer { { PeriodicReportingMDT-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { PeriodicReportingMDT-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
PLMNidentity ::= TBCD-STRING S1ap-PLMNidentity ::= S1ap-TBCD-STRING
Pre-emptionCapability ::= ENUMERATED { S1ap-Pre-emptionCapability ::= ENUMERATED {
shall-not-trigger-pre-emption, shall-not-trigger-pre-emption,
may-trigger-pre-emption may-trigger-pre-emption
} }
Pre-emptionVulnerability ::= ENUMERATED { S1ap-Pre-emptionVulnerability ::= ENUMERATED {
not-pre-emptable, not-pre-emptable,
pre-emptable pre-emptable
} }
PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15) S1ap-PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)
PS-ServiceNotAvailable ::= ENUMERATED { S1ap-PS-ServiceNotAvailable ::= ENUMERATED {
ps-service-not-available, ps-service-not-available,
... ...
} }
-- Q -- Q
QCI ::= INTEGER (0..255) S1ap-QCI ::= INTEGER (0..255)
-- R -- R
ResetType ::= CHOICE { S1ap-ResetType ::= CHOICE {
s1-Interface ResetAll, s1-Interface S1ap-ResetAll,
partOfS1-Interface UE-associatedLogicalS1-ConnectionListRes, partOfS1-Interface S1ap-UE-associatedLogicalS1-ConnectionListRes,
... ...
} }
ResetAll ::= ENUMERATED { S1ap-ResetAll ::= ENUMERATED {
reset-all, reset-all,
... ...
} }
ReceiveStatusofULPDCPSDUs ::= BIT STRING (SIZE(4096)) S1ap-ReceiveStatusofULPDCPSDUs ::= BIT STRING (SIZE(4096))
RelativeMMECapacity ::= INTEGER (0..255) S1ap-RelativeMMECapacity ::= INTEGER (0..255)
RelayNode-Indicator ::= ENUMERATED { S1ap-RelayNode-Indicator ::= ENUMERATED {
true, true,
... ...
} }
RAC ::= OCTET STRING (SIZE (1)) S1ap-RAC ::= OCTET STRING (SIZE (1))
ReportAmountMDT ::= ENUMERATED{r1, r2, r4, r8, r16, r32, r64, rinfinity} S1ap-ReportAmountMDT ::= ENUMERATED{r1, r2, r4, r8, r16, r32, r64, rinfinity}
ReportIntervalMDT ::= ENUMERATED {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, min1, min6, min12, min30, min60} S1ap-ReportIntervalMDT ::= ENUMERATED {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, min1, min6, min12, min30, min60}
ReportingTriggerMDT ::= ENUMERATED{ S1ap-ReportingTriggerMDT ::= ENUMERATED{
periodic, periodic,
a2eventtriggered, a2eventtriggered,
... ...
} }
RequestType ::= SEQUENCE { S1ap-RequestType ::= SEQUENCE {
eventType EventType, eventType S1ap-EventType,
reportArea ReportArea, reportArea S1ap-ReportArea,
-- iE-Extensions ProtocolExtensionContainer { { RequestType-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { RequestType-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
RIMTransfer ::= SEQUENCE { S1ap-RIMTransfer ::= SEQUENCE {
rIMInformation RIMInformation, rIMInformation S1ap-RIMInformation,
rIMRoutingAddress RIMRoutingAddress OPTIONAL, rIMRoutingAddress S1ap-RIMRoutingAddress OPTIONAL,
-- iE-Extensions ProtocolExtensionContainer { { RIMTransfer-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { RIMTransfer-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
RIMInformation ::= OCTET STRING S1ap-RIMInformation ::= OCTET STRING
RIMRoutingAddress ::= CHOICE { S1ap-RIMRoutingAddress ::= CHOICE {
gERAN-Cell-ID GERAN-Cell-ID, gERAN-Cell-ID S1ap-GERAN-Cell-ID,
..., ...,
targetRNC-ID TargetRNC-ID targetRNC-ID S1ap-TargetRNC-ID
} }
ReportArea ::= ENUMERATED { S1ap-ReportArea ::= ENUMERATED {
ecgi, ecgi,
... ...
} }
RepetitionPeriod ::= INTEGER (0..4095) S1ap-RepetitionPeriod ::= INTEGER (0..4095)
RNC-ID ::= INTEGER (0..4095) S1ap-RNC-ID ::= INTEGER (0..4095)
RRC-Container ::= OCTET STRING S1ap-RRC-Container ::= OCTET STRING
RRC-Establishment-Cause ::= ENUMERATED { S1ap-RRC-Establishment-Cause ::= ENUMERATED {
emergency, emergency,
highPriorityAccess, highPriorityAccess,
mt-Access, mt-Access,
mo-Signalling, mo-Signalling,
mo-Data, mo-Data,
..., ...,
delay-TolerantAccess delay-TolerantAccess
} }
Routing-ID ::= INTEGER (0..255) S1ap-Routing-ID ::= INTEGER (0..255)
-- S -- S
SecurityKey ::= BIT STRING (SIZE(256)) S1ap-SecurityKey ::= BIT STRING (SIZE(256))
S1ap-SecurityContext ::= SEQUENCE {
nextHopChainingCount INTEGER (0..7),
SecurityContext ::= SEQUENCE { nextHopParameter S1ap-SecurityKey,
nextHopChainingCount INTEGER (0..7),
nextHopParameter SecurityKey,
-- iE-Extensions ProtocolExtensionContainer { { SecurityContext-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { SecurityContext-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
SerialNumber ::= BIT STRING (SIZE (16)) S1ap-SerialNumber ::= BIT STRING (SIZE (16))
SONInformation ::= CHOICE{ S1ap-SONInformation ::= CHOICE{
sONInformationRequest SONInformationRequest, sONInformationRequest S1ap-SONInformationRequest,
sONInformationReply SONInformationReply, sONInformationReply S1ap-SONInformationReply,
... ...
} }
SONInformationRequest ::= ENUMERATED { S1ap-SONInformationRequest ::= ENUMERATED {
x2TNL-Configuration-Info, x2TNL-Configuration-Info,
..., ...,
time-Synchronization-Info} time-Synchronization-Info
}
SONInformationReply ::= SEQUENCE { S1ap-SONInformationReply ::= SEQUENCE {
x2TNLConfigurationInfo X2TNLConfigurationInfo OPTIONAL, x2TNLConfigurationInfo S1ap-X2TNLConfigurationInfo OPTIONAL,
-- iE-Extensions ProtocolExtensionContainer {{SONInformationReply-ExtIEs}} OPTIONAL, -- iE-Extensions ProtocolExtensionContainer {{SONInformationReply-ExtIEs}} OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
SONConfigurationTransfer ::= SEQUENCE { S1ap-SONConfigurationTransfer ::= SEQUENCE {
targeteNB-ID TargeteNB-ID, targeteNB-ID S1ap-TargeteNB-ID,
sourceeNB-ID SourceeNB-ID, sourceeNB-ID S1ap-SourceeNB-ID,
sONInformation SONInformation, sONInformation S1ap-SONInformation,
-- iE-Extensions ProtocolExtensionContainer { { SONConfigurationTransfer-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { SONConfigurationTransfer-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
Source-ToTarget-TransparentContainer ::= OCTET STRING S1ap-Source-ToTarget-TransparentContainer ::= OCTET STRING
-- This IE includes a transparent container from the source RAN node to the target RAN node. -- This IE includes a transparent container from the source RAN node to the target RAN node.
-- The octets of the OCTET STRING are encoded according to the specifications of the target system. -- The octets of the OCTET STRING are encoded according to the specifications of the target system.
SourceBSS-ToTargetBSS-TransparentContainer ::= OCTET STRING S1ap-SourceBSS-ToTargetBSS-TransparentContainer ::= OCTET STRING
-- This is a dummy IE used only as a reference to the actual definition in relevant specification. -- This is a dummy IE used only as a reference to the actual definition in relevant specification.
SourceeNB-ID ::= SEQUENCE { S1ap-SourceeNB-ID ::= SEQUENCE {
global-ENB-ID Global-ENB-ID, global-ENB-ID S1ap-Global-ENB-ID,
selected-TAI TAI, selected-TAI S1ap-TAI,
-- iE-Extensions ProtocolExtensionContainer { {SourceeNB-ID-ExtIEs} } OPTIONAL -- iE-Extensions ProtocolExtensionContainer { {SourceeNB-ID-ExtIEs} } OPTIONAL
iE-Extensions IE-Extensions OPTIONAL iE-Extensions S1ap-IE-Extensions OPTIONAL
} }
SRVCCOperationPossible ::= ENUMERATED { S1ap-SRVCCOperationPossible ::= ENUMERATED {
possible, possible,
... ...
} }
SRVCCHOIndication ::= ENUMERATED { S1ap-SRVCCHOIndication ::= ENUMERATED {
pSandCS, pSandCS,
cSonly, cSonly,
... ...
} }
SourceeNB-ToTargeteNB-TransparentContainer ::= SEQUENCE { S1ap-SourceeNB-ToTargeteNB-TransparentContainer ::= SEQUENCE {
rRC-Container RRC-Container, rRC-Container S1ap-RRC-Container,
e-RABInformationList E-RABInformationList OPTIONAL, e-RABInformationList S1ap-E-RABInformationList OPTIONAL,
targetCell-ID EUTRAN-CGI, targetCell-ID S1ap-EUTRAN-CGI,
subscriberProfileIDforRFP SubscriberProfileIDforRFP OPTIONAL, subscriberProfileIDforRFP S1ap-SubscriberProfileIDforRFP OPTIONAL,
uE-HistoryInformation UE-HistoryInformation, uE-HistoryInformation S1ap-UE-HistoryInformation,
-- iE-Extensions ProtocolExtensionContainer { {SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
SourceRNC-ToTargetRNC-TransparentContainer ::= OCTET STRING S1ap-SourceRNC-ToTargetRNC-TransparentContainer ::= OCTET STRING
-- This is a dummy IE used only as a reference to the actual definition in relevant specification. -- This is a dummy IE used only as a reference to the actual definition in relevant specification.
ServedGUMMEIs ::= SEQUENCE (SIZE (1.. maxnoofRATs)) OF ServedGUMMEIsItem S1ap-ServedGUMMEIs ::= SEQUENCE (SIZE (1.. s1ap-maxnoofRATs)) OF S1ap-ServedGUMMEIsItem
ServedGUMMEIsItem ::= SEQUENCE { S1ap-ServedGUMMEIsItem ::= SEQUENCE {
servedPLMNs ServedPLMNs, servedPLMNs S1ap-ServedPLMNs,
servedGroupIDs ServedGroupIDs, servedGroupIDs S1ap-ServedGroupIDs,
servedMMECs ServedMMECs, servedMMECs S1ap-ServedMMECs,
-- iE-Extensions ProtocolExtensionContainer { {ServedGUMMEIsItem-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {ServedGUMMEIsItem-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
ServedGroupIDs ::= SEQUENCE (SIZE(1.. maxnoofGroupIDs)) OF MME-Group-ID S1ap-ServedGroupIDs ::= SEQUENCE (SIZE(1.. s1ap-maxnoofGroupIDs)) OF S1ap-MME-Group-ID
ServedMMECs ::= SEQUENCE (SIZE(1.. maxnoofMMECs)) OF MME-Code S1ap-ServedMMECs ::= SEQUENCE (SIZE(1.. s1ap-maxnoofMMECs)) OF S1ap-MME-Code
ServedPLMNs ::= SEQUENCE (SIZE(1.. maxnoofPLMNsPerMME)) OF PLMNidentity S1ap-ServedPLMNs ::= SEQUENCE (SIZE(1.. s1ap-maxnoofPLMNsPerMME)) OF S1ap-PLMNidentity
SubscriberProfileIDforRFP ::= INTEGER (1..256) S1ap-SubscriberProfileIDforRFP ::= INTEGER (1..256)
SupportedTAs ::= SEQUENCE (SIZE(1.. maxnoofTACs)) OF SupportedTAs-Item S1ap-SupportedTAs ::= SEQUENCE (SIZE(1.. s1ap-maxnoofTACs)) OF S1ap-SupportedTAs-Item
SupportedTAs-Item ::= SEQUENCE { S1ap-SupportedTAs-Item ::= SEQUENCE {
tAC TAC, tAC S1ap-TAC,
broadcastPLMNs BPLMNs, broadcastPLMNs S1ap-BPLMNs,
-- iE-Extensions ProtocolExtensionContainer { {SupportedTAs-Item-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {SupportedTAs-Item-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
StratumLevel ::= INTEGER (0..3, ...) S1ap-StratumLevel ::= INTEGER (0..3, ...)
SynchronizationStatus ::= ENUMERATED { synchronous, asynchronous, ... } S1ap-SynchronizationStatus ::= ENUMERATED { synchronous, asynchronous, ... }
TimeSynchronizationInfo ::= SEQUENCE { S1ap-TimeSynchronizationInfo ::= SEQUENCE {
stratumLevel StratumLevel, stratumLevel S1ap-StratumLevel,
synchronizationStatus SynchronizationStatus, synchronizationStatus S1ap-SynchronizationStatus,
-- iE-Extensions ProtocolExtensionContainer { { TimeSynchronizationInfo-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { TimeSynchronizationInfo-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
S-TMSI ::= SEQUENCE { S1ap-S-TMSI ::= SEQUENCE {
mMEC MME-Code, mMEC S1ap-MME-Code,
m-TMSI M-TMSI, m-TMSI S1ap-M-TMSI,
-- iE-Extensions ProtocolExtensionContainer { {S-TMSI-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {S-TMSI-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
-- T -- T
TAC ::= OCTET STRING (SIZE (2)) S1ap-TAC ::= OCTET STRING (SIZE (2))
TAIListforWarning ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI S1ap-TAIListforWarning ::= SEQUENCE (SIZE(1..s1ap-maxnoofTAIforWarning)) OF S1ap-TAI
TAI ::= SEQUENCE { S1ap-TAI ::= SEQUENCE {
pLMNidentity PLMNidentity, pLMNidentity S1ap-PLMNidentity,
tAC TAC, tAC S1ap-TAC,
-- iE-Extensions ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
TAIItem ::= SEQUENCE { S1ap-TAIItem ::= SEQUENCE {
tAI TAI, tAI S1ap-TAI,
-- iE-Extensions ProtocolExtensionContainer { {TAIItemExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {TAIItemExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
TAI-Broadcast ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Broadcast-Item S1ap-TAI-Broadcast ::= SEQUENCE (SIZE(1..s1ap-maxnoofTAIforWarning)) OF S1ap-TAI-Broadcast-Item
TAI-Broadcast-Item ::= SEQUENCE { S1ap-TAI-Broadcast-Item ::= SEQUENCE {
tAI TAI, tAI S1ap-TAI,
completedCellinTAI CompletedCellinTAI, completedCellinTAI S1ap-CompletedCellinTAI,
-- iE-Extensions ProtocolExtensionContainer { {TAI-Broadcast-Item-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {TAI-Broadcast-Item-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
TAI-Cancelled ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Cancelled-Item S1ap-TAI-Cancelled ::= SEQUENCE (SIZE(1..s1ap-maxnoofTAIforWarning)) OF S1ap-TAI-Cancelled-Item
TAI-Cancelled-Item ::= SEQUENCE { S1ap-TAI-Cancelled-Item ::= SEQUENCE {
tAI TAI, tAI S1ap-TAI,
cancelledCellinTAI CancelledCellinTAI, cancelledCellinTAI S1ap-CancelledCellinTAI,
-- iE-Extensions ProtocolExtensionContainer { {TAI-Cancelled-Item-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {TAI-Cancelled-Item-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
TABasedMDT ::= SEQUENCE { S1ap-TABasedMDT ::= SEQUENCE {
tAListforMDT TAListforMDT, tAListforMDT S1ap-TAListforMDT,
-- iE-Extensions ProtocolExtensionContainer { {TABasedMDT-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {TABasedMDT-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
TAListforMDT ::= SEQUENCE (SIZE(1..maxnoofTAforMDT)) OF TAC S1ap-TAListforMDT ::= SEQUENCE (SIZE(1..s1ap-maxnoofTAforMDT)) OF S1ap-TAC
CompletedCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CompletedCellinTAI-Item S1ap-CompletedCellinTAI ::= SEQUENCE (SIZE(1..s1ap-maxnoofCellinTAI)) OF S1ap-CompletedCellinTAI-Item
CompletedCellinTAI-Item ::= SEQUENCE{ S1ap-CompletedCellinTAI-Item ::= SEQUENCE{
eCGI EUTRAN-CGI, eCGI S1ap-EUTRAN-CGI,
-- iE-Extensions ProtocolExtensionContainer { {CompletedCellinTAI-Item-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {CompletedCellinTAI-Item-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
TBCD-STRING ::= OCTET STRING (SIZE (3)) S1ap-TBCD-STRING ::= OCTET STRING (SIZE (3))
TargetID ::= CHOICE { S1ap-TargetID ::= CHOICE {
targeteNB-ID TargeteNB-ID, targeteNB-ID S1ap-TargeteNB-ID,
targetRNC-ID TargetRNC-ID, targetRNC-ID S1ap-TargetRNC-ID,
cGI CGI, cGI S1ap-CGI,
... ...
} }
TargeteNB-ID ::= SEQUENCE { S1ap-TargeteNB-ID ::= SEQUENCE {
global-ENB-ID Global-ENB-ID, global-ENB-ID S1ap-Global-ENB-ID,
selected-TAI TAI, selected-TAI S1ap-TAI,
-- iE-Extensions ProtocolExtensionContainer { {TargeteNB-ID-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {TargeteNB-ID-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
TargetRNC-ID ::= SEQUENCE { S1ap-TargetRNC-ID ::= SEQUENCE {
lAI LAI, lAI S1ap-LAI,
rAC RAC OPTIONAL, rAC S1ap-RAC OPTIONAL,
rNC-ID RNC-ID, rNC-ID S1ap-RNC-ID,
extendedRNC-ID ExtendedRNC-ID OPTIONAL, extendedRNC-ID S1ap-ExtendedRNC-ID OPTIONAL,
-- iE-Extensions ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
TargeteNB-ToSourceeNB-TransparentContainer ::= SEQUENCE { S1ap-TargeteNB-ToSourceeNB-TransparentContainer ::= SEQUENCE {
rRC-Container RRC-Container, rRC-Container S1ap-RRC-Container,
-- iE-Extensions ProtocolExtensionContainer { {TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
Target-ToSource-TransparentContainer ::= OCTET STRING S1ap-Target-ToSource-TransparentContainer ::= OCTET STRING
-- This IE includes a transparent container from the target RAN node to the source RAN node. -- This IE includes a transparent container from the target RAN node to the source RAN node.
-- The octets of the OCTET STRING are coded according to the specifications of the target system. -- The octets of the OCTET STRING are coded according to the specifications of the target system.
TargetRNC-ToSourceRNC-TransparentContainer ::= OCTET STRING S1ap-TargetRNC-ToSourceRNC-TransparentContainer ::= OCTET STRING
-- This is a dummy IE used only as a reference to the actual definition in relevant specification. -- This is a dummy IE used only as a reference to the actual definition in relevant specification.
TargetBSS-ToSourceBSS-TransparentContainer ::= OCTET STRING S1ap-TargetBSS-ToSourceBSS-TransparentContainer ::= OCTET STRING
-- This is a dummy IE used only as a reference to the actual definition in relevant specification. -- This is a dummy IE used only as a reference to the actual definition in relevant specification.
ThresholdEventA2 ::= SEQUENCE { S1ap-ThresholdEventA2 ::= SEQUENCE {
measurementThreshold MeasurementThresholdA2, measurementThreshold S1ap-MeasurementThresholdA2,
-- iE-Extensions ProtocolExtensionContainer { { ThresholdEventA2-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { ThresholdEventA2-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
Threshold-RSRP ::= INTEGER(0..97) S1ap-Threshold-RSRP ::= INTEGER(0..97)
Threshold-RSRQ ::= INTEGER(0..34) S1ap-Threshold-RSRQ ::= INTEGER(0..34)
TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...} S1ap-TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...}
Time-UE-StayedInCell ::= INTEGER (0..4095) S1ap-Time-UE-StayedInCell ::= INTEGER (0..4095)
TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...)) S1ap-TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...))
TraceActivation ::= SEQUENCE { S1ap-TraceActivation ::= SEQUENCE {
e-UTRAN-Trace-ID E-UTRAN-Trace-ID, e-UTRAN-Trace-ID S1ap-E-UTRAN-Trace-ID,
interfacesToTrace InterfacesToTrace, interfacesToTrace S1ap-InterfacesToTrace,
traceDepth TraceDepth, traceDepth S1ap-TraceDepth,
traceCollectionEntityIPAddress TransportLayerAddress, traceCollectionEntityIPAddress S1ap-TransportLayerAddress,
-- iE-Extensions ProtocolExtensionContainer { { TraceActivation-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { TraceActivation-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
TraceDepth ::= ENUMERATED { S1ap-TraceDepth ::= ENUMERATED {
minimum, minimum,
medium, medium,
maximum, s1ap-maximum,
minimumWithoutVendorSpecificExtension, minimumWithoutVendorSpecificExtension,
mediumWithoutVendorSpecificExtension, mediumWithoutVendorSpecificExtension,
maximumWithoutVendorSpecificExtension, s1ap-maximumWithoutVendorSpecificExtension,
... ...
} }
E-UTRAN-Trace-ID ::= OCTET STRING (SIZE (8)) S1ap-E-UTRAN-Trace-ID ::= OCTET STRING (SIZE (8))
TrafficLoadReductionIndication ::= INTEGER (1..99) S1ap-TrafficLoadReductionIndication ::= INTEGER (1..99)
TypeOfError ::= ENUMERATED { S1ap-TypeOfError ::= ENUMERATED {
not-understood, not-understood,
missing, missing,
... ...
} }
-- U -- U
UEAggregateMaximumBitrate ::= SEQUENCE { S1ap-UEAggregateMaximumBitrate ::= SEQUENCE {
uEaggregateMaximumBitRateDL BitRate, uEaggregateMaximumBitRateDL S1ap-BitRate,
uEaggregateMaximumBitRateUL BitRate, uEaggregateMaximumBitRateUL S1ap-BitRate,
-- iE-Extensions ProtocolExtensionContainer { {UEAggregate-MaximumBitrates-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {UEAggregate-MaximumBitrates-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
UE-S1AP-IDs ::= CHOICE{ S1ap-UE-S1AP-IDs ::= CHOICE{
uE-S1AP-ID-pair UE-S1AP-ID-pair, uE-S1AP-ID-pair S1ap-UE-S1AP-ID-pair,
mME-UE-S1AP-ID MME-UE-S1AP-ID, mME-UE-S1AP-ID S1ap-MME-UE-S1AP-ID,
... ...
} }
UE-S1AP-ID-pair ::= SEQUENCE{ S1ap-UE-S1AP-ID-pair ::= SEQUENCE{
mME-UE-S1AP-ID MME-UE-S1AP-ID, mME-UE-S1AP-ID S1ap-MME-UE-S1AP-ID,
eNB-UE-S1AP-ID ENB-UE-S1AP-ID, eNB-UE-S1AP-ID S1ap-ENB-UE-S1AP-ID,
-- iE-Extensions ProtocolExtensionContainer { {UE-S1AP-ID-pair-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { {S1ap-UE-S1AP-ID-pair-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
UE-associatedLogicalS1-ConnectionItem ::= SEQUENCE { S1ap-UE-associatedLogicalS1-ConnectionItem ::= SEQUENCE {
mME-UE-S1AP-ID MME-UE-S1AP-ID OPTIONAL, mME-UE-S1AP-ID S1ap-MME-UE-S1AP-ID OPTIONAL,
eNB-UE-S1AP-ID ENB-UE-S1AP-ID OPTIONAL, eNB-UE-S1AP-ID S1ap-ENB-UE-S1AP-ID OPTIONAL,
-- iE-Extensions ProtocolExtensionContainer { { UE-associatedLogicalS1-ConnectionItemExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { UE-associatedLogicalS1-ConnectionItemExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
UEIdentityIndexValue ::= BIT STRING (SIZE (10)) S1ap-UEIdentityIndexValue ::= BIT STRING (SIZE (10))
UE-HistoryInformation ::= SEQUENCE (SIZE(1..maxnoofCells)) OF LastVisitedCell-Item S1ap-UE-HistoryInformation ::= SEQUENCE (SIZE(1..s1ap-maxnoofCells)) OF S1ap-LastVisitedCell-Item
UEPagingID ::= CHOICE { S1ap-UEPagingID ::= CHOICE {
s-TMSI S-TMSI, s-TMSI S1ap-S-TMSI,
iMSI IMSI, iMSI S1ap-IMSI,
... ...
} }
UERadioCapability ::= OCTET STRING S1ap-UERadioCapability ::= OCTET STRING
UESecurityCapabilities ::= SEQUENCE { S1ap-UESecurityCapabilities ::= SEQUENCE {
encryptionAlgorithms EncryptionAlgorithms, encryptionAlgorithms S1ap-EncryptionAlgorithms,
integrityProtectionAlgorithms IntegrityProtectionAlgorithms, integrityProtectionAlgorithms S1ap-IntegrityProtectionAlgorithms,
-- iE-Extensions ProtocolExtensionContainer { { UESecurityCapabilities-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { UESecurityCapabilities-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
-- V -- V
-- W -- W
WarningAreaList ::= CHOICE { S1ap-WarningAreaList ::= CHOICE {
cellIDList ECGIList, cellIDList S1ap-ECGIList,
trackingAreaListforWarning TAIListforWarning, trackingAreaListforWarning S1ap-TAIListforWarning,
emergencyAreaIDList EmergencyAreaIDList, emergencyAreaIDList S1ap-EmergencyAreaIDList,
... ...
} }
WarningType ::= OCTET STRING (SIZE (2)) S1ap-WarningType ::= OCTET STRING (SIZE (2))
WarningSecurityInfo ::= OCTET STRING (SIZE (50)) S1ap-WarningSecurityInfo ::= OCTET STRING (SIZE (50))
WarningMessageContents ::= OCTET STRING (SIZE(1..9600)) S1ap-WarningMessageContents ::= OCTET STRING (SIZE(1..9600))
-- X -- X
X2TNLConfigurationInfo ::= SEQUENCE { S1ap-X2TNLConfigurationInfo ::= SEQUENCE {
eNBX2TransportLayerAddresses ENBX2TLAs, eNBX2TransportLayerAddresses S1ap-ENBX2TLAs,
-- iE-Extensions ProtocolExtensionContainer { { X2TNLConfigurationInfo-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { X2TNLConfigurationInfo-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
ENBX2ExtTLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2ExtTLAs)) OF ENBX2ExtTLA S1ap-ENBX2ExtTLAs ::= SEQUENCE (SIZE(1.. s1ap-maxnoofeNBX2ExtTLAs)) OF S1ap-ENBX2ExtTLA
ENBX2ExtTLA ::= SEQUENCE { S1ap-ENBX2ExtTLA ::= SEQUENCE {
iPsecTLA TransportLayerAddress OPTIONAL, iPsecTLA S1ap-TransportLayerAddress OPTIONAL,
gTPTLAa ENBX2GTPTLAs OPTIONAL, gTPTLAa S1ap-ENBX2GTPTLAs OPTIONAL,
-- iE-Extensions ProtocolExtensionContainer { { ENBX2ExtTLA-ExtIEs} } OPTIONAL, -- iE-Extensions ProtocolExtensionContainer { { ENBX2ExtTLA-ExtIEs} } OPTIONAL,
iE-Extensions IE-Extensions OPTIONAL, iE-Extensions S1ap-IE-Extensions OPTIONAL,
... ...
} }
ENBX2GTPTLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2GTPTLAs)) OF TransportLayerAddress S1ap-ENBX2GTPTLAs ::= SEQUENCE (SIZE(1.. s1ap-maxnoofeNBX2GTPTLAs)) OF S1ap-TransportLayerAddress
-- Y -- Y
-- Z -- Z
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -19,134 +19,133 @@ BEGIN ...@@ -19,134 +19,133 @@ BEGIN
-- ************************************************************** -- **************************************************************
IMPORTS IMPORTS
Criticality, S1ap-Criticality,
ProcedureCode S1ap-ProcedureCode
FROM S1AP-CommonDataTypes FROM S1AP-CommonDataTypes
CellTrafficTrace, S1ap-CellTrafficTrace,
DeactivateTrace, S1ap-DeactivateTrace,
DownlinkUEAssociatedLPPaTransport, S1ap-DownlinkUEAssociatedLPPaTransport,
DownlinkNASTransport, S1ap-DownlinkNASTransport,
DownlinkNonUEAssociatedLPPaTransport, S1ap-DownlinkNonUEAssociatedLPPaTransport,
DownlinkS1cdma2000tunneling, S1ap-DownlinkS1cdma2000tunneling,
ENBDirectInformationTransfer, S1ap-ENBDirectInformationTransfer,
ENBStatusTransfer, S1ap-ENBStatusTransfer,
ENBConfigurationUpdate, S1ap-ENBConfigurationUpdate,
ENBConfigurationUpdateAcknowledge, S1ap-ENBConfigurationUpdateAcknowledge,
ENBConfigurationUpdateFailure, S1ap-ENBConfigurationUpdateFailure,
ErrorIndication, S1ap-ErrorIndication,
HandoverCancel, S1ap-HandoverCancel,
HandoverCancelAcknowledge, S1ap-HandoverCancelAcknowledge,
HandoverCommand, S1ap-HandoverCommand,
HandoverFailure, S1ap-HandoverFailure,
HandoverNotify, S1ap-HandoverNotify,
HandoverPreparationFailure, S1ap-HandoverPreparationFailure,
HandoverRequest, S1ap-HandoverRequest,
HandoverRequestAcknowledge, S1ap-HandoverRequestAcknowledge,
HandoverRequired, S1ap-HandoverRequired,
InitialContextSetupFailure, S1ap-InitialContextSetupFailure,
InitialContextSetupRequest, S1ap-InitialContextSetupRequest,
InitialContextSetupResponse, S1ap-InitialContextSetupResponse,
InitialUEMessage, S1ap-InitialUEMessage,
KillRequest, S1ap-KillRequest,
KillResponse, S1ap-KillResponse,
LocationReportingControl, S1ap-LocationReportingControl,
LocationReportingFailureIndication, S1ap-LocationReportingFailureIndication,
LocationReport, S1ap-LocationReport,
MMEConfigurationUpdate, S1ap-MMEConfigurationUpdate,
MMEConfigurationUpdateAcknowledge, S1ap-MMEConfigurationUpdateAcknowledge,
MMEConfigurationUpdateFailure, S1ap-MMEConfigurationUpdateFailure,
MMEDirectInformationTransfer, S1ap-MMEDirectInformationTransfer,
MMEStatusTransfer, S1ap-MMEStatusTransfer,
NASNonDeliveryIndication, S1ap-NASNonDeliveryIndication,
OverloadStart, S1ap-OverloadStart,
OverloadStop, S1ap-OverloadStop,
Paging, S1ap-Paging,
PathSwitchRequest, S1ap-PathSwitchRequest,
PathSwitchRequestAcknowledge, S1ap-PathSwitchRequestAcknowledge,
PathSwitchRequestFailure, S1ap-PathSwitchRequestFailure,
PrivateMessage, S1ap-PrivateMessage,
Reset, S1ap-Reset,
ResetAcknowledge, S1ap-ResetAcknowledge,
S1SetupFailure, S1ap-S1SetupFailure,
S1SetupRequest, S1ap-S1SetupRequest,
S1SetupResponse, S1ap-S1SetupResponse,
E-RABModifyRequest, E-S1ap-RABModifyRequest,
E-RABModifyResponse, E-S1ap-RABModifyResponse,
E-RABReleaseCommand, E-S1ap-RABReleaseCommand,
E-RABReleaseResponse, E-S1ap-RABReleaseResponse,
E-RABReleaseIndication, E-S1ap-RABReleaseIndication,
E-RABSetupRequest, E-S1ap-RABSetupRequest,
E-RABSetupResponse, E-S1ap-RABSetupResponse,
TraceFailureIndication, S1ap-TraceFailureIndication,
TraceStart, S1ap-TraceStart,
UECapabilityInfoIndication, S1ap-UECapabilityInfoIndication,
UEContextModificationFailure, S1ap-UEContextModificationFailure,
UEContextModificationRequest, S1ap-UEContextModificationRequest,
UEContextModificationResponse, S1ap-UEContextModificationResponse,
UEContextReleaseCommand, S1ap-UEContextReleaseCommand,
UEContextReleaseComplete, S1ap-UEContextReleaseComplete,
UEContextReleaseRequest, S1ap-UEContextReleaseRequest,
UplinkUEAssociatedLPPaTransport, S1ap-UplinkUEAssociatedLPPaTransport,
UplinkNASTransport, S1ap-UplinkNASTransport,
UplinkNonUEAssociatedLPPaTransport, S1ap-UplinkNonUEAssociatedLPPaTransport,
UplinkS1cdma2000tunneling, S1ap-UplinkS1cdma2000tunneling,
WriteReplaceWarningRequest, S1ap-WriteReplaceWarningRequest,
WriteReplaceWarningResponse, S1ap-WriteReplaceWarningResponse,
ENBConfigurationTransfer, S1ap-ENBConfigurationTransfer,
MMEConfigurationTransfer S1ap-MMEConfigurationTransfer
FROM S1AP-PDU-Contents FROM S1AP-PDU-Contents
id-CellTrafficTrace, id-CellTrafficTrace,
id-DeactivateTrace, id-DeactivateTrace,
id-downlinkUEAssociatedLPPaTransport, id-downlinkUEAssociatedLPPaTransport,
id-downlinkNASTransport, id-downlinkNASTransport,
id-downlinkNonUEAssociatedLPPaTransport, id-downlinkNonUEAssociatedLPPaTransport,
id-DownlinkS1cdma2000tunneling, id-DownlinkS1cdma2000tunneling,
id-eNBStatusTransfer, id-eNBStatusTransfer,
id-ErrorIndication, id-ErrorIndication,
id-HandoverCancel, id-HandoverCancel,
id-HandoverNotification, id-HandoverNotification,
id-HandoverPreparation, id-HandoverPreparation,
id-HandoverResourceAllocation, id-HandoverResourceAllocation,
id-InitialContextSetup, id-InitialContextSetup,
id-initialUEMessage, id-initialUEMessage,
id-ENBConfigurationUpdate, id-ENBConfigurationUpdate,
id-Kill, id-Kill,
id-LocationReportingControl, id-LocationReportingControl,
id-LocationReportingFailureIndication, id-LocationReportingFailureIndication,
id-LocationReport, id-LocationReport,
id-eNBDirectInformationTransfer, id-eNBDirectInformationTransfer,
id-MMEConfigurationUpdate, id-MMEConfigurationUpdate,
id-MMEDirectInformationTransfer, id-MMEDirectInformationTransfer,
id-MMEStatusTransfer, id-MMEStatusTransfer,
id-NASNonDeliveryIndication, id-NASNonDeliveryIndication,
id-OverloadStart, id-OverloadStart,
id-OverloadStop, id-OverloadStop,
id-Paging, id-Paging,
id-PathSwitchRequest, id-PathSwitchRequest,
id-PrivateMessage, id-PrivateMessage,
id-Reset, id-Reset,
id-S1Setup, id-S1Setup,
id-E-RABModify, id-E-RABModify,
id-E-RABRelease, id-E-RABRelease,
id-E-RABReleaseIndication, id-E-RABReleaseIndication,
id-E-RABSetup, id-E-RABSetup,
id-TraceFailureIndication, id-TraceFailureIndication,
id-TraceStart, id-TraceStart,
id-UECapabilityInfoIndication, id-UECapabilityInfoIndication,
id-UEContextModification, id-UEContextModification,
id-UEContextRelease, id-UEContextRelease,
id-UEContextReleaseRequest, id-UEContextReleaseRequest,
id-uplinkUEAssociatedLPPaTransport, id-uplinkUEAssociatedLPPaTransport,
id-uplinkNASTransport, id-uplinkNASTransport,
id-uplinkNonUEAssociatedLPPaTransport, id-uplinkNonUEAssociatedLPPaTransport,
id-UplinkS1cdma2000tunneling, id-UplinkS1cdma2000tunneling,
id-WriteReplaceWarning, id-WriteReplaceWarning,
id-eNBConfigurationTransfer, id-eNBConfigurationTransfer,
id-MMEConfigurationTransfer id-MMEConfigurationTransfer
FROM S1AP-Constants; FROM S1AP-Constants;
...@@ -157,18 +156,18 @@ FROM S1AP-Constants; ...@@ -157,18 +156,18 @@ FROM S1AP-Constants;
-- ************************************************************** -- **************************************************************
S1AP-ELEMENTARY-PROCEDURE ::= CLASS { S1AP-ELEMENTARY-PROCEDURE ::= CLASS {
&InitiatingMessage , &InitiatingMessage ,
&SuccessfulOutcome OPTIONAL, &SuccessfulOutcome OPTIONAL,
&UnsuccessfulOutcome OPTIONAL, &UnsuccessfulOutcome OPTIONAL,
&procedureCode ProcedureCode UNIQUE, &procedureCode ProcedureCode UNIQUE,
&criticality Criticality DEFAULT ignore &criticality Criticality DEFAULT ignore
} }
WITH SYNTAX { WITH SYNTAX {
INITIATING MESSAGE &InitiatingMessage INITIATING MESSAGE &InitiatingMessage
[SUCCESSFUL OUTCOME &SuccessfulOutcome] [SUCCESSFUL OUTCOME &SuccessfulOutcome]
[UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
PROCEDURE CODE &procedureCode PROCEDURE CODE &procedureCode
[CRITICALITY &criticality] [CRITICALITY &criticality]
} }
-- ************************************************************** -- **************************************************************
...@@ -178,28 +177,28 @@ WITH SYNTAX { ...@@ -178,28 +177,28 @@ WITH SYNTAX {
-- ************************************************************** -- **************************************************************
S1AP-PDU ::= CHOICE { S1AP-PDU ::= CHOICE {
initiatingMessage InitiatingMessage, initiatingMessage InitiatingMessage,
successfulOutcome SuccessfulOutcome, successfulOutcome SuccessfulOutcome,
unsuccessfulOutcome UnsuccessfulOutcome, unsuccessfulOutcome UnsuccessfulOutcome,
... ...
} }
InitiatingMessage ::= SEQUENCE { InitiatingMessage ::= SEQUENCE {
procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}), procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}), criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
value S1AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}) value S1AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
} }
SuccessfulOutcome ::= SEQUENCE { SuccessfulOutcome ::= SEQUENCE {
procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}), procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}), criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
value S1AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}) value S1AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
} }
UnsuccessfulOutcome ::= SEQUENCE { UnsuccessfulOutcome ::= SEQUENCE {
procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}), procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}), criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
value S1AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}) value S1AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
} }
-- ************************************************************** -- **************************************************************
...@@ -209,66 +208,66 @@ UnsuccessfulOutcome ::= SEQUENCE { ...@@ -209,66 +208,66 @@ UnsuccessfulOutcome ::= SEQUENCE {
-- ************************************************************** -- **************************************************************
S1AP-ELEMENTARY-PROCEDURES S1AP-ELEMENTARY-PROCEDURE ::= { S1AP-ELEMENTARY-PROCEDURES S1AP-ELEMENTARY-PROCEDURE ::= {
S1AP-ELEMENTARY-PROCEDURES-CLASS-1 | S1AP-ELEMENTARY-PROCEDURES-CLASS-1 |
S1AP-ELEMENTARY-PROCEDURES-CLASS-2, S1AP-ELEMENTARY-PROCEDURES-CLASS-2,
... ...
} }
S1AP-ELEMENTARY-PROCEDURES-CLASS-1 S1AP-ELEMENTARY-PROCEDURE ::= { S1AP-ELEMENTARY-PROCEDURES-CLASS-1 S1AP-ELEMENTARY-PROCEDURE ::= {
handoverPreparation | handoverPreparation |
handoverResourceAllocation | handoverResourceAllocation |
pathSwitchRequest | pathSwitchRequest |
e-RABSetup | e-RABSetup |
e-RABModify | e-RABModify |
e-RABRelease | e-RABRelease |
initialContextSetup | initialContextSetup |
handoverCancel | handoverCancel |
kill | kill |
reset | reset |
s1Setup | s1Setup |
uEContextModification | uEContextModification |
uEContextRelease | uEContextRelease |
eNBConfigurationUpdate | eNBConfigurationUpdate |
mMEConfigurationUpdate | mMEConfigurationUpdate |
writeReplaceWarning , writeReplaceWarning ,
... ...
} }
S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= { S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= {
handoverNotification | handoverNotification |
e-RABReleaseIndication | e-RABReleaseIndication |
paging | paging |
downlinkNASTransport | downlinkNASTransport |
initialUEMessage | initialUEMessage |
uplinkNASTransport | uplinkNASTransport |
errorIndication | errorIndication |
nASNonDeliveryIndication | nASNonDeliveryIndication |
uEContextReleaseRequest | uEContextReleaseRequest |
downlinkS1cdma2000tunneling | downlinkS1cdma2000tunneling |
uplinkS1cdma2000tunneling | uplinkS1cdma2000tunneling |
uECapabilityInfoIndication | uECapabilityInfoIndication |
eNBStatusTransfer | eNBStatusTransfer |
mMEStatusTransfer | mMEStatusTransfer |
deactivateTrace | deactivateTrace |
traceStart | traceStart |
traceFailureIndication | traceFailureIndication |
cellTrafficTrace | cellTrafficTrace |
locationReportingControl | locationReportingControl |
locationReportingFailureIndication | locationReportingFailureIndication |
locationReport | locationReport |
overloadStart | overloadStart |
overloadStop | overloadStop |
eNBDirectInformationTransfer | eNBDirectInformationTransfer |
mMEDirectInformationTransfer | mMEDirectInformationTransfer |
eNBConfigurationTransfer | eNBConfigurationTransfer |
mMEConfigurationTransfer | mMEConfigurationTransfer |
privateMessage , privateMessage ,
..., ...,
downlinkUEAssociatedLPPaTransport | downlinkUEAssociatedLPPaTransport |
uplinkUEAssociatedLPPaTransport | uplinkUEAssociatedLPPaTransport |
downlinkNonUEAssociatedLPPaTransport | downlinkNonUEAssociatedLPPaTransport |
uplinkNonUEAssociatedLPPaTransport uplinkNonUEAssociatedLPPaTransport
} }
-- ************************************************************** -- **************************************************************
...@@ -278,211 +277,211 @@ S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= { ...@@ -278,211 +277,211 @@ S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= {
-- ************************************************************** -- **************************************************************
handoverPreparation S1AP-ELEMENTARY-PROCEDURE ::= { handoverPreparation S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE HandoverRequired INITIATING MESSAGE HandoverRequired
SUCCESSFUL OUTCOME HandoverCommand SUCCESSFUL OUTCOME HandoverCommand
UNSUCCESSFUL OUTCOME HandoverPreparationFailure UNSUCCESSFUL OUTCOME HandoverPreparationFailure
PROCEDURE CODE id-HandoverPreparation PROCEDURE CODE id-HandoverPreparation
CRITICALITY reject CRITICALITY reject
} }
handoverResourceAllocation S1AP-ELEMENTARY-PROCEDURE ::= { handoverResourceAllocation S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE HandoverRequest INITIATING MESSAGE HandoverRequest
SUCCESSFUL OUTCOME HandoverRequestAcknowledge SUCCESSFUL OUTCOME HandoverRequestAcknowledge
UNSUCCESSFUL OUTCOME HandoverFailure UNSUCCESSFUL OUTCOME HandoverFailure
PROCEDURE CODE id-HandoverResourceAllocation PROCEDURE CODE id-HandoverResourceAllocation
CRITICALITY reject CRITICALITY reject
} }
handoverNotification S1AP-ELEMENTARY-PROCEDURE ::= { handoverNotification S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE HandoverNotify INITIATING MESSAGE HandoverNotify
PROCEDURE CODE id-HandoverNotification PROCEDURE CODE id-HandoverNotification
CRITICALITY ignore CRITICALITY ignore
} }
pathSwitchRequest S1AP-ELEMENTARY-PROCEDURE ::= { pathSwitchRequest S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE PathSwitchRequest INITIATING MESSAGE PathSwitchRequest
SUCCESSFUL OUTCOME PathSwitchRequestAcknowledge SUCCESSFUL OUTCOME PathSwitchRequestAcknowledge
UNSUCCESSFUL OUTCOME PathSwitchRequestFailure UNSUCCESSFUL OUTCOME PathSwitchRequestFailure
PROCEDURE CODE id-PathSwitchRequest PROCEDURE CODE id-PathSwitchRequest
CRITICALITY reject CRITICALITY reject
} }
e-RABSetup S1AP-ELEMENTARY-PROCEDURE ::= { e-RABSetup S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE E-RABSetupRequest INITIATING MESSAGE E-RABSetupRequest
SUCCESSFUL OUTCOME E-RABSetupResponse SUCCESSFUL OUTCOME E-RABSetupResponse
PROCEDURE CODE id-E-RABSetup PROCEDURE CODE id-E-RABSetup
CRITICALITY reject CRITICALITY reject
} }
e-RABModify S1AP-ELEMENTARY-PROCEDURE ::= { e-RABModify S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE E-RABModifyRequest INITIATING MESSAGE E-RABModifyRequest
SUCCESSFUL OUTCOME E-RABModifyResponse SUCCESSFUL OUTCOME E-RABModifyResponse
PROCEDURE CODE id-E-RABModify PROCEDURE CODE id-E-RABModify
CRITICALITY reject CRITICALITY reject
} }
e-RABRelease S1AP-ELEMENTARY-PROCEDURE ::= { e-RABRelease S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE E-RABReleaseCommand INITIATING MESSAGE E-RABReleaseCommand
SUCCESSFUL OUTCOME E-RABReleaseResponse SUCCESSFUL OUTCOME E-RABReleaseResponse
PROCEDURE CODE id-E-RABRelease PROCEDURE CODE id-E-RABRelease
CRITICALITY reject CRITICALITY reject
} }
e-RABReleaseIndication S1AP-ELEMENTARY-PROCEDURE ::= { e-RABReleaseIndication S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE E-RABReleaseIndication INITIATING MESSAGE E-RABReleaseIndication
PROCEDURE CODE id-E-RABReleaseIndication PROCEDURE CODE id-E-RABReleaseIndication
CRITICALITY ignore CRITICALITY ignore
} }
initialContextSetup S1AP-ELEMENTARY-PROCEDURE ::= { initialContextSetup S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE InitialContextSetupRequest INITIATING MESSAGE InitialContextSetupRequest
SUCCESSFUL OUTCOME InitialContextSetupResponse SUCCESSFUL OUTCOME InitialContextSetupResponse
UNSUCCESSFUL OUTCOME InitialContextSetupFailure UNSUCCESSFUL OUTCOME InitialContextSetupFailure
PROCEDURE CODE id-InitialContextSetup PROCEDURE CODE id-InitialContextSetup
CRITICALITY reject CRITICALITY reject
} }
uEContextReleaseRequest S1AP-ELEMENTARY-PROCEDURE ::= { uEContextReleaseRequest S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE UEContextReleaseRequest INITIATING MESSAGE UEContextReleaseRequest
PROCEDURE CODE id-UEContextReleaseRequest PROCEDURE CODE id-UEContextReleaseRequest
CRITICALITY ignore CRITICALITY ignore
} }
paging S1AP-ELEMENTARY-PROCEDURE ::= { paging S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE Paging INITIATING MESSAGE Paging
PROCEDURE CODE id-Paging PROCEDURE CODE id-Paging
CRITICALITY ignore CRITICALITY ignore
} }
downlinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= { downlinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE DownlinkNASTransport INITIATING MESSAGE DownlinkNASTransport
PROCEDURE CODE id-downlinkNASTransport PROCEDURE CODE id-downlinkNASTransport
CRITICALITY ignore CRITICALITY ignore
} }
initialUEMessage S1AP-ELEMENTARY-PROCEDURE ::= { initialUEMessage S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE InitialUEMessage INITIATING MESSAGE InitialUEMessage
PROCEDURE CODE id-initialUEMessage PROCEDURE CODE id-initialUEMessage
CRITICALITY ignore CRITICALITY ignore
} }
uplinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= { uplinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE UplinkNASTransport INITIATING MESSAGE UplinkNASTransport
PROCEDURE CODE id-uplinkNASTransport PROCEDURE CODE id-uplinkNASTransport
CRITICALITY ignore CRITICALITY ignore
} }
nASNonDeliveryIndication S1AP-ELEMENTARY-PROCEDURE ::= { nASNonDeliveryIndication S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE NASNonDeliveryIndication INITIATING MESSAGE NASNonDeliveryIndication
PROCEDURE CODE id-NASNonDeliveryIndication PROCEDURE CODE id-NASNonDeliveryIndication
CRITICALITY ignore CRITICALITY ignore
} }
handoverCancel S1AP-ELEMENTARY-PROCEDURE ::= { handoverCancel S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE HandoverCancel INITIATING MESSAGE HandoverCancel
SUCCESSFUL OUTCOME HandoverCancelAcknowledge SUCCESSFUL OUTCOME HandoverCancelAcknowledge
PROCEDURE CODE id-HandoverCancel PROCEDURE CODE id-HandoverCancel
CRITICALITY reject CRITICALITY reject
} }
reset S1AP-ELEMENTARY-PROCEDURE ::= { reset S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE Reset INITIATING MESSAGE Reset
SUCCESSFUL OUTCOME ResetAcknowledge SUCCESSFUL OUTCOME ResetAcknowledge
PROCEDURE CODE id-Reset PROCEDURE CODE id-Reset
CRITICALITY reject CRITICALITY reject
} }
errorIndication S1AP-ELEMENTARY-PROCEDURE ::= { errorIndication S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE ErrorIndication INITIATING MESSAGE ErrorIndication
PROCEDURE CODE id-ErrorIndication PROCEDURE CODE id-ErrorIndication
CRITICALITY ignore CRITICALITY ignore
} }
s1Setup S1AP-ELEMENTARY-PROCEDURE ::= { s1Setup S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE S1SetupRequest INITIATING MESSAGE S1SetupRequest
SUCCESSFUL OUTCOME S1SetupResponse SUCCESSFUL OUTCOME S1SetupResponse
UNSUCCESSFUL OUTCOME S1SetupFailure UNSUCCESSFUL OUTCOME S1SetupFailure
PROCEDURE CODE id-S1Setup PROCEDURE CODE id-S1Setup
CRITICALITY reject CRITICALITY reject
} }
eNBConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= { eNBConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE ENBConfigurationUpdate INITIATING MESSAGE ENBConfigurationUpdate
SUCCESSFUL OUTCOME ENBConfigurationUpdateAcknowledge SUCCESSFUL OUTCOME ENBConfigurationUpdateAcknowledge
UNSUCCESSFUL OUTCOME ENBConfigurationUpdateFailure UNSUCCESSFUL OUTCOME ENBConfigurationUpdateFailure
PROCEDURE CODE id-ENBConfigurationUpdate PROCEDURE CODE id-ENBConfigurationUpdate
CRITICALITY reject CRITICALITY reject
} }
mMEConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= { mMEConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE MMEConfigurationUpdate INITIATING MESSAGE MMEConfigurationUpdate
SUCCESSFUL OUTCOME MMEConfigurationUpdateAcknowledge SUCCESSFUL OUTCOME MMEConfigurationUpdateAcknowledge
UNSUCCESSFUL OUTCOME MMEConfigurationUpdateFailure UNSUCCESSFUL OUTCOME MMEConfigurationUpdateFailure
PROCEDURE CODE id-MMEConfigurationUpdate PROCEDURE CODE id-MMEConfigurationUpdate
CRITICALITY reject CRITICALITY reject
} }
downlinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= { downlinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE DownlinkS1cdma2000tunneling INITIATING MESSAGE DownlinkS1cdma2000tunneling
PROCEDURE CODE id-DownlinkS1cdma2000tunneling PROCEDURE CODE id-DownlinkS1cdma2000tunneling
CRITICALITY ignore CRITICALITY ignore
} }
uplinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= { uplinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE UplinkS1cdma2000tunneling INITIATING MESSAGE UplinkS1cdma2000tunneling
PROCEDURE CODE id-UplinkS1cdma2000tunneling PROCEDURE CODE id-UplinkS1cdma2000tunneling
CRITICALITY ignore CRITICALITY ignore
} }
uEContextModification S1AP-ELEMENTARY-PROCEDURE ::= { uEContextModification S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE UEContextModificationRequest INITIATING MESSAGE UEContextModificationRequest
SUCCESSFUL OUTCOME UEContextModificationResponse SUCCESSFUL OUTCOME UEContextModificationResponse
UNSUCCESSFUL OUTCOME UEContextModificationFailure UNSUCCESSFUL OUTCOME UEContextModificationFailure
PROCEDURE CODE id-UEContextModification PROCEDURE CODE id-UEContextModification
CRITICALITY reject CRITICALITY reject
} }
uECapabilityInfoIndication S1AP-ELEMENTARY-PROCEDURE ::= { uECapabilityInfoIndication S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE UECapabilityInfoIndication INITIATING MESSAGE UECapabilityInfoIndication
PROCEDURE CODE id-UECapabilityInfoIndication PROCEDURE CODE id-UECapabilityInfoIndication
CRITICALITY ignore CRITICALITY ignore
} }
uEContextRelease S1AP-ELEMENTARY-PROCEDURE ::= { uEContextRelease S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE UEContextReleaseCommand INITIATING MESSAGE UEContextReleaseCommand
SUCCESSFUL OUTCOME UEContextReleaseComplete SUCCESSFUL OUTCOME UEContextReleaseComplete
PROCEDURE CODE id-UEContextRelease PROCEDURE CODE id-UEContextRelease
CRITICALITY reject CRITICALITY reject
} }
eNBStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= { eNBStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE ENBStatusTransfer INITIATING MESSAGE ENBStatusTransfer
PROCEDURE CODE id-eNBStatusTransfer PROCEDURE CODE id-eNBStatusTransfer
CRITICALITY ignore CRITICALITY ignore
} }
mMEStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= { mMEStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE MMEStatusTransfer INITIATING MESSAGE MMEStatusTransfer
PROCEDURE CODE id-MMEStatusTransfer PROCEDURE CODE id-MMEStatusTransfer
CRITICALITY ignore CRITICALITY ignore
} }
deactivateTrace S1AP-ELEMENTARY-PROCEDURE ::= { deactivateTrace S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE DeactivateTrace INITIATING MESSAGE DeactivateTrace
PROCEDURE CODE id-DeactivateTrace PROCEDURE CODE id-DeactivateTrace
CRITICALITY ignore CRITICALITY ignore
} }
traceStart S1AP-ELEMENTARY-PROCEDURE ::= { traceStart S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE TraceStart INITIATING MESSAGE TraceStart
PROCEDURE CODE id-TraceStart PROCEDURE CODE id-TraceStart
CRITICALITY ignore CRITICALITY ignore
} }
traceFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= { traceFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE TraceFailureIndication INITIATING MESSAGE TraceFailureIndication
PROCEDURE CODE id-TraceFailureIndication PROCEDURE CODE id-TraceFailureIndication
CRITICALITY ignore CRITICALITY ignore
} }
cellTrafficTrace S1AP-ELEMENTARY-PROCEDURE ::={ cellTrafficTrace S1AP-ELEMENTARY-PROCEDURE ::={
INITIATING MESSAGE CellTrafficTrace INITIATING MESSAGE CellTrafficTrace
...@@ -491,101 +490,101 @@ CRITICALITY ignore ...@@ -491,101 +490,101 @@ CRITICALITY ignore
} }
locationReportingControl S1AP-ELEMENTARY-PROCEDURE ::= { locationReportingControl S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE LocationReportingControl INITIATING MESSAGE LocationReportingControl
PROCEDURE CODE id-LocationReportingControl PROCEDURE CODE id-LocationReportingControl
CRITICALITY ignore CRITICALITY ignore
} }
locationReportingFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= { locationReportingFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE LocationReportingFailureIndication INITIATING MESSAGE LocationReportingFailureIndication
PROCEDURE CODE id-LocationReportingFailureIndication PROCEDURE CODE id-LocationReportingFailureIndication
CRITICALITY ignore CRITICALITY ignore
} }
locationReport S1AP-ELEMENTARY-PROCEDURE ::= { locationReport S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE LocationReport INITIATING MESSAGE LocationReport
PROCEDURE CODE id-LocationReport PROCEDURE CODE id-LocationReport
CRITICALITY ignore CRITICALITY ignore
} }
overloadStart S1AP-ELEMENTARY-PROCEDURE ::= { overloadStart S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE OverloadStart INITIATING MESSAGE OverloadStart
PROCEDURE CODE id-OverloadStart PROCEDURE CODE id-OverloadStart
CRITICALITY ignore CRITICALITY ignore
} }
overloadStop S1AP-ELEMENTARY-PROCEDURE ::= { overloadStop S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE OverloadStop INITIATING MESSAGE OverloadStop
PROCEDURE CODE id-OverloadStop PROCEDURE CODE id-OverloadStop
CRITICALITY reject CRITICALITY reject
} }
writeReplaceWarning S1AP-ELEMENTARY-PROCEDURE ::= { writeReplaceWarning S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE WriteReplaceWarningRequest INITIATING MESSAGE WriteReplaceWarningRequest
SUCCESSFUL OUTCOME WriteReplaceWarningResponse SUCCESSFUL OUTCOME WriteReplaceWarningResponse
PROCEDURE CODE id-WriteReplaceWarning PROCEDURE CODE id-WriteReplaceWarning
CRITICALITY reject CRITICALITY reject
} }
eNBDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= { eNBDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE ENBDirectInformationTransfer INITIATING MESSAGE ENBDirectInformationTransfer
PROCEDURE CODE id-eNBDirectInformationTransfer PROCEDURE CODE id-eNBDirectInformationTransfer
CRITICALITY ignore CRITICALITY ignore
} }
mMEDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= { mMEDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE MMEDirectInformationTransfer INITIATING MESSAGE MMEDirectInformationTransfer
PROCEDURE CODE id-MMEDirectInformationTransfer PROCEDURE CODE id-MMEDirectInformationTransfer
CRITICALITY ignore CRITICALITY ignore
} }
eNBConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= { eNBConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE ENBConfigurationTransfer INITIATING MESSAGE ENBConfigurationTransfer
PROCEDURE CODE id-eNBConfigurationTransfer PROCEDURE CODE id-eNBConfigurationTransfer
CRITICALITY ignore CRITICALITY ignore
} }
mMEConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= { mMEConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE MMEConfigurationTransfer INITIATING MESSAGE MMEConfigurationTransfer
PROCEDURE CODE id-MMEConfigurationTransfer PROCEDURE CODE id-MMEConfigurationTransfer
CRITICALITY ignore CRITICALITY ignore
} }
privateMessage S1AP-ELEMENTARY-PROCEDURE ::= { privateMessage S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE PrivateMessage INITIATING MESSAGE PrivateMessage
PROCEDURE CODE id-PrivateMessage PROCEDURE CODE id-PrivateMessage
CRITICALITY ignore CRITICALITY ignore
} }
kill S1AP-ELEMENTARY-PROCEDURE ::= { kill S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE KillRequest INITIATING MESSAGE KillRequest
SUCCESSFUL OUTCOME KillResponse SUCCESSFUL OUTCOME KillResponse
PROCEDURE CODE id-Kill PROCEDURE CODE id-Kill
CRITICALITY reject CRITICALITY reject
} }
downlinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= { downlinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE DownlinkUEAssociatedLPPaTransport INITIATING MESSAGE DownlinkUEAssociatedLPPaTransport
PROCEDURE CODE id-downlinkUEAssociatedLPPaTransport PROCEDURE CODE id-downlinkUEAssociatedLPPaTransport
CRITICALITY ignore CRITICALITY ignore
} }
uplinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= { uplinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE UplinkUEAssociatedLPPaTransport INITIATING MESSAGE UplinkUEAssociatedLPPaTransport
PROCEDURE CODE id-uplinkUEAssociatedLPPaTransport PROCEDURE CODE id-uplinkUEAssociatedLPPaTransport
CRITICALITY ignore CRITICALITY ignore
} }
downlinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= { downlinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE DownlinkNonUEAssociatedLPPaTransport INITIATING MESSAGE DownlinkNonUEAssociatedLPPaTransport
PROCEDURE CODE id-downlinkNonUEAssociatedLPPaTransport PROCEDURE CODE id-downlinkNonUEAssociatedLPPaTransport
CRITICALITY ignore CRITICALITY ignore
} }
uplinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= { uplinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE UplinkNonUEAssociatedLPPaTransport INITIATING MESSAGE UplinkNonUEAssociatedLPPaTransport
PROCEDURE CODE id-uplinkNonUEAssociatedLPPaTransport PROCEDURE CODE id-uplinkNonUEAssociatedLPPaTransport
CRITICALITY ignore CRITICALITY ignore
} }
END END
...@@ -8,406 +8,405 @@ DEFINITIONS AUTOMATIC TAGS ::= ...@@ -8,406 +8,405 @@ DEFINITIONS AUTOMATIC TAGS ::=
BEGIN BEGIN
IMPORTS IMPORTS
Criticality, S1ap-Criticality,
ProcedureCode, S1ap-ProcedureCode,
ProtocolIE-ID S1ap-ProtocolIE-ID
FROM S1AP-CommonDataTypes FROM S1AP-CommonDataTypes
maxProtocolIEs s1ap-maxProtocolIEs
FROM S1AP-Constants; FROM S1AP-Constants;
S1AP-PDU ::= CHOICE { S1AP-PDU ::= CHOICE {
initiatingMessage InitiatingMessage, initiatingMessage S1ap-InitiatingMessage,
successfulOutcome SuccessfulOutcome, successfulOutcome S1ap-SuccessfulOutcome,
unsuccessfulOutcome UnsuccessfulOutcome, unsuccessfulOutcome S1ap-UnsuccessfulOutcome,
... ...
} }
InitiatingMessage ::= SEQUENCE { S1ap-InitiatingMessage ::= SEQUENCE {
procedureCode ProcedureCode, procedureCode S1ap-ProcedureCode,
criticality Criticality, criticality S1ap-Criticality,
value ANY value ANY
} }
SuccessfulOutcome ::= SEQUENCE { S1ap-SuccessfulOutcome ::= SEQUENCE {
procedureCode ProcedureCode, procedureCode S1ap-ProcedureCode,
criticality Criticality, criticality S1ap-Criticality,
value ANY value ANY
} }
UnsuccessfulOutcome ::= SEQUENCE { S1ap-UnsuccessfulOutcome ::= SEQUENCE {
procedureCode ProcedureCode, procedureCode S1ap-ProcedureCode,
criticality Criticality, criticality S1ap-Criticality,
value ANY value ANY
} }
HandoverRequired ::= SEQUENCE { S1ap-HandoverRequired ::= SEQUENCE {
handoverRequired-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-HandoverRequired-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
HandoverCommand ::= SEQUENCE { S1ap-HandoverCommand ::= SEQUENCE {
handoverCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-HandoverCommand-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
HandoverPreparationFailure ::= SEQUENCE { S1ap-HandoverPreparationFailure ::= SEQUENCE {
handoverPreparationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-HandoverPreparationFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
HandoverRequest ::= SEQUENCE { S1ap-HandoverRequest ::= SEQUENCE {
handoverRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-HandoverRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
HandoverRequestAcknowledge ::= SEQUENCE { S1ap-HandoverRequestAcknowledge ::= SEQUENCE {
handoverRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-HandoverRequestAcknowledge-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
HandoverFailure ::= SEQUENCE { S1ap-HandoverFailure ::= SEQUENCE {
handoverFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-HandoverFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
HandoverNotify ::= SEQUENCE { S1ap-HandoverNotify ::= SEQUENCE {
handoverNotify-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-HandoverNotify-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
PathSwitchRequest ::= SEQUENCE { S1ap-PathSwitchRequest ::= SEQUENCE {
pathSwitchRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-PathSwitchRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
PathSwitchRequestAcknowledge ::= SEQUENCE { S1ap-PathSwitchRequestAcknowledge ::= SEQUENCE {
pathSwitchRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-PathSwitchRequestAcknowledge-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
PathSwitchRequestFailure ::= SEQUENCE { S1ap-PathSwitchRequestFailure ::= SEQUENCE {
pathSwitchRequestFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-PathSwitchRequestFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
E-RABSetupRequest ::= SEQUENCE { S1ap-E-RABSetupRequest ::= SEQUENCE {
e-RABSetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-E-RABSetupRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
E-RABSetupResponse ::= SEQUENCE { S1ap-E-RABSetupResponse ::= SEQUENCE {
e-RABSetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-E-RABSetupResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
E-RABModifyRequest ::= SEQUENCE { S1ap-E-RABModifyRequest ::= SEQUENCE {
e-RABModifyRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-E-RABModifyRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
E-RABModifyResponse ::= SEQUENCE { S1ap-E-RABModifyResponse ::= SEQUENCE {
e-RABModifyResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-E-RABModifyResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
E-RABReleaseIndication ::= SEQUENCE { S1ap-E-RABReleaseIndication ::= SEQUENCE {
e-RABReleaseIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-E-RABReleaseIndication-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
E-RABReleaseCommand ::= SEQUENCE { S1ap-E-RABReleaseCommand ::= SEQUENCE {
e-RABReleaseCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-E-RABReleaseCommand-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
E-RABReleaseResponse ::= SEQUENCE { S1ap-E-RABReleaseResponse ::= SEQUENCE {
e-RABReleaseResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-E-RABReleaseResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
InitialContextSetupRequest ::= SEQUENCE { S1ap-InitialContextSetupRequest ::= SEQUENCE {
initialContextSetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-InitialContextSetupRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
InitialContextSetupResponse ::= SEQUENCE { S1ap-InitialContextSetupResponse ::= SEQUENCE {
initialContextSetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-InitialContextSetupResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
InitialContextSetupFailure ::= SEQUENCE { S1ap-InitialContextSetupFailure ::= SEQUENCE {
initialContextSetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-InitialContextSetupFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
UEContextReleaseRequest ::= SEQUENCE { S1ap-UEContextReleaseRequest ::= SEQUENCE {
ueContextReleaseRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-UEContextReleaseRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
Paging ::= SEQUENCE { S1ap-Paging ::= SEQUENCE {
paging-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-Paging-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
DownlinkNASTransport ::= SEQUENCE { S1ap-DownlinkNASTransport ::= SEQUENCE {
downlinkNASTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-DownlinkNASTransport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
InitialUEMessage ::= SEQUENCE { S1ap-InitialUEMessage ::= SEQUENCE {
initialUEMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-InitialUEMessage-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
UplinkNASTransport ::= SEQUENCE { S1ap-UplinkNASTransport ::= SEQUENCE {
uplinkNASTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-UplinkNASTransport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
NASNonDeliveryIndication ::= SEQUENCE { S1ap-NASNonDeliveryIndication ::= SEQUENCE {
nasNonDeliveryIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-NASNonDeliveryIndication-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
HandoverCancel ::= SEQUENCE { S1ap-HandoverCancel ::= SEQUENCE {
handoverCancel-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-HandoverCancel-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
HandoverCancelAcknowledge ::= SEQUENCE { S1ap-HandoverCancelAcknowledge ::= SEQUENCE {
handoverCancelAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-HandoverCancelAcknowledge-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
Reset ::= SEQUENCE { S1ap-Reset ::= SEQUENCE {
reset-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-Reset-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
ResetAcknowledge ::= SEQUENCE { S1ap-ResetAcknowledge ::= SEQUENCE {
resetAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-ResetAcknowledge-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
S1SetupResponse ::= SEQUENCE { S1ap-S1SetupResponse ::= SEQUENCE {
s1SetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-S1SetupResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
S1SetupRequest ::= SEQUENCE { S1ap-S1SetupRequest ::= SEQUENCE {
s1SetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-S1SetupRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
S1SetupFailure ::= SEQUENCE S1ap-S1SetupFailure ::= SEQUENCE {
{ s1ap-S1SetupFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
s1SetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
... ...
} }
ErrorIndication ::= SEQUENCE { S1ap-ErrorIndication ::= SEQUENCE {
errorIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-ErrorIndication-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
ENBConfigurationUpdate ::= SEQUENCE { S1ap-ENBConfigurationUpdate ::= SEQUENCE {
eNBConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-ENBConfigurationUpdate-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
ENBConfigurationUpdateAcknowledge ::= SEQUENCE { S1ap-ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
eNBConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-ENBConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
ENBConfigurationUpdateFailure ::= SEQUENCE { S1ap-ENBConfigurationUpdateFailure ::= SEQUENCE {
eNBConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-ENBConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
MMEConfigurationUpdate ::= SEQUENCE { S1ap-MMEConfigurationUpdate ::= SEQUENCE {
mmeConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-MMEConfigurationUpdate-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
MMEConfigurationUpdateAcknowledge ::= SEQUENCE { S1ap-MMEConfigurationUpdateAcknowledge ::= SEQUENCE {
mmeConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-MMEConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
MMEConfigurationUpdateFailure ::= SEQUENCE { S1ap-MMEConfigurationUpdateFailure ::= SEQUENCE {
mmeConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-MMEConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
DownlinkS1cdma2000tunneling ::= SEQUENCE { S1ap-DownlinkS1cdma2000tunneling ::= SEQUENCE {
downlinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-DownlinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
UplinkS1cdma2000tunneling ::= SEQUENCE { S1ap-UplinkS1cdma2000tunneling ::= SEQUENCE {
uplinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-UplinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
UEContextModificationRequest ::= SEQUENCE { S1ap-UEContextModificationRequest ::= SEQUENCE {
ueContextModificationRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-UEContextModificationRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
UEContextModificationResponse ::= SEQUENCE { S1ap-UEContextModificationResponse ::= SEQUENCE {
ueContextModificationResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-UEContextModificationResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
UEContextModificationFailure ::= SEQUENCE { S1ap-UEContextModificationFailure ::= SEQUENCE {
ueContextModificationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-UEContextModificationFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
UECapabilityInfoIndication ::= SEQUENCE { S1ap-UECapabilityInfoIndication ::= SEQUENCE {
ueCapabilityInfoIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-UECapabilityInfoIndication-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
UEContextReleaseCommand ::= SEQUENCE { S1ap-UEContextReleaseCommand ::= SEQUENCE {
ueContextReleaseCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-UEContextReleaseCommand-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
UEContextReleaseComplete ::= SEQUENCE { S1ap-UEContextReleaseComplete ::= SEQUENCE {
ueContextReleaseComplete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-UEContextReleaseComplete-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
ENBStatusTransfer ::= SEQUENCE { S1ap-ENBStatusTransfer ::= SEQUENCE {
eNBStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-ENBStatusTransfer-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
MMEStatusTransfer ::= SEQUENCE { S1ap-MMEStatusTransfer ::= SEQUENCE {
mmeStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-MMEStatusTransfer-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
DeactivateTrace ::= SEQUENCE { S1ap-DeactivateTrace ::= SEQUENCE {
deactivateTrace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-DeactivateTrace-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
TraceStart ::= SEQUENCE { S1ap-TraceStart ::= SEQUENCE {
traceStart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-TraceStart-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
TraceFailureIndication ::= SEQUENCE { S1ap-TraceFailureIndication ::= SEQUENCE {
traceFailureIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-TraceFailureIndication-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
CellTrafficTrace ::= SEQUENCE { S1ap-CellTrafficTrace ::= SEQUENCE {
cellTrafficTrace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-CellTrafficTrace-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
LocationReportingControl ::= SEQUENCE { S1ap-LocationReportingControl ::= SEQUENCE {
locationReportingControl-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-LocationReportingControl-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
LocationReportingFailureIndication ::= SEQUENCE { S1ap-LocationReportingFailureIndication ::= SEQUENCE {
locationReportingFailureIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-LocationReportingFailureIndication-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
LocationReport ::= SEQUENCE { S1ap-LocationReport ::= SEQUENCE {
locationReport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-LocationReport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
OverloadStart ::= SEQUENCE { S1ap-OverloadStart ::= SEQUENCE {
overloadStart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-OverloadStart-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
OverloadStop ::= SEQUENCE { S1ap-OverloadStop ::= SEQUENCE {
overloadStop-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-OverloadStop-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
WriteReplaceWarningRequest ::= SEQUENCE { S1ap-WriteReplaceWarningRequest ::= SEQUENCE {
writeReplaceWarningRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-WriteReplaceWarningRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
WriteReplaceWarningResponse ::= SEQUENCE { S1ap-WriteReplaceWarningResponse ::= SEQUENCE {
writeReplaceWarningResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-WriteReplaceWarningResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
ENBDirectInformationTransfer ::= SEQUENCE { S1ap-ENBDirectInformationTransfer ::= SEQUENCE {
eNBDirectInformationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-ENBDirectInformationTransfer-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
MMEDirectInformationTransfer ::= SEQUENCE { S1ap-MMEDirectInformationTransfer ::= SEQUENCE {
mmeDirectInformationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-MMEDirectInformationTransfer-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
ENBConfigurationTransfer ::= SEQUENCE { S1ap-ENBConfigurationTransfer ::= SEQUENCE {
eNBConfigurationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-ENBConfigurationTransfer-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
MMEConfigurationTransfer ::= SEQUENCE { S1ap-MMEConfigurationTransfer ::= SEQUENCE {
mmeConfigurationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-MMEConfigurationTransfer-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
PrivateMessage ::= SEQUENCE { S1ap-PrivateMessage ::= SEQUENCE {
privateMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-PrivateMessage-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
KillRequest ::= SEQUENCE { S1ap-KillRequest ::= SEQUENCE {
killRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-KillRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
KillResponse ::= SEQUENCE { S1ap-KillResponse ::= SEQUENCE {
killResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-KillResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
DownlinkUEAssociatedLPPaTransport ::= SEQUENCE { S1ap-DownlinkUEAssociatedLPPaTransport ::= SEQUENCE {
downlinkUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-DownlinkUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
UplinkUEAssociatedLPPaTransport ::= SEQUENCE { S1ap-UplinkUEAssociatedLPPaTransport ::= SEQUENCE {
uplinkUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-UplinkUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
DownlinkNonUEAssociatedLPPaTransport ::= SEQUENCE { S1ap-DownlinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
downlinkNonUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-DownlinkNonUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
UplinkNonUEAssociatedLPPaTransport ::= SEQUENCE { S1ap-UplinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
uplinkNonUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, s1ap-UplinkNonUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
... ...
} }
IE ::= SEQUENCE { S1ap-IE ::= SEQUENCE {
id ProtocolIE-ID, id S1ap-ProtocolIE-ID,
criticality Criticality, criticality S1ap-Criticality,
value ANY value ANY
} }
END END
\ No newline at end of file
...@@ -3,7 +3,7 @@ import datetime ...@@ -3,7 +3,7 @@ import datetime
import getopt import getopt
import getpass import getpass
version = "1.0.0" version = "1.0.1"
lines = "" lines = ""
iesDefs = {} iesDefs = {}
...@@ -19,6 +19,7 @@ WARN = '\033[93m' ...@@ -19,6 +19,7 @@ WARN = '\033[93m'
ENDC = '\033[0m' ENDC = '\033[0m'
fileprefix = "" fileprefix = ""
fileprefix_first_upper = ""
def printFail(string): def printFail(string):
sys.stderr.write(FAIL + string + ENDC + "\n") sys.stderr.write(FAIL + string + ENDC + "\n")
...@@ -87,7 +88,7 @@ def lowerFirstCamelWord(word): ...@@ -87,7 +88,7 @@ def lowerFirstCamelWord(word):
for c in swapped: for c in swapped:
if c in string.lowercase: if c in string.lowercase:
newstr += c newstr += c
idx += 1 idx += 1
else: else:
break break
if idx < 2: if idx < 2:
...@@ -164,6 +165,8 @@ if len(iesDefs) == 0: ...@@ -164,6 +165,8 @@ if len(iesDefs) == 0:
printFail("No Information Element parsed, exiting") printFail("No Information Element parsed, exiting")
sys.exit(0) sys.exit(0)
fileprefix_first_upper = fileprefix[0].upper() + fileprefix[1:]
f = open(outdir + fileprefix + '_ies_defs.h', 'w') f = open(outdir + fileprefix + '_ies_defs.h', 'w')
outputHeaderToFile(f, filename) outputHeaderToFile(f, filename)
f.write("#include \"%s_common.h\"\n\n" % (fileprefix)) f.write("#include \"%s_common.h\"\n\n" % (fileprefix))
...@@ -223,9 +226,9 @@ for key in iesDefs: ...@@ -223,9 +226,9 @@ for key in iesDefs:
f.write("} %s_t;\n\n" % (re.sub('-', '_', key))) f.write("} %s_t;\n\n" % (re.sub('-', '_', key)))
f.write("typedef struct %s_message_s {\n" % (fileprefix)) f.write("typedef struct %s_message_s {\n" % (fileprefix))
f.write(" ProcedureCode_t procedureCode;\n") f.write(" %s_ProcedureCode_t procedureCode;\n" % (fileprefix_first_upper))
f.write(" Criticality_t criticality;\n") f.write(" %s_Criticality_t criticality;\n" % (fileprefix_first_upper))
f.write(" uint8_t direction;\n") f.write(" uint8_t direction;\n")
f.write(" union {\n") f.write(" union {\n")
messageList = iesDefs.keys() messageList = iesDefs.keys()
...@@ -353,7 +356,7 @@ for key in iesDefs: ...@@ -353,7 +356,7 @@ for key in iesDefs:
f.write(" %s_DEBUG(\"Decoding message %s (%%s:%%d)\\n\", __FILE__, __LINE__);\n\n" % (fileprefix.upper(), re.sub('-', '_', keyName))) f.write(" %s_DEBUG(\"Decoding message %s (%%s:%%d)\\n\", __FILE__, __LINE__);\n\n" % (fileprefix.upper(), re.sub('-', '_', keyName)))
f.write(" ANY_to_type_aper(any_p, &asn_DEF_%s, (void**)&%s_p);\n\n" % (asn1cStruct, asn1cStructfirstlower)) f.write(" ANY_to_type_aper(any_p, &asn_DEF_%s, (void**)&%s_p);\n\n" % (asn1cStruct, asn1cStructfirstlower))
f.write(" for (i = 0; i < %s_p->%slist.count; i++) {\n" % (asn1cStructfirstlower, iesaccess)) f.write(" for (i = 0; i < %s_p->%slist.count; i++) {\n" % (asn1cStructfirstlower, iesaccess))
f.write(" IE_t *ie_p;\n") f.write(" %s_IE_t *ie_p;\n" % (fileprefix[0].upper() + fileprefix[1:]))
f.write(" ie_p = %s_p->%slist.array[i];\n" % (asn1cStructfirstlower, iesaccess)) f.write(" ie_p = %s_p->%slist.array[i];\n" % (asn1cStructfirstlower, iesaccess))
f.write(" switch(ie_p->id) {\n") f.write(" switch(ie_p->id) {\n")
for ie in iesDefs[key]["ies"]: for ie in iesDefs[key]["ies"]:
...@@ -368,7 +371,7 @@ for key in iesDefs: ...@@ -368,7 +371,7 @@ for key in iesDefs:
f.write(" /* Optional field */\n") f.write(" /* Optional field */\n")
elif ie[3] == "conditional": elif ie[3] == "conditional":
f.write(" /* Conditional field */\n") f.write(" /* Conditional field */\n")
f.write(" case ProtocolIE_ID_%s:\n" % (re.sub('-', '_', ie[0]))) f.write(" case %s_ProtocolIE_ID_%s:\n" % (fileprefix_first_upper, re.sub('-', '_', ie[0])))
f.write(" {\n") f.write(" {\n")
f.write(" %s_t *%s_p = NULL;\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst))) f.write(" %s_t *%s_p = NULL;\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst)))
if ie[3] != "mandatory": if ie[3] != "mandatory":
...@@ -416,12 +419,12 @@ for key in iesDefs: ...@@ -416,12 +419,12 @@ for key in iesDefs:
f.write(" assert(%sIEs != NULL);\n\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname)))); f.write(" assert(%sIEs != NULL);\n\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname))));
f.write(" for (i = 0; i < %s->list.count; i++) {\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname)))) f.write(" for (i = 0; i < %s->list.count; i++) {\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname))))
f.write(" IE_t *ie_p = %s->list.array[i];\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname)))) f.write(" %s_IE_t *ie_p = %s->list.array[i];\n" % (fileprefix[0].upper() + fileprefix[1:], lowerFirstCamelWord(re.sub('-', '_', keyname))))
f.write(" switch (ie_p->id) {\n") f.write(" switch (ie_p->id) {\n")
for ie in iesDefs[key]["ies"]: for ie in iesDefs[key]["ies"]:
iename = re.sub('id-', '', ie[0]) iename = re.sub('id-', '', ie[0])
ienameunderscore = lowerFirstCamelWord(re.sub('-', '_', iename)) ienameunderscore = lowerFirstCamelWord(re.sub('-', '_', iename))
f.write(" case ProtocolIE_ID_%s:\n" % (re.sub('-', '_', ie[0]))) f.write(" case %s_ProtocolIE_ID_%s:\n" % (fileprefix_first_upper, re.sub('-', '_', ie[0])))
f.write(" {\n") f.write(" {\n")
f.write(" %s_t *%s_p = NULL;\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '', ie[2])))) f.write(" %s_t *%s_p = NULL;\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '', ie[2]))))
f.write(" tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_%s, (void**)&%s_p);\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '', ie[2])))) f.write(" tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_%s, (void**)&%s_p);\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '', ie[2]))))
...@@ -478,7 +481,7 @@ for key in iesDefs: ...@@ -478,7 +481,7 @@ for key in iesDefs:
f.write(" %s_t *%s,\n" % (asn1cStruct, firstwordlower)) f.write(" %s_t *%s,\n" % (asn1cStruct, firstwordlower))
f.write(" %s_t *%s) {\n\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key)))) f.write(" %s_t *%s) {\n\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key))))
f.write(" IE_t *ie;\n\n") f.write(" %s_IE_t *ie;\n\n" % (fileprefix_first_upper))
f.write(" assert(%s != NULL);\n" % (firstwordlower)); f.write(" assert(%s != NULL);\n" % (firstwordlower));
f.write(" assert(%s != NULL);\n\n" % (lowerFirstCamelWord(re.sub('-', '_', key)))); f.write(" assert(%s != NULL);\n\n" % (lowerFirstCamelWord(re.sub('-', '_', key))));
...@@ -497,10 +500,10 @@ for key in iesDefs: ...@@ -497,10 +500,10 @@ for key in iesDefs:
f.write(" /* Conditional field */\n") f.write(" /* Conditional field */\n")
f.write(" if (%s->presenceMask & %s_%s_PRESENT) {\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), keyupperunderscore, ieupperunderscore)) f.write(" if (%s->presenceMask & %s_%s_PRESENT) {\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), keyupperunderscore, ieupperunderscore))
#f.write(" == %s_%s_PRESENT) {\n" % (keyupperunderscore, ieupperunderscore)) #f.write(" == %s_%s_PRESENT) {\n" % (keyupperunderscore, ieupperunderscore))
f.write(" if ((ie = %s_new_ie(ProtocolIE_ID_%s,\n" % (fileprefix, re.sub('-', '_', ie[0]))) f.write(" if ((ie = %s_new_ie(%s_ProtocolIE_ID_%s,\n" % (fileprefix, fileprefix_first_upper, re.sub('-', '_', ie[0])))
f.write(" Criticality_%s,\n" % (ie[1])) f.write(" %s_Criticality_%s,\n" % (fileprefix_first_upper, ie[1]))
f.write(" &asn_DEF_%s,\n" % (ietypeunderscore)) f.write(" &asn_DEF_%s,\n" % (ietypeunderscore))
f.write(" &%s->%s)) == NULL) {\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower)) f.write(" &%s->%s)) == NULL) {\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower))
f.write(" return -1;\n") f.write(" return -1;\n")
f.write(" }\n") f.write(" }\n")
f.write(" ASN_SEQUENCE_ADD(&%s->%slist, ie);\n" % (firstwordlower, iesaccess)) f.write(" ASN_SEQUENCE_ADD(&%s->%slist, ie);\n" % (firstwordlower, iesaccess))
...@@ -511,9 +514,9 @@ for key in iesDefs: ...@@ -511,9 +514,9 @@ for key in iesDefs:
f.write(" memset(&%s, 0, sizeof(%s_t));\n" % (ienamefirstwordlower, ietypeunderscore)) f.write(" memset(&%s, 0, sizeof(%s_t));\n" % (ienamefirstwordlower, ietypeunderscore))
f.write("\n") f.write("\n")
f.write(" if (%s_encode_%s(&%s, &%s->%s) < 0) return -1;\n" % (fileprefix, ietypeunderscore.lower(), ienamefirstwordlower, lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower)) f.write(" if (%s_encode_%s(&%s, &%s->%s) < 0) return -1;\n" % (fileprefix, ietypeunderscore.lower(), ienamefirstwordlower, lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower))
f.write(" if ((ie = %s_new_ie(ProtocolIE_ID_%s,\n" % (fileprefix, re.sub('-', '_', ie[0]))) f.write(" if ((ie = %s_new_ie(%s_ProtocolIE_ID_%s,\n" % (fileprefix, fileprefix_first_upper, re.sub('-', '_', ie[0])))
f.write(" Criticality_%s,\n" % (ie[1])) f.write(" %s_Criticality_%s,\n" % (fileprefix_first_upper, ie[1]))
f.write(" &asn_DEF_%s,\n" % (ietypeunderscore)) f.write(" &asn_DEF_%s,\n" % (ietypeunderscore))
if ie[2] in ieofielist.keys(): if ie[2] in ieofielist.keys():
f.write(" &%s)) == NULL) {\n" % (ienamefirstwordlower)) f.write(" &%s)) == NULL) {\n" % (ienamefirstwordlower))
else: else:
...@@ -546,14 +549,14 @@ for (key, value) in iesDefs.items(): ...@@ -546,14 +549,14 @@ for (key, value) in iesDefs.items():
f.write(" %sIEs_t *%sIEs) {\n\n" % (re.sub('-', '_', i), lowerFirstCamelWord(re.sub('-', '_', i)))) f.write(" %sIEs_t *%sIEs) {\n\n" % (re.sub('-', '_', i), lowerFirstCamelWord(re.sub('-', '_', i))))
f.write(" int i;\n") f.write(" int i;\n")
f.write(" IE_t *ie;\n\n") f.write(" %s_IE_t *ie;\n\n" % (fileprefix_first_upper))
f.write(" assert(%s != NULL);\n" % (firstwordlower)); f.write(" assert(%s != NULL);\n" % (firstwordlower));
f.write(" assert(%sIEs != NULL);\n\n" % (lowerFirstCamelWord(re.sub('-', '_', i)))); f.write(" assert(%sIEs != NULL);\n\n" % (lowerFirstCamelWord(re.sub('-', '_', i))));
f.write(" for (i = 0; i < %sIEs->%s.count; i++) {\n" % (firstwordlower, re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key))))) f.write(" for (i = 0; i < %sIEs->%s.count; i++) {\n" % (firstwordlower, re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key)))))
f.write(" if ((ie = %s_new_ie(ProtocolIE_ID_%s,\n" % (fileprefix, re.sub('-', '_', ie[0]))) f.write(" if ((ie = %s_new_ie(%s_ProtocolIE_ID_%s,\n" % (fileprefix, fileprefix_first_upper, re.sub('-', '_', ie[0])))
f.write(" Criticality_%s,\n" % (ie[1])) f.write(" %s_Criticality_%s,\n" % (fileprefix_first_upper, ie[1]))
f.write(" &asn_DEF_%s,\n" % (ietypeunderscore)) f.write(" &asn_DEF_%s,\n" % (ietypeunderscore))
f.write(" %sIEs->%s.array[i])) == NULL) {\n" % (firstwordlower, re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key))))) f.write(" %sIEs->%s.array[i])) == NULL) {\n" % (firstwordlower, re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key)))))
f.write(" return -1;\n") f.write(" return -1;\n")
...@@ -644,8 +647,8 @@ for (key, value) in iesDefs.items(): ...@@ -644,8 +647,8 @@ for (key, value) in iesDefs.items():
f.write(" }\n") f.write(" }\n")
else: else:
f.write(" fprintf(file, \"<%s-PDU>\\n\");\n" % (fileprefix.upper())) f.write(" fprintf(file, \"<%s-PDU>\\n\");\n" % (fileprefix.upper()))
f.write(" xer_encode_local(&asn_DEF_Criticality, &message_p->criticality, cb, app_key, 1);\n") f.write(" xer_encode_local(&asn_DEF_%s_Criticality, &message_p->criticality, cb, app_key, 1);\n" % fileprefix_first_upper)
f.write(" xer_encode_local(&asn_DEF_ProcedureCode, &message_p->procedureCode, cb, app_key, 1);\n") f.write(" xer_encode_local(&asn_DEF_%s_ProcedureCode, &message_p->procedureCode, cb, app_key, 1);\n" % fileprefix_first_upper)
f.write(" fprintf(file, \" <%s>\\n\");\n" % (key)) f.write(" fprintf(file, \" <%s>\\n\");\n" % (key))
for ie in iesDefs[key]["ies"]: for ie in iesDefs[key]["ies"]:
......
...@@ -3,600 +3,600 @@ ASN_MODULEdir=. ...@@ -3,600 +3,600 @@ ASN_MODULEdir=.
libs1apmessagesdir=. libs1apmessagesdir=.
ASN_MODULE_SOURCES= \ ASN_MODULE_SOURCES= \
Criticality.c \ S1ap-Criticality.c \
Presence.c \ S1ap-Presence.c \
PrivateIE-ID.c \ S1ap-PrivateIE-ID.c \
ProcedureCode.c \ S1ap-ProcedureCode.c \
ProtocolExtensionID.c \ S1ap-ProtocolExtensionID.c \
ProtocolIE-ID.c \ S1ap-ProtocolIE-ID.c \
TriggeringMessage.c \ S1ap-TriggeringMessage.c \
IE-Extensions.c \ S1ap-IE-Extensions.c \
AllocationAndRetentionPriority.c \ S1ap-AllocationAndRetentionPriority.c \
Bearers-SubjectToStatusTransfer-List.c \ S1ap-Bearers-SubjectToStatusTransfer-List.c \
Bearers-SubjectToStatusTransfer-Item.c \ S1ap-Bearers-SubjectToStatusTransfer-Item.c \
BitRate.c \ S1ap-BitRate.c \
BPLMNs.c \ S1ap-BPLMNs.c \
BroadcastCompletedAreaList.c \ S1ap-BroadcastCompletedAreaList.c \
Cause.c \ S1ap-Cause.c \
CauseMisc.c \ S1ap-CauseMisc.c \
CauseProtocol.c \ S1ap-CauseProtocol.c \
CauseRadioNetwork.c \ S1ap-CauseRadioNetwork.c \
CauseTransport.c \ S1ap-CauseTransport.c \
CauseNas.c \ S1ap-CauseNas.c \
CellIdentity.c \ S1ap-CellIdentity.c \
CellID-Broadcast.c \ S1ap-CellID-Broadcast.c \
CellID-Broadcast-Item.c \ S1ap-CellID-Broadcast-Item.c \
Cdma2000PDU.c \ S1ap-Cdma2000PDU.c \
Cdma2000RATType.c \ S1ap-Cdma2000RATType.c \
Cdma2000SectorID.c \ S1ap-Cdma2000SectorID.c \
Cdma2000HOStatus.c \ S1ap-Cdma2000HOStatus.c \
Cdma2000HORequiredIndication.c \ S1ap-Cdma2000HORequiredIndication.c \
Cdma2000OneXSRVCCInfo.c \ S1ap-Cdma2000OneXSRVCCInfo.c \
Cdma2000OneXMEID.c \ S1ap-Cdma2000OneXMEID.c \
Cdma2000OneXMSI.c \ S1ap-Cdma2000OneXMSI.c \
Cdma2000OneXPilot.c \ S1ap-Cdma2000OneXPilot.c \
Cdma2000OneXRAND.c \ S1ap-Cdma2000OneXRAND.c \
Cell-Size.c \ S1ap-Cell-Size.c \
CellType.c \ S1ap-CellType.c \
CGI.c \ S1ap-CGI.c \
CI.c \ S1ap-CI.c \
CNDomain.c \ S1ap-CNDomain.c \
CSFallbackIndicator.c \ S1ap-CSFallbackIndicator.c \
CSG-Id.c \ S1ap-CSG-Id.c \
CSG-IdList.c \ S1ap-CSG-IdList.c \
CSG-IdList-Item.c \ S1ap-CSG-IdList-Item.c \
COUNTvalue.c \ S1ap-COUNTvalue.c \
CriticalityDiagnostics.c \ S1ap-CriticalityDiagnostics.c \
CriticalityDiagnostics-IE-List.c \ S1ap-CriticalityDiagnostics-IE-List.c \
CriticalityDiagnostics-IE-Item.c \ S1ap-CriticalityDiagnostics-IE-Item.c \
DataCodingScheme.c \ S1ap-DataCodingScheme.c \
DL-Forwarding.c \ S1ap-DL-Forwarding.c \
Direct-Forwarding-Path-Availability.c \ S1ap-Direct-Forwarding-Path-Availability.c \
E-RABToBeModifiedListBearerModReq.c \ S1ap-E-RABToBeModifiedListBearerModReq.c \
E-RABToBeModifiedItemBearerModReq.c \ S1ap-E-RABToBeModifiedItemBearerModReq.c \
E-RABReleaseListBearerRelComp.c \ S1ap-E-RABReleaseListBearerRelComp.c \
E-RABReleaseItemBearerRelComp.c \ S1ap-E-RABReleaseItemBearerRelComp.c \
E-RABDataForwardingList.c \ S1ap-E-RABDataForwardingList.c \
E-RABDataForwardingItem.c \ S1ap-E-RABDataForwardingItem.c \
E-RABToBeSetupListCtxtSUReq.c \ S1ap-E-RABToBeSetupListCtxtSUReq.c \
E-RABToBeSetupItemCtxtSUReq.c \ S1ap-E-RABToBeSetupItemCtxtSUReq.c \
E-RABSetupListBearerSURes.c \ S1ap-E-RABSetupListBearerSURes.c \
E-RABSetupItemBearerSURes.c \ S1ap-E-RABSetupItemBearerSURes.c \
E-RABFailedToSetupListHOReqAck.c \ S1ap-E-RABFailedToSetupListHOReqAck.c \
E-RABFailedToSetupItemHOReqAck.c \ S1ap-E-RABFailedToSetupItemHOReqAck.c \
E-RABToBeSetupListBearerSUReq.c \ S1ap-E-RABToBeSetupListBearerSUReq.c \
E-RABToBeSetupItemBearerSUReq.c \ S1ap-E-RABToBeSetupItemBearerSUReq.c \
E-RABAdmittedList.c \ S1ap-E-RABAdmittedList.c \
E-RABAdmittedItem.c \ S1ap-E-RABAdmittedItem.c \
E-RABToBeSwitchedDLList.c \ S1ap-E-RABToBeSwitchedDLList.c \
E-RABToBeSwitchedDLItem.c \ S1ap-E-RABToBeSwitchedDLItem.c \
E-RABToBeSwitchedULList.c \ S1ap-E-RABToBeSwitchedULList.c \
E-RABToBeSwitchedULItem.c \ S1ap-E-RABToBeSwitchedULItem.c \
E-RABModifyListBearerModRes.c \ S1ap-E-RABModifyListBearerModRes.c \
E-RABModifyItemBearerModRes.c \ S1ap-E-RABModifyItemBearerModRes.c \
E-RABSetupListCtxtSURes.c \ S1ap-E-RABSetupListCtxtSURes.c \
E-RABSetupItemCtxtSURes.c \ S1ap-E-RABSetupItemCtxtSURes.c \
E-RABToBeSetupListHOReq.c \ S1ap-E-RABToBeSetupListHOReq.c \
E-RABToBeSetupItemHOReq.c \ S1ap-E-RABToBeSetupItemHOReq.c \
ECGIList.c \ S1ap-ECGIList.c \
EmergencyAreaIDList.c \ S1ap-EmergencyAreaIDList.c \
EmergencyAreaID.c \ S1ap-EmergencyAreaID.c \
EmergencyAreaID-Broadcast.c \ S1ap-EmergencyAreaID-Broadcast.c \
EmergencyAreaID-Broadcast-Item.c \ S1ap-EmergencyAreaID-Broadcast-Item.c \
CompletedCellinEAI.c \ S1ap-CompletedCellinEAI.c \
CompletedCellinEAI-Item.c \ S1ap-CompletedCellinEAI-Item.c \
ENB-ID.c \ S1ap-ENB-ID.c \
GERAN-Cell-ID.c \ S1ap-GERAN-Cell-ID.c \
Global-ENB-ID.c \ S1ap-Global-ENB-ID.c \
ENB-StatusTransfer-TransparentContainer.c \ S1ap-ENB-StatusTransfer-TransparentContainer.c \
ENB-UE-S1AP-ID.c \ S1ap-ENB-UE-S1AP-ID.c \
ENBname.c \ S1ap-ENBname.c \
ENBX2TLAs.c \ S1ap-ENBX2TLAs.c \
EncryptionAlgorithms.c \ S1ap-EncryptionAlgorithms.c \
EPLMNs.c \ S1ap-EPLMNs.c \
EventType.c \ S1ap-EventType.c \
E-RAB-ID.c \ S1ap-E-RAB-ID.c \
E-RABInformationList.c \ S1ap-E-RABInformationList.c \
E-RABInformationListItem.c \ S1ap-E-RABInformationListItem.c \
E-RABList.c \ S1ap-E-RABList.c \
E-RABItem.c \ S1ap-E-RABItem.c \
E-RABLevelQoSParameters.c \ S1ap-E-RABLevelQoSParameters.c \
EUTRAN-CGI.c \ S1ap-EUTRAN-CGI.c \
ExtendedRNC-ID.c \ S1ap-ExtendedRNC-ID.c \
ForbiddenInterRATs.c \ S1ap-ForbiddenInterRATs.c \
ForbiddenTAs.c \ S1ap-ForbiddenTAs.c \
ForbiddenTAs-Item.c \ S1ap-ForbiddenTAs-Item.c \
ForbiddenTACs.c \ S1ap-ForbiddenTACs.c \
ForbiddenLAs.c \ S1ap-ForbiddenLAs.c \
ForbiddenLAs-Item.c \ S1ap-ForbiddenLAs-Item.c \
ForbiddenLACs.c \ S1ap-ForbiddenLACs.c \
GBR-QosInformation.c \ S1ap-GBR-QosInformation.c \
GTP-TEID.c \ S1ap-GTP-TEID.c \
GUMMEI.c \ S1ap-GUMMEI.c \
HandoverRestrictionList.c \ S1ap-HandoverRestrictionList.c \
HandoverType.c \ S1ap-HandoverType.c \
HFN.c \ S1ap-HFN.c \
HandoverNotify.c \ S1ap-HandoverNotify.c \
Inter-SystemInformationTransferType.c \ S1ap-Inter-SystemInformationTransferType.c \
IMSI.c \ S1ap-IMSI.c \
IntegrityProtectionAlgorithms.c \ S1ap-IntegrityProtectionAlgorithms.c \
InterfacesToTrace.c \ S1ap-InterfacesToTrace.c \
LAC.c \ S1ap-LAC.c \
LAI.c \ S1ap-LAI.c \
LastVisitedCell-Item.c \ S1ap-LastVisitedCell-Item.c \
LastVisitedEUTRANCellInformation.c \ S1ap-LastVisitedEUTRANCellInformation.c \
LastVisitedUTRANCellInformation.c \ S1ap-LastVisitedUTRANCellInformation.c \
LastVisitedGERANCellInformation.c \ S1ap-LastVisitedGERANCellInformation.c \
L3-Information.c \ S1ap-L3-Information.c \
MessageIdentifier.c \ S1ap-MessageIdentifier.c \
MMEname.c \ S1ap-MMEname.c \
MME-Group-ID.c \ S1ap-MME-Group-ID.c \
MME-Code.c \ S1ap-MME-Code.c \
MME-UE-S1AP-ID.c \ S1ap-MME-UE-S1AP-ID.c \
M-TMSI.c \ S1ap-M-TMSI.c \
MSClassmark2.c \ S1ap-MSClassmark2.c \
MSClassmark3.c \ S1ap-MSClassmark3.c \
NAS-PDU.c \ S1ap-NAS-PDU.c \
NASSecurityParametersfromE-UTRAN.c \ S1ap-NASSecurityParametersfromE-UTRAN.c \
NASSecurityParameterstoE-UTRAN.c \ S1ap-NASSecurityParameterstoE-UTRAN.c \
NumberofBroadcastRequest.c \ S1ap-NumberofBroadcastRequest.c \
NumberOfBroadcasts.c \ S1ap-NumberOfBroadcasts.c \
OldBSS-ToNewBSS-Information.c \ S1ap-OldBSS-ToNewBSS-Information.c \
OverloadAction.c \ S1ap-OverloadAction.c \
OverloadResponse.c \ S1ap-OverloadResponse.c \
PagingDRX.c \ S1ap-PagingDRX.c \
PDCP-SN.c \ S1ap-PDCP-SN.c \
PLMNidentity.c \ S1ap-PLMNidentity.c \
Pre-emptionCapability.c \ S1ap-Pre-emptionCapability.c \
Pre-emptionVulnerability.c \ S1ap-Pre-emptionVulnerability.c \
PriorityLevel.c \ S1ap-PriorityLevel.c \
QCI.c \ S1ap-QCI.c \
ReceiveStatusofULPDCPSDUs.c \ S1ap-ReceiveStatusofULPDCPSDUs.c \
RelativeMMECapacity.c \ S1ap-RelativeMMECapacity.c \
RAC.c \ S1ap-RAC.c \
RequestType.c \ S1ap-RequestType.c \
ResetType.c \ S1ap-ResetType.c \
ResetAll.c \ S1ap-ResetAll.c \
RIMTransfer.c \ S1ap-RIMTransfer.c \
RIMInformation.c \ S1ap-RIMInformation.c \
RIMRoutingAddress.c \ S1ap-RIMRoutingAddress.c \
ReportArea.c \ S1ap-ReportArea.c \
RepetitionPeriod.c \ S1ap-RepetitionPeriod.c \
RNC-ID.c \ S1ap-RNC-ID.c \
RRC-Container.c \ S1ap-RRC-Container.c \
RRC-Establishment-Cause.c \ S1ap-RRC-Establishment-Cause.c \
SecurityKey.c \ S1ap-SecurityKey.c \
SecurityContext.c \ S1ap-SecurityContext.c \
SerialNumber.c \ S1ap-SerialNumber.c \
SONInformation.c \ S1ap-SONInformation.c \
SONInformationRequest.c \ S1ap-SONInformationRequest.c \
SONInformationReply.c \ S1ap-SONInformationReply.c \
SONConfigurationTransfer.c \ S1ap-SONConfigurationTransfer.c \
Source-ToTarget-TransparentContainer.c \ S1ap-Source-ToTarget-TransparentContainer.c \
SourceBSS-ToTargetBSS-TransparentContainer.c \ S1ap-SourceBSS-ToTargetBSS-TransparentContainer.c \
SourceeNB-ID.c \ S1ap-SourceeNB-ID.c \
SRVCCOperationPossible.c \ S1ap-SRVCCOperationPossible.c \
SRVCCHOIndication.c \ S1ap-SRVCCHOIndication.c \
SourceeNB-ToTargeteNB-TransparentContainer.c \ S1ap-SourceeNB-ToTargeteNB-TransparentContainer.c \
SourceRNC-ToTargetRNC-TransparentContainer.c \ S1ap-SourceRNC-ToTargetRNC-TransparentContainer.c \
ServedGUMMEIs.c \ S1ap-ServedGUMMEIs.c \
ServedGUMMEIsItem.c \ S1ap-ServedGUMMEIsItem.c \
ServedGroupIDs.c \ S1ap-ServedGroupIDs.c \
ServedMMECs.c \ S1ap-ServedMMECs.c \
ServedPLMNs.c \ S1ap-ServedPLMNs.c \
SubscriberProfileIDforRFP.c \ S1ap-SubscriberProfileIDforRFP.c \
SupportedTAs.c \ S1ap-SupportedTAs.c \
SupportedTAs-Item.c \ S1ap-SupportedTAs-Item.c \
S-TMSI.c \ S1ap-S-TMSI.c \
TAC.c \ S1ap-TAC.c \
TAIListforWarning.c \ S1ap-TAIListforWarning.c \
TAIList.c \ S1ap-TAIList.c \
TAIItem.c \ S1ap-TAIItem.c \
TAI.c \ S1ap-TAI.c \
TAI-Broadcast.c \ S1ap-TAI-Broadcast.c \
TAI-Broadcast-Item.c \ S1ap-TAI-Broadcast-Item.c \
CompletedCellinTAI.c \ S1ap-CompletedCellinTAI.c \
CompletedCellinTAI-Item.c \ S1ap-CompletedCellinTAI-Item.c \
TBCD-STRING.c \ S1ap-TBCD-STRING.c \
TargetID.c \ S1ap-TargetID.c \
TargeteNB-ID.c \ S1ap-TargeteNB-ID.c \
TargetRNC-ID.c \ S1ap-TargetRNC-ID.c \
TargeteNB-ToSourceeNB-TransparentContainer.c \ S1ap-TargeteNB-ToSourceeNB-TransparentContainer.c \
Target-ToSource-TransparentContainer.c \ S1ap-Target-ToSource-TransparentContainer.c \
TargetRNC-ToSourceRNC-TransparentContainer.c \ S1ap-TargetRNC-ToSourceRNC-TransparentContainer.c \
TargetBSS-ToSourceBSS-TransparentContainer.c \ S1ap-TargetBSS-ToSourceBSS-TransparentContainer.c \
TimeToWait.c \ S1ap-TimeToWait.c \
Time-UE-StayedInCell.c \ S1ap-Time-UE-StayedInCell.c \
TransportLayerAddress.c \ S1ap-TransportLayerAddress.c \
TraceActivation.c \ S1ap-TraceActivation.c \
TraceDepth.c \ S1ap-TraceDepth.c \
E-UTRAN-Trace-ID.c \ S1ap-E-UTRAN-Trace-ID.c \
TypeOfError.c \ S1ap-TypeOfError.c \
UEAggregateMaximumBitrate.c \ S1ap-UEAggregateMaximumBitrate.c \
UE-S1AP-IDs.c \ S1ap-UE-S1AP-IDs.c \
UE-S1AP-ID-pair.c \ S1ap-UE-S1AP-ID-pair.c \
UE-associatedLogicalS1-ConnectionListRes.c \ S1ap-UE-associatedLogicalS1-ConnectionListRes.c \
UE-associatedLogicalS1-ConnectionListResAck.c \ S1ap-UE-associatedLogicalS1-ConnectionListResAck.c \
UE-associatedLogicalS1-ConnectionItem.c \ S1ap-UE-associatedLogicalS1-ConnectionItem.c \
UEIdentityIndexValue.c \ S1ap-UEIdentityIndexValue.c \
UE-HistoryInformation.c \ S1ap-UE-HistoryInformation.c \
UEPagingID.c \ S1ap-UEPagingID.c \
UERadioCapability.c \ S1ap-UERadioCapability.c \
UESecurityCapabilities.c \ S1ap-UESecurityCapabilities.c \
WarningAreaList.c \ S1ap-WarningAreaList.c \
WarningType.c \ S1ap-WarningType.c \
WarningSecurityInfo.c \ S1ap-WarningSecurityInfo.c \
WarningMessageContents.c \ S1ap-WarningMessageContents.c \
X2TNLConfigurationInfo.c \ S1ap-X2TNLConfigurationInfo.c \
S1AP-PDU.c \ S1AP-PDU.c \
InitiatingMessage.c \ S1ap-InitiatingMessage.c \
SuccessfulOutcome.c \ S1ap-SuccessfulOutcome.c \
UnsuccessfulOutcome.c \ S1ap-UnsuccessfulOutcome.c \
HandoverRequired.c \ S1ap-HandoverRequired.c \
HandoverCommand.c \ S1ap-HandoverCommand.c \
HandoverPreparationFailure.c \ S1ap-HandoverPreparationFailure.c \
HandoverRequest.c \ S1ap-HandoverRequest.c \
HandoverRequestAcknowledge.c \ S1ap-HandoverRequestAcknowledge.c \
HandoverFailure.c \ S1ap-HandoverFailure.c \
HandoverNotify.c \ S1ap-HandoverNotify.c \
PathSwitchRequest.c \ S1ap-PathSwitchRequest.c \
PathSwitchRequestAcknowledge.c \ S1ap-PathSwitchRequestAcknowledge.c \
PathSwitchRequestFailure.c \ S1ap-PathSwitchRequestFailure.c \
E-RABSetupRequest.c \ S1ap-E-RABSetupRequest.c \
E-RABSetupResponse.c \ S1ap-E-RABSetupResponse.c \
E-RABModifyRequest.c \ S1ap-E-RABModifyRequest.c \
E-RABModifyResponse.c \ S1ap-E-RABModifyResponse.c \
E-RABReleaseIndication.c \ S1ap-E-RABReleaseIndication.c \
E-RABReleaseCommand.c \ S1ap-E-RABReleaseCommand.c \
E-RABReleaseResponse.c \ S1ap-E-RABReleaseResponse.c \
InitialContextSetupRequest.c \ S1ap-InitialContextSetupRequest.c \
InitialContextSetupResponse.c \ S1ap-InitialContextSetupResponse.c \
InitialContextSetupFailure.c \ S1ap-InitialContextSetupFailure.c \
UEContextReleaseRequest.c \ S1ap-UEContextReleaseRequest.c \
Paging.c \ S1ap-Paging.c \
DownlinkNASTransport.c \ S1ap-DownlinkNASTransport.c \
InitialUEMessage.c \ S1ap-InitialUEMessage.c \
UplinkNASTransport.c \ S1ap-UplinkNASTransport.c \
NASNonDeliveryIndication.c \ S1ap-NASNonDeliveryIndication.c \
HandoverCancel.c \ S1ap-HandoverCancel.c \
HandoverCancelAcknowledge.c \ S1ap-HandoverCancelAcknowledge.c \
Reset.c \ S1ap-Reset.c \
ResetAcknowledge.c \ S1ap-ResetAcknowledge.c \
S1SetupResponse.c \ S1ap-S1SetupResponse.c \
S1SetupRequest.c \ S1ap-S1SetupRequest.c \
S1SetupFailure.c \ S1ap-S1SetupFailure.c \
ErrorIndication.c \ S1ap-ErrorIndication.c \
ENBConfigurationUpdate.c \ S1ap-ENBConfigurationUpdate.c \
ENBConfigurationUpdateAcknowledge.c \ S1ap-ENBConfigurationUpdateAcknowledge.c \
ENBConfigurationUpdateFailure.c \ S1ap-ENBConfigurationUpdateFailure.c \
MMEConfigurationUpdate.c \ S1ap-MMEConfigurationUpdate.c \
MMEConfigurationUpdateAcknowledge.c \ S1ap-MMEConfigurationUpdateAcknowledge.c \
MMEConfigurationUpdateFailure.c \ S1ap-MMEConfigurationUpdateFailure.c \
DownlinkS1cdma2000tunneling.c \ S1ap-DownlinkS1cdma2000tunneling.c \
UplinkS1cdma2000tunneling.c \ S1ap-UplinkS1cdma2000tunneling.c \
UEContextModificationRequest.c \ S1ap-UEContextModificationRequest.c \
UEContextModificationResponse.c \ S1ap-UEContextModificationResponse.c \
UEContextModificationFailure.c \ S1ap-UEContextModificationFailure.c \
UECapabilityInfoIndication.c \ S1ap-UECapabilityInfoIndication.c \
UEContextReleaseCommand.c \ S1ap-UEContextReleaseCommand.c \
UEContextReleaseComplete.c \ S1ap-UEContextReleaseComplete.c \
ENBStatusTransfer.c \ S1ap-ENBStatusTransfer.c \
MMEStatusTransfer.c \ S1ap-MMEStatusTransfer.c \
DeactivateTrace.c \ S1ap-DeactivateTrace.c \
TraceStart.c \ S1ap-TraceStart.c \
TraceFailureIndication.c \ S1ap-TraceFailureIndication.c \
CellTrafficTrace.c \ S1ap-CellTrafficTrace.c \
LocationReportingControl.c \ S1ap-LocationReportingControl.c \
LocationReportingFailureIndication.c \ S1ap-LocationReportingFailureIndication.c \
LocationReport.c \ S1ap-LocationReport.c \
OverloadStart.c \ S1ap-OverloadStart.c \
OverloadStop.c \ S1ap-OverloadStop.c \
WriteReplaceWarningRequest.c \ S1ap-WriteReplaceWarningRequest.c \
WriteReplaceWarningResponse.c \ S1ap-WriteReplaceWarningResponse.c \
ENBDirectInformationTransfer.c \ S1ap-ENBDirectInformationTransfer.c \
MMEDirectInformationTransfer.c \ S1ap-MMEDirectInformationTransfer.c \
ENBConfigurationTransfer.c \ S1ap-ENBConfigurationTransfer.c \
MMEConfigurationTransfer.c \ S1ap-MMEConfigurationTransfer.c \
PrivateMessage.c \ S1ap-PrivateMessage.c \
IE.c \ S1ap-IE.c \
IE-Extensions.c S1ap-IE-Extensions.c
ASN_MODULE_HEADERS= \ ASN_MODULE_HEADERS= \
Criticality.h \ S1ap-Criticality.h \
Presence.h \ S1ap-Presence.h \
PrivateIE-ID.h \ S1ap-PrivateIE-ID.h \
ProcedureCode.h \ S1ap-ProcedureCode.h \
ProtocolExtensionID.h \ S1ap-ProtocolExtensionID.h \
ProtocolIE-ID.h \ S1ap-ProtocolIE-ID.h \
TriggeringMessage.h \ S1ap-TriggeringMessage.h \
AllocationAndRetentionPriority.h \ S1ap-AllocationAndRetentionPriority.h \
Bearers-SubjectToStatusTransfer-List.h \ S1ap-Bearers-SubjectToStatusTransfer-List.h \
Bearers-SubjectToStatusTransfer-Item.h \ S1ap-Bearers-SubjectToStatusTransfer-Item.h \
BitRate.h \ S1ap-BitRate.h \
BPLMNs.h \ S1ap-BPLMNs.h \
BroadcastCompletedAreaList.h \ S1ap-BroadcastCompletedAreaList.h \
Cause.h \ S1ap-Cause.h \
CauseMisc.h \ S1ap-CauseMisc.h \
CauseProtocol.h \ S1ap-CauseProtocol.h \
CauseRadioNetwork.h \ S1ap-CauseRadioNetwork.h \
CauseTransport.h \ S1ap-CauseTransport.h \
CauseNas.h \ S1ap-CauseNas.h \
CellIdentity.h \ S1ap-CellIdentity.h \
CellID-Broadcast.h \ S1ap-CellID-Broadcast.h \
CellID-Broadcast-Item.h \ S1ap-CellID-Broadcast-Item.h \
Cdma2000PDU.h \ S1ap-Cdma2000PDU.h \
Cdma2000RATType.h \ S1ap-Cdma2000RATType.h \
Cdma2000SectorID.h \ S1ap-Cdma2000SectorID.h \
Cdma2000HOStatus.h \ S1ap-Cdma2000HOStatus.h \
Cdma2000HORequiredIndication.h \ S1ap-Cdma2000HORequiredIndication.h \
Cdma2000OneXSRVCCInfo.h \ S1ap-Cdma2000OneXSRVCCInfo.h \
Cdma2000OneXMEID.h \ S1ap-Cdma2000OneXMEID.h \
Cdma2000OneXMSI.h \ S1ap-Cdma2000OneXMSI.h \
Cdma2000OneXPilot.h \ S1ap-Cdma2000OneXPilot.h \
Cdma2000OneXRAND.h \ S1ap-Cdma2000OneXRAND.h \
Cell-Size.h \ S1ap-Cell-Size.h \
CellType.h \ S1ap-CellType.h \
CGI.h \ S1ap-CGI.h \
CI.h \ S1ap-CI.h \
CNDomain.h \ S1ap-CNDomain.h \
CSFallbackIndicator.h \ S1ap-CSFallbackIndicator.h \
CSG-Id.h \ S1ap-CSG-Id.h \
CSG-IdList.h \ S1ap-CSG-IdList.h \
CSG-IdList-Item.h \ S1ap-CSG-IdList-Item.h \
COUNTvalue.h \ S1ap-COUNTvalue.h \
CriticalityDiagnostics.h \ S1ap-CriticalityDiagnostics.h \
CriticalityDiagnostics-IE-List.h \ S1ap-CriticalityDiagnostics-IE-List.h \
CriticalityDiagnostics-IE-Item.h \ S1ap-CriticalityDiagnostics-IE-Item.h \
DataCodingScheme.h \ S1ap-DataCodingScheme.h \
DL-Forwarding.h \ S1ap-DL-Forwarding.h \
Direct-Forwarding-Path-Availability.h \ S1ap-Direct-Forwarding-Path-Availability.h \
E-RABToBeModifiedListBearerModReq.h \ S1ap-E-RABToBeModifiedListBearerModReq.h \
E-RABToBeModifiedItemBearerModReq.h \ S1ap-E-RABToBeModifiedItemBearerModReq.h \
E-RABReleaseListBearerRelComp.h \ S1ap-E-RABReleaseListBearerRelComp.h \
E-RABReleaseItemBearerRelComp.h \ S1ap-E-RABReleaseItemBearerRelComp.h \
E-RABDataForwardingList.h \ S1ap-E-RABDataForwardingList.h \
E-RABDataForwardingItem.h \ S1ap-E-RABDataForwardingItem.h \
E-RABToBeSetupListCtxtSUReq.h \ S1ap-E-RABToBeSetupListCtxtSUReq.h \
E-RABToBeSetupItemCtxtSUReq.h \ S1ap-E-RABToBeSetupItemCtxtSUReq.h \
E-RABSetupListBearerSURes.h \ S1ap-E-RABSetupListBearerSURes.h \
E-RABSetupItemBearerSURes.h \ S1ap-E-RABSetupItemBearerSURes.h \
E-RABFailedToSetupListHOReqAck.h \ S1ap-E-RABFailedToSetupListHOReqAck.h \
E-RABFailedToSetupItemHOReqAck.h \ S1ap-E-RABFailedToSetupItemHOReqAck.h \
E-RABToBeSetupListBearerSUReq.h \ S1ap-E-RABToBeSetupListBearerSUReq.h \
E-RABToBeSetupItemBearerSUReq.h \ S1ap-E-RABToBeSetupItemBearerSUReq.h \
E-RABAdmittedList.h \ S1ap-E-RABAdmittedList.h \
E-RABAdmittedItem.h \ S1ap-E-RABAdmittedItem.h \
E-RABToBeSwitchedDLList.h \ S1ap-E-RABToBeSwitchedDLList.h \
E-RABToBeSwitchedDLItem.h \ S1ap-E-RABToBeSwitchedDLItem.h \
E-RABToBeSwitchedULList.h \ S1ap-E-RABToBeSwitchedULList.h \
E-RABToBeSwitchedULItem.h \ S1ap-E-RABToBeSwitchedULItem.h \
E-RABModifyListBearerModRes.h \ S1ap-E-RABModifyListBearerModRes.h \
E-RABModifyItemBearerModRes.h \ S1ap-E-RABModifyItemBearerModRes.h \
E-RABSetupListCtxtSURes.h \ S1ap-E-RABSetupListCtxtSURes.h \
E-RABSetupItemCtxtSURes.h \ S1ap-E-RABSetupItemCtxtSURes.h \
E-RABToBeSetupListHOReq.h \ S1ap-E-RABToBeSetupListHOReq.h \
E-RABToBeSetupItemHOReq.h \ S1ap-E-RABToBeSetupItemHOReq.h \
ECGIList.h \ S1ap-ECGIList.h \
EmergencyAreaIDList.h \ S1ap-EmergencyAreaIDList.h \
EmergencyAreaID.h \ S1ap-EmergencyAreaID.h \
EmergencyAreaID-Broadcast.h \ S1ap-EmergencyAreaID-Broadcast.h \
EmergencyAreaID-Broadcast-Item.h \ S1ap-EmergencyAreaID-Broadcast-Item.h \
CompletedCellinEAI.h \ S1ap-CompletedCellinEAI.h \
CompletedCellinEAI-Item.h \ S1ap-CompletedCellinEAI-Item.h \
ENB-ID.h \ S1ap-ENB-ID.h \
GERAN-Cell-ID.h \ S1ap-GERAN-Cell-ID.h \
Global-ENB-ID.h \ S1ap-Global-ENB-ID.h \
ENB-StatusTransfer-TransparentContainer.h \ S1ap-ENB-StatusTransfer-TransparentContainer.h \
ENB-UE-S1AP-ID.h \ S1ap-ENB-UE-S1AP-ID.h \
ENBname.h \ S1ap-ENBname.h \
ENBX2TLAs.h \ S1ap-ENBX2TLAs.h \
EncryptionAlgorithms.h \ S1ap-EncryptionAlgorithms.h \
EPLMNs.h \ S1ap-EPLMNs.h \
EventType.h \ S1ap-EventType.h \
E-RAB-ID.h \ S1ap-E-RAB-ID.h \
E-RABInformationList.h \ S1ap-E-RABInformationList.h \
E-RABInformationListItem.h \ S1ap-E-RABInformationListItem.h \
E-RABList.h \ S1ap-E-RABList.h \
E-RABItem.h \ S1ap-E-RABItem.h \
E-RABLevelQoSParameters.h \ S1ap-E-RABLevelQoSParameters.h \
EUTRAN-CGI.h \ S1ap-EUTRAN-CGI.h \
ExtendedRNC-ID.h \ S1ap-ExtendedRNC-ID.h \
ForbiddenInterRATs.h \ S1ap-ForbiddenInterRATs.h \
ForbiddenTAs.h \ S1ap-ForbiddenTAs.h \
ForbiddenTAs-Item.h \ S1ap-ForbiddenTAs-Item.h \
ForbiddenTACs.h \ S1ap-ForbiddenTACs.h \
ForbiddenLAs.h \ S1ap-ForbiddenLAs.h \
ForbiddenLAs-Item.h \ S1ap-ForbiddenLAs-Item.h \
ForbiddenLACs.h \ S1ap-ForbiddenLACs.h \
GBR-QosInformation.h \ S1ap-GBR-QosInformation.h \
GTP-TEID.h \ S1ap-GTP-TEID.h \
GUMMEI.h \ S1ap-GUMMEI.h \
HandoverRestrictionList.h \ S1ap-HandoverRestrictionList.h \
HandoverType.h \ S1ap-HandoverType.h \
HFN.h \ S1ap-HFN.h \
HandoverNotify.h \ S1ap-HandoverNotify.h \
Inter-SystemInformationTransferType.h \ S1ap-Inter-SystemInformationTransferType.h \
IMSI.h \ S1ap-IMSI.h \
IntegrityProtectionAlgorithms.h \ S1ap-IntegrityProtectionAlgorithms.h \
InterfacesToTrace.h \ S1ap-InterfacesToTrace.h \
LAC.h \ S1ap-LAC.h \
LAI.h \ S1ap-LAI.h \
LastVisitedCell-Item.h \ S1ap-LastVisitedCell-Item.h \
LastVisitedEUTRANCellInformation.h \ S1ap-LastVisitedEUTRANCellInformation.h \
LastVisitedUTRANCellInformation.h \ S1ap-LastVisitedUTRANCellInformation.h \
LastVisitedGERANCellInformation.h \ S1ap-LastVisitedGERANCellInformation.h \
L3-Information.h \ S1ap-L3-Information.h \
MessageIdentifier.h \ S1ap-MessageIdentifier.h \
MMEname.h \ S1ap-MMEname.h \
MME-Group-ID.h \ S1ap-MME-Group-ID.h \
MME-Code.h \ S1ap-MME-Code.h \
MME-UE-S1AP-ID.h \ S1ap-MME-UE-S1AP-ID.h \
M-TMSI.h \ S1ap-M-TMSI.h \
MSClassmark2.h \ S1ap-MSClassmark2.h \
MSClassmark3.h \ S1ap-MSClassmark3.h \
NAS-PDU.h \ S1ap-NAS-PDU.h \
NASSecurityParametersfromE-UTRAN.h \ S1ap-NASSecurityParametersfromE-UTRAN.h \
NASSecurityParameterstoE-UTRAN.h \ S1ap-NASSecurityParameterstoE-UTRAN.h \
NumberofBroadcastRequest.h \ S1ap-NumberofBroadcastRequest.h \
NumberOfBroadcasts.h \ S1ap-NumberOfBroadcasts.h \
OldBSS-ToNewBSS-Information.h \ S1ap-OldBSS-ToNewBSS-Information.h \
OverloadAction.h \ S1ap-OverloadAction.h \
OverloadResponse.h \ S1ap-OverloadResponse.h \
PagingDRX.h \ S1ap-PagingDRX.h \
PDCP-SN.h \ S1ap-PDCP-SN.h \
PLMNidentity.h \ S1ap-PLMNidentity.h \
Pre-emptionCapability.h \ S1ap-Pre-emptionCapability.h \
Pre-emptionVulnerability.h \ S1ap-Pre-emptionVulnerability.h \
PriorityLevel.h \ S1ap-PriorityLevel.h \
QCI.h \ S1ap-QCI.h \
ReceiveStatusofULPDCPSDUs.h \ S1ap-ReceiveStatusofULPDCPSDUs.h \
RelativeMMECapacity.h \ S1ap-RelativeMMECapacity.h \
RAC.h \ S1ap-RAC.h \
RequestType.h \ S1ap-RequestType.h \
ResetType.h \ S1ap-ResetType.h \
ResetAll.h \ S1ap-ResetAll.h \
RIMTransfer.h \ S1ap-RIMTransfer.h \
RIMInformation.h \ S1ap-RIMInformation.h \
RIMRoutingAddress.h \ S1ap-RIMRoutingAddress.h \
ReportArea.h \ S1ap-ReportArea.h \
RepetitionPeriod.h \ S1ap-RepetitionPeriod.h \
RNC-ID.h \ S1ap-RNC-ID.h \
RRC-Container.h \ S1ap-RRC-Container.h \
RRC-Establishment-Cause.h \ S1ap-RRC-Establishment-Cause.h \
SecurityKey.h \ S1ap-SecurityKey.h \
SecurityContext.h \ S1ap-SecurityContext.h \
SerialNumber.h \ S1ap-SerialNumber.h \
SONInformation.h \ S1ap-SONInformation.h \
SONInformationRequest.h \ S1ap-SONInformationRequest.h \
SONInformationReply.h \ S1ap-SONInformationReply.h \
SONConfigurationTransfer.h \ S1ap-SONConfigurationTransfer.h \
Source-ToTarget-TransparentContainer.h \ S1ap-Source-ToTarget-TransparentContainer.h \
SourceBSS-ToTargetBSS-TransparentContainer.h \ S1ap-SourceBSS-ToTargetBSS-TransparentContainer.h \
SourceeNB-ID.h \ S1ap-SourceeNB-ID.h \
SRVCCOperationPossible.h \ S1ap-SRVCCOperationPossible.h \
SRVCCHOIndication.h \ S1ap-SRVCCHOIndication.h \
SourceeNB-ToTargeteNB-TransparentContainer.h \ S1ap-SourceeNB-ToTargeteNB-TransparentContainer.h \
SourceRNC-ToTargetRNC-TransparentContainer.h \ S1ap-SourceRNC-ToTargetRNC-TransparentContainer.h \
ServedGUMMEIs.h \ S1ap-ServedGUMMEIs.h \
ServedGUMMEIsItem.h \ S1ap-ServedGUMMEIsItem.h \
ServedGroupIDs.h \ S1ap-ServedGroupIDs.h \
ServedMMECs.h \ S1ap-ServedMMECs.h \
ServedPLMNs.h \ S1ap-ServedPLMNs.h \
SubscriberProfileIDforRFP.h \ S1ap-SubscriberProfileIDforRFP.h \
SupportedTAs.h \ S1ap-SupportedTAs.h \
SupportedTAs-Item.h \ S1ap-SupportedTAs-Item.h \
S-TMSI.h \ S1ap-S-TMSI.h \
TAC.h \ S1ap-TAC.h \
TAIListforWarning.h \ S1ap-TAIListforWarning.h \
TAIList.h \ S1ap-TAIList.h \
TAIItem.h \ S1ap-TAIItem.h \
TAI.h \ S1ap-TAI.h \
TAI-Broadcast.h \ S1ap-TAI-Broadcast.h \
TAI-Broadcast-Item.h \ S1ap-TAI-Broadcast-Item.h \
CompletedCellinTAI.h \ S1ap-CompletedCellinTAI.h \
CompletedCellinTAI-Item.h \ S1ap-CompletedCellinTAI-Item.h \
TBCD-STRING.h \ S1ap-TBCD-STRING.h \
TargetID.h \ S1ap-TargetID.h \
TargeteNB-ID.h \ S1ap-TargeteNB-ID.h \
TargetRNC-ID.h \ S1ap-TargetRNC-ID.h \
TargeteNB-ToSourceeNB-TransparentContainer.h \ S1ap-TargeteNB-ToSourceeNB-TransparentContainer.h \
Target-ToSource-TransparentContainer.h \ S1ap-Target-ToSource-TransparentContainer.h \
TargetRNC-ToSourceRNC-TransparentContainer.h \ S1ap-TargetRNC-ToSourceRNC-TransparentContainer.h \
TargetBSS-ToSourceBSS-TransparentContainer.h \ S1ap-TargetBSS-ToSourceBSS-TransparentContainer.h \
TimeToWait.h \ S1ap-TimeToWait.h \
Time-UE-StayedInCell.h \ S1ap-Time-UE-StayedInCell.h \
TransportLayerAddress.h \ S1ap-TransportLayerAddress.h \
TraceActivation.h \ S1ap-TraceActivation.h \
TraceDepth.h \ S1ap-TraceDepth.h \
E-UTRAN-Trace-ID.h \ S1ap-E-UTRAN-Trace-ID.h \
TypeOfError.h \ S1ap-TypeOfError.h \
UEAggregateMaximumBitrate.h \ S1ap-UEAggregateMaximumBitrate.h \
UE-S1AP-IDs.h \ S1ap-UE-S1AP-IDs.h \
UE-S1AP-ID-pair.h \ S1ap-UE-S1AP-ID-pair.h \
UE-associatedLogicalS1-ConnectionListRes.h \ S1ap-UE-associatedLogicalS1-ConnectionListRes.h \
UE-associatedLogicalS1-ConnectionListResAck.h \ S1ap-UE-associatedLogicalS1-ConnectionListResAck.h \
UE-associatedLogicalS1-ConnectionItem.h \ S1ap-UE-associatedLogicalS1-ConnectionItem.h \
UEIdentityIndexValue.h \ S1ap-UEIdentityIndexValue.h \
UE-HistoryInformation.h \ S1ap-UE-HistoryInformation.h \
UEPagingID.h \ S1ap-UEPagingID.h \
UERadioCapability.h \ S1ap-UERadioCapability.h \
UESecurityCapabilities.h \ S1ap-UESecurityCapabilities.h \
WarningAreaList.h \ S1ap-WarningAreaList.h \
WarningType.h \ S1ap-WarningType.h \
WarningSecurityInfo.h \ S1ap-WarningSecurityInfo.h \
WarningMessageContents.h \ S1ap-WarningMessageContents.h \
X2TNLConfigurationInfo.h \ S1ap-X2TNLConfigurationInfo.h \
S1AP-PDU.h \ S1AP-PDU.h \
InitiatingMessage.h \ S1ap-InitiatingMessage.h \
SuccessfulOutcome.h \ S1ap-SuccessfulOutcome.h \
UnsuccessfulOutcome.h \ S1ap-UnsuccessfulOutcome.h \
HandoverRequired.h \ S1ap-HandoverRequired.h \
HandoverCommand.h \ S1ap-HandoverCommand.h \
HandoverPreparationFailure.h \ S1ap-HandoverPreparationFailure.h \
HandoverRequest.h \ S1ap-HandoverRequest.h \
HandoverRequestAcknowledge.h \ S1ap-HandoverRequestAcknowledge.h \
HandoverFailure.h \ S1ap-HandoverFailure.h \
PathSwitchRequest.h \ S1ap-PathSwitchRequest.h \
PathSwitchRequestAcknowledge.h \ S1ap-PathSwitchRequestAcknowledge.h \
PathSwitchRequestFailure.h \ S1ap-PathSwitchRequestFailure.h \
E-RABSetupRequest.h \ S1ap-E-RABSetupRequest.h \
E-RABSetupResponse.h \ S1ap-E-RABSetupResponse.h \
E-RABModifyRequest.h \ S1ap-E-RABModifyRequest.h \
E-RABModifyResponse.h \ S1ap-E-RABModifyResponse.h \
E-RABReleaseIndication.h \ S1ap-E-RABReleaseIndication.h \
E-RABReleaseCommand.h \ S1ap-E-RABReleaseCommand.h \
E-RABReleaseResponse.h \ S1ap-E-RABReleaseResponse.h \
InitialContextSetupRequest.h \ S1ap-InitialContextSetupRequest.h \
InitialContextSetupResponse.h \ S1ap-InitialContextSetupResponse.h \
InitialContextSetupFailure.h \ S1ap-InitialContextSetupFailure.h \
UEContextReleaseRequest.h \ S1ap-UEContextReleaseRequest.h \
Paging.h \ S1ap-Paging.h \
DownlinkNASTransport.h \ S1ap-DownlinkNASTransport.h \
InitialUEMessage.h \ S1ap-InitialUEMessage.h \
UplinkNASTransport.h \ S1ap-UplinkNASTransport.h \
NASNonDeliveryIndication.h \ S1ap-NASNonDeliveryIndication.h \
HandoverCancel.h \ S1ap-HandoverCancel.h \
HandoverCancelAcknowledge.h \ S1ap-HandoverCancelAcknowledge.h \
Reset.h \ S1ap-Reset.h \
ResetAcknowledge.h \ S1ap-ResetAcknowledge.h \
S1SetupResponse.h \ S1ap-S1SetupResponse.h \
S1SetupRequest.h \ S1ap-S1SetupRequest.h \
S1SetupFailure.h \ S1ap-S1SetupFailure.h \
ErrorIndication.h \ S1ap-ErrorIndication.h \
ENBConfigurationUpdate.h \ S1ap-ENBConfigurationUpdate.h \
ENBConfigurationUpdateAcknowledge.h \ S1ap-ENBConfigurationUpdateAcknowledge.h \
ENBConfigurationUpdateFailure.h \ S1ap-ENBConfigurationUpdateFailure.h \
MMEConfigurationUpdate.h \ S1ap-MMEConfigurationUpdate.h \
MMEConfigurationUpdateAcknowledge.h \ S1ap-MMEConfigurationUpdateAcknowledge.h \
MMEConfigurationUpdateFailure.h \ S1ap-MMEConfigurationUpdateFailure.h \
DownlinkS1cdma2000tunneling.h \ S1ap-DownlinkS1cdma2000tunneling.h \
UplinkS1cdma2000tunneling.h \ S1ap-UplinkS1cdma2000tunneling.h \
UEContextModificationRequest.h \ S1ap-UEContextModificationRequest.h \
UEContextModificationResponse.h \ S1ap-UEContextModificationResponse.h \
UEContextModificationFailure.h \ S1ap-UEContextModificationFailure.h \
UECapabilityInfoIndication.h \ S1ap-UECapabilityInfoIndication.h \
UEContextReleaseCommand.h \ S1ap-UEContextReleaseCommand.h \
UEContextReleaseComplete.h \ S1ap-UEContextReleaseComplete.h \
ENBStatusTransfer.h \ S1ap-ENBStatusTransfer.h \
MMEStatusTransfer.h \ S1ap-MMEStatusTransfer.h \
DeactivateTrace.h \ S1ap-DeactivateTrace.h \
TraceStart.h \ S1ap-TraceStart.h \
TraceFailureIndication.h \ S1ap-TraceFailureIndication.h \
CellTrafficTrace.h \ S1ap-CellTrafficTrace.h \
LocationReportingControl.h \ S1ap-LocationReportingControl.h \
LocationReportingFailureIndication.h \ S1ap-LocationReportingFailureIndication.h \
LocationReport.h \ S1ap-LocationReport.h \
OverloadStart.h \ S1ap-OverloadStart.h \
OverloadStop.h \ S1ap-OverloadStop.h \
WriteReplaceWarningRequest.h \ S1ap-WriteReplaceWarningRequest.h \
WriteReplaceWarningResponse.h \ S1ap-WriteReplaceWarningResponse.h \
ENBDirectInformationTransfer.h \ S1ap-ENBDirectInformationTransfer.h \
MMEDirectInformationTransfer.h \ S1ap-MMEDirectInformationTransfer.h \
ENBConfigurationTransfer.h \ S1ap-ENBConfigurationTransfer.h \
MMEConfigurationTransfer.h \ S1ap-MMEConfigurationTransfer.h \
PrivateMessage.h \ S1ap-PrivateMessage.h \
IE.h \ S1ap-IE.h \
IE-Extensions.h S1ap-IE-Extensions.h
ASN_MODULE_HEADERS+=ANY.h ASN_MODULE_HEADERS+=ANY.h
ASN_MODULE_SOURCES+=ANY.c ASN_MODULE_SOURCES+=ANY.c
...@@ -665,89 +665,89 @@ ASN_MODULE_SOURCES+=per_opentype.c ...@@ -665,89 +665,89 @@ ASN_MODULE_SOURCES+=per_opentype.c
if UPDATE_RELEASE_9 if UPDATE_RELEASE_9
ASN_MODULE_SOURCES += \ ASN_MODULE_SOURCES += \
KillResponse.c \ S1ap-KillResponse.c \
KillRequest.c \ S1ap-KillRequest.c \
Data-Forwarding-Not-Possible.c \ S1ap-Data-Forwarding-Not-Possible.c \
DownlinkUEAssociatedLPPaTransport.c \ S1ap-DownlinkUEAssociatedLPPaTransport.c \
UplinkUEAssociatedLPPaTransport.c \ S1ap-UplinkUEAssociatedLPPaTransport.c \
DownlinkNonUEAssociatedLPPaTransport.c \ S1ap-DownlinkNonUEAssociatedLPPaTransport.c \
UplinkNonUEAssociatedLPPaTransport.c \ S1ap-UplinkNonUEAssociatedLPPaTransport.c \
TAI-Cancelled.c \ S1ap-TAI-Cancelled.c \
TAI-Cancelled-Item.c \ S1ap-TAI-Cancelled-Item.c \
StratumLevel.c \ S1ap-StratumLevel.c \
SynchronizationStatus.c \ S1ap-SynchronizationStatus.c \
TimeSynchronizationInfo.c \ S1ap-TimeSynchronizationInfo.c \
Routing-ID.c \ S1ap-Routing-ID.c \
PS-ServiceNotAvailable.c \ S1ap-PS-ServiceNotAvailable.c \
LPPa-PDU.c \ S1ap-LPPa-PDU.c \
ExtendedRepetitionPeriod.c \ S1ap-ExtendedRepetitionPeriod.c \
EUTRANRoundTripDelayEstimationInfo.c \ S1ap-EUTRANRoundTripDelayEstimationInfo.c \
EmergencyAreaID-Cancelled.c \ S1ap-EmergencyAreaID-Cancelled.c \
EmergencyAreaID-Cancelled-Item.c \ S1ap-EmergencyAreaID-Cancelled-Item.c \
CSGMembershipStatus.c \ S1ap-CSGMembershipStatus.c \
ConcurrentWarningMessageIndicator.c \ S1ap-ConcurrentWarningMessageIndicator.c \
CellID-Cancelled.c \ S1ap-CellID-Cancelled.c \
CellID-Cancelled-Item.c \ S1ap-CellID-Cancelled-Item.c \
CellAccessMode.c \ S1ap-CellAccessMode.c \
CancelledCellinEAI.c \ S1ap-CancelledCellinEAI.c \
CancelledCellinEAI-Item.c \ S1ap-CancelledCellinEAI-Item.c \
CancelledCellinTAI.c \ S1ap-CancelledCellinTAI.c \
CancelledCellinTAI-Item.c \ S1ap-CancelledCellinTAI-Item.c \
BroadcastCancelledAreaList.c S1ap-BroadcastCancelledAreaList.c
ASN_MODULE_HEADERS += \ ASN_MODULE_HEADERS += \
BroadcastCancelledAreaList.h \ S1ap-BroadcastCancelledAreaList.h \
CancelledCellinEAI.h \ S1ap-CancelledCellinEAI.h \
CancelledCellinEAI-Item.h \ S1ap-CancelledCellinEAI-Item.h \
CancelledCellinTAI.h \ S1ap-CancelledCellinTAI.h \
CancelledCellinTAI-Item.h \ S1ap-CancelledCellinTAI-Item.h \
CellAccessMode.h \ S1ap-CellAccessMode.h \
CellID-Cancelled.h \ S1ap-CellID-Cancelled.h \
CellID-Cancelled-Item.h \ S1ap-CellID-Cancelled-Item.h \
ConcurrentWarningMessageIndicator.h \ S1ap-ConcurrentWarningMessageIndicator.h \
CSGMembershipStatus.h \ S1ap-CSGMembershipStatus.h \
Data-Forwarding-Not-Possible.h \ S1ap-Data-Forwarding-Not-Possible.h \
EmergencyAreaID-Cancelled.h \ S1ap-EmergencyAreaID-Cancelled.h \
EmergencyAreaID-Cancelled-Item.h \ S1ap-EmergencyAreaID-Cancelled-Item.h \
E-RABList.h \ S1ap-E-RABList.h \
EUTRANRoundTripDelayEstimationInfo.h \ S1ap-EUTRANRoundTripDelayEstimationInfo.h \
ExtendedRepetitionPeriod.h \ S1ap-ExtendedRepetitionPeriod.h \
LPPa-PDU.h \ S1ap-LPPa-PDU.h \
PS-ServiceNotAvailable.h \ S1ap-PS-ServiceNotAvailable.h \
Routing-ID.h \ S1ap-Routing-ID.h \
StratumLevel.h \ S1ap-StratumLevel.h \
SynchronizationStatus.h \ S1ap-SynchronizationStatus.h \
TimeSynchronizationInfo.h \ S1ap-TimeSynchronizationInfo.h \
TAI-Cancelled.h \ S1ap-TAI-Cancelled.h \
TAI-Cancelled-Item.h \ S1ap-TAI-Cancelled-Item.h \
KillResponse.h \ S1ap-KillResponse.h \
KillRequest.h \ S1ap-KillRequest.h \
DownlinkUEAssociatedLPPaTransport.h \ S1ap-DownlinkUEAssociatedLPPaTransport.h \
UplinkUEAssociatedLPPaTransport.h \ S1ap-UplinkUEAssociatedLPPaTransport.h \
DownlinkNonUEAssociatedLPPaTransport.h \ S1ap-DownlinkNonUEAssociatedLPPaTransport.h \
UplinkNonUEAssociatedLPPaTransport.h S1ap-UplinkNonUEAssociatedLPPaTransport.h
endif endif
if UPDATE_RELEASE_10 if UPDATE_RELEASE_10
ASN_MODULE_SOURCES += \ ASN_MODULE_SOURCES += \
PagingPriority.c \ S1ap-PagingPriority.c \
RelayNode-Indicator.c \ S1ap-RelayNode-Indicator.c \
GWContextReleaseIndication.c \ S1ap-GWContextReleaseIndication.c \
MMERelaySupportIndicator.c \ S1ap-MMERelaySupportIndicator.c \
ManagementBasedMDTAllowed.c \ S1ap-ManagementBasedMDTAllowed.c \
PrivacyIndicator.c \ S1ap-PrivacyIndicator.c \
TrafficLoadReductionIndication.c \ S1ap-TrafficLoadReductionIndication.c \
GUMMEIList.c S1ap-GUMMEIList.c
ASN_MODULE_HEADERS += \ ASN_MODULE_HEADERS += \
PagingPriority.h \ S1ap-PagingPriority.h \
RelayNode-Indicator.h \ S1ap-RelayNode-Indicator.h \
GWContextReleaseIndication.h \ S1ap-GWContextReleaseIndication.h \
MMERelaySupportIndicator.h \ S1ap-MMERelaySupportIndicator.h \
ManagementBasedMDTAllowed.h \ S1ap-ManagementBasedMDTAllowed.h \
PrivacyIndicator.h \ S1ap-PrivacyIndicator.h \
TrafficLoadReductionIndication.h \ S1ap-TrafficLoadReductionIndication.h \
GUMMEIList.h S1ap-GUMMEIList.h
endif endif
noinst_LTLIBRARIES = libs1apmessages.la noinst_LTLIBRARIES = libs1apmessages.la
......
S1AP_ASN_MODULE_SOURCES= \ S1AP_ASN_MODULE_SOURCES= \
Criticality.o \ S1ap-Criticality.o \
Presence.o \ S1ap-Presence.o \
PrivateIE-ID.o \ S1ap-PrivateIE-ID.o \
ProcedureCode.o \ S1ap-ProcedureCode.o \
ProtocolExtensionID.o \ S1ap-ProtocolExtensionID.o \
ProtocolIE-ID.o \ S1ap-ProtocolIE-ID.o \
TriggeringMessage.o \ S1ap-TriggeringMessage.o \
IE-Extensions.o \ S1ap-IE-Extensions.o \
AllocationAndRetentionPriority.o \ S1ap-AllocationAndRetentionPriority.o \
Bearers-SubjectToStatusTransfer-List.o \ S1ap-Bearers-SubjectToStatusTransfer-List.o \
Bearers-SubjectToStatusTransfer-Item.o \ S1ap-Bearers-SubjectToStatusTransfer-Item.o \
BitRate.o \ S1ap-BitRate.o \
BPLMNs.o \ S1ap-BPLMNs.o \
BroadcastCompletedAreaList.o \ S1ap-BroadcastCompletedAreaList.o \
Cause.o \ S1ap-Cause.o \
CauseMisc.o \ S1ap-CauseMisc.o \
CauseProtocol.o \ S1ap-CauseProtocol.o \
CauseRadioNetwork.o \ S1ap-CauseRadioNetwork.o \
CauseTransport.o \ S1ap-CauseTransport.o \
CauseNas.o \ S1ap-CauseNas.o \
CellIdentity.o \ S1ap-CellIdentity.o \
CellID-Broadcast.o \ S1ap-CellID-Broadcast.o \
CellID-Broadcast-Item.o \ S1ap-CellID-Broadcast-Item.o \
Cdma2000PDU.o \ S1ap-Cdma2000PDU.o \
Cdma2000RATType.o \ S1ap-Cdma2000RATType.o \
Cdma2000SectorID.o \ S1ap-Cdma2000SectorID.o \
Cdma2000HOStatus.o \ S1ap-Cdma2000HOStatus.o \
Cdma2000HORequiredIndication.o \ S1ap-Cdma2000HORequiredIndication.o \
Cdma2000OneXSRVCCInfo.o \ S1ap-Cdma2000OneXSRVCCInfo.o \
Cdma2000OneXMEID.o \ S1ap-Cdma2000OneXMEID.o \
Cdma2000OneXMSI.o \ S1ap-Cdma2000OneXMSI.o \
Cdma2000OneXPilot.o \ S1ap-Cdma2000OneXPilot.o \
Cdma2000OneXRAND.o \ S1ap-Cdma2000OneXRAND.o \
Cell-Size.o \ S1ap-Cell-Size.o \
CellType.o \ S1ap-CellType.o \
CGI.o \ S1ap-CGI.o \
CI.o \ S1ap-CI.o \
CNDomain.o \ S1ap-CNDomain.o \
CSFallbackIndicator.o \ S1ap-CSFallbackIndicator.o \
CSG-Id.o \ S1ap-CSG-Id.o \
CSG-IdList.o \ S1ap-CSG-IdList.o \
CSG-IdList-Item.o \ S1ap-CSG-IdList-Item.o \
COUNTvalue.o \ S1ap-COUNTvalue.o \
CriticalityDiagnostics.o \ S1ap-CriticalityDiagnostics.o \
CriticalityDiagnostics-IE-List.o \ S1ap-CriticalityDiagnostics-IE-List.o \
CriticalityDiagnostics-IE-Item.o \ S1ap-CriticalityDiagnostics-IE-Item.o \
DataCodingScheme.o \ S1ap-DataCodingScheme.o \
DL-Forwarding.o \ S1ap-DL-Forwarding.o \
Direct-Forwarding-Path-Availability.o \ S1ap-Direct-Forwarding-Path-Availability.o \
E-RABToBeModifiedListBearerModReq.o \ S1ap-E-RABToBeModifiedListBearerModReq.o \
E-RABToBeModifiedItemBearerModReq.o \ S1ap-E-RABToBeModifiedItemBearerModReq.o \
E-RABReleaseListBearerRelComp.o \ S1ap-E-RABReleaseListBearerRelComp.o \
E-RABReleaseItemBearerRelComp.o \ S1ap-E-RABReleaseItemBearerRelComp.o \
E-RABDataForwardingList.o \ S1ap-E-RABDataForwardingList.o \
E-RABDataForwardingItem.o \ S1ap-E-RABDataForwardingItem.o \
E-RABToBeSetupListCtxtSUReq.o \ S1ap-E-RABToBeSetupListCtxtSUReq.o \
E-RABToBeSetupItemCtxtSUReq.o \ S1ap-E-RABToBeSetupItemCtxtSUReq.o \
E-RABSetupListBearerSURes.o \ S1ap-E-RABSetupListBearerSURes.o \
E-RABSetupItemBearerSURes.o \ S1ap-E-RABSetupItemBearerSURes.o \
E-RABFailedToSetupListHOReqAck.o \ S1ap-E-RABFailedToSetupListHOReqAck.o \
E-RABFailedToSetupItemHOReqAck.o \ S1ap-E-RABFailedToSetupItemHOReqAck.o \
E-RABToBeSetupListBearerSUReq.o \ S1ap-E-RABToBeSetupListBearerSUReq.o \
E-RABToBeSetupItemBearerSUReq.o \ S1ap-E-RABToBeSetupItemBearerSUReq.o \
E-RABAdmittedList.o \ S1ap-E-RABAdmittedList.o \
E-RABAdmittedItem.o \ S1ap-E-RABAdmittedItem.o \
E-RABToBeSwitchedDLList.o \ S1ap-E-RABToBeSwitchedDLList.o \
E-RABToBeSwitchedDLItem.o \ S1ap-E-RABToBeSwitchedDLItem.o \
E-RABToBeSwitchedULList.o \ S1ap-E-RABToBeSwitchedULList.o \
E-RABToBeSwitchedULItem.o \ S1ap-E-RABToBeSwitchedULItem.o \
E-RABModifyListBearerModRes.o \ S1ap-E-RABModifyListBearerModRes.o \
E-RABModifyItemBearerModRes.o \ S1ap-E-RABModifyItemBearerModRes.o \
E-RABSetupListCtxtSURes.o \ S1ap-E-RABSetupListCtxtSURes.o \
E-RABSetupItemCtxtSURes.o \ S1ap-E-RABSetupItemCtxtSURes.o \
E-RABToBeSetupListHOReq.o \ S1ap-E-RABToBeSetupListHOReq.o \
E-RABToBeSetupItemHOReq.o \ S1ap-E-RABToBeSetupItemHOReq.o \
ECGIList.o \ S1ap-ECGIList.o \
EmergencyAreaIDList.o \ S1ap-EmergencyAreaIDList.o \
EmergencyAreaID.o \ S1ap-EmergencyAreaID.o \
EmergencyAreaID-Broadcast.o \ S1ap-EmergencyAreaID-Broadcast.o \
EmergencyAreaID-Broadcast-Item.o \ S1ap-EmergencyAreaID-Broadcast-Item.o \
CompletedCellinEAI.o \ S1ap-CompletedCellinEAI.o \
CompletedCellinEAI-Item.o \ S1ap-CompletedCellinEAI-Item.o \
ENB-ID.o \ S1ap-ENB-ID.o \
GERAN-Cell-ID.o \ S1ap-GERAN-Cell-ID.o \
Global-ENB-ID.o \ S1ap-Global-ENB-ID.o \
ENB-StatusTransfer-TransparentContainer.o \ S1ap-ENB-StatusTransfer-TransparentContainer.o \
ENB-UE-S1AP-ID.o \ S1ap-ENB-UE-S1AP-ID.o \
ENBname.o \ S1ap-ENBname.o \
ENBX2TLAs.o \ S1ap-ENBX2TLAs.o \
EncryptionAlgorithms.o \ S1ap-EncryptionAlgorithms.o \
EPLMNs.o \ S1ap-EPLMNs.o \
EventType.o \ S1ap-EventType.o \
E-RAB-ID.o \ S1ap-E-RAB-ID.o \
E-RABInformationList.o \ S1ap-E-RABInformationList.o \
E-RABInformationListItem.o \ S1ap-E-RABInformationListItem.o \
E-RABList.o \ S1ap-E-RABList.o \
E-RABItem.o \ S1ap-E-RABItem.o \
E-RABLevelQoSParameters.o \ S1ap-E-RABLevelQoSParameters.o \
EUTRAN-CGI.o \ S1ap-EUTRAN-CGI.o \
ExtendedRNC-ID.o \ S1ap-ExtendedRNC-ID.o \
ForbiddenInterRATs.o \ S1ap-ForbiddenInterRATs.o \
ForbiddenTAs.o \ S1ap-ForbiddenTAs.o \
ForbiddenTAs-Item.o \ S1ap-ForbiddenTAs-Item.o \
ForbiddenTACs.o \ S1ap-ForbiddenTACs.o \
ForbiddenLAs.o \ S1ap-ForbiddenLAs.o \
ForbiddenLAs-Item.o \ S1ap-ForbiddenLAs-Item.o \
ForbiddenLACs.o \ S1ap-ForbiddenLACs.o \
GBR-QosInformation.o \ S1ap-GBR-QosInformation.o \
GTP-TEID.o \ S1ap-GTP-TEID.o \
GUMMEI.o \ S1ap-GUMMEI.o \
HandoverRestrictionList.o \ S1ap-HandoverRestrictionList.o \
HandoverType.o \ S1ap-HandoverType.o \
HFN.o \ S1ap-HFN.o \
Inter-SystemInformationTransferType.o \ S1ap-Inter-SystemInformationTransferType.o \
IMSI.o \ S1ap-IMSI.o \
IntegrityProtectionAlgorithms.o \ S1ap-IntegrityProtectionAlgorithms.o \
InterfacesToTrace.o \ S1ap-InterfacesToTrace.o \
LAC.o \ S1ap-LAC.o \
LAI.o \ S1ap-LAI.o \
LastVisitedCell-Item.o \ S1ap-LastVisitedCell-Item.o \
LastVisitedEUTRANCellInformation.o \ S1ap-LastVisitedEUTRANCellInformation.o \
LastVisitedUTRANCellInformation.o \ S1ap-LastVisitedUTRANCellInformation.o \
LastVisitedGERANCellInformation.o \ S1ap-LastVisitedGERANCellInformation.o \
L3-Information.o \ S1ap-L3-Information.o \
MessageIdentifier.o \ S1ap-MessageIdentifier.o \
MMEname.o \ S1ap-MMEname.o \
MME-Group-ID.o \ S1ap-MME-Group-ID.o \
MME-Code.o \ S1ap-MME-Code.o \
MME-UE-S1AP-ID.o \ S1ap-MME-UE-S1AP-ID.o \
M-TMSI.o \ S1ap-M-TMSI.o \
MSClassmark2.o \ S1ap-MSClassmark2.o \
MSClassmark3.o \ S1ap-MSClassmark3.o \
NAS-PDU.o \ S1ap-NAS-PDU.o \
NASSecurityParametersfromE-UTRAN.o \ S1ap-NASSecurityParametersfromE-UTRAN.o \
NASSecurityParameterstoE-UTRAN.o \ S1ap-NASSecurityParameterstoE-UTRAN.o \
NumberofBroadcastRequest.o \ S1ap-NumberofBroadcastRequest.o \
NumberOfBroadcasts.o \ S1ap-NumberOfBroadcasts.o \
OldBSS-ToNewBSS-Information.o \ S1ap-OldBSS-ToNewBSS-Information.o \
OverloadAction.o \ S1ap-OverloadAction.o \
OverloadResponse.o \ S1ap-OverloadResponse.o \
PagingDRX.o \ S1ap-PagingDRX.o \
PDCP-SN.o \ S1ap-PDCP-SN.o \
PLMNidentity.o \ S1ap-PLMNidentity.o \
Pre-emptionCapability.o \ S1ap-Pre-emptionCapability.o \
Pre-emptionVulnerability.o \ S1ap-Pre-emptionVulnerability.o \
PriorityLevel.o \ S1ap-PriorityLevel.o \
QCI.o \ S1ap-QCI.o \
ReceiveStatusofULPDCPSDUs.o \ S1ap-ReceiveStatusofULPDCPSDUs.o \
RelativeMMECapacity.o \ S1ap-RelativeMMECapacity.o \
RAC.o \ S1ap-RAC.o \
RequestType.o \ S1ap-RequestType.o \
ResetType.o \ S1ap-ResetType.o \
ResetAll.o \ S1ap-ResetAll.o \
RIMTransfer.o \ S1ap-RIMTransfer.o \
RIMInformation.o \ S1ap-RIMInformation.o \
RIMRoutingAddress.o \ S1ap-RIMRoutingAddress.o \
ReportArea.o \ S1ap-ReportArea.o \
RepetitionPeriod.o \ S1ap-RepetitionPeriod.o \
RNC-ID.o \ S1ap-RNC-ID.o \
RRC-Container.o \ S1ap-RRC-Container.o \
RRC-Establishment-Cause.o \ S1ap-RRC-Establishment-Cause.o \
SecurityKey.o \ S1ap-SecurityKey.o \
SecurityContext.o \ S1ap-SecurityContext.o \
SerialNumber.o \ S1ap-SerialNumber.o \
SONInformation.o \ S1ap-SONInformation.o \
SONInformationRequest.o \ S1ap-SONInformationRequest.o \
SONInformationReply.o \ S1ap-SONInformationReply.o \
SONConfigurationTransfer.o \ S1ap-SONConfigurationTransfer.o \
Source-ToTarget-TransparentContainer.o \ S1ap-Source-ToTarget-TransparentContainer.o \
SourceBSS-ToTargetBSS-TransparentContainer.o \ S1ap-SourceBSS-ToTargetBSS-TransparentContainer.o \
SourceeNB-ID.o \ S1ap-SourceeNB-ID.o \
SRVCCOperationPossible.o \ S1ap-SRVCCOperationPossible.o \
SRVCCHOIndication.o \ S1ap-SRVCCHOIndication.o \
SourceeNB-ToTargeteNB-TransparentContainer.o \ S1ap-SourceeNB-ToTargeteNB-TransparentContainer.o \
SourceRNC-ToTargetRNC-TransparentContainer.o \ S1ap-SourceRNC-ToTargetRNC-TransparentContainer.o \
ServedGUMMEIs.o \ S1ap-ServedGUMMEIs.o \
ServedGUMMEIsItem.o \ S1ap-ServedGUMMEIsItem.o \
ServedGroupIDs.o \ S1ap-ServedGroupIDs.o \
ServedMMECs.o \ S1ap-ServedMMECs.o \
ServedPLMNs.o \ S1ap-ServedPLMNs.o \
SubscriberProfileIDforRFP.o \ S1ap-SubscriberProfileIDforRFP.o \
SupportedTAs.o \ S1ap-SupportedTAs.o \
SupportedTAs-Item.o \ S1ap-SupportedTAs-Item.o \
S-TMSI.o \ S1ap-S-TMSI.o \
TAC.o \ S1ap-TAC.o \
TAIListforWarning.o \ S1ap-TAIListforWarning.o \
TAIList.o \ S1ap-TAIList.o \
TAIItem.o \ S1ap-TAIItem.o \
TAI.o \ S1ap-TAI.o \
TAI-Broadcast.o \ S1ap-TAI-Broadcast.o \
TAI-Broadcast-Item.o \ S1ap-TAI-Broadcast-Item.o \
CompletedCellinTAI.o \ S1ap-CompletedCellinTAI.o \
CompletedCellinTAI-Item.o \ S1ap-CompletedCellinTAI-Item.o \
TBCD-STRING.o \ S1ap-TBCD-STRING.o \
TargetID.o \ S1ap-TargetID.o \
TargeteNB-ID.o \ S1ap-TargeteNB-ID.o \
TargetRNC-ID.o \ S1ap-TargetRNC-ID.o \
TargeteNB-ToSourceeNB-TransparentContainer.o \ S1ap-TargeteNB-ToSourceeNB-TransparentContainer.o \
Target-ToSource-TransparentContainer.o \ S1ap-Target-ToSource-TransparentContainer.o \
TargetRNC-ToSourceRNC-TransparentContainer.o \ S1ap-TargetRNC-ToSourceRNC-TransparentContainer.o \
TargetBSS-ToSourceBSS-TransparentContainer.o \ S1ap-TargetBSS-ToSourceBSS-TransparentContainer.o \
TimeToWait.o \ S1ap-TimeToWait.o \
Time-UE-StayedInCell.o \ S1ap-Time-UE-StayedInCell.o \
TransportLayerAddress.o \ S1ap-TransportLayerAddress.o \
TraceActivation.o \ S1ap-TraceActivation.o \
TraceDepth.o \ S1ap-TraceDepth.o \
E-UTRAN-Trace-ID.o \ S1ap-E-UTRAN-Trace-ID.o \
TypeOfError.o \ S1ap-TypeOfError.o \
UEAggregateMaximumBitrate.o \ S1ap-UEAggregateMaximumBitrate.o \
UE-S1AP-IDs.o \ S1ap-UE-S1AP-IDs.o \
UE-S1AP-ID-pair.o \ S1ap-UE-S1AP-ID-pair.o \
UE-associatedLogicalS1-ConnectionListRes.o \ S1ap-UE-associatedLogicalS1-ConnectionListRes.o \
UE-associatedLogicalS1-ConnectionListResAck.o \ S1ap-UE-associatedLogicalS1-ConnectionListResAck.o \
UE-associatedLogicalS1-ConnectionItem.o \ S1ap-UE-associatedLogicalS1-ConnectionItem.o \
UEIdentityIndexValue.o \ S1ap-UEIdentityIndexValue.o \
UE-HistoryInformation.o \ S1ap-UE-HistoryInformation.o \
UEPagingID.o \ S1ap-UEPagingID.o \
UERadioCapability.o \ S1ap-UERadioCapability.o \
UESecurityCapabilities.o \ S1ap-UESecurityCapabilities.o \
WarningAreaList.o \ S1ap-WarningAreaList.o \
WarningType.o \ S1ap-WarningType.o \
WarningSecurityInfo.o \ S1ap-WarningSecurityInfo.o \
WarningMessageContents.o \ S1ap-WarningMessageContents.o \
X2TNLConfigurationInfo.o \ S1ap-X2TNLConfigurationInfo.o \
S1AP-PDU.o \ S1AP-PDU.o \
InitiatingMessage.o \ S1ap-InitiatingMessage.o \
SuccessfulOutcome.o \ S1ap-SuccessfulOutcome.o \
UnsuccessfulOutcome.o \ S1ap-UnsuccessfulOutcome.o \
HandoverRequired.o \ S1ap-HandoverRequired.o \
HandoverCommand.o \ S1ap-HandoverCommand.o \
HandoverPreparationFailure.o \ S1ap-HandoverPreparationFailure.o \
HandoverRequest.o \ S1ap-HandoverRequest.o \
HandoverRequestAcknowledge.o \ S1ap-HandoverRequestAcknowledge.o \
HandoverFailure.o \ S1ap-HandoverFailure.o \
HandoverNotify.o \ S1ap-HandoverNotify.o \
PathSwitchRequest.o \ S1ap-PathSwitchRequest.o \
PathSwitchRequestAcknowledge.o \ S1ap-PathSwitchRequestAcknowledge.o \
PathSwitchRequestFailure.o \ S1ap-PathSwitchRequestFailure.o \
E-RABSetupRequest.o \ S1ap-E-RABSetupRequest.o \
E-RABSetupResponse.o \ S1ap-E-RABSetupResponse.o \
E-RABModifyRequest.o \ S1ap-E-RABModifyRequest.o \
E-RABModifyResponse.o \ S1ap-E-RABModifyResponse.o \
E-RABReleaseIndication.o \ S1ap-E-RABReleaseIndication.o \
E-RABReleaseCommand.o \ S1ap-E-RABReleaseCommand.o \
E-RABReleaseResponse.o \ S1ap-E-RABReleaseResponse.o \
InitialContextSetupRequest.o \ S1ap-InitialContextSetupRequest.o \
InitialContextSetupResponse.o \ S1ap-InitialContextSetupResponse.o \
InitialContextSetupFailure.o \ S1ap-InitialContextSetupFailure.o \
UEContextReleaseRequest.o \ S1ap-UEContextReleaseRequest.o \
Paging.o \ S1ap-Paging.o \
DownlinkNASTransport.o \ S1ap-DownlinkNASTransport.o \
InitialUEMessage.o \ S1ap-InitialUEMessage.o \
UplinkNASTransport.o \ S1ap-UplinkNASTransport.o \
NASNonDeliveryIndication.o \ S1ap-NASNonDeliveryIndication.o \
HandoverCancel.o \ S1ap-HandoverCancel.o \
HandoverCancelAcknowledge.o \ S1ap-HandoverCancelAcknowledge.o \
Reset.o \ S1ap-Reset.o \
ResetAcknowledge.o \ S1ap-ResetAcknowledge.o \
S1SetupResponse.o \ S1ap-S1SetupResponse.o \
S1SetupRequest.o \ S1ap-S1SetupRequest.o \
S1SetupFailure.o \ S1ap-S1SetupFailure.o \
ErrorIndication.o \ S1ap-ErrorIndication.o \
ENBConfigurationUpdate.o \ S1ap-ENBConfigurationUpdate.o \
ENBConfigurationUpdateAcknowledge.o \ S1ap-ENBConfigurationUpdateAcknowledge.o \
ENBConfigurationUpdateFailure.o \ S1ap-ENBConfigurationUpdateFailure.o \
MMEConfigurationUpdate.o \ S1ap-MMEConfigurationUpdate.o \
MMEConfigurationUpdateAcknowledge.o \ S1ap-MMEConfigurationUpdateAcknowledge.o \
MMEConfigurationUpdateFailure.o \ S1ap-MMEConfigurationUpdateFailure.o \
DownlinkS1cdma2000tunneling.o \ S1ap-DownlinkS1cdma2000tunneling.o \
UplinkS1cdma2000tunneling.o \ S1ap-UplinkS1cdma2000tunneling.o \
UEContextModificationRequest.o \ S1ap-UEContextModificationRequest.o \
UEContextModificationResponse.o \ S1ap-UEContextModificationResponse.o \
UEContextModificationFailure.o \ S1ap-UEContextModificationFailure.o \
UECapabilityInfoIndication.o \ S1ap-UECapabilityInfoIndication.o \
UEContextReleaseCommand.o \ S1ap-UEContextReleaseCommand.o \
UEContextReleaseComplete.o \ S1ap-UEContextReleaseComplete.o \
ENBStatusTransfer.o \ S1ap-ENBStatusTransfer.o \
MMEStatusTransfer.o \ S1ap-MMEStatusTransfer.o \
DeactivateTrace.o \ S1ap-DeactivateTrace.o \
TraceStart.o \ S1ap-TraceStart.o \
TraceFailureIndication.o \ S1ap-TraceFailureIndication.o \
CellTrafficTrace.o \ S1ap-CellTrafficTrace.o \
LocationReportingControl.o \ S1ap-LocationReportingControl.o \
LocationReportingFailureIndication.o \ S1ap-LocationReportingFailureIndication.o \
LocationReport.o \ S1ap-LocationReport.o \
OverloadStart.o \ S1ap-OverloadStart.o \
OverloadStop.o \ S1ap-OverloadStop.o \
WriteReplaceWarningRequest.o \ S1ap-WriteReplaceWarningRequest.o \
WriteReplaceWarningResponse.o \ S1ap-WriteReplaceWarningResponse.o \
ENBDirectInformationTransfer.o \ S1ap-ENBDirectInformationTransfer.o \
MMEDirectInformationTransfer.o \ S1ap-MMEDirectInformationTransfer.o \
ENBConfigurationTransfer.o \ S1ap-ENBConfigurationTransfer.o \
MMEConfigurationTransfer.o \ S1ap-MMEConfigurationTransfer.o \
PrivateMessage.o \ S1ap-PrivateMessage.o \
IE.o S1ap-IE.o
S1AP_ASN_MODULE_HEADERS= \ S1AP_ASN_MODULE_HEADERS= \
Criticality.h \ S1ap-Criticality.h \
Presence.h \ S1ap-Presence.h \
PrivateIE-ID.h \ S1ap-PrivateIE-ID.h \
ProcedureCode.h \ S1ap-ProcedureCode.h \
ProtocolExtensionID.h \ S1ap-ProtocolExtensionID.h \
ProtocolIE-ID.h \ S1ap-ProtocolIE-ID.h \
TriggeringMessage.h \ S1ap-TriggeringMessage.h \
IE-Extensions.h \ S1ap-IE-Extensions.h \
AllocationAndRetentionPriority.h \ S1ap-AllocationAndRetentionPriority.h \
Bearers-SubjectToStatusTransfer-List.h \ S1ap-Bearers-SubjectToStatusTransfer-List.h \
Bearers-SubjectToStatusTransfer-Item.h \ S1ap-Bearers-SubjectToStatusTransfer-Item.h \
BitRate.h \ S1ap-BitRate.h \
BPLMNs.h \ S1ap-BPLMNs.h \
BroadcastCompletedAreaList.h \ S1ap-BroadcastCompletedAreaList.h \
Cause.h \ S1ap-Cause.h \
CauseMisc.h \ S1ap-CauseMisc.h \
CauseProtocol.h \ S1ap-CauseProtocol.h \
CauseRadioNetwork.h \ S1ap-CauseRadioNetwork.h \
CauseTransport.h \ S1ap-CauseTransport.h \
CauseNas.h \ S1ap-CauseNas.h \
CellIdentity.h \ S1ap-CellIdentity.h \
CellID-Broadcast.h \ S1ap-CellID-Broadcast.h \
CellID-Broadcast-Item.h \ S1ap-CellID-Broadcast-Item.h \
Cdma2000PDU.h \ S1ap-Cdma2000PDU.h \
Cdma2000RATType.h \ S1ap-Cdma2000RATType.h \
Cdma2000SectorID.h \ S1ap-Cdma2000SectorID.h \
Cdma2000HOStatus.h \ S1ap-Cdma2000HOStatus.h \
Cdma2000HORequiredIndication.h \ S1ap-Cdma2000HORequiredIndication.h \
Cdma2000OneXSRVCCInfo.h \ S1ap-Cdma2000OneXSRVCCInfo.h \
Cdma2000OneXMEID.h \ S1ap-Cdma2000OneXMEID.h \
Cdma2000OneXMSI.h \ S1ap-Cdma2000OneXMSI.h \
Cdma2000OneXPilot.h \ S1ap-Cdma2000OneXPilot.h \
Cdma2000OneXRAND.h \ S1ap-Cdma2000OneXRAND.h \
Cell-Size.h \ S1ap-Cell-Size.h \
CellType.h \ S1ap-CellType.h \
CGI.h \ S1ap-CGI.h \
CI.h \ S1ap-CI.h \
CNDomain.h \ S1ap-CNDomain.h \
CSFallbackIndicator.h \ S1ap-CSFallbackIndicator.h \
CSG-Id.h \ S1ap-CSG-Id.h \
CSG-IdList.h \ S1ap-CSG-IdList.h \
CSG-IdList-Item.h \ S1ap-CSG-IdList-Item.h \
COUNTvalue.h \ S1ap-COUNTvalue.h \
CriticalityDiagnostics.h \ S1ap-CriticalityDiagnostics.h \
CriticalityDiagnostics-IE-List.h \ S1ap-CriticalityDiagnostics-IE-List.h \
CriticalityDiagnostics-IE-Item.h \ S1ap-CriticalityDiagnostics-IE-Item.h \
DataCodingScheme.h \ S1ap-DataCodingScheme.h \
DL-Forwarding.h \ S1ap-DL-Forwarding.h \
Direct-Forwarding-Path-Availability.h \ S1ap-Direct-Forwarding-Path-Availability.h \
E-RABToBeModifiedListBearerModReq.h \ S1ap-E-RABToBeModifiedListBearerModReq.h \
E-RABToBeModifiedItemBearerModReqIEs.h \ S1ap-E-RABToBeModifiedItemBearerModReqIEs.h \
E-RABToBeModifiedItemBearerModReq.h \ S1ap-E-RABToBeModifiedItemBearerModReq.h \
E-RABReleaseListBearerRelComp.h \ S1ap-E-RABReleaseListBearerRelComp.h \
E-RABReleaseItemBearerRelCompIEs.h \ S1ap-E-RABReleaseItemBearerRelCompIEs.h \
E-RABReleaseItemBearerRelComp.h \ S1ap-E-RABReleaseItemBearerRelComp.h \
E-RABSubjecttoDataForwardingList.h \ S1ap-E-RABSubjecttoDataForwardingList.h \
E-RABDataForwardingList.h \ S1ap-E-RABDataForwardingList.h \
E-RABDataForwardingItemIEs.h \ S1ap-E-RABDataForwardingItemIEs.h \
E-RABDataForwardingItem.h \ S1ap-E-RABDataForwardingItem.h \
E-RABToBeSetupListCtxtSUReq.h \ S1ap-E-RABToBeSetupListCtxtSUReq.h \
E-RABToBeSetupItemCtxtSUReqIEs.h \ S1ap-E-RABToBeSetupItemCtxtSUReqIEs.h \
E-RABToBeSetupItemCtxtSUReq.h \ S1ap-E-RABToBeSetupItemCtxtSUReq.h \
E-RABSetupListBearerSURes.h \ S1ap-E-RABSetupListBearerSURes.h \
E-RABSetupItemBearerSUResIEs.h \ S1ap-E-RABSetupItemBearerSUResIEs.h \
E-RABSetupItemBearerSURes.h \ S1ap-E-RABSetupItemBearerSURes.h \
E-RABFailedToSetupListHOReqAck.h \ S1ap-E-RABFailedToSetupListHOReqAck.h \
E-RABFailedToSetupItemHOReqAckIEs.h \ S1ap-E-RABFailedToSetupItemHOReqAckIEs.h \
E-RABFailedToSetupItemHOReqAck.h \ S1ap-E-RABFailedToSetupItemHOReqAck.h \
E-RABToBeSetupListBearerSUReq.h \ S1ap-E-RABToBeSetupListBearerSUReq.h \
E-RABToBeSetupItemBearerSUReqIEs.h \ S1ap-E-RABToBeSetupItemBearerSUReqIEs.h \
E-RABToBeSetupItemBearerSUReq.h \ S1ap-E-RABToBeSetupItemBearerSUReq.h \
E-RABAdmittedList.h \ S1ap-E-RABAdmittedList.h \
E-RABAdmittedItemIEs.h \ S1ap-E-RABAdmittedItemIEs.h \
E-RABAdmittedItem.h \ S1ap-E-RABAdmittedItem.h \
E-RABToBeSwitchedDLList.h \ S1ap-E-RABToBeSwitchedDLList.h \
E-RABToBeSwitchedDLListIEs.h \ S1ap-E-RABToBeSwitchedDLListIEs.h \
E-RABToBeSwitchedDLItem.h \ S1ap-E-RABToBeSwitchedDLItem.h \
E-RABToBeSwitchedULList.h \ S1ap-E-RABToBeSwitchedULList.h \
E-RABToBeSwitchedULItemIEs.h \ S1ap-E-RABToBeSwitchedULItemIEs.h \
E-RABToBeSwitchedULItem.h \ S1ap-E-RABToBeSwitchedULItem.h \
E-RABModifyListBearerModRes.h \ S1ap-E-RABModifyListBearerModRes.h \
E-RABModifyItemBearerModResIEs.h \ S1ap-E-RABModifyItemBearerModResIEs.h \
E-RABModifyItemBearerModRes.h \ S1ap-E-RABModifyItemBearerModRes.h \
E-RABSetupListCtxtSURes.h \ S1ap-E-RABSetupListCtxtSURes.h \
E-RABSetupListCtxtSUResIEs.h \ S1ap-E-RABSetupListCtxtSUResIEs.h \
E-RABSetupItemCtxtSURes.h \ S1ap-E-RABSetupItemCtxtSURes.h \
E-RABToBeSetupListHOReq.h \ S1ap-E-RABToBeSetupListHOReq.h \
E-RABToBeSetupListHOReqIEs.h \ S1ap-E-RABToBeSetupListHOReqIEs.h \
E-RABToBeSetupItemHOReq.h \ S1ap-E-RABToBeSetupItemHOReq.h \
ECGIList.h \ S1ap-ECGIList.h \
EmergencyAreaIDList.h \ S1ap-EmergencyAreaIDList.h \
EmergencyAreaID.h \ S1ap-EmergencyAreaID.h \
EmergencyAreaID-Broadcast.h \ S1ap-EmergencyAreaID-Broadcast.h \
EmergencyAreaID-Broadcast-Item.h \ S1ap-EmergencyAreaID-Broadcast-Item.h \
CompletedCellinEAI.h \ S1ap-CompletedCellinEAI.h \
CompletedCellinEAI-Item.h \ S1ap-CompletedCellinEAI-Item.h \
ENB-ID.h \ S1ap-ENB-ID.h \
GERAN-Cell-ID.h \ S1ap-GERAN-Cell-ID.h \
Global-ENB-ID.h \ S1ap-Global-ENB-ID.h \
ENB-StatusTransfer-TransparentContainer.h \ S1ap-ENB-StatusTransfer-TransparentContainer.h \
ENB-UE-S1AP-ID.h \ S1ap-ENB-UE-S1AP-ID.h \
ENBname.h \ S1ap-ENBname.h \
ENBX2TLAs.h \ S1ap-ENBX2TLAs.h \
EncryptionAlgorithms.h \ S1ap-EncryptionAlgorithms.h \
EPLMNs.h \ S1ap-EPLMNs.h \
EventType.h \ S1ap-EventType.h \
E-RAB-ID.h \ S1ap-E-RAB-ID.h \
E-RABInformationList.h \ S1ap-E-RABInformationList.h \
E-RABInformationListItem.h \ S1ap-E-RABInformationListItem.h \
E-RABList.h \ S1ap-E-RABList.h \
E-RABItem.h \ S1ap-E-RABItem.h \
E-RABLevelQoSParameters.h \ S1ap-E-RABLevelQoSParameters.h \
EUTRAN-CGI.h \ S1ap-EUTRAN-CGI.h \
ExtendedRNC-ID.h \ S1ap-ExtendedRNC-ID.h \
ForbiddenInterRATs.h \ S1ap-ForbiddenInterRATs.h \
ForbiddenTAs.h \ S1ap-ForbiddenTAs.h \
ForbiddenTAs-Item.h \ S1ap-ForbiddenTAs-Item.h \
ForbiddenTACs.h \ S1ap-ForbiddenTACs.h \
ForbiddenLAs.h \ S1ap-ForbiddenLAs.h \
ForbiddenLAs-Item.h \ S1ap-ForbiddenLAs-Item.h \
ForbiddenLACs.h \ S1ap-ForbiddenLACs.h \
GBR-QosInformation.h \ S1ap-GBR-QosInformation.h \
GTP-TEID.h \ S1ap-GTP-TEID.h \
GUMMEI.h \ S1ap-GUMMEI.h \
HandoverRestrictionList.h \ S1ap-HandoverRestrictionList.h \
HandoverType.h \ S1ap-HandoverType.h \
HFN.h \ S1ap-HFN.h \
HandoverNotify.h \ S1ap-HandoverNotify.h \
Inter-SystemInformationTransferType.h \ S1ap-Inter-SystemInformationTransferType.h \
IMSI.h \ S1ap-IMSI.h \
IntegrityProtectionAlgorithms.h \ S1ap-IntegrityProtectionAlgorithms.h \
InterfacesToTrace.h \ S1ap-InterfacesToTrace.h \
LAC.h \ S1ap-LAC.h \
LAI.h \ S1ap-LAI.h \
LastVisitedCell-Item.h \ S1ap-LastVisitedCell-Item.h \
LastVisitedEUTRANCellInformation.h \ S1ap-LastVisitedEUTRANCellInformation.h \
LastVisitedUTRANCellInformation.h \ S1ap-LastVisitedUTRANCellInformation.h \
LastVisitedGERANCellInformation.h \ S1ap-LastVisitedGERANCellInformation.h \
L3-Information.h \ S1ap-L3-Information.h \
MessageIdentifier.h \ S1ap-MessageIdentifier.h \
MMEname.h \ S1ap-MMEname.h \
MME-Group-ID.h \ S1ap-MME-Group-ID.h \
MME-Code.h \ S1ap-MME-Code.h \
MME-UE-S1AP-ID.h \ S1ap-MME-UE-S1AP-ID.h \
M-TMSI.h \ S1ap-M-TMSI.h \
MSClassmark2.h \ S1ap-MSClassmark2.h \
MSClassmark3.h \ S1ap-MSClassmark3.h \
NAS-PDU.h \ S1ap-NAS-PDU.h \
NASSecurityParametersfromE-UTRAN.h \ S1ap-NASSecurityParametersfromE-UTRAN.h \
NASSecurityParameterstoE-UTRAN.h \ S1ap-NASSecurityParameterstoE-UTRAN.h \
NumberofBroadcastRequest.h \ S1ap-NumberofBroadcastRequest.h \
NumberOfBroadcasts.h \ S1ap-NumberOfBroadcasts.h \
OldBSS-ToNewBSS-Information.h \ S1ap-OldBSS-ToNewBSS-Information.h \
OverloadAction.h \ S1ap-OverloadAction.h \
OverloadResponse.h \ S1ap-OverloadResponse.h \
PagingDRX.h \ S1ap-PagingDRX.h \
PDCP-SN.h \ S1ap-PDCP-SN.h \
PLMNidentity.h \ S1ap-PLMNidentity.h \
Pre-emptionCapability.h \ S1ap-Pre-emptionCapability.h \
Pre-emptionVulnerability.h \ S1ap-Pre-emptionVulnerability.h \
PriorityLevel.h \ S1ap-PriorityLevel.h \
QCI.h \ S1ap-QCI.h \
ReceiveStatusofULPDCPSDUs.h \ S1ap-ReceiveStatusofULPDCPSDUs.h \
RelativeMMECapacity.h \ S1ap-RelativeMMECapacity.h \
RAC.h \ S1ap-RAC.h \
RequestType.h \ S1ap-RequestType.h \
ResetType.h \ S1ap-ResetType.h \
ResetAll.h \ S1ap-ResetAll.h \
RIMTransfer.h \ S1ap-RIMTransfer.h \
RIMInformation.h \ S1ap-RIMInformation.h \
RIMRoutingAddress.h \ S1ap-RIMRoutingAddress.h \
ReportArea.h \ S1ap-ReportArea.h \
RepetitionPeriod.h \ S1ap-RepetitionPeriod.h \
RNC-ID.h \ S1ap-RNC-ID.h \
RRC-Container.h \ S1ap-RRC-Container.h \
RRC-Establishment-Cause.h \ S1ap-RRC-Establishment-Cause.h \
SecurityKey.h \ S1ap-SecurityKey.h \
SecurityContext.h \ S1ap-SecurityContext.h \
SerialNumber.h \ S1ap-SerialNumber.h \
SONInformation.h \ S1ap-SONInformation.h \
SONInformationRequest.h \ S1ap-SONInformationRequest.h \
SONInformationReply.h \ S1ap-SONInformationReply.h \
SONConfigurationTransfer.h \ S1ap-SONConfigurationTransfer.h \
Source-ToTarget-TransparentContainer.h \ S1ap-Source-ToTarget-TransparentContainer.h \
SourceBSS-ToTargetBSS-TransparentContainer.h \ S1ap-SourceBSS-ToTargetBSS-TransparentContainer.h \
SourceeNB-ID.h \ S1ap-SourceeNB-ID.h \
SRVCCOperationPossible.h \ S1ap-SRVCCOperationPossible.h \
SRVCCHOIndication.h \ S1ap-SRVCCHOIndication.h \
SourceeNB-ToTargeteNB-TransparentContainer.h \ S1ap-SourceeNB-ToTargeteNB-TransparentContainer.h \
SourceRNC-ToTargetRNC-TransparentContainer.h \ S1ap-SourceRNC-ToTargetRNC-TransparentContainer.h \
ServedGUMMEIs.h \ S1ap-ServedGUMMEIs.h \
ServedGUMMEIsItem.h \ S1ap-ServedGUMMEIsItem.h \
ServedGroupIDs.h \ S1ap-ServedGroupIDs.h \
ServedMMECs.h \ S1ap-ServedMMECs.h \
ServedPLMNs.h \ S1ap-ServedPLMNs.h \
SubscriberProfileIDforRFP.h \ S1ap-SubscriberProfileIDforRFP.h \
SupportedTAs.h \ S1ap-SupportedTAs.h \
SupportedTAs-Item.h \ S1ap-SupportedTAs-Item.h \
S-TMSI.h \ S1ap-S-TMSI.h \
TAC.h \ S1ap-TAC.h \
TAIListforWarning.h \ S1ap-TAIListforWarning.h \
TAIList.h \ S1ap-TAIList.h \
TAIItem.h \ S1ap-TAIItem.h \
TAI.h \ S1ap-TAI.h \
TAI-Broadcast.h \ S1ap-TAI-Broadcast.h \
TAI-Broadcast-Item.h \ S1ap-TAI-Broadcast-Item.h \
CompletedCellinTAI.h \ S1ap-CompletedCellinTAI.h \
CompletedCellinTAI-Item.h \ S1ap-CompletedCellinTAI-Item.h \
TBCD-STRING.h \ S1ap-TBCD-STRING.h \
TargetID.h \ S1ap-TargetID.h \
TargeteNB-ID.h \ S1ap-TargeteNB-ID.h \
TargetRNC-ID.h \ S1ap-TargetRNC-ID.h \
TargeteNB-ToSourceeNB-TransparentContainer.h \ S1ap-TargeteNB-ToSourceeNB-TransparentContainer.h \
Target-ToSource-TransparentContainer.h \ S1ap-Target-ToSource-TransparentContainer.h \
TargetRNC-ToSourceRNC-TransparentContainer.h \ S1ap-TargetRNC-ToSourceRNC-TransparentContainer.h \
TargetBSS-ToSourceBSS-TransparentContainer.h \ S1ap-TargetBSS-ToSourceBSS-TransparentContainer.h \
TimeToWait.h \ S1ap-TimeToWait.h \
Time-UE-StayedInCell.h \ S1ap-Time-UE-StayedInCell.h \
TransportLayerAddress.h \ S1ap-TransportLayerAddress.h \
TraceActivation.h \ S1ap-TraceActivation.h \
TraceDepth.h \ S1ap-TraceDepth.h \
E-UTRAN-Trace-ID.h \ S1ap-E-UTRAN-Trace-ID.h \
TypeOfError.h \ S1ap-TypeOfError.h \
UEAggregateMaximumBitrate.h \ S1ap-UEAggregateMaximumBitrate.h \
UE-S1AP-IDs.h \ S1ap-UE-S1AP-IDs.h \
UE-S1AP-ID-pair.h \ S1ap-UE-S1AP-ID-pair.h \
UE-associatedLogicalS1-ConnectionListRes.h \ S1ap-UE-associatedLogicalS1-ConnectionListRes.h \
UE-associatedLogicalS1-ConnectionListResAck.h \ S1ap-UE-associatedLogicalS1-ConnectionListResAck.h \
UE-associatedLogicalS1-ConnectionItem.h \ S1ap-UE-associatedLogicalS1-ConnectionItem.h \
UEIdentityIndexValue.h \ S1ap-UEIdentityIndexValue.h \
UE-HistoryInformation.h \ S1ap-UE-HistoryInformation.h \
UEPagingID.h \ S1ap-UEPagingID.h \
UERadioCapability.h \ S1ap-UERadioCapability.h \
UESecurityCapabilities.h \ S1ap-UESecurityCapabilities.h \
WarningAreaList.h \ S1ap-WarningAreaList.h \
WarningType.h \ S1ap-WarningType.h \
WarningSecurityInfo.h \ S1ap-WarningSecurityInfo.h \
WarningMessageContents.h \ S1ap-WarningMessageContents.h \
X2TNLConfigurationInfo.h \ S1ap-X2TNLConfigurationInfo.h \
S1AP-PDU.h \ S1AP-PDU.h \
InitiatingMessage.h \ S1ap-InitiatingMessage.h \
SuccessfulOutcome.h \ S1ap-SuccessfulOutcome.h \
UnsuccessfulOutcome.h \ S1ap-UnsuccessfulOutcome.h \
HandoverRequired.h \ S1ap-HandoverRequired.h \
HandoverCommand.h \ S1ap-HandoverCommand.h \
HandoverPreparationFailure.h \ S1ap-HandoverPreparationFailure.h \
HandoverRequest.h \ S1ap-HandoverRequest.h \
HandoverRequestAcknowledge.h \ S1ap-HandoverRequestAcknowledge.h \
HandoverFailure.h \ S1ap-HandoverFailure.h \
HandoverNotify.h \ S1ap-HandoverNotify.h \
PathSwitchRequest.h \ S1ap-PathSwitchRequest.h \
PathSwitchRequestAcknowledge.h \ S1ap-PathSwitchRequestAcknowledge.h \
PathSwitchRequestFailure.h \ S1ap-PathSwitchRequestFailure.h \
E-RABSetupRequest.h \ S1ap-E-RABSetupRequest.h \
E-RABSetupResponse.h \ S1ap-E-RABSetupResponse.h \
E-RABModifyRequest.h \ S1ap-E-RABModifyRequest.h \
E-RABModifyResponse.h \ S1ap-E-RABModifyResponse.h \
E-RABReleaseIndication.h \ S1ap-E-RABReleaseIndication.h \
E-RABReleaseCommand.h \ S1ap-E-RABReleaseCommand.h \
E-RABReleaseResponse.h \ S1ap-E-RABReleaseResponse.h \
InitialContextSetupRequest.h \ S1ap-InitialContextSetupRequest.h \
InitialContextSetupResponse.h \ S1ap-InitialContextSetupResponse.h \
InitialContextSetupFailure.h \ S1ap-InitialContextSetupFailure.h \
UEContextReleaseRequest.h \ S1ap-UEContextReleaseRequest.h \
Paging.h \ S1ap-Paging.h \
DownlinkNASTransport.h \ S1ap-DownlinkNASTransport.h \
InitialUEMessage.h \ S1ap-InitialUEMessage.h \
UplinkNASTransport.h \ S1ap-UplinkNASTransport.h \
NASNonDeliveryIndication.h \ S1ap-NASNonDeliveryIndication.h \
HandoverCancel.h \ S1ap-HandoverCancel.h \
HandoverCancelAcknowledge.h \ S1ap-HandoverCancelAcknowledge.h \
Reset.h \ S1ap-Reset.h \
ResetAcknowledge.h \ S1ap-ResetAcknowledge.h \
S1SetupResponse.h \ S1ap-S1SetupResponse.h \
S1SetupRequest.h \ S1ap-S1SetupRequest.h \
S1SetupFailure.h \ S1ap-S1SetupFailure.h \
ErrorIndication.h \ S1ap-ErrorIndication.h \
ENBConfigurationUpdate.h \ S1ap-ENBConfigurationUpdate.h \
ENBConfigurationUpdateAcknowledge.h \ S1ap-ENBConfigurationUpdateAcknowledge.h \
ENBConfigurationUpdateFailure.h \ S1ap-ENBConfigurationUpdateFailure.h \
MMEConfigurationUpdate.h \ S1ap-MMEConfigurationUpdate.h \
MMEConfigurationUpdateAcknowledge.h \ S1ap-MMEConfigurationUpdateAcknowledge.h \
MMEConfigurationUpdateFailure.h \ S1ap-MMEConfigurationUpdateFailure.h \
DownlinkS1cdma2000tunneling.h \ S1ap-DownlinkS1cdma2000tunneling.h \
UplinkS1cdma2000tunneling.h \ S1ap-UplinkS1cdma2000tunneling.h \
UEContextModificationRequest.h \ S1ap-UEContextModificationRequest.h \
UEContextModificationResponse.h \ S1ap-UEContextModificationResponse.h \
UEContextModificationFailure.h \ S1ap-UEContextModificationFailure.h \
UECapabilityInfoIndication.h \ S1ap-UECapabilityInfoIndication.h \
UEContextReleaseCommand.h \ S1ap-UEContextReleaseCommand.h \
UEContextReleaseComplete.h \ S1ap-UEContextReleaseComplete.h \
ENBStatusTransfer.h \ S1ap-ENBStatusTransfer.h \
MMEStatusTransfer.h \ S1ap-MMEStatusTransfer.h \
DeactivateTrace.h \ S1ap-DeactivateTrace.h \
TraceStart.h \ S1ap-TraceStart.h \
TraceFailureIndication.h \ S1ap-TraceFailureIndication.h \
CellTrafficTrace.h \ S1ap-CellTrafficTrace.h \
LocationReportingControl.h \ S1ap-LocationReportingControl.h \
LocationReportingFailureIndication.h \ S1ap-LocationReportingFailureIndication.h \
LocationReport.h \ S1ap-LocationReport.h \
OverloadStart.h \ S1ap-OverloadStart.h \
OverloadStop.h \ S1ap-OverloadStop.h \
WriteReplaceWarningRequest.h \ S1ap-WriteReplaceWarningRequest.h \
WriteReplaceWarningResponse.h \ S1ap-WriteReplaceWarningResponse.h \
ENBDirectInformationTransfer.h \ S1ap-ENBDirectInformationTransfer.h \
MMEDirectInformationTransfer.h \ S1ap-MMEDirectInformationTransfer.h \
ENBConfigurationTransfer.h \ S1ap-ENBConfigurationTransfer.h \
MMEConfigurationTransfer.h \ S1ap-MMEConfigurationTransfer.h \
PrivateMessage.h \ S1ap-PrivateMessage.h \
IE.h S1ap-IE.h
ifdef UPDATE_RELEASE_9 ifdef UPDATE_RELEASE_9
S1AP_ASN_MODULE_SOURCES += \ S1AP_ASN_MODULE_SOURCES += \
KillResponse.o \ S1ap-KillResponse.o \
KillRequest.o \ S1ap-KillRequest.o \
Data-Forwarding-Not-Possible.o \ S1ap-Data-Forwarding-Not-Possible.o \
DownlinkUEAssociatedLPPaTransport.o \ S1ap-DownlinkUEAssociatedLPPaTransport.o \
UplinkUEAssociatedLPPaTransport.o \ S1ap-UplinkUEAssociatedLPPaTransport.o \
DownlinkNonUEAssociatedLPPaTransport.o \ S1ap-DownlinkNonUEAssociatedLPPaTransport.o \
UplinkNonUEAssociatedLPPaTransport.o \ S1ap-UplinkNonUEAssociatedLPPaTransport.o \
TAI-Cancelled.o \ S1ap-TAI-Cancelled.o \
TAI-Cancelled-Item.o \ S1ap-TAI-Cancelled-Item.o \
StratumLevel.o \ S1ap-StratumLevel.o \
SynchronizationStatus.o \ S1ap-SynchronizationStatus.o \
TimeSynchronizationInfo.o \ S1ap-TimeSynchronizationInfo.o \
Routing-ID.o \ S1ap-Routing-ID.o \
PS-ServiceNotAvailable.o \ S1ap-PS-ServiceNotAvailable.o \
LPPa-PDU.o \ S1ap-LPPa-PDU.o \
ExtendedRepetitionPeriod.o \ S1ap-ExtendedRepetitionPeriod.o \
EUTRANRoundTripDelayEstimationInfo.o \ S1ap-EUTRANRoundTripDelayEstimationInfo.o \
EmergencyAreaID-Cancelled.o \ S1ap-EmergencyAreaID-Cancelled.o \
EmergencyAreaID-Cancelled-Item.o \ S1ap-EmergencyAreaID-Cancelled-Item.o \
CSGMembershipStatus.o \ S1ap-CSGMembershipStatus.o \
ConcurrentWarningMessageIndicator.o \ S1ap-ConcurrentWarningMessageIndicator.o \
CellID-Cancelled.o \ S1ap-CellID-Cancelled.o \
CellID-Cancelled-Item.o \ S1ap-CellID-Cancelled-Item.o \
CellAccessMode.o \ S1ap-CellAccessMode.o \
CancelledCellinEAI.o \ S1ap-CancelledCellinEAI.o \
CancelledCellinEAI-Item.o \ S1ap-CancelledCellinEAI-Item.o \
CancelledCellinTAI.o \ S1ap-CancelledCellinTAI.o \
CancelledCellinTAI-Item.o \ S1ap-CancelledCellinTAI-Item.o \
BroadcastCancelledAreaList.o S1ap-BroadcastCancelledAreaList.o
S1AP_ASN_MODULE_HEADERS += \ S1AP_ASN_MODULE_HEADERS += \
BroadcastCancelledAreaList.h \ S1ap-BroadcastCancelledAreaList.h \
CancelledCellinEAI.h \ S1ap-CancelledCellinEAI.h \
CancelledCellinEAI-Item.h \ S1ap-CancelledCellinEAI-Item.h \
CancelledCellinTAI.h \ S1ap-CancelledCellinTAI.h \
CancelledCellinTAI-Item.h \ S1ap-CancelledCellinTAI-Item.h \
CellAccessMode.h \ S1ap-CellAccessMode.h \
CellID-Cancelled.h \ S1ap-CellID-Cancelled.h \
CellID-Cancelled-Item.h \ S1ap-CellID-Cancelled-Item.h \
ConcurrentWarningMessageIndicator.h \ S1ap-ConcurrentWarningMessageIndicator.h \
CSGMembershipStatus.h \ S1ap-CSGMembershipStatus.h \
Data-Forwarding-Not-Possible.h \ S1ap-Data-Forwarding-Not-Possible.h \
EmergencyAreaID-Cancelled.h \ S1ap-EmergencyAreaID-Cancelled.h \
EmergencyAreaID-Cancelled-Item.h \ S1ap-EmergencyAreaID-Cancelled-Item.h \
E-RABList.h \ S1ap-E-RABList.h \
EUTRANRoundTripDelayEstimationInfo.h \ S1ap-EUTRANRoundTripDelayEstimationInfo.h \
ExtendedRepetitionPeriod.h \ S1ap-ExtendedRepetitionPeriod.h \
LPPa-PDU.h \ S1ap-LPPa-PDU.h \
PS-ServiceNotAvailable.h \ S1ap-PS-ServiceNotAvailable.h \
Routing-ID.h \ S1ap-Routing-ID.h \
StratumLevel.h \ S1ap-StratumLevel.h \
SynchronizationStatus.h \ S1ap-SynchronizationStatus.h \
TimeSynchronizationInfo.h \ S1ap-TimeSynchronizationInfo.h \
TAI-Cancelled.h \ S1ap-TAI-Cancelled.h \
TAI-Cancelled-Item.h \ S1ap-TAI-Cancelled-Item.h \
KillResponse.h \ S1ap-KillResponse.h \
KillRequest.h \ S1ap-KillRequest.h \
DownlinkUEAssociatedLPPaTransport.h \ S1ap-DownlinkUEAssociatedLPPaTransport.h \
UplinkUEAssociatedLPPaTransport.h \ S1ap-UplinkUEAssociatedLPPaTransport.h \
DownlinkNonUEAssociatedLPPaTransport.h \ S1ap-DownlinkNonUEAssociatedLPPaTransport.h \
UplinkNonUEAssociatedLPPaTransport.h S1ap-UplinkNonUEAssociatedLPPaTransport.h
endif endif
ifdef UPDATE_RELEASE_10 ifdef UPDATE_RELEASE_10
S1AP_ASN_MODULE_SOURCES += \ S1AP_ASN_MODULE_SOURCES += \
PagingPriority.o \ S1ap-PagingPriority.o \
RelayNode-Indicator.o \ S1ap-RelayNode-Indicator.o \
GWContextReleaseIndication.o \ S1ap-GWContextReleaseIndication.o \
MMERelaySupportIndicator.o \ S1ap-MMERelaySupportIndicator.o \
ManagementBasedMDTAllowed.o \ S1ap-ManagementBasedMDTAllowed.o \
PrivacyIndicator.o \ S1ap-PrivacyIndicator.o \
TrafficLoadReductionIndication.o \ S1ap-TrafficLoadReductionIndication.o \
GUMMEIList.o S1ap-GUMMEIList.o
S1AP_ASN_MODULE_HEADERS += \ S1AP_ASN_MODULE_HEADERS += \
PagingPriority.h \ S1ap-PagingPriority.h \
RelayNode-Indicator.h \ S1ap-RelayNode-Indicator.h \
GWContextReleaseIndication.h \ S1ap-GWContextReleaseIndication.h \
MMERelaySupportIndicator.h \ S1ap-MMERelaySupportIndicator.h \
ManagementBasedMDTAllowed.h \ S1ap-ManagementBasedMDTAllowed.h \
PrivacyIndicator.h \ S1ap-PrivacyIndicator.h \
TrafficLoadReductionIndication.h \ S1ap-TrafficLoadReductionIndication.h \
GUMMEIList.h S1ap-GUMMEIList.h
endif endif
S1AP_ASN_MODULE_HEADERS+=ANY.h S1AP_ASN_MODULE_HEADERS+=ANY.h
......
...@@ -73,6 +73,8 @@ $(S1AP_OBJDIR)/s1ap_asn1regen.stamp: $(ASN1DIR)/$(ASN1RELDIR)/S1AP-CommonDataTyp ...@@ -73,6 +73,8 @@ $(S1AP_OBJDIR)/s1ap_asn1regen.stamp: $(ASN1DIR)/$(ASN1RELDIR)/S1AP-CommonDataTyp
(cd $(ASN1MESSAGESDIR) && asn1c -fhave_native64 -gen-PER $^) (cd $(ASN1MESSAGESDIR) && asn1c -fhave_native64 -gen-PER $^)
echo Timestamp > $@ echo Timestamp > $@
.INTERMEDIATE = $(S1AP_OBJDIR)/s1ap_ieregen.stamp $(S1AP_OBJDIR)/s1ap_asn1regen.stamp
libs1ap.a: $(S1AP_OBJDIR)/s1ap_ieregen.stamp $(S1AP_OBJDIR)/s1ap_asn1regen.stamp $(libs1ap_OBJECTS) libs1ap.a: $(S1AP_OBJDIR)/s1ap_ieregen.stamp $(S1AP_OBJDIR)/s1ap_asn1regen.stamp $(libs1ap_OBJECTS)
@echo Creating S1AP archive @echo Creating S1AP archive
@$(AR) rcs $@ $(libs1ap_OBJECTS) @$(AR) rcs $@ $(libs1ap_OBJECTS)
......
...@@ -62,8 +62,8 @@ inline void ASN_DEBUG(const char *fmt, ...) ...@@ -62,8 +62,8 @@ inline void ASN_DEBUG(const char *fmt, ...)
ssize_t s1ap_generate_initiating_message( ssize_t s1ap_generate_initiating_message(
uint8_t **buffer, uint8_t **buffer,
uint32_t *length, uint32_t *length,
e_ProcedureCode procedureCode, e_S1ap_ProcedureCode procedureCode,
Criticality_t criticality, S1ap_Criticality_t criticality,
asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void *sptr) void *sptr)
{ {
...@@ -96,8 +96,8 @@ ssize_t s1ap_generate_initiating_message( ...@@ -96,8 +96,8 @@ ssize_t s1ap_generate_initiating_message(
ssize_t s1ap_generate_successfull_outcome( ssize_t s1ap_generate_successfull_outcome(
uint8_t **buffer, uint8_t **buffer,
uint32_t *length, uint32_t *length,
e_ProcedureCode procedureCode, e_S1ap_ProcedureCode procedureCode,
Criticality_t criticality, S1ap_Criticality_t criticality,
asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void *sptr) void *sptr)
{ {
...@@ -131,8 +131,8 @@ ssize_t s1ap_generate_successfull_outcome( ...@@ -131,8 +131,8 @@ ssize_t s1ap_generate_successfull_outcome(
ssize_t s1ap_generate_unsuccessfull_outcome( ssize_t s1ap_generate_unsuccessfull_outcome(
uint8_t **buffer, uint8_t **buffer,
uint32_t *length, uint32_t *length,
e_ProcedureCode procedureCode, e_S1ap_ProcedureCode procedureCode,
Criticality_t criticality, S1ap_Criticality_t criticality,
asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void *sptr) void *sptr)
{ {
...@@ -163,19 +163,19 @@ ssize_t s1ap_generate_unsuccessfull_outcome( ...@@ -163,19 +163,19 @@ ssize_t s1ap_generate_unsuccessfull_outcome(
return encoded; return encoded;
} }
IE_t *s1ap_new_ie( S1ap_IE_t *s1ap_new_ie(
ProtocolIE_ID_t id, S1ap_ProtocolIE_ID_t id,
Criticality_t criticality, S1ap_Criticality_t criticality,
asn_TYPE_descriptor_t *type, asn_TYPE_descriptor_t *type,
void *sptr) void *sptr)
{ {
IE_t *buff; S1ap_IE_t *buff;
if ((buff = malloc(sizeof(IE_t))) == NULL) { if ((buff = malloc(sizeof(S1ap_IE_t))) == NULL) {
// Possible error on malloc // Possible error on malloc
return NULL; return NULL;
} }
memset((void *)buff, 0, sizeof(IE_t)); memset((void *)buff, 0, sizeof(S1ap_IE_t));
buff->id = id; buff->id = id;
buff->criticality = criticality; buff->criticality = criticality;
...@@ -187,7 +187,7 @@ IE_t *s1ap_new_ie( ...@@ -187,7 +187,7 @@ IE_t *s1ap_new_ie(
} }
if (asn1_xer_print) if (asn1_xer_print)
if (xer_fprint(stdout, &asn_DEF_IE, buff) < 0) { if (xer_fprint(stdout, &asn_DEF_S1ap_IE, buff) < 0) {
free(buff); free(buff);
return NULL; return NULL;
} }
...@@ -195,7 +195,7 @@ IE_t *s1ap_new_ie( ...@@ -195,7 +195,7 @@ IE_t *s1ap_new_ie(
return buff; return buff;
} }
void s1ap_handle_criticality(e_Criticality criticality) void s1ap_handle_criticality(S1ap_Criticality_t criticality)
{ {
} }
...@@ -48,342 +48,342 @@ extern int asn_debug; ...@@ -48,342 +48,342 @@ extern int asn_debug;
inline void ASN_DEBUG(const char *fmt, ...); inline void ASN_DEBUG(const char *fmt, ...);
#endif #endif
#include "Criticality.h" #include "S1ap-Criticality.h"
#include "Presence.h" #include "S1ap-Presence.h"
#include "PrivateIE-ID.h" #include "S1ap-PrivateIE-ID.h"
#include "ProcedureCode.h" #include "S1ap-ProcedureCode.h"
#include "ProtocolExtensionID.h" #include "S1ap-ProtocolExtensionID.h"
#include "ProtocolIE-ID.h" #include "S1ap-ProtocolIE-ID.h"
#include "TriggeringMessage.h" #include "S1ap-TriggeringMessage.h"
#include "AllocationAndRetentionPriority.h" #include "S1ap-AllocationAndRetentionPriority.h"
#include "Bearers-SubjectToStatusTransfer-List.h" #include "S1ap-Bearers-SubjectToStatusTransfer-List.h"
#include "Bearers-SubjectToStatusTransfer-Item.h" #include "S1ap-Bearers-SubjectToStatusTransfer-Item.h"
#include "BitRate.h" #include "S1ap-BitRate.h"
#include "BPLMNs.h" #include "S1ap-BPLMNs.h"
#include "BroadcastCompletedAreaList.h" #include "S1ap-BroadcastCompletedAreaList.h"
#include "Cause.h" #include "S1ap-Cause.h"
#include "CauseMisc.h" #include "S1ap-CauseMisc.h"
#include "CauseProtocol.h" #include "S1ap-CauseProtocol.h"
#include "CauseRadioNetwork.h" #include "S1ap-CauseRadioNetwork.h"
#include "CauseTransport.h" #include "S1ap-CauseTransport.h"
#include "CauseNas.h" #include "S1ap-CauseNas.h"
#include "CellIdentity.h" #include "S1ap-CellIdentity.h"
#include "CellID-Broadcast.h" #include "S1ap-CellID-Broadcast.h"
#include "CellID-Broadcast-Item.h" #include "S1ap-CellID-Broadcast-Item.h"
#include "Cdma2000PDU.h" #include "S1ap-Cdma2000PDU.h"
#include "Cdma2000RATType.h" #include "S1ap-Cdma2000RATType.h"
#include "Cdma2000SectorID.h" #include "S1ap-Cdma2000SectorID.h"
#include "Cdma2000HOStatus.h" #include "S1ap-Cdma2000HOStatus.h"
#include "Cdma2000HORequiredIndication.h" #include "S1ap-Cdma2000HORequiredIndication.h"
#include "Cdma2000OneXSRVCCInfo.h" #include "S1ap-Cdma2000OneXSRVCCInfo.h"
#include "Cdma2000OneXMEID.h" #include "S1ap-Cdma2000OneXMEID.h"
#include "Cdma2000OneXMSI.h" #include "S1ap-Cdma2000OneXMSI.h"
#include "Cdma2000OneXPilot.h" #include "S1ap-Cdma2000OneXPilot.h"
#include "Cdma2000OneXRAND.h" #include "S1ap-Cdma2000OneXRAND.h"
#include "Cell-Size.h" #include "S1ap-Cell-Size.h"
#include "CellType.h" #include "S1ap-CellType.h"
#include "CGI.h" #include "S1ap-CGI.h"
#include "CI.h" #include "S1ap-CI.h"
#include "CNDomain.h" #include "S1ap-CNDomain.h"
#include "CSFallbackIndicator.h" #include "S1ap-CSFallbackIndicator.h"
#include "CSG-Id.h" #include "S1ap-CSG-Id.h"
#include "CSG-IdList.h" #include "S1ap-CSG-IdList.h"
#include "CSG-IdList-Item.h" #include "S1ap-CSG-IdList-Item.h"
#include "COUNTvalue.h" #include "S1ap-COUNTvalue.h"
#include "CriticalityDiagnostics.h" #include "S1ap-DataCodingScheme.h"
#include "CriticalityDiagnostics-IE-List.h" #include "S1ap-DL-Forwarding.h"
#include "CriticalityDiagnostics-IE-Item.h" #include "S1ap-Direct-Forwarding-Path-Availability.h"
#include "DataCodingScheme.h" #include "S1ap-ECGIList.h"
#include "DL-Forwarding.h" #include "S1ap-EmergencyAreaIDList.h"
#include "Direct-Forwarding-Path-Availability.h" #include "S1ap-EmergencyAreaID.h"
#include "ECGIList.h" #include "S1ap-EmergencyAreaID-Broadcast.h"
#include "EmergencyAreaIDList.h" #include "S1ap-EmergencyAreaID-Broadcast-Item.h"
#include "EmergencyAreaID.h" #include "S1ap-CompletedCellinEAI.h"
#include "EmergencyAreaID-Broadcast.h" #include "S1ap-CompletedCellinEAI-Item.h"
#include "EmergencyAreaID-Broadcast-Item.h" #include "S1ap-ENB-ID.h"
#include "CompletedCellinEAI.h" #include "S1ap-GERAN-Cell-ID.h"
#include "CompletedCellinEAI-Item.h" #include "S1ap-Global-ENB-ID.h"
#include "ENB-ID.h" #include "S1ap-ENB-StatusTransfer-TransparentContainer.h"
#include "GERAN-Cell-ID.h" #include "S1ap-ENBname.h"
#include "Global-ENB-ID.h" #include "S1ap-ENBX2TLAs.h"
#include "ENB-StatusTransfer-TransparentContainer.h" #include "S1ap-EncryptionAlgorithms.h"
#include "ENB-UE-S1AP-ID.h" #include "S1ap-EPLMNs.h"
#include "ENBname.h" #include "S1ap-EventType.h"
#include "ENBX2TLAs.h" #include "S1ap-E-RAB-ID.h"
#include "EncryptionAlgorithms.h" #include "S1ap-E-RABInformationList.h"
#include "EPLMNs.h" #include "S1ap-E-RABInformationListItem.h"
#include "EventType.h" #include "S1ap-E-RABList.h"
#include "E-RAB-ID.h" #include "S1ap-E-RABItem.h"
#include "E-RABInformationList.h" #include "S1ap-E-RABLevelQoSParameters.h"
#include "E-RABInformationListItem.h" #include "S1ap-EUTRAN-CGI.h"
#include "E-RABList.h" #include "S1ap-ExtendedRNC-ID.h"
#include "E-RABItem.h" #include "S1ap-ForbiddenInterRATs.h"
#include "E-RABLevelQoSParameters.h" #include "S1ap-ForbiddenTAs.h"
#include "EUTRAN-CGI.h" #include "S1ap-ForbiddenTAs-Item.h"
#include "ExtendedRNC-ID.h" #include "S1ap-ForbiddenTACs.h"
#include "ForbiddenInterRATs.h" #include "S1ap-ForbiddenLAs.h"
#include "ForbiddenTAs.h" #include "S1ap-ForbiddenLAs-Item.h"
#include "ForbiddenTAs-Item.h" #include "S1ap-ForbiddenLACs.h"
#include "ForbiddenTACs.h" #include "S1ap-GBR-QosInformation.h"
#include "ForbiddenLAs.h" #include "S1ap-GTP-TEID.h"
#include "ForbiddenLAs-Item.h" #include "S1ap-GUMMEI.h"
#include "ForbiddenLACs.h" #include "S1ap-HandoverRestrictionList.h"
#include "GBR-QosInformation.h" #include "S1ap-HandoverType.h"
#include "GTP-TEID.h" #include "S1ap-HFN.h"
#include "GUMMEI.h" #include "S1ap-IMSI.h"
#include "HandoverRestrictionList.h" #include "S1ap-IntegrityProtectionAlgorithms.h"
#include "HandoverType.h" #include "S1ap-InterfacesToTrace.h"
#include "HFN.h" #include "S1ap-LAC.h"
#include "IMSI.h" #include "S1ap-LAI.h"
#include "IntegrityProtectionAlgorithms.h" #include "S1ap-LastVisitedCell-Item.h"
#include "InterfacesToTrace.h" #include "S1ap-LastVisitedEUTRANCellInformation.h"
#include "LAC.h" #include "S1ap-LastVisitedUTRANCellInformation.h"
#include "LAI.h" #include "S1ap-LastVisitedGERANCellInformation.h"
#include "LastVisitedCell-Item.h" #include "S1ap-L3-Information.h"
#include "LastVisitedEUTRANCellInformation.h" #include "S1ap-MessageIdentifier.h"
#include "LastVisitedUTRANCellInformation.h" #include "S1ap-MMEname.h"
#include "LastVisitedGERANCellInformation.h" #include "S1ap-MME-Group-ID.h"
#include "L3-Information.h" #include "S1ap-MME-Code.h"
#include "MessageIdentifier.h" #include "S1ap-M-TMSI.h"
#include "MMEname.h" #include "S1ap-MSClassmark2.h"
#include "MME-Group-ID.h" #include "S1ap-MSClassmark3.h"
#include "MME-Code.h" #include "S1ap-NAS-PDU.h"
#include "MME-UE-S1AP-ID.h" #include "S1ap-NASSecurityParametersfromE-UTRAN.h"
#include "M-TMSI.h" #include "S1ap-NASSecurityParameterstoE-UTRAN.h"
#include "MSClassmark2.h" #include "S1ap-NumberofBroadcastRequest.h"
#include "MSClassmark3.h" #include "S1ap-NumberOfBroadcasts.h"
#include "NAS-PDU.h" #include "S1ap-OldBSS-ToNewBSS-Information.h"
#include "NASSecurityParametersfromE-UTRAN.h" #include "S1ap-OverloadAction.h"
#include "NASSecurityParameterstoE-UTRAN.h" #include "S1ap-OverloadResponse.h"
#include "NumberofBroadcastRequest.h" #include "S1ap-PagingDRX.h"
#include "NumberOfBroadcasts.h" #include "S1ap-PDCP-SN.h"
#include "OldBSS-ToNewBSS-Information.h" #include "S1ap-PLMNidentity.h"
#include "OverloadAction.h" #include "S1ap-Pre-emptionCapability.h"
#include "OverloadResponse.h" #include "S1ap-Pre-emptionVulnerability.h"
#include "PagingDRX.h" #include "S1ap-PriorityLevel.h"
#include "PDCP-SN.h" #include "S1ap-QCI.h"
#include "PLMNidentity.h" #include "S1ap-ReceiveStatusofULPDCPSDUs.h"
#include "Pre-emptionCapability.h" #include "S1ap-RelativeMMECapacity.h"
#include "Pre-emptionVulnerability.h" #include "S1ap-RAC.h"
#include "PriorityLevel.h" #include "S1ap-RequestType.h"
#include "QCI.h" #include "S1ap-RIMTransfer.h"
#include "ReceiveStatusofULPDCPSDUs.h" #include "S1ap-RIMInformation.h"
#include "RelativeMMECapacity.h" #include "S1ap-RIMRoutingAddress.h"
#include "RAC.h" #include "S1ap-ReportArea.h"
#include "RequestType.h" #include "S1ap-RepetitionPeriod.h"
#include "RIMTransfer.h" #include "S1ap-RNC-ID.h"
#include "RIMInformation.h" #include "S1ap-RRC-Container.h"
#include "RIMRoutingAddress.h" #include "S1ap-RRC-Establishment-Cause.h"
#include "ReportArea.h" #include "S1ap-SecurityKey.h"
#include "RepetitionPeriod.h" #include "S1ap-SecurityContext.h"
#include "RNC-ID.h" #include "S1ap-SerialNumber.h"
#include "RRC-Container.h" #include "S1ap-SONInformation.h"
#include "RRC-Establishment-Cause.h" #include "S1ap-SONInformationRequest.h"
#include "SecurityKey.h" #include "S1ap-SONInformationReply.h"
#include "SecurityContext.h" #include "S1ap-SONConfigurationTransfer.h"
#include "SerialNumber.h" #include "S1ap-Source-ToTarget-TransparentContainer.h"
#include "SONInformation.h" #include "S1ap-SourceBSS-ToTargetBSS-TransparentContainer.h"
#include "SONInformationRequest.h" #include "S1ap-SourceeNB-ID.h"
#include "SONInformationReply.h" #include "S1ap-SRVCCOperationPossible.h"
#include "SONConfigurationTransfer.h" #include "S1ap-SRVCCHOIndication.h"
#include "Source-ToTarget-TransparentContainer.h" #include "S1ap-SourceeNB-ToTargeteNB-TransparentContainer.h"
#include "SourceBSS-ToTargetBSS-TransparentContainer.h" #include "S1ap-SourceRNC-ToTargetRNC-TransparentContainer.h"
#include "SourceeNB-ID.h" #include "S1ap-ServedGUMMEIs.h"
#include "SRVCCOperationPossible.h" #include "S1ap-ServedGUMMEIsItem.h"
#include "SRVCCHOIndication.h" #include "S1ap-ServedGroupIDs.h"
#include "SourceeNB-ToTargeteNB-TransparentContainer.h" #include "S1ap-ServedMMECs.h"
#include "SourceRNC-ToTargetRNC-TransparentContainer.h" #include "S1ap-ServedPLMNs.h"
#include "ServedGUMMEIs.h" #include "S1ap-SubscriberProfileIDforRFP.h"
#include "ServedGUMMEIsItem.h" #include "S1ap-SupportedTAs.h"
#include "ServedGroupIDs.h" #include "S1ap-SupportedTAs-Item.h"
#include "ServedMMECs.h" #include "S1ap-S-TMSI.h"
#include "ServedPLMNs.h" #include "S1ap-TAC.h"
#include "SubscriberProfileIDforRFP.h" #include "S1ap-TAIItem.h"
#include "SupportedTAs.h" #include "S1ap-TAIList.h"
#include "SupportedTAs-Item.h" #include "S1ap-TAIListforWarning.h"
#include "S-TMSI.h" #include "S1ap-TAI.h"
#include "TAC.h" #include "S1ap-TAI-Broadcast.h"
#include "TAIItem.h" #include "S1ap-TAI-Broadcast-Item.h"
#include "TAIList.h" #include "S1ap-CompletedCellinTAI.h"
#include "TAIListforWarning.h" #include "S1ap-CompletedCellinTAI-Item.h"
#include "TAI.h" #include "S1ap-TargetID.h"
#include "TAI-Broadcast.h" #include "S1ap-TargeteNB-ID.h"
#include "TAI-Broadcast-Item.h" #include "S1ap-TargetRNC-ID.h"
#include "CompletedCellinTAI.h" #include "S1ap-TargeteNB-ToSourceeNB-TransparentContainer.h"
#include "CompletedCellinTAI-Item.h" #include "S1ap-Target-ToSource-TransparentContainer.h"
#include "TBCD-STRING.h" #include "S1ap-TargetRNC-ToSourceRNC-TransparentContainer.h"
#include "TargetID.h" #include "S1ap-TargetBSS-ToSourceBSS-TransparentContainer.h"
#include "TargeteNB-ID.h" #include "S1ap-TimeToWait.h"
#include "TargetRNC-ID.h" #include "S1ap-Time-UE-StayedInCell.h"
#include "TargeteNB-ToSourceeNB-TransparentContainer.h" #include "S1ap-TransportLayerAddress.h"
#include "Target-ToSource-TransparentContainer.h" #include "S1ap-TraceActivation.h"
#include "TargetRNC-ToSourceRNC-TransparentContainer.h" #include "S1ap-TraceDepth.h"
#include "TargetBSS-ToSourceBSS-TransparentContainer.h" #include "S1ap-E-UTRAN-Trace-ID.h"
#include "TimeToWait.h" #include "S1ap-TypeOfError.h"
#include "Time-UE-StayedInCell.h" #include "S1ap-UEAggregateMaximumBitrate.h"
#include "TransportLayerAddress.h" #include "S1ap-UE-associatedLogicalS1-ConnectionItem.h"
#include "TraceActivation.h" #include "S1ap-UEIdentityIndexValue.h"
#include "TraceDepth.h" #include "S1ap-UE-HistoryInformation.h"
#include "E-UTRAN-Trace-ID.h" #include "S1ap-UEPagingID.h"
#include "TypeOfError.h" #include "S1ap-UERadioCapability.h"
#include "UEAggregateMaximumBitrate.h" #include "S1ap-UESecurityCapabilities.h"
#include "UE-S1AP-IDs.h" #include "S1ap-WarningAreaList.h"
#include "UE-S1AP-ID-pair.h" #include "S1ap-WarningType.h"
#include "UE-associatedLogicalS1-ConnectionItem.h" #include "S1ap-WarningSecurityInfo.h"
#include "UEIdentityIndexValue.h" #include "S1ap-WarningMessageContents.h"
#include "UE-HistoryInformation.h" #include "S1ap-X2TNLConfigurationInfo.h"
#include "UEPagingID.h" #include "S1ap-CriticalityDiagnostics.h"
#include "UERadioCapability.h" #include "S1ap-CriticalityDiagnostics-IE-List.h"
#include "UESecurityCapabilities.h" #include "S1ap-CriticalityDiagnostics-IE-Item.h"
#include "WarningAreaList.h" #include "S1ap-ResetType.h"
#include "WarningType.h" #include "S1ap-Inter-SystemInformationTransferType.h"
#include "WarningSecurityInfo.h" #include "S1ap-UE-S1AP-IDs.h"
#include "WarningMessageContents.h" #include "S1ap-UE-S1AP-ID-pair.h"
#include "X2TNLConfigurationInfo.h" #include "S1ap-MME-UE-S1AP-ID.h"
#include "S1ap-ENB-UE-S1AP-ID.h"
#include "S1ap-TBCD-STRING.h"
#include "S1ap-InitiatingMessage.h"
#include "S1ap-SuccessfulOutcome.h"
#include "S1ap-UnsuccessfulOutcome.h"
#include "S1ap-HandoverRequired.h"
#include "S1ap-HandoverCommand.h"
#include "S1ap-HandoverNotify.h"
#include "S1ap-HandoverPreparationFailure.h"
#include "S1ap-HandoverRequest.h"
#include "S1ap-HandoverRequestAcknowledge.h"
#include "S1ap-HandoverFailure.h"
#include "S1ap-PathSwitchRequest.h"
#include "S1ap-PathSwitchRequestAcknowledge.h"
#include "S1ap-PathSwitchRequestFailure.h"
#include "S1ap-E-RABSetupRequest.h"
#include "S1ap-E-RABSetupResponse.h"
#include "S1ap-E-RABModifyRequest.h"
#include "S1ap-E-RABModifyResponse.h"
#include "S1ap-E-RABReleaseIndication.h"
#include "S1ap-E-RABReleaseCommand.h"
#include "S1ap-E-RABReleaseResponse.h"
#include "S1ap-InitialContextSetupRequest.h"
#include "S1ap-InitialContextSetupResponse.h"
#include "S1ap-InitialContextSetupFailure.h"
#include "S1ap-UEContextReleaseRequest.h"
#include "S1ap-Paging.h"
#include "S1ap-DownlinkNASTransport.h"
#include "S1ap-InitialUEMessage.h"
#include "S1ap-UplinkNASTransport.h"
#include "S1ap-NASNonDeliveryIndication.h"
#include "S1ap-HandoverCancel.h"
#include "S1ap-HandoverCancelAcknowledge.h"
#include "S1ap-Reset.h"
#include "S1ap-ResetAcknowledge.h"
#include "S1ap-S1SetupResponse.h"
#include "S1ap-S1SetupRequest.h"
#include "S1ap-S1SetupFailure.h"
#include "S1ap-ErrorIndication.h"
#include "S1ap-ENBConfigurationUpdate.h"
#include "S1ap-ENBConfigurationUpdateAcknowledge.h"
#include "S1ap-ENBConfigurationUpdateFailure.h"
#include "S1ap-MMEConfigurationUpdate.h"
#include "S1ap-MMEConfigurationUpdateAcknowledge.h"
#include "S1ap-MMEConfigurationUpdateFailure.h"
#include "S1ap-DownlinkS1cdma2000tunneling.h"
#include "S1ap-UplinkS1cdma2000tunneling.h"
#include "S1ap-UEContextModificationRequest.h"
#include "S1ap-UEContextModificationResponse.h"
#include "S1ap-UEContextModificationFailure.h"
#include "S1ap-UECapabilityInfoIndication.h"
#include "S1ap-UEContextReleaseCommand.h"
#include "S1ap-UEContextReleaseComplete.h"
#include "S1ap-ENBStatusTransfer.h"
#include "S1ap-MMEStatusTransfer.h"
#include "S1ap-DeactivateTrace.h"
#include "S1ap-TraceStart.h"
#include "S1ap-TraceFailureIndication.h"
#include "S1ap-CellTrafficTrace.h"
#include "S1ap-LocationReportingControl.h"
#include "S1ap-LocationReportingFailureIndication.h"
#include "S1ap-LocationReport.h"
#include "S1ap-OverloadStart.h"
#include "S1ap-OverloadStop.h"
#include "S1ap-WriteReplaceWarningRequest.h"
#include "S1ap-WriteReplaceWarningResponse.h"
#include "S1ap-ENBDirectInformationTransfer.h"
#include "S1ap-MMEDirectInformationTransfer.h"
#include "S1ap-ENBConfigurationTransfer.h"
#include "S1ap-MMEConfigurationTransfer.h"
#include "S1ap-PrivateMessage.h"
#include "S1ap-E-RABReleaseItemBearerRelComp.h"
#include "S1ap-E-RABToBeSwitchedDLList.h"
#include "S1ap-E-RABToBeSwitchedDLItem.h"
#include "S1ap-E-RABToBeSwitchedULList.h"
#include "S1ap-E-RABToBeSwitchedULItem.h"
#include "S1ap-E-RABToBeSetupListBearerSUReq.h"
#include "S1ap-E-RABToBeSetupItemBearerSUReq.h"
#include "S1ap-E-RABDataForwardingList.h"
#include "S1ap-E-RABDataForwardingItem.h"
#include "S1ap-E-RABToBeSetupListHOReq.h"
#include "S1ap-E-RABToBeSetupItemHOReq.h"
#include "S1ap-E-RABAdmittedList.h"
#include "S1ap-E-RABAdmittedItem.h"
#include "S1ap-E-RABFailedToSetupListHOReqAck.h"
#include "S1ap-E-RABToBeSetupItemCtxtSUReq.h"
#include "S1ap-E-RABToBeSetupListCtxtSUReq.h"
#include "S1ap-E-RABSetupItemBearerSURes.h"
#include "S1ap-E-RABSetupListBearerSURes.h"
#include "S1ap-E-RABSetupItemCtxtSURes.h"
#include "S1ap-E-RABSetupListCtxtSURes.h"
#include "S1ap-E-RABReleaseListBearerRelComp.h"
#include "S1ap-E-RABModifyItemBearerModRes.h"
#include "S1ap-E-RABModifyListBearerModRes.h"
#include "S1ap-E-RABFailedToSetupItemHOReqAck.h"
#include "S1ap-E-RABFailedToSetupListHOReqAck.h"
#include "S1ap-E-RABToBeModifiedItemBearerModReq.h"
#include "S1ap-E-RABToBeModifiedListBearerModReq.h"
#include "S1ap-UE-associatedLogicalS1-ConnectionListResAck.h"
#include "S1ap-IE.h"
#include "S1AP-PDU.h" #include "S1AP-PDU.h"
#include "InitiatingMessage.h"
#include "SuccessfulOutcome.h"
#include "UnsuccessfulOutcome.h"
#include "HandoverRequired.h"
#include "HandoverCommand.h"
#include "HandoverNotify.h"
#include "HandoverPreparationFailure.h"
#include "HandoverRequest.h"
#include "HandoverRequestAcknowledge.h"
#include "HandoverFailure.h"
#include "PathSwitchRequest.h"
#include "PathSwitchRequestAcknowledge.h"
#include "PathSwitchRequestFailure.h"
#include "E-RABSetupRequest.h"
#include "E-RABSetupResponse.h"
#include "E-RABModifyRequest.h"
#include "E-RABModifyResponse.h"
#include "E-RABReleaseIndication.h"
#include "E-RABReleaseCommand.h"
#include "E-RABReleaseResponse.h"
#include "InitialContextSetupRequest.h"
#include "InitialContextSetupResponse.h"
#include "InitialContextSetupFailure.h"
#include "UEContextReleaseRequest.h"
#include "Paging.h"
#include "DownlinkNASTransport.h"
#include "InitialUEMessage.h"
#include "UplinkNASTransport.h"
#include "NASNonDeliveryIndication.h"
#include "HandoverCancel.h"
#include "HandoverCancelAcknowledge.h"
#include "Reset.h"
#include "ResetType.h"
#include "ResetAcknowledge.h"
#include "S1SetupResponse.h"
#include "S1SetupRequest.h"
#include "S1SetupFailure.h"
#include "ErrorIndication.h"
#include "ENBConfigurationUpdate.h"
#include "ENBConfigurationUpdateAcknowledge.h"
#include "ENBConfigurationUpdateFailure.h"
#include "MMEConfigurationUpdate.h"
#include "MMEConfigurationUpdateAcknowledge.h"
#include "MMEConfigurationUpdateFailure.h"
#include "DownlinkS1cdma2000tunneling.h"
#include "UplinkS1cdma2000tunneling.h"
#include "UEContextModificationRequest.h"
#include "UEContextModificationResponse.h"
#include "UEContextModificationFailure.h"
#include "UECapabilityInfoIndication.h"
#include "UEContextReleaseCommand.h"
#include "UEContextReleaseComplete.h"
#include "ENBStatusTransfer.h"
#include "MMEStatusTransfer.h"
#include "DeactivateTrace.h"
#include "TraceStart.h"
#include "TraceFailureIndication.h"
#include "CellTrafficTrace.h"
#include "LocationReportingControl.h"
#include "LocationReportingFailureIndication.h"
#include "LocationReport.h"
#include "OverloadStart.h"
#include "OverloadStop.h"
#include "WriteReplaceWarningRequest.h"
#include "WriteReplaceWarningResponse.h"
#include "ENBDirectInformationTransfer.h"
#include "MMEDirectInformationTransfer.h"
#include "ENBConfigurationTransfer.h"
#include "MMEConfigurationTransfer.h"
#include "PrivateMessage.h"
#include "Inter-SystemInformationTransferType.h"
#include "E-RABReleaseItemBearerRelComp.h"
#include "E-RABToBeSwitchedDLList.h"
#include "E-RABToBeSwitchedDLItem.h"
#include "E-RABToBeSwitchedULList.h"
#include "E-RABToBeSwitchedULItem.h"
#include "E-RABToBeSetupListBearerSUReq.h"
#include "E-RABToBeSetupItemBearerSUReq.h"
#include "E-RABDataForwardingList.h"
#include "E-RABDataForwardingItem.h"
#include "E-RABToBeSetupListHOReq.h"
#include "E-RABToBeSetupItemHOReq.h"
#include "E-RABAdmittedList.h"
#include "E-RABAdmittedItem.h"
#include "E-RABFailedToSetupListHOReqAck.h"
#include "E-RABToBeSetupItemCtxtSUReq.h"
#include "E-RABToBeSetupListCtxtSUReq.h"
#include "E-RABSetupItemBearerSURes.h"
#include "E-RABSetupListBearerSURes.h"
#include "E-RABSetupItemCtxtSURes.h"
#include "E-RABSetupListCtxtSURes.h"
#include "E-RABReleaseListBearerRelComp.h"
#include "E-RABModifyItemBearerModRes.h"
#include "E-RABModifyListBearerModRes.h"
#include "E-RABFailedToSetupItemHOReqAck.h"
#include "E-RABFailedToSetupListHOReqAck.h"
#include "E-RABToBeModifiedItemBearerModReq.h"
#include "E-RABToBeModifiedListBearerModReq.h"
#include "UE-associatedLogicalS1-ConnectionListResAck.h"
#include "IE.h"
#if defined (UPDATE_RELEASE_9) #if defined (UPDATE_RELEASE_9)
# include "BroadcastCancelledAreaList.h" # include "S1ap-BroadcastCancelledAreaList.h"
# include "CancelledCellinEAI.h" # include "S1ap-CancelledCellinEAI.h"
# include "CancelledCellinEAI-Item.h" # include "S1ap-CancelledCellinEAI-Item.h"
# include "CancelledCellinTAI.h" # include "S1ap-CancelledCellinTAI.h"
# include "CancelledCellinTAI-Item.h" # include "S1ap-CancelledCellinTAI-Item.h"
# include "CellAccessMode.h" # include "S1ap-CellAccessMode.h"
# include "CellID-Cancelled.h" # include "S1ap-CellID-Cancelled.h"
# include "CellID-Cancelled-Item.h" # include "S1ap-CellID-Cancelled-Item.h"
# include "ConcurrentWarningMessageIndicator.h" # include "S1ap-ConcurrentWarningMessageIndicator.h"
# include "CSGMembershipStatus.h" # include "S1ap-CSGMembershipStatus.h"
# include "Data-Forwarding-Not-Possible.h" # include "S1ap-Data-Forwarding-Not-Possible.h"
# include "EmergencyAreaID-Cancelled.h" # include "S1ap-EmergencyAreaID-Cancelled.h"
# include "EmergencyAreaID-Cancelled-Item.h" # include "S1ap-EmergencyAreaID-Cancelled-Item.h"
# include "E-RABList.h" # include "S1ap-E-RABList.h"
# include "EUTRANRoundTripDelayEstimationInfo.h" # include "S1ap-EUTRANRoundTripDelayEstimationInfo.h"
# include "ExtendedRepetitionPeriod.h" # include "S1ap-ExtendedRepetitionPeriod.h"
# include "LPPa-PDU.h" # include "S1ap-LPPa-PDU.h"
# include "PS-ServiceNotAvailable.h" # include "S1ap-PS-ServiceNotAvailable.h"
# include "Routing-ID.h" # include "S1ap-Routing-ID.h"
# include "StratumLevel.h" # include "S1ap-StratumLevel.h"
# include "SynchronizationStatus.h" # include "S1ap-SynchronizationStatus.h"
# include "TimeSynchronizationInfo.h" # include "S1ap-TimeSynchronizationInfo.h"
# include "TAI-Cancelled.h" # include "S1ap-TAI-Cancelled.h"
# include "TAI-Cancelled-Item.h" # include "S1ap-TAI-Cancelled-Item.h"
# include "KillRequest.h" # include "S1ap-KillRequest.h"
# include "KillResponse.h" # include "S1ap-KillResponse.h"
# include "DownlinkUEAssociatedLPPaTransport.h" # include "S1ap-DownlinkUEAssociatedLPPaTransport.h"
# include "UplinkUEAssociatedLPPaTransport.h" # include "S1ap-UplinkUEAssociatedLPPaTransport.h"
# include "DownlinkNonUEAssociatedLPPaTransport.h" # include "S1ap-DownlinkNonUEAssociatedLPPaTransport.h"
# include "UplinkNonUEAssociatedLPPaTransport.h" # include "S1ap-UplinkNonUEAssociatedLPPaTransport.h"
#endif /* (UPDATE_RELEASE_9) */ #endif /* (UPDATE_RELEASE_9) */
#if defined(UPDATE_RELEASE_10) #if defined(UPDATE_RELEASE_10)
# include "PagingPriority.h" # include "S1ap-PagingPriority.h"
# include "RelayNode-Indicator.h" # include "S1ap-RelayNode-Indicator.h"
# include "GWContextReleaseIndication.h" # include "S1ap-GWContextReleaseIndication.h"
# include "MMERelaySupportIndicator.h" # include "S1ap-MMERelaySupportIndicator.h"
# include "ManagementBasedMDTAllowed.h" # include "S1ap-ManagementBasedMDTAllowed.h"
# include "PrivacyIndicator.h" # include "S1ap-PrivacyIndicator.h"
# include "TrafficLoadReductionIndication.h" # include "S1ap-TrafficLoadReductionIndication.h"
# include "GUMMEIList.h" # include "S1ap-GUMMEIList.h"
#endif /* (UPDATE_RELEASE_10) */ #endif /* (UPDATE_RELEASE_10) */
/* Checking version of ASN1C compiler */ /* Checking version of ASN1C compiler */
...@@ -439,8 +439,8 @@ typedef int (*s1ap_message_decoded_callback)( ...@@ -439,8 +439,8 @@ typedef int (*s1ap_message_decoded_callback)(
ssize_t s1ap_generate_successfull_outcome( ssize_t s1ap_generate_successfull_outcome(
uint8_t **buffer, uint8_t **buffer,
uint32_t *length, uint32_t *length,
e_ProcedureCode procedureCode, e_S1ap_ProcedureCode procedureCode,
Criticality_t criticality, S1ap_Criticality_t criticality,
asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void *sptr); void *sptr);
...@@ -456,8 +456,8 @@ ssize_t s1ap_generate_successfull_outcome( ...@@ -456,8 +456,8 @@ ssize_t s1ap_generate_successfull_outcome(
ssize_t s1ap_generate_initiating_message( ssize_t s1ap_generate_initiating_message(
uint8_t **buffer, uint8_t **buffer,
uint32_t *length, uint32_t *length,
e_ProcedureCode procedureCode, e_S1ap_ProcedureCode procedureCode,
Criticality_t criticality, S1ap_Criticality_t criticality,
asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void *sptr); void *sptr);
...@@ -473,8 +473,8 @@ ssize_t s1ap_generate_initiating_message( ...@@ -473,8 +473,8 @@ ssize_t s1ap_generate_initiating_message(
ssize_t s1ap_generate_unsuccessfull_outcome( ssize_t s1ap_generate_unsuccessfull_outcome(
uint8_t **buffer, uint8_t **buffer,
uint32_t *length, uint32_t *length,
e_ProcedureCode procedureCode, e_S1ap_ProcedureCode procedureCode,
Criticality_t criticality, S1ap_Criticality_t criticality,
asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void *sptr); void *sptr);
...@@ -485,15 +485,15 @@ ssize_t s1ap_generate_unsuccessfull_outcome( ...@@ -485,15 +485,15 @@ ssize_t s1ap_generate_unsuccessfull_outcome(
\param sptr Structure to be encoded in the value field \param sptr Structure to be encoded in the value field
@returns a pointer to the newly created IE structure or NULL in case of failure @returns a pointer to the newly created IE structure or NULL in case of failure
**/ **/
IE_t *s1ap_new_ie(ProtocolIE_ID_t id, S1ap_IE_t *s1ap_new_ie(S1ap_ProtocolIE_ID_t id,
Criticality_t criticality, S1ap_Criticality_t criticality,
asn_TYPE_descriptor_t *type, asn_TYPE_descriptor_t *type,
void *sptr); void *sptr);
/** \brief Handle criticality /** \brief Handle criticality
\param criticality Criticality of the IE \param criticality Criticality of the IE
@returns void @returns void
**/ **/
void s1ap_handle_criticality(e_Criticality criticality); void s1ap_handle_criticality(S1ap_Criticality_t criticality);
#endif /* S1AP_COMMON_H_ */ #endif /* S1AP_COMMON_H_ */
...@@ -259,13 +259,15 @@ void *s1ap_eNB_task(void *arg) ...@@ -259,13 +259,15 @@ void *s1ap_eNB_task(void *arg)
static int s1ap_eNB_generate_s1_setup_request( static int s1ap_eNB_generate_s1_setup_request(
s1ap_eNB_instance_t *instance_p, s1ap_eNB_mme_data_t *s1ap_mme_data_p) s1ap_eNB_instance_t *instance_p, s1ap_eNB_mme_data_t *s1ap_mme_data_p)
{ {
s1ap_message message; s1ap_message message;
S1SetupRequestIEs_t *s1SetupRequest_p;
PLMNidentity_t plmnIdentity; S1ap_S1SetupRequestIEs_t *s1SetupRequest_p;
SupportedTAs_Item_t ta; S1ap_PLMNidentity_t plmnIdentity;
uint8_t *buffer; S1ap_SupportedTAs_Item_t ta;
uint32_t len;
int ret = 0; uint8_t *buffer;
uint32_t len;
int ret = 0;
DevAssert(instance_p != NULL); DevAssert(instance_p != NULL);
DevAssert(s1ap_mme_data_p != NULL); DevAssert(s1ap_mme_data_p != NULL);
...@@ -273,17 +275,17 @@ static int s1ap_eNB_generate_s1_setup_request( ...@@ -273,17 +275,17 @@ static int s1ap_eNB_generate_s1_setup_request(
memset(&message, 0, sizeof(s1ap_message)); memset(&message, 0, sizeof(s1ap_message));
message.direction = S1AP_PDU_PR_initiatingMessage; message.direction = S1AP_PDU_PR_initiatingMessage;
message.procedureCode = ProcedureCode_id_S1Setup; message.procedureCode = S1ap_ProcedureCode_id_S1Setup;
message.criticality = Criticality_reject; message.criticality = S1ap_Criticality_reject;
s1SetupRequest_p = &message.msg.s1SetupRequestIEs; s1SetupRequest_p = &message.msg.s1ap_S1SetupRequestIEs;
memset((void *)&plmnIdentity, 0, sizeof(PLMNidentity_t)); memset((void *)&plmnIdentity, 0, sizeof(S1ap_PLMNidentity_t));
memset((void *)&ta, 0, sizeof(SupportedTAs_Item_t)); memset((void *)&ta, 0, sizeof(S1ap_SupportedTAs_Item_t));
s1ap_mme_data_p->state = S1AP_ENB_STATE_WAITING; s1ap_mme_data_p->state = S1AP_ENB_STATE_WAITING;
s1SetupRequest_p->global_ENB_ID.eNB_ID.present = ENB_ID_PR_macroENB_ID; s1SetupRequest_p->global_ENB_ID.eNB_ID.present = S1ap_ENB_ID_PR_macroENB_ID;
MACRO_ENB_ID_TO_BIT_STRING(instance_p->eNB_id, MACRO_ENB_ID_TO_BIT_STRING(instance_p->eNB_id,
&s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.macroENB_ID); &s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.macroENB_ID);
MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc,
...@@ -298,7 +300,7 @@ static int s1ap_eNB_generate_s1_setup_request( ...@@ -298,7 +300,7 @@ static int s1ap_eNB_generate_s1_setup_request(
s1SetupRequest_p->defaultPagingDRX = instance_p->default_drx; s1SetupRequest_p->defaultPagingDRX = instance_p->default_drx;
if (instance_p->eNB_name != NULL) { if (instance_p->eNB_name != NULL) {
s1SetupRequest_p->presenceMask |= S1SETUPREQUESTIES_ENBNAME_PRESENT; s1SetupRequest_p->presenceMask |= S1AP_S1SETUPREQUESTIES_ENBNAME_PRESENT;
OCTET_STRING_fromBuf(&s1SetupRequest_p->eNBname, instance_p->eNB_name, OCTET_STRING_fromBuf(&s1SetupRequest_p->eNBname, instance_p->eNB_name,
strlen(instance_p->eNB_name)); strlen(instance_p->eNB_name));
} }
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
#include "s1ap_eNB_decoder.h" #include "s1ap_eNB_decoder.h"
static int s1ap_eNB_decode_initiating_message(s1ap_message *message, static int s1ap_eNB_decode_initiating_message(s1ap_message *message,
InitiatingMessage_t *initiating_p) S1ap_InitiatingMessage_t *initiating_p)
{ {
DevAssert(initiating_p != NULL); DevAssert(initiating_p != NULL);
...@@ -52,12 +52,14 @@ static int s1ap_eNB_decode_initiating_message(s1ap_message *message, ...@@ -52,12 +52,14 @@ static int s1ap_eNB_decode_initiating_message(s1ap_message *message,
message->criticality = initiating_p->criticality; message->criticality = initiating_p->criticality;
switch(initiating_p->procedureCode) { switch(initiating_p->procedureCode) {
case ProcedureCode_id_downlinkNASTransport: case S1ap_ProcedureCode_id_downlinkNASTransport:
return s1ap_decode_downlinknastransporties(&message->msg.downlinkNASTransportIEs, return s1ap_decode_s1ap_downlinknastransporties(
&initiating_p->value); &message->msg.s1ap_DownlinkNASTransportIEs, &initiating_p->value);
case ProcedureCode_id_InitialContextSetup:
return s1ap_decode_initialcontextsetuprequesties( case S1ap_ProcedureCode_id_InitialContextSetup:
&message->msg.initialContextSetupRequestIEs, &initiating_p->value); return s1ap_decode_s1ap_initialcontextsetuprequesties(
&message->msg.s1ap_InitialContextSetupRequestIEs, &initiating_p->value);
default: default:
S1AP_DEBUG("Unknown procedure ID (%d) for initiating message\n", S1AP_DEBUG("Unknown procedure ID (%d) for initiating message\n",
(int)initiating_p->procedureCode); (int)initiating_p->procedureCode);
...@@ -67,7 +69,7 @@ static int s1ap_eNB_decode_initiating_message(s1ap_message *message, ...@@ -67,7 +69,7 @@ static int s1ap_eNB_decode_initiating_message(s1ap_message *message,
} }
static int s1ap_eNB_decode_successful_outcome(s1ap_message *message, static int s1ap_eNB_decode_successful_outcome(s1ap_message *message,
SuccessfulOutcome_t *successfullOutcome_p) S1ap_SuccessfulOutcome_t *successfullOutcome_p)
{ {
DevAssert(successfullOutcome_p != NULL); DevAssert(successfullOutcome_p != NULL);
...@@ -75,9 +77,10 @@ static int s1ap_eNB_decode_successful_outcome(s1ap_message *message, ...@@ -75,9 +77,10 @@ static int s1ap_eNB_decode_successful_outcome(s1ap_message *message,
message->criticality = successfullOutcome_p->criticality; message->criticality = successfullOutcome_p->criticality;
switch(successfullOutcome_p->procedureCode) { switch(successfullOutcome_p->procedureCode) {
case ProcedureCode_id_S1Setup: case S1ap_ProcedureCode_id_S1Setup:
return s1ap_decode_s1setupresponseies(&message->msg.s1SetupResponseIEs, return s1ap_decode_s1ap_s1setupresponseies(
&successfullOutcome_p->value); &message->msg.s1ap_S1SetupResponseIEs, &successfullOutcome_p->value);
default: default:
S1AP_DEBUG("Unknown procedure ID (%d) for successfull outcome message\n", S1AP_DEBUG("Unknown procedure ID (%d) for successfull outcome message\n",
(int)successfullOutcome_p->procedureCode); (int)successfullOutcome_p->procedureCode);
...@@ -87,7 +90,7 @@ static int s1ap_eNB_decode_successful_outcome(s1ap_message *message, ...@@ -87,7 +90,7 @@ static int s1ap_eNB_decode_successful_outcome(s1ap_message *message,
} }
static int s1ap_eNB_decode_unsuccessful_outcome(s1ap_message *message, static int s1ap_eNB_decode_unsuccessful_outcome(s1ap_message *message,
UnsuccessfulOutcome_t *unSuccessfullOutcome_p) S1ap_UnsuccessfulOutcome_t *unSuccessfullOutcome_p)
{ {
DevAssert(unSuccessfullOutcome_p != NULL); DevAssert(unSuccessfullOutcome_p != NULL);
...@@ -95,9 +98,10 @@ static int s1ap_eNB_decode_unsuccessful_outcome(s1ap_message *message, ...@@ -95,9 +98,10 @@ static int s1ap_eNB_decode_unsuccessful_outcome(s1ap_message *message,
message->criticality = unSuccessfullOutcome_p->criticality; message->criticality = unSuccessfullOutcome_p->criticality;
switch(unSuccessfullOutcome_p->procedureCode) { switch(unSuccessfullOutcome_p->procedureCode) {
case ProcedureCode_id_S1Setup: case S1ap_ProcedureCode_id_S1Setup:
return s1ap_decode_s1setupfailureies(&message->msg.s1SetupFailureIEs, return s1ap_decode_s1ap_s1setupfailureies(
&unSuccessfullOutcome_p->value); &message->msg.s1ap_S1SetupFailureIEs, &unSuccessfullOutcome_p->value);
default: default:
S1AP_DEBUG("Unknown procedure ID (%d) for unsuccessfull outcome message\n", S1AP_DEBUG("Unknown procedure ID (%d) for unsuccessfull outcome message\n",
(int)unSuccessfullOutcome_p->procedureCode); (int)unSuccessfullOutcome_p->procedureCode);
......
...@@ -200,7 +200,7 @@ typedef struct s1ap_eNB_mme_data_s { ...@@ -200,7 +200,7 @@ typedef struct s1ap_eNB_mme_data_s {
uint16_t in_streams; uint16_t in_streams;
uint16_t out_streams; uint16_t out_streams;
/* Connexion id used when SCTP association is not established yet */ /* Connexion id used between SCTP/S1AP */
uint16_t cnx_id; uint16_t cnx_id;
/* SCTP association id */ /* SCTP association id */
...@@ -270,10 +270,6 @@ inline int s1ap_eNB_compare_assoc_id( ...@@ -270,10 +270,6 @@ inline int s1ap_eNB_compare_assoc_id(
RB_PROTOTYPE(s1ap_mme_map, s1ap_eNB_mme_data_s, entry, RB_PROTOTYPE(s1ap_mme_map, s1ap_eNB_mme_data_s, entry,
s1ap_eNB_compare_assoc_id); s1ap_eNB_compare_assoc_id);
inline struct s1ap_eNB_mme_data_s *s1ap_eNB_get_MME(
s1ap_eNB_instance_t *instance_p,
int32_t assoc_id, uint16_t cnx_id);
int s1ap_eNB_init(s1ap_eNB_instance_t *eNB_desc_p, int s1ap_eNB_init(s1ap_eNB_instance_t *eNB_desc_p,
char *local_ip_addr[], int nb_local_ip, char *local_ip_addr[], int nb_local_ip,
char *remote_ip_addr[], int nb_remote_ip); char *remote_ip_addr[], int nb_remote_ip);
......
...@@ -48,28 +48,36 @@ ...@@ -48,28 +48,36 @@
static inline int s1ap_eNB_encode_initiating(s1ap_message *message, static inline int s1ap_eNB_encode_initiating(s1ap_message *message,
uint8_t **buffer, uint8_t **buffer,
uint32_t *len); uint32_t *len);
static inline int s1ap_eNB_encode_successfull_outcome(s1ap_message *message, static inline int s1ap_eNB_encode_successfull_outcome(s1ap_message *message,
uint8_t **buffer, uint32_t *len); uint8_t **buffer, uint32_t *len);
static inline int s1ap_eNB_encode_unsuccessfull_outcome(s1ap_message *message, static inline int s1ap_eNB_encode_unsuccessfull_outcome(s1ap_message *message,
uint8_t **buffer, uint32_t *len); uint8_t **buffer, uint32_t *len);
static inline int s1ap_eNB_encode_s1_setup_request(S1SetupRequestIEs_t
*s1SetupRequestIEs, uint8_t **buffer, uint32_t *length); static inline int s1ap_eNB_encode_s1_setup_request(
static inline int s1ap_eNB_encode_trace_failure(TraceFailureIndicationIEs_t S1ap_S1SetupRequestIEs_t *s1SetupRequestIEs, uint8_t **buffer, uint32_t *length);
static inline int s1ap_eNB_encode_trace_failure(S1ap_TraceFailureIndicationIEs_t
*trace_failure_ies_p, uint8_t **buffer, *trace_failure_ies_p, uint8_t **buffer,
uint32_t *length); uint32_t *length);
static inline int s1ap_eNB_encode_initial_ue_message(InitialUEMessageIEs_t
static inline int s1ap_eNB_encode_initial_ue_message(S1ap_InitialUEMessageIEs_t
*initialUEmessageIEs_p, uint8_t **buffer, *initialUEmessageIEs_p, uint8_t **buffer,
uint32_t *length); uint32_t *length);
static inline int s1ap_eNB_encode_uplink_nas_transport(UplinkNASTransportIEs_t
static inline int s1ap_eNB_encode_uplink_nas_transport(S1ap_UplinkNASTransportIEs_t
*uplinkNASTransportIEs, *uplinkNASTransportIEs,
uint8_t **buffer, uint8_t **buffer,
uint32_t *length); uint32_t *length);
static inline int s1ap_eNB_encode_ue_capability_info_indication( static inline int s1ap_eNB_encode_ue_capability_info_indication(
UECapabilityInfoIndicationIEs_t *ueCapabilityInfoIndicationIEs, S1ap_UECapabilityInfoIndicationIEs_t *ueCapabilityInfoIndicationIEs,
uint8_t **buffer, uint8_t **buffer,
uint32_t *length); uint32_t *length);
static inline int s1ap_eNB_encode_initial_context_setup_response( static inline int s1ap_eNB_encode_initial_context_setup_response(
InitialContextSetupResponseIEs_t *initialContextSetupResponseIEs, S1ap_InitialContextSetupResponseIEs_t *initialContextSetupResponseIEs,
uint8_t **buffer, uint8_t **buffer,
uint32_t *length); uint32_t *length);
...@@ -96,24 +104,25 @@ int s1ap_eNB_encode_pdu(s1ap_message *message, uint8_t **buffer, uint32_t *len) ...@@ -96,24 +104,25 @@ int s1ap_eNB_encode_pdu(s1ap_message *message, uint8_t **buffer, uint32_t *len)
static inline static inline
int s1ap_eNB_encode_initiating(s1ap_message *message, int s1ap_eNB_encode_initiating(s1ap_message *message,
uint8_t **buffer, uint8_t **buffer, uint32_t *len)
uint32_t *len)
{ {
switch(message->procedureCode) { switch(message->procedureCode) {
case ProcedureCode_id_S1Setup: case S1ap_ProcedureCode_id_S1Setup:
return s1ap_eNB_encode_s1_setup_request(&message->msg.s1SetupRequestIEs, return s1ap_eNB_encode_s1_setup_request(
buffer, len); &message->msg.s1ap_S1SetupRequestIEs, buffer, len);
case ProcedureCode_id_uplinkNASTransport:
return s1ap_eNB_encode_uplink_nas_transport(&message->msg.uplinkNASTransportIEs, case S1ap_ProcedureCode_id_uplinkNASTransport:
buffer, len); return s1ap_eNB_encode_uplink_nas_transport(
case ProcedureCode_id_UECapabilityInfoIndication: &message->msg.s1ap_UplinkNASTransportIEs, buffer, len);
case S1ap_ProcedureCode_id_UECapabilityInfoIndication:
return s1ap_eNB_encode_ue_capability_info_indication( return s1ap_eNB_encode_ue_capability_info_indication(
&message->msg.ueCapabilityInfoIndicationIEs, &message->msg.s1ap_UECapabilityInfoIndicationIEs, buffer, len);
buffer, len);
case ProcedureCode_id_initialUEMessage: case S1ap_ProcedureCode_id_initialUEMessage:
return s1ap_eNB_encode_initial_ue_message( return s1ap_eNB_encode_initial_ue_message(
&message->msg.initialUEMessageIEs, &message->msg.s1ap_InitialUEMessageIEs, buffer, len);
buffer, len);
default: default:
S1AP_DEBUG("Unknown procedure ID (%d) for initiating message\n", S1AP_DEBUG("Unknown procedure ID (%d) for initiating message\n",
(int)message->procedureCode); (int)message->procedureCode);
...@@ -127,10 +136,9 @@ int s1ap_eNB_encode_successfull_outcome(s1ap_message *message, ...@@ -127,10 +136,9 @@ int s1ap_eNB_encode_successfull_outcome(s1ap_message *message,
uint8_t **buffer, uint32_t *len) uint8_t **buffer, uint32_t *len)
{ {
switch(message->procedureCode) { switch(message->procedureCode) {
case ProcedureCode_id_InitialContextSetup: case S1ap_ProcedureCode_id_InitialContextSetup:
return s1ap_eNB_encode_initial_context_setup_response( return s1ap_eNB_encode_initial_context_setup_response(
&message->msg.initialContextSetupResponseIEs, &message->msg.s1ap_InitialContextSetupResponseIEs, buffer, len);
buffer, len);
default: default:
S1AP_DEBUG("Unknown procedure ID (%d) for successfull outcome message\n", S1AP_DEBUG("Unknown procedure ID (%d) for successfull outcome message\n",
(int)message->procedureCode); (int)message->procedureCode);
...@@ -154,147 +162,151 @@ int s1ap_eNB_encode_unsuccessfull_outcome(s1ap_message *message, ...@@ -154,147 +162,151 @@ int s1ap_eNB_encode_unsuccessfull_outcome(s1ap_message *message,
static inline static inline
int s1ap_eNB_encode_ue_capability_info_indication( int s1ap_eNB_encode_ue_capability_info_indication(
UECapabilityInfoIndicationIEs_t *ueCapabilityInfoIndicationIEs, S1ap_UECapabilityInfoIndicationIEs_t *ueCapabilityInfoIndicationIEs,
uint8_t **buffer, uint8_t **buffer,
uint32_t *length) uint32_t *length)
{ {
UECapabilityInfoIndication_t ueCapabilityInfoIndication; S1ap_UECapabilityInfoIndication_t ueCapabilityInfoIndication;
UECapabilityInfoIndication_t *ueCapabilityInfoIndication_p = S1ap_UECapabilityInfoIndication_t *ueCapabilityInfoIndication_p =
&ueCapabilityInfoIndication; &ueCapabilityInfoIndication;
memset((void *)ueCapabilityInfoIndication_p, 0, memset((void *)ueCapabilityInfoIndication_p, 0, sizeof(ueCapabilityInfoIndication));
sizeof(UECapabilityInfoIndication_t));
if (s1ap_encode_uecapabilityinfoindicationies(ueCapabilityInfoIndication_p, if (s1ap_encode_s1ap_uecapabilityinfoindicationies(
ueCapabilityInfoIndicationIEs) < 0) { ueCapabilityInfoIndication_p, ueCapabilityInfoIndicationIEs) < 0)
{
return -1; return -1;
} }
return s1ap_generate_initiating_message(buffer, return s1ap_generate_initiating_message(buffer,
length, length,
ProcedureCode_id_UECapabilityInfoIndication, S1ap_ProcedureCode_id_UECapabilityInfoIndication,
Criticality_ignore, S1ap_Criticality_ignore,
&asn_DEF_UECapabilityInfoIndication, &asn_DEF_S1ap_UECapabilityInfoIndication,
ueCapabilityInfoIndication_p); ueCapabilityInfoIndication_p);
} }
static inline static inline
int s1ap_eNB_encode_uplink_nas_transport(UplinkNASTransportIEs_t int s1ap_eNB_encode_uplink_nas_transport(
*uplinkNASTransportIEs, S1ap_UplinkNASTransportIEs_t *uplinkNASTransportIEs,
uint8_t **buffer, uint8_t **buffer,
uint32_t *length) uint32_t *length)
{ {
UplinkNASTransport_t uplinkNASTransport; S1ap_UplinkNASTransport_t uplinkNASTransport;
UplinkNASTransport_t *uplinkNASTransport_p = &uplinkNASTransport; S1ap_UplinkNASTransport_t *uplinkNASTransport_p = &uplinkNASTransport;
memset((void *)uplinkNASTransport_p, 0, sizeof(UplinkNASTransport_t)); memset((void *)uplinkNASTransport_p, 0, sizeof(uplinkNASTransport));
if (s1ap_encode_uplinknastransporties(uplinkNASTransport_p, if (s1ap_encode_s1ap_uplinknastransporties(
uplinkNASTransportIEs) < 0) { uplinkNASTransport_p, uplinkNASTransportIEs) < 0)
{
return -1; return -1;
} }
return s1ap_generate_initiating_message(buffer, return s1ap_generate_initiating_message(buffer,
length, length,
ProcedureCode_id_uplinkNASTransport, S1ap_ProcedureCode_id_uplinkNASTransport,
Criticality_ignore, S1ap_Criticality_ignore,
&asn_DEF_UplinkNASTransport, &asn_DEF_S1ap_UplinkNASTransport,
uplinkNASTransport_p); uplinkNASTransport_p);
} }
static inline static inline
int s1ap_eNB_encode_s1_setup_request(S1SetupRequestIEs_t int s1ap_eNB_encode_s1_setup_request(
*s1SetupRequestIEs, S1ap_S1SetupRequestIEs_t *s1SetupRequestIEs,
uint8_t **buffer, uint8_t **buffer,
uint32_t *length) uint32_t *length)
{ {
S1SetupRequest_t s1SetupRequest; S1ap_S1SetupRequest_t s1SetupRequest;
S1SetupRequest_t *s1SetupRequest_p = &s1SetupRequest; S1ap_S1SetupRequest_t *s1SetupRequest_p = &s1SetupRequest;
memset((void *)s1SetupRequest_p, 0, sizeof(S1SetupRequest_t)); memset((void *)s1SetupRequest_p, 0, sizeof(s1SetupRequest));
if (s1ap_encode_s1setuprequesties(s1SetupRequest_p, s1SetupRequestIEs) < 0) { if (s1ap_encode_s1ap_s1setuprequesties(s1SetupRequest_p, s1SetupRequestIEs) < 0) {
return -1; return -1;
} }
return s1ap_generate_initiating_message(buffer, return s1ap_generate_initiating_message(buffer,
length, length,
ProcedureCode_id_S1Setup, S1ap_ProcedureCode_id_S1Setup,
Criticality_reject, S1ap_Criticality_reject,
&asn_DEF_S1SetupRequest, &asn_DEF_S1ap_S1SetupRequest,
s1SetupRequest_p); s1SetupRequest_p);
} }
static inline static inline
int s1ap_eNB_encode_initial_ue_message(InitialUEMessageIEs_t int s1ap_eNB_encode_initial_ue_message(
*initialUEmessageIEs_p, S1ap_InitialUEMessageIEs_t *initialUEmessageIEs_p,
uint8_t **buffer, uint8_t **buffer,
uint32_t *length) uint32_t *length)
{ {
InitialUEMessage_t initialUEMessage; S1ap_InitialUEMessage_t initialUEMessage;
InitialUEMessage_t *initialUEMessage_p = &initialUEMessage; S1ap_InitialUEMessage_t *initialUEMessage_p = &initialUEMessage;
memset((void *)initialUEMessage_p, 0, sizeof(InitialUEMessage_t)); memset((void *)initialUEMessage_p, 0, sizeof(initialUEMessage));
if (s1ap_encode_initialuemessageies(initialUEMessage_p, if (s1ap_encode_s1ap_initialuemessageies(
initialUEmessageIEs_p) < 0) { initialUEMessage_p, initialUEmessageIEs_p) < 0)
{
return -1; return -1;
} }
return s1ap_generate_initiating_message(buffer, return s1ap_generate_initiating_message(buffer,
length, length,
ProcedureCode_id_initialUEMessage, S1ap_ProcedureCode_id_initialUEMessage,
Criticality_reject, S1ap_Criticality_reject,
&asn_DEF_InitialUEMessage, &asn_DEF_S1ap_InitialUEMessage,
initialUEMessage_p); initialUEMessage_p);
} }
static inline static inline
int s1ap_eNB_encode_trace_failure(TraceFailureIndicationIEs_t int s1ap_eNB_encode_trace_failure(
*trace_failure_ies_p, S1ap_TraceFailureIndicationIEs_t *trace_failure_ies_p,
uint8_t **buffer, uint8_t **buffer,
uint32_t *length) uint32_t *length)
{ {
TraceFailureIndication_t trace_failure; S1ap_TraceFailureIndication_t trace_failure;
TraceFailureIndication_t *trace_failure_p = &trace_failure; S1ap_TraceFailureIndication_t *trace_failure_p = &trace_failure;
memset((void *)trace_failure_p, 0, sizeof(TraceFailureIndication_t)); memset((void *)trace_failure_p, 0, sizeof(trace_failure));
if (s1ap_encode_tracefailureindicationies(trace_failure_p, if (s1ap_encode_s1ap_tracefailureindicationies(
trace_failure_ies_p) < 0) { trace_failure_p, trace_failure_ies_p) < 0)
{
return -1; return -1;
} }
return s1ap_generate_initiating_message(buffer, return s1ap_generate_initiating_message(buffer,
length, length,
ProcedureCode_id_TraceFailureIndication, S1ap_ProcedureCode_id_TraceFailureIndication,
Criticality_reject, S1ap_Criticality_reject,
&asn_DEF_TraceFailureIndication, &asn_DEF_S1ap_TraceFailureIndication,
trace_failure_p); trace_failure_p);
} }
static inline static inline
int s1ap_eNB_encode_initial_context_setup_response( int s1ap_eNB_encode_initial_context_setup_response(
InitialContextSetupResponseIEs_t *initialContextSetupResponseIEs, S1ap_InitialContextSetupResponseIEs_t *initialContextSetupResponseIEs,
uint8_t **buffer, uint8_t **buffer,
uint32_t *length) uint32_t *length)
{ {
InitialContextSetupResponse_t initial_context_setup_response; S1ap_InitialContextSetupResponse_t initial_context_setup_response;
InitialContextSetupResponse_t *initial_context_setup_response_p = S1ap_InitialContextSetupResponse_t *initial_context_setup_response_p =
&initial_context_setup_response; &initial_context_setup_response;
memset((void *)initial_context_setup_response_p, 0, memset((void *)initial_context_setup_response_p, 0,
sizeof(InitialContextSetupResponse_t)); sizeof(initial_context_setup_response));
if (s1ap_encode_initialcontextsetupresponseies(initial_context_setup_response_p, if (s1ap_encode_s1ap_initialcontextsetupresponseies(
initialContextSetupResponseIEs) < 0) { initial_context_setup_response_p, initialContextSetupResponseIEs) < 0)
{
return -1; return -1;
} }
return s1ap_generate_successfull_outcome(buffer, return s1ap_generate_successfull_outcome(buffer,
length, length,
ProcedureCode_id_InitialContextSetup, S1ap_ProcedureCode_id_InitialContextSetup,
Criticality_reject, S1ap_Criticality_reject,
&asn_DEF_InitialContextSetupResponse, &asn_DEF_S1ap_InitialContextSetupResponse,
initial_context_setup_response_p); initial_context_setup_response_p);
} }
...@@ -49,6 +49,7 @@ ...@@ -49,6 +49,7 @@
#include "s1ap_eNB_ue_context.h" #include "s1ap_eNB_ue_context.h"
#include "s1ap_eNB_trace.h" #include "s1ap_eNB_trace.h"
#include "s1ap_eNB_nas_procedures.h" #include "s1ap_eNB_nas_procedures.h"
#include "s1ap_eNB_management_procedures.h"
#include "s1ap_eNB_default_values.h" #include "s1ap_eNB_default_values.h"
...@@ -185,13 +186,13 @@ int s1ap_eNB_handle_s1_setup_response(uint32_t assoc_id, ...@@ -185,13 +186,13 @@ int s1ap_eNB_handle_s1_setup_response(uint32_t assoc_id,
uint32_t stream, uint32_t stream,
struct s1ap_message_s *message_p) struct s1ap_message_s *message_p)
{ {
S1SetupResponseIEs_t *s1SetupResponse_p; S1ap_S1SetupResponseIEs_t *s1SetupResponse_p;
s1ap_eNB_mme_data_t *mme_desc_p; s1ap_eNB_mme_data_t *mme_desc_p;
int i; int i;
DevAssert(message_p != NULL); DevAssert(message_p != NULL);
s1SetupResponse_p = &message_p->msg.s1SetupResponseIEs; s1SetupResponse_p = &message_p->msg.s1ap_S1SetupResponseIEs;
/* S1 Setup Response == Non UE-related procedure -> stream 0 */ /* S1 Setup Response == Non UE-related procedure -> stream 0 */
if (stream != 0) { if (stream != 0) {
...@@ -212,11 +213,11 @@ int s1ap_eNB_handle_s1_setup_response(uint32_t assoc_id, ...@@ -212,11 +213,11 @@ int s1ap_eNB_handle_s1_setup_response(uint32_t assoc_id,
DevAssert(s1SetupResponse_p->servedGUMMEIs.list.count == 1); DevAssert(s1SetupResponse_p->servedGUMMEIs.list.count == 1);
for (i = 0; i < s1SetupResponse_p->servedGUMMEIs.list.count; i++) { for (i = 0; i < s1SetupResponse_p->servedGUMMEIs.list.count; i++) {
struct ServedGUMMEIsItem *gummei_item_p; struct S1ap_ServedGUMMEIsItem *gummei_item_p;
struct served_gummei_s *new_gummei_p; struct served_gummei_s *new_gummei_p;
int j; int j;
gummei_item_p = (struct ServedGUMMEIsItem *) gummei_item_p = (struct S1ap_ServedGUMMEIsItem *)
s1SetupResponse_p->servedGUMMEIs.list.array[i]; s1SetupResponse_p->servedGUMMEIs.list.array[i];
new_gummei_p = calloc(1, sizeof(struct served_gummei_s)); new_gummei_p = calloc(1, sizeof(struct served_gummei_s));
...@@ -225,7 +226,7 @@ int s1ap_eNB_handle_s1_setup_response(uint32_t assoc_id, ...@@ -225,7 +226,7 @@ int s1ap_eNB_handle_s1_setup_response(uint32_t assoc_id,
STAILQ_INIT(&new_gummei_p->mme_codes); STAILQ_INIT(&new_gummei_p->mme_codes);
for (j = 0; j < gummei_item_p->servedPLMNs.list.count; j++) { for (j = 0; j < gummei_item_p->servedPLMNs.list.count; j++) {
PLMNidentity_t *plmn_identity_p; S1ap_PLMNidentity_t *plmn_identity_p;
struct plmn_identity_s *new_plmn_identity_p; struct plmn_identity_s *new_plmn_identity_p;
plmn_identity_p = gummei_item_p->servedPLMNs.list.array[i]; plmn_identity_p = gummei_item_p->servedPLMNs.list.array[i];
...@@ -236,7 +237,7 @@ int s1ap_eNB_handle_s1_setup_response(uint32_t assoc_id, ...@@ -236,7 +237,7 @@ int s1ap_eNB_handle_s1_setup_response(uint32_t assoc_id,
new_gummei_p->nb_served_plmns++; new_gummei_p->nb_served_plmns++;
} }
for (j = 0; j < gummei_item_p->servedGroupIDs.list.count; j++) { for (j = 0; j < gummei_item_p->servedGroupIDs.list.count; j++) {
MME_Group_ID_t *mme_group_id_p; S1ap_MME_Group_ID_t *mme_group_id_p;
struct served_group_id_s *new_group_id_p; struct served_group_id_s *new_group_id_p;
mme_group_id_p = gummei_item_p->servedGroupIDs.list.array[i]; mme_group_id_p = gummei_item_p->servedGroupIDs.list.array[i];
...@@ -246,7 +247,7 @@ int s1ap_eNB_handle_s1_setup_response(uint32_t assoc_id, ...@@ -246,7 +247,7 @@ int s1ap_eNB_handle_s1_setup_response(uint32_t assoc_id,
new_gummei_p->nb_group_id++; new_gummei_p->nb_group_id++;
} }
for (j = 0; j < gummei_item_p->servedMMECs.list.count; j++) { for (j = 0; j < gummei_item_p->servedMMECs.list.count; j++) {
MME_Code_t *mme_code_p; S1ap_MME_Code_t *mme_code_p;
struct mme_code_s *new_mme_code_p; struct mme_code_s *new_mme_code_p;
mme_code_p = gummei_item_p->servedMMECs.list.array[i]; mme_code_p = gummei_item_p->servedMMECs.list.array[i];
...@@ -259,12 +260,12 @@ int s1ap_eNB_handle_s1_setup_response(uint32_t assoc_id, ...@@ -259,12 +260,12 @@ int s1ap_eNB_handle_s1_setup_response(uint32_t assoc_id,
STAILQ_INSERT_TAIL(&mme_desc_p->served_gummei, new_gummei_p, next); STAILQ_INSERT_TAIL(&mme_desc_p->served_gummei, new_gummei_p, next);
} }
/* Free contents of the list */ /* Free contents of the list */
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_ServedGUMMEIs, ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_S1ap_ServedGUMMEIs,
(void *)&s1SetupResponse_p->servedGUMMEIs); (void *)&s1SetupResponse_p->servedGUMMEIs);
/* Set the capacity of this MME */ /* Set the capacity of this MME */
mme_desc_p->relative_mme_capacity = s1SetupResponse_p->relativeMMECapacity; mme_desc_p->relative_mme_capacity = s1SetupResponse_p->relativeMMECapacity;
/* Optionaly set the mme name */ /* Optionaly set the mme name */
if (s1SetupResponse_p->presenceMask & S1SETUPRESPONSEIES_MMENAME_PRESENT) { if (s1SetupResponse_p->presenceMask & S1AP_S1SETUPRESPONSEIES_MMENAME_PRESENT) {
mme_desc_p->mme_name = calloc(s1SetupResponse_p->mmEname.size + 1, sizeof(char)); mme_desc_p->mme_name = calloc(s1SetupResponse_p->mmEname.size + 1, sizeof(char));
memcpy(mme_desc_p->mme_name, s1SetupResponse_p->mmEname.buf, memcpy(mme_desc_p->mme_name, s1SetupResponse_p->mmEname.buf,
s1SetupResponse_p->mmEname.size); s1SetupResponse_p->mmEname.size);
...@@ -340,10 +341,10 @@ int s1ap_eNB_handle_initial_context_request(uint32_t assoc_id, ...@@ -340,10 +341,10 @@ int s1ap_eNB_handle_initial_context_request(uint32_t assoc_id,
s1ap_eNB_mme_data_t *mme_desc_p; s1ap_eNB_mme_data_t *mme_desc_p;
s1ap_eNB_ue_context_t *ue_desc_p; s1ap_eNB_ue_context_t *ue_desc_p;
InitialContextSetupRequestIEs_t *initialContextSetupRequest_p; S1ap_InitialContextSetupRequestIEs_t *initialContextSetupRequest_p;
DevAssert(message_p != NULL); DevAssert(message_p != NULL);
initialContextSetupRequest_p = &message_p->msg.initialContextSetupRequestIEs; initialContextSetupRequest_p = &message_p->msg.s1ap_InitialContextSetupRequestIEs;
if ((mme_desc_p = s1ap_eNB_get_MME(NULL, assoc_id, 0)) == NULL) { if ((mme_desc_p = s1ap_eNB_get_MME(NULL, assoc_id, 0)) == NULL) {
S1AP_ERROR("[SCTP %d] Received initial context setup request for non " S1AP_ERROR("[SCTP %d] Received initial context setup request for non "
......
...@@ -55,8 +55,9 @@ int s1ap_eNB_handle_nas_first_req(s1ap_nas_first_req_t *s1ap_nas_first_req_p) ...@@ -55,8 +55,9 @@ int s1ap_eNB_handle_nas_first_req(s1ap_nas_first_req_t *s1ap_nas_first_req_p)
struct s1ap_eNB_mme_data_s *mme_desc_p; struct s1ap_eNB_mme_data_s *mme_desc_p;
struct s1ap_eNB_ue_context_s *ue_desc_p; struct s1ap_eNB_ue_context_s *ue_desc_p;
s1ap_message message; s1ap_message message;
InitialUEMessageIEs_t *initial_ue_message_p;
S1ap_InitialUEMessageIEs_t *initial_ue_message_p;
uint8_t *buffer; uint8_t *buffer;
uint32_t length; uint32_t length;
...@@ -69,10 +70,10 @@ int s1ap_eNB_handle_nas_first_req(s1ap_nas_first_req_t *s1ap_nas_first_req_p) ...@@ -69,10 +70,10 @@ int s1ap_eNB_handle_nas_first_req(s1ap_nas_first_req_t *s1ap_nas_first_req_p)
memset(&message, 0, sizeof(s1ap_message)); memset(&message, 0, sizeof(s1ap_message));
message.direction = S1AP_PDU_PR_initiatingMessage; message.direction = S1AP_PDU_PR_initiatingMessage;
message.procedureCode = ProcedureCode_id_initialUEMessage; message.procedureCode = S1ap_ProcedureCode_id_initialUEMessage;
initial_ue_message_p = &message.msg.initialUEMessageIEs; initial_ue_message_p = &message.msg.s1ap_InitialUEMessageIEs;
/* Select the MME corresponding to the provided GUMMEI. /* Select the MME corresponding to the provided GUMMEI.
* If no MME corresponds to the GUMMEI, the function selects the MME with the * If no MME corresponds to the GUMMEI, the function selects the MME with the
...@@ -132,14 +133,14 @@ int s1ap_eNB_handle_nas_first_req(s1ap_nas_first_req_t *s1ap_nas_first_req_p) ...@@ -132,14 +133,14 @@ int s1ap_eNB_handle_nas_first_req(s1ap_nas_first_req_t *s1ap_nas_first_req_p)
initial_ue_message_p->rrC_Establishment_Cause = s1ap_nas_first_req_p->establishment_cause; initial_ue_message_p->rrC_Establishment_Cause = s1ap_nas_first_req_p->establishment_cause;
if (s1ap_nas_first_req_p->ue_identity.present == S_TMSI_PROVIDED) { if (s1ap_nas_first_req_p->ue_identity.present == S_TMSI_PROVIDED) {
initial_ue_message_p->presenceMask |= INITIALUEMESSAGEIES_S_TMSI_PRESENT; initial_ue_message_p->presenceMask |= S1AP_INITIALUEMESSAGEIES_S_TMSI_PRESENT;
MME_CODE_TO_OCTET_STRING(s1ap_nas_first_req_p->ue_identity.identity.s_tmsi.mme_code, MME_CODE_TO_OCTET_STRING(s1ap_nas_first_req_p->ue_identity.identity.s_tmsi.mme_code,
&initial_ue_message_p->s_tmsi.mMEC); &initial_ue_message_p->s_tmsi.mMEC);
M_TMSI_TO_OCTET_STRING(s1ap_nas_first_req_p->ue_identity.identity.s_tmsi.m_tmsi, M_TMSI_TO_OCTET_STRING(s1ap_nas_first_req_p->ue_identity.identity.s_tmsi.m_tmsi,
&initial_ue_message_p->s_tmsi.m_TMSI); &initial_ue_message_p->s_tmsi.m_TMSI);
} else { } else {
initial_ue_message_p->presenceMask |= INITIALUEMESSAGEIES_GUMMEI_ID_PRESENT; initial_ue_message_p->presenceMask |= S1AP_INITIALUEMESSAGEIES_GUMMEI_ID_PRESENT;
MCC_MNC_TO_PLMNID(s1ap_nas_first_req_p->ue_identity.identity.gummei.mcc, MCC_MNC_TO_PLMNID(s1ap_nas_first_req_p->ue_identity.identity.gummei.mcc,
s1ap_nas_first_req_p->ue_identity.identity.gummei.mnc, s1ap_nas_first_req_p->ue_identity.identity.gummei.mnc,
...@@ -186,14 +187,15 @@ int s1ap_eNB_handle_nas_downlink(uint32_t assoc_id, ...@@ -186,14 +187,15 @@ int s1ap_eNB_handle_nas_downlink(uint32_t assoc_id,
uint32_t stream, uint32_t stream,
struct s1ap_message_s *message_p) struct s1ap_message_s *message_p)
{ {
DownlinkNASTransportIEs_t *downlink_NAS_transport_p; S1ap_DownlinkNASTransportIEs_t *downlink_NAS_transport_p;
s1ap_eNB_mme_data_t *mme_desc_p;
s1ap_eNB_ue_context_t *ue_desc_p; s1ap_eNB_mme_data_t *mme_desc_p;
s1ap_eNB_instance_t *s1ap_eNB_instance; s1ap_eNB_ue_context_t *ue_desc_p;
s1ap_eNB_instance_t *s1ap_eNB_instance;
DevAssert(message_p != NULL); DevAssert(message_p != NULL);
downlink_NAS_transport_p = &message_p->msg.downlinkNASTransportIEs; downlink_NAS_transport_p = &message_p->msg.s1ap_DownlinkNASTransportIEs;
/* UE-related procedure -> stream != 0 */ /* UE-related procedure -> stream != 0 */
if (stream == 0) { if (stream == 0) {
...@@ -244,8 +246,8 @@ int s1ap_eNB_handle_nas_downlink(uint32_t assoc_id, ...@@ -244,8 +246,8 @@ int s1ap_eNB_handle_nas_downlink(uint32_t assoc_id,
int s1ap_eNB_nas_uplink(s1ap_uplink_nas_t *s1ap_uplink_nas_p) int s1ap_eNB_nas_uplink(s1ap_uplink_nas_t *s1ap_uplink_nas_p)
{ {
struct s1ap_eNB_ue_context_s *ue_context_p; struct s1ap_eNB_ue_context_s *ue_context_p;
UplinkNASTransportIEs_t *uplink_NAS_transport_p;
s1ap_eNB_instance_t *s1ap_eNB_instance_p; s1ap_eNB_instance_t *s1ap_eNB_instance_p;
S1ap_UplinkNASTransportIEs_t *uplink_NAS_transport_p;
s1ap_message message; s1ap_message message;
...@@ -281,10 +283,10 @@ int s1ap_eNB_nas_uplink(s1ap_uplink_nas_t *s1ap_uplink_nas_p) ...@@ -281,10 +283,10 @@ int s1ap_eNB_nas_uplink(s1ap_uplink_nas_t *s1ap_uplink_nas_p)
/* Prepare the S1AP message to encode */ /* Prepare the S1AP message to encode */
memset(&message, 0, sizeof(s1ap_message)); memset(&message, 0, sizeof(s1ap_message));
message.direction = S1AP_PDU_PR_initiatingMessage; message.direction = S1AP_PDU_PR_initiatingMessage;
message.procedureCode = ProcedureCode_id_uplinkNASTransport; message.procedureCode = S1ap_ProcedureCode_id_uplinkNASTransport;
uplink_NAS_transport_p = &message.msg.uplinkNASTransportIEs; uplink_NAS_transport_p = &message.msg.s1ap_UplinkNASTransportIEs;
uplink_NAS_transport_p->mme_ue_s1ap_id = ue_context_p->mme_ue_s1ap_id; uplink_NAS_transport_p->mme_ue_s1ap_id = ue_context_p->mme_ue_s1ap_id;
uplink_NAS_transport_p->eNB_UE_S1AP_ID = ue_context_p->eNB_ue_s1ap_id; uplink_NAS_transport_p->eNB_UE_S1AP_ID = ue_context_p->eNB_ue_s1ap_id;
......
...@@ -49,8 +49,7 @@ ...@@ -49,8 +49,7 @@
#include "s1ap_eNB_ue_context.h" #include "s1ap_eNB_ue_context.h"
#include "s1ap_eNB_encoder.h" #include "s1ap_eNB_encoder.h"
#include "s1ap_eNB_overload.h" #include "s1ap_eNB_overload.h"
#include "s1ap_eNB_management_procedures.h"
#include "sctp_primitives_client.h"
#include "assertions.h" #include "assertions.h"
...@@ -58,16 +57,16 @@ int s1ap_eNB_handle_overload_start(uint32_t assoc_id, ...@@ -58,16 +57,16 @@ int s1ap_eNB_handle_overload_start(uint32_t assoc_id,
uint32_t stream, uint32_t stream,
struct s1ap_message_s *message_p) struct s1ap_message_s *message_p)
{ {
OverloadStartIEs_t *overload_start_p; S1ap_OverloadStartIEs_t *overload_start_p;
s1ap_eNB_mme_data_t *mme_desc_p; s1ap_eNB_mme_data_t *mme_desc_p;
DevAssert(message_p != NULL); DevAssert(message_p != NULL);
overload_start_p = &message_p->msg.overloadStartIEs; overload_start_p = &message_p->msg.s1ap_OverloadStartIEs;
DevCheck(overload_start_p->overloadResponse.present == DevCheck(overload_start_p->overloadResponse.present ==
OverloadResponse_PR_overloadAction, S1ap_OverloadResponse_PR_overloadAction,
OverloadResponse_PR_overloadAction, 0, 0); S1ap_OverloadResponse_PR_overloadAction, 0, 0);
/* Non UE-associated signalling -> stream 0 */ /* Non UE-associated signalling -> stream 0 */
DevCheck(stream == 0, stream, 0, 0); DevCheck(stream == 0, stream, 0, 0);
......
...@@ -45,14 +45,15 @@ ...@@ -45,14 +45,15 @@
#include "s1ap_eNB_encoder.h" #include "s1ap_eNB_encoder.h"
#include "s1ap_eNB_trace.h" #include "s1ap_eNB_trace.h"
#include "s1ap_eNB_itti_messaging.h" #include "s1ap_eNB_itti_messaging.h"
#include "s1ap_eNB_management_procedures.h"
static static
void s1ap_eNB_generate_trace_failure(struct s1ap_eNB_ue_context_s *ue_desc_p, void s1ap_eNB_generate_trace_failure(struct s1ap_eNB_ue_context_s *ue_desc_p,
E_UTRAN_Trace_ID_t *trace_id, S1ap_E_UTRAN_Trace_ID_t *trace_id,
Cause_t *cause_p) S1ap_Cause_t *cause_p)
{ {
s1ap_message message; s1ap_message message;
TraceFailureIndicationIEs_t *trace_failure_p; S1ap_TraceFailureIndicationIEs_t *trace_failure_p;
uint8_t *buffer; uint8_t *buffer;
uint32_t length; uint32_t length;
...@@ -62,13 +63,13 @@ void s1ap_eNB_generate_trace_failure(struct s1ap_eNB_ue_context_s *ue_desc_p, ...@@ -62,13 +63,13 @@ void s1ap_eNB_generate_trace_failure(struct s1ap_eNB_ue_context_s *ue_desc_p,
memset(&message, 0, sizeof(s1ap_message)); memset(&message, 0, sizeof(s1ap_message));
trace_failure_p = &message.msg.traceFailureIndicationIEs; trace_failure_p = &message.msg.s1ap_TraceFailureIndicationIEs;
trace_failure_p->mme_ue_s1ap_id = ue_desc_p->mme_ue_s1ap_id; trace_failure_p->mme_ue_s1ap_id = ue_desc_p->mme_ue_s1ap_id;
trace_failure_p->eNB_UE_S1AP_ID = ue_desc_p->eNB_ue_s1ap_id; trace_failure_p->eNB_UE_S1AP_ID = ue_desc_p->eNB_ue_s1ap_id;
memcpy(&trace_failure_p->e_UTRAN_Trace_ID, trace_id, sizeof(E_UTRAN_Trace_ID_t)); memcpy(&trace_failure_p->e_UTRAN_Trace_ID, trace_id, sizeof(S1ap_E_UTRAN_Trace_ID_t));
memcpy(&trace_failure_p->cause, cause_p, sizeof(Cause_t)); memcpy(&trace_failure_p->cause, cause_p, sizeof(S1ap_Cause_t));
if (s1ap_eNB_encode_pdu(&message, &buffer, &length) < 0) { if (s1ap_eNB_encode_pdu(&message, &buffer, &length) < 0) {
return; return;
...@@ -82,30 +83,31 @@ int s1ap_eNB_handle_trace_start(uint32_t assoc_id, ...@@ -82,30 +83,31 @@ int s1ap_eNB_handle_trace_start(uint32_t assoc_id,
uint32_t stream, uint32_t stream,
struct s1ap_message_s *message_p) struct s1ap_message_s *message_p)
{ {
TraceStartIEs_t *trace_start_p; S1ap_TraceStartIEs_t *trace_start_p;
struct s1ap_eNB_ue_context_s *ue_desc_p; struct s1ap_eNB_ue_context_s *ue_desc_p;
struct s1ap_eNB_mme_data_s *mme_ref_p; struct s1ap_eNB_mme_data_s *mme_ref_p;
DevAssert(message_p != NULL); DevAssert(message_p != NULL);
trace_start_p = &message_p->msg.traceStartIEs; trace_start_p = &message_p->msg.s1ap_TraceStartIEs;
mme_ref_p = s1ap_eNB_get_MME(NULL, assoc_id, 0); mme_ref_p = s1ap_eNB_get_MME(NULL, assoc_id, 0);
DevAssert(mme_ref_p != NULL); DevAssert(mme_ref_p != NULL);
if ((ue_desc_p = s1ap_eNB_get_ue_context(mme_ref_p->s1ap_eNB_instance, if ((ue_desc_p = s1ap_eNB_get_ue_context(mme_ref_p->s1ap_eNB_instance,
trace_start_p->eNB_UE_S1AP_ID)) == NULL) { trace_start_p->eNB_UE_S1AP_ID)) == NULL)
{
/* Could not find context associated with this eNB_ue_s1ap_id -> generate /* Could not find context associated with this eNB_ue_s1ap_id -> generate
* trace failure indication. * trace failure indication.
*/ */
E_UTRAN_Trace_ID_t trace_id; S1ap_E_UTRAN_Trace_ID_t trace_id;
Cause_t cause; S1ap_Cause_t cause;
memset(&trace_id, 0, sizeof(E_UTRAN_Trace_ID_t)); memset(&trace_id, 0, sizeof(S1ap_E_UTRAN_Trace_ID_t));
memset(&cause, 0, sizeof(Cause_t)); memset(&cause, 0, sizeof(S1ap_Cause_t));
cause.present = Cause_PR_radioNetwork; cause.present = S1ap_Cause_PR_radioNetwork;
cause.choice.radioNetwork = CauseRadioNetwork_unknown_pair_ue_s1ap_id; cause.choice.radioNetwork = S1ap_CauseRadioNetwork_unknown_pair_ue_s1ap_id;
s1ap_eNB_generate_trace_failure(ue_desc_p, &trace_id, &cause); s1ap_eNB_generate_trace_failure(ue_desc_p, &trace_id, &cause);
} }
...@@ -116,7 +118,7 @@ int s1ap_eNB_handle_deactivate_trace(uint32_t assoc_id, ...@@ -116,7 +118,7 @@ int s1ap_eNB_handle_deactivate_trace(uint32_t assoc_id,
uint32_t stream, uint32_t stream,
struct s1ap_message_s *message_p) struct s1ap_message_s *message_p)
{ {
// DeactivateTraceIEs_t *deactivate_trace_p; // S1ap_DeactivateTraceIEs_t *deactivate_trace_p;
// //
// deactivate_trace_p = &message_p->msg.deactivateTraceIEs; // deactivate_trace_p = &message_p->msg.deactivateTraceIEs;
......
...@@ -50,8 +50,8 @@ ...@@ -50,8 +50,8 @@
#include "assertions.h" #include "assertions.h"
static int s1ap_mme_decode_initiating(s1ap_message *message, static int s1ap_mme_decode_initiating(
InitiatingMessage_t *initiating_p) s1ap_message *message, S1ap_InitiatingMessage_t *initiating_p)
{ {
int ret = -1; int ret = -1;
...@@ -61,32 +61,33 @@ static int s1ap_mme_decode_initiating(s1ap_message *message, ...@@ -61,32 +61,33 @@ static int s1ap_mme_decode_initiating(s1ap_message *message,
message->criticality = initiating_p->criticality; message->criticality = initiating_p->criticality;
switch(initiating_p->procedureCode) { switch(initiating_p->procedureCode) {
// case ProcedureCode_id_downlinkNASTransport: // case S1ap_ProcedureCode_id_downlinkNASTransport:
// return s1ap_decode_downlinknastransporties(&message->msg.downlinkNASTransportIEs, &initiating_p->value); // return s1ap_decode_downlinknastransporties(&message->msg.downlinkNASTransportIEs, &initiating_p->value);
case ProcedureCode_id_uplinkNASTransport: case S1ap_ProcedureCode_id_uplinkNASTransport: {
ret = s1ap_decode_uplinknastransporties(&message->msg.uplinkNASTransportIEs, ret = s1ap_decode_s1ap_uplinknastransporties(
&initiating_p->value); &message->msg.s1ap_UplinkNASTransportIEs, &initiating_p->value);
case ProcedureCode_id_S1Setup: { } break;
ret = s1ap_decode_s1setuprequesties(&message->msg.s1SetupRequestIEs, case S1ap_ProcedureCode_id_S1Setup: {
ret = s1ap_decode_s1ap_s1setuprequesties(&message->msg.s1ap_S1SetupRequestIEs,
&initiating_p->value); &initiating_p->value);
s1ap_xer_print_s1setuprequest(stdout, message); s1ap_xer_print_s1ap_s1setuprequest(stdout, message);
} break; } break;
case ProcedureCode_id_initialUEMessage: { case S1ap_ProcedureCode_id_initialUEMessage: {
ret = s1ap_decode_initialuemessageies(&message->msg.initialUEMessageIEs, ret = s1ap_decode_s1ap_initialuemessageies(&message->msg.s1ap_InitialUEMessageIEs,
&initiating_p->value); &initiating_p->value);
s1ap_xer_print_initialuemessage(stdout, message); s1ap_xer_print_s1ap_initialuemessage(stdout, message);
} break; } break;
case ProcedureCode_id_UEContextReleaseRequest: { case S1ap_ProcedureCode_id_UEContextReleaseRequest: {
ret = s1ap_decode_uecontextreleaserequesties( ret = s1ap_decode_s1ap_uecontextreleaserequesties(
&message->msg.ueContextReleaseRequestIEs, &initiating_p->value); &message->msg.s1ap_UEContextReleaseRequestIEs, &initiating_p->value);
s1ap_xer_print_uecontextreleaserequest(stdout, message); s1ap_xer_print_s1ap_uecontextreleaserequest(stdout, message);
} break; } break;
case ProcedureCode_id_UECapabilityInfoIndication: { case S1ap_ProcedureCode_id_UECapabilityInfoIndication: {
ret = s1ap_decode_uecapabilityinfoindicationies( ret = s1ap_decode_s1ap_uecapabilityinfoindicationies(
&message->msg.ueCapabilityInfoIndicationIEs, &initiating_p->value); &message->msg.s1ap_UECapabilityInfoIndicationIEs, &initiating_p->value);
s1ap_xer_print_uecapabilityinfoindication(stdout, message); s1ap_xer_print_s1ap_uecapabilityinfoindication(stdout, message);
} break; } break;
// case ProcedureCode_id_InitialContextSetup: // case S1ap_ProcedureCode_id_InitialContextSetup:
// return s1ap_decode_initialcontextsetuprequesties(&message->msg.initialContextSetupRequestIEs, &initiating_p->value); // return s1ap_decode_initialcontextsetuprequesties(&message->msg.initialContextSetupRequestIEs, &initiating_p->value);
default: default:
S1AP_ERROR("Unknown procedure ID (%d) for initiating message\n", S1AP_ERROR("Unknown procedure ID (%d) for initiating message\n",
...@@ -96,8 +97,8 @@ static int s1ap_mme_decode_initiating(s1ap_message *message, ...@@ -96,8 +97,8 @@ static int s1ap_mme_decode_initiating(s1ap_message *message,
return ret; return ret;
} }
static int s1ap_mme_decode_successfull_outcome(s1ap_message *message, static int s1ap_mme_decode_successfull_outcome(
SuccessfulOutcome_t *successfullOutcome_p) s1ap_message *message, S1ap_SuccessfulOutcome_t *successfullOutcome_p)
{ {
DevAssert(successfullOutcome_p != NULL); DevAssert(successfullOutcome_p != NULL);
...@@ -105,12 +106,12 @@ static int s1ap_mme_decode_successfull_outcome(s1ap_message *message, ...@@ -105,12 +106,12 @@ static int s1ap_mme_decode_successfull_outcome(s1ap_message *message,
message->criticality = successfullOutcome_p->criticality; message->criticality = successfullOutcome_p->criticality;
switch(successfullOutcome_p->procedureCode) { switch(successfullOutcome_p->procedureCode) {
case ProcedureCode_id_InitialContextSetup: case S1ap_ProcedureCode_id_InitialContextSetup:
return s1ap_decode_initialcontextsetupresponseies( return s1ap_decode_s1ap_initialcontextsetupresponseies(
&message->msg.initialContextSetupResponseIEs, &successfullOutcome_p->value); &message->msg.s1ap_InitialContextSetupResponseIEs, &successfullOutcome_p->value);
case ProcedureCode_id_UEContextRelease: case S1ap_ProcedureCode_id_UEContextRelease:
return s1ap_decode_uecontextreleasecompleteies( return s1ap_decode_s1ap_uecontextreleasecompleteies(
&message->msg.ueContextReleaseCompleteIEs, &successfullOutcome_p->value); &message->msg.s1ap_UEContextReleaseCompleteIEs, &successfullOutcome_p->value);
default: default:
S1AP_ERROR("Unknown procedure ID (%d) for successfull outcome message\n", S1AP_ERROR("Unknown procedure ID (%d) for successfull outcome message\n",
(int)successfullOutcome_p->procedureCode); (int)successfullOutcome_p->procedureCode);
...@@ -119,8 +120,8 @@ static int s1ap_mme_decode_successfull_outcome(s1ap_message *message, ...@@ -119,8 +120,8 @@ static int s1ap_mme_decode_successfull_outcome(s1ap_message *message,
return -1; return -1;
} }
static int s1ap_mme_decode_unsuccessfull_outcome(s1ap_message *message, static int s1ap_mme_decode_unsuccessfull_outcome(
UnsuccessfulOutcome_t *unSuccessfulOutcome_p) s1ap_message *message, S1ap_UnsuccessfulOutcome_t *unSuccessfulOutcome_p)
{ {
DevAssert(unSuccessfulOutcome_p != NULL); DevAssert(unSuccessfulOutcome_p != NULL);
...@@ -128,9 +129,9 @@ static int s1ap_mme_decode_unsuccessfull_outcome(s1ap_message *message, ...@@ -128,9 +129,9 @@ static int s1ap_mme_decode_unsuccessfull_outcome(s1ap_message *message,
message->criticality = unSuccessfulOutcome_p->criticality; message->criticality = unSuccessfulOutcome_p->criticality;
switch(unSuccessfulOutcome_p->procedureCode) { switch(unSuccessfulOutcome_p->procedureCode) {
case ProcedureCode_id_InitialContextSetup: case S1ap_ProcedureCode_id_InitialContextSetup:
return s1ap_decode_initialcontextsetupfailureies( return s1ap_decode_s1ap_initialcontextsetupfailureies(
&message->msg.initialContextSetupFailureIEs, &unSuccessfulOutcome_p->value); &message->msg.s1ap_InitialContextSetupFailureIEs, &unSuccessfulOutcome_p->value);
default: default:
S1AP_ERROR("Unknown procedure ID (%d) for unsuccessfull outcome message\n", S1AP_ERROR("Unknown procedure ID (%d) for unsuccessfull outcome message\n",
(int)unSuccessfulOutcome_p->procedureCode); (int)unSuccessfulOutcome_p->procedureCode);
......
...@@ -75,22 +75,22 @@ static inline ...@@ -75,22 +75,22 @@ static inline
int s1ap_mme_encode_initial_context_setup_request(s1ap_message *message_p, int s1ap_mme_encode_initial_context_setup_request(s1ap_message *message_p,
uint8_t **buffer, uint32_t *length) uint8_t **buffer, uint32_t *length)
{ {
InitialContextSetupRequest_t initialContextSetupRequest; S1ap_InitialContextSetupRequest_t initialContextSetupRequest;
InitialContextSetupRequest_t *initialContextSetupRequest_p = S1ap_InitialContextSetupRequest_t *initialContextSetupRequest_p =
&initialContextSetupRequest; &initialContextSetupRequest;
memset(initialContextSetupRequest_p, 0, sizeof(InitialContextSetupRequest_t)); memset(initialContextSetupRequest_p, 0, sizeof(S1ap_InitialContextSetupRequest_t));
if (s1ap_encode_initialcontextsetuprequesties(initialContextSetupRequest_p, if (s1ap_encode_s1ap_initialcontextsetuprequesties(initialContextSetupRequest_p,
&message_p->msg.initialContextSetupRequestIEs) < 0) { &message_p->msg.s1ap_InitialContextSetupRequestIEs) < 0) {
return -1; return -1;
} }
return s1ap_generate_initiating_message(buffer, return s1ap_generate_initiating_message(buffer,
length, length,
ProcedureCode_id_InitialContextSetup, S1ap_ProcedureCode_id_InitialContextSetup,
Criticality_reject, S1ap_Criticality_reject,
&asn_DEF_InitialContextSetupRequest, &asn_DEF_S1ap_InitialContextSetupRequest,
initialContextSetupRequest_p); initialContextSetupRequest_p);
} }
...@@ -121,11 +121,11 @@ int s1ap_mme_encode_initiating(s1ap_message *message_p, ...@@ -121,11 +121,11 @@ int s1ap_mme_encode_initiating(s1ap_message *message_p,
uint32_t *length) uint32_t *length)
{ {
switch(message_p->procedureCode) { switch(message_p->procedureCode) {
case ProcedureCode_id_downlinkNASTransport: case S1ap_ProcedureCode_id_downlinkNASTransport:
return s1ap_mme_encode_downlink_nas_transport(message_p, buffer, length); return s1ap_mme_encode_downlink_nas_transport(message_p, buffer, length);
case ProcedureCode_id_InitialContextSetup: case S1ap_ProcedureCode_id_InitialContextSetup:
return s1ap_mme_encode_initial_context_setup_request(message_p, buffer, length); return s1ap_mme_encode_initial_context_setup_request(message_p, buffer, length);
case ProcedureCode_id_UEContextRelease: case S1ap_ProcedureCode_id_UEContextRelease:
return s1ap_mme_encode_ue_context_release_command(message_p, buffer, length); return s1ap_mme_encode_ue_context_release_command(message_p, buffer, length);
default: default:
S1AP_DEBUG("Unknown procedure ID (%d) for initiating message_p\n", S1AP_DEBUG("Unknown procedure ID (%d) for initiating message_p\n",
...@@ -140,7 +140,7 @@ int s1ap_mme_encode_successfull_outcome(s1ap_message *message_p, ...@@ -140,7 +140,7 @@ int s1ap_mme_encode_successfull_outcome(s1ap_message *message_p,
uint8_t **buffer, uint32_t *length) uint8_t **buffer, uint32_t *length)
{ {
switch(message_p->procedureCode) { switch(message_p->procedureCode) {
case ProcedureCode_id_S1Setup: case S1ap_ProcedureCode_id_S1Setup:
return s1ap_mme_encode_s1setupresponse(message_p, buffer, length); return s1ap_mme_encode_s1setupresponse(message_p, buffer, length);
default: default:
S1AP_DEBUG("Unknown procedure ID (%d) for successfull outcome message_p\n", S1AP_DEBUG("Unknown procedure ID (%d) for successfull outcome message_p\n",
...@@ -155,7 +155,7 @@ int s1ap_mme_encode_unsuccessfull_outcome(s1ap_message *message_p, ...@@ -155,7 +155,7 @@ int s1ap_mme_encode_unsuccessfull_outcome(s1ap_message *message_p,
uint8_t **buffer, uint32_t *length) uint8_t **buffer, uint32_t *length)
{ {
switch(message_p->procedureCode) { switch(message_p->procedureCode) {
case ProcedureCode_id_S1Setup: case S1ap_ProcedureCode_id_S1Setup:
return s1ap_mme_encode_s1setupfailure(message_p, buffer, length); return s1ap_mme_encode_s1setupfailure(message_p, buffer, length);
default: default:
S1AP_DEBUG("Unknown procedure ID (%d) for unsuccessfull outcome message_p\n", S1AP_DEBUG("Unknown procedure ID (%d) for unsuccessfull outcome message_p\n",
...@@ -169,20 +169,21 @@ static inline ...@@ -169,20 +169,21 @@ static inline
int s1ap_mme_encode_s1setupresponse(s1ap_message *message_p, int s1ap_mme_encode_s1setupresponse(s1ap_message *message_p,
uint8_t **buffer, uint32_t *length) uint8_t **buffer, uint32_t *length)
{ {
S1SetupResponse_t s1SetupResponse; S1ap_S1SetupResponse_t s1SetupResponse;
S1SetupResponse_t *s1SetupResponse_p = &s1SetupResponse; S1ap_S1SetupResponse_t *s1SetupResponse_p = &s1SetupResponse;
memset(s1SetupResponse_p, 0, sizeof(S1SetupResponse_t)); memset(s1SetupResponse_p, 0, sizeof(S1ap_S1SetupResponse_t));
if (s1ap_encode_s1setupresponseies(s1SetupResponse_p, &message_p->msg.s1SetupResponseIEs) < 0) { if (s1ap_encode_s1ap_s1setupresponseies(s1SetupResponse_p, &message_p->msg.s1ap_S1SetupResponseIEs) < 0)
{
return -1; return -1;
} }
return s1ap_generate_successfull_outcome(buffer, return s1ap_generate_successfull_outcome(buffer,
length, length,
ProcedureCode_id_S1Setup, S1ap_ProcedureCode_id_S1Setup,
message_p->criticality, message_p->criticality,
&asn_DEF_S1SetupResponse, &asn_DEF_S1ap_S1SetupResponse,
s1SetupResponse_p); s1SetupResponse_p);
} }
...@@ -190,20 +191,20 @@ static inline ...@@ -190,20 +191,20 @@ static inline
int s1ap_mme_encode_s1setupfailure(s1ap_message *message_p, int s1ap_mme_encode_s1setupfailure(s1ap_message *message_p,
uint8_t **buffer, uint32_t *length) uint8_t **buffer, uint32_t *length)
{ {
S1SetupFailure_t s1SetupFailure; S1ap_S1SetupFailure_t s1SetupFailure;
S1SetupFailure_t *s1SetupFailure_p = &s1SetupFailure; S1ap_S1SetupFailure_t *s1SetupFailure_p = &s1SetupFailure;
memset(s1SetupFailure_p, 0, sizeof(S1SetupFailure_t)); memset(s1SetupFailure_p, 0, sizeof(S1ap_S1SetupFailure_t));
if (s1ap_encode_s1setupfailureies(s1SetupFailure_p, &message_p->msg.s1SetupFailureIEs) < 0) { if (s1ap_encode_s1ap_s1setupfailureies(s1SetupFailure_p, &message_p->msg.s1ap_S1SetupFailureIEs) < 0) {
return -1; return -1;
} }
return s1ap_generate_unsuccessfull_outcome(buffer, return s1ap_generate_unsuccessfull_outcome(buffer,
length, length,
ProcedureCode_id_S1Setup, S1ap_ProcedureCode_id_S1Setup,
message_p->criticality, message_p->criticality,
&asn_DEF_S1SetupFailure, &asn_DEF_S1ap_S1SetupFailure,
s1SetupFailure_p); s1SetupFailure_p);
} }
...@@ -211,23 +212,23 @@ static inline ...@@ -211,23 +212,23 @@ static inline
int s1ap_mme_encode_downlink_nas_transport( int s1ap_mme_encode_downlink_nas_transport(
s1ap_message *message_p, uint8_t **buffer, uint32_t *length) s1ap_message *message_p, uint8_t **buffer, uint32_t *length)
{ {
DownlinkNASTransport_t downlinkNasTransport; S1ap_DownlinkNASTransport_t downlinkNasTransport;
DownlinkNASTransport_t *downlinkNasTransport_p = &downlinkNasTransport; S1ap_DownlinkNASTransport_t *downlinkNasTransport_p = &downlinkNasTransport;
memset(downlinkNasTransport_p, 0, sizeof(DownlinkNASTransport_t)); memset(downlinkNasTransport_p, 0, sizeof(S1ap_DownlinkNASTransport_t));
/* Convert IE structure into asn1 message_p */ /* Convert IE structure into asn1 message_p */
if (s1ap_encode_downlinknastransporties(downlinkNasTransport_p, if (s1ap_encode_s1ap_downlinknastransporties(downlinkNasTransport_p,
&message_p->msg.downlinkNASTransportIEs) < 0) { &message_p->msg.s1ap_DownlinkNASTransportIEs) < 0) {
return -1; return -1;
} }
/* Generate Initiating message_p for the list of IEs */ /* Generate Initiating message_p for the list of IEs */
return s1ap_generate_initiating_message(buffer, return s1ap_generate_initiating_message(buffer,
length, length,
ProcedureCode_id_downlinkNASTransport, S1ap_ProcedureCode_id_downlinkNASTransport,
message_p->criticality, message_p->criticality,
&asn_DEF_DownlinkNASTransport, &asn_DEF_S1ap_DownlinkNASTransport,
downlinkNasTransport_p); downlinkNasTransport_p);
} }
...@@ -235,21 +236,21 @@ static inline ...@@ -235,21 +236,21 @@ static inline
int s1ap_mme_encode_ue_context_release_command(s1ap_message *message_p, int s1ap_mme_encode_ue_context_release_command(s1ap_message *message_p,
uint8_t **buffer, uint32_t *length) uint8_t **buffer, uint32_t *length)
{ {
UEContextReleaseCommand_t ueContextReleaseCommand; S1ap_UEContextReleaseCommand_t ueContextReleaseCommand;
UEContextReleaseCommand_t *ueContextReleaseCommand_p = &ueContextReleaseCommand; S1ap_UEContextReleaseCommand_t *ueContextReleaseCommand_p = &ueContextReleaseCommand;
memset(ueContextReleaseCommand_p, 0, sizeof(UEContextReleaseCommand_t)); memset(ueContextReleaseCommand_p, 0, sizeof(S1ap_UEContextReleaseCommand_t));
/* Convert IE structure into asn1 message_p */ /* Convert IE structure into asn1 message_p */
if (s1ap_encode_uecontextreleasecommandies(ueContextReleaseCommand_p, if (s1ap_encode_s1ap_uecontextreleasecommandies(ueContextReleaseCommand_p,
&message_p->msg.ueContextReleaseCommandIEs) < 0) { &message_p->msg.s1ap_UEContextReleaseCommandIEs) < 0) {
return -1; return -1;
} }
return s1ap_generate_initiating_message(buffer, return s1ap_generate_initiating_message(buffer,
length, length,
ProcedureCode_id_UEContextRelease, S1ap_ProcedureCode_id_UEContextRelease,
message_p->criticality, message_p->criticality,
&asn_DEF_UEContextReleaseCommand, &asn_DEF_S1ap_UEContextReleaseCommand,
ueContextReleaseCommand_p); ueContextReleaseCommand_p);
} }
...@@ -149,7 +149,7 @@ int s1ap_mme_handle_message(uint32_t assoc_id, uint32_t stream, ...@@ -149,7 +149,7 @@ int s1ap_mme_handle_message(uint32_t assoc_id, uint32_t stream,
assoc_id, stream, message); assoc_id, stream, message);
} }
int s1ap_mme_set_cause(Cause_t *cause_p, Cause_PR cause_type, long cause_value) int s1ap_mme_set_cause(S1ap_Cause_t *cause_p, S1ap_Cause_PR cause_type, long cause_value)
{ {
DevAssert(cause_p != NULL); DevAssert(cause_p != NULL);
...@@ -157,19 +157,19 @@ int s1ap_mme_set_cause(Cause_t *cause_p, Cause_PR cause_type, long cause_value) ...@@ -157,19 +157,19 @@ int s1ap_mme_set_cause(Cause_t *cause_p, Cause_PR cause_type, long cause_value)
switch(cause_type) switch(cause_type)
{ {
case Cause_PR_radioNetwork: case S1ap_Cause_PR_radioNetwork:
cause_p->choice.misc = cause_value; cause_p->choice.misc = cause_value;
break; break;
case Cause_PR_transport: case S1ap_Cause_PR_transport:
cause_p->choice.transport = cause_value; cause_p->choice.transport = cause_value;
break; break;
case Cause_PR_nas: case S1ap_Cause_PR_nas:
cause_p->choice.nas = cause_value; cause_p->choice.nas = cause_value;
break; break;
case Cause_PR_protocol: case S1ap_Cause_PR_protocol:
cause_p->choice.protocol = cause_value; cause_p->choice.protocol = cause_value;
break; break;
case Cause_PR_misc: case S1ap_Cause_PR_misc:
cause_p->choice.misc = cause_value; cause_p->choice.misc = cause_value;
break; break;
default: default:
...@@ -179,26 +179,26 @@ int s1ap_mme_set_cause(Cause_t *cause_p, Cause_PR cause_type, long cause_value) ...@@ -179,26 +179,26 @@ int s1ap_mme_set_cause(Cause_t *cause_p, Cause_PR cause_type, long cause_value)
} }
int s1ap_mme_generate_s1_setup_failure( int s1ap_mme_generate_s1_setup_failure(
uint32_t assoc_id, Cause_PR cause_type, long cause_value, uint32_t assoc_id, S1ap_Cause_PR cause_type, long cause_value,
long time_to_wait) long time_to_wait)
{ {
uint8_t *buffer_p; uint8_t *buffer_p;
uint32_t length; uint32_t length;
s1ap_message message; s1ap_message message;
S1SetupFailureIEs_t *s1_setup_failure_p; S1ap_S1SetupFailureIEs_t *s1_setup_failure_p;
memset(&message, 0, sizeof(s1ap_message)); memset(&message, 0, sizeof(s1ap_message));
s1_setup_failure_p = &message.msg.s1SetupFailureIEs; s1_setup_failure_p = &message.msg.s1ap_S1SetupFailureIEs;
message.procedureCode = ProcedureCode_id_S1Setup; message.procedureCode = S1ap_ProcedureCode_id_S1Setup;
message.direction = S1AP_PDU_PR_unsuccessfulOutcome; message.direction = S1AP_PDU_PR_unsuccessfulOutcome;
s1ap_mme_set_cause(&s1_setup_failure_p->cause, cause_type, cause_value); s1ap_mme_set_cause(&s1_setup_failure_p->cause, cause_type, cause_value);
/* Include the optional field time to wait only if the value is > -1 */ /* Include the optional field time to wait only if the value is > -1 */
if (time_to_wait > -1) { if (time_to_wait > -1) {
s1_setup_failure_p->presenceMask |= S1SETUPFAILUREIES_TIMETOWAIT_PRESENT; s1_setup_failure_p->presenceMask |= S1AP_S1SETUPFAILUREIES_TIMETOWAIT_PRESENT;
s1_setup_failure_p->timeToWait = time_to_wait; s1_setup_failure_p->timeToWait = time_to_wait;
} }
...@@ -217,7 +217,7 @@ int s1ap_mme_generate_s1_setup_failure( ...@@ -217,7 +217,7 @@ int s1ap_mme_generate_s1_setup_failure(
int s1ap_mme_handle_s1_setup_request(uint32_t assoc_id, uint32_t stream, int s1ap_mme_handle_s1_setup_request(uint32_t assoc_id, uint32_t stream,
struct s1ap_message_s *message) struct s1ap_message_s *message)
{ {
S1SetupRequestIEs_t *s1SetupRequest_p; S1ap_S1SetupRequestIEs_t *s1SetupRequest_p;
eNB_description_t *eNB_association; eNB_description_t *eNB_association;
uint32_t eNB_id = 0; uint32_t eNB_id = 0;
char *eNB_name = NULL; char *eNB_name = NULL;
...@@ -226,7 +226,7 @@ int s1ap_mme_handle_s1_setup_request(uint32_t assoc_id, uint32_t stream, ...@@ -226,7 +226,7 @@ int s1ap_mme_handle_s1_setup_request(uint32_t assoc_id, uint32_t stream,
DevAssert(message != NULL); DevAssert(message != NULL);
s1SetupRequest_p = &message->msg.s1SetupRequestIEs; s1SetupRequest_p = &message->msg.s1ap_S1SetupRequestIEs;
/* We received a new valid S1 Setup Request on a stream != 0. /* We received a new valid S1 Setup Request on a stream != 0.
* This should not happen -> reject eNB s1 setup request. * This should not happen -> reject eNB s1 setup request.
...@@ -234,17 +234,17 @@ int s1ap_mme_handle_s1_setup_request(uint32_t assoc_id, uint32_t stream, ...@@ -234,17 +234,17 @@ int s1ap_mme_handle_s1_setup_request(uint32_t assoc_id, uint32_t stream,
if (stream != 0) { if (stream != 0) {
S1AP_DEBUG("Received new s1 setup request on stream != 0\n"); S1AP_DEBUG("Received new s1 setup request on stream != 0\n");
/* Send a s1 setup failure with protocol cause unspecified */ /* Send a s1 setup failure with protocol cause unspecified */
return s1ap_mme_generate_s1_setup_failure(assoc_id, Cause_PR_protocol, return s1ap_mme_generate_s1_setup_failure(assoc_id, S1ap_Cause_PR_protocol,
CauseProtocol_unspecified, -1); S1ap_CauseProtocol_unspecified, -1);
} }
S1AP_DEBUG("New s1 setup request incoming from "); S1AP_DEBUG("New s1 setup request incoming from ");
if ((s1SetupRequest_p->presenceMask & S1SETUPREQUESTIES_ENBNAME_PRESENT) == if (s1SetupRequest_p->presenceMask & S1AP_S1SETUPREQUESTIES_ENBNAME_PRESENT)
S1SETUPREQUESTIES_ENBNAME_PRESENT) { {
S1AP_DEBUG("%*s ", s1SetupRequest_p->eNBname.size, s1SetupRequest_p->eNBname.buf); S1AP_DEBUG("%*s ", s1SetupRequest_p->eNBname.size, s1SetupRequest_p->eNBname.buf);
eNB_name = (char *)s1SetupRequest_p->eNBname.buf; eNB_name = (char *)s1SetupRequest_p->eNBname.buf;
} }
if (s1SetupRequest_p->global_ENB_ID.eNB_ID.present == ENB_ID_PR_homeENB_ID) { if (s1SetupRequest_p->global_ENB_ID.eNB_ID.present == S1ap_ENB_ID_PR_homeENB_ID) {
// Home eNB ID = 28 bits // Home eNB ID = 28 bits
uint8_t *eNB_id_buf = uint8_t *eNB_id_buf =
s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.homeENB_ID.buf; s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.homeENB_ID.buf;
...@@ -276,9 +276,9 @@ int s1ap_mme_handle_s1_setup_request(uint32_t assoc_id, uint32_t stream, ...@@ -276,9 +276,9 @@ int s1ap_mme_handle_s1_setup_request(uint32_t assoc_id, uint32_t stream,
max_enb_connected); max_enb_connected);
/* Send an overload cause... */ /* Send an overload cause... */
return s1ap_mme_generate_s1_setup_failure(assoc_id, Cause_PR_misc, return s1ap_mme_generate_s1_setup_failure(assoc_id, S1ap_Cause_PR_misc,
CauseMisc_control_processing_overload, S1ap_CauseMisc_control_processing_overload,
TimeToWait_v20s); S1ap_TimeToWait_v20s);
} }
/* If none of the provided PLMNs/TAC match the one configured in MME, /* If none of the provided PLMNs/TAC match the one configured in MME,
...@@ -288,9 +288,9 @@ int s1ap_mme_handle_s1_setup_request(uint32_t assoc_id, uint32_t stream, ...@@ -288,9 +288,9 @@ int s1ap_mme_handle_s1_setup_request(uint32_t assoc_id, uint32_t stream,
/* eNB and MME have no common PLMN */ /* eNB and MME have no common PLMN */
if (ta_ret != TA_LIST_RET_OK) { if (ta_ret != TA_LIST_RET_OK) {
return s1ap_mme_generate_s1_setup_failure(assoc_id, Cause_PR_misc, return s1ap_mme_generate_s1_setup_failure(assoc_id, S1ap_Cause_PR_misc,
CauseMisc_unknown_PLMN, S1ap_CauseMisc_unknown_PLMN,
TimeToWait_v20s); S1ap_TimeToWait_v20s);
} }
S1AP_DEBUG("Adding eNB to the list of served eNBs\n"); S1AP_DEBUG("Adding eNB to the list of served eNBs\n");
...@@ -317,12 +317,13 @@ int s1ap_mme_handle_s1_setup_request(uint32_t assoc_id, uint32_t stream, ...@@ -317,12 +317,13 @@ int s1ap_mme_handle_s1_setup_request(uint32_t assoc_id, uint32_t stream,
/* eNB has been fount in list, consider the s1 setup request as a reset connection, /* eNB has been fount in list, consider the s1 setup request as a reset connection,
* reseting any previous UE state if sctp association is != than the previous one */ * reseting any previous UE state if sctp association is != than the previous one */
if (eNB_association->sctp_assoc_id != assoc_id) { if (eNB_association->sctp_assoc_id != assoc_id) {
S1SetupFailureIEs_t s1SetupFailure; S1ap_S1SetupFailureIEs_t s1SetupFailure;
memset(&s1SetupFailure, 0, sizeof(S1SetupFailureIEs_t));
memset(&s1SetupFailure, 0, sizeof(s1SetupFailure));
/* Send an overload cause... */ /* Send an overload cause... */
s1SetupFailure.cause.present = Cause_PR_misc; //TODO: send the right cause s1SetupFailure.cause.present = S1ap_Cause_PR_misc; //TODO: send the right cause
s1SetupFailure.cause.choice.misc = CauseMisc_control_processing_overload; s1SetupFailure.cause.choice.misc = S1ap_CauseMisc_control_processing_overload;
S1AP_DEBUG("Rejeting s1 setup request as eNB id %d is already associated to an active sctp association" S1AP_DEBUG("Rejeting s1 setup request as eNB id %d is already associated to an active sctp association"
"Previous known: %d, new one: %d\n", "Previous known: %d, new one: %d\n",
eNB_id, eNB_association->sctp_assoc_id, assoc_id); eNB_id, eNB_association->sctp_assoc_id, assoc_id);
...@@ -341,8 +342,8 @@ int s1ap_generate_s1_setup_response(eNB_description_t *eNB_association) ...@@ -341,8 +342,8 @@ int s1ap_generate_s1_setup_response(eNB_description_t *eNB_association)
{ {
int i; int i;
int enc_rval = 0; int enc_rval = 0;
S1SetupResponseIEs_t *s1_setup_response_p; S1ap_S1SetupResponseIEs_t *s1_setup_response_p;
ServedGUMMEIsItem_t servedGUMMEI; S1ap_ServedGUMMEIsItem_t servedGUMMEI;
s1ap_message message; s1ap_message message;
uint8_t *buffer; uint8_t *buffer;
uint32_t length; uint32_t length;
...@@ -351,9 +352,9 @@ int s1ap_generate_s1_setup_response(eNB_description_t *eNB_association) ...@@ -351,9 +352,9 @@ int s1ap_generate_s1_setup_response(eNB_description_t *eNB_association)
// Generating response // Generating response
memset(&message, 0, sizeof(s1ap_message)); memset(&message, 0, sizeof(s1ap_message));
memset(&servedGUMMEI, 0, sizeof(ServedGUMMEIsItem_t)); memset(&servedGUMMEI, 0, sizeof(servedGUMMEI));
s1_setup_response_p = &message.msg.s1SetupResponseIEs; s1_setup_response_p = &message.msg.s1ap_S1SetupResponseIEs;
config_read_lock(&mme_config); config_read_lock(&mme_config);
...@@ -361,28 +362,28 @@ int s1ap_generate_s1_setup_response(eNB_description_t *eNB_association) ...@@ -361,28 +362,28 @@ int s1ap_generate_s1_setup_response(eNB_description_t *eNB_association)
/* Use the gummei parameters provided by configuration */ /* Use the gummei parameters provided by configuration */
for (i = 0; i < mme_config.gummei.nb_plmns; i++) { for (i = 0; i < mme_config.gummei.nb_plmns; i++) {
PLMNidentity_t *plmn; S1ap_PLMNidentity_t *plmn;
/* FIXME: free object from list once encoded */ /* FIXME: free object from list once encoded */
plmn = calloc(1, sizeof(PLMNidentity_t)); plmn = calloc(1, sizeof(*plmn));
MCC_MNC_TO_PLMNID(mme_config.gummei.plmn_mcc[i], MCC_MNC_TO_PLMNID(mme_config.gummei.plmn_mcc[i],
mme_config.gummei.plmn_mnc[i], mme_config.gummei.plmn_mnc[i],
plmn); plmn);
ASN_SEQUENCE_ADD(&servedGUMMEI.servedPLMNs.list, plmn); ASN_SEQUENCE_ADD(&servedGUMMEI.servedPLMNs.list, plmn);
} }
for (i = 0; i < mme_config.gummei.nb_mme_gid; i++) { for (i = 0; i < mme_config.gummei.nb_mme_gid; i++) {
MME_Group_ID_t *mme_gid; S1ap_MME_Group_ID_t *mme_gid;
/* FIXME: free object from list once encoded */ /* FIXME: free object from list once encoded */
mme_gid = calloc(1, sizeof(MME_Group_ID_t)); mme_gid = calloc(1, sizeof(*mme_gid));
INT16_TO_OCTET_STRING(mme_config.gummei.mme_gid[i], mme_gid); INT16_TO_OCTET_STRING(mme_config.gummei.mme_gid[i], mme_gid);
ASN_SEQUENCE_ADD(&servedGUMMEI.servedGroupIDs.list, mme_gid); ASN_SEQUENCE_ADD(&servedGUMMEI.servedGroupIDs.list, mme_gid);
} }
for (i = 0; i < mme_config.gummei.nb_mmec; i++) { for (i = 0; i < mme_config.gummei.nb_mmec; i++) {
MME_Code_t *mmec; S1ap_MME_Code_t *mmec;
/* FIXME: free object from list once encoded */ /* FIXME: free object from list once encoded */
mmec = calloc(1, sizeof(MME_Code_t)); mmec = calloc(1, sizeof(*mmec));
INT8_TO_OCTET_STRING(mme_config.gummei.mmec[i], mmec); INT8_TO_OCTET_STRING(mme_config.gummei.mmec[i], mmec);
ASN_SEQUENCE_ADD(&servedGUMMEI.servedMMECs.list, mmec); ASN_SEQUENCE_ADD(&servedGUMMEI.servedMMECs.list, mmec);
} }
...@@ -392,7 +393,7 @@ int s1ap_generate_s1_setup_response(eNB_description_t *eNB_association) ...@@ -392,7 +393,7 @@ int s1ap_generate_s1_setup_response(eNB_description_t *eNB_association)
/* The MME is only serving E-UTRAN RAT, so the list contains only one element */ /* The MME is only serving E-UTRAN RAT, so the list contains only one element */
ASN_SEQUENCE_ADD(&s1_setup_response_p->servedGUMMEIs, &servedGUMMEI); ASN_SEQUENCE_ADD(&s1_setup_response_p->servedGUMMEIs, &servedGUMMEI);
message.procedureCode = ProcedureCode_id_S1Setup; message.procedureCode = S1ap_ProcedureCode_id_S1Setup;
message.direction = S1AP_PDU_PR_successfulOutcome; message.direction = S1AP_PDU_PR_successfulOutcome;
enc_rval = s1ap_mme_encode_pdu(&message, &buffer, &length); enc_rval = s1ap_mme_encode_pdu(&message, &buffer, &length);
...@@ -414,11 +415,11 @@ int s1ap_mme_handle_ue_cap_indication(uint32_t assoc_id, uint32_t stream, ...@@ -414,11 +415,11 @@ int s1ap_mme_handle_ue_cap_indication(uint32_t assoc_id, uint32_t stream,
struct s1ap_message_s *message) struct s1ap_message_s *message)
{ {
ue_description_t *ue_ref; ue_description_t *ue_ref;
UECapabilityInfoIndicationIEs_t *ue_cap_p; S1ap_UECapabilityInfoIndicationIEs_t *ue_cap_p;
DevAssert(message != NULL); DevAssert(message != NULL);
ue_cap_p = &message->msg.ueCapabilityInfoIndicationIEs; ue_cap_p = &message->msg.s1ap_UECapabilityInfoIndicationIEs;
if ((ue_ref = s1ap_is_ue_mme_id_in_list(ue_cap_p->mme_ue_s1ap_id)) == NULL) { if ((ue_ref = s1ap_is_ue_mme_id_in_list(ue_cap_p->mme_ue_s1ap_id)) == NULL) {
S1AP_DEBUG("No UE is attached to this mme UE s1ap id: 0x%08x\n", S1AP_DEBUG("No UE is attached to this mme UE s1ap id: 0x%08x\n",
...@@ -476,13 +477,14 @@ int s1ap_mme_handle_initial_context_setup_response( ...@@ -476,13 +477,14 @@ int s1ap_mme_handle_initial_context_setup_response(
struct s1ap_message_s *message) struct s1ap_message_s *message)
{ {
InitialContextSetupResponseIEs_t *initialContextSetupResponseIEs_p; S1ap_InitialContextSetupResponseIEs_t *initialContextSetupResponseIEs_p;
ue_description_t *ue_ref; S1ap_E_RABSetupItemCtxtSURes_t *eRABSetupItemCtxtSURes_p;
SgwModifyBearerRequest *modify_request_p;
MessageDef *message_p; ue_description_t *ue_ref;
E_RABSetupItemCtxtSURes_t *eRABSetupItemCtxtSURes_p; SgwModifyBearerRequest *modify_request_p;
MessageDef *message_p;
initialContextSetupResponseIEs_p = &message->msg.initialContextSetupResponseIEs; initialContextSetupResponseIEs_p = &message->msg.s1ap_InitialContextSetupResponseIEs;
if ((ue_ref = s1ap_is_ue_mme_id_in_list( if ((ue_ref = s1ap_is_ue_mme_id_in_list(
(uint32_t)initialContextSetupResponseIEs_p->mme_ue_s1ap_id)) == NULL) { (uint32_t)initialContextSetupResponseIEs_p->mme_ue_s1ap_id)) == NULL) {
...@@ -498,7 +500,7 @@ int s1ap_mme_handle_initial_context_setup_response( ...@@ -498,7 +500,7 @@ int s1ap_mme_handle_initial_context_setup_response(
return -1; return -1;
} }
if (initialContextSetupResponseIEs_p->e_RABSetupListCtxtSURes.e_RABSetupItemCtxtSURes.count if (initialContextSetupResponseIEs_p->e_RABSetupListCtxtSURes.s1ap_E_RABSetupItemCtxtSURes.count
!= 1) { != 1) {
S1AP_DEBUG("E-RAB creation has failed\n"); S1AP_DEBUG("E-RAB creation has failed\n");
return -1; return -1;
...@@ -512,12 +514,13 @@ int s1ap_mme_handle_initial_context_setup_response( ...@@ -512,12 +514,13 @@ int s1ap_mme_handle_initial_context_setup_response(
return -1; return -1;
} }
eRABSetupItemCtxtSURes_p = (E_RABSetupItemCtxtSURes_t *) /* Bad, very bad cast... */
initialContextSetupResponseIEs_p->e_RABSetupListCtxtSURes.e_RABSetupItemCtxtSURes.array[0]; eRABSetupItemCtxtSURes_p = (S1ap_E_RABSetupItemCtxtSURes_t *)
initialContextSetupResponseIEs_p->e_RABSetupListCtxtSURes.s1ap_E_RABSetupItemCtxtSURes.array[0];
modify_request_p = &message_p->msg.sgwModifyBearerRequest; modify_request_p = &message_p->msg.sgwModifyBearerRequest;
// modify_request_p->teid = ue_ref->teid; // modify_request_p->teid = ue_ref->teid;
modify_request_p->bearer_context_to_modify.eps_bearer_id = modify_request_p->bearer_context_to_modify.eps_bearer_id =
eRABSetupItemCtxtSURes_p->e_RAB_ID; eRABSetupItemCtxtSURes_p->e_RAB_ID;
modify_request_p->bearer_context_to_modify.s1_eNB_fteid.teid = *(( modify_request_p->bearer_context_to_modify.s1_eNB_fteid.teid = *((
uint32_t *)eRABSetupItemCtxtSURes_p->gTP_TEID.buf); uint32_t *)eRABSetupItemCtxtSURes_p->gTP_TEID.buf);
...@@ -531,17 +534,17 @@ int s1ap_mme_handle_initial_context_setup_response( ...@@ -531,17 +534,17 @@ int s1ap_mme_handle_initial_context_setup_response(
int s1ap_mme_handle_ue_context_release_request(uint32_t assoc_id, int s1ap_mme_handle_ue_context_release_request(uint32_t assoc_id,
uint32_t stream, struct s1ap_message_s *message) uint32_t stream, struct s1ap_message_s *message)
{ {
UEContextReleaseRequestIEs_t *ueContextReleaseRequest_p; S1ap_UEContextReleaseRequestIEs_t *ueContextReleaseRequest_p;
ue_description_t *ue_ref = NULL; ue_description_t *ue_ref = NULL;
ueContextReleaseRequest_p = &message->msg.ueContextReleaseRequestIEs; ueContextReleaseRequest_p = &message->msg.s1ap_UEContextReleaseRequestIEs;
/* The UE context release procedure is initiated if the cause is != than user inactivity. /* The UE context release procedure is initiated if the cause is != than user inactivity.
* TS36.413 #8.3.2.2. * TS36.413 #8.3.2.2.
*/ */
if (ueContextReleaseRequest_p->cause.present == Cause_PR_radioNetwork) { if (ueContextReleaseRequest_p->cause.present == S1ap_Cause_PR_radioNetwork) {
if (ueContextReleaseRequest_p->cause.choice.radioNetwork == if (ueContextReleaseRequest_p->cause.choice.radioNetwork ==
CauseRadioNetwork_user_inactivity) { S1ap_CauseRadioNetwork_user_inactivity) {
return -1; return -1;
} }
} }
...@@ -573,20 +576,20 @@ static int s1ap_mme_generate_ue_context_release_command( ...@@ -573,20 +576,20 @@ static int s1ap_mme_generate_ue_context_release_command(
uint32_t length; uint32_t length;
s1ap_message message; s1ap_message message;
UEContextReleaseCommandIEs_t *ueContextReleaseCommandIEs_p; S1ap_UEContextReleaseCommandIEs_t *ueContextReleaseCommandIEs_p;
if (ue_ref == NULL) { if (ue_ref == NULL) {
return -1; return -1;
} }
memset(&message, 0, sizeof(s1ap_message)); memset(&message, 0, sizeof(s1ap_message));
message.procedureCode = ProcedureCode_id_UEContextRelease; message.procedureCode = S1ap_ProcedureCode_id_UEContextRelease;
message.direction = S1AP_PDU_PR_successfulOutcome; message.direction = S1AP_PDU_PR_successfulOutcome;
ueContextReleaseCommandIEs_p = &message.msg.ueContextReleaseCommandIEs; ueContextReleaseCommandIEs_p = &message.msg.s1ap_UEContextReleaseCommandIEs;
/* Fill in ID pair */ /* Fill in ID pair */
ueContextReleaseCommandIEs_p->uE_S1AP_IDs.present = UE_S1AP_IDs_PR_uE_S1AP_ID_pair; ueContextReleaseCommandIEs_p->uE_S1AP_IDs.present = S1ap_UE_S1AP_IDs_PR_uE_S1AP_ID_pair;
ueContextReleaseCommandIEs_p->uE_S1AP_IDs.choice.uE_S1AP_ID_pair.mME_UE_S1AP_ID = ueContextReleaseCommandIEs_p->uE_S1AP_IDs.choice.uE_S1AP_ID_pair.mME_UE_S1AP_ID =
ue_ref->mme_ue_s1ap_id; ue_ref->mme_ue_s1ap_id;
ueContextReleaseCommandIEs_p->uE_S1AP_IDs.choice.uE_S1AP_ID_pair.eNB_UE_S1AP_ID = ueContextReleaseCommandIEs_p->uE_S1AP_IDs.choice.uE_S1AP_ID_pair.eNB_UE_S1AP_ID =
...@@ -594,9 +597,9 @@ static int s1ap_mme_generate_ue_context_release_command( ...@@ -594,9 +597,9 @@ static int s1ap_mme_generate_ue_context_release_command(
ueContextReleaseCommandIEs_p->uE_S1AP_IDs.choice.uE_S1AP_ID_pair.iE_Extensions = ueContextReleaseCommandIEs_p->uE_S1AP_IDs.choice.uE_S1AP_ID_pair.iE_Extensions =
NULL; NULL;
ueContextReleaseCommandIEs_p->cause.present = Cause_PR_radioNetwork; ueContextReleaseCommandIEs_p->cause.present = S1ap_Cause_PR_radioNetwork;
ueContextReleaseCommandIEs_p->cause.choice.radioNetwork = ueContextReleaseCommandIEs_p->cause.choice.radioNetwork =
CauseRadioNetwork_release_due_to_eutran_generated_reason; S1ap_CauseRadioNetwork_release_due_to_eutran_generated_reason;
if (s1ap_mme_encode_pdu(&message, &buffer, &length) < 0) { if (s1ap_mme_encode_pdu(&message, &buffer, &length) < 0) {
return -1; return -1;
...@@ -608,10 +611,10 @@ static int s1ap_mme_generate_ue_context_release_command( ...@@ -608,10 +611,10 @@ static int s1ap_mme_generate_ue_context_release_command(
int s1ap_mme_handle_ue_context_release_complete(uint32_t assoc_id, int s1ap_mme_handle_ue_context_release_complete(uint32_t assoc_id,
uint32_t stream, struct s1ap_message_s *message) uint32_t stream, struct s1ap_message_s *message)
{ {
UEContextReleaseCompleteIEs_t *ueContextReleaseComplete_p; S1ap_UEContextReleaseCompleteIEs_t *ueContextReleaseComplete_p;
ue_description_t *ue_ref = NULL; ue_description_t *ue_ref = NULL;
ueContextReleaseComplete_p = &message->msg.ueContextReleaseCompleteIEs; ueContextReleaseComplete_p = &message->msg.s1ap_UEContextReleaseCompleteIEs;
if ((ue_ref = s1ap_is_ue_mme_id_in_list( if ((ue_ref = s1ap_is_ue_mme_id_in_list(
ueContextReleaseComplete_p->mme_ue_s1ap_id)) == NULL) { ueContextReleaseComplete_p->mme_ue_s1ap_id)) == NULL) {
...@@ -632,13 +635,15 @@ int s1ap_mme_handle_ue_context_release_complete(uint32_t assoc_id, ...@@ -632,13 +635,15 @@ int s1ap_mme_handle_ue_context_release_complete(uint32_t assoc_id,
int s1ap_mme_handle_initial_context_setup_failure(uint32_t assoc_id, int s1ap_mme_handle_initial_context_setup_failure(uint32_t assoc_id,
uint32_t stream, struct s1ap_message_s *message) uint32_t stream, struct s1ap_message_s *message)
{ {
InitialContextSetupFailureIEs_t *initialContextSetupFailureIEs_p; S1ap_InitialContextSetupFailureIEs_t *initialContextSetupFailureIEs_p;
ue_description_t *ue_ref = NULL;
ue_description_t *ue_ref = NULL;
initialContextSetupFailureIEs_p = &message->msg.initialContextSetupFailureIEs; initialContextSetupFailureIEs_p = &message->msg.s1ap_InitialContextSetupFailureIEs;
if ((ue_ref = s1ap_is_ue_mme_id_in_list( if ((ue_ref = s1ap_is_ue_mme_id_in_list(
initialContextSetupFailureIEs_p->mme_ue_s1ap_id)) == NULL) { initialContextSetupFailureIEs_p->mme_ue_s1ap_id)) == NULL)
{
/* MME doesn't know the MME UE S1AP ID provided. */ /* MME doesn't know the MME UE S1AP ID provided. */
return -1; return -1;
} }
...@@ -659,11 +664,11 @@ int s1ap_mme_handle_initial_context_setup_failure(uint32_t assoc_id, ...@@ -659,11 +664,11 @@ int s1ap_mme_handle_initial_context_setup_failure(uint32_t assoc_id,
int s1ap_mme_handle_path_switch_request(uint32_t assoc_id, uint32_t stream, int s1ap_mme_handle_path_switch_request(uint32_t assoc_id, uint32_t stream,
struct s1ap_message_s *message) struct s1ap_message_s *message)
{ {
PathSwitchRequestIEs_t *pathSwitchRequest_p; S1ap_PathSwitchRequestIEs_t *pathSwitchRequest_p;
ue_description_t *ue_ref; ue_description_t *ue_ref;
uint32_t eNB_ue_s1ap_id; uint32_t eNB_ue_s1ap_id;
pathSwitchRequest_p = &message->msg.pathSwitchRequestIEs; pathSwitchRequest_p = &message->msg.s1ap_PathSwitchRequestIEs;
// eNB UE S1AP ID is limited to 24 bits // eNB UE S1AP ID is limited to 24 bits
eNB_ue_s1ap_id = (uint32_t)(pathSwitchRequest_p->eNB_UE_S1AP_ID & 0x00ffffff); eNB_ue_s1ap_id = (uint32_t)(pathSwitchRequest_p->eNB_UE_S1AP_ID & 0x00ffffff);
...@@ -672,7 +677,8 @@ int s1ap_mme_handle_path_switch_request(uint32_t assoc_id, uint32_t stream, ...@@ -672,7 +677,8 @@ int s1ap_mme_handle_path_switch_request(uint32_t assoc_id, uint32_t stream,
(int)eNB_ue_s1ap_id); (int)eNB_ue_s1ap_id);
if ((ue_ref = s1ap_is_ue_mme_id_in_list( if ((ue_ref = s1ap_is_ue_mme_id_in_list(
pathSwitchRequest_p->sourceMME_UE_S1AP_ID)) == NULL) { pathSwitchRequest_p->sourceMME_UE_S1AP_ID)) == NULL)
{
/* The MME UE S1AP ID provided by eNB doesn't point to any valid UE. /* The MME UE S1AP ID provided by eNB doesn't point to any valid UE.
* MME replies with a PATH SWITCH REQUEST FAILURE message and start operation * MME replies with a PATH SWITCH REQUEST FAILURE message and start operation
* as described in TS 36.413 [11]. * as described in TS 36.413 [11].
...@@ -766,11 +772,12 @@ int s1ap_handle_create_session_response(SgwCreateSessionResponse ...@@ -766,11 +772,12 @@ int s1ap_handle_create_session_response(SgwCreateSessionResponse
ue_description_t *ue_ref = NULL; ue_description_t *ue_ref = NULL;
s1ap_message message; s1ap_message message;
InitialContextSetupRequestIEs_t *initialContextSetupRequest_p;
E_RABToBeSetupItemCtxtSUReq_t e_RABToBeSetup;
uint8_t *buffer_p; uint8_t *buffer_p;
uint32_t length; uint32_t length;
S1ap_InitialContextSetupRequestIEs_t *initialContextSetupRequest_p;
S1ap_E_RABToBeSetupItemCtxtSUReq_t e_RABToBeSetup;
DevAssert(session_response_p != NULL); DevAssert(session_response_p != NULL);
DevCheck(session_response_p->bearer_context_created.cause == REQUEST_ACCEPTED, DevCheck(session_response_p->bearer_context_created.cause == REQUEST_ACCEPTED,
...@@ -792,12 +799,12 @@ int s1ap_handle_create_session_response(SgwCreateSessionResponse ...@@ -792,12 +799,12 @@ int s1ap_handle_create_session_response(SgwCreateSessionResponse
} }
memset(&message, 0, sizeof(s1ap_message)); memset(&message, 0, sizeof(s1ap_message));
memset(&e_RABToBeSetup, 0, sizeof(E_RABToBeSetupItemCtxtSUReq_t)); memset(&e_RABToBeSetup, 0, sizeof(S1ap_E_RABToBeSetupItemCtxtSUReq_t));
message.procedureCode = ProcedureCode_id_InitialContextSetup; message.procedureCode = S1ap_ProcedureCode_id_InitialContextSetup;
message.direction = S1AP_PDU_PR_initiatingMessage; message.direction = S1AP_PDU_PR_initiatingMessage;
initialContextSetupRequest_p = &message.msg.initialContextSetupRequestIEs; initialContextSetupRequest_p = &message.msg.s1ap_InitialContextSetupRequestIEs;
initialContextSetupRequest_p->mme_ue_s1ap_id = ue_ref->mme_ue_s1ap_id; initialContextSetupRequest_p->mme_ue_s1ap_id = ue_ref->mme_ue_s1ap_id;
initialContextSetupRequest_p->eNB_UE_S1AP_ID = ue_ref->eNB_ue_s1ap_id; initialContextSetupRequest_p->eNB_UE_S1AP_ID = ue_ref->eNB_ue_s1ap_id;
...@@ -819,9 +826,9 @@ int s1ap_handle_create_session_response(SgwCreateSessionResponse ...@@ -819,9 +826,9 @@ int s1ap_handle_create_session_response(SgwCreateSessionResponse
e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.priorityLevel e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.priorityLevel
= 15; //No priority = 15; //No priority
e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionCapability e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionCapability
= Pre_emptionCapability_shall_not_trigger_pre_emption; = S1ap_Pre_emptionCapability_shall_not_trigger_pre_emption;
e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionVulnerability e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionVulnerability
= Pre_emptionVulnerability_not_pre_emptable; = S1ap_Pre_emptionVulnerability_not_pre_emptable;
// e_RABToBeSetup.gTP_TEID.buf = calloc(4, sizeof(uint8_t)); // e_RABToBeSetup.gTP_TEID.buf = calloc(4, sizeof(uint8_t));
// INT32_TO_BUFFER(session_response_p->bearer_context_created.s1u_sgw_fteid.teid, // INT32_TO_BUFFER(session_response_p->bearer_context_created.s1u_sgw_fteid.teid,
......
...@@ -82,10 +82,10 @@ int s1ap_handle_new_association(sctp_new_peer_t *sctp_new_peer_p); ...@@ -82,10 +82,10 @@ int s1ap_handle_new_association(sctp_new_peer_t *sctp_new_peer_p);
int s1ap_handle_create_session_response(SgwCreateSessionResponse int s1ap_handle_create_session_response(SgwCreateSessionResponse
*session_response_p); *session_response_p);
int s1ap_mme_set_cause(Cause_t *cause_p, Cause_PR cause_type, long cause_value); int s1ap_mme_set_cause(S1ap_Cause_t *cause_p, S1ap_Cause_PR cause_type, long cause_value);
int s1ap_mme_generate_s1_setup_failure( int s1ap_mme_generate_s1_setup_failure(
uint32_t assoc_id, Cause_PR cause_type, long cause_value, uint32_t assoc_id, S1ap_Cause_PR cause_type, long cause_value,
long time_to_wait); long time_to_wait);
#endif /* S1AP_MME_HANDLERS_H_ */ #endif /* S1AP_MME_HANDLERS_H_ */
...@@ -57,12 +57,12 @@ static uint8_t mme_ue_s1ap_id_has_wrapped = 0; ...@@ -57,12 +57,12 @@ static uint8_t mme_ue_s1ap_id_has_wrapped = 0;
int s1ap_mme_handle_initial_ue_message(uint32_t assoc_id, uint32_t stream, int s1ap_mme_handle_initial_ue_message(uint32_t assoc_id, uint32_t stream,
struct s1ap_message_s *message) struct s1ap_message_s *message)
{ {
InitialUEMessageIEs_t *initialUEMessage_p; S1ap_InitialUEMessageIEs_t *initialUEMessage_p;
ue_description_t *ue_ref; ue_description_t *ue_ref;
eNB_description_t *eNB_ref; eNB_description_t *eNB_ref;
uint32_t eNB_ue_s1ap_id; uint32_t eNB_ue_s1ap_id;
initialUEMessage_p = &message->msg.initialUEMessageIEs; initialUEMessage_p = &message->msg.s1ap_InitialUEMessageIEs;
if ((eNB_ref = s1ap_is_eNB_assoc_id_in_list(assoc_id)) == NULL) { if ((eNB_ref = s1ap_is_eNB_assoc_id_in_list(assoc_id)) == NULL) {
S1AP_DEBUG("Unkwnon eNB on assoc_id %d\n", assoc_id); S1AP_DEBUG("Unkwnon eNB on assoc_id %d\n", assoc_id);
...@@ -173,10 +173,10 @@ int s1ap_mme_handle_initial_ue_message(uint32_t assoc_id, uint32_t stream, ...@@ -173,10 +173,10 @@ int s1ap_mme_handle_initial_ue_message(uint32_t assoc_id, uint32_t stream,
int s1ap_mme_handle_uplink_nas_transport(uint32_t assoc_id, uint32_t stream, int s1ap_mme_handle_uplink_nas_transport(uint32_t assoc_id, uint32_t stream,
struct s1ap_message_s *message) struct s1ap_message_s *message)
{ {
UplinkNASTransportIEs_t *uplinkNASTransport_p; S1ap_UplinkNASTransportIEs_t *uplinkNASTransport_p;
ue_description_t *ue_ref; ue_description_t *ue_ref;
uplinkNASTransport_p = &message->msg.uplinkNASTransportIEs; uplinkNASTransport_p = &message->msg.s1ap_UplinkNASTransportIEs;
if ((ue_ref = s1ap_is_ue_mme_id_in_list(uplinkNASTransport_p->mme_ue_s1ap_id)) if ((ue_ref = s1ap_is_ue_mme_id_in_list(uplinkNASTransport_p->mme_ue_s1ap_id))
== NULL) { == NULL) {
...@@ -224,15 +224,16 @@ int s1ap_generate_downlink_nas_transport(nas_dl_data_ind_t *nas_dl_data_ind) ...@@ -224,15 +224,16 @@ int s1ap_generate_downlink_nas_transport(nas_dl_data_ind_t *nas_dl_data_ind)
/* We have fount the UE in the list. /* We have fount the UE in the list.
* Create new IE list message and encode it. * Create new IE list message and encode it.
*/ */
DownlinkNASTransportIEs_t *downlinkNasTransport; S1ap_DownlinkNASTransportIEs_t *downlinkNasTransport;
s1ap_message message;
s1ap_message message;
memset(&message, 0, sizeof(s1ap_message)); memset(&message, 0, sizeof(s1ap_message));
message.procedureCode = ProcedureCode_id_downlinkNASTransport; message.procedureCode = S1ap_ProcedureCode_id_downlinkNASTransport;
message.direction = S1AP_PDU_PR_initiatingMessage; message.direction = S1AP_PDU_PR_initiatingMessage;
downlinkNasTransport = &message.msg.downlinkNASTransportIEs; downlinkNasTransport = &message.msg.s1ap_DownlinkNASTransportIEs;
/* Setting UE informations with the ones fount in ue_ref */ /* Setting UE informations with the ones fount in ue_ref */
downlinkNasTransport->mme_ue_s1ap_id = ue_ref->mme_ue_s1ap_id; downlinkNasTransport->mme_ue_s1ap_id = ue_ref->mme_ue_s1ap_id;
...@@ -264,11 +265,12 @@ int s1ap_handle_attach_accepted(nas_attach_accept_t *attach_accept_p) ...@@ -264,11 +265,12 @@ int s1ap_handle_attach_accepted(nas_attach_accept_t *attach_accept_p)
uint32_t length; uint32_t length;
ue_description_t *ue_ref = NULL; ue_description_t *ue_ref = NULL;
InitialContextSetupRequestIEs_t *initialContextSetupRequest_p;
s1ap_message message; s1ap_message message;
E_RABToBeSetupItemCtxtSUReq_t e_RABToBeSetup;
s1ap_initial_ctxt_setup_req_t *initial_p; s1ap_initial_ctxt_setup_req_t *initial_p;
S1ap_InitialContextSetupRequestIEs_t *initialContextSetupRequest_p;
S1ap_E_RABToBeSetupItemCtxtSUReq_t e_RABToBeSetup;
DevAssert(attach_accept_p != NULL); DevAssert(attach_accept_p != NULL);
initial_p = &attach_accept_p->transparent; initial_p = &attach_accept_p->transparent;
...@@ -290,12 +292,12 @@ int s1ap_handle_attach_accepted(nas_attach_accept_t *attach_accept_p) ...@@ -290,12 +292,12 @@ int s1ap_handle_attach_accepted(nas_attach_accept_t *attach_accept_p)
// s1ap_timer_insert(ue_ref->mme_ue_s1ap_id, ue_ref->outcome_response_timer_id); // s1ap_timer_insert(ue_ref->mme_ue_s1ap_id, ue_ref->outcome_response_timer_id);
memset(&message, 0, sizeof(s1ap_message)); memset(&message, 0, sizeof(s1ap_message));
memset(&e_RABToBeSetup, 0, sizeof(E_RABToBeSetupItemCtxtSUReq_t)); memset(&e_RABToBeSetup, 0, sizeof(S1ap_E_RABToBeSetupItemCtxtSUReq_t));
message.procedureCode = ProcedureCode_id_InitialContextSetup; message.procedureCode = S1ap_ProcedureCode_id_InitialContextSetup;
message.direction = S1AP_PDU_PR_initiatingMessage; message.direction = S1AP_PDU_PR_initiatingMessage;
initialContextSetupRequest_p = &message.msg.initialContextSetupRequestIEs; initialContextSetupRequest_p = &message.msg.s1ap_InitialContextSetupRequestIEs;
initialContextSetupRequest_p->mme_ue_s1ap_id = (unsigned long)ue_ref->mme_ue_s1ap_id; initialContextSetupRequest_p->mme_ue_s1ap_id = (unsigned long)ue_ref->mme_ue_s1ap_id;
initialContextSetupRequest_p->eNB_UE_S1AP_ID = (unsigned long)ue_ref->eNB_ue_s1ap_id; initialContextSetupRequest_p->eNB_UE_S1AP_ID = (unsigned long)ue_ref->eNB_ue_s1ap_id;
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
#include "s1ap_mme_ta.h" #include "s1ap_mme_ta.h"
static static
int s1ap_mme_compare_plmn(PLMNidentity_t *plmn) int s1ap_mme_compare_plmn(S1ap_PLMNidentity_t *plmn)
{ {
int i; int i;
uint16_t mcc; uint16_t mcc;
...@@ -69,7 +69,7 @@ int s1ap_mme_compare_plmn(PLMNidentity_t *plmn) ...@@ -69,7 +69,7 @@ int s1ap_mme_compare_plmn(PLMNidentity_t *plmn)
/* @brief compare a list of broadcasted plmns against the MME configured. /* @brief compare a list of broadcasted plmns against the MME configured.
*/ */
static static
int s1ap_mme_compare_plmns(BPLMNs_t *b_plmns) int s1ap_mme_compare_plmns(S1ap_BPLMNs_t *b_plmns)
{ {
int i; int i;
int matching_occurence = 0; int matching_occurence = 0;
...@@ -93,7 +93,7 @@ int s1ap_mme_compare_plmns(BPLMNs_t *b_plmns) ...@@ -93,7 +93,7 @@ int s1ap_mme_compare_plmns(BPLMNs_t *b_plmns)
/* @brief compare a TAC /* @brief compare a TAC
*/ */
static static
int s1ap_mme_compare_tac(TAC_t *tac) int s1ap_mme_compare_tac(S1ap_TAC_t *tac)
{ {
int i; int i;
uint16_t tac_value; uint16_t tac_value;
...@@ -120,7 +120,7 @@ int s1ap_mme_compare_tac(TAC_t *tac) ...@@ -120,7 +120,7 @@ int s1ap_mme_compare_tac(TAC_t *tac)
* - TA_LIST_UNKNOWN_TAC if at least one PLMN match and no TAC match * - TA_LIST_UNKNOWN_TAC if at least one PLMN match and no TAC match
* - TA_LIST_RET_OK if both tac and plmn match at least one element * - TA_LIST_RET_OK if both tac and plmn match at least one element
*/ */
int s1ap_mme_compare_ta_lists(SupportedTAs_t *ta_list) int s1ap_mme_compare_ta_lists(S1ap_SupportedTAs_t *ta_list)
{ {
int i; int i;
int tac_ret, bplmn_ret; int tac_ret, bplmn_ret;
...@@ -129,7 +129,7 @@ int s1ap_mme_compare_ta_lists(SupportedTAs_t *ta_list) ...@@ -129,7 +129,7 @@ int s1ap_mme_compare_ta_lists(SupportedTAs_t *ta_list)
/* Parse every item in the list and try to find matching parameters */ /* Parse every item in the list and try to find matching parameters */
for (i = 0; i < ta_list->list.count; i++) { for (i = 0; i < ta_list->list.count; i++) {
SupportedTAs_Item_t *ta; S1ap_SupportedTAs_Item_t *ta;
ta = ta_list->list.array[i]; ta = ta_list->list.array[i];
DevAssert(ta != NULL); DevAssert(ta != NULL);
......
...@@ -40,6 +40,6 @@ enum { ...@@ -40,6 +40,6 @@ enum {
TA_LIST_COMPLETE_MATCH = 0x3, TA_LIST_COMPLETE_MATCH = 0x3,
}; };
int s1ap_mme_compare_ta_lists(SupportedTAs_t *ta_list); int s1ap_mme_compare_ta_lists(S1ap_SupportedTAs_t *ta_list);
#endif /* S1AP_MME_TA_H_ */ #endif /* S1AP_MME_TA_H_ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment