diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2015-01-26 16:20:16 +0100 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2015-01-26 16:23:19 +0000 |
commit | c9579d01c5db35a2fc62d3fe3e69e780e6d40e80 (patch) | |
tree | ef47845d8d557754f53a2d2f80dd41bf3103462a /epan/dissectors | |
parent | d5f0f2518aacb04586155e0d963d5bdcebbb8812 (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/dissectors')
-rw-r--r-- | epan/dissectors/packet-gsm_a_gm.c | 42 | ||||
-rw-r--r-- | epan/dissectors/packet-nas_eps.c | 14 |
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); } |