Wireshark-bugs: [Wireshark-bugs] [Bug 7012] New: 3GPP SGmb (diameter) 'MBMS-Session-Duration' AV
Date: Fri, 30 Mar 2012 07:48:05 -0700 (PDT)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7012

           Summary: 3GPP SGmb (diameter) 'MBMS-Session-Duration' AVP
                    dissection
           Product: Wireshark
           Version: 1.7.x (Experimental)
          Platform: x86
        OS/Version: Windows Vista
            Status: NEW
          Severity: Normal
          Priority: Low
         Component: Extras
        AssignedTo: bugzilla-admin@xxxxxxxxxxxxx
        ReportedBy: aug264@xxxxxxxxx


Build Information:
wireshark 1.7.1-(from SVN)
--
According to 3GPP R7//R8/R9/R10/R11, AVP 'MBMS-Session-Duration' has 3 octets.
First 17 bits indicate seconds, the rest of bits(7 bits) represents days. 

However, in the source file packet-gtp.c, it parse the AVP reversely -- taking
first 7 bits as days, the rest of 17 bits as seconds. See below code (near line
number 7662):
-----------
       {&hf_gtp_mbms_ses_dur_days,
         {"Estimated session duration days", "gtp.mbms_ses_dur_days",
          FT_UINT8, BASE_DEC, NULL, 0xfe,
          NULL, HFILL}
        },
        {&hf_gtp_mbms_ses_dur_s,
         {"Estimated session duration seconds", "gtp.mbms_ses_dur_s",
          FT_UINT24, BASE_DEC, NULL, 0x01ffff,
          NULL, HFILL}
        },
-----------

I think it should be like that:

----------
       {&hf_gtp_mbms_ses_dur_days,
         {"Estimated session duration days", "gtp.mbms_ses_dur_days",
          FT_UINT24, BASE_DEC, NULL, 0x00007F,
          NULL, HFILL}
        },
        {&hf_gtp_mbms_ses_dur_s,
         {"Estimated session duration seconds", "gtp.mbms_ses_dur_s",
          FT_UINT24, BASE_DEC, NULL, 0xFFFF80,
          NULL, HFILL}
        },
----------

And also the function dissect_gtp_mbms_ses_dur(...), and
decode_gtp_mbms_ses_dur(...) should also be updated accordingly.


Reference to TS 29.061 in release 11:

17.7.7    MBMS-Session-Duration AVP
The MBMS-Session-Duration AVP (AVP code 904) is of type OctetString with a
length of three octets and indicates the estimated session duration (MBMS
Service data transmission). Bit 8 of octet 1 to bit 8 of octet 3 (17 bits)
express seconds, for which the maximum allowed value is 86400 seconds. Bits 7
to 1 of octet 3 (7 bits) express days, for which the maximum allowed value is
18 days. The coding is as follows (the 's' bits represent the seconds, the 'd'
bits represent the days):

        Bits
Octets        8    7    6    5    4    3    2    1
1        s    s    s    s    s    s    s    s
2        s    s    s    s    s    s    s    s
3        s    d    d    d    d    d    d    d

For the whole session duration the seconds and days are added together and the
maximum session duration is 19 days.
The lowest value of this AVP (i.e. all 0’s), is reserved to indicate an
indefinite value to denote sessions that are expected to be always-on.

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