aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2015-08-30 19:09:55 +0200
committerHarald Welte <laforge@gnumonks.org>2015-08-30 19:09:55 +0200
commit3bd59c9d596e6ca884adfd9074cf07df69d00067 (patch)
treed55f8234dd7d6d9f53c67671185ba3e9ab9034bb
parentf24cabee154b21d7a57d88bd180dc4f4b38cad1b (diff)
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
-rwxr-xr-xasn1/asn1enum.pl29
-rw-r--r--asn1/hnbap/HNBAP-CommonDataTypes.asn59
-rw-r--r--asn1/ranap/RANAP-CommonDataTypes.asn325
-rw-r--r--asn1/rua/RUA-CommonDataTypes.asn20
4 files changed, 427 insertions, 6 deletions
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 = <STDIN>) {
+ 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 }