Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-bugs: [Wireshark-bugs] [Bug 8378] New: Decoding of GSM MAP SMS Diagnostics

Date: Fri, 22 Feb 2013 10:17:12 +0000
Bug ID 8378
Summary Decoding of GSM MAP SMS Diagnostics
Classification Unclassified
Product Wireshark
Version unspecified
Hardware All
OS All
Status UNCONFIRMED
Severity Trivial
Priority Low
Component Dissection engine (libwireshark)
Assignee [email protected]
Reporter [email protected]

Created attachment 10088 [details]
Test Case

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.
--
Currently exception is being thrown when a GSM MAP packet bears diagnostic
information in addition to SM-Delivery Failure. 

Relevant ASN are:

SM-EnumeratedDeliveryFailureCause ::= ENUMERATED {
    memoryCapacityExceeded  (0),
    equipmentProtocolError  (1),
    equipmentNotSM-Equipped  (2),
    unknownServiceCentre  (3),
    sc-Congestion  (4),
    invalidSME-Address  (5),
    subscriberNotSC-Subscriber  (6)}

SM-DeliveryFailureCause ::= SEQUENCE {
    sm-EnumeratedDeliveryFailureCause    SM-EnumeratedDeliveryFailureCause,
    diagnosticInfo    SignalInfo    OPTIONAL,
    extensionContainer    ExtensionContainer    OPTIONAL,
    ...}

The offending line seems to be "dissector_try_uint(sms_dissector_table, 0,
(tvbuff_t*)actx->value_ptr, actx->pinfo, top_tree);" in function
dissect_gsm_map_er_SM_DeliveryFailureCause. In case , this is commented out the
dissection seems to works fine.

A  trace consisting a packet bearing diagnostics and one without it is
attached.

GSM 09.02 says SM delivery failure includes:
"and possibly detailed diagnostic information, coded as specified in TS GSM
03.40,under SMS-SUBMIT-REPORT and SMS-DELIVERY-REPORT. If the SM entity which
returns the SM Delivery Failure error includes detailed diagnostic information,
it shall be forwarded in the MAP_FORWARD_SHORT_MESSAGE response."

Doesn't this mean that the actual paramter tvb decoding (which is being
attempted in the line) should be done for a separate FSM response packet?


You are receiving this mail because:
  • You are watching all bug changes.