Uploaded image for project: 'FreeSWITCH'
  1. FreeSWITCH
  2. FS-11468

[vpx] Split VPX payload evenly across packets (as Chrome does) to eliminate excessive rtp out-of-order (and thus NACKs/re-transmissions)

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1.8
    • Fix Version/s: 20.19.2
    • Component/s: mod_vpx, RTP
    • Labels:
      None
    • Environment:
      Debian 8
    • CPU Architecture:
      x86-64
    • Kernel:
      Linux
    • Userland:
      GNU/Linux
    • Distribution:
      Debian
    • Distribution Version:
      Debian 8 jessie
    • lsb_release:
      Hide
      No LSB modules are available.
      Distributor ID: Debian
      Description: Debian GNU/Linux 8.11 (jessie)
      Release: 8.11
      Codename: jessie
      Show
      No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 8.11 (jessie) Release: 8.11 Codename: jessie
    • Compiler:
      gcc
    • FreeSWITCH GIT Revision:
      b865596c6db4c394f996e099796ca5e9799c4ba7
    • GIT Master Revision hash::
      637f1e18cd82a70ebbf72d5c274ea96915655035
    • Target Version:
    • FSS Support Agreement Customer Number and Company name:
      Intermedia

      Description

      Chrome divide payload of size 7472 bytes across packet this way: 1067+1067+1067+1068+1068+1068 (all of ~same size, largest to the end).
      But FreeSWITCH divide it into 1200+1200+1200+1200+1200+1200+272.

      As a result, in `some congested/limited b/w networks` - last packet of size 272 (one with `mark` bit set) received out of order (before previous one).

      Although in theory Chrome should rearrange packets in jitter buffer and wait a little before sending NACK it *DOES NOT DO THAT* and send NACK immediately.
      (Please see: https://bugs.chromium.org/p/webrtc/issues/detail?id=4465)

      As a result we have an excessive amount of NACKs(almost for every 'mark' packet) being send by Chrome and served by FreeSWITCH and waste of incoming b/w.

        Attachments

        1. after.png
          after.png
          6 kB
        2. before.png
          before.png
          46 kB
        3. image-2018-10-03-17-28-53-560.png
          image-2018-10-03-17-28-53-560.png
          128 kB
        4. image-2018-10-03-17-29-22-513.png
          image-2018-10-03-17-29-22-513.png
          230 kB
        5. ssrc_7ddede86.pcapng
          833 kB

          Activity

            People

            • Assignee:
              mikej Mike Jerris
              Reporter:
              shripchenko Sergey KHripchenko
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: