diff options
-rw-r--r-- | asn1/lppa/LPPA-Common.asn | 6 | ||||
-rw-r--r-- | asn1/lppa/LPPA-Constant.asn | 14 | ||||
-rw-r--r-- | asn1/lppa/LPPA-Container.asn | 14 | ||||
-rw-r--r-- | asn1/lppa/LPPA-ElementaryProcedure.asn | 39 | ||||
-rw-r--r-- | asn1/lppa/LPPA-InformationElement.asn | 64 | ||||
-rw-r--r-- | asn1/lppa/LPPA-PDU.asn | 92 | ||||
-rw-r--r-- | asn1/lppa/lppa.cnf | 60 | ||||
-rw-r--r-- | asn1/lppa/packet-lppa-template.c | 2 | ||||
-rw-r--r-- | epan/dissectors/packet-lppa.c | 559 |
9 files changed, 768 insertions, 82 deletions
diff --git a/asn1/lppa/LPPA-Common.asn b/asn1/lppa/LPPA-Common.asn index d5fa98ec43..0064937b53 100644 --- a/asn1/lppa/LPPA-Common.asn +++ b/asn1/lppa/LPPA-Common.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.455 V9.4.1 (2011-03) +-- 3GPP TS 36.455 V11.3.0 (2013-06) -- $Id$ -- @@ -49,10 +49,6 @@ ProcedureCode ::= INTEGER (0..255) ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs) - - - - TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome} END diff --git a/asn1/lppa/LPPA-Constant.asn b/asn1/lppa/LPPA-Constant.asn index a38e807d3e..f5d2c9fdac 100644 --- a/asn1/lppa/LPPA-Constant.asn +++ b/asn1/lppa/LPPA-Constant.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.455 V9.4.1 (2011-03) +-- 3GPP TS 36.455 V11.3.0 (2013-06) -- $Id$ -- @@ -34,11 +34,8 @@ id-e-CIDMeasurementFailureIndication ProcedureCode ::= 3 id-e-CIDMeasurementReport ProcedureCode ::= 4 id-e-CIDMeasurementTermination ProcedureCode ::= 5 id-oTDOAInformationExchange ProcedureCode ::= 6 - - - - - +id-uTDOAInformationExchange ProcedureCode ::= 7 +id-uTDOAInformationUpdate ProcedureCode ::= 8 -- ************************************************************** -- @@ -51,8 +48,7 @@ maxCellineNB INTEGER ::= 256 maxNoMeas INTEGER ::= 63 maxCellReport INTEGER ::= 9 maxnoOTDOAtypes INTEGER ::= 63 - - +maxServCell INTEGER ::= 5 -- ************************************************************** @@ -73,6 +69,8 @@ id-OTDOACells ProtocolIE-ID ::= 8 id-OTDOA-Information-Type-Group ProtocolIE-ID ::= 9 id-OTDOA-Information-Type-Item ProtocolIE-ID ::= 10 id-MeasurementQuantities-Item ProtocolIE-ID ::= 11 +id-RequestedSRSTransmissionCharacteristics ProtocolIE-ID ::= 12 +id-ULConfiguration ProtocolIE-ID ::= 13 END diff --git a/asn1/lppa/LPPA-Container.asn b/asn1/lppa/LPPA-Container.asn index 1b14e24c0d..ac61f21237 100644 --- a/asn1/lppa/LPPA-Container.asn +++ b/asn1/lppa/LPPA-Container.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.455 V9.4.1 (2011-03) +-- 3GPP TS 36.455 V11.3.0 (2013-06) -- $Id$ -- @@ -39,7 +39,7 @@ FROM LPPA-CommonDataTypes; -- ************************************************************** LPPA-PROTOCOL-IES ::= CLASS { - &id ProtocolIE-ID UNIQUE, + &id ProtocolIE-ID UNIQUE, &criticality Criticality, &Value, &presence Presence @@ -58,7 +58,7 @@ WITH SYNTAX { -- ************************************************************** LPPA-PROTOCOL-IES-PAIR ::= CLASS { - &id ProtocolIE-ID UNIQUE, + &id ProtocolIE-ID UNIQUE, &firstCriticality Criticality, &FirstValue, &secondCriticality Criticality, @@ -81,7 +81,7 @@ WITH SYNTAX { -- ************************************************************** LPPA-PROTOCOL-EXTENSION ::= CLASS { - &id ProtocolIE-ID UNIQUE, + &id ProtocolIE-ID UNIQUE, &criticality Criticality, &Extension, &presence Presence @@ -128,7 +128,7 @@ ProtocolIE-Single-Container { LPPA-PROTOCOL-IES : IEsSetParam} ::= ProtocolIE-Field { LPPA-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { id LPPA-PROTOCOL-IES.&id ({IEsSetParam}), criticality LPPA-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), - value LPPA-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) + value LPPA-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) } -- ************************************************************** @@ -144,9 +144,9 @@ ProtocolIE-ContainerPair { LPPA-PROTOCOL-IES-PAIR : IEsSetParam} ::= ProtocolIE-FieldPair { LPPA-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE { id LPPA-PROTOCOL-IES-PAIR.&id ({IEsSetParam}), firstCriticality LPPA-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}), - firstValue LPPA-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}), + firstValue LPPA-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}), secondCriticality LPPA-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}), - secondValue LPPA-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id}) + secondValue LPPA-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id}) } -- ************************************************************** diff --git a/asn1/lppa/LPPA-ElementaryProcedure.asn b/asn1/lppa/LPPA-ElementaryProcedure.asn index d2feafcb20..20d6f5c31f 100644 --- a/asn1/lppa/LPPA-ElementaryProcedure.asn +++ b/asn1/lppa/LPPA-ElementaryProcedure.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.455 V9.4.1 (2011-03) +-- 3GPP TS 36.455 V11.3.0 (2013-06) -- $Id$ -- @@ -9,7 +9,7 @@ -- ************************************************************** LPPA-PDU-Descriptions { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) eps-Access (21) modules (3) lppa (6) version1 (1) lppa-PDU-Descriptions (0) } DEFINITIONS AUTOMATIC TAGS ::= @@ -40,7 +40,11 @@ FROM LPPA-CommonDataTypes E-CIDMeasurementTerminationCommand, OTDOAInformationRequest, OTDOAInformationResponse, - OTDOAInformationFailure + OTDOAInformationFailure, + UTDOAInformationRequest, + UTDOAInformationResponse, + UTDOAInformationFailure, + UTDOAInformationUpdate FROM LPPA-PDU-Contents @@ -51,7 +55,9 @@ FROM LPPA-PDU-Contents id-e-CIDMeasurementFailureIndication, id-e-CIDMeasurementReport, id-e-CIDMeasurementTermination, - id-oTDOAInformationExchange + id-oTDOAInformationExchange, + id-uTDOAInformationExchange, + id-uTDOAInformationUpdate FROM LPPA-Constants; @@ -66,13 +72,13 @@ LPPA-ELEMENTARY-PROCEDURE ::= CLASS { &InitiatingMessage , &SuccessfulOutcome OPTIONAL, &UnsuccessfulOutcome OPTIONAL, - &procedureCode ProcedureCode UNIQUE, - &criticality Criticality DEFAULT ignore + &procedureCode ProcedureCode UNIQUE, + &criticality Criticality DEFAULT ignore } WITH SYNTAX { INITIATING MESSAGE &InitiatingMessage [SUCCESSFUL OUTCOME &SuccessfulOutcome] - [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] + [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] PROCEDURE CODE &procedureCode [CRITICALITY &criticality] } @@ -127,7 +133,8 @@ LPPA-ELEMENTARY-PROCEDURES LPPA-ELEMENTARY-PROCEDURE ::= { LPPA-ELEMENTARY-PROCEDURES-CLASS-1 LPPA-ELEMENTARY-PROCEDURE ::= { e-CIDMeasurementInitiation | oTDOAInformationExchange , - ... + ..., + uTDOAInformationExchange } LPPA-ELEMENTARY-PROCEDURES-CLASS-2 LPPA-ELEMENTARY-PROCEDURE ::= { @@ -136,7 +143,8 @@ LPPA-ELEMENTARY-PROCEDURES-CLASS-2 LPPA-ELEMENTARY-PROCEDURE ::= { e-CIDMeasurementTermination | errorIndication | privateMessage , - ... + ..., + uTDOAInformationUpdate } @@ -180,6 +188,19 @@ oTDOAInformationExchange LPPA-ELEMENTARY-PROCEDURE ::= { CRITICALITY reject } +uTDOAInformationExchange LPPA-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UTDOAInformationRequest + SUCCESSFUL OUTCOME UTDOAInformationResponse + UNSUCCESSFUL OUTCOME UTDOAInformationFailure + PROCEDURE CODE id-uTDOAInformationExchange + CRITICALITY reject +} + +uTDOAInformationUpdate LPPA-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UTDOAInformationUpdate + PROCEDURE CODE id-uTDOAInformationUpdate + CRITICALITY ignore +} errorIndication LPPA-ELEMENTARY-PROCEDURE ::= { INITIATING MESSAGE ErrorIndication diff --git a/asn1/lppa/LPPA-InformationElement.asn b/asn1/lppa/LPPA-InformationElement.asn index 1fb7feae8f..8bd51db352 100644 --- a/asn1/lppa/LPPA-InformationElement.asn +++ b/asn1/lppa/LPPA-InformationElement.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.455 V9.4.1 (2011-03) +-- 3GPP TS 36.455 V11.3.0 (2013-06) -- $Id$ -- @@ -23,7 +23,8 @@ IMPORTS maxCellReport, maxNrOfErrors, maxNoMeas, - maxnoOTDOAtypes + maxnoOTDOAtypes, + maxServCell FROM LPPA-Constants @@ -119,7 +120,7 @@ E-CID-MeasurementResult ::= SEQUENCE { servingCell-ID ECGI, servingCellTAC TAC, e-UTRANAccessPointPosition E-UTRANAccessPointPosition OPTIONAL, - measuredResults MeasuredResults OPTIONAL, + measuredResults MeasuredResults OPTIONAL, ... } @@ -136,7 +137,7 @@ ECGI-ExtIEs LPPA-PROTOCOL-EXTENSION ::= { EUTRANCellIdentifier ::= BIT STRING (SIZE (28)) -EARFCN ::= INTEGER (0..65535, ...) +EARFCN ::= INTEGER (0..65535, ..., 65536..262143) E-UTRANAccessPointPosition ::= SEQUENCE { latitudeSign ENUMERATED {north, south}, @@ -183,7 +184,7 @@ MeasurementPeriodicity ::= ENUMERATED { MeasurementQuantities ::= SEQUENCE (SIZE (1.. maxNoMeas)) OF ProtocolIE-Single-Container { {MeasurementQuantities-ItemIEs} } MeasurementQuantities-ItemIEs LPPA-PROTOCOL-IES ::= { - { ID id-MeasurementQuantities-Item CRITICALITY reject TYPE MeasurementQuantities-Item PRESENCE mandatory } + { ID id-MeasurementQuantities-Item CRITICALITY reject TYPE MeasurementQuantities-Item PRESENCE mandatory} } MeasurementQuantities-Item ::= SEQUENCE { @@ -222,15 +223,15 @@ MeasuredResultsValue ::= CHOICE { NumberOfAntennaPorts ::= ENUMERATED { n1-or-n2, - n4, + n4, ... } NumberOfDlFrames ::= ENUMERATED { sf1, - sf2, + sf2, sf4, - sf6, + sf6, ... } @@ -266,9 +267,9 @@ OTDOACell-Information-Item ::= CHOICE { OTDOA-Information-Item ::= ENUMERATED { pci, - cellid, + cellid, tac, - earfcn, + earfcn, prsBandwidth, prsConfigIndex, cpLength, @@ -288,9 +289,9 @@ PLMN-Identity ::= OCTET STRING (SIZE(3)) PRS-Bandwidth ::= ENUMERATED { bw6, - bw15, + bw15, bw25, - bw50, + bw50, bw75, bw100, ... @@ -316,6 +317,12 @@ ReportCharacteristics ::= ENUMERATED { ... } +RequestedSRSTransmissionCharacteristics ::= SEQUENCE { + numberOfTransmissions INTEGER (0..500, ...), + bandwidth INTEGER (1..100, ...), + ... +} + ResultRSRP ::= SEQUENCE (SIZE (1.. maxCellReport)) OF ResultRSRP-Item ResultRSRP-Item ::= SEQUENCE { @@ -350,6 +357,28 @@ ResultRSRQ-Item-ExtIEs LPPA-PROTOCOL-EXTENSION ::= { SFNInitialisationTime ::= BIT STRING (SIZE (64)) +SRSConfigurationForAllCells ::= SEQUENCE (SIZE (1.. maxServCell)) OF SRSConfigurationForOneCell + +SRSConfigurationForOneCell ::= SEQUENCE { + pci PCI, + ul-earfcn EARFCN, + ul-bandwidth ENUMERATED {n6, n15, n25, n50, n75, n100}, + ul-cyclicPrefixLength CPLength, + srs-BandwidthConfig ENUMERATED {bw0, bw1, bw2, bw3, bw4, bw5, bw6, bw7}, + srs-Bandwidth ENUMERATED {bw0, bw1, bw2, bw3}, + srs-AntennaPort ENUMERATED {an1, an2, an4, ...}, + srs-HoppingBandwidth ENUMERATED {hbw0, hbw1, hbw2, hbw3}, + srs-cyclicShift ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7}, + srs-ConfigIndex INTEGER (0..1023), + maxUpPts ENUMERATED {true} OPTIONAL, -- Cond ifTDD + transmissionComb INTEGER (0..1), + freqDomainPosition INTEGER (0..23), + groupHoppingEnabled BOOLEAN, + deltaSS INTEGER (0..29) OPTIONAL, + sfnInitialisationTime SFNInitialisationTime, + ... +} + -- T TAC ::= OCTET STRING (SIZE(2)) @@ -364,6 +393,17 @@ TypeOfError ::= ENUMERATED { -- U + +ULConfiguration ::= SEQUENCE { + pci PCI, + ul-earfcn EARFCN, + timingAdvanceType1 INTEGER (0..7690) OPTIONAL, + timingAdvanceType2 INTEGER (0..7690) OPTIONAL, + numberOfTransmissions INTEGER (0..500,...), + srsConfiguration SRSConfigurationForAllCells, + ... +} + -- V ValueRSRP ::= INTEGER (0..97, ...) diff --git a/asn1/lppa/LPPA-PDU.asn b/asn1/lppa/LPPA-PDU.asn index 8ec87fb9f4..09a96d3cd0 100644 --- a/asn1/lppa/LPPA-PDU.asn +++ b/asn1/lppa/LPPA-PDU.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.455 V9.4.1 (2011-03) +-- 3GPP TS 36.455 V11.3.0 (2013-06) -- $Id$ -- @@ -32,7 +32,9 @@ IMPORTS Measurement-ID, MeasurementPeriodicity, MeasurementQuantities, - ReportCharacteristics + ReportCharacteristics, + RequestedSRSTransmissionCharacteristics, + ULConfiguration FROM LPPA-IEs @@ -61,7 +63,9 @@ FROM LPPA-Containers id-MeasurementPeriodicity, id-MeasurementQuantities, id-eNB-UE-Measurement-ID, - id-E-CID-MeasurementResult + id-E-CID-MeasurementResult, + id-RequestedSRSTransmissionCharacteristics, + id-ULConfiguration FROM LPPA-Constants; @@ -81,7 +85,7 @@ E-CIDMeasurementInitiationRequest-IEs LPPA-PROTOCOL-IES ::= { { ID id-E-SMLC-UE-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}| { ID id-ReportCharacteristics CRITICALITY reject TYPE ReportCharacteristics PRESENCE mandatory}| { ID id-MeasurementPeriodicity CRITICALITY reject TYPE MeasurementPeriodicity PRESENCE conditional}| --- The IE shall be present if the Report Characteritics IE is set to "periodic" -- +-- The IE shall be present if the Report Characteritics IE is set to “periodic” -- { ID id-MeasurementQuantities CRITICALITY reject TYPE MeasurementQuantities PRESENCE mandatory}, ... } @@ -123,7 +127,7 @@ E-CIDMeasurementInitiationFailure ::= SEQUENCE { E-CIDMeasurementInitiationFailure-IEs LPPA-PROTOCOL-IES ::= { { ID id-E-SMLC-UE-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}| { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}, ... } @@ -204,12 +208,12 @@ OTDOAInformationRequest-IEs LPPA-PROTOCOL-IES ::= { OTDOA-Information-Type ::= SEQUENCE (SIZE(1..maxnoOTDOAtypes)) OF ProtocolIE-Single-Container { { OTDOA-Information-TypeIEs} } OTDOA-Information-TypeIEs LPPA-PROTOCOL-IES ::= { - { ID id-OTDOA-Information-Type-Item CRITICALITY reject TYPE OTDOA-Information-Type-Item PRESENCE mandatory }, + { ID id-OTDOA-Information-Type-Item CRITICALITY reject TYPE OTDOA-Information-Type-Item PRESENCE mandatory}, ... } OTDOA-Information-Type-Item ::= SEQUENCE { - oTDOA-Information-Type-Item OTDOA-Information-Item, + oTDOA-Information-Type-Item OTDOA-Information-Item, iE-Extensions ProtocolExtensionContainer { { OTDOA-Information-Type-ItemExtIEs} } OPTIONAL, ... } @@ -231,7 +235,7 @@ OTDOAInformationResponse ::= SEQUENCE { OTDOAInformationResponse-IEs LPPA-PROTOCOL-IES ::= { { ID id-OTDOACells CRITICALITY ignore TYPE OTDOACells PRESENCE mandatory}| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}, ... } @@ -249,10 +253,76 @@ OTDOAInformationFailure ::= SEQUENCE { OTDOAInformationFailure-IEs LPPA-PROTOCOL-IES ::= { { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}, ... } +-- ************************************************************** +-- +-- UTDOA INFORMATION REQUEST +-- +-- ************************************************************** + +UTDOAInformationRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{UTDOAInformationRequest-IEs}}, + ... +} + +UTDOAInformationRequest-IEs LPPA-PROTOCOL-IES ::= { + { ID id-RequestedSRSTransmissionCharacteristics CRITICALITY ignore TYPE RequestedSRSTransmissionCharacteristics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- UTDOA INFORMATION RESPONSE +-- +-- ************************************************************** + +UTDOAInformationResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{UTDOAInformationResponse-IEs}}, + ... +} + +UTDOAInformationResponse-IEs LPPA-PROTOCOL-IES ::= { + { ID id-ULConfiguration CRITICALITY reject TYPE ULConfiguration PRESENCE mandatory}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- UTDOA INFORMATION FAILURE +-- +-- ************************************************************** + +UTDOAInformationFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{UTDOAInformationFailure-IEs}}, + ... +} + + +UTDOAInformationFailure-IEs LPPA-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- UTDOA INFORMATION UPDATE +-- +-- ************************************************************** + +UTDOAInformationUpdate ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{UTDOAInformationUpdate-IEs}}, + ... +} + +UTDOAInformationUpdate-IEs LPPA-PROTOCOL-IES ::= { + { ID id-ULConfiguration CRITICALITY ignore TYPE ULConfiguration PRESENCE optional}, + ... +} -- ************************************************************** -- @@ -267,8 +337,8 @@ ErrorIndication ::= SEQUENCE { ErrorIndication-IEs LPPA-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional} | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional} , + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}, ... } diff --git a/asn1/lppa/lppa.cnf b/asn1/lppa/lppa.cnf index 69541c8617..a103f4ba95 100644 --- a/asn1/lppa/lppa.cnf +++ b/asn1/lppa/lppa.cnf @@ -71,36 +71,41 @@ id-e-CIDMeasurementFailureIndication ProcedureCode id-e-CIDMeasurementReport ProcedureCode id-e-CIDMeasurementTermination ProcedureCode id-oTDOAInformationExchange ProcedureCode +id-uTDOAInformationExchange ProcedureCode +id-uTDOAInformationUpdate ProcedureCode # ProtocolIE-ID -id-Cause ProtocolIE-ID -id-CriticalityDiagnostics ProtocolIE-ID -id-E-SMLC-UE-Measurement-ID ProtocolIE-ID -id-ReportCharacteristics ProtocolIE-ID -id-MeasurementPeriodicity ProtocolIE-ID -id-MeasurementQuantities ProtocolIE-ID -id-eNB-UE-Measurement-ID ProtocolIE-ID -id-E-CID-MeasurementResult ProtocolIE-ID -id-OTDOACells ProtocolIE-ID -id-OTDOA-Information-Type-Group ProtocolIE-ID -id-OTDOA-Information-Type-Item ProtocolIE-ID -id-MeasurementQuantities-Item ProtocolIE-ID - +id-Cause ProtocolIE-ID +id-CriticalityDiagnostics ProtocolIE-ID +id-E-SMLC-UE-Measurement-ID ProtocolIE-ID +id-ReportCharacteristics ProtocolIE-ID +id-MeasurementPeriodicity ProtocolIE-ID +id-MeasurementQuantities ProtocolIE-ID +id-eNB-UE-Measurement-ID ProtocolIE-ID +id-E-CID-MeasurementResult ProtocolIE-ID +id-OTDOACells ProtocolIE-ID +id-OTDOA-Information-Type-Group ProtocolIE-ID +id-OTDOA-Information-Type-Item ProtocolIE-ID +id-MeasurementQuantities-Item ProtocolIE-ID +id-RequestedSRSTransmissionCharacteristics ProtocolIE-ID +id-ULConfiguration ProtocolIE-ID #.REGISTER_NEW #LPPA-PROTOCOL-IES -MeasurementQuantities-Item N lppa.ies id-MeasurementQuantities-Item -ReportCharacteristics N lppa.ies id-ReportCharacteristics -MeasurementPeriodicity N lppa.ies id-MeasurementPeriodicity -MeasurementQuantities N lppa.ies id-MeasurementQuantities -E-CID-MeasurementResult N lppa.ies id-E-CID-MeasurementResult -OTDOA-Information-Type N lppa.ies id-OTDOA-Information-Type-Group -OTDOA-Information-Type-Item N lppa.ies id-OTDOA-Information-Type-Item -OTDOACells N lppa.ies id-OTDOACells -Cause N lppa.ies id-Cause -CriticalityDiagnostics N lppa.ies id-CriticalityDiagnostics -Measurement-ID N lppa.ies id-E-SMLC-UE-Measurement-ID -Measurement-ID N lppa.ies id-eNB-UE-Measurement-ID +MeasurementQuantities-Item N lppa.ies id-MeasurementQuantities-Item +ReportCharacteristics N lppa.ies id-ReportCharacteristics +MeasurementPeriodicity N lppa.ies id-MeasurementPeriodicity +MeasurementQuantities N lppa.ies id-MeasurementQuantities +E-CID-MeasurementResult N lppa.ies id-E-CID-MeasurementResult +OTDOA-Information-Type N lppa.ies id-OTDOA-Information-Type-Group +OTDOA-Information-Type-Item N lppa.ies id-OTDOA-Information-Type-Item +OTDOACells N lppa.ies id-OTDOACells +Cause N lppa.ies id-Cause +CriticalityDiagnostics N lppa.ies id-CriticalityDiagnostics +Measurement-ID N lppa.ies id-E-SMLC-UE-Measurement-ID +Measurement-ID N lppa.ies id-eNB-UE-Measurement-ID +RequestedSRSTransmissionCharacteristics N lppa.ies id-RequestedSRSTransmissionCharacteristics +ULConfiguration N lppa.ies id-ULConfiguration #LPPA-ELEMENTARY-PROCEDURE E-CIDMeasurementInitiationRequest N lppa.proc.imsg id-e-CIDMeasurementInitiation @@ -114,4 +119,7 @@ OTDOAInformationResponse N lppa.proc.sout id-oTDOAInformationExchange OTDOAInformationFailure N lppa.proc.uout id-oTDOAInformationExchange ErrorIndication N lppa.proc.imsg id-errorIndication PrivateMessage N lppa.proc.imsg id-privateMessage - +UTDOAInformationRequest N lppa.proc.imsg id-uTDOAInformationExchange +UTDOAInformationResponse N lppa.proc.sout id-uTDOAInformationExchange +UTDOAInformationFailure N lppa.proc.uout id-uTDOAInformationExchange +UTDOAInformationUpdate N lppa.proc.imsg id-uTDOAInformationUpdate diff --git a/asn1/lppa/packet-lppa-template.c b/asn1/lppa/packet-lppa-template.c index 93b0face64..d67b7321a4 100644 --- a/asn1/lppa/packet-lppa-template.c +++ b/asn1/lppa/packet-lppa-template.c @@ -22,7 +22,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * - * Ref 3GPP TS 36.455 version 9.4.1 Release 9 + * Ref 3GPP TS 36.455 version 11.3.0 Release 11 * http://www.3gpp.org */ diff --git a/epan/dissectors/packet-lppa.c b/epan/dissectors/packet-lppa.c index 114c83abc1..6434d0cf34 100644 --- a/epan/dissectors/packet-lppa.c +++ b/epan/dissectors/packet-lppa.c @@ -30,7 +30,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * - * Ref 3GPP TS 36.455 version 9.4.1 Release 9 + * Ref 3GPP TS 36.455 version 11.3.0 Release 11 * http://www.3gpp.org */ @@ -62,6 +62,8 @@ static int hf_lppa_MeasurementQuantities_PDU = -1; /* MeasurementQuantities */ static int hf_lppa_MeasurementQuantities_Item_PDU = -1; /* MeasurementQuantities_Item */ static int hf_lppa_OTDOACells_PDU = -1; /* OTDOACells */ static int hf_lppa_ReportCharacteristics_PDU = -1; /* ReportCharacteristics */ +static int hf_lppa_RequestedSRSTransmissionCharacteristics_PDU = -1; /* RequestedSRSTransmissionCharacteristics */ +static int hf_lppa_ULConfiguration_PDU = -1; /* ULConfiguration */ static int hf_lppa_E_CIDMeasurementInitiationRequest_PDU = -1; /* E_CIDMeasurementInitiationRequest */ static int hf_lppa_E_CIDMeasurementInitiationResponse_PDU = -1; /* E_CIDMeasurementInitiationResponse */ static int hf_lppa_E_CIDMeasurementInitiationFailure_PDU = -1; /* E_CIDMeasurementInitiationFailure */ @@ -73,6 +75,10 @@ static int hf_lppa_OTDOA_Information_Type_PDU = -1; /* OTDOA_Information_Type * static int hf_lppa_OTDOA_Information_Type_Item_PDU = -1; /* OTDOA_Information_Type_Item */ static int hf_lppa_OTDOAInformationResponse_PDU = -1; /* OTDOAInformationResponse */ static int hf_lppa_OTDOAInformationFailure_PDU = -1; /* OTDOAInformationFailure */ +static int hf_lppa_UTDOAInformationRequest_PDU = -1; /* UTDOAInformationRequest */ +static int hf_lppa_UTDOAInformationResponse_PDU = -1; /* UTDOAInformationResponse */ +static int hf_lppa_UTDOAInformationFailure_PDU = -1; /* UTDOAInformationFailure */ +static int hf_lppa_UTDOAInformationUpdate_PDU = -1; /* UTDOAInformationUpdate */ static int hf_lppa_ErrorIndication_PDU = -1; /* ErrorIndication */ static int hf_lppa_PrivateMessage_PDU = -1; /* PrivateMessage */ static int hf_lppa_local = -1; /* INTEGER_0_maxPrivateIEs */ @@ -147,11 +153,33 @@ static int hf_lppa_two = -1; /* BIT_STRING_SIZE_2 */ static int hf_lppa_four = -1; /* BIT_STRING_SIZE_4 */ static int hf_lppa_eight = -1; /* BIT_STRING_SIZE_8 */ static int hf_lppa_sixteen = -1; /* BIT_STRING_SIZE_16 */ +static int hf_lppa_numberOfTransmissions = -1; /* INTEGER_0_500_ */ +static int hf_lppa_bandwidth = -1; /* INTEGER_1_100_ */ static int hf_lppa_ResultRSRP_item = -1; /* ResultRSRP_Item */ static int hf_lppa_eCGI = -1; /* ECGI */ static int hf_lppa_valueRSRP = -1; /* ValueRSRP */ static int hf_lppa_ResultRSRQ_item = -1; /* ResultRSRQ_Item */ static int hf_lppa_valueRSRQ = -1; /* ValueRSRQ */ +static int hf_lppa_SRSConfigurationForAllCells_item = -1; /* SRSConfigurationForOneCell */ +static int hf_lppa_pci = -1; /* PCI */ +static int hf_lppa_ul_earfcn = -1; /* EARFCN */ +static int hf_lppa_ul_bandwidth = -1; /* T_ul_bandwidth */ +static int hf_lppa_ul_cyclicPrefixLength = -1; /* CPLength */ +static int hf_lppa_srs_BandwidthConfig = -1; /* T_srs_BandwidthConfig */ +static int hf_lppa_srs_Bandwidth = -1; /* T_srs_Bandwidth */ +static int hf_lppa_srs_AntennaPort = -1; /* T_srs_AntennaPort */ +static int hf_lppa_srs_HoppingBandwidth = -1; /* T_srs_HoppingBandwidth */ +static int hf_lppa_srs_cyclicShift = -1; /* T_srs_cyclicShift */ +static int hf_lppa_srs_ConfigIndex = -1; /* INTEGER_0_1023 */ +static int hf_lppa_maxUpPts = -1; /* T_maxUpPts */ +static int hf_lppa_transmissionComb = -1; /* INTEGER_0_1 */ +static int hf_lppa_freqDomainPosition = -1; /* INTEGER_0_23 */ +static int hf_lppa_groupHoppingEnabled = -1; /* BOOLEAN */ +static int hf_lppa_deltaSS = -1; /* INTEGER_0_29 */ +static int hf_lppa_sfnInitialisationTime = -1; /* SFNInitialisationTime */ +static int hf_lppa_timingAdvanceType1 = -1; /* INTEGER_0_7690 */ +static int hf_lppa_timingAdvanceType2 = -1; /* INTEGER_0_7690 */ +static int hf_lppa_srsConfiguration = -1; /* SRSConfigurationForAllCells */ static int hf_lppa_protocolIEs = -1; /* ProtocolIE_Container */ static int hf_lppa_OTDOA_Information_Type_item = -1; /* ProtocolIE_Single_Container */ static int hf_lppa_oTDOA_Information_Type_Item = -1; /* OTDOA_Information_Item */ @@ -192,10 +220,14 @@ static gint ett_lppa_OTDOACells_item = -1; static gint ett_lppa_OTDOACell_Information = -1; static gint ett_lppa_OTDOACell_Information_Item = -1; static gint ett_lppa_PRSMutingConfiguration = -1; +static gint ett_lppa_RequestedSRSTransmissionCharacteristics = -1; static gint ett_lppa_ResultRSRP = -1; static gint ett_lppa_ResultRSRP_Item = -1; static gint ett_lppa_ResultRSRQ = -1; static gint ett_lppa_ResultRSRQ_Item = -1; +static gint ett_lppa_SRSConfigurationForAllCells = -1; +static gint ett_lppa_SRSConfigurationForOneCell = -1; +static gint ett_lppa_ULConfiguration = -1; static gint ett_lppa_E_CIDMeasurementInitiationRequest = -1; static gint ett_lppa_E_CIDMeasurementInitiationResponse = -1; static gint ett_lppa_E_CIDMeasurementInitiationFailure = -1; @@ -207,6 +239,10 @@ static gint ett_lppa_OTDOA_Information_Type = -1; static gint ett_lppa_OTDOA_Information_Type_Item = -1; static gint ett_lppa_OTDOAInformationResponse = -1; static gint ett_lppa_OTDOAInformationFailure = -1; +static gint ett_lppa_UTDOAInformationRequest = -1; +static gint ett_lppa_UTDOAInformationResponse = -1; +static gint ett_lppa_UTDOAInformationFailure = -1; +static gint ett_lppa_UTDOAInformationUpdate = -1; static gint ett_lppa_ErrorIndication = -1; static gint ett_lppa_PrivateMessage = -1; @@ -235,6 +271,7 @@ static dissector_table_t lppa_proc_uout_dissector_table; #define maxNoMeas 63 #define maxCellReport 9 #define maxnoOTDOAtypes 63 +#define maxServCell 5 typedef enum _ProcedureCode_enum { id_errorIndication = 0, @@ -243,7 +280,9 @@ typedef enum _ProcedureCode_enum { id_e_CIDMeasurementFailureIndication = 3, id_e_CIDMeasurementReport = 4, id_e_CIDMeasurementTermination = 5, - id_oTDOAInformationExchange = 6 + id_oTDOAInformationExchange = 6, + id_uTDOAInformationExchange = 7, + id_uTDOAInformationUpdate = 8 } ProcedureCode_enum; typedef enum _ProtocolIE_ID_enum { @@ -258,7 +297,9 @@ typedef enum _ProtocolIE_ID_enum { id_OTDOACells = 8, id_OTDOA_Information_Type_Group = 9, id_OTDOA_Information_Type_Item = 10, - id_MeasurementQuantities_Item = 11 + id_MeasurementQuantities_Item = 11, + id_RequestedSRSTransmissionCharacteristics = 12, + id_ULConfiguration = 13 } ProtocolIE_ID_enum; /*--- End of included file: packet-lppa-val.h ---*/ @@ -349,6 +390,8 @@ static const value_string lppa_ProcedureCode_vals[] = { { id_e_CIDMeasurementReport, "id-e-CIDMeasurementReport" }, { id_e_CIDMeasurementTermination, "id-e-CIDMeasurementTermination" }, { id_oTDOAInformationExchange, "id-oTDOAInformationExchange" }, + { id_uTDOAInformationExchange, "id-uTDOAInformationExchange" }, + { id_uTDOAInformationUpdate, "id-uTDOAInformationUpdate" }, { 0, NULL } }; @@ -380,6 +423,8 @@ static const value_string lppa_ProtocolIE_ID_vals[] = { { id_OTDOA_Information_Type_Group, "id-OTDOA-Information-Type-Group" }, { id_OTDOA_Information_Type_Item, "id-OTDOA-Information-Type-Item" }, { id_MeasurementQuantities_Item, "id-MeasurementQuantities-Item" }, + { id_RequestedSRSTransmissionCharacteristics, "id-RequestedSRSTransmissionCharacteristics" }, + { id_ULConfiguration, "id-ULConfiguration" }, { 0, NULL } }; @@ -1505,6 +1550,284 @@ dissect_lppa_ReportCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } + +static int +dissect_lppa_INTEGER_0_500_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 500U, NULL, TRUE); + + return offset; +} + + + +static int +dissect_lppa_INTEGER_1_100_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 100U, NULL, TRUE); + + return offset; +} + + +static const per_sequence_t RequestedSRSTransmissionCharacteristics_sequence[] = { + { &hf_lppa_numberOfTransmissions, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_0_500_ }, + { &hf_lppa_bandwidth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_1_100_ }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lppa_RequestedSRSTransmissionCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lppa_RequestedSRSTransmissionCharacteristics, RequestedSRSTransmissionCharacteristics_sequence); + + return offset; +} + + +static const value_string lppa_T_ul_bandwidth_vals[] = { + { 0, "n6" }, + { 1, "n15" }, + { 2, "n25" }, + { 3, "n50" }, + { 4, "n75" }, + { 5, "n100" }, + { 0, NULL } +}; + + +static int +dissect_lppa_T_ul_bandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 6, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lppa_T_srs_BandwidthConfig_vals[] = { + { 0, "bw0" }, + { 1, "bw1" }, + { 2, "bw2" }, + { 3, "bw3" }, + { 4, "bw4" }, + { 5, "bw5" }, + { 6, "bw6" }, + { 7, "bw7" }, + { 0, NULL } +}; + + +static int +dissect_lppa_T_srs_BandwidthConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 8, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lppa_T_srs_Bandwidth_vals[] = { + { 0, "bw0" }, + { 1, "bw1" }, + { 2, "bw2" }, + { 3, "bw3" }, + { 0, NULL } +}; + + +static int +dissect_lppa_T_srs_Bandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lppa_T_srs_AntennaPort_vals[] = { + { 0, "an1" }, + { 1, "an2" }, + { 2, "an4" }, + { 0, NULL } +}; + + +static int +dissect_lppa_T_srs_AntennaPort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const value_string lppa_T_srs_HoppingBandwidth_vals[] = { + { 0, "hbw0" }, + { 1, "hbw1" }, + { 2, "hbw2" }, + { 3, "hbw3" }, + { 0, NULL } +}; + + +static int +dissect_lppa_T_srs_HoppingBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lppa_T_srs_cyclicShift_vals[] = { + { 0, "cs0" }, + { 1, "cs1" }, + { 2, "cs2" }, + { 3, "cs3" }, + { 4, "cs4" }, + { 5, "cs5" }, + { 6, "cs6" }, + { 7, "cs7" }, + { 0, NULL } +}; + + +static int +dissect_lppa_T_srs_cyclicShift(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 8, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lppa_INTEGER_0_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 1023U, NULL, FALSE); + + return offset; +} + + +static const value_string lppa_T_maxUpPts_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lppa_T_maxUpPts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lppa_INTEGER_0_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 1U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lppa_INTEGER_0_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 23U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lppa_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL); + + return offset; +} + + + +static int +dissect_lppa_INTEGER_0_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 29U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SRSConfigurationForOneCell_sequence[] = { + { &hf_lppa_pci , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_PCI }, + { &hf_lppa_ul_earfcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_EARFCN }, + { &hf_lppa_ul_bandwidth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_T_ul_bandwidth }, + { &hf_lppa_ul_cyclicPrefixLength, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_CPLength }, + { &hf_lppa_srs_BandwidthConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_T_srs_BandwidthConfig }, + { &hf_lppa_srs_Bandwidth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_T_srs_Bandwidth }, + { &hf_lppa_srs_AntennaPort, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_T_srs_AntennaPort }, + { &hf_lppa_srs_HoppingBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_T_srs_HoppingBandwidth }, + { &hf_lppa_srs_cyclicShift, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_T_srs_cyclicShift }, + { &hf_lppa_srs_ConfigIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_0_1023 }, + { &hf_lppa_maxUpPts , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lppa_T_maxUpPts }, + { &hf_lppa_transmissionComb, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_0_1 }, + { &hf_lppa_freqDomainPosition, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_0_23 }, + { &hf_lppa_groupHoppingEnabled, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_BOOLEAN }, + { &hf_lppa_deltaSS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lppa_INTEGER_0_29 }, + { &hf_lppa_sfnInitialisationTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_SFNInitialisationTime }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lppa_SRSConfigurationForOneCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lppa_SRSConfigurationForOneCell, SRSConfigurationForOneCell_sequence); + + return offset; +} + + +static const per_sequence_t SRSConfigurationForAllCells_sequence_of[1] = { + { &hf_lppa_SRSConfigurationForAllCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lppa_SRSConfigurationForOneCell }, +}; + +static int +dissect_lppa_SRSConfigurationForAllCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lppa_SRSConfigurationForAllCells, SRSConfigurationForAllCells_sequence_of, + 1, maxServCell, FALSE); + + return offset; +} + + +static const per_sequence_t ULConfiguration_sequence[] = { + { &hf_lppa_pci , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_PCI }, + { &hf_lppa_ul_earfcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_EARFCN }, + { &hf_lppa_timingAdvanceType1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lppa_INTEGER_0_7690 }, + { &hf_lppa_timingAdvanceType2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lppa_INTEGER_0_7690 }, + { &hf_lppa_numberOfTransmissions, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_0_500_ }, + { &hf_lppa_srsConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_SRSConfigurationForAllCells }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lppa_ULConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lppa_ULConfiguration, ULConfiguration_sequence); + + return offset; +} + + static const per_sequence_t E_CIDMeasurementInitiationRequest_sequence[] = { { &hf_lppa_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container }, { NULL, 0, 0, NULL } @@ -1660,6 +1983,62 @@ dissect_lppa_OTDOAInformationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } +static const per_sequence_t UTDOAInformationRequest_sequence[] = { + { &hf_lppa_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lppa_UTDOAInformationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lppa_UTDOAInformationRequest, UTDOAInformationRequest_sequence); + + return offset; +} + + +static const per_sequence_t UTDOAInformationResponse_sequence[] = { + { &hf_lppa_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lppa_UTDOAInformationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lppa_UTDOAInformationResponse, UTDOAInformationResponse_sequence); + + return offset; +} + + +static const per_sequence_t UTDOAInformationFailure_sequence[] = { + { &hf_lppa_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lppa_UTDOAInformationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lppa_UTDOAInformationFailure, UTDOAInformationFailure_sequence); + + return offset; +} + + +static const per_sequence_t UTDOAInformationUpdate_sequence[] = { + { &hf_lppa_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lppa_UTDOAInformationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lppa_UTDOAInformationUpdate, UTDOAInformationUpdate_sequence); + + return offset; +} + + static const per_sequence_t ErrorIndication_sequence[] = { { &hf_lppa_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container }, { NULL, 0, 0, NULL } @@ -1769,6 +2148,22 @@ static int dissect_ReportCharacteristics_PDU(tvbuff_t *tvb _U_, packet_info *pin offset += 7; offset >>= 3; return offset; } +static int dissect_RequestedSRSTransmissionCharacteristics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_lppa_RequestedSRSTransmissionCharacteristics(tvb, offset, &asn1_ctx, tree, hf_lppa_RequestedSRSTransmissionCharacteristics_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ULConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_lppa_ULConfiguration(tvb, offset, &asn1_ctx, tree, hf_lppa_ULConfiguration_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_E_CIDMeasurementInitiationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -1857,6 +2252,38 @@ static int dissect_OTDOAInformationFailure_PDU(tvbuff_t *tvb _U_, packet_info *p offset += 7; offset >>= 3; return offset; } +static int dissect_UTDOAInformationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_lppa_UTDOAInformationRequest(tvb, offset, &asn1_ctx, tree, hf_lppa_UTDOAInformationRequest_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_UTDOAInformationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_lppa_UTDOAInformationResponse(tvb, offset, &asn1_ctx, tree, hf_lppa_UTDOAInformationResponse_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_UTDOAInformationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_lppa_UTDOAInformationFailure(tvb, offset, &asn1_ctx, tree, hf_lppa_UTDOAInformationFailure_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_UTDOAInformationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_lppa_UTDOAInformationUpdate(tvb, offset, &asn1_ctx, tree, hf_lppa_UTDOAInformationUpdate_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_ErrorIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -1947,6 +2374,14 @@ void proto_register_lppa(void) { { "ReportCharacteristics", "lppa.ReportCharacteristics", FT_UINT32, BASE_DEC, VALS(lppa_ReportCharacteristics_vals), 0, NULL, HFILL }}, + { &hf_lppa_RequestedSRSTransmissionCharacteristics_PDU, + { "RequestedSRSTransmissionCharacteristics", "lppa.RequestedSRSTransmissionCharacteristics_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lppa_ULConfiguration_PDU, + { "ULConfiguration", "lppa.ULConfiguration_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_lppa_E_CIDMeasurementInitiationRequest_PDU, { "E-CIDMeasurementInitiationRequest", "lppa.E_CIDMeasurementInitiationRequest_element", FT_NONE, BASE_NONE, NULL, 0, @@ -1991,6 +2426,22 @@ void proto_register_lppa(void) { { "OTDOAInformationFailure", "lppa.OTDOAInformationFailure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_lppa_UTDOAInformationRequest_PDU, + { "UTDOAInformationRequest", "lppa.UTDOAInformationRequest_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lppa_UTDOAInformationResponse_PDU, + { "UTDOAInformationResponse", "lppa.UTDOAInformationResponse_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lppa_UTDOAInformationFailure_PDU, + { "UTDOAInformationFailure", "lppa.UTDOAInformationFailure_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lppa_UTDOAInformationUpdate_PDU, + { "UTDOAInformationUpdate", "lppa.UTDOAInformationUpdate_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_lppa_ErrorIndication_PDU, { "ErrorIndication", "lppa.ErrorIndication_element", FT_NONE, BASE_NONE, NULL, 0, @@ -2287,6 +2738,14 @@ void proto_register_lppa(void) { { "sixteen", "lppa.sixteen", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_16", HFILL }}, + { &hf_lppa_numberOfTransmissions, + { "numberOfTransmissions", "lppa.numberOfTransmissions", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_500_", HFILL }}, + { &hf_lppa_bandwidth, + { "bandwidth", "lppa.bandwidth", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_100_", HFILL }}, { &hf_lppa_ResultRSRP_item, { "ResultRSRP-Item", "lppa.ResultRSRP_Item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -2307,6 +2766,86 @@ void proto_register_lppa(void) { { "valueRSRQ", "lppa.valueRSRQ", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_lppa_SRSConfigurationForAllCells_item, + { "SRSConfigurationForOneCell", "lppa.SRSConfigurationForOneCell_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lppa_pci, + { "pci", "lppa.pci", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_lppa_ul_earfcn, + { "ul-earfcn", "lppa.ul_earfcn", + FT_UINT32, BASE_DEC, NULL, 0, + "EARFCN", HFILL }}, + { &hf_lppa_ul_bandwidth, + { "ul-bandwidth", "lppa.ul_bandwidth", + FT_UINT32, BASE_DEC, VALS(lppa_T_ul_bandwidth_vals), 0, + NULL, HFILL }}, + { &hf_lppa_ul_cyclicPrefixLength, + { "ul-cyclicPrefixLength", "lppa.ul_cyclicPrefixLength", + FT_UINT32, BASE_DEC, VALS(lppa_CPLength_vals), 0, + "CPLength", HFILL }}, + { &hf_lppa_srs_BandwidthConfig, + { "srs-BandwidthConfig", "lppa.srs_BandwidthConfig", + FT_UINT32, BASE_DEC, VALS(lppa_T_srs_BandwidthConfig_vals), 0, + NULL, HFILL }}, + { &hf_lppa_srs_Bandwidth, + { "srs-Bandwidth", "lppa.srs_Bandwidth", + FT_UINT32, BASE_DEC, VALS(lppa_T_srs_Bandwidth_vals), 0, + NULL, HFILL }}, + { &hf_lppa_srs_AntennaPort, + { "srs-AntennaPort", "lppa.srs_AntennaPort", + FT_UINT32, BASE_DEC, VALS(lppa_T_srs_AntennaPort_vals), 0, + NULL, HFILL }}, + { &hf_lppa_srs_HoppingBandwidth, + { "srs-HoppingBandwidth", "lppa.srs_HoppingBandwidth", + FT_UINT32, BASE_DEC, VALS(lppa_T_srs_HoppingBandwidth_vals), 0, + NULL, HFILL }}, + { &hf_lppa_srs_cyclicShift, + { "srs-cyclicShift", "lppa.srs_cyclicShift", + FT_UINT32, BASE_DEC, VALS(lppa_T_srs_cyclicShift_vals), 0, + NULL, HFILL }}, + { &hf_lppa_srs_ConfigIndex, + { "srs-ConfigIndex", "lppa.srs_ConfigIndex", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_1023", HFILL }}, + { &hf_lppa_maxUpPts, + { "maxUpPts", "lppa.maxUpPts", + FT_UINT32, BASE_DEC, VALS(lppa_T_maxUpPts_vals), 0, + NULL, HFILL }}, + { &hf_lppa_transmissionComb, + { "transmissionComb", "lppa.transmissionComb", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_1", HFILL }}, + { &hf_lppa_freqDomainPosition, + { "freqDomainPosition", "lppa.freqDomainPosition", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_23", HFILL }}, + { &hf_lppa_groupHoppingEnabled, + { "groupHoppingEnabled", "lppa.groupHoppingEnabled", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_lppa_deltaSS, + { "deltaSS", "lppa.deltaSS", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_29", HFILL }}, + { &hf_lppa_sfnInitialisationTime, + { "sfnInitialisationTime", "lppa.sfnInitialisationTime", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lppa_timingAdvanceType1, + { "timingAdvanceType1", "lppa.timingAdvanceType1", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_7690", HFILL }}, + { &hf_lppa_timingAdvanceType2, + { "timingAdvanceType2", "lppa.timingAdvanceType2", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_7690", HFILL }}, + { &hf_lppa_srsConfiguration, + { "srsConfiguration", "lppa.srsConfiguration", + FT_UINT32, BASE_DEC, NULL, 0, + "SRSConfigurationForAllCells", HFILL }}, { &hf_lppa_protocolIEs, { "protocolIEs", "lppa.protocolIEs", FT_UINT32, BASE_DEC, NULL, 0, @@ -2361,10 +2900,14 @@ void proto_register_lppa(void) { &ett_lppa_OTDOACell_Information, &ett_lppa_OTDOACell_Information_Item, &ett_lppa_PRSMutingConfiguration, + &ett_lppa_RequestedSRSTransmissionCharacteristics, &ett_lppa_ResultRSRP, &ett_lppa_ResultRSRP_Item, &ett_lppa_ResultRSRQ, &ett_lppa_ResultRSRQ_Item, + &ett_lppa_SRSConfigurationForAllCells, + &ett_lppa_SRSConfigurationForOneCell, + &ett_lppa_ULConfiguration, &ett_lppa_E_CIDMeasurementInitiationRequest, &ett_lppa_E_CIDMeasurementInitiationResponse, &ett_lppa_E_CIDMeasurementInitiationFailure, @@ -2376,6 +2919,10 @@ void proto_register_lppa(void) { &ett_lppa_OTDOA_Information_Type_Item, &ett_lppa_OTDOAInformationResponse, &ett_lppa_OTDOAInformationFailure, + &ett_lppa_UTDOAInformationRequest, + &ett_lppa_UTDOAInformationResponse, + &ett_lppa_UTDOAInformationFailure, + &ett_lppa_UTDOAInformationUpdate, &ett_lppa_ErrorIndication, &ett_lppa_PrivateMessage, @@ -2417,6 +2964,8 @@ proto_reg_handoff_lppa(void) dissector_add_uint("lppa.ies", id_CriticalityDiagnostics, new_create_dissector_handle(dissect_CriticalityDiagnostics_PDU, proto_lppa)); dissector_add_uint("lppa.ies", id_E_SMLC_UE_Measurement_ID, new_create_dissector_handle(dissect_Measurement_ID_PDU, proto_lppa)); dissector_add_uint("lppa.ies", id_eNB_UE_Measurement_ID, new_create_dissector_handle(dissect_Measurement_ID_PDU, proto_lppa)); + dissector_add_uint("lppa.ies", id_RequestedSRSTransmissionCharacteristics, new_create_dissector_handle(dissect_RequestedSRSTransmissionCharacteristics_PDU, proto_lppa)); + dissector_add_uint("lppa.ies", id_ULConfiguration, new_create_dissector_handle(dissect_ULConfiguration_PDU, proto_lppa)); dissector_add_uint("lppa.proc.imsg", id_e_CIDMeasurementInitiation, new_create_dissector_handle(dissect_E_CIDMeasurementInitiationRequest_PDU, proto_lppa)); dissector_add_uint("lppa.proc.sout", id_e_CIDMeasurementInitiation, new_create_dissector_handle(dissect_E_CIDMeasurementInitiationResponse_PDU, proto_lppa)); dissector_add_uint("lppa.proc.uout", id_e_CIDMeasurementInitiation, new_create_dissector_handle(dissect_E_CIDMeasurementInitiationFailure_PDU, proto_lppa)); @@ -2428,6 +2977,10 @@ proto_reg_handoff_lppa(void) dissector_add_uint("lppa.proc.uout", id_oTDOAInformationExchange, new_create_dissector_handle(dissect_OTDOAInformationFailure_PDU, proto_lppa)); dissector_add_uint("lppa.proc.imsg", id_errorIndication, new_create_dissector_handle(dissect_ErrorIndication_PDU, proto_lppa)); dissector_add_uint("lppa.proc.imsg", id_privateMessage, new_create_dissector_handle(dissect_PrivateMessage_PDU, proto_lppa)); + dissector_add_uint("lppa.proc.imsg", id_uTDOAInformationExchange, new_create_dissector_handle(dissect_UTDOAInformationRequest_PDU, proto_lppa)); + dissector_add_uint("lppa.proc.sout", id_uTDOAInformationExchange, new_create_dissector_handle(dissect_UTDOAInformationResponse_PDU, proto_lppa)); + dissector_add_uint("lppa.proc.uout", id_uTDOAInformationExchange, new_create_dissector_handle(dissect_UTDOAInformationFailure_PDU, proto_lppa)); + dissector_add_uint("lppa.proc.imsg", id_uTDOAInformationUpdate, new_create_dissector_handle(dissect_UTDOAInformationUpdate_PDU, proto_lppa)); /*--- End of included file: packet-lppa-dis-tab.c ---*/ |