Wireshark-bugs: [Wireshark-bugs] [Bug 8311] New: Dissection of Q.763 ISUP Generic Notification
Date: Mon, 11 Feb 2013 09:57:41 +0000
Bug ID | 8311 |
---|---|
Summary | Dissection of Q.763 ISUP Generic Notification |
Classification | Unclassified |
Product | Wireshark |
Version | SVN |
Hardware | All |
OS | All |
Status | UNCONFIRMED |
Severity | Enhancement |
Priority | Low |
Component | Dissection engine (libwireshark) |
Assignee | [email protected] |
Reporter | [email protected] |
Created attachment 9969 [details] Test Case - 1 Build Information: wireshark 1.9.0 (SVN Rev 47627 from /trunk) Copyright 1998-2013 Gerald Combs <[email protected]> and contributors. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiled (32-bit) with GTK+ 2.22.0, with Cairo 1.10.0, with Pango 1.28.2, with GLib 2.26.1, with libpcap, with libz 1.2.3.4, without POSIX capabilities, without libnl, without SMI, without c-ares, without ADNS, without Lua, without Python, without GnuTLS, without Gcrypt, without Kerberos, without GeoIP, without PortAudio, with AirPcap. Running on Linux 2.6.35-22-generic, with locale en_IN, with libpcap version 1.1.1, with libz 1.2.3.4, without AirPcap. Built using gcc 4.4.5. -- Is there any reason why the dissection for ISUP Generic notification hasn't been implemented? The cause codes are actually present (as comments) in the packet-isup.c. Currently the message "Refer Q.763 for detailed documentation" is being displayed. Attached are some traces for the case. The following changes in packet-isup.c is correcting the dissection: --- packet-isup.c_original 2013-02-11 11:13:52.504090818 +0530 +++ packet-isup.c 2013-02-11 15:09:15.526544577 +0530 @@ -3730,6 +3730,31 @@ }; static value_string_ext ansi_isup_cause_code_vals_ext = VALUE_STRING_EXT_INIT(ansi_isup_cause_code_vals); +static const value_string q763_generic_notification_indicator_vals[] = { +{ 0x0 , "User Suspended" }, +{ 0x1 , "User Resumed" }, +{ 0x2 , "Bearer service change" }, +{ 0x3 , "Discriminator for extension to ASN.1 encoded component (used in DSS1)" }, +{ 0x4 , "Call completion delay" }, +{ 0x42 , "Conference established" }, +{ 0x43 , "Conference disconnected" }, +{ 0x44 , "Other party added" }, +{ 0x45 , "Isolated" }, +{ 0x46 , "Reattached" }, +{ 0x47 , "Other party isolated" }, +{ 0x48 , "Other party reattached" }, +{ 0x49 , "Other party split" }, +{ 0x4A , "Other party disconnected" }, +{ 0x4B , "Conference floating" }, +{ 0x60 , "Call is a waiting call" }, +{ 0x68 , "Diversion activated (used in DSS1)" }, +{ 0x69 , "Call transfer, alerting" }, +{ 0x6A , "Call transfer, active" }, +{ 0x79 , "Remote hold" }, +{ 0x7A , "Remote retrieval" }, +{ 0x7B , "Call is diverting" }, +}; + static const value_string ansi_isup_coding_standard_vals[] = { { 0, "CCITT Standard" }, { 1, "Reserved for other international standards" }, @@ -5752,11 +5777,28 @@ dissect_isup_generic_notification_indicator_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item) { guint8 indicators; - + guint8 actual_indicator; + int offset = 0; + guint length = tvb_reported_length(parameter_tvb); + indicators = tvb_get_guint8(parameter_tvb, 0); + actual_indicator = indicators & 0x7F; proto_tree_add_text(parameter_tree, parameter_tvb, 0, GENERIC_NOTIFICATION_IND_LENGTH, - "Generic notification indicator: 0x%x (refer to 3.25/Q.763 for detailed decoding)", indicators); - proto_item_set_text(parameter_item,"Generic notification indicator: 0x%x", indicators); + "Generic notification indicator: %s",val_to_str(actual_indicator,q763_generic_notification_indicator_vals,"Reserved (0x%X)")); + + proto_item_set_text(parameter_item,"Generic notification indicator: 0x%x", indicators); + + length--; + offset++; + if (length==0) + { + return; + } + proto_tree_add_text(parameter_tree, parameter_tvb, offset, + length, "Diagnostic: %s", + tvb_bytes_to_str(parameter_tvb, offset, length)); + return; + } /* ------------------------------------------------------------------
You are receiving this mail because:
- You are watching all bug changes.
- Follow-Ups:
- [Wireshark-bugs] [Bug 8311] Dissection of Q.763 ISUP Generic Notification
- From: bugzilla-daemon
- [Wireshark-bugs] [Bug 8311] Dissection of Q.763 ISUP Generic Notification
- From: bugzilla-daemon
- [Wireshark-bugs] [Bug 8311] Dissection of Q.763 ISUP Generic Notification
- Prev by Date: [Wireshark-bugs] [Bug 8304] Improve support of MAP, PBAP, BPP and BIP in OBEX and some minor patches
- Next by Date: [Wireshark-bugs] [Bug 8311] Dissection of Q.763 ISUP Generic Notification
- Previous by thread: [Wireshark-bugs] [Bug 8310] "implicit conversion shortens 64-bit value into a 32-bit value" warning in native-OS X-GTK+ drag-and-drop code path
- Next by thread: [Wireshark-bugs] [Bug 8311] Dissection of Q.763 ISUP Generic Notification
- Index(es):
- Get Wireshark
- Download
- Code of Conduct