Hello guys,
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.
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 :
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) :
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 :
[INFO] switch_rtp.c:3736 Activate RTP/RTCP audio DTLS client
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).
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.
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 ?
Have any of you ever had this kind of problem or know how to solve it ?
Regards,
FX