[libnice] Issue with ICE-TCP

Lorenzo Miniero lminiero at gmail.com
Fri Feb 6 02:53:27 PST 2015


Hi,

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.

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.

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:

https://groups.google.com/forum/#!topic/discuss-webrtc/JkHB3lyWMUQ

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:

https://tools.ietf.org/html/rfc6544#section-7.1

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.

Is there aything I need to set on the agent to get this working properly,
or is this indeed a bug in libnice?

Thanks!
Lorenzo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/nice/attachments/20150206/68449fe9/attachment.html>


More information about the nice mailing list