Insert title here

Case Studies

Bringing your idea to life and in front of billions of eyes

WebRTC issue: Error 1007: ICE negotiation failed
Learning Management Solutions (K Praveen)

I'm writing this to help those who still not figured out how to resolve this issue.
You need to perform one extra step when the server is behind NAT(network address translation).
You need to configure Kurento to use stun server, which you can get from the link kurento documentation,
you need to edit /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini and uncomment and assign values for stunServerAddress and stunServerPort.

For example, to use the STUN server at with port 19302, edit the lines with stunServerAddress and stunServerPort as follows:


Next, this is very important

edit /opt/freeswitch/conf/sip_profiles/external.xml and ensure the value for wss-binding uses the external IP address

<param name="wss-binding" value="EXTERNAL_IP_ADDRESS:7443"/>
At this point, restart your BigBlueButton server with bbb-conf --restart, then try connecting to the WebRTC media again.

If the issue stile not resolved then edit the following files and substitute EXTERNAL_IP_ADDRESS for the external IP address (not the external hostname).

Edit /opt/freeswitch/conf/vars.xml, and
change <X-PRE-PROCESS cmd="set" data=""/>
To <X-PRE-PROCESS cmd="set" data="external_rtp_ip=EXTERNAL_IP_ADDRESS"/>

Change <X-PRE-PROCESS cmd="set" data=""/>
To <X-PRE-PROCESS cmd="set" data="external_sip_ip=EXTERNAL_IP_ADDRESS"/>

Next, edit /opt/freeswitch/conf/sip_profiles/external.xml and change
<param name="ext-rtp-ip" value="$${local_ip_v4}"/>
<param name="ext-sip-ip" value="$${local_ip_v4}"/>
<param name="ext-rtp-ip" value="$${external_rtp_ip}"/>
<param name="ext-sip-ip" value="$${external_sip_ip}"/>

Next, edit /usr/share/red5/webapps/sip/WEB-INF/, and make sure the values of and freeswitch.ip have the internal IP address.<internal_ip>


Edit /etc/bigbluebutton/nginx/sip.nginx to connect to the external IP address.

If you have configured SSL, use port 7443:

location /ws {
        proxy_pass https://EXTERNAL_IP_ADDRESS:7443;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_read_timeout 6h;
        proxy_send_timeout 6h;
        client_body_timeout 6h;
        send_timeout 6h;

If enableListenOnly is set to true in /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml, as in

$ grep enableListenOnly /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml
    enableListenOnly: true

edit /usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml change the value to ip to match the external IP address of the server, and the value of sip_ip to match the internal IP address of the server (where FreeSWITCH is listening to port 5066). For example, if the servers external IP address is and the internal IP address is then edit default.yml and change the values for ip and sip_ip as follows:

    port: 5066

After making the above changes, restart BigBlueButton.

$ bbb-conf --restart


external ip->public ip

internal ip->private ip


please check it your firewall settings too

ICE negotiation failure means that a UDP connection couldn't be set up. There are a couple of different causes and they mostly lead to an improper configuration. The three most common causes are:
1. Both the client and server are under NAT
2. The server is behind a firewall that is rejecting UDP packets
3. The client is behind a firewall that is rejecting UDP packets

As a server administrator, you can only really control the first two. For problem 1, if your server is behind NAT "you need to forward UDP ports 16384 - 32768". For problem 2, you need to allow UDP packets through your firewall.


Add Comment     See All Comments
pineapple dress reformation 1940s satin dress how to knit a baby hat with 2 straight needles jack vineyard vines nfl shirts cap sleeve work dress real madrid kit in dream league 2019 het-nus
nike kobe 9 low graunike tiempo nero legacyair jordan 1 hvit and greyair jordan 30 university bleu redskins t shirt walmart for cheaplem barney jersey for cheapchelsea shirt 2009 for cheapgrimaldi rocco 22 jersey for cheap super bowl 51 shirt for cheap monster energy hats free shipping xfinity 4k suspender dress plus size air max 90 flyknit grey noirnike zoom hyperfuse todas negronike for kids gold pink shoesyellow onitsuka tiger bruce lee het-nus
2022 nfl alternate helmetsmichael jordan washington jerseycole caufield jersey adidassalute to service hoodie dolphins atelier versace 2015 boots sketchers womens sneakers rosalie leather slingback sandalslouboutin high top trainerschristian louboutin slingbackbottom of heels red new christian louboutin shoes miami heat fitted hats new era lyricslos angeles angels halo hat gamestexas rangers oakley hat repairtexas rangers smu hat 50 spacesmacks
nike womens air max excee shoes youth nike new orleans saints 21 patrick robinson limited white nfl jersey sale midnight blue jordans noir adidas gazelle rosso and grigio cefashion
air max 2012nike air force 1 black grey blue shoesnemeziz adidasnike tiempo legend vi grey white shoes burberry white long sleeve poloone shoulder t shirt dressyoga graphic teesnorth face gilets aesthetic overall dress oakland athletics fitted hats fresh ivory satin bridesmaid dresses coach legacy large wristletmk blue crossbodymichael kors ew tz totemichael kors nomad large tote bag hairulafiz

Tech Divinity cloud enable faster performance