The issues and some solutions I've run into when setting up a remote Kurento Media Server (KMS)

629 views
Skip to first unread message

br...@popinvideobanking.com

unread,
Aug 15, 2018, 5:07:34 PM8/15/18
to kurento
Just a quick note before we get started here. I have removed all references to IP addresses, usernames, passwords and even some ports in the post for security reasons so if you see something that says "hostname" or "ipaddress" then this is why. 

The installation of the server was pretty simple. I did it manually as I wanted to use my own stun and turn servers instead of the coturn stuff on their AWS template.
My server is installed on AWS but I won't be able to answer many questions about that process as my IT guy set up the server and installed everything for me. Follow these 
instructions to install - Installation Documentation.

One thing to note is that if you run this command: 

sudo netstat -tupan | grep kurento

and you don't see anything come back then check your logs to make sure that the KMS started correctly. Now onto other issues and solutions...

The first issue was this: 

kurento-client.js:54826 WebSocket connection to 'wss://hostname:8433/kurento' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
ws
@ kurento-client.js:54826
index
.js:70 reconnect to server 0 100 undefined
kurento
-client.js:54826 WebSocket connection to 'wss://hostname:8433/kurento' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
ws
@ kurento-client.js:54826
WebsocketStream @ kurento-client.js:54716
WebsocketStream @ kurento-client.js:54699
(anonymous) @ kurento-client.js:47551
attempt
@ kurento-client.js:47455
EventEmitter.emit @ kurento-client.js:19730
Backoff.onBackoff_ @ kurento-client.js:4307
index
.js:70 reconnect to server 1 100 undefined

I found that this issue can be caused by many things. The first of which is that you don't have the correct port open on the KMS 8433.

The biggest thing that caused me issues is not knowing how to combine the .crt .csr .key files into a .pem if your certificate authority doesn't provide you with one. With
help from my IT guy we figure out that the KMS REQUIRES the .pem file to be formatted like this: 

chainfile + cert file + key file = my_cert.pem

If this step isn't done correctly then you may get errors like this in your logs: 

Error while setting up tls use_private_key_file: no start line
Error while setting up tls use_private_key_file: key values mismatch

Also see Kurento Websocket Connection Failed for some more information about Kurento and certificates.

Also be sure to see Kurento Securing Apps Documentation for securing client side applications. If you are using the JavaScript client like I am then
make sure that it is being run as HTTPS otherwise WebRTC doesn't like to work properly. 

Once you have made sure the port is open and your .pem file is assembled correctly; another reason you can get this error is if the KMS does not have permissions to either the folder that the .pem file is in or if it doesn't have permissions to the .pem file itself. So make sure that wherever you put your .pem cert file that you give the KMS permissions to access that file. 

This is what your kurento.conf.json file should look like if you are setting it up on a remote server:

{
 
"mediaServer" : {
   
"resources": {
   
//  //Resources usage limit for raising an exception when an object creation is attempted
   
//  "exceptionLimit": "0.8",
   
//  // Resources usage limit for restarting the server when no objects are alive
   
//  "killLimit": "0.7",
       
// Garbage collector period in seconds
       
"garbageCollectorPeriod": 240
   
},
   
"net" : {
     
"websocket": {
       
"port": 8888,
       
"secure": {
         
"port": 8433,
         
"certificate": "my_cert.pem",
         
"password": ""
       
},
       
//"registrar": {
       
//  "address": "ws://localhost:9090",
       
//  "localAddress": "localhost"
       
//},
       
"path": "kurento",
       
"threads": 10
     
}
   
}
 
}
}

One of the biggest things that helped me determine some of these issues was looking at the log files. They are located at /var/log/kurento-media-server. Just be weary that
that when you are looking at the logs if you restart your KMS that it will generate an ENTIRELY new log file so if you end up restarting the service and you aren't getting any logs
then that is why. 

I hope this helps others out as I have literally spent 2 days weeding through the internet and log files trying to understand why the Tutorials wouldn't connect to a remote media server.
I still haven't gotten the tutorial to fully work with a remote KMS and external Stun and Turn Servers. The logs tell me the loopback connects but nothing shows up. 

