I have the same issue. I am trying to connect an RtpEndpoint to a WebRtcEndpoint. Their status is "CONNECTED" while the media status is NOT.
My signalling code works like this:
1) Create a pipeline
2) Create an RtpEndpoint
3) Create an WebRtcEndpoint
4) webrtcEndpoint.on( 'IceCandidateFound' ... => send candidates to the browser client.
5) RtpEndpoint.connect(WebRtcEndpoint ...
6) RtpEndpoint.processOffer(...
7) WebRtcEndpoint.generateOffer( ...
8) Process the offer in the browser client and send an answer.
9) WebRtcEndpoint.processAnswer( ...
10) WebRtcEndpoint.gatherCandidates( ...
The input for the RtpEndpoint is the following:
`gst-launch-1.0 -v v4l2src videotestsrc ! queue ! videorate ! videoconvert ! videoscale ! video/x-raw,width=640,height=480,framerate=30/1 ! x264enc tune=zerolatency ! rtph264pay pt=96 ! udpsink host=<server port> port=<some port>`
I can receive it with gstreamer on the the target machine/server with:
`gst-launch-1.0 udpsrc port=<port as above> ! application/x-rtp,framerate=30/1 ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink`
I am using NodeJS as a signaling server. Kurento is run inside a Docker container with Stun/Turn configured (I've tried a standalone installation too).
The output I get from the signaling server is:
`==> Signalling server started on https://localhost:8443/cam
==> Socket connection created.
Connection null closed
==> Socket connection created.
==> ID: webrtcStart
==> Stream negotiation start.
==> Rtp: CONNECTED
==> ID: webrtcAnswer
==> ID: webrtcIceCandidate
Sending candidate
==> ID: webrtcIceCandidate
Sending candidate
==> MediaSessionStarted
==> IceComponentStateChange: GATHERING
==> IceComponentStateChange: GATHERING
==> IceComponentStateChange: CONNECTED
==> IceComponentStateChange: READY
==> IceComponentStateChange: CONNECTING
==> IceComponentStateChange: CONNECTED
==> WebRTC: CONNECTED
==> IceComponentStateChange: READY
==> Media: DISCONNECTED
==> WebRTC: CONNECTED
==> IceComponentStateChange: CONNECTED
==> IceGatheringDone
==> IceComponentStateChange: READY
==> WebRTC: CONNECTED`
In the browser (Firefox and Chrome) I get something like:
This appears to be <browser> adapter.js:34:5
==> Signaling: A web socket has opened. main.js:116:7
==> Signaling: A WebRTC procedure has started. main.js:90:5
==> ID: sdpOffer main.js:113:5
==> Signaling: An SDP answer is being sent. main.js:67:5
==> ID: iceCandidate main.js:113:5
Remote ICE candidate received Object { candidate: "candidate:2 2 TCP 1019217150 fe80::…", sdpMid: "video0", sdpMLineIndex: 1, __module__: "kurento", __type__: "IceCandidate" } kurento-utils.js:251:9
==> ID: iceCandidate main.js:113:5
Remote ICE candidate received Object { candidate: "candidate:3 2 TCP 1015022846 fe80::…", sdpMid: "audio0", sdpMLineIndex: 0, __module__: "kurento", __type__: "IceCandidate" } kurento-utils.js:251:9
...