What is WebRTCDTLSServer.notifyHandshakeComplete?

Hi,

I am currently testing the playback webRTC in firefox and the playback is rarely successful like once in 10 times.
So I check the Wowza access logs and find this may make the playback success or a failure.

:When it is successful

WebRTCDTLSServer.notifySecureRenegotiation: true
WebRTCDTLSServer.notifyHandshakeComplete for session:
WebRTCDTLSHandlerThread.accept finish for session:

:When it is a failure

WebRTCDTLSServer.notifySecureRenegotiation: true
WebSocketSession.destroy76997429: source:client status:-1 description:Unknown

So I think the playback is a failure because the WebRTCDTLS handshake is a failure.
However, I can’t fix the problem by myself, so could you help me if possible?

I publish the stream from OBS and playback it in firefox.
I configured the Wowza config as

<IceCandidateIpAddresses>
	[wse-host-public-ip],tcp,1935|[wse-host-public-ip],udp
</IceCandidateIpAddresses>

When I playback it in chrome, it is always successful.
I don’t know why it is a failure when it comes to firefox.

I am going to ask you if you reviewed the ICE candidates for Firefox in our documentation:


It looks like you have UDP as an Ice candidate in addition to TCP? Firefox requires it. I would then check the ports.

UDP For WebRTC over UDP, Wowza Streaming Engine uses a default port range of 6970 to 9999. UDP ports are assigned dynamically, and each additional peer WebRTC connection increments the port number used. The starting port number is controlled by the DatagramStartingPort value specified in [ install-dir ]/conf/Server.xml .

Take a peek at this doc to see if you have the right ports for UDP and TCP @Yuichiro_Murata

**If not it may be the version of FF you are using or some firewalls giving you an issue for UDP.

troubleshooting tips:

  1. You can send in a ticket, but I would try and edit it to have UDP only as Ice candidate, get rid of TCP for a test only and see if you get it to work on FF.**. That way you can just test FF only with UDP and rule things out from there.

  2. Make sure you have Opus as the audio codec which WebRTC requires.

  3. Turn on the NACK feature

Resources:

In addition to the search bar above, you can always check our FAQ page as well for answers to your questions. You might be able to find your answer very quickly.

https://support.wowza.com/hc/en-us/articles/9326418531867-How-do-I-configure-or-edit-my-ICE-candidates-for-WebRTC-

If not, please send us a support ticket and we are happy to help you troubleshoot.

Let me know how it goes for you. Thanks!

Thank you for your reply!
I tried all tips you gave me but the result did not change.

wowza version 4.8.17+1
firefox version 106.0.1

I edited it to have UDP only as an Ice candidate now.
I can playback in chrome successfully and not in firefox.
Plus, I confirmed nothing wrong with the firewall.

I’ve sent several tickets about other problems so far, but I am afraid I have not gotten good answers from Wowza support these days.
So I asked differently at this time, and also I can get other people’s opinions in this way.

I appreciate your kind support.

Let me review your tickets and I appreciate you letting me know it’s still not working.

I’d send a support ticket anyways since we always have new engineers joining Wowza. They’re all very webrtc knowledgable when it comes to the FF webrtc library issues.

I suspect they’ll want to take a look if there’s a TURN setup here that we don’t support or some port forwarding issues.

  • At this time, full session traversal utilities for NAT (STUN) negotiation aren’t supported. Currently, Wowza Streaming Engine only supports traversal of symmetric NATs. A single STUN transport configuration (TCP or UDP) must be used. TURN servers are not supported at this time.