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

RTCP mux is always proposed on outbound channels even if rtcp_mux chan variable is 0

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1.6.11
    • Fix Version/s: None
    • Component/s: freeswitch-core
    • Security Level: public
    • Labels:
      None
    • CPU Architecture:
      x86-64
    • Kernel:
      Linux
    • Userland:
      GNU/Linux
    • Distribution:
      Debian
    • Distribution Version:
      Debian 8 jessie
    • Compiler:
      gcc
    • FreeSWITCH GIT Revision:
      b91a0a6
    • GIT Master Revision hash::
      0166ba281aa

      Description

      Reproducible on master too.

      1/ Rtcp auto adjust set the remote to the freeswitch local ip/port:
      Log entry:
      2016-10-11 21:07:07.465790 [INFO] switch_rtp.c:6354 Auto Changing audio RTCP port from DISTANTIP:DISTANTRTCP to FSLOCALIP:FSLOCALPORT

      2/ Outbound channels always have rtcp-mux proposed, even if the variable rtcp_mux is 0. Patch to fix the issue if it was a typo and not intended behaviour:
      {code}
      --- a/src/switch_core_media.c
      +++ b/src/switch_core_media.c
      @@ -7811,7 +7812,7 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess
              v_engine = &smh->engines[SWITCH_MEDIA_TYPE_VIDEO];
       
              if ((!a_engine->rtcp_mux && !v_engine->rtcp_mux) &&
      - (sdp_type == SDP_TYPE_REQUEST || switch_true(switch_channel_get_variable(session->channel, "rtcp_mux")))) {
      + (sdp_type == SDP_TYPE_REQUEST && switch_true(switch_channel_get_variable(session->channel, "rtcp_mux")))) {
                      a_engine->rtcp_mux = 1;
                      v_engine->rtcp_mux = 1;
              }
      {code}
      1. freeswitch.log.nortcpautoadjust
        95 kB
        Tristan Mahé
      2. freeswitch.log.rtcpautoadjust
        93 kB
        Tristan Mahé

        Activity

        Hide
        mikej Mike Jerris added a comment -
        if the real issue is auto-adjust not working we should fix that instead of making a workaround to disable something that should have nothing to do with the real problem.
        Show
        mikej Mike Jerris added a comment - if the real issue is auto-adjust not working we should fix that instead of making a workaround to disable something that should have nothing to do with the real problem.
        Hide
        gled Tristan Mahé added a comment -
        Totally agreed.

        I think though that it's still good to pass the pull request as rtcp_mux=false is not honored anyway ( rtcp-mux is always proposed ).

        I'll then continue investigating why this is causing issues, and will open a new Jira to track the root cause no ?
        Show
        gled Tristan Mahé added a comment - Totally agreed. I think though that it's still good to pass the pull request as rtcp_mux=false is not honored anyway ( rtcp-mux is always proposed ). I'll then continue investigating why this is causing issues, and will open a new Jira to track the root cause no ?
        Hide
        anthm Anthony Minessale II added a comment -
        rtcp_mux=false will now disable the offer of rtcp-mux on latest master
        The auto-adj was not working in the reported case because the other end was probably not even sending rtcp when it saw the offer of mux.


        Show
        anthm Anthony Minessale II added a comment - rtcp_mux=false will now disable the offer of rtcp-mux on latest master The auto-adj was not working in the reported case because the other end was probably not even sending rtcp when it saw the offer of mux.
        Hide
        mikej Mike Jerris added a comment -
        try out the latest patch pushed to master
        Show
        mikej Mike Jerris added a comment - try out the latest patch pushed to master
        Hide
        gled Tristan Mahé added a comment -
        You are right Anthony, Linphone was sending endless STUN requests instead of rtcp.

        The master @ 8e6d89733a3ff6e5775af963d48cbab62740d0bf is working as expected, thanks !
        Show
        gled Tristan Mahé added a comment - You are right Anthony, Linphone was sending endless STUN requests instead of rtcp. The master @ 8e6d89733a3ff6e5775af963d48cbab62740d0bf is working as expected, thanks !

          People

          • Assignee:
            mikej Mike Jerris
            Reporter:
            gled Tristan Mahé
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development