diff options
author | Guy Harris <guy@alum.mit.edu> | 2004-01-13 22:58:04 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2004-01-13 22:58:04 +0000 |
commit | 4cdffbe8505750ce704306f0214eb97d3cd54dcb (patch) | |
tree | 38b3f616ae015f9353be848b60ba1d0a7d918a5f /packet-isup.c | |
parent | a093c75b59caa429664ac874b75d759cc2935f0b (diff) | |
download | wireshark-4cdffbe8505750ce704306f0214eb97d3cd54dcb.tar.gz |
From Anders Broman:
handle the case where the address presentation restricted
indicator in a location number parameter indicates the address
isn't available;
register as "application/isup", not "application/ISUP", as
dissectors that use the media_type dissector table convert the
media type to lower case, under the assumption that dissectors
register all-lower-case media types, to make the match
case-insensitive.
svn path=/trunk/; revision=9661
Diffstat (limited to 'packet-isup.c')
-rw-r--r-- | packet-isup.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/packet-isup.c b/packet-isup.c index 9f004dacef..0492a2e5fc 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.42 2004/01/13 03:35:18 guy Exp $ + * $Id: packet-isup.c,v 1.43 2004/01/13 22:58:04 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -3938,6 +3938,17 @@ dissect_isup_location_number_parameter(tvbuff_t *parameter_tvb, proto_tree *para proto_tree_add_text(parameter_tree, parameter_tvb, 1, 1, "Different meaning for Location Number: Numbering plan indicator = private numbering plan"); proto_tree_add_uint(parameter_tree, hf_isup_address_presentation_restricted_indicator, parameter_tvb, 1, 1, indicators2); proto_tree_add_uint(parameter_tree, hf_isup_screening_indicator, parameter_tvb, 1, 1, indicators2); + + /* NOTE When the address presentation restricted indicator indicates address not available, the + * subfields in items a), b), c) and d) are coded with 0's, and the screening indicator is set to 11 + * (network provided). + */ + if ( indicators2 == 0x0b ){ + proto_tree_add_text(parameter_tree, parameter_tvb, 1, -1, "Location number: address not available"); + proto_item_set_text(parameter_item, "Location number: address not available"); + return; + } + offset = 2; address_digits_item = proto_tree_add_text(parameter_tree, parameter_tvb, @@ -6315,7 +6326,7 @@ proto_reg_handoff_isup(void) application_isup_handle = create_dissector_handle(dissect_application_isup, proto_isup); dissector_add("mtp3.service_indicator", MTP3_ISUP_SERVICE_INDICATOR, isup_handle); dissector_add("m3ua.protocol_data_si", MTP3_ISUP_SERVICE_INDICATOR, isup_handle); - dissector_add_string("media_type","application/ISUP", application_isup_handle); + dissector_add_string("media_type","application/isup", application_isup_handle); } |