How do I configure or edit my ICE candidates for WebRTC?

Q: How do I add or edit my ICE candidates in the Wowza Streaming Engine?

A: Steps in Engine Manager

Under ICE Candidate Setup, specify the network connections over which WebRTC communication can occur by clicking Add ICE Candidate and completing the following steps:

  • Select either UDP(recommended) or TCP as the ICE candidate transport protocol.
  • Change the IP address to the publicly accessible Wowza Streaming Engine server IP address.
  • For TCP candidates, you must specify a port to use for WebRTC streaming. The default streaming port for Wowza Streaming Engine is 1935. For UDP candidates, the port is dynamically assigned.        

Screen_Shot_2022-10-03_at_4.01.58_PM.png

  • Click OK to save your ICE Candidate.
  • If needed, add additional ICE Candidates, and adjust their preferred order using the Priority up and down arrows.

Notes:

  • Firefox requires UDP. TCP is not supported.
  • If you use UDP ICE candidates, enabling NACK messages is recommended to allow for the retransmission of lost packets. See the optional RTP properties in Configure custom WebRTC properties for information about how to enable NACK.
  • At this time, full session traversal utilities for NAT (STUN) negotiation aren't supported. Currently, Wowza Streaming Engine only supports the traversal of symmetric NATs. A single STUN transport configuration (TCP or UDP) must be used. TURN servers are not supported at this time.

       
As described above, adjust the order of the ICE candidates by using the Priority up and down arrows. The ICE candidate listed at the top of the table is considered the preferred candidate and will be used first.

To delete an ICE candidate, click the Delete icon for the ICE candidate.

B: Steps in Engine XML

Under ICE Candidate Setup, specify the network connections over which WebRTC communication can occur by clicking Add ICE Candidate and completing the following steps:

  • Navigate to[install-dir]/conf/and openVHost.xml in a text editor.
  • Locate the<HostPort>container for the port you configured for SSL/TLS and add the following<HTTPProvider>as the second-to-last entry in the<HTTPProviders>container element. The new HTTP provider must be the second-to-last provider in the section.
<HTTPProvider><BaseClass>com.wowza.wms.webrtc.http.HTTPWebRTCExchangeSessionInfo</BaseClass><RequestFilters>*webrtc-session.json</RequestFilters><AuthenticationMethod>none</AuthenticationMethod></HTTPProvider>

Once you've added the HTTP provider as instructed:

  1. Save your changes to VHost.xml.
  2. Restart the Wowza Streaming Engine

Note: The 443 host port with SSL/TLS is commented out by default in VHost.xml.

When you're ready to stream over WebRTC:

Comment it back in: Remove the lines <!-- 443 with SSL -->,<!--, and-->from around the <HostPort>container.


Please see this article for more information on how to set up WebRTC with Streaming Engine.