I have my WebRtcEndpoint.conf.ini configured like this: 

; Only IP address are supported, not domain names for addresses
; You have to find a valid stun server. You can check if it works
; usin this tool:
;   http://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
stunServerAddress
=<stun server ip>
stunServerPort
=<stun port>


; turnURL gives the necessary info to configure TURN for WebRTC.
;    'address' must be an IP (not a domain).
;    'transport' is optional (UDP by default).
turnURL
=username:password@turnip:turnport


;pemCertificate is deprecated. Please use pemCertificateRSA instead
;pemCertificate=<path>
;pemCertificateRSA=<path>
;pemCertificateECDSA=<path>


These are the logs I am getting from the KMS when I click start on a tutorial:

2018-08-15 19:59:08,837679 15806 [0x00007ff78f653700]    info KurentoWebRtcEndpointImpl WebRtcEndpointImpl.cpp:96 remove_not_supported_codecs_from_array() <kmswebrtcendpoint6>  Removing not supported codec 'AMR/8000'
2018-08-15 19:59:08,837950 15806 [0x00007ff78f653700]    info KurentoWebRtcEndpointImpl WebRtcEndpointImpl.cpp:471 WebRtcEndpointImpl()  Using STUN reflexive server IP: serverip
2018-08-15 19:59:08,838036 15806 [0x00007ff78f653700]    info KurentoWebRtcEndpointImpl WebRtcEndpointImpl.cpp:472 WebRtcEndpointImpl()  Using STUN reflexive server Port: serverport
2018-08-15 19:59:08,838197 15806 [0x00007ff78f653700]    info KurentoWebRtcEndpointImpl WebRtcEndpointImpl.cpp:489 WebRtcEndpointImpl()  Using TURN relay server: <user:password>@serverip:serverport
2018-08-15 19:59:08,838409 15806 [0x00007ff78f653700]    info kmswebrtcsession          kmswebrtcsession.c:1634 kms_webrtc_session_parse_turn_url() <kmswebrtcsession6>  TURN server info set: <user:password>@serverip:serverport
2018-08-15 19:59:08,950938 15806 [0x00007ff790655700]    info kmssdpsession             kmssdpsession.c:95 kms_sdp_session_process_offer() <kmswebrtcsession6>  Process SDP Offer:
v
=0
o
=- 7064599366522010702 2 IN IP4 127.0.0.1
s
=-
t
=0 0
a
=group:BUNDLE audio video
a
=msid-semantic: WMS xiDN3lqXPy4vKjNB7UPYZsiGBLL3vJUxFT9A
m
=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126
c
=IN IP4 0.0.0.0
a
=rtcp:9 IN IP4 0.0.0.0
a
=ice-ufrag:L1nu
a
=ice-pwd:OKu10AaEC7F+x+59vfDfjQO8
a
=ice-options:trickle
a
=fingerprint:sha-256 5A:32:A9:23:DC:14:19:E9:84:A1:48:84:4C:D2:10:E4:F5:8B:6F:72:6A:2F:3C:53:EC:9C:B7:E3:C7:8E:F3:2C
a
=setup:actpass
a
=mid:audio
a
=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a
=sendrecv
a
=rtcp-mux
a
=rtpmap:111 opus/48000/2
a
=rtcp-fb:111 transport-cc
a
=fmtp:111 minptime=10;useinbandfec=1
a
=rtpmap:103 ISAC/16000
a
=rtpmap:104 ISAC/32000
a
=rtpmap:9 G722/8000
a
=rtpmap:0 PCMU/8000
a
=rtpmap:8 PCMA/8000
a
=rtpmap:106 CN/32000
a
=rtpmap:105 CN/16000
a
=rtpmap:13 CN/8000
a
=rtpmap:110 telephone-event/48000
a
=rtpmap:112 telephone-event/32000
a
=rtpmap:113 telephone-event/16000
a
=rtpmap:126 telephone-event/8000
a
=ssrc:1769010459 cname:P/eJsN7u7geKb5DW
a
=ssrc:1769010459 msid:xiDN3lqXPy4vKjNB7UPYZsiGBLL3vJUxFT9A bd4e771b-a288-49d5-b93c-ab19dd9fd988
a
=ssrc:1769010459 mslabel:xiDN3lqXPy4vKjNB7UPYZsiGBLL3vJUxFT9A
a
=ssrc:1769010459 label:bd4e771b-a288-49d5-b93c-ab19dd9fd988
m
=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 123 127 122 125 107 108 109 124
c
=IN IP4 0.0.0.0
a
=rtcp:9 IN IP4 0.0.0.0
a
=ice-ufrag:L1nu
a
=ice-pwd:OKu10AaEC7F+x+59vfDfjQO8
a
=ice-options:trickle
a
=fingerprint:sha-256 5A:32:A9:23:DC:14:19:E9:84:A1:48:84:4C:D2:10:E4:F5:8B:6F:72:6A:2F:3C:53:EC:9C:B7:E3:C7:8E:F3:2C
a
=setup:actpass
a
=mid:video
a
=extmap:2 urn:ietf:params:rtp-hdrext:toffset
a
=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a
=extmap:4 urn:3gpp:video-orientation
a
=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a
=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a
=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a
=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a
=sendrecv
a
=rtcp-mux
a
=rtcp-rsize
a
=rtpmap:96 VP8/90000
a
=rtcp-fb:96 goog-remb
a
=rtcp-fb:96 transport-cc
a
=rtcp-fb:96 ccm fir
a
=rtcp-fb:96 nack
a
=rtcp-fb:96 nack pli
a
=rtpmap:97 rtx/90000
a
=fmtp:97 apt=96
a
=rtpmap:98 VP9/90000
a
=rtcp-fb:98 goog-remb
a
=rtcp-fb:98 transport-cc
a
=rtcp-fb:98 ccm fir
a
=rtcp-fb:98 nack
a
=rtcp-fb:98 nack pli
a
=rtpmap:99 rtx/90000
a
=fmtp:99 apt=98
a
=rtpmap:100 H264/90000
a
=rtcp-fb:100 goog-remb
a
=rtcp-fb:100 transport-cc
a
=rtcp-fb:100 ccm fir
a
=rtcp-fb:100 nack
a
=rtcp-fb:100 nack pli
a
=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a
=rtpmap:101 rtx/90000
a
=fmtp:101 apt=100
a
=rtpmap:102 H264/90000
a
=rtcp-fb:102 goog-remb
a
=rtcp-fb:102 transport-cc
a
=rtcp-fb:102 ccm fir
a
=rtcp-fb:102 nack
a
=rtcp-fb:102 nack pli
a
=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a
=rtpmap:123 rtx/90000
a
=fmtp:123 apt=102
a
=rtpmap:127 H264/90000
a
=rtcp-fb:127 goog-remb
a
=rtcp-fb:127 transport-cc
a
=rtcp-fb:127 ccm fir
a
=rtcp-fb:127 nack
a
=rtcp-fb:127 nack pli
a
=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d0032
a
=rtpmap:122 rtx/90000
a
=fmtp:122 apt=127
a
=rtpmap:125 H264/90000
a
=rtcp-fb:125 goog-remb
a
=rtcp-fb:125 transport-cc
a
=rtcp-fb:125 ccm fir
a
=rtcp-fb:125 nack
a
=rtcp-fb:125 nack pli
a
=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640032
a
=rtpmap:107 rtx/90000
a
=fmtp:107 apt=125
a
=rtpmap:108 red/90000
a
=rtpmap:109 rtx/90000
a
=fmtp:109 apt=108
a
=rtpmap:124 ulpfec/90000
a
=ssrc-group:FID 1710170717 1941884012
a
=ssrc:1710170717 cname:P/eJsN7u7geKb5DW
a
=ssrc:1710170717 msid:xiDN3lqXPy4vKjNB7UPYZsiGBLL3vJUxFT9A 2b7d314f-cc25-4481-9262-eae7a581069f
a
=ssrc:1710170717 mslabel:xiDN3lqXPy4vKjNB7UPYZsiGBLL3vJUxFT9A
a
=ssrc:1710170717 label:2b7d314f-cc25-4481-9262-eae7a581069f
a
=ssrc:1941884012 cname:P/eJsN7u7geKb5DW
a
=ssrc:1941884012 msid:xiDN3lqXPy4vKjNB7UPYZsiGBLL3vJUxFT9A 2b7d314f-cc25-4481-9262-eae7a581069f
a
=ssrc:1941884012 mslabel:xiDN3lqXPy4vKjNB7UPYZsiGBLL3vJUxFT9A
a
=ssrc:1941884012 label:2b7d314f-cc25-4481-9262-eae7a581069f


