<div dir="ltr">Hi,<div><br></div><div>I recently integrated the ICE-TCP support that was added in libnice >= 0.1.8 in our WebRTC gateway. Unfortunately, this didn't work as expected. The connection (TCP) is correctly negotiated and established, and the state switches to ready in libnice, but data is not exchanged with the browser.</div><div><br></div><div>To be more specific, data is indeed flowing: Chrome sends connectivity checks over the TCP connection and libnice answers, but the DTLS handshake that is originated by my gateway is ignored by the browser.</div><div><br></div><div>I notified this on discuss-webrtc, the group where WebRTC-related discussions on Chrome happen, and it turns out it's probably a bug in libnice:</div><div><br></div><div><a href="https://groups.google.com/forum/#!topic/discuss-webrtc/JkHB3lyWMUQ">https://groups.google.com/forum/#!topic/discuss-webrtc/JkHB3lyWMUQ</a><br></div><div><br></div><div>More precisely, libnice is not generating any CC when the TCP connection is established as it should even in the ICE-TCP case, but is only responding to those Chrome sends:</div><div><br></div><div><a href="https://tools.ietf.org/html/rfc6544#section-7.1">https://tools.ietf.org/html/rfc6544#section-7.1</a><br></div><div><br></div><div>As such, while for libnice everything is ready to be used, it's not for Chrome as it still expects CCs from my gateway. I already verified that the behaviour is the same on libnice 0.1.10 as well. The post I provided includes a Wireshark dump of a sample communication where this happens and a couple of additional txt files with info from both my gateway and Chrome, in case it may be useful.</div><div><br></div><div>Is there aything I need to set on the agent to get this working properly, or is this indeed a bug in libnice?</div><div><br></div><div>Thanks!</div><div>Lorenzo</div></div>