diff options
author | Guy Harris <guy@alum.mit.edu> | 2004-01-13 23:11:19 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2004-01-13 23:11:19 +0000 |
commit | 78ff1a1ff8b3510f0b058ae52419a9abd100d745 (patch) | |
tree | 7630d1e49565dfdf1ec17c849d27938374215f27 /packet-isup.c | |
parent | 56d34898b9294a6810eada875f12409749a32e68 (diff) |
From Anders Broman: dissect message compatibility information parameter.
svn path=/trunk/; revision=9663
Diffstat (limited to 'packet-isup.c')
-rw-r--r-- | packet-isup.c | 57 |
1 files changed, 52 insertions, 5 deletions
diff --git a/packet-isup.c b/packet-isup.c index 307ec93ef4..2de5b0e3b4 100644 --- a/packet-isup.c +++ b/packet-isup.c @@ -8,7 +8,7 @@ * Modified 2004-01-10 by Anders Broman to add abillity to dissect * Content type application/ISUP RFC 3204 used in SIP-T * - * $Id: packet-isup.c,v 1.44 2004/01/13 23:03:25 guy Exp $ + * $Id: packet-isup.c,v 1.45 2004/01/13 23:11:19 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -1303,7 +1303,9 @@ static int hf_isup_Send_notification_ind = -1; static int hf_isup_Discard_message_ind_value = -1; static int hf_isup_Discard_parameter_ind = -1; static int hf_isup_Pass_on_not_possible_indicator = -1; +static int hf_isup_pass_on_not_possible_indicator2 = -1; static int hf_isup_Broadband_narrowband_interworking_ind = -1; +static int hf_isup_Broadband_narrowband_interworking_ind2 = -1; static int hf_isup_app_cont_ident = -1; static int hf_isup_app_Send_notification_ind = -1; @@ -3741,11 +3743,46 @@ dissect_isup_echo_control_information_parameter(tvbuff_t *parameter_tvb, proto_t /* ------------------------------------------------------------------ Dissector Parameter Message compatibility information */ + +static const true_false_string isup_pass_on_not_possible_indicator_value = { + "discard information", + "release call", +}; + static void dissect_isup_message_compatibility_information_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item) -{ guint length = tvb_length(parameter_tvb); - proto_tree_add_text(parameter_tree, parameter_tvb, 0, length, "Message compatibility information (refer to 3.33/Q.763 for detailed decoding)"); - proto_item_set_text(parameter_item, "Message compatibility information (%u byte%s length)", length , plurality(length, "", "s")); +{ + guint length = tvb_length(parameter_tvb); + guint instruction_indicators; + gint offset = 0; + instruction_indicators = tvb_get_guint8(parameter_tvb, offset); + + proto_tree_add_text(parameter_tree, parameter_tvb, 0, length, + "Message compatibility information"); + + proto_tree_add_boolean(parameter_tree, hf_isup_transit_at_intermediate_exchange_ind, + parameter_tvb, offset, 1, instruction_indicators ); + + proto_tree_add_boolean(parameter_tree, hf_isup_Release_call_ind, + parameter_tvb, offset, 1, instruction_indicators ); + + proto_tree_add_boolean(parameter_tree, hf_isup_Send_notification_ind, + parameter_tvb, offset, 1, instruction_indicators ); + + proto_tree_add_boolean(parameter_tree, hf_isup_Discard_message_ind_value, + parameter_tvb, offset, 1, instruction_indicators ); + + proto_tree_add_boolean(parameter_tree, hf_isup_pass_on_not_possible_indicator2, + parameter_tvb, offset, 1,instruction_indicators); + + proto_tree_add_uint(parameter_tree, hf_isup_Broadband_narrowband_interworking_ind2, + parameter_tvb, offset, 1,instruction_indicators); + + proto_tree_add_boolean(parameter_tree, hf_isup_extension_ind , + parameter_tvb, offset, 1, instruction_indicators ); + + proto_item_set_text(parameter_item, "Message compatibility information (%u byte%s length)", + length , plurality(length, "", "s")); } /* ------------------------------------------------------------------ Dissector Parameter compatibility information @@ -6106,11 +6143,21 @@ proto_register_isup(void) FT_UINT8, BASE_HEX, VALS(isup_Pass_on_not_possible_indicator_vals),GF_8BIT_MASK, "", HFILL }}, + { &hf_isup_pass_on_not_possible_indicator2, + { "Pass on not possible indicator", "isup_Pass_on_not_possible_val", + FT_BOOLEAN, 8, TFS(&isup_pass_on_not_possible_indicator_value),E_8BIT_MASK, + "", HFILL }}, + { &hf_isup_Broadband_narrowband_interworking_ind, - { "Broadband narrowband interworking indicator Bits JF", "isup_Pass_on_not_possible_ind", + { "Broadband narrowband interworking indicator Bits JF", "isup_broadband-narrowband_interworking_ind", FT_UINT8, BASE_HEX, VALS(ISUP_Broadband_narrowband_interworking_indicator_vals),BA_8BIT_MASK, "", HFILL }}, + { &hf_isup_Broadband_narrowband_interworking_ind2, + { "Broadband narrowband interworking indicator Bits GF", "isup_broadband-narrowband_interworking_ind2", + FT_UINT8, BASE_HEX, VALS(ISUP_Broadband_narrowband_interworking_indicator_vals),GF_8BIT_MASK, + "", HFILL }}, + { &hf_isup_app_cont_ident, { "Application context identifier", "isup.app_context_identifier", FT_UINT8, BASE_DEC, VALS(isup_application_transport_parameter_value),0x0, |