2018-08-15 19:59:08,954192 15806 [0x00007ff790655700]    info kmssdpsession             kmssdpsession.c:140 kms_sdp_session_process_offer() <kmswebrtcsession6>  Generated SDP Answer:
v
=0
o
=- 3743351948 3743351948 IN IP4 0.0.0.0
s
=Kurento Media Server
c
=IN IP4 0.0.0.0
t
=0 0
a
=msid-semantic: WMS xiDN3lqXPy4vKjNB7UPYZsiGBLL3vJUxFT9A
a
=group:BUNDLE audio video
m
=audio 1 UDP/TLS/RTP/SAVPF 111 0
a
=mid:audio
a
=rtcp:9 IN IP4 0.0.0.0
a
=rtpmap:111 opus/48000/2
a
=rtpmap:0 PCMU/8000
a
=setup:active
a
=sendrecv
a
=rtcp-mux
a
=fmtp:111 minptime=10;useinbandfec=1
a
=ssrc:3377228478 cname:user2007628001@host-fc1909d3
a
=ice-ufrag:rQQg
a
=ice-pwd:nMrSNzNDhWm+Yd/c2o/E3e
a
=fingerprint:sha-256 D5:0F:47:54:6A:B1:9F:B3:43:35:58:8A:DF:01:1B:49:CF:D4:28:50:FC:95:98:C3:A7:3B:96:D3:95:1D:EB:E5
m
=video 1 UDP/TLS/RTP/SAVPF 96 100 102 127 125
a
=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a
=mid:video
a
=rtcp:9 IN IP4 0.0.0.0
a
=rtpmap:96 VP8/90000
a
=rtpmap:100 H264/90000
a
=rtpmap:102 H264/90000
a
=rtpmap:127 H264/90000
a
=rtpmap:125 H264/90000
a
=rtcp-fb:96 goog-remb
a
=rtcp-fb:96 ccm fir
a
=rtcp-fb:96 nack
a
=rtcp-fb:96 nack pli
a
=rtcp-fb:100 goog-remb
a
=rtcp-fb:100 ccm fir
a
=rtcp-fb:100 nack
a
=rtcp-fb:100 nack pli
a
=rtcp-fb:102 goog-remb
a
=rtcp-fb:102 ccm fir
a
=rtcp-fb:102 nack
a
=rtcp-fb:102 nack pli
a
=rtcp-fb:127 goog-remb
a
=rtcp-fb:127 ccm fir
a
=rtcp-fb:127 nack
a
=rtcp-fb:127 nack pli
a
=rtcp-fb:125 goog-remb
a
=rtcp-fb:125 ccm fir
a
=rtcp-fb:125 nack
a
=rtcp-fb:125 nack pli
a
=setup:active
a
=sendrecv
a
=rtcp-mux
a
=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a
=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a
=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d0032
a
=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640032
a
=ssrc:162234442 cname:user2007628001@host-fc1909d3
a
=ice-ufrag:rQQg
a
=ice-pwd:nMrSNzNDhWm+Yd/c2o/E3e
a
=fingerprint:sha-256 D5:0F:47:54:6A:B1:9F:B3:43:35:58:8A:DF:01:1B:49:CF:D4:28:50:FC:95:98:C3:A7:3B:96:D3:95:1D:EB:E5


