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
This commit is contained in:
Harald Welte 2015-08-30 19:09:55 +02:00
parent f24cabee15
commit 3bd59c9d59
4 changed files with 427 additions and 6 deletions

29
asn1/asn1enum.pl Executable file
View File

@ -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");
}

View File

@ -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 }

View File

@ -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 }

View File

@ -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 }