WebRTC connection failed due to DTLS error

Vladimir Tyutin vladimir.tyutin at gmail.com
Tue Dec 29 08:01:47 UTC 2020


Anton,
It's difficult to do on opponent side because there I have:
1. iOS application with webrtc
2. Android application with webrtc
3. JS application with webrtc

Can you advise how to check openssl there?
But all three applications worked well when I used gstreamer version 1.16.0
on my Linux camera device.
Once I updated gstreamer version to 1.18.2 on camera device something
broke.
So I'm pretty sure issue on camera side but I have no idea how to
understand this log with dtls error and what should I fix.

Moreover on my linux camera device I have gnutls and openssl. What is used
by dtls plugin? Is it openssl or gnutls?

Thanks,
Vladimir



On Tue, Dec 29, 2020 at 10:49 AM Anton Pryima <zingfrid at gmail.com> wrote:

> Hello Vladimir.
>
> Try to execute 'openssl version' at the both sides and provide output.
>
> Best regards,
> Anton.
>
> On Mon, Dec 28, 2020, 22:03 Vladimir Tyutin <vladimir.tyutin at gmail.com>
> wrote:
>
>> I still can't resolve the issue.
>> Can someone with dtls plugin experience analyze the log attached and tell
>> me what is wrong and how to fix it?
>>
>> DTLS plugin exists. Openssl is available on my camera device:
>> root at tina:~# openssl version
>> OpenSSL 1.1.0i  14 Aug 2018
>>
>> So why webrtc can't connect due to dtls issue?
>>
>> Same code was working on gstreamer version 1.16.0. The issue appeared
>> when I migrated to gstreamer version 1.18.2.
>>
>> I have also updated libnice to the latest version.
>>
>> Please help me.
>>
>> Thanks,
>> Vladimir
>>
>> On Thu, Dec 24, 2020 at 10:48 AM Vladimir Tyutin <
>> vladimir.tyutin at gmail.com> wrote:
>>
>>> Thanks Anton,
>>> Do you know if there any command in Linux to verify OpenSSL exists and
>>> running well?
>>> In my build for openwrt Linux OpenSSL is included.
>>>
>>> On 24 Dec 2020, at 10:25, Anton Pryima <zingfrid at gmail.com> wrote:
>>>
>>> 
>>> Hello Vladimir.
>>>
>>> According to both logs provided, I see an issue with OpenSSL. Please
>>> ensure that both ends have correct and working versions of OpenSSL.
>>>
>>> Best regards,
>>> Anton
>>>
>>> On Thu, Dec 24, 2020, 08:40 Vladimir Tyutin <vladimir.tyutin at gmail.com>
>>> wrote:
>>>
>>>> Hello everyone,
>>>> Can someone help me with issue below?
>>>> Please review the log from previous mail and suggest what is the issue
>>>> with dtls and how to fix it.
>>>>
>>>> Thanks,
>>>> Vladimir
>>>>
>>>> On 20 Dec 2020, at 09:53, Vladimir Tyutin <vladimir.tyutin at gmail.com>
>>>> wrote:
>>>>
>>>> 
>>>> Please find the log attached with dtls log level set to 7.
>>>> Please help me to understand what is wrong and why peer connection is
>>>> failing.
>>>>
>>>> Thanks,
>>>> Vladimir
>>>>
>>>> On Sun, Dec 20, 2020 at 8:56 AM Vladimir Tyutin <
>>>> vladimir.tyutin at gmail.com> wrote:
>>>>
>>>>> Hi Sean,
>>>>> Thanks for your reply. Could you please advise how better to collect
>>>>> DTLS pcaps?
>>>>> I can activate log for DTLS element like this:
>>>>> export GST_DEBUG=2,dtls*:7
>>>>> Is it enough?
>>>>>
>>>>> By the way I'm trying to get webrtc working between Lindenis V536
>>>>> camera and iOS app.
>>>>> They have already worked before together. On iOS side nothing is
>>>>> changed.
>>>>> in camera side I have migrated from gstreamer version 1.16.0 to
>>>>> version 1.18.2.
>>>>> So is there any changes in dtls side between these versions.
>>>>> Any suggesting how better to debug this issue I would appreciate.
>>>>>
>>>>> Thanks,
>>>>> Vladimir
>>>>>
>>>>> PS. I will share DTLS element logs once I collect it.
>>>>>
>>>>> On Sun, Dec 20, 2020 at 1:19 AM Sean DuBois <sean at siobud.com> wrote:
>>>>>
>>>>>> Hey Vladimir,
>>>>>>
>>>>>> Would you mind getting a pcap of your DTLS traffic? I assume you are
>>>>>> getting a Close because the clients are incompatible. These are the
>>>>>> big
>>>>>> ones I have seen with DTLS.
>>>>>>
>>>>>> * One side doesn't have use_srtp
>>>>>> * DTLS v1.0 and v1.2 mismatch
>>>>>> * One side requiring Extended Master Secret, other side not supporting
>>>>>> * .... lots of other crazy stuff :)
>>>>>>
>>>>>> thanks
>>>>>>
>>>>>> On Sat, Dec 19, 2020 at 04:54:58PM +0300, Vladimir Tyutin wrote:
>>>>>> > Please assist me to solve the issue below.
>>>>>> > I observe WebRTC peer connection can't be established.
>>>>>> > In log I see some errors related to dtls. Please help me understand
>>>>>> the log
>>>>>> > below and get the issue resolved:
>>>>>> >
>>>>>> > 0:01:21.644288173  1090  0x1b401b0 TRACE              webrtcbin
>>>>>> >
>>>>>> gst-plugins-bad-1.18.2/ext/webrtc/gstwebrtcbin.c:1073:_collate_peer_connection_states:<webrtc>
>>>>>> > transceiver 0x1ab0f08 DTLS state: 0x0
>>>>>> > 0:01:21.644405214  1090  0x1b401b0 TRACE              webrtcbin
>>>>>> >
>>>>>> gst-plugins-bad-1.18.2/ext/webrtc/gstwebrtcbin.c:1086:_collate_peer_connection_states:<webrtc>
>>>>>> > transceiver 0x1ab0f08 ICE state: 0x1
>>>>>> > 0:01:21.644569089  1090  0x1b401b0 TRACE              webrtcbin
>>>>>> >
>>>>>> gst-plugins-bad-1.18.2/ext/webrtc/gstwebrtcbin.c:1073:_collate_peer_connection_states:<webrtc>
>>>>>> > transceiver 0x1bed050 DTLS state: 0x3
>>>>>> > 0:01:21.644678631  1090  0x1b401b0 TRACE              webrtcbin
>>>>>> >
>>>>>> gst-plugins-bad-1.18.2/ext/webrtc/gstwebrtcbin.c:1086:_collate_peer_connection_states:<webrtc>
>>>>>> > transceiver 0x1bed050 ICE state: 0x2
>>>>>> > 0:01:21.644764381  1090  0x1b401b0 TRACE              webrtcbin
>>>>>> >
>>>>>> gst-plugins-bad-1.18.2/ext/webrtc/gstwebrtcbin.c:1131:_collate_peer_connection_states:<webrtc>
>>>>>> > ICE connection state: 0x6. DTLS connection state: 0x9
>>>>>> > 0:01:21.644837673  1090  0x1b401b0 FIXME              webrtcbin
>>>>>> >
>>>>>> gst-plugins-bad-1.18.2/ext/webrtc/gstwebrtcbin.c:1189:_collate_peer_connection_states:<webrtc>
>>>>>> > Undefined situation detected, returning old state
>>>>>> > 0:01:21.762102246  1090  0x1f1b7b0 WARN           dtlssrtpdemux
>>>>>> >
>>>>>> gst-plugins-bad-1.18.2/ext/dtls/gstdtlssrtpdemux.c:134:sink_chain:<dtlssrtpdemux2>
>>>>>> > received invalid buffer: 1
>>>>>> > 0:01:21.769914036  1090  0x1f1b7b0 ERROR         dtlsconnection
>>>>>> >
>>>>>> gst-plugins-bad-1.18.2/ext/dtls/gstdtlsconnection.c:985:handle_error:<GstDtlsConnection at 0x1da56f0
>>>>>> >
>>>>>> > Fatal SSL error
>>>>>> > 0:01:21.770157620  1090  0x1f1b7b0 ERROR         dtlsconnection
>>>>>> >
>>>>>> gst-plugins-bad-1.18.2/ext/dtls/gstdtlsconnection.c:968:ssl_err_cb:<GstDtlsConnection at 0x1da56f0
>>>>>> >
>>>>>> > ssl error:
>>>>>> > 2947169560:error:14102410:lib(20):func(258):reason(1040):NA:0:SSL
>>>>>> alert
>>>>>> > number 40
>>>>>> >
>>>>>> > 0:01:21.770551453  1090  0x1f1b7b0 ERROR                dtlsdec
>>>>>> >
>>>>>> gst-plugins-bad-1.18.2/ext/dtls/gstdtlsdec.c:502:process_buffer:<dtlsdec2>
>>>>>> > Error processing buffer: Fatal SSL error
>>>>>> > 0:01:21.770553453  1090  0x1b401b0 TRACE              webrtcbin
>>>>>> >
>>>>>> gst-plugins-bad-1.18.2/ext/webrtc/gstwebrtcbin.c:1073:_collate_peer_connection_states:<webrtc>
>>>>>> > transceiver 0x1ab0f08 DTLS state: 0x0
>>>>>> > 0:01:21.770745245  1090  0x1b401b0 TRACE              webrtcbin
>>>>>> >
>>>>>> gst-plugins-bad-1.18.2/ext/webrtc/gstwebrtcbin.c:1086:_collate_peer_connection_states:<webrtc>
>>>>>> > transceiver 0x1ab0f08 ICE state: 0x1
>>>>>> > 0:01:21.770861286  1090  0x1b401b0 TRACE              webrtcbin
>>>>>> >
>>>>>> gst-plugins-bad-1.18.2/ext/webrtc/gstwebrtcbin.c:1073:_collate_peer_connection_states:<webrtc>
>>>>>> > transceiver 0x1bed050 DTLS state: 0x2
>>>>>> > 0:01:21.770951120  1090  0x1b401b0 TRACE              webrtcbin
>>>>>> >
>>>>>> gst-plugins-bad-1.18.2/ext/webrtc/gstwebrtcbin.c:1086:_collate_peer_connection_states:<webrtc>
>>>>>> > transceiver 0x1bed050 ICE state: 0x2
>>>>>> > 0:01:21.771039203  1090  0x1b401b0 TRACE              webrtcbin
>>>>>> >
>>>>>> gst-plugins-bad-1.18.2/ext/webrtc/gstwebrtcbin.c:1131:_collate_peer_connection_states:<webrtc>
>>>>>> > ICE connection state: 0x6. DTLS connection state: 0x5
>>>>>> > 0:01:21.771119036  1090  0x1b401b0 TRACE              webrtcbin
>>>>>> >
>>>>>> gst-plugins-bad-1.18.2/ext/webrtc/gstwebrtcbin.c:1145:_collate_peer_connection_states:<webrtc>
>>>>>> > returning failed
>>>>>> > 0:01:21.771230036  1090  0x1b401b0 INFO               webrtcbin
>>>>>> >
>>>>>> gst-plugins-bad-1.18.2/ext/webrtc/gstwebrtcbin.c:1295:_update_peer_connection_state_task:<webrtc>
>>>>>> > Peer connection state change from connecting(1) to failed(4)
>>>>>> > [CAMERA_DEBUG] Peer connection state: failed
>>>>>> > 0:01:21.770664245  1090  0x1f1b7b0 WARN                 dtlsdec
>>>>>> >
>>>>>> gst-plugins-bad-1.18.2/ext/dtls/gstdtlsdec.c:503:process_buffer:<dtlsdec2>
>>>>>> > error: Fatal SSL error
>>>>>> > 0:01:21.772238245  1090  0x1f1b7b0 ERROR                dtlsdec
>>>>>> >
>>>>>> gst-plugins-bad-1.18.2/ext/dtls/gstdtlsdec.c:618:sink_chain:<dtlsdec2>
>>>>>> > Failed to process buffer: error
>>>>>> > 0:01:21.808121366  1090  0x1f1ba90 WARN                 basesrc
>>>>>> >
>>>>>> gstreamer-1.18.2/libs/gst/base/gstbasesrc.c:3127:gst_base_src_loop:<nicesrc2>
>>>>>> > error: Internal data stream error.
>>>>>> > 0:01:21.808266866  1090  0x1f1ba90 WARN                 basesrc
>>>>>> >
>>>>>> gstreamer-1.18.2/libs/gst/base/gstbasesrc.c:3127:gst_base_src_loop:<nicesrc2>
>>>>>> > error: streaming stopped, reason error (-5)
>>>>>> > 0:01:21.809681158  1090  0x1f1ba90 WARN                   queue
>>>>>> >
>>>>>> gstreamer-1.18.2/plugins/elements/gstqueue.c:990:gst_queue_handle_sink_event:<queue8>
>>>>>> > error: Internal data stream error.
>>>>>> > 0:01:21.809811158  1090  0x1f1ba90 WARN                   queue
>>>>>> >
>>>>>> gstreamer-1.18.2/plugins/elements/gstqueue.c:990:gst_queue_handle_sink_event:<queue8>
>>>>>> > error: streaming stopped, reason error (-5)
>>>>>>
>>>>>> > _______________________________________________
>>>>>> > gstreamer-devel mailing list
>>>>>> > gstreamer-devel at lists.freedesktop.org
>>>>>> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>>>
>>>>>> _______________________________________________
>>>>>> gstreamer-devel mailing list
>>>>>> gstreamer-devel at lists.freedesktop.org
>>>>>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>>>
>>>>> <log_v536.txt>
>>>>
>>>> _______________________________________________
>>>> gstreamer-devel mailing list
>>>> gstreamer-devel at lists.freedesktop.org
>>>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>
>>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20201229/2a691353/attachment-0001.htm>


More information about the gstreamer-devel mailing list