{"version":"1.0","provider_name":"Advancing WebRTC","provider_url":"https:\/\/blog.mozilla.org\/webrtc","author_name":"Nils Ohlmeier","author_url":"https:\/\/blog.mozilla.org\/webrtc\/author\/nohlmeiermozilla-com\/","title":"Active ICE TCP to punch through firewalls directly - Advancing WebRTC","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"wMCL7NnTku\"><a href=\"https:\/\/blog.mozilla.org\/webrtc\/active-ice-tcp-punch-firewalls-directly\/\">Active ICE TCP to punch through firewalls directly<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/blog.mozilla.org\/webrtc\/active-ice-tcp-punch-firewalls-directly\/embed\/#?secret=wMCL7NnTku\" width=\"600\" height=\"338\" title=\"&#8220;Active ICE TCP to punch through firewalls directly&#8221; &#8212; Advancing WebRTC\" data-secret=\"wMCL7NnTku\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script type=\"text\/javascript\">\n\/*! This file is auto-generated *\/\n!function(c,d){\"use strict\";var e=!1,o=!1;if(d.querySelector)if(c.addEventListener)e=!0;if(c.wp=c.wp||{},c.wp.receiveEmbedMessage);else if(c.wp.receiveEmbedMessage=function(e){var t=e.data;if(!t);else if(!(t.secret||t.message||t.value));else if(\/[^a-zA-Z0-9]\/.test(t.secret));else{for(var r,s,a,i=d.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),n=d.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),o=new RegExp(\"^https?:$\",\"i\"),l=0;l<n.length;l++)n[l].style.display=\"none\";for(l=0;l<i.length;l++)if(r=i[l],e.source!==r.contentWindow);else{if(r.removeAttribute(\"style\"),\"height\"===t.message){if(1e3<(s=parseInt(t.value,10)))s=1e3;else if(~~s<200)s=200;r.height=s}if(\"link\"===t.message)if(s=d.createElement(\"a\"),a=d.createElement(\"a\"),s.href=r.getAttribute(\"src\"),a.href=t.value,!o.test(a.protocol));else if(a.host===s.host)if(d.activeElement===r)c.top.location.href=t.value}}},e)c.addEventListener(\"message\",c.wp.receiveEmbedMessage,!1),d.addEventListener(\"DOMContentLoaded\",t,!1),c.addEventListener(\"load\",t,!1);function t(){if(o);else{o=!0;for(var e,t,r,s=-1!==navigator.appVersion.indexOf(\"MSIE 10\"),a=!!navigator.userAgent.match(\/Trident.*rv:11\\.\/),i=d.querySelectorAll(\"iframe.wp-embedded-content\"),n=0;n<i.length;n++){if(!(r=(t=i[n]).getAttribute(\"data-secret\")))r=Math.random().toString(36).substr(2,10),t.src+=\"#?secret=\"+r,t.setAttribute(\"data-secret\",r);if(s||a)(e=t.cloneNode(!0)).removeAttribute(\"security\"),t.parentNode.replaceChild(e,t);t.contentWindow.postMessage({message:\"ready\",secret:r},\"*\")}}}}(window,document);\n<\/script>\n","description":"With the landing of bug 1335939 in Firefox 54 we will finally turn on active ICE TCP connections by default. Does ICE TCP matter for me? In essence it means that Firefox will try opening ICE connections over TCP towards any other ICE endpoint which provides ICE TCP candidates where it is listening for incoming [&hellip;]","thumbnail_url":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/41\/Iceberg_with_hole_near_Sandersons_Hope_2007-07-28_2.jpg"}