2018-08-15 19:59:08,956772 15806 [0x00007ff76ef7b700]   fixme basesink                  gstbasesink.c:3125 gst_base_sink_default_event() <nicesink6>  stream-start event without group-id. Consider implementing group-id handling in the upstream elements
2018-08-15 19:59:08,957978 15806 [0x00007ff790655700]    info kmswebrtcsession          kmswebrtcsession.c:1529 kms_webrtc_session_start_transport_send() <kmswebrtcsession6>  Started transport for media: audio, index: 0
2018-08-15 19:59:08,958090 15806 [0x00007ff790655700]    info kmswebrtcsession          kmswebrtcsession.c:1529 kms_webrtc_session_start_transport_send() <kmswebrtcsession6>  Started transport for media: video, index: 1
2018-08-15 19:59:08,959663 15806 [0x00007ff76cd73700]   fixme default                   gstutils.c:3766 gst_pad_create_stream_id_internal() <nicesrc6:src>  Creating random stream-id, consider implementing a deterministic way of creating a stream-id
2018-08-15 19:59:09,022216 15806 [0x00007ff792e5a700]    info kmswebrtcsession          kmswebrtcsession.c:795 kms_webrtc_session_gather_candidates() <kmswebrtcsession6>  Gather candidate


These are the logs from the Javascript tutorial for recording: 

