From 7da74dff21d1e41b02cf057fe0fe4c3ea6e9d88d Mon Sep 17 00:00:00 2001 From: Mikhail Koreshkov Date: Sat, 30 May 2015 11:13:04 +0300 Subject: VGCS/VBS Assignment Request: Add param dissector Function for dissect Assignment Requirement parameter Change-Id: I0ed8748913e5fe3dd509a78a5285520f6f63abac Reviewed-on: https://code.wireshark.org/review/8700 Reviewed-by: Pascal Quantin --- epan/dissectors/packet-gsm_a_bssmap.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'epan/dissectors/packet-gsm_a_bssmap.c') diff --git a/epan/dissectors/packet-gsm_a_bssmap.c b/epan/dissectors/packet-gsm_a_bssmap.c index ed6f2ee96c..a0c8e369c8 100644 --- a/epan/dissectors/packet-gsm_a_bssmap.c +++ b/epan/dissectors/packet-gsm_a_bssmap.c @@ -607,6 +607,7 @@ static int hf_gsm_a_bssmap_location_type_location_information = -1; static int hf_gsm_a_bssmap_location_type_positioning_method = -1; static int hf_gsm_a_bssmap_chan_type_extension = -1; static int hf_gsm_a_bssmap_cause_extension = -1; +static int hf_gsm_a_bssmap_ass_req = -1; static int hf_gsm_a_bssmap_emlpp_prio = -1; static int hf_gsm_a_bssmap_rip = -1; static int hf_gsm_a_bssmap_rtd = -1; @@ -2681,16 +2682,18 @@ be_speech_ver(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 o /* * 3.2.2.52 Assignment Requirement */ +static const value_string gsm_a_bssmap_assignment_requirement_vals[] = { + { 0x00, "Delay allowed" }, + { 0x01, "Immediate and the resources shall not be de-allocated until the end of the call (channel establishment on demand forbidden by the MSC)" }, + { 0x02, "Immediate and the resources may further be de-allocated by the BSS (channel establishment on demand permitted by the MSC)." }, + { 0, NULL } +}; static guint16 -be_ass_req(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_) +be_ass_req(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_) { - guint32 curr_offset; + proto_tree_add_item(tree, hf_gsm_a_bssmap_ass_req, tvb, offset, 1, ENC_BIG_ENDIAN); - curr_offset = offset; - - proto_tree_add_expert(tree, pinfo, &ei_gsm_a_bssmap_not_decoded_yet, tvb, curr_offset, len); - - return(len); + return 1; } /* * 3.2.2.53 (void) @@ -7705,6 +7708,11 @@ proto_register_gsm_a_bssmap(void) FT_BOOLEAN, 8, TFS(&bssmap_cause_extension_value), 0x80, NULL, HFILL } }, + { &hf_gsm_a_bssmap_ass_req, + { "Assignment Requirement", "gsm_a.bssmap.assignment_requirement", + FT_UINT8, BASE_HEX, VALS(gsm_a_bssmap_assignment_requirement_vals), 0x0, + NULL, HFILL } + }, { &hf_gsm_a_bssmap_emlpp_prio, { "eMLPP Priority", "gsm_a.bssmap.emlpp_priority", FT_UINT8, BASE_HEX, VALS(gsm_a_bssmap_call_priority_vals), 0x07, -- cgit v1.2.3