[Freeswitch-users] DTLS ICE and WebRTC using Freeswitch 1.6

Jon Lederman jonlederman at gmail.com
Sun May 31 16:56:00 MSD 2015


Hi,

We are having trouble getting WebRTC working with 1.6.  I have tracked the problem down to the do_dtls function in switch_rtp.c (shown partially below).  Two things we have noticed:

1) It appears that ice.ready and ice.ready are always 0.  
2) DTLS negotiation never completes the handshake.

Does ice have to be operative in order for dtls negotiation to proceed or the other way around?  What should I look for, which may prevent the ice setup and/or dtls handshake.  
We are running on google cloud.  Are there networking/NAT issues running on cloud servers that might interfere with either ICE or DTLS?

Thanks in advance.

-Jon


static int do_dtls(switch_rtp_t *rtp_session, switch_dtls_t *dtls)
{
	int r = 0, ret = 0, len;
	switch_size_t bytes;
	unsigned char buf[4096] = "";
	int ready = rtp_session->ice.ice_user ? (rtp_session->ice.rready && rtp_session->ice.ready) : 1;
	


	if (!dtls->bytes && !ready) {
		//switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(rtp_session->session), SWITCH_LOG_ALERT, "Ice not ready");
		return 0;
	}

…






Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list