Use freeice
index
.js:70 spec:   {"audio":true,"video":{"optional":[{"minWidth":640},{"maxWidth":640},{"minFramerate":15},{"maxFramerate":15}]}}
index
.js:70 chrome: {"audio":true,"video":{"optional":[{"minWidth":640},{"maxWidth":640},{"minFramerate":15},{"maxFramerate":15}]}}
index
.js:70 Local candidate: RTCIceCandidate {candidate: "candidate:1686852530 1 udp 2122260223 ipaddress …605 typ host generation 0 ufrag euJC network-id 1", sdpMid: "audio", sdpMLineIndex: 0}candidate: "candidate:1686852530 1 udp 2122260223 ipaddress 54605 typ host generation 0 ufrag euJC network-id 1"sdpMLineIndex: 0sdpMid: "audio"__proto__: RTCIceCandidate
index
.js:70 Local candidate: RTCIceCandidate {candidate: "candidate:1686852530 1 udp 2122260223 ipaddress …606 typ host generation 0 ufrag euJC network-id 1", sdpMid: "video", sdpMLineIndex: 1}
index
.js:70 Local candidate: RTCIceCandidate {candidate: "candidate:705212226 1 tcp 1518280447 ipaddress 9…ptype active generation 0 ufrag euJC network-id 1", sdpMid: "audio", sdpMLineIndex: 0}
index
.js:70 Local candidate: RTCIceCandidate {candidate: "candidate:705212226 1 tcp 1518280447 ipaddress 9…ptype active generation 0 ufrag euJC network-id 1", sdpMid: "video", sdpMLineIndex: 1}
index
.js:70 Local candidate: RTCIceCandidate {candidate: "candidate:3453279335 1 udp 1686052607 ipaddress… rport 54606 generation 0 ufrag euJC network-id 1", sdpMid: "video", sdpMLineIndex: 1}
index
.js:70 Local candidate: RTCIceCandidate {candidate: "candidate:3453279335 1 udp 1686052607 ipaddress… rport 54605 generation 0 ufrag euJC network-id 1", sdpMid: "audio", sdpMLineIndex: 0}
index
.js:70 Loopback established
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:1 1 UDP 2013266431 fe80::8d:dcff:fed5:9c 39523 typ host", sdpMLineIndex: 0, sdpMid: "audio"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:1 1 UDP 2013266431 fe80::8d:dcff:fed5:9c 39523 typ host", sdpMLineIndex: 1, sdpMid: "video"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:2 1 TCP 1019217151 fe80::8d:dcff:fed5:9c 9 typ host tcptype active", sdpMLineIndex: 0, sdpMid: "audio"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:2 1 TCP 1019217151 fe80::8d:dcff:fed5:9c 9 typ host tcptype active", sdpMLineIndex: 1, sdpMid: "video"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:3 1 TCP 1015022847 fe80::8d:dcff:fed5:9c 34128 typ host tcptype passive", sdpMLineIndex: 0, sdpMid: "audio"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:3 1 TCP 1015022847 fe80::8d:dcff:fed5:9c 34128 typ host tcptype passive", sdpMLineIndex: 1, sdpMid: "video"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:4 1 UDP 2013266431 ipaddress 13537 typ host", sdpMLineIndex: 0, sdpMid: "audio"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:4 1 UDP 2013266431 ipaddress 13537 typ host", sdpMLineIndex: 1, sdpMid: "video"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:5 1 TCP 1019216383 ipaddress 9 typ host tcptype active", sdpMLineIndex: 0, sdpMid: "audio"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:5 1 TCP 1019216383 ipaddress 9 typ host tcptype active", sdpMLineIndex: 1, sdpMid: "video"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:6 1 TCP 1015022079 ipaddress 65138 typ host tcptype passive", sdpMLineIndex: 0, sdpMid: "audio"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:6 1 TCP 1015022079 ipaddress 65138 typ host tcptype passive", sdpMLineIndex: 1, sdpMid: "video"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:1 2 UDP 2013266430 fe80::8d:dcff:fed5:9c 38783 typ host", sdpMLineIndex: 0, sdpMid: "audio"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:1 2 UDP 2013266430 fe80::8d:dcff:fed5:9c 38783 typ host", sdpMLineIndex: 1, sdpMid: "video"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:2 2 TCP 1019217150 fe80::8d:dcff:fed5:9c 9 typ host tcptype active", sdpMLineIndex: 0, sdpMid: "audio"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:2 2 TCP 1019217150 fe80::8d:dcff:fed5:9c 9 typ host tcptype active", sdpMLineIndex: 1, sdpMid: "video"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:3 2 TCP 1015022846 fe80::8d:dcff:fed5:9c 9033 typ host tcptype passive", sdpMLineIndex: 0, sdpMid: "audio"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:3 2 TCP 1015022846 fe80::8d:dcff:fed5:9c 9033 typ host tcptype passive", sdpMLineIndex: 1, sdpMid: "video"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:4 2 UDP 2013266430 ipaddress 58790 typ host", sdpMLineIndex: 0, sdpMid: "audio"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:4 2 UDP 2013266430 ipaddress 58790 typ host", sdpMLineIndex: 1, sdpMid: "video"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:5 2 TCP 1019216382 ipaddress 9 typ host tcptype active", sdpMLineIndex: 0, sdpMid: "audio"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:5 2 TCP 1019216382 ipaddress 9 typ host tcptype active", sdpMLineIndex: 1, sdpMid: "video"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:6 2 TCP 1015022078 ipaddress 39269 typ host tcptype passive", sdpMLineIndex: 0, sdpMid: "audio"}
index
.js:70 Remote candidate: {__module__: "kurento", __type__: "IceCandidate", candidate: "candidate:6 2 TCP 1015022078 ipaddress 39269 typ host tcptype passive", sdpMLineIndex: 1, sdpMid: "video"}


As you see it shows that Loopback has been established but all I get is a continuous loading screen for the "Remote Stream"
I'm going to keep working through this and hopefully I can get this to work. If anyone has any suggestions on how to fix this last issue that would be extremely welcome. I hope that
all of my other information can help others struggling with the same situations I have been. 

br...@popinvideobanking.com

unread,
Aug 15, 2018, 5:42:03 PM8/15/18
to kurento
Also when I run these commands this is what I get back. I assume this is correct? it looks almost identical to the documentation. 

ps -ef | grep kurento-media-server

kurento  
16437     1  0 21:37 ?        00:00:00 /usr/bin/kurento-media-server
root    
16453  4582  0 21:37 pts/2    00:00:00 grep --color=auto kurento-media-server


sudo netstat
-tupan | grep kurento

tcp6      
0      0 :::8433                 :::*                    LISTEN      16437/kurento-media
tcp6      
0      0 :::8888                 :::*                    LISTEN      16437/kurento-media


Reply all
Reply to author
Forward
0 new messages