Wireshark-bugs: [Wireshark-bugs] [Bug 5834] New: Service Indicator in M3UA protocol data

Date: Sat, 16 Apr 2011 03:16:24 -0700 (PDT)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5834

           Summary: Service Indicator in M3UA  protocol data
           Product: Wireshark
           Version: 1.5.x (Experimental)
          Platform: x86
        OS/Version: Windows XP
            Status: NEW
          Severity: Minor
          Priority: Low
         Component: Wireshark
        AssignedTo: wireshark-bugs@xxxxxxxxxxxxx
        ReportedBy: ping.zhu@xxxxxxx


Build Information:
Version 1.5.2-SVN-36641 (SVN Rev 36641 from /trunk)

Copyright 1998-2011 Gerald Combs <gerald@xxxxxxxxxxxxx> 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.1, with GLib 2.26.1, with WinPcap (version
unknown), with libz 1.2.5, without POSIX capabilities, without libpcre, with
SMI
0.4.8, with c-ares 1.7.1, with Lua 5.1, without Python, with GnuTLS 2.10.3,
with
Gcrypt 1.4.6, with MIT Kerberos, with GeoIP, with PortAudio V19-devel (built
Apr
14 2011), with AirPcap.

Running on Windows XP Service Pack 3, build 2600, with WinPcap version 4.1.2
(packet.dll version 4.1.0.2001), based on libpcap version 1.0 branch 1_0_rel0b
(20091008), GnuTLS 2.10.3, Gcrypt 1.4.6, without AirPcap.

Built using Microsoft Visual C++ 9.0 build 21022
--
I observed some infrequent packets,in which MTP3MG message(COO) overlayed on
M3UA protocol data, however the Service indicator is "Reserved(1)".
MTP 3 User Adaptation Layer
    Version: Release 1 (1)
    Reserved: 0x00
    Message class: Transfer messages (1)
    Message type: Payload data (DATA) (1) <===
    Message length: 44
    Network appearance (12)
        Parameter Tag: Network appearance (512)
        Parameter length: 8
        Network appearance: 12
    Protocol data (SS7 message of 10 bytes)
        Parameter Tag: Protocol data (528)
        Parameter length: 26
        OPC: 2730
        DPC: 3112
        SI: Reserved (1)  <===
        NI: 3
        MP: 0
        SLS: 0
        [MTP3 equivalents]
        Padding: 0000
Message Transfer Part Level 3 Management
    .... 0001 = H0 (Message Group): Changeover and changeback messages (0x01)
    0001 .... = H1 (Message): Changeover-order signal (0x01)
    .000 0000 = Forward Sequence Number: 0

I realized the values of SI are extracted from MTP3-User Identity:
/* packet-m3ua.c
Line 512:
static const value_string user_identity_values[] = {
  { RESERVED_0_USER_ID,     "Reserved"       },
  { RESERVED_1_USER_ID,     "Reserved"       },
  { RESERVED_2_USER_ID,     "Reserved"       },
  { SCCP_USER_ID,           "SCCP"           },
  { TUP_USER_ID,            "TUP"            },
  { ISUP_USER_ID,           "ISUP"           },
  { RESERVED_6_USER_ID,     "Reserved"       },
  { RESERVED_7_USER_ID,     "Reserved"       },
  { RESERVED_8_USER_ID,     "Reserved"       },
  { BROADBAND_ISUP_USER_ID, "Broadband ISUP" },
  { SATELLITE_ISUP_USER_ID, "Satellite ISUP" },
  { RESERVED_11_USER_ID,    "Reserved"       },
  { AAL_2_SIGNALING_USER_ID,"AAL type2 Signaling"},
  { BICC_USER_ID,           "Bearer Independent Call Control (BICC)"},
  { GATEWAY_CONTROL_PROTOCOL_USER_ID, "Gateway Control Protocol"},
  { RESERVED_15_USER_ID,    "Reserved"       },

  {0,                       NULL             } };

Line 2042:
    { &hf_protocol_data_si,  { "SI",  "m3ua.protocol_data_si",  FT_UINT8, 
BASE_DEC,  VALS(user_identity_values), 0x0, "Service Indicator",        HFILL }
},

Actually, "MTP3-User Identity" is only applicable for following messages:
3.4.5.  Destination User Part Unavailable (DUPU)
3.6.1.  Registration Request (REG REQ)

For DATA message, I think the decoding of SI should comply to original ITU-T
Q.704:
/*rfc4666
3.3.1.  Payload Data Message (DATA)
    Service Indicator: 8 bits (unsigned integer)

   The Service Indicator field contains the SI field from the original SS7
message justified to the least significant bit.  Unused bits are coded `0'.

/*ITU-T Q.704
14.2.1 Service indicator
The service indicator codes for the international signalling network
aremallocated as follows:
bits 
D C B A
0 0 0 0 Signalling network management messages
0 0 0 1 Signalling network testing and maintenance messages
0 0 1 0 Spare
0 0 1 1 SCCP
0 1 0 0 Telephone User Part
0 1 0 1 ISDN User Part
0 1 1 0 Data User Part (call and circuit-related messages)
0 1 1 1 Data User Part (facility registration and cancellation messages)
1 0 0 0 Reserved for MTP Testing User Part
1 0 0 1 Broadband ISDN User Part
1 0 1 0 Satellite ISDN User Part
1 0 1 1 )
1 1 0 0 )
1 1 0 1 ) Spare
1 1 1 0 )
1 1 1 1 )

-- 
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.