<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hello guys,</p>
    <p>    I'm facing a big trouble for several hours ago and need
      help.... I'm using Freeswitch v1.10.2 with webRTC successfully
      installed and running. On the user/webphone side, I'm using Chrome
      81.0.4044.138. Incoming and outgoing calls works fine with my
      webphone stack on my browsers (Firefox, Chrome). No warnings or
      errors at both sides.<br>
    </p>
    <p>    But when I do the following scenario with a webphone that can
      manage several calls at the same time (multi-line feature), it
      does not work :</p>
    <ol>
      <li>make a first call routed to a webrtc extension, answer it and
        keep it connected<br>
      </li>
      <li>make a second call routed to the same extension, do not answer
        and keep the first call connected<br>
      </li>
      <li>make a third call routed to the same extension and hold the
        first line to accept this new call=> when I try to answer
        this 3rd call, the call is always dropped<br>
      </li>
    </ol>
    <p>    After digging into logs, and packets captured with wireshark,
      I found that when the freeswitch try to exchange with the browser
      to negociate SRTP flow for the 3rd call, it use DTLS v1.0 protocol
      (instead of v1.2) :</p>
    <p><img src="cid:part1.DC462F86.887B9166@telemaque.fr" alt=""></p>
    <p>    Unfortunately, support for DTLS v1.0 seems to have been
      dropped on my webphone/browser side and the freeswitch fail on
      last DTLS exchange with this logs :</p>
    [INFO] switch_rtp.c:3736 Activate RTP/RTCP audio DTLS client<br>
    [INFO] switch_rtp.c:3903 Changing audio DTLS state from OFF to
    HANDSHAKE<br>
    [...]<br>
    [ERR] switch_rtp.c:3266 audio Handshake failure 1. This may happen
    when you use legacy DTLS v1.0 (legacyDTLS channel var is set) but
    endpoint requires DTLS v1.2.<br>
    <p><br>
    </p>
    <p>    On freeswitch side, I found only one option linked to the
      DTLS version (legacyDTLS, as written in logs) which I never set in
      my config. I checked my open ssl version on the freeswitch server
      (1.1.1d).<br>
    </p>
    <p>    The thing that is disturbing to me is that if I hold the
      first call and answer the second call, it works well. The issue
      occurs only for the third call and after a missed/refused call
      while still connected with first call in parallel.</p>
    <p>    Digging into freeswitch source, I found that it seems to use
      version-flexible DTLS methods of openssl (DTLS_server_method() and
      DTLS_client_method()) and I cannot see how to quicly and simply
      always force DTLS v1.2 ?<br>
    </p>
    <p>    Have any of you ever had this kind of problem or know how to
      solve it ?</p>
    <p>Regards,</p>
    <p>FX<br>
    </p>
  </body>
</html>