Intel® Collaboration Suite for WebRTC
Community support and discussions on the Intel® Collaboration Suite for WebRTC (Intel® CS for WebRTC).

Test Intel MCU example

dennis_n_
Beginner
804 Views

Hello
I installed the MCU server v2.1.1 on a public Internet server. Now I try to test the sample that comes with the version.

When I start the example I get in the browser console an error message "timeout".

Any idea?

TURN server is required ?

I am using Firefox 38 to test the sample.
Attached, I send an image from my browser.

Thanks for your help

0 Kudos
8 Replies
Chunbo_H_Intel1
Employee
804 Views

So, what I get now is that you have a MCU server on public network, which makes sense. But how do you connect to the server? Via client device on public network as well, or some clients behind NAT/Firewall?

0 Kudos
dennis_n_
Beginner
804 Views

Hello

I think that I'm on a public network. I'm using a public Vodafone network. My IP is 2.202.X.X. Also, I review the following web sites 

https://www.whatismyip.com/es/

and my public IP address matches my IP address.

Now I'm only testing the technology
In the future I want to make an application in which users might be behind a NAT.

TURN server is required ? How I can configure TURN server? I can not find information in the MCU server User Guide.

Attached, I share my log file.

Thanks for your help.

0 Kudos
Farrukh_M_
Beginner
804 Views

We are using rfc5766 free open source TURN server. Please goto this link and you will find in the left column, how to setup TURN for webrtc.

https://code.google.com/p/rfc5766-turn-server/

Regards

 

0 Kudos
dennis_n_
Beginner
804 Views

Hello Farrukh and CHUNBO

Thanks for your time

Today I followed the instructions in the link and I could install the TURN server rfc5766-turn-server version 3.2.5.7 on the same server where I have installed the MCU server.

The TURN server works well. I tested using the tool "turnutils_uclient".

Then I made the following changes to the woogeen_config file to configure the TURN server.

config.erizoController.turnServer.url = 'turn:X.X.X.X:3478?transport=udp'; // default value: null
config.erizoController.turnServer.username = 'username'; // default value: null
config.erizoController.turnServer.password = 'password'; // default value: null

Then, I tested the example that comes in the Intel MCU server but I get the same error in the browser console "timeout".

Also, I tested changing the example code that comes with the Intel MCU server. I added the following line of code in the file Script2.js

conference.setIceServers([{url: "turn:X.X.X.X:3478?transport=udp",username: "username",credential: "password"}]);

When I test the example, I get the same error in the browser console "timeout".

My questions are now:

Can I configure the intel MCU server to work with TURN server.?
How can I configure the basic example to work with TURN server.?

Thanks for your help.

0 Kudos
Farrukh_M_
Beginner
804 Views

check your router logs to see if all required ports are open to your MCU server.  Can you run the following command on MCU server

netstat -an | grep LISTEN

paste the result.

Also try using ?tcp instead of udp as sometimes its blocked.

Regards

0 Kudos
Farrukh_M_
Beginner
804 Views

Below are the required steps to install TURN server:

1) Install turn server as mentioned in below URL

http://blog.knoldus.com/2013/10/24/configure-turn-server-for-webrtc-on-amazon-ec2/

Once it is installed, and ports are open, don't do step 4 and 6 on his blog. Follow below directions

2) create a cert/key using openssl command. I copied it in /usr/local/etc but you can use choose any folder where turn server has PATH mentioned.

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mysitename.key -out mysitename.crt

3) Copy paste below to a "turnserver.conf" and place it under "/usr/local/etc/

#
tls-listening-port=443
#Internal Amazon Private IP 
listening-ip=172.31.X.X
#Internal Amazon Private IP, same as above

relay-ip=172.31.X.X
#External / Elastic IP from Amazon
external-ip=52.24.X.X
lt-cred-mech
#User:Password
user=User1:Password1
#Enable FingerPrinting
fingerprint
realm=ec2-52-X-X-X.us-west-2.compute.amazonaws.com
cert=/usr/local/etc/cert.crt
pkey=/usr/local/etc/key.key

4) Start the server using --> nohup turnserver  &

5) Start /bin/restart-all.sh

Hope it helps....

0 Kudos
Chunbo_H_Intel1
Employee
804 Views

Q: Can I configure the intel MCU server to work with TURN server.?

A: Sure, look into woogeen_config.js file:

config.erizoController.turnServer = {}; // default value: undefined
config.erizoController.turnServer.url = 'turn:X.X.X.X:4478?transport=tcp'; // default value: null
config.erizoController.turnServer.username = 'you'; // default value: null
config.erizoController.turnServer.password = 'master'; // default value: null

Q: How can I configure the basic example to work with TURN server.?

A: Yes, ConferenceClient has API as following:

 conference.setIceServers([{
                url: "turn:X.X.X.X:4478?transport=tcp",
                credential: "master",
                username: "you"
            }, {
                url: "turn:X.X.X.X:443?transport=tcp",
                credential: "master",
                username: "you"
            }]);

0 Kudos
yongtao_x_
Beginner
804 Views

大家好: V3.3 已经找不到 woogeen_config.js  ,该怎么去配置  TURN server 呢,谢谢

0 Kudos
Reply