<div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">Dear All,<br><br>Recently I sent a mail to the list as follows,<br><a href="https://mail.google.com/mail/u/0/#search/libnice/157e2552c238622e">https://mail.google.com/mail/u/0/#search/libnice/157e2552c238622e</a><br>and reported an issue based on Olivier's suggestion.<br><a href="https://phabricator.freedesktop.org/T7600">https://phabricator.freedesktop.org/T7600</a><br><br>I have done quite a bit of analysis to find out how things work with<br>different versions of libnice and these are my finding.<br><br><br>Application used:<br>================<br>Modified simple_example code to reproduce the issue with the<br>following change<br><br>1) Using nice_agent_add_local_address() only the specified<br>local interface is chosen.  This is used because I could only<br>include eth0 IP address and filter out eth1 IP address.<br><br>2) Updated print_local_data() so that I could print a combination<br>of host/srflx/relay candidates. That way only candidates I am<br>interested in are getting printed and I need to only copy/paste<br>them to the peer.<br><br><br>Setup Used:<br>==========<br>1) Using two separate Internet connection from two separate ISPs,<br>connected a normal home WiFi router in each of them.<br>These routers have Port Restricted Cone NAT<br><br>2) Two Debian PCs connected to each of these routers using their eth0<br>interface.<br><br>3) One of these PCs have a second ethernet eth1 which is connected<br>to the other network.  I could filter out this interace using<br>nice_agent_add_local_address() as given above.<br>This way I could ssh/copy/paste between these two PCs easily.<br><br>4) I am mainly interested in using the srflx candidates generated<br>in each peers.<br><br><br>Main Finding:<br>============<br>1) I went from 0.1.13-15-ga2e25cf to 0.1.13-155-g2803a0b<br>(tip of the master branch), did a kind of binary search between<br>these two versions.  Found that until 0.1.13-85-g0a6c779<br>it was fine and between 0.1.13-86-g1ab9d7c and 0.1.13-131-gdc1e1b7<br>it was getting connected but one way data and from 0.1.13-132-g71f7ed3<br>to 0.1.13-155-g2803a0b, it was not getting connected at all properly.<br><br>2) That was the example application.  For my actual<br>application I reverted back to libnice 0.1.13-15-ga2e25cf<br>and audio/video are working now across different networks.<br><br>3) These finding are only when I used/forced srflx candidates between<br>the peers.  If I forced to use host and relay candidates, there<br>were no problems in any of these versions.<br><br><br>Observation Summary:<br>===================<br><br>0.1.13-155-g2803a0b<br>to<br>0.1.13-132-g71f7ed3<br>Normally the command prompt is supposed to be seen after copy/paste<br>of candidates list between each client.<br>But *no* command prompt is seen in these.<br>Looks like ICE connection was not successful.<br><br>0.1.13-131-gdc1e1b7<br>to<br>0.1.13-86-g1ab9d7c<br>Command prompt appears after getting connected as ICE gets connected.<br>Only controlling(master) could send to controlled(slave)<br>but not in the opposite direction.<br><br>0.1.13-85-g0a6c779<br>to<br>0.1.13-15-ga2e25cf<br>worked, tried many times to confirm it.<br><br>Thanks and Regards<br><br>Anand<br><br><br></div></div>