Thanks,
I checked Janus Admin API and observed that the ICE is getting stuck in “gathering” state as shown below
{
"session_id": 2595743632001303,
"session_last_activity": 62094640,
"session_timeout": 60,
"session_transport": "janus.transport.websockets",
"handle_id": 5310534419879396,
"loop-running": true,
"created": 55768198,
"current_time": 65002369,
"plugin": "janus.plugin.videoroom",
"plugin_specific": {
"type": "publisher",
"room": 1234,
"id": 625948603437396,
"private_id": 390262477,
"display": "WHIP Publisher 1234",
"bitrate": 128000,
"streams": [
{
"type": "video",
"mindex": 0,
"mid": "video0",
"codec": "vp8",
"subscribers": 0
}
],
"hangingup": 0,
"destroyed": 0
},
"flags": {
"got-offer": true,
"got-answer": true,
"negotiated": true,
"processing-offer": false,
"starting": true,
"ice-restart": false,
"ready": false,
"stopped": false,
"alert": false,
"trickle": true,
"all-trickles": false,
"resend-trickles": false,
"trickle-synced": false,
"data-channels": false,
"has-audio": false,
"has-video": false,
"new-datachan-sdp": false,
"rfc4588-rtx": false,
"cleaning": false,
"e2ee": false
},
"agent-created": 55769470,
"ice-mode": "full",
"ice-role": "controlled",
"sdps": {
"profile": "UDP/TLS/RTP/SAVPF",
"local": "v=0\r\no=- 1741716668172512 1 IN IP4 43.205.37.213\r\ns=VideoRoom 1234\r\nt=0 0\r\na=group:BUNDLE video0\r\na=ice-options:trickle\r\na=fingerprint:sha-256 07:DD:CE:A8:00:80:87:68:79:C1:32:44:E3:F0:F4:2E:0B:ED:D0:1F:3F:7D:79:0D:9B:14:9F:CA:4D:95:3D:E8\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS *\r\nm=video 9 UDP/TLS/RTP/SAVPF 96\r\nc=IN IP4 43.205.37.213\r\na=recvonly\r\na=mid:video0\r\na=rtcp-mux\r\na=ice-ufrag:yoUe\r\na=ice-pwd:Ewz+eaRYoRRRSNTeeMOKjs\r\na=ice-options:trickle\r\na=setup:active\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=msid:janus janusvideo0\r\na=ssrc:2875964579 cname:janus\r\na=candidate:1 1 udp 2015363327 43.205.37.213 12683 typ host\r\na=candidate:2 1 udp 2015363583 43.205.37.213 12626 typ host\r\na=candidate:3 1 udp 2015363839 fe80::2e:a7ff:fedd:4466 18079 typ host\r\na=candidate:4 1 udp 2015364095 fe80::42:60ff:fe8d:6007 18524 typ host\r\na=candidate:5 1 udp 2015364863 fe80::6cf5:f2ff:fe9e:71ec 17967 typ host\r\na=candidate:6 1 udp 2015364863 fe80::702d:2bff:fe6b:ffd6 16553 typ host\r\na=candidate:7 1 udp 2015364863 fe80::d0c6:71ff:fe40:660a 10971 typ host\r\na=candidate:8 1 udp 2015364863 fe80::3c67:adff:fe1d:e046 15765 typ host\r\na=candidate:9 1 udp 2015364863 fe80::ecdf:a6ff:fe0d:9aca 18195 typ host\r\na=candidate:10 1 udp 2015364863 fe80::2c3c:66ff:fe7b:3402 19536 typ host\r\na=candidate:11 1 udp 2015364863 fe80::84ba:51ff:fe42:c84 11169 typ host\r\na=candidate:12 1 udp 2015364863 fe80::14:91ff:fe6b:ca59 17056 typ host\r\na=candidate:13 1 udp 2015364863 fe80::48dd:f2ff:fe4f:35e7 18496 typ host\r\na=candidate:14 1 udp 2015364863 fe80::d07d:54ff:fe68:e594 12743 typ host\r\na=candidate:15 1 udp 1679819007 43.205.37.213 12683 typ srflx raddr 172.20.18.221 rport 12683\r\na=candidate:16 1 udp 505413887 172.20.18.219 53531 typ relay raddr 172.20.18.221 rport 12683\r\na=end-of-candidates\r\n",
"remote": "v=0\r\no=- 531297780117488175 0 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=ice-options:trickle\r\nm=video 9 UDP/TLS/RTP/SAVPF 96\r\nc=IN IP4 0.0.0.0\r\na=setup:actpass\r\na=ice-ufrag:Mv3bCAdmjvqNzvEKbUCkmpIfWcTM2nmS\r\na=ice-pwd:Uqd2/6LrmYg1Zj+fYjmpa8q0xOgXHFTW\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=sendonly\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 nack pli\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 transport-cc\r\na=framerate:30\r\na=ssrc:2 msid:user1435754667@host-c0e16fac webrtctransceiver0\r\na=ssrc:2 cname:user1435754667@host-c0e16fac\r\na=mid:video0\r\na=fingerprint:sha-256 75:2C:4F:52:3B:64:A0:E8:F9:98:3A:A1:5E:30:65:FE:47:1D:A4:2D:E9:02:FA:DD:03:91:F9:EA:65:67:4A:59\r\na=rtcp-mux-only\r\n"
},
"queued-packets": 0,
"webrtc": {
"ice": {
"stream_id": 1,
"component_id": 0,
"state": "gathering",
"gathered": 57921764,
"local-candidates": [
"1 1 udp 2015363327 43.205.37.213 12683 typ host",
"2 1 udp 2015363583 43.205.37.213 12626 typ host",
"3 1 udp 2015363839 fe80::2e:a7ff:fedd:4466 18079 typ host",
"4 1 udp 2015364095 fe80::42:60ff:fe8d:6007 18524 typ host",
"5 1 udp 2015364863 fe80::6cf5:f2ff:fe9e:71ec 17967 typ host",
"6 1 udp 2015364863 fe80::702d:2bff:fe6b:ffd6 16553 typ host",
"7 1 udp 2015364863 fe80::d0c6:71ff:fe40:660a 10971 typ host",
"8 1 udp 2015364863 fe80::3c67:adff:fe1d:e046 15765 typ host",
"9 1 udp 2015364863 fe80::ecdf:a6ff:fe0d:9aca 18195 typ host",
"10 1 udp 2015364863 fe80::2c3c:66ff:fe7b:3402 19536 typ host",
"11 1 udp 2015364863 fe80::84ba:51ff:fe42:c84 11169 typ host",
"12 1 udp 2015364863 fe80::14:91ff:fe6b:ca59 17056 typ host",
"13 1 udp 2015364863 fe80::48dd:f2ff:fe4f:35e7 18496 typ host",
"14 1 udp 2015364863 fe80::d07d:54ff:fe68:e594 12743 typ host",
"15 1 udp 1679819007 43.205.37.213 12683 typ srflx raddr 172.20.18.221 rport 12683",
"16 1 udp 505413887 172.20.18.219 53531 typ relay raddr 172.20.18.221 rport 12683"
],
"ready": 1
},
"dtls": {
"fingerprint": "07:DD:CE:A8:00:80:87:68:79:C1:32:44:E3:F0:F4:2E:0B:ED:D0:1F:3F:7D:79:0D:9B:14:9F:CA:4D:95:3D:E8",
"remote-fingerprint": "75:2C:4F:52:3B:64:A0:E8:F9:98:3A:A1:5E:30:65:FE:47:1D:A4:2D:E9:02:FA:DD:03:91:F9:EA:65:67:4A:59",
"remote-fingerprint-hash": "sha-256",
"dtls-role": "active",
"dtls-state": "created",
"retransmissions": 0,
"valid": false,
"srtp-profile": "none",
"ready": false,
"sctp-association": false,
"stats": {
"in": {
"packets": 0,
"bytes": 0
},
"out": {
"packets": 0,
"bytes": 0
}
}
},
"extensions": {},
"bwe": {
"twcc": false,
"twcc-ext-id": 0
},
"media": {
"video0": {
"type": "video",
"mindex": 0,
"mid": "video0",
"do_nacks": true,
"nack-queue-ms": 0,
"ssrc": {
"ssrc": 2875964579,
"ssrc-peer": 2
},
"direction": {
"send": false,
"recv": true
},
"rtcp": {
"main": {
"base": 90000,
"rtt": 0,
"lost": 0,
"lost-by-remote": 0,
"jitter-local": 0,
"jitter-remote": 0,
"in-link-quality": 100,
"in-media-link-quality": 100,
"out-link-quality": 100,
"out-media-link-quality": 100
}
},
"stats": {
"in": {
"packets": 0,
"bytes": 0,
"bytes_lastsec": 0,
"nacks": 0,
"retransmissions": 0
},
"out": {
"packets": 0,
"bytes": 0,
"bytes_lastsec": 0,
"nacks": 0
}
}
}
}
}
}
Here is log from the WHIP client
[WHIP] Initializing the GStreamer pipeline:
webrtcbin name=sendonly bundle-policy=0 ice-transport-policy=relay stun-server=stun://stun.l.google.com:19302 videotestsrc is-live=true pattern=ball ! videoconvert ! queue ! vp8enc deadline=1 ! rtpvp8pay pt=96 ssrc=2 ! queue ! application/x-rtp,media=video,encoding-name=VP8,payload=96 ! sendonly.
[WHIP] Configured jitter-buffer size (latency) for PeerConnection to 200ms
[WHIP] Starting the GStreamer pipeline
[WHIP] Creating offer
[WHIP] Offer created
[WHIP] Setting local description
[WHIP] Sending SDP offer (645 bytes)
[WHIP] Resource URL: https://whipserver.mydomain.com:7080/whip/resource/xMsTG1DTUJZxVLyU
[WHIP] Received SDP answer (1872 bytes)
[WHIP] Setting remote description
[WHIP] ICE gathering started...
[WHIP] ICE connecting...
[WHIP] PeerConnection connecting...
[WHIP] ICE gathering completed
[WHIP] [ERR] [src/whip-client.c:whip_ice_connection_state:642] ICE failed
[WHIP] Disconnecting from server (ICE failed)
[WHIP] [ERR] [src/whip-client.c:whip_connection_state:588] PeerConnection failed
[WHIP] GStreamer pipeline stopped
Though its understood TURN on server side is not required for EC2 installation but I have tried that too out of desperation.
Tried switching between trickle modes and ice modes no luck yet
PS :Things are working just fine when I try to use video room from browser. I am getting this issue when I try to use the examples from the WHIP client README.