kurento

How to run kurento/openvidu docker on public server


I run on PUBLIC_IP kurento vs openvidu server on my VPS.

docker run -d -p 3333:3333 -e openvidu.secret=YOUR_SECRET -e openvidu.publicurl=https://PUBLIC_IP:3333 -e openvidu.cdr=true -e server.port=3333 -e KMS_STUN_IP=stun.l.google.com -e KMS_STUN_PORT=19302 -e KMS_TURN_URL=myuser:mypass@54.54.54.54:3478 openvidu/openvidu-server-kms:2.7.0

Looks like everything work but remote video is invisible on both side ...

Command for nodejs app is :

 node server.js PUBLIC_IP:3333 YOUR_SECRET

Console logs from browser application :

Remote ICE candidate received {candidate: "candidate:1 2 UDP 2013266430 172.17.0.2 6004 typ host", component: undefined, foundation: undefined, ip: undefined, port: undefined, …}
jsonrpcclient.js:146 Received request: {"method":"iceCandidate","params":{"endpointName":"puld42tsstkztcho","sdpMLineIndex":0,"sdpMid":"0","candidate":"candidate:2 2 TCP 1015021822 172.17.0.2 9 typ host tcptype active"}}
WebRtcPeer.ts:298 Remote ICE candidate received {candidate: "candidate:2 2 TCP 1015021822 172.17.0.2 9 typ host tcptype active", component: undefined, foundation: undefined, ip: undefined, port: undefined, …}
jsonrpcclient.js:146 Received request: {"method":"iceCandidate","params":{"endpointName":"puld42tsstkztcho","sdpMLineIndex":1,"sdpMid":"1","candidate":"candidate:2 2 TCP 1015021822 172.17.0.2 9 typ host tcptype active"}}
WebRtcPeer.ts:298 Remote ICE candidate received {candidate: "candidate:2 2 TCP 1015021822 172.17.0.2 9 typ host tcptype active", component: undefined, foundation: undefined, ip: undefined, port: undefined, …}
WebRtcStats.ts:86 WebRtc stats not enabled
2jsonrpcclient.js:183 Response: {"sessionId":"k0s2bv7dut5enqhsbn00o4hn6s"}
jsonrpcclient.js:146 Received request: {"method":"iceCandidate","params":{"endpointName":"puld42tsstkztcho","sdpMLineIndex":1,"sdpMid":"1","candidate":"candidate:3 2 TCP 1010827518 172.17.0.2 4295 typ host tcptype passive"}}
WebRtcPeer.ts:298 Remote ICE candidate received {candidate: "candidate:3 2 TCP 1010827518 172.17.0.2 4295 typ host tcptype passive", component: undefined, foundation: undefined, ip: undefined, port: undefined, …}
jsonrpcclient.js:146 Received request: {"method":"iceCandidate","params":{"endpointName":"puld42tsstkztcho","sdpMLineIndex":0,"sdpMid":"0","candidate":"candidate:3 2 TCP 1010827518 172.17.0.2 4295 typ host tcptype passive"}}
WebRtcPeer.ts:298 Remote ICE candidate received {candidate: "candidate:3 2 TCP 1010827518 172.17.0.2 4295 typ host tcptype passive", component: undefined, foundation: undefined, ip: undefined, port: undefined, …}
2jsonrpcclient.js:183 Response: {"sessionId":"k0s2bv7dut5enqhsbn00o4hn6s"}
StreamManager.ts:126 Your local 'Stream' with id [puld42tsstkztcho_CAMERA_XMVGR] video is now playing

Solution

  • You need to run OpenVidu in a host that has an available public IP address. This could be done directly, though a NAT configuration, etc.

    From the official documentation:

    99% of the time this is a problem related with OPENVIDU SERVER NOT HAVING A PUBLIC IP. To learn more about it, you can check this FAQ. The quickest solution to this problem is to deploy our ready-to-use OpenVidu Server in Amazon.