aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2011-01-31 15:16:45 +0000
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2011-01-31 15:16:45 +0000
commitbc3a071eab3cc6f4aa638a4a0ce1ba9b07d05449 (patch)
treee96ee11037b588a1d7bbf3e93b5541eb6d54e05f /epan
parent221094d0d2bb0f0be7e8897b43fd3f204fce40f7 (diff)
Dissect more IE's in PERFORM-LOCATION-REQUEST.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@35721 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-bssgp.c73
-rw-r--r--epan/dissectors/packet-gsm_a_bssmap.c54
-rw-r--r--epan/dissectors/packet-gsm_bssmap_le.c167
3 files changed, 251 insertions, 43 deletions
diff --git a/epan/dissectors/packet-bssgp.c b/epan/dissectors/packet-bssgp.c
index 8c8f72c560..732aba8494 100644
--- a/epan/dissectors/packet-bssgp.c
+++ b/epan/dissectors/packet-bssgp.c
@@ -7206,9 +7206,25 @@ de_bssgp_nsei(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_, gc
*/
/*
* 11.3.50 LCS QoS
+ */
+/* Rest of element coded as the value part defined in
+ * 3GPP TS 48.008, not including 3GPP TS 48.008 IEI and
+ * 3GPP TS 48.008 octet length indicator
+ */
+/*
* 11.3.51 LCS Client Type
+ */
+/* Rest of element coded as the value part defined in
+ * 3GPP TS 49.031, not including 3GPP TS 49.031 IEI and
+ * 3GPP TS 49.031 octet length indicator
+ */
+/*
* 11.3.52 Requested GPS Assistance Data
*/
+/* Rest of element coded as the value part defined in
+ * 3GPP TS 49.031, not including 3GPP TS 49.031 IEI and
+ * 3GPP TS 49.031 octet length indicator
+ */
/*
* 11.3.53 Location Type
*/
@@ -7218,7 +7234,19 @@ de_bssgp_nsei(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_, gc
*/
/*
* 11.3.54 Location Estimate
+ */
+/* Rest of element coded as the value part defined in
+ * 3GPP TS 48.008, not including 3GPP TS 48.008 IEI and
+ * 3GPP TS 48.008 octet length indicator
+ */
+/*
* 11.3.55 Positioning Data
+ */
+/* Rest of element coded as the value part defined in
+ * 3GPP TS 49.031, not including 3GPP TS 49.031 IEI and
+ * 3GPP TS 49.031 octet length indicator
+ */
+/*
* 11.3.56 Deciphering Keys
*/
/*
@@ -7698,6 +7726,12 @@ de_bssgp_global_tfi(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _
}
/*
* 11.3.91 IMEI
+ */
+/* Octets 3-10 contain the IMEI coded as the value part of the Mobile
+ * Identity IE defined in 3GPP TS 24.008
+ * (NOTE 1)
+ */
+/*
* 11.3.92 Time to MBMS Data Transfer
* 11.3.93 MBMS Session Repetition Number
*/
@@ -7884,7 +7918,19 @@ de_bssgp_cs_indication(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint le
}
/*
* 11.3.99 Requested GANSS Assistance Data
+ */
+/* Rest of element coded as the value part defined in
+ * 3GPP TS 49.031, not including 3GPP TS 49.031 IEI and
+ * 3GPP TS 49.031 octet length indicator
+ */
+/*
* 11.3.100 GANSS Location Type
+ */
+/* Rest of element coded as the value part defined in
+ * 3GPP TS 49.031, not including 3GPP TS 49.031 IEI and
+ * 3GPP TS 49.031 octet length indicator
+ */
+/*
* 11.3.101 GANSS Positioning Data
*/
/*
@@ -8094,10 +8140,9 @@ const value_string bssgp_elem_strings[] = {
{ 0x3c, "Bucket Full Ratio" }, /* 11.3.46 Bucket Full Ratio */
{ 0x3d, "Service UTRAN CCO" }, /* 11.3.47 Service UTRAN CCO */
{ 0x3e, "NSEI (Network Service Entity Identifier)" }, /* 11.3.48 NSEI (Network Service Entity Identifier) */
-
- /* 11.3.50 LCS QoS */
- /* 11.3.51 LCS Client Type */
- /* 11.3.52 Requested GPS Assistance Data */
+ /* 11.3.50 LCS QoS BSSGP_IEI_LCS_QOS, GSM_PDU_TYPE_BSSMAP_LE, DE_BMAPLE_LCSQOS*/
+ /* 11.3.51 LCS Client Type BSSGP_IEI_LCS_CLIENT_TYPE, GSM_PDU_TYPE_BSSMAP_LE, DE_BMAPLE_LCS_CLIENT_TYPE*/
+ /* 11.3.52 Requested GPS Assistance Data BSSGP_IEI_REQUESTED_GPS_ASSISTANCE_DATA, GSM_PDU_TYPE_BSSMAP_LE, DE_BMAPLE_REQ_GPS_ASSIST_D*/
/* 11.3.53 Location Type 0x7c, GSM_PDU_TYPE_BSSMAP_LE, DE_BMAPLE_GANSS_LOC_TYPE*/
/* 11.3.54 Location Estimate */
/* 11.3.55 Positioning Data */
@@ -8174,8 +8219,8 @@ const value_string bssgp_elem_strings[] = {
/* 11.3.96 Velocity Data */
{ 0x00, "DTM Handover Command" }, /* 11.3.97 DTM Handover Command */
{ 0x00, "PS Handover Indications" }, /* 11.3.98 CS Indication */
- /* 11.3.99 Requested GANSS Assistance Data */
- /* 11.3.100 GANSS Location Type */
+ /* 11.3.99 Requested GANSS Assistance Data 0x7b, GSM_A_PDU_TYPE_BSSMAP, BE_GANSS_ASS_DTA*/
+ /* 11.3.100 GANSS Location Type 0x7c, GSM_A_PDU_TYPE_BSSMAP, BE_GANSS_LOC_TYP*/
/* 11.3.101 GANSS Positioning Data */
{ 0x00, "Flow Control Granularity" }, /* 11.3.102 Flow Control Granularity */
{ 0x00, "eNB Identifier" }, /* 11.3.103 eNB Identifier */
@@ -8207,7 +8252,7 @@ typedef enum
DE_BSSGP_CELL_ID, /* 11.3.9 0x08 Cell Identifier */
DE_BSSGP_CHLN_NEEDED, /* 11.3.10 0x09 Channel needed */
DE_BBSGP_DRX_PARAM, /* 11.3.11 0x0a DRX Parameters GSM_A_PDU_TYPE_GM, DE_DRX_PARAM */
- DE_BBSGP_EMLPP_PRIO, /* 11.3.12 0x0b eMLPP-Priority BSSAP_PDU_TYPE_BSSMAP, BE_EMLPP_PRIO*/
+ DE_BBSGP_EMLPP_PRIO, /* 11.3.12 0x0b eMLPP-Priority GSM_A_PDU_TYPE_BSSMAP, BE_EMLPP_PRIO*/
DE_BSSGP_FLUSH_ACTION, /* 11.3.13 0x0c Flush Action */
DE_BSSGP_IMSI, /* 11.3.14 0x0d IMSI */
DE_BSSGP_LLC_PDU, /* 11.3.15 0x0e LLC-PDU */
@@ -8501,7 +8546,7 @@ bssgp_ul_unitdata(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len)
/* PFI PFI/11.3.42 O TLV 3 */
ELEM_OPT_TELV(BSSGP_IEI_PFI , GSM_A_PDU_TYPE_GM, DE_PACKET_FLOW_ID , NULL);
/* LSA Identifier List LSA Identifier List/11.3.18 O TLV 3-? */
- ELEM_OPT_TLV(0x26, GSM_A_PDU_TYPE_BSSMAP, BE_LSA_ID_LIST, NULL);
+ ELEM_OPT_TELV(0x26, GSM_A_PDU_TYPE_BSSMAP, BE_LSA_ID_LIST, NULL);
/* Alignment octets Alignment octets/11.3.1 O TLV 2-5 */
ELEM_OPT_TELV(0x00, BSSGP_PDU_TYPE, DE_BSSGP_ALIGNMENT_OCTETS, NULL);
/* LLC-PDU (note) LLC-PDU/11.3.15 M TLV 2-? */
@@ -9919,19 +9964,25 @@ bssgp_perform_loc_request(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint
/* NSEI (PCU-PTP) NSEI/11.3.48 M TLV 4-? */
ELEM_OPT_TELV(0x3e, GSM_A_PDU_TYPE_RR, DE_BSSGP_NSEI , " - (PCU-PTP)");
/* Location Type Location Type/11.3.53 M TLV 3-? */
- ELEM_OPT_TLV(0x7c, GSM_PDU_TYPE_BSSMAP_LE, DE_BMAPLE_GANSS_LOC_TYPE, NULL);
+ ELEM_OPT_TELV(0x7c, GSM_PDU_TYPE_BSSMAP_LE, DE_BMAPLE_GANSS_LOC_TYPE, NULL);
/* Cell Identifier Cell Identifier/11.3.9 M TLV 10 */
ELEM_OPT_TELV(BSSGP_IEI_CELL_IDENTIFIER, BSSGP_PDU_TYPE, DE_BSSGP_CELL_ID , NULL);
/* LCS Capability (note 2) LCS Capability/11.3.59 O TLV 3-? */
- ELEM_OPT_TLV( BSSGP_IEI_LCS_CAPABILITY , GSM_A_PDU_TYPE_GM, DE_PS_LCS_CAP , NULL);
+ ELEM_OPT_TELV( BSSGP_IEI_LCS_CAPABILITY , GSM_A_PDU_TYPE_GM, DE_PS_LCS_CAP , NULL);
/* LCS Priority LCS Priority/11.3.57 O TLV 3-? */
- ELEM_OPT_TLV(BSSGP_IEI_LCS_PRIORITY, GSM_A_PDU_TYPE_BSSMAP, BE_LCS_PRIO, NULL);
+ ELEM_OPT_TELV(BSSGP_IEI_LCS_PRIORITY, GSM_A_PDU_TYPE_BSSMAP, BE_LCS_PRIO, NULL);
/* LCS QoS LCS QoS/11.3.50 O TLV 3-? */
+ ELEM_OPT_TELV(BSSGP_IEI_LCS_QOS, GSM_PDU_TYPE_BSSMAP_LE, DE_BMAPLE_LCSQOS, NULL);
/* LCS Client Type (note 3) LCS Client Type/11.3.51 C TLV 3-? */
+ ELEM_OPT_TELV(BSSGP_IEI_LCS_CLIENT_TYPE, GSM_PDU_TYPE_BSSMAP_LE, DE_BMAPLE_LCS_CLIENT_TYPE, NULL);
/* Requested GPS Assistance Data (note 4) Requested GPS Assistance Data/11.3.52 O TLV 3-? */
+ ELEM_OPT_TELV(BSSGP_IEI_REQUESTED_GPS_ASSISTANCE_DATA, GSM_PDU_TYPE_BSSMAP_LE, DE_BMAPLE_REQ_GPS_ASSIST_D, NULL);
/* IMEI (note 5) IMEI/11.3.91 O TLV 10 */
+ ELEM_OPT_TELV(0x70,GSM_A_PDU_TYPE_COMMON, DE_MID, NULL);
/* GANSS Location Type GANSS Location Type / 11.3.100 C TLV 3 */
+ ELEM_OPT_TELV(0x7c, GSM_A_PDU_TYPE_BSSMAP, BE_GANSS_LOC_TYP, NULL);
/* Requested GANSS Assistance Data (note 6) Requested GANSS Assistance Data/11.3.99 O TLV 3-? */
+ ELEM_OPT_TLV(0x7b, GSM_A_PDU_TYPE_BSSMAP, BE_GANSS_ASS_DTA, NULL);
EXTRANEOUS_DATA_CHECK_EXPERT(curr_len, 0, gpinfo);
}
diff --git a/epan/dissectors/packet-gsm_a_bssmap.c b/epan/dissectors/packet-gsm_a_bssmap.c
index 533fe006cb..3e0c1b7efa 100644
--- a/epan/dissectors/packet-gsm_a_bssmap.c
+++ b/epan/dissectors/packet-gsm_a_bssmap.c
@@ -512,6 +512,9 @@ static int hf_gsm_a_bssmap_asind_b3 = -1;
static int hf_gsm_a_bssmap_bss_res = -1;
static int hf_gsm_a_bssmap_tcp = -1;
static int hf_gsm_a_bssmap_filler_bits = -1;
+static int hf_gsm_a_bssmap_method = -1;
+static int hf_gsm_a_bssmap_ganss_id = -1;
+static int hf_gsm_a_bssmap_usage = -1;
static int hf_gsm_a_bssmap_aoip_trans_ipv4 = -1;
static int hf_gsm_a_bssmap_aoip_trans_ipv6 = -1;
static int hf_gsm_a_bssmap_aoip_trans_port = -1;
@@ -3458,6 +3461,7 @@ be_vgcs_talker_mode(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _
/*
* 3.2.2.95 GANSS Assistance Data
* The GANSS Assistance Data octets 3 to n are coded as the Requested GANSS Data element of 3GPP TS 49.031 (BSSAP-LE)
+ * XXX move to packet-gsm_bssmap_le.c
*/
guint16
be_ganss_ass_dta(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
@@ -3472,7 +3476,35 @@ be_ganss_ass_dta(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_,
}
/*
* 3.2.2.96 GANSS Positioning Data
+ * XXX move to packet-gsm_bssmap_le.c
*/
+
+static const value_string gsm_a_bssmap_method_vals[] = {
+ { 0x00, "MS-Based" },
+ { 0x01, "MS-Assisted" },
+ { 0x02, "Conventional" },
+ { 0x03, "Reserved" },
+ { 0, NULL }
+};
+
+static const value_string gsm_a_bssmap_ganss_id_vals[] = {
+ { 0x00, "Galileo" },
+ { 0x01, "Satellite Based Augmentation Systems (SBAS)" },
+ { 0x02, "Modernized GPS" },
+ { 0x03, "Quasi Zenith Satellite System (QZSS)" },
+ { 0x04, "GLONASS" },
+ { 0, NULL }
+};
+
+static const value_string gsm_a_bssmap_usage_vals[] = {
+ { 0x00, "Attempted unsuccessfully due to failure or interruption" },
+ { 0x01, "Attempted successfully: results not used to generate location" },
+ { 0x02, "Attempted successfully: results used to verify but not generate location" },
+ { 0x03, "Attempted successfully: results used to generate location" },
+ { 0x04, "Attempted successfully: case where MS supports multiple mobile based positioning methods and the actual method or methods used by the MS cannot be determined" },
+ { 0, NULL }
+};
+
guint16
be_ganss_pos_dta(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
@@ -3480,9 +3512,12 @@ be_ganss_pos_dta(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_,
curr_offset = offset;
- proto_tree_add_text(tree, tvb, curr_offset, len, "Not decoded yet");
+ proto_tree_add_item(tree, hf_gsm_a_bssmap_method, tvb, curr_offset, 1, FALSE);
+ proto_tree_add_item(tree, hf_gsm_a_bssmap_ganss_id, tvb, curr_offset, 1, FALSE);
+ proto_tree_add_item(tree, hf_gsm_a_bssmap_usage, tvb, curr_offset, 1, FALSE);
+ curr_offset++;
- return(len);
+ return(curr_offset-offset);
}
/*
* 3.2.2.97 GANSS Location Type
@@ -6698,6 +6733,21 @@ proto_register_gsm_a_bssmap(void)
FT_UINT8, BASE_DEC,NULL, 0x07,
NULL, HFILL }
},
+ { &hf_gsm_a_bssmap_method,
+ { "Method","gsm_a_bssmap.method",
+ FT_UINT8, BASE_DEC,VALS(gsm_a_bssmap_method_vals), 0xc0,
+ NULL, HFILL }
+ },
+ { &hf_gsm_a_bssmap_ganss_id,
+ { "GANSS Id","gsm_a_bssmap.ganss_id",
+ FT_UINT8, BASE_DEC,VALS(gsm_a_bssmap_ganss_id_vals), 0x38,
+ NULL, HFILL }
+ },
+ { &hf_gsm_a_bssmap_usage,
+ { "Usage","gsm_a_bssmap.usage",
+ FT_UINT8, BASE_DEC,VALS(gsm_a_bssmap_usage_vals), 0x07,
+ NULL, HFILL }
+ },
{ &hf_gsm_a_bssmap_aoip_trans_ipv4,
{ "Transport Layer Address (IPv4)","gsm_a_bssmap.aoip_trans_ipv4",
FT_IPv4,BASE_NONE, NULL, 0x0,
diff --git a/epan/dissectors/packet-gsm_bssmap_le.c b/epan/dissectors/packet-gsm_bssmap_le.c
index b4ecf418fd..5cb4c0fc76 100644
--- a/epan/dissectors/packet-gsm_bssmap_le.c
+++ b/epan/dissectors/packet-gsm_bssmap_le.c
@@ -195,6 +195,17 @@ static int hf_gsm_bssmap_le_spare = -1;
static int hf_gsm_bssmap_le_ciphering_key_flag = -1;
static int hf_gsm_bssmap_le_current_deciphering_key_value = -1;
static int hf_gsm_bssmap_le_next_deciphering_key_value = -1;
+static int hf_gsm_bssmap_le_acq_ass = -1;
+static int hf_gsm_bssmap_le_ref_time = -1;
+static int hf_gsm_bssmap_le_ref_loc = -1;
+static int hf_gsm_bssmap_le_dgps_corr = -1;
+static int hf_gsm_bssmap_le_nav_mod = -1;
+static int hf_gsm_bssmap_le_iono_mod = -1;
+static int hf_gsm_bssmap_le_utc_mod = -1;
+static int hf_gsm_bssmap_le_almanac = -1;
+static int hf_gsm_bssmap_le_ephemeris_ext_chk = -1;
+static int hf_gsm_bssmap_le_ephemeris_ext = -1;
+static int hf_gsm_bssmap_le_real_time_int = -1;
static int hf_gsm_bssmap_le_lcs_cause_value =-1;
static int hf_gsm_bssmap_le_diagnostic_value = -1;
static int hf_gsm_bssmap_le_client_category = -1;
@@ -328,6 +339,47 @@ de_bmaple_decihp_keys(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len
/*
* 10.10 Requested GPS Assistance Data
*/
+static guint16
+de_bmaple_req_gps_ass_data(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_)
+{
+ guint32 curr_offset;
+
+ curr_offset = offset;
+
+ /* Octet 3 H G F E D C B A */
+ /* bit H Acquisition Assistance */
+ proto_tree_add_item(tree, hf_gsm_bssmap_le_acq_ass, tvb, curr_offset, 1, FALSE);
+ /* bit G Reference Time */
+ proto_tree_add_item(tree, hf_gsm_bssmap_le_ref_time, tvb, curr_offset, 1, FALSE);
+ /* bit F Reference Location */
+ proto_tree_add_item(tree, hf_gsm_bssmap_le_ref_loc, tvb, curr_offset, 1, FALSE);
+ /* bit E DGPS Corrections */
+ proto_tree_add_item(tree, hf_gsm_bssmap_le_dgps_corr, tvb, curr_offset, 1, FALSE);
+ /* bit D Navigation Model */
+ proto_tree_add_item(tree, hf_gsm_bssmap_le_nav_mod, tvb, curr_offset, 1, FALSE);
+ /* bit C Ionospheric Model */
+ proto_tree_add_item(tree, hf_gsm_bssmap_le_iono_mod, tvb, curr_offset, 1, FALSE);
+ /* bit B UTC Model */
+ proto_tree_add_item(tree, hf_gsm_bssmap_le_utc_mod, tvb, curr_offset, 1, FALSE);
+ /* bit A Almanac */
+ proto_tree_add_item(tree, hf_gsm_bssmap_le_almanac, tvb, curr_offset, 1, FALSE);
+ curr_offset++;
+
+ /* Octet 4 P O N M L K J I
+ * bits L through P are Spare bits
+ */
+ /* bit K Ephemeris Extension Check */
+ proto_tree_add_item(tree, hf_gsm_bssmap_le_ephemeris_ext_chk, tvb, curr_offset, 1, FALSE);
+ /* bit J Ephemeris Extension */
+ proto_tree_add_item(tree, hf_gsm_bssmap_le_ephemeris_ext, tvb, curr_offset, 1, FALSE);
+ /* bit I Real-Time Integrity */
+ proto_tree_add_item(tree, hf_gsm_bssmap_le_real_time_int, tvb, curr_offset, 1, FALSE);
+ curr_offset++;
+
+ /* Octet 5 to Octet 8+2n Satellite related data */
+ proto_tree_add_text(tree, tvb, curr_offset, len-2, "Satellite related data Not decoded yet");
+ return(len);
+}
/*
* 10.11 IMSI
* coded as the value part of the Mobile Identity IE defined in 3GPP TS 24.008 (NOTE 1)
@@ -659,36 +711,36 @@ bssmap_le_elem_idx_t;
guint16 (*bssmap_le_elem_fcn[])(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len) = {
/* NOTE: The null types below are defined elsewhere. i.e in packet-gsm_a_bssmap.c */
- de_bmaple_lcs_qos, /* 10.16 LCS QoS */
- NULL, /* LCS Priority */
- NULL, /* 10.18 Location Type */
- be_ganss_loc_type, /* GANSS Location Type */
- NULL, /* 10.9 Geographic Location */
- de_bmaple_pos_dta, /* 10.20 Positioning Data */
- be_ganss_pos_dta, /* GANSS Positioning Data */
- NULL, /* Velocity Data */
- de_bmaple_cause, /* 10.13 LCS Cause */
- de_bmaple_client, /* LCS Client Type */
- de_bmaple_apdu, /* APDU */
- NULL, /* Network Element Identity */
- NULL, /* Requested GPS Assitance Data */
- be_ganss_ass_dta, /* Requested GANSS Assistance Data */
- de_bmaple_decihp_keys, /* 10.8 Deciphering Keys */
- NULL, /* Return Error Request */
- NULL, /* Return Error Cause */
- NULL, /* Segmentation */
- NULL, /* 10.7 Classmark Information Type 3 */
- NULL, /* Cause */
- NULL, /* Cell Identifier */
- NULL, /* 10.6 Chosen Channel */
- de_mid, /* 10.11 IMSI */
- NULL, /* Reserved */
- NULL, /* Reserved */
- NULL, /* Reserved */
- be_lcs_capability, /* LCS Capability */
- be_packet_meas_rep, /* Packet Measurement Report */
- be_measured_cell_identity, /* Measured Cell Identity List */
- de_mid, /* IMEI (use same dissector as IMSI) */
+ de_bmaple_lcs_qos, /* 10.16 LCS QoS */
+ NULL, /* LCS Priority */
+ NULL, /* 10.18 Location Type */
+ be_ganss_loc_type, /* GANSS Location Type */
+ NULL, /* 10.9 Geographic Location */
+ de_bmaple_pos_dta, /* 10.20 Positioning Data */
+ be_ganss_pos_dta, /* GANSS Positioning Data */
+ NULL, /* Velocity Data */
+ de_bmaple_cause, /* 10.13 LCS Cause */
+ de_bmaple_client, /* LCS Client Type */
+ de_bmaple_apdu, /* APDU */
+ NULL, /* Network Element Identity */
+ de_bmaple_req_gps_ass_data, /* 10.10 Requested GPS Assistance Data */
+ be_ganss_ass_dta, /* Requested GANSS Assistance Data */
+ de_bmaple_decihp_keys, /* 10.8 Deciphering Keys */
+ NULL, /* Return Error Request */
+ NULL, /* Return Error Cause */
+ NULL, /* Segmentation */
+ NULL, /* 10.7 Classmark Information Type 3 */
+ NULL, /* Cause */
+ NULL, /* Cell Identifier */
+ NULL, /* 10.6 Chosen Channel */
+ de_mid, /* 10.11 IMSI */
+ NULL, /* Reserved */
+ NULL, /* Reserved */
+ NULL, /* Reserved */
+ be_lcs_capability, /* LCS Capability */
+ be_packet_meas_rep, /* Packet Measurement Report */
+ be_measured_cell_identity, /* Measured Cell Identity List */
+ de_mid, /* IMEI (use same dissector as IMSI) */
NULL, /* NONE */
@@ -1003,6 +1055,61 @@ proto_register_gsm_bssmap_le(void)
FT_UINT8, BASE_DEC, NULL, 0x0,
NULL, HFILL}
},
+ { &hf_gsm_bssmap_le_acq_ass,
+ { "Acquisition Assistance", "bssap.acq_ass",
+ FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x80,
+ NULL, HFILL }
+ },
+ { &hf_gsm_bssmap_le_ref_time,
+ { "Reference Time", "bssap.ref_time",
+ FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x40,
+ NULL, HFILL }
+ },
+ { &hf_gsm_bssmap_le_ref_loc,
+ { "Reference Location", "bssap.ref_loc",
+ FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x20,
+ NULL, HFILL }
+ },
+ { &hf_gsm_bssmap_le_dgps_corr,
+ { "DGPS Corrections", "bssap.gps_corr",
+ FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x08,
+ NULL, HFILL }
+ },
+ { &hf_gsm_bssmap_le_nav_mod,
+ { "Navigation Model", "bssap.nav_mod",
+ FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x10,
+ NULL, HFILL }
+ },
+ { &hf_gsm_bssmap_le_iono_mod,
+ { "Ionospheric Model", "bssap.iono_mod",
+ FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x04,
+ NULL, HFILL }
+ },
+ { &hf_gsm_bssmap_le_utc_mod,
+ { "UTC Model", "bssap.utc_mod",
+ FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x02,
+ NULL, HFILL }
+ },
+ { &hf_gsm_bssmap_le_almanac,
+ { "Almanac", "bssap.almanac",
+ FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x01,
+ NULL, HFILL }
+ },
+ { &hf_gsm_bssmap_le_ephemeris_ext_chk,
+ { "Ephemeris Extension Check", "bssap.ephemeris_ext_chk",
+ FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x04,
+ NULL, HFILL }
+ },
+ { &hf_gsm_bssmap_le_ephemeris_ext,
+ { "Ephemeris Extension", "bssap.ephemeris_ext",
+ FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x02,
+ NULL, HFILL }
+ },
+ { &hf_gsm_bssmap_le_real_time_int,
+ { "Real-Time Integrity", "bssap.real_time_int",
+ FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x01,
+ NULL, HFILL }
+ },
{ &hf_gsm_bssmap_le_lcs_cause_value,
{ "Cause Value", "gsm_bssmap_le.lcsCauseValue",
FT_UINT8, BASE_HEX, VALS(bssmap_le_lcs_cause_values), 0x0,