LCS-AP: Update to 3GPP TS 29.171 V17.2.0

This commit is contained in:
Joakim Karlsson 2022-12-29 12:00:21 +01:00 committed by AndersBroman
parent 931824f4ff
commit 23427cc9ba
8 changed files with 400 additions and 47 deletions

View File

@ -1,4 +1,5 @@
-- ETSI TS 129 171 V16.2.0 (2020-12)
--
-- 3GPP TS 29.171 v17.2.0 (2022-12-15)
-- 7.5.6 Common Definitions
-- **************************************************************

View File

@ -1,10 +1,13 @@
-- ETSI TS 129 171 V16.2.0 (2020-12)
--
-- 3GPP TS 29.171 v17.2.0 (2022-12-15)
-- 7.5.7 Constant definitions
-- **************************************************************
--
-- Constant definitions
--
-- **************************************************************
LCS-AP-Constants {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
eps-Access (21) modules (3) lcs-AP (4) version1 (1) lcs-AP-Constants (4)}
@ -67,6 +70,8 @@ id-Ciphering-Data INTEGER ::= 28
id-Ciphering-Data-Ack INTEGER ::= 29
id-Ciphering-Data-Error-Report INTEGER ::= 30
id-Coverage-Level INTEGER ::= 31
id-UE-Country-Determination-Indication INTEGER ::= 32
id-UE-Area-Indication INTEGER ::= 33

View File

@ -1,6 +1,7 @@
-- ETSI TS 129 171 V16.2.0 (2020-12)
--
-- 3GPP TS 29.171 v17.2.0 (2022-12-15)
-- 7.5.8 Container Definitions
-- **************************************************************
--
-- Container definitions

View File

