From 3bd59c9d596e6ca884adfd9074cf07df69d00067 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 30 Aug 2015 19:09:55 +0200 Subject: Add Procedure Codes and IEI constants to CommonDataTypes ... this is what's required for asn1c to generate nice C language enums for it. Conversion was performed semi-automatically by use of asn1enum.pl --- asn1/asn1enum.pl | 29 ++++ asn1/hnbap/HNBAP-CommonDataTypes.asn | 59 ++++++- asn1/ranap/RANAP-CommonDataTypes.asn | 325 ++++++++++++++++++++++++++++++++++- asn1/rua/RUA-CommonDataTypes.asn | 20 ++- 4 files changed, 427 insertions(+), 6 deletions(-) create mode 100755 asn1/asn1enum.pl (limited to 'asn1') diff --git a/asn1/asn1enum.pl b/asn1/asn1enum.pl new file mode 100755 index 0000000..8584e84 --- /dev/null +++ b/asn1/asn1enum.pl @@ -0,0 +1,29 @@ +#!/usr/bin/perl -w +use strict; + +# small script to extract the constants from +# {HNBAP,RUA,RANAP}-Constants.asn and print them in an ASN.1 format that +# will trigger asn1c to generate associated enums in C. +# +# Usage: ./asn1enum.pl < HNBAP-Constants.asn + +my $l; +my %h; + +while ($l = ) { + chomp($l); + if ($l =~ /^(\S+)\s+(\S+)\s+::=\s+(\d+)/) { + $h{$2}{$3} = $1; + } +} + +foreach my $k (keys %h) { + if ($k eq 'INTEGER') { + next; + } + printf("%s ::= INTEGER {\n", $k); + foreach my $r (sort { $a <=> $b } keys $h{$k}) { + printf("\t%s(%d),\n", $h{$k}{$r}, $r); + } + printf("}\n"); +} diff --git a/asn1/hnbap/HNBAP-CommonDataTypes.asn b/asn1/hnbap/HNBAP-CommonDataTypes.asn index db102a9..9ef9745 100644 --- a/asn1/hnbap/HNBAP-CommonDataTypes.asn +++ b/asn1/hnbap/HNBAP-CommonDataTypes.asn @@ -37,10 +37,65 @@ PrivateIE-ID ::= CHOICE { } -ProcedureCode ::= INTEGER (0..255) +ProcedureCode ::= INTEGER { + id-HNBRegister(1), + id-HNBDe-Register(2), + id-UERegister(3), + id-UEDe-Register(4), + id-ErrorIndication(5), + id-privateMessage(6), + id-CSGMembershipUpdate(7), + id-TNLUpdate(9), + id-HNBConfigTransfer(10), + id-RelocationComplete(11), + id-U-RNTIQuery(14) +} (0..255) -ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs) +ProtocolIE-ID ::= INTEGER { + id-Cause(1), + id-CriticalityDiagnostics(2), + id-HNB-Identity(3), + id-Context-ID(4), + id-UE-Identity(5), + id-LAC(6), + id-RAC(7), + id-HNB-Location-Information(8), + id-PLMNidentity(9), + id-SAC(10), + id-CellIdentity(11), + id-Registration-Cause(12), + id-UE-Capabilities(13), + id-RNC-ID(14), + id-CSG-ID(15), + id-BackoffTimer(16), + id-HNB-Internet-Information(17), + id-HNB-Cell-Access-Mode(18), + id-MuxPortNumber(19), + id-Service-Area-For-Broadcast(20), + id-CSGMembershipStatus(21), + id-RABList(22), + id-HNBConfigInfo(23), + id-AccessResult(25), + id-Update-cause(26), + id-NeighbourInfoList(27), + id-NeighbourInfoRequestList(28), + id-Iurh-Signalling-TNL-Address(29), + id-PSC(30), + id-HNB-Cell-Identifier(31), + id-Tunnel-Information(41), + id-CELL-FACHMobilitySupport(42), + id-S-RNTIPrefix(43), + id-URAIdentity(44), + id-NeighbourIdentity(45), + id-HNBCapacity(46), + id-NeighbourCellIdentityList(47), + id-AdditionalNeighbourInfoList(48), + id-U-RNTI(49), + id-UnknownU-RNTIIndication(50), + id-HNB-GWResponse(51), + id-URAIdentityList(52) +} (0..maxProtocolIEs) TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome } diff --git a/asn1/ranap/RANAP-CommonDataTypes.asn b/asn1/ranap/RANAP-CommonDataTypes.asn index 7aef32d..3abc0b9 100644 --- a/asn1/ranap/RANAP-CommonDataTypes.asn +++ b/asn1/ranap/RANAP-CommonDataTypes.asn @@ -21,11 +21,332 @@ PrivateIE-ID ::= CHOICE { global OBJECT IDENTIFIER } -ProcedureCode ::= INTEGER (0..255) +ProcedureCode ::= INTEGER { + id-RAB-Assignment(0), + id-Iu-Release(1), + id-RelocationPreparation(2), + id-RelocationResourceAllocation(3), + id-RelocationCancel(4), + id-SRNS-ContextTransfer(5), + id-SecurityModeControl(6), + id-DataVolumeReport(7), + id-Reset(9), + id-RAB-ReleaseRequest(10), + id-Iu-ReleaseRequest(11), + id-RelocationDetect(12), + id-RelocationComplete(13), + id-Paging(14), + id-CommonID(15), + id-CN-InvokeTrace(16), + id-LocationReportingControl(17), + id-LocationReport(18), + id-InitialUE-Message(19), + id-DirectTransfer(20), + id-OverloadControl(21), + id-ErrorIndication(22), + id-SRNS-DataForward(23), + id-ForwardSRNS-Context(24), + id-privateMessage(25), + id-CN-DeactivateTrace(26), + id-ResetResource(27), + id-RANAP-Relocation(28), + id-RAB-ModifyRequest(29), + id-LocationRelatedData(30), + id-InformationTransfer(31), + id-UESpecificInformation(32), + id-UplinkInformationExchange(33), + id-DirectInformationTransfer(34), + id-MBMSSessionStart(35), + id-MBMSSessionUpdate(36), + id-MBMSSessionStop(37), + id-MBMSUELinking(38), + id-MBMSRegistration(39), + id-MBMSCNDe-Registration-Procedure(40), + id-MBMSRABEstablishmentIndication(41), + id-MBMSRABRelease(42), + id-enhancedRelocationComplete(43), + id-enhancedRelocationCompleteConfirm(44), + id-RANAPenhancedRelocation(45), + id-SRVCCPreparation(46), + id-UeRadioCapabilityMatch(47) +} (0..255) ProtocolExtensionID ::= INTEGER (0..65535) -ProtocolIE-ID ::= INTEGER (0..65535) +ProtocolIE-ID ::= INTEGER { + id-AreaIdentity(0), + id-CN-DomainIndicator(3), + id-Cause(4), + id-ChosenEncryptionAlgorithm(5), + id-ChosenIntegrityProtectionAlgorithm(6), + id-ClassmarkInformation2(7), + id-ClassmarkInformation3(8), + id-CriticalityDiagnostics(9), + id-DL-GTP-PDU-SequenceNumber(10), + id-EncryptionInformation(11), + id-IntegrityProtectionInformation(12), + id-IuTransportAssociation(13), + id-L3-Information(14), + id-LAI(15), + id-NAS-PDU(16), + id-NonSearchingIndication(17), + id-NumberOfSteps(18), + id-OMC-ID(19), + id-OldBSS-ToNewBSS-Information(20), + id-PagingAreaID(21), + id-PagingCause(22), + id-PermanentNAS-UE-ID(23), + id-RAB-ContextItem(24), + id-RAB-ContextList(25), + id-RAB-DataForwardingItem(26), + id-RAB-DataForwardingItem-SRNS-CtxReq(27), + id-RAB-DataForwardingList(28), + id-RAB-DataForwardingList-SRNS-CtxReq(29), + id-RAB-DataVolumeReportItem(30), + id-RAB-DataVolumeReportList(31), + id-RAB-DataVolumeReportRequestItem(32), + id-RAB-DataVolumeReportRequestList(33), + id-RAB-FailedItem(34), + id-RAB-FailedList(35), + id-RAB-ID(36), + id-RAB-QueuedItem(37), + id-RAB-QueuedList(38), + id-RAB-ReleaseFailedList(39), + id-RAB-ReleaseItem(40), + id-RAB-ReleaseList(41), + id-RAB-ReleasedItem(42), + id-RAB-ReleasedList(43), + id-RAB-ReleasedList-IuRelComp(44), + id-RAB-RelocationReleaseItem(45), + id-RAB-RelocationReleaseList(46), + id-RAB-SetupItem-RelocReq(47), + id-RAB-SetupItem-RelocReqAck(48), + id-RAB-SetupList-RelocReq(49), + id-RAB-SetupList-RelocReqAck(50), + id-RAB-SetupOrModifiedItem(51), + id-RAB-SetupOrModifiedList(52), + id-RAB-SetupOrModifyItem(53), + id-RAB-SetupOrModifyList(54), + id-RAC(55), + id-RelocationType(56), + id-RequestType(57), + id-SAI(58), + id-SAPI(59), + id-SourceID(60), + id-Source-ToTarget-TransparentContainer(61), + id-TargetID(62), + id-Target-ToSource-TransparentContainer(63), + id-TemporaryUE-ID(64), + id-TraceReference(65), + id-TraceType(66), + id-TransportLayerAddress(67), + id-TriggerID(68), + id-UE-ID(69), + id-UL-GTP-PDU-SequenceNumber(70), + id-RAB-FailedtoReportItem(71), + id-RAB-FailedtoReportList(72), + id-KeyStatus(75), + id-DRX-CycleLengthCoefficient(76), + id-IuSigConIdList(77), + id-IuSigConIdItem(78), + id-IuSigConId(79), + id-DirectTransferInformationItem-RANAP-RelocInf(80), + id-DirectTransferInformationList-RANAP-RelocInf(81), + id-RAB-ContextItem-RANAP-RelocInf(82), + id-RAB-ContextList-RANAP-RelocInf(83), + id-RAB-ContextFailedtoTransferItem(84), + id-RAB-ContextFailedtoTransferList(85), + id-GlobalRNC-ID(86), + id-RAB-ReleasedItem-IuRelComp(87), + id-MessageStructure(88), + id-Alt-RAB-Parameters(89), + id-Ass-RAB-Parameters(90), + id-RAB-ModifyList(91), + id-RAB-ModifyItem(92), + id-TypeOfError(93), + id-BroadcastAssistanceDataDecipheringKeys(94), + id-LocationRelatedDataRequestType(95), + id-GlobalCN-ID(96), + id-LastKnownServiceArea(97), + id-SRB-TrCH-Mapping(98), + id-InterSystemInformation-TransparentContainer(99), + id-NewBSS-To-OldBSS-Information(100), + id-SourceRNC-PDCP-context-info(103), + id-InformationTransferID(104), + id-SNA-Access-Information(105), + id-ProvidedData(106), + id-GERAN-BSC-Container(107), + id-GERAN-Classmark(108), + id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item(109), + id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse(110), + id-VerticalAccuracyCode(111), + id-ResponseTime(112), + id-PositioningPriority(113), + id-ClientType(114), + id-LocationRelatedDataRequestTypeSpecificToGERANIuMode(115), + id-SignallingIndication(116), + id-hS-DSCH-MAC-d-Flow-ID(117), + id-UESBI-Iu(118), + id-PositionData(119), + id-PositionDataSpecificToGERANIuMode(120), + id-CellLoadInformationGroup(121), + id-AccuracyFulfilmentIndicator(122), + id-InformationTransferType(123), + id-TraceRecordingSessionInformation(124), + id-TracePropagationParameters(125), + id-InterSystemInformationTransferType(126), + id-SelectedPLMN-ID(127), + id-RedirectionCompleted(128), + id-RedirectionIndication(129), + id-NAS-SequenceNumber(130), + id-RejectCauseValue(131), + id-APN(132), + id-CNMBMSLinkingInformation(133), + id-DeltaRAListofIdleModeUEs(134), + id-FrequenceLayerConvergenceFlag(135), + id-InformationExchangeID(136), + id-InformationExchangeType(137), + id-InformationRequested(138), + id-InformationRequestType(139), + id-IPMulticastAddress(140), + id-JoinedMBMSBearerServicesList(141), + id-LeftMBMSBearerServicesList(142), + id-MBMSBearerServiceType(143), + id-MBMSCNDe-Registration(144), + id-MBMSServiceArea(145), + id-MBMSSessionDuration(146), + id-MBMSSessionIdentity(147), + id-PDP-TypeInformation(148), + id-RAB-Parameters(149), + id-RAListofIdleModeUEs(150), + id-MBMSRegistrationRequestType(151), + id-SessionUpdateID(152), + id-TMGI(153), + id-TransportLayerInformation(154), + id-UnsuccessfulLinkingList(155), + id-MBMSLinkingInformation(156), + id-MBMSSessionRepetitionNumber(157), + id-AlternativeRABConfiguration(158), + id-AlternativeRABConfigurationRequest(159), + id-E-DCH-MAC-d-Flow-ID(160), + id-SourceBSS-ToTargetBSS-TransparentContainer(161), + id-TargetBSS-ToSourceBSS-TransparentContainer(162), + id-TimeToMBMSDataTransfer(163), + id-IncludeVelocity(164), + id-VelocityEstimate(165), + id-RedirectAttemptFlag(166), + id-RAT-Type(167), + id-PeriodicLocationInfo(168), + id-MBMSCountingInformation(169), + id-170-not-to-be-used-for-IE-ids(170), + id-ExtendedRNC-ID(171), + id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf(172), + id-Alt-RAB-Parameter-ExtendedMaxBitrateInf(173), + id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList(174), + id-Ass-RAB-Parameter-ExtendedMaxBitrateList(175), + id-RAB-Parameter-ExtendedGuaranteedBitrateList(176), + id-RAB-Parameter-ExtendedMaxBitrateList(177), + id-Requested-RAB-Parameter-ExtendedMaxBitrateList(178), + id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList(179), + id-LAofIdleModeUEs(180), + id-newLAListofIdleModeUEs(181), + id-LAListwithNoIdleModeUEsAnyMore(182), + id-183-not-to-be-used-for-IE-ids(183), + id-GANSS-PositioningDataSet(184), + id-RequestedGANSSAssistanceData(185), + id-BroadcastGANSSAssistanceDataDecipheringKeys(186), + id-d-RNTI-for-NoIuCSUP(187), + id-RAB-SetupList-EnhancedRelocCompleteReq(188), + id-RAB-SetupItem-EnhancedRelocCompleteReq(189), + id-RAB-SetupList-EnhancedRelocCompleteRes(190), + id-RAB-SetupItem-EnhancedRelocCompleteRes(191), + id-RAB-SetupList-EnhRelocInfoReq(192), + id-RAB-SetupItem-EnhRelocInfoReq(193), + id-RAB-SetupList-EnhRelocInfoRes(194), + id-RAB-SetupItem-EnhRelocInfoRes(195), + id-OldIuSigConId(196), + id-RAB-FailedList-EnhRelocInfoRes(197), + id-RAB-FailedItem-EnhRelocInfoRes(198), + id-Global-ENB-ID(199), + id-UE-History-Information(200), + id-MBMSSynchronisationInformation(201), + id-SubscriberProfileIDforRFP(202), + id-CSG-Id(203), + id-OldIuSigConIdCS(204), + id-OldIuSigConIdPS(205), + id-GlobalCN-IDCS(206), + id-GlobalCN-IDPS(207), + id-SourceExtendedRNC-ID(208), + id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes(209), + id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes(210), + id-SourceRNC-ID(211), + id-Relocation-TargetRNC-ID(212), + id-Relocation-TargetExtendedRNC-ID(213), + id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf(214), + id-Alt-RAB-Parameter-SupportedMaxBitrateInf(215), + id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList(216), + id-Ass-RAB-Parameter-SupportedMaxBitrateList(217), + id-RAB-Parameter-SupportedGuaranteedBitrateList(218), + id-RAB-Parameter-SupportedMaxBitrateList(219), + id-Requested-RAB-Parameter-SupportedMaxBitrateList(220), + id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList(221), + id-Relocation-SourceRNC-ID(222), + id-Relocation-SourceExtendedRNC-ID(223), + id-EncryptionKey(224), + id-IntegrityProtectionKey(225), + id-SRVCC-HO-Indication(226), + id-SRVCC-Information(227), + id-SRVCC-Operation-Possible(228), + id-CSG-Id-List(229), + id-PSRABtobeReplaced(230), + id-E-UTRAN-Service-Handover(231), + id-UE-AggregateMaximumBitRate(233), + id-CSG-Membership-Status(234), + id-Cell-Access-Mode(235), + id-IP-Source-Address(236), + id-CSFB-Information(237), + id-PDP-TypeInformation-extension(238), + id-MSISDN(239), + id-Offload-RAB-Parameters(240), + id-LGW-TransportLayerAddress(241), + id-Correlation-ID(242), + id-IRAT-Measurement-Configuration(243), + id-MDT-Configuration(244), + id-Priority-Class-Indicator(245), + id-RNSAPRelocationParameters(247), + id-RABParametersList(248), + id-Management-Based-MDT-Allowed(249), + id-HigherBitratesThan16MbpsFlag(250), + id-Trace-Collection-Entity-IP-Addess(251), + id-End-Of-CSFB(252), + id-Time-UE-StayedInCell-EnhancedGranularity(253), + id-Out-Of-UTRAN(254), + id-TraceRecordingSessionReference(255), + id-IMSI(256), + id-HO-Cause(257), + id-VoiceSupportMatchIndicator(258), + id-RSRVCC-HO-Indication(259), + id-RSRVCC-Information(260), + id-AnchorPLMN-ID(261), + id-Tunnel-Information-for-BBF(262), + id-Management-Based-MDT-PLMN-List(263), + id-SignallingBasedMDTPLMNList(264), + id-M4Report(265), + id-M5Report(266), + id-M6Report(267), + id-M7Report(268), + id-TimingDifferenceULDL(269), + id-Serving-Cell-Identifier(270), + id-EARFCN-Extended(271), + id-RSRVCC-Operation-Possible(272), + id-SIPTO-LGW-TransportLayerAddress(273), + id-SIPTO-Correlation-ID(274), + id-LHN-ID(275), + id-Session-Re-establishment-Indicator(276), + id-LastE-UTRANPLMNIdentity(277), + id-RSRQ-Type(278), + id-RSRQ-Extension(279) +} (0..65535) TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome, outcome } diff --git a/asn1/rua/RUA-CommonDataTypes.asn b/asn1/rua/RUA-CommonDataTypes.asn index da7ed22..98382af 100644 --- a/asn1/rua/RUA-CommonDataTypes.asn +++ b/asn1/rua/RUA-CommonDataTypes.asn @@ -32,14 +32,30 @@ Criticality ::= ENUMERATED { reject, ignore, notify } Presence ::= ENUMERATED { optional, conditional, mandatory } -ProcedureCode ::= INTEGER (0..255) +ProcedureCode ::= INTEGER { + id-Connect(1), + id-DirectTransfer(2), + id-Disconnect(3), + id-ConnectionlessTransfer(4), + id-ErrorIndication(5), + id-privateMessage(6) +} (0..255) PrivateIE-ID ::= CHOICE { local INTEGER (0..65535), global OBJECT IDENTIFIER } -ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs) +ProtocolIE-ID ::= INTEGER { + id-Cause(1), + id-CriticalityDiagnostics(2), + id-Context-ID(3), + id-RANAP-Message(4), + id-IntraDomainNasNodeSelector(5), + id-Establishment-Cause(6), + id-CN-DomainIndicator(7), + id-CSGMembershipStatus(9) +} (0..maxProtocolIEs) TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome } -- cgit v1.2.3