aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2015-01-26 16:20:16 +0100
committerPascal Quantin <pascal.quantin@gmail.com>2015-01-26 16:23:19 +0000
commitc9579d01c5db35a2fc62d3fe3e69e780e6d40e80 (patch)
treeef47845d8d557754f53a2d2f80dd41bf3103462a /epan
parentd5f0f2518aacb04586155e0d963d5bdcebbb8812 (diff)
3GPP: upgrade 2G/3G NAS dissector to v12.8.0 and NAS EPS dissector to v12.7.0
Change-Id: I770506762074b50d40b4f4742d8316368f14b4de Reviewed-on: https://code.wireshark.org/review/6794 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-gsm_a_gm.c42
-rw-r--r--epan/dissectors/packet-nas_eps.c14
2 files changed, 40 insertions, 16 deletions
diff --git a/epan/dissectors/packet-gsm_a_gm.c b/epan/dissectors/packet-gsm_a_gm.c
index 9a98dc8953..d26a26e5cb 100644
--- a/epan/dissectors/packet-gsm_a_gm.c
+++ b/epan/dissectors/packet-gsm_a_gm.c
@@ -51,7 +51,7 @@
* Mobile radio interface Layer 3 specification;
* Core network protocols;
* Stage 3
- * (3GPP TS 24.008 version 12.7.0 Release 12)
+ * (3GPP TS 24.008 version 12.8.0 Release 12)
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
@@ -362,7 +362,8 @@ static int hf_gsm_a_sm_enh_nsapi = -1;
static int hf_gsm_a_sm_req_type = -1;
static int hf_gsm_a_sm_notif_ind = -1;
static int hf_gsm_a_sm_connectivity_type = -1;
-static int hf_gsm_a_sm_wlan_offload_accept = -1;
+static int hf_gsm_a_sm_wlan_utran_offload_accept = -1;
+static int hf_gsm_a_sm_wlan_eutran_offload_accept = -1;
static int hf_gsm_a_gm_rac_ctrled_early_cm_sending = -1;
static int hf_gsm_a_gm_rac_pseudo_sync = -1;
static int hf_gsm_a_gm_rac_vgcs = -1;
@@ -5664,17 +5665,22 @@ de_sm_connectivity_type(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_,
/*
* [12] 10.5.6.20 WLAN offload acceptability
*/
-static const range_string gsm_a_sm_wlan_offload_accept_vals[] = {
- { 0x0, 0x0, "Offloading the traffic of the PDN connection via a WLAN is not acceptable"},
- { 0x1, 0x1, "Offloading the traffic of the PDN connection via a WLAN is acceptable"},
- { 0x2, 0xF, "Offloading the traffic of the PDN connection via a WLAN is not acceptable"},
- { 0, 0, NULL }
+static const true_false_string gsm_a_sm_wlan_utran_offload_accept_value = {
+ "Offloading the traffic of the PDN connection via a WLAN when in Iu mode is acceptable",
+ "Offloading the traffic of the PDN connection via a WLAN when in Iu mode is not acceptable"
+};
+
+static const true_false_string gsm_a_sm_wlan_eutran_offload_accept_value = {
+ "Offloading the traffic of the PDN connection via a WLAN when in S1 mode is acceptable",
+ "Offloading the traffic of the PDN connection via a WLAN when in S1 mode is not acceptable"
};
static guint16
de_sm_wlan_offload_accept(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_)
{
- proto_tree_add_item(tree, hf_gsm_a_sm_wlan_offload_accept, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(tree, hf_gsm_a_spare_bits, tvb, (offset<<3)+4, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(tree, hf_gsm_a_sm_wlan_utran_offload_accept, tvb, (offset<<3)+6, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(tree, hf_gsm_a_sm_wlan_eutran_offload_accept, tvb, (offset<<3)+7, 1, ENC_BIG_ENDIAN);
return (len);
}
@@ -6683,6 +6689,8 @@ dtap_sm_act_sec_pdp_acc(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gui
ELEM_OPT_TLV( 0x27, GSM_A_PDU_TYPE_GM, DE_PRO_CONF_OPT, NULL);
+ ELEM_OPT_TV_SHORT(0xC0 , GSM_A_PDU_TYPE_GM, DE_SM_WLAN_OFFLOAD_ACCEPT, " - WLAN offload indication");
+
EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_gsm_a_gm_extraneous_data);
}
@@ -6890,6 +6898,8 @@ dtap_sm_mod_pdp_acc_net(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gui
ELEM_OPT_TLV( 0x27, GSM_A_PDU_TYPE_GM, DE_PRO_CONF_OPT, NULL);
+ ELEM_OPT_TV_SHORT(0xC0 , GSM_A_PDU_TYPE_GM, DE_SM_WLAN_OFFLOAD_ACCEPT, " - WLAN offload indication");
+
EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_gsm_a_gm_extraneous_data);
}
@@ -6948,6 +6958,8 @@ dtap_sm_deact_pdp_req(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint
ELEM_OPT_TLV(0x37, GSM_A_PDU_TYPE_GM, DE_GPRS_TIMER_3, " - T3396 value");
+ ELEM_OPT_TV_SHORT(0xC0 , GSM_A_PDU_TYPE_GM, DE_SM_WLAN_OFFLOAD_ACCEPT, " - WLAN offload indication");
+
EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_gsm_a_gm_extraneous_data);
}
@@ -7004,6 +7016,9 @@ dtap_sm_req_sec_pdp_act(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gui
/* 27 Protocol configuration options Protocol configuration options 10.5.6.3 O TLV 3 - 253 */
ELEM_OPT_TLV( 0x27, GSM_A_PDU_TYPE_GM, DE_PRO_CONF_OPT, NULL);
+ /* C- WLAN offload acceptability 10.5.6.20 O TV 1 */
+ ELEM_OPT_TV_SHORT(0xC0 , GSM_A_PDU_TYPE_GM, DE_SM_WLAN_OFFLOAD_ACCEPT, " - WLAN offload indication");
+
EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_gsm_a_gm_extraneous_data);
}
@@ -8070,9 +8085,14 @@ proto_register_gsm_a_gm(void)
FT_UINT8, BASE_DEC|BASE_RANGE_STRING, RVALS(gsm_a_sm_connectivity_type_vals), 0x0F,
NULL, HFILL }
},
- { &hf_gsm_a_sm_wlan_offload_accept,
- { "WLAN offload acceptability", "gsm_a.gm.sm.wlan_offload_accept",
- FT_UINT8, BASE_DEC|BASE_RANGE_STRING, RVALS(gsm_a_sm_wlan_offload_accept_vals), 0x0F,
+ { &hf_gsm_a_sm_wlan_utran_offload_accept,
+ { "WLAN UTRAN offload acceptability", "gsm_a.gm.sm.wlan_utran_offload_accept",
+ FT_BOOLEAN, BASE_NONE, TFS(&gsm_a_sm_wlan_utran_offload_accept_value), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_gsm_a_sm_wlan_eutran_offload_accept,
+ { "WLAN E-UTRAN offload acceptability", "gsm_a.gm.sm.wlan_eutran_offload_accept",
+ FT_BOOLEAN, BASE_NONE, TFS(&gsm_a_sm_wlan_eutran_offload_accept_value), 0x0,
NULL, HFILL }
},
{ &hf_gsm_a_gm_rac_ctrled_early_cm_sending,
diff --git a/epan/dissectors/packet-nas_eps.c b/epan/dissectors/packet-nas_eps.c
index 41fc482911..218fa771ab 100644
--- a/epan/dissectors/packet-nas_eps.c
+++ b/epan/dissectors/packet-nas_eps.c
@@ -21,7 +21,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * References: 3GPP TS 24.301 V12.6.0 (2014-09)
+ * References: 3GPP TS 24.301 V12.7.0 (2014-12)
*/
#include "config.h"
@@ -2322,7 +2322,7 @@ de_esm_apn_aggr_max_br(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_,
/* Quality of Service Class Identifier (QCI), octet 3 (see 3GPP TS 23.203 [7]) */
static const range_string nas_eps_qci_vals[] = {
- { 0x00, 0x00, "UE -> NW Network selects the QCI / NW -> UE Reserved"},
+ { 0x00, 0x00, "Reserved"},
{ 0x01, 0x01, "QCI 1"},
{ 0x02, 0x02, "QCI 2"},
{ 0x03, 0x03, "QCI 3"},
@@ -2332,13 +2332,13 @@ static const range_string nas_eps_qci_vals[] = {
{ 0x07, 0x07, "QCI 7"},
{ 0x08, 0x08, "QCI 8"},
{ 0x09, 0x09, "QCI 9"},
- { 0x0A, 0x40, "Reserved"},
+ { 0x0A, 0x40, "Spare"},
{ 0x41, 0x41, "QCI 65"},
{ 0x42, 0x42, "QCI 66"},
- { 0x43, 0x44, "Reserved"},
+ { 0x43, 0x44, "Spare"},
{ 0x45, 0x45, "QCI 69"},
{ 0x46, 0x46, "QCI 70"},
- { 0x47, 0x7F, "Reserved"},
+ { 0x47, 0x7F, "Spare"},
{ 0x80, 0xFE, "Operator-specific QCI"},
{ 0xFF, 0xFF, "Reserved"},
{ 0, 0, NULL }
@@ -4009,6 +4009,8 @@ nas_esm_act_ded_eps_bearer_ctx_req(tvbuff_t *tvb, proto_tree *tree, packet_info
ELEM_OPT_TLV( 0x34 , GSM_A_PDU_TYPE_GM, DE_PACKET_FLOW_ID , NULL );
/* 27 Protocol configuration options Protocol configuration options 9.9.4.11 O TLV 3-253 */
ELEM_OPT_TLV( 0x27 , GSM_A_PDU_TYPE_GM, DE_PRO_CONF_OPT , NULL );
+ /* C- WLAN offload indication WLAN offload indication 9.9.4.18 O TV 1 */
+ ELEM_OPT_TV_SHORT(0xC0 , GSM_A_PDU_TYPE_GM, DE_SM_WLAN_OFFLOAD_ACCEPT, " - WLAN offload indication");
EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_nas_eps_extraneous_data);
}
@@ -4282,6 +4284,8 @@ nas_esm_deact_eps_bearer_ctx_req(tvbuff_t *tvb, proto_tree *tree, packet_info *p
ELEM_OPT_TLV( 0x27 , GSM_A_PDU_TYPE_GM, DE_PRO_CONF_OPT , NULL );
/* 37 T3396 value GPRS timer 3 9.9.3.16B O TLV 3 */
ELEM_OPT_TLV(0x37, GSM_A_PDU_TYPE_GM, DE_GPRS_TIMER_3, " - T3396 value");
+ /* C- WLAN offload indication WLAN offload indication 9.9.4.18 O TV 1 */
+ ELEM_OPT_TV_SHORT(0xC0 , GSM_A_PDU_TYPE_GM, DE_SM_WLAN_OFFLOAD_ACCEPT, " - WLAN offload indication");
EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_nas_eps_extraneous_data);
}