@ -1,6 +1,7 @@
-- ETSI TS 129 171 V16.2.0 (2020-12)
--
-- 3GPP TS 29.171 v17.2.0 (2022-12-15)
-- 7.5.5 Information element definitions
-- **************************************************************
--
-- Information Element Definitions
@ -113,6 +114,7 @@ Confidence ::= INTEGER (0..100)
Correlation-ID ::= OCTET STRING (SIZE (4))
Country ::= OCTET STRING
-- D
@ -222,7 +224,10 @@ Geographical-Area ::= CHOICE {
ellipsoid-Arc Ellipsoid-Arc,
...,
high-Accuracy-Ellipsoid-Point-With-Uncertainty-Ellipse High-Accuracy-Ellipsoid-Point-With-Uncertainty-Ellipse,
high-Accuracy-Ellipsoid-Point-With-Altitude-And-Uncertainty-Ellipsoid High-Accuracy-Ellipsoid-Point-With-Altitude-And-Uncertainty-Ellipsoid
high-Accuracy-Ellipsoid-Point-With-Altitude-And-Uncertainty-Ellipsoid High-Accuracy-Ellipsoid-Point-With-Altitude-And-Uncertainty-Ellipsoid,
high-Accuracy-Ellipsoid-Point-With-Scalable-Uncertainty-Ellipse High-Accuracy-Ellipsoid-Point-With-Scalable-Uncertainty-Ellipse,
high-Accuracy-Ellipsoid-Point-With-Altitude-And-Scalable-Uncertainty-Ellipsoid High-Accuracy-Ellipsoid-Point-With-Altitude-And-Scalable-Uncertainty-Ellipsoid
}
Geographical-Coordinates ::= SEQUENCE {
@ -252,7 +257,7 @@ GNSS-Positioning-Data-Set ::= SEQUENCE (SIZE (1..max-GNSS-Set)) OF GNSS-Position
-- H
High-Accuracy-Altitude ::= INTEGER (-64000..128000)
High-Accuracy-Altitude ::= INTEGER (-64000..1280000)
High-Accuracy-DegreesLatitude ::= INTEGER(-2147483648..2147483647)
@ -270,6 +275,17 @@ High-Accuracy-Ellipsoid-Point-With-Uncertainty-Ellipse-ExtIEs LCS-AP-PROTOCOL-EX
...
}
High-Accuracy-Ellipsoid-Point-With-Scalable-Uncertainty-Ellipse ::= SEQUENCE {
high-Accuracy-Geographical-Coordinates High-Accuracy-Geographical-Coordinates,
high-Accuracy-Scalable-Uncertainty-Ellipse High-Accuracy-Scalable-Uncertainty-Ellipse,
confidence Confidence,
iE-Extensions ProtocolExtensionContainer { { High-Accuracy-Ellipsoid-Point-With-Scalable-Uncertainty-Ellipse-ExtIEs} } OPTIONAL,
...}
High-Accuracy-Ellipsoid-Point-With-Scalable-Uncertainty-Ellipse-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
...
}
High-Accuracy-Ellipsoid-Point-With-Altitude-And-Uncertainty-Ellipsoid ::= SEQUENCE {
high-Accuracy-Geographical-Coordinates High-Accuracy-Geographical-Coordinates,
@ -286,6 +302,21 @@ High-Accuracy-Ellipsoid-Point-With-Altitude-And-Uncertainty-Ellipsoid-ExtIEs LCS
...
}
High-Accuracy-Ellipsoid-Point-With-Altitude-And-Scalable-Uncertainty-Ellipsoid ::= SEQUENCE {
high-Accuracy-Geographical-Coordinates High-Accuracy-Geographical-Coordinates,
high-Accuracy-Altitude High-Accuracy-Altitude,
high-Accuracy-Scalable-Uncertainty-Ellipse High-Accuracy-Scalable-Uncertainty-Ellipse,
confidence Confidence,
high-Accuracy-Scalable-Uncertainty-Altitude High-Accuracy-Scalable-Uncertainty-Altitude,
vertical-Confidence Confidence,
iE-Extensions ProtocolExtensionContainer { { High-Accuracy-Ellipsoid-Point-With-Altitude-And-Scalable-Uncertainty-Ellipsoid-ExtIEs} } OPTIONAL,
...}
High-Accuracy-Ellipsoid-Point-With-Altitude-And-Scalable-Uncertainty-Ellipsoid-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
...
}
High-Accuracy-Geographical-Coordinates ::= SEQUENCE {
high-Accuracy-DegreesLatitude High-Accuracy-DegreesLatitude,
@ -301,6 +332,8 @@ High-Accuracy-Geographical-Coordinates-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
High-Accuracy-Uncertainty-Code ::= INTEGER (0..255)
High-Accuracy-Extended-Uncertainty-Code ::= INTEGER (0..255)
High-Accuracy-Uncertainty-Ellipse ::= SEQUENCE {
high-Accuracy-Uncertainty-SemiMajor High-Accuracy-Uncertainty-Code,
high-Accuracy-Uncertainty-SemiMinor High-Accuracy-Uncertainty-Code,
@ -312,6 +345,28 @@ High-Accuracy-Uncertainty-Ellipse ::= SEQUENCE {
High-Accuracy-Uncertainty-Ellipse-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
...
}
High-Accuracy-Extended-Uncertainty-Ellipse ::= SEQUENCE {
high-Accuracy-Extended-Uncertainty-SemiMajor High-Accuracy-Extended-Uncertainty-Code,
high-Accuracy-Extended-Uncertainty-SemiMinor High-Accuracy-Extended-Uncertainty-Code,
orientation-Major-Axis INTEGER (0..179),
iE-Extensions ProtocolExtensionContainer { { High-Accuracy-Extended-Uncertainty-Ellipse-ExtIEs} } OPTIONAL,
...
}
High-Accuracy-Extended-Uncertainty-Ellipse-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
...
}
High-Accuracy-Scalable-Uncertainty-Ellipse ::= CHOICE {
high-Accuracy-Uncertainty-Ellipse High-Accuracy-Uncertainty-Ellipse,
high-Accuracy-Extended-Uncertainty-Ellipse High-Accuracy-Extended-Uncertainty-Ellipse
}
High-Accuracy-Scalable-Uncertainty-Altitude ::= CHOICE {
high-Accuracy-Uncertainty-Altitude High-Accuracy-Uncertainty-Code,
high-Accuracy-Extended-Uncertainty-Altitude High-Accuracy-Extended-Uncertainty-Code
}
Home-eNB-ID ::= BIT STRING (SIZE (28))
@ -387,6 +442,11 @@ Include-Velocity ::= ENUMERATED {
Inner-Radius ::= INTEGER (0..65535) -- 16 bit field
International-Area-Indication ::= ENUMERATED {
yes,
...
}
-- J
-- K
@ -617,6 +677,18 @@ UE-Positioning-Capability ::= SEQUENCE {
...
}
UE-Country-Determination-Indication ::= ENUMERATED {
required,
not-required,
...
}
UE-Area-Indication ::= SEQUENCE {
country Country,
international-area-indication International-Area-Indication
}
-- V
Validity-Duration ::= INTEGER (0..65535)

View File

@ -1,6 +1,7 @@
-- ETSI TS 129 171 V16.2.0 (2020-12)
--
-- 3GPP TS 29.171 v17.2.0 (2022-12-15)
-- 7.5.4 PDU definitions
-- **************************************************************
--
-- PDU definitions for LCS-AP.
@ -53,7 +54,9 @@ IMPORTS
Return-Error-Type,
Return-Error-Cause,
UE-Positioning-Capability,
Velocity-Estimate
Velocity-Estimate,
UE-Country-Determination-Indication,
UE-Area-Indication
FROM LCS-AP-IEs
ProtocolExtensionContainer{},
@ -92,7 +95,9 @@ FROM LCS-AP-Containers
id-Return-Error-Cause,
id-Source-Identity,
id-UE-Positioning-Capability,
id-Velocity-Estimate
id-Velocity-Estimate,
id-UE-Country-Determination-Indication,
id-UE-Area-Indication
FROM LCS-AP-Constants;
@ -126,7 +131,8 @@ Location-Request-IEs LCS-AP-PROTOCOL-IES ::= {
}
Location-Request-Extensions LCS-AP-PROTOCOL-EXTENSION ::= {
{ ID id-LCS-Service-Type-ID CRITICALITY ignore EXTENSION LCS-Service-Type-ID PRESENCE optional },
{ ID id-LCS-Service-Type-ID CRITICALITY ignore EXTENSION LCS-Service-Type-ID PRESENCE optional } |
{ ID id-UE-Country-Determination-Indication CRITICALITY ignore TYPE UE-Country-Determination-Indication PRESENCE optional},
...
}
@ -158,7 +164,8 @@ Location-Response-Extensions LCS-AP-PROTOCOL-EXTENSION ::= {
{ ID id-E-UTRAN-Cell-Identifier CRITICALITY ignore EXTENSION E-CGI PRESENCE optional } |
{ ID id-Cell-Portion-ID CRITICALITY ignore EXTENSION Cell-Portion-ID PRESENCE optional } |
{ ID id-Civic-Address CRITICALITY ignore EXTENSION Civic-Address PRESENCE optional } |
{ ID id-Barometric-Pressure CRITICALITY ignore EXTENSION Barometric-Pressure PRESENCE optional },
{ ID id-Barometric-Pressure CRITICALITY ignore EXTENSION Barometric-Pressure PRESENCE optional } |
{ ID id-UE-Area-Indication CRITICALITY ignore EXTENSION UE-Area-Indication PRESENCE optional },
...
}

View File

@ -1,6 +1,7 @@
-- ETSI TS 129 171 V16.2.0 (2020-12)
--
-- 3GPP TS 29.171 v17.2.0 (2022-12-15)
-- 7.5.3 Elementary procedure definitions
-- **************************************************************
--
-- Elementary Procedure definitions

View File

@ -265,38 +265,40 @@ id-Reset ProcedureCode
id-Ciphering-Key-Data-Delivery ProcedureCode
# ProtocolIE-ID
id-Correlation-ID ProtocolIE-ID
id-Location-Type ProtocolIE-ID
id-E-UTRAN-Cell-Identifier ProtocolIE-ID
id-LCS-Client-Type ProtocolIE-ID
id-LCS-Priority ProtocolIE-ID
id-LCS-QOS ProtocolIE-ID
id-UE-Positioning-Capability ProtocolIE-ID
id-Include-Velocity ProtocolIE-ID
id-IMSI ProtocolIE-ID
id-IMEI ProtocolIE-ID
id-MultipleAPDUs ProtocolIE-ID
id-Positioning-Data ProtocolIE-ID
id-Velocity-Estimate ProtocolIE-ID
id-Accuracy-Fulfillment-Indicator ProtocolIE-ID
id-LCS-Cause ProtocolIE-ID
id-Payload-Type ProtocolIE-ID
id-Return-Error-Cause ProtocolIE-ID
id-APDU ProtocolIE-ID
id-Return-Error-Request ProtocolIE-ID
id-Location-Estimate ProtocolIE-ID
id-Source-Identity ProtocolIE-ID
id-Destination-ID ProtocolIE-ID
id-LCS-Service-Type-ID ProtocolIE-ID
id-Cell-Portion-ID ProtocolIE-ID
id-Civic-Address ProtocolIE-ID
id-Barometric-Pressure ProtocolIE-ID
id-Additional-PositioningDataSet ProtocolIE-ID
id-RAT-Type ProtocolIE-ID
id-Ciphering-Data ProtocolIE-ID
id-Ciphering-Data-Ack ProtocolIE-ID
id-Ciphering-Data-Error-Report ProtocolIE-ID
id-Coverage-Level ProtocolIE-ID
id-Correlation-ID ProtocolIE-ID
id-Location-Type ProtocolIE-ID
id-E-UTRAN-Cell-Identifier ProtocolIE-ID
id-LCS-Client-Type ProtocolIE-ID
id-LCS-Priority ProtocolIE-ID
id-LCS-QOS ProtocolIE-ID
id-UE-Positioning-Capability ProtocolIE-ID
id-Include-Velocity ProtocolIE-ID
id-IMSI ProtocolIE-ID
id-IMEI ProtocolIE-ID
id-MultipleAPDUs ProtocolIE-ID
id-Positioning-Data ProtocolIE-ID
id-Velocity-Estimate ProtocolIE-ID
id-Accuracy-Fulfillment-Indicator ProtocolIE-ID
id-LCS-Cause ProtocolIE-ID
id-Payload-Type ProtocolIE-ID
id-Return-Error-Cause ProtocolIE-ID
id-APDU ProtocolIE-ID
id-Return-Error-Request ProtocolIE-ID
id-Location-Estimate ProtocolIE-ID
id-Source-Identity ProtocolIE-ID
id-Destination-ID ProtocolIE-ID
id-LCS-Service-Type-ID ProtocolIE-ID
id-Cell-Portion-ID ProtocolIE-ID
id-Civic-Address ProtocolIE-ID
id-Barometric-Pressure ProtocolIE-ID
id-Additional-PositioningDataSet ProtocolIE-ID
id-RAT-Type ProtocolIE-ID
id-Ciphering-Data ProtocolIE-ID
id-Ciphering-Data-Ack ProtocolIE-ID
id-Ciphering-Data-Error-Report ProtocolIE-ID
id-Coverage-Level ProtocolIE-ID
id-UE-Country-Determination-Indication ProtocolIE-ID
id-UE-Area-Indication ProtocolIE-ID
#.REGISTER
@ -330,6 +332,8 @@ Ciphering-Data N lcsap.ies id-Ciphering-Data
Ciphering-Data-Ack N lcsap.ies id-Ciphering-Data-Ack
Ciphering-Data-Error-Report N lcsap.ies id-Ciphering-Data-Error-Report
Coverage-Level N lcsap.ies id-Coverage-Level
UE-Country-Determination-Indication N lcsap.ies id-UE-Country-Determination-Indication
UE-Area-Indication N lcsap.ies id-UE-Area-Indication
#LCS-AP-PROTOCOL-EXTENSION
LCS-Service-Type-ID N lcsap.extension id-LCS-Service-Type-ID

View File

@ -96,7 +96,9 @@ typedef enum _ProtocolIE_ID_enum {
id_Ciphering_Data = 28,
id_Ciphering_Data_Ack = 29,
id_Ciphering_Data_Error_Report = 30,
id_Coverage_Level = 31
id_Coverage_Level = 31,
id_UE_Country_Determination_Indication = 32,
id_UE_Area_Indication = 33
} ProtocolIE_ID_enum;
/* Initialize the protocol and registered fields */
@ -137,6 +139,8 @@ static int hf_lcsap_RAT_Type_PDU = -1; /* RAT_Type */
static int hf_lcsap_Return_Error_Type_PDU = -1; /* Return_Error_Type */
static int hf_lcsap_Return_Error_Cause_PDU = -1; /* Return_Error_Cause */
static int hf_lcsap_UE_Positioning_Capability_PDU = -1; /* UE_Positioning_Capability */
static int hf_lcsap_UE_Country_Determination_Indication_PDU = -1; /* UE_Country_Determination_Indication */
static int hf_lcsap_UE_Area_Indication_PDU = -1; /* UE_Area_Indication */
static int hf_lcsap_Velocity_Estimate_PDU = -1; /* Velocity_Estimate */
static int hf_lcsap_Location_Request_PDU = -1; /* Location_Request */
static int hf_lcsap_Location_Response_PDU = -1; /* Location_Response */
@ -194,6 +198,8 @@ static int hf_lcsap_ellipsoid_Point_With_Altitude_And_Uncertainty_Ellipsoid = -1
static int hf_lcsap_ellipsoid_Arc = -1; /* Ellipsoid_Arc */
static int hf_lcsap_high_Accuracy_Ellipsoid_Point_With_Uncertainty_Ellipse = -1; /* High_Accuracy_Ellipsoid_Point_With_Uncertainty_Ellipse */
static int hf_lcsap_high_Accuracy_Ellipsoid_Point_With_Altitude_And_Uncertainty_Ellipsoid = -1; /* High_Accuracy_Ellipsoid_Point_With_Altitude_And_Uncertainty_Ellipsoid */
static int hf_lcsap_high_Accuracy_Ellipsoid_Point_With_Scalable_Uncertainty_Ellipse = -1; /* High_Accuracy_Ellipsoid_Point_With_Scalable_Uncertainty_Ellipse */
static int hf_lcsap_high_Accuracy_Ellipsoid_Point_With_Altitude_And_Scalable_Uncertainty_Ellipsoid = -1; /* High_Accuracy_Ellipsoid_Point_With_Altitude_And_Scalable_Uncertainty_Ellipsoid */
static int hf_lcsap_latitudeSign = -1; /* LatitudeSign */
static int hf_lcsap_degreesLatitude = -1; /* DegreesLatitude */
static int hf_lcsap_degreesLongitude = -1; /* DegreesLongitude */
@ -202,14 +208,20 @@ static int hf_lcsap_eNB_ID = -1; /* ENB_ID */
static int hf_lcsap_GNSS_Positioning_Data_Set_item = -1; /* GNSS_Positioning_Method_And_Usage */
static int hf_lcsap_high_Accuracy_Geographical_Coordinates = -1; /* High_Accuracy_Geographical_Coordinates */
static int hf_lcsap_high_Accuracy_Uncertainty_Ellipse = -1; /* High_Accuracy_Uncertainty_Ellipse */
static int hf_lcsap_high_Accuracy_Scalable_Uncertainty_Ellipse = -1; /* High_Accuracy_Scalable_Uncertainty_Ellipse */
static int hf_lcsap_high_Accuracy_Altitude = -1; /* High_Accuracy_Altitude */
static int hf_lcsap_high_Accuracy_Uncertainty_Altitude = -1; /* High_Accuracy_Uncertainty_Code */
static int hf_lcsap_vertical_Confidence = -1; /* Confidence */
static int hf_lcsap_high_Accuracy_Scalable_Uncertainty_Altitude = -1; /* High_Accuracy_Scalable_Uncertainty_Altitude */
static int hf_lcsap_high_Accuracy_DegreesLatitude = -1; /* High_Accuracy_DegreesLatitude */
static int hf_lcsap_high_Accuracy_DegreesLongitude = -1; /* High_Accuracy_DegreesLongitude */
static int hf_lcsap_high_Accuracy_Uncertainty_SemiMajor = -1; /* High_Accuracy_Uncertainty_Code */
static int hf_lcsap_high_Accuracy_Uncertainty_SemiMinor = -1; /* High_Accuracy_Uncertainty_Code */
static int hf_lcsap_orientation_Major_Axis = -1; /* INTEGER_0_179 */
static int hf_lcsap_high_Accuracy_Extended_Uncertainty_SemiMajor = -1; /* High_Accuracy_Extended_Uncertainty_Code */
static int hf_lcsap_high_Accuracy_Extended_Uncertainty_SemiMinor = -1; /* High_Accuracy_Extended_Uncertainty_Code */
static int hf_lcsap_high_Accuracy_Extended_Uncertainty_Ellipse = -1; /* High_Accuracy_Extended_Uncertainty_Ellipse */
static int hf_lcsap_high_Accuracy_Extended_Uncertainty_Altitude = -1; /* High_Accuracy_Extended_Uncertainty_Code */
static int hf_lcsap_bearing = -1; /* INTEGER_0_359 */
static int hf_lcsap_horizontal_Speed = -1; /* INTEGER_0_2047 */
static int hf_lcsap_horizontal_Speed_And_Bearing = -1; /* Horizontal_Speed_And_Bearing */
@ -237,6 +249,8 @@ static int hf_lcsap_uncertainty_SemiMajor = -1; /* Uncertainty_Code */
static int hf_lcsap_uncertainty_SemiMinor = -1; /* Uncertainty_Code */
static int hf_lcsap_orientation_Major_Axis_01 = -1; /* Orientation_Major_Axis */
static int hf_lcsap_lPP = -1; /* BOOLEAN */
static int hf_lcsap_country = -1; /* Country */
static int hf_lcsap_international_area_indication = -1; /* International_Area_Indication */
static int hf_lcsap_horizontal_Velocity = -1; /* Horizontal_Velocity */
static int hf_lcsap_horizontal_With_Vertical_Velocity = -1; /* Horizontal_With_Vertical_Velocity */
static int hf_lcsap_horizontal_Velocity_With_Uncertainty = -1; /* Horizontal_Velocity_With_Uncertainty */
@ -281,9 +295,14 @@ static gint ett_lcsap_Geographical_Coordinates = -1;
static gint ett_lcsap_Global_eNB_ID = -1;
static gint ett_lcsap_GNSS_Positioning_Data_Set = -1;
static gint ett_lcsap_High_Accuracy_Ellipsoid_Point_With_Uncertainty_Ellipse = -1;
static gint ett_lcsap_High_Accuracy_Ellipsoid_Point_With_Scalable_Uncertainty_Ellipse = -1;
static gint ett_lcsap_High_Accuracy_Ellipsoid_Point_With_Altitude_And_Uncertainty_Ellipsoid = -1;
static gint ett_lcsap_High_Accuracy_Ellipsoid_Point_With_Altitude_And_Scalable_Uncertainty_Ellipsoid = -1;
static gint ett_lcsap_High_Accuracy_Geographical_Coordinates = -1;
static gint ett_lcsap_High_Accuracy_Uncertainty_Ellipse = -1;
static gint ett_lcsap_High_Accuracy_Extended_Uncertainty_Ellipse = -1;
static gint ett_lcsap_High_Accuracy_Scalable_Uncertainty_Ellipse = -1;
static gint ett_lcsap_High_Accuracy_Scalable_Uncertainty_Altitude = -1;
static gint ett_lcsap_Horizontal_Speed_And_Bearing = -1;
static gint ett_lcsap_Horizontal_Velocity = -1;
static gint ett_lcsap_Horizontal_With_Vertical_Velocity = -1;
@ -301,6 +320,7 @@ static gint ett_lcsap_Positioning_Data = -1;
static gint ett_lcsap_Positioning_Data_Set = -1;
static gint ett_lcsap_Uncertainty_Ellipse = -1;
static gint ett_lcsap_UE_Positioning_Capability = -1;
static gint ett_lcsap_UE_Area_Indication = -1;
static gint ett_lcsap_Velocity_Estimate = -1;
static gint ett_lcsap_Vertical_Velocity = -1;
static gint ett_lcsap_Location_Request = -1;
@ -531,6 +551,8 @@ static const value_string lcsap_ProtocolIE_ID_vals[] = {
{ id_Ciphering_Data_Ack, "id-Ciphering-Data-Ack" },
{ id_Ciphering_Data_Error_Report, "id-Ciphering-Data-Error-Report" },
{ id_Coverage_Level, "id-Coverage-Level" },
{ id_UE_Country_Determination_Indication, "id-UE-Country-Determination-Indication" },
{ id_UE_Area_Indication, "id-UE-Area-Indication" },
{ 0, NULL }
};
@ -992,6 +1014,16 @@ dissect_lcsap_Correlation_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_lcsap_Country(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, NULL);
return offset;
}
static int
dissect_lcsap_DegreesLatitude(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
gint32 degrees;
@ -1468,7 +1500,7 @@ dissect_lcsap_High_Accuracy_Ellipsoid_Point_With_Uncertainty_Ellipse(tvbuff_t *t
static int
dissect_lcsap_High_Accuracy_Altitude(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,
-64000, 128000U, NULL, FALSE);
-64000, 1280000U, NULL, FALSE);
return offset;
}
@ -1494,6 +1526,114 @@ dissect_lcsap_High_Accuracy_Ellipsoid_Point_With_Altitude_And_Uncertainty_Ellips
}
static int
dissect_lcsap_High_Accuracy_Extended_Uncertainty_Code(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, 255U, NULL, FALSE);
return offset;
}
static const per_sequence_t High_Accuracy_Extended_Uncertainty_Ellipse_sequence[] = {
{ &hf_lcsap_high_Accuracy_Extended_Uncertainty_SemiMajor, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lcsap_High_Accuracy_Extended_Uncertainty_Code },
{ &hf_lcsap_high_Accuracy_Extended_Uncertainty_SemiMinor, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lcsap_High_Accuracy_Extended_Uncertainty_Code },
{ &hf_lcsap_orientation_Major_Axis, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lcsap_INTEGER_0_179 },
{ &hf_lcsap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lcsap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_lcsap_High_Accuracy_Extended_Uncertainty_Ellipse(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_lcsap_High_Accuracy_Extended_Uncertainty_Ellipse, High_Accuracy_Extended_Uncertainty_Ellipse_sequence);
return offset;
}
static const value_string lcsap_High_Accuracy_Scalable_Uncertainty_Ellipse_vals[] = {
{ 0, "high-Accuracy-Uncertainty-Ellipse" },
{ 1, "high-Accuracy-Extended-Uncertainty-Ellipse" },
{ 0, NULL }
};
static const per_choice_t High_Accuracy_Scalable_Uncertainty_Ellipse_choice[] = {
{ 0, &hf_lcsap_high_Accuracy_Uncertainty_Ellipse, ASN1_NO_EXTENSIONS , dissect_lcsap_High_Accuracy_Uncertainty_Ellipse },
{ 1, &hf_lcsap_high_Accuracy_Extended_Uncertainty_Ellipse, ASN1_NO_EXTENSIONS , dissect_lcsap_High_Accuracy_Extended_Uncertainty_Ellipse },
{ 0, NULL, 0, NULL }
};
static int
dissect_lcsap_High_Accuracy_Scalable_Uncertainty_Ellipse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lcsap_High_Accuracy_Scalable_Uncertainty_Ellipse, High_Accuracy_Scalable_Uncertainty_Ellipse_choice,
NULL);
return offset;
}
static const per_sequence_t High_Accuracy_Ellipsoid_Point_With_Scalable_Uncertainty_Ellipse_sequence[] = {
{ &hf_lcsap_high_Accuracy_Geographical_Coordinates, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lcsap_High_Accuracy_Geographical_Coordinates },
{ &hf_lcsap_high_Accuracy_Scalable_Uncertainty_Ellipse, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lcsap_High_Accuracy_Scalable_Uncertainty_Ellipse },
{ &hf_lcsap_confidence , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lcsap_Confidence },
{ &hf_lcsap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lcsap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_lcsap_High_Accuracy_Ellipsoid_Point_With_Scalable_Uncertainty_Ellipse(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_lcsap_High_Accuracy_Ellipsoid_Point_With_Scalable_Uncertainty_Ellipse, High_Accuracy_Ellipsoid_Point_With_Scalable_Uncertainty_Ellipse_sequence);
return offset;
}
static const value_string lcsap_High_Accuracy_Scalable_Uncertainty_Altitude_vals[] = {
{ 0, "high-Accuracy-Uncertainty-Altitude" },
{ 1, "high-Accuracy-Extended-Uncertainty-Altitude" },
{ 0, NULL }
};
static const per_choice_t High_Accuracy_Scalable_Uncertainty_Altitude_choice[] = {
{ 0, &hf_lcsap_high_Accuracy_Uncertainty_Altitude, ASN1_NO_EXTENSIONS , dissect_lcsap_High_Accuracy_Uncertainty_Code },
{ 1, &hf_lcsap_high_Accuracy_Extended_Uncertainty_Altitude, ASN1_NO_EXTENSIONS , dissect_lcsap_High_Accuracy_Extended_Uncertainty_Code },
{ 0, NULL, 0, NULL }
};
static int
dissect_lcsap_High_Accuracy_Scalable_Uncertainty_Altitude(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lcsap_High_Accuracy_Scalable_Uncertainty_Altitude, High_Accuracy_Scalable_Uncertainty_Altitude_choice,
NULL);
return offset;
}
static const per_sequence_t High_Accuracy_Ellipsoid_Point_With_Altitude_And_Scalable_Uncertainty_Ellipsoid_sequence[] = {
{ &hf_lcsap_high_Accuracy_Geographical_Coordinates, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lcsap_High_Accuracy_Geographical_Coordinates },
{ &hf_lcsap_high_Accuracy_Altitude, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lcsap_High_Accuracy_Altitude },
{ &hf_lcsap_high_Accuracy_Scalable_Uncertainty_Ellipse, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lcsap_High_Accuracy_Scalable_Uncertainty_Ellipse },
{ &hf_lcsap_confidence , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lcsap_Confidence },
{ &hf_lcsap_high_Accuracy_Scalable_Uncertainty_Altitude, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lcsap_High_Accuracy_Scalable_Uncertainty_Altitude },
{ &hf_lcsap_vertical_Confidence, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lcsap_Confidence },
{ &hf_lcsap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lcsap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_lcsap_High_Accuracy_Ellipsoid_Point_With_Altitude_And_Scalable_Uncertainty_Ellipsoid(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_lcsap_High_Accuracy_Ellipsoid_Point_With_Altitude_And_Scalable_Uncertainty_Ellipsoid, High_Accuracy_Ellipsoid_Point_With_Altitude_And_Scalable_Uncertainty_Ellipsoid_sequence);
return offset;
}
static const value_string lcsap_Geographical_Area_vals[] = {
{ 0, "point" },
{ 1, "point-With-Uncertainty" },
@ -1504,6 +1644,8 @@ static const value_string lcsap_Geographical_Area_vals[] = {
{ 6, "ellipsoid-Arc" },
{ 7, "high-Accuracy-Ellipsoid-Point-With-Uncertainty-Ellipse" },
{ 8, "high-Accuracy-Ellipsoid-Point-With-Altitude-And-Uncertainty-Ellipsoid" },
{ 9, "high-Accuracy-Ellipsoid-Point-With-Scalable-Uncertainty-Ellipse" },
{ 10, "high-Accuracy-Ellipsoid-Point-With-Altitude-And-Scalable-Uncertainty-Ellipsoid" },
{ 0, NULL }
};
@ -1517,6 +1659,8 @@ static const per_choice_t Geographical_Area_choice[] = {
{ 6, &hf_lcsap_ellipsoid_Arc , ASN1_EXTENSION_ROOT , dissect_lcsap_Ellipsoid_Arc },
{ 7, &hf_lcsap_high_Accuracy_Ellipsoid_Point_With_Uncertainty_Ellipse, ASN1_NOT_EXTENSION_ROOT, dissect_lcsap_High_Accuracy_Ellipsoid_Point_With_Uncertainty_Ellipse },
{ 8, &hf_lcsap_high_Accuracy_Ellipsoid_Point_With_Altitude_And_Uncertainty_Ellipsoid, ASN1_NOT_EXTENSION_ROOT, dissect_lcsap_High_Accuracy_Ellipsoid_Point_With_Altitude_And_Uncertainty_Ellipsoid },
{ 9, &hf_lcsap_high_Accuracy_Ellipsoid_Point_With_Scalable_Uncertainty_Ellipse, ASN1_NOT_EXTENSION_ROOT, dissect_lcsap_High_Accuracy_Ellipsoid_Point_With_Scalable_Uncertainty_Ellipse },
{ 10, &hf_lcsap_high_Accuracy_Ellipsoid_Point_With_Altitude_And_Scalable_Uncertainty_Ellipsoid, ASN1_NOT_EXTENSION_ROOT, dissect_lcsap_High_Accuracy_Ellipsoid_Point_With_Altitude_And_Scalable_Uncertainty_Ellipsoid },
{ 0, NULL, 0, NULL }
};
@ -1781,6 +1925,21 @@ dissect_lcsap_Include_Velocity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
}
static const value_string lcsap_International_Area_Indication_vals[] = {
{ 0, "yes" },
{ 0, NULL }
};
static int
dissect_lcsap_International_Area_Indication(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, TRUE, 0, NULL);
return offset;
}
static const value_string lcsap_Location_Type_vals[] = {
{ 0, "geographic-Information" },
{ 1, "assistance-Information" },
@ -2179,6 +2338,37 @@ dissect_lcsap_UE_Positioning_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_
}
static const value_string lcsap_UE_Country_Determination_Indication_vals[] = {
{ 0, "required" },
{ 1, "not-required" },
{ 0, NULL }
};
static int
dissect_lcsap_UE_Country_Determination_Indication(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,
2, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t UE_Area_Indication_sequence[] = {
{ &hf_lcsap_country , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lcsap_Country },
{ &hf_lcsap_international_area_indication, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lcsap_International_Area_Indication },
{ NULL, 0, 0, NULL }
};
static int
dissect_lcsap_UE_Area_Indication(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_lcsap_UE_Area_Indication, UE_Area_Indication_sequence);
return offset;
}
static const value_string lcsap_Velocity_Estimate_vals[] = {
{ 0, "horizontal-Velocity" },
{ 1, "horizontal-With-Vertical-Velocity" },
@ -2683,6 +2873,22 @@ static int dissect_UE_Positioning_Capability_PDU(tvbuff_t *tvb _U_, packet_info
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UE_Country_Determination_Indication_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_lcsap_UE_Country_Determination_Indication(tvb, offset, &asn1_ctx, tree, hf_lcsap_UE_Country_Determination_Indication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UE_Area_Indication_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_lcsap_UE_Area_Indication(tvb, offset, &asn1_ctx, tree, hf_lcsap_UE_Area_Indication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_Velocity_Estimate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@ -2855,6 +3061,8 @@ proto_reg_handoff_lcsap(void)
dissector_add_uint("lcsap.ies", id_Ciphering_Data_Ack, create_dissector_handle(dissect_Ciphering_Data_Ack_PDU, proto_lcsap));
dissector_add_uint("lcsap.ies", id_Ciphering_Data_Error_Report, create_dissector_handle(dissect_Ciphering_Data_Error_Report_PDU, proto_lcsap));
dissector_add_uint("lcsap.ies", id_Coverage_Level, create_dissector_handle(dissect_Coverage_Level_PDU, proto_lcsap));
dissector_add_uint("lcsap.ies", id_UE_Country_Determination_Indication, create_dissector_handle(dissect_UE_Country_Determination_Indication_PDU, proto_lcsap));
dissector_add_uint("lcsap.ies", id_UE_Area_Indication, create_dissector_handle(dissect_UE_Area_Indication_PDU, proto_lcsap));
dissector_add_uint("lcsap.extension", id_LCS_Service_Type_ID, create_dissector_handle(dissect_LCS_Service_Type_ID_PDU, proto_lcsap));
dissector_add_uint("lcsap.extension", id_Cell_Portion_ID, create_dissector_handle(dissect_Cell_Portion_ID_PDU, proto_lcsap));
dissector_add_uint("lcsap.extension", id_Civic_Address, create_dissector_handle(dissect_Civic_Address_PDU, proto_lcsap));
@ -3028,6 +3236,14 @@ void proto_register_lcsap(void) {
{ "UE-Positioning-Capability", "lcsap.UE_Positioning_Capability_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lcsap_UE_Country_Determination_Indication_PDU,
{ "UE-Country-Determination-Indication", "lcsap.UE_Country_Determination_Indication",
FT_UINT32, BASE_DEC, VALS(lcsap_UE_Country_Determination_Indication_vals), 0,
NULL, HFILL }},
{ &hf_lcsap_UE_Area_Indication_PDU,
{ "UE-Area-Indication", "lcsap.UE_Area_Indication_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lcsap_Velocity_Estimate_PDU,
{ "Velocity-Estimate", "lcsap.Velocity_Estimate",
FT_UINT32, BASE_DEC, VALS(lcsap_Velocity_Estimate_vals), 0,
@ -3256,6 +3472,14 @@ void proto_register_lcsap(void) {
{ "high-Accuracy-Ellipsoid-Point-With-Altitude-And-Uncertainty-Ellipsoid", "lcsap.high_Accuracy_Ellipsoid_Point_With_Altitude_And_Uncertainty_Ellipsoid_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lcsap_high_Accuracy_Ellipsoid_Point_With_Scalable_Uncertainty_Ellipse,
{ "high-Accuracy-Ellipsoid-Point-With-Scalable-Uncertainty-Ellipse", "lcsap.high_Accuracy_Ellipsoid_Point_With_Scalable_Uncertainty_Ellipse_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lcsap_high_Accuracy_Ellipsoid_Point_With_Altitude_And_Scalable_Uncertainty_Ellipsoid,
{ "high-Accuracy-Ellipsoid-Point-With-Altitude-And-Scalable-Uncertainty-Ellipsoid", "lcsap.high_Accuracy_Ellipsoid_Point_With_Altitude_And_Scalable_Uncertainty_Ellipsoid_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lcsap_latitudeSign,
{ "latitudeSign", "lcsap.latitudeSign",
FT_UINT32, BASE_DEC, VALS(lcsap_LatitudeSign_vals), 0,
@ -3288,6 +3512,10 @@ void proto_register_lcsap(void) {
{ "high-Accuracy-Uncertainty-Ellipse", "lcsap.high_Accuracy_Uncertainty_Ellipse_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lcsap_high_Accuracy_Scalable_Uncertainty_Ellipse,
{ "high-Accuracy-Scalable-Uncertainty-Ellipse", "lcsap.high_Accuracy_Scalable_Uncertainty_Ellipse",
FT_UINT32, BASE_DEC, VALS(lcsap_High_Accuracy_Scalable_Uncertainty_Ellipse_vals), 0,
NULL, HFILL }},
{ &hf_lcsap_high_Accuracy_Altitude,
{ "high-Accuracy-Altitude", "lcsap.high_Accuracy_Altitude",
FT_INT32, BASE_DEC, NULL, 0,
@ -3300,6 +3528,10 @@ void proto_register_lcsap(void) {
{ "vertical-Confidence", "lcsap.vertical_Confidence",
FT_UINT32, BASE_DEC, NULL, 0,
"Confidence", HFILL }},
{ &hf_lcsap_high_Accuracy_Scalable_Uncertainty_Altitude,
{ "high-Accuracy-Scalable-Uncertainty-Altitude", "lcsap.high_Accuracy_Scalable_Uncertainty_Altitude",
FT_UINT32, BASE_DEC, VALS(lcsap_High_Accuracy_Scalable_Uncertainty_Altitude_vals), 0,
NULL, HFILL }},
{ &hf_lcsap_high_Accuracy_DegreesLatitude,
{ "high-Accuracy-DegreesLatitude", "lcsap.high_Accuracy_DegreesLatitude",
FT_INT32, BASE_DEC, NULL, 0,
@ -3320,6 +3552,22 @@ void proto_register_lcsap(void) {
{ "orientation-Major-Axis", "lcsap.orientation_Major_Axis",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_179", HFILL }},
{ &hf_lcsap_high_Accuracy_Extended_Uncertainty_SemiMajor,
{ "high-Accuracy-Extended-Uncertainty-SemiMajor", "lcsap.high_Accuracy_Extended_Uncertainty_SemiMajor",
FT_UINT32, BASE_DEC, NULL, 0,
"High_Accuracy_Extended_Uncertainty_Code", HFILL }},
{ &hf_lcsap_high_Accuracy_Extended_Uncertainty_SemiMinor,
{ "high-Accuracy-Extended-Uncertainty-SemiMinor", "lcsap.high_Accuracy_Extended_Uncertainty_SemiMinor",
FT_UINT32, BASE_DEC, NULL, 0,
"High_Accuracy_Extended_Uncertainty_Code", HFILL }},
{ &hf_lcsap_high_Accuracy_Extended_Uncertainty_Ellipse,
{ "high-Accuracy-Extended-Uncertainty-Ellipse", "lcsap.high_Accuracy_Extended_Uncertainty_Ellipse_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lcsap_high_Accuracy_Extended_Uncertainty_Altitude,
{ "high-Accuracy-Extended-Uncertainty-Altitude", "lcsap.high_Accuracy_Extended_Uncertainty_Altitude",
FT_UINT32, BASE_DEC, NULL, 0,
"High_Accuracy_Extended_Uncertainty_Code", HFILL }},
{ &hf_lcsap_bearing,
{ "bearing", "lcsap.bearing",
FT_UINT32, BASE_DEC, NULL, 0,
@ -3428,6 +3676,14 @@ void proto_register_lcsap(void) {
{ "lPP", "lcsap.lPP",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lcsap_country,
{ "country", "lcsap.country",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lcsap_international_area_indication,
{ "international-area-indication", "lcsap.international_area_indication",
FT_UINT32, BASE_DEC, VALS(lcsap_International_Area_Indication_vals), 0,
NULL, HFILL }},
{ &hf_lcsap_horizontal_Velocity,
{ "horizontal-Velocity", "lcsap.horizontal_Velocity_element",
FT_NONE, BASE_NONE, NULL, 0,
@ -3518,9 +3774,14 @@ void proto_register_lcsap(void) {
&ett_lcsap_Global_eNB_ID,
&ett_lcsap_GNSS_Positioning_Data_Set,
&ett_lcsap_High_Accuracy_Ellipsoid_Point_With_Uncertainty_Ellipse,
&ett_lcsap_High_Accuracy_Ellipsoid_Point_With_Scalable_Uncertainty_Ellipse,
&ett_lcsap_High_Accuracy_Ellipsoid_Point_With_Altitude_And_Uncertainty_Ellipsoid,
&ett_lcsap_High_Accuracy_Ellipsoid_Point_With_Altitude_And_Scalable_Uncertainty_Ellipsoid,
&ett_lcsap_High_Accuracy_Geographical_Coordinates,
&ett_lcsap_High_Accuracy_Uncertainty_Ellipse,
&ett_lcsap_High_Accuracy_Extended_Uncertainty_Ellipse,
&ett_lcsap_High_Accuracy_Scalable_Uncertainty_Ellipse,
&ett_lcsap_High_Accuracy_Scalable_Uncertainty_Altitude,
&ett_lcsap_Horizontal_Speed_And_Bearing,
&ett_lcsap_Horizontal_Velocity,
&ett_lcsap_Horizontal_With_Vertical_Velocity,
@ -3538,6 +3799,7 @@ void proto_register_lcsap(void) {
&ett_lcsap_Positioning_Data_Set,
&ett_lcsap_Uncertainty_Ellipse,
&ett_lcsap_UE_Positioning_Capability,
&ett_lcsap_UE_Area_Indication,
&ett_lcsap_Velocity_Estimate,
&ett_lcsap_Vertical_Velocity,
&ett_lcsap_Location_Request,