Created
January 10, 2019 18:04
-
-
Save silmood/898b29ad3442dbbbf2ea9d61ef4f87bb to your computer and use it in GitHub Desktop.
Janus ICE Failed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Candidate sent! janus.js:1320:4 | |
| Object { janus: "ack", session_id: 1924096615761089, transaction: "xgP56XgEwpQW" } | |
| janus.js:1321:4 | |
| Candidate sent! janus.js:1320:4 | |
| Object { janus: "ack", session_id: 1924096615761089, transaction: "uXKT36AzQujs" } | |
| janus.js:1321:4 | |
| Candidate sent! janus.js:1320:4 | |
| Object { janus: "ack", session_id: 1924096615761089, transaction: "jo4O3JTNXQUc" } | |
| janus.js:1321:4 | |
| Message sent! janus.js:1254:4 | |
| Object { janus: "ack", session_id: 1924096615761089, transaction: "Wr8mo1q67I38" } | |
| janus.js:1255:4 | |
| Candidate sent! janus.js:1320:4 | |
| Object { janus: "ack", session_id: 1924096615761089, transaction: "AeVGHmoeAMsJ" } | |
| janus.js:1321:4 | |
| Candidate sent! janus.js:1320:4 | |
| Object { janus: "ack", session_id: 1924096615761089, transaction: "sb9QzCycNo0x" } | |
| janus.js:1321:4 | |
| Candidate sent! janus.js:1320:4 | |
| Object { janus: "ack", session_id: 1924096615761089, transaction: "pvLQsWDvc8eD" } | |
| janus.js:1321:4 | |
| Candidate sent! janus.js:1320:4 | |
| Object { janus: "ack", session_id: 1924096615761089, transaction: "GaNH0Y8gPZA9" } | |
| janus.js:1321:4 | |
| Got a plugin event on session 1924096615761089 janus.js:678:3 | |
| Object { janus: "event", session_id: 1924096615761089, transaction: "Wr8mo1q67I38", sender: 947973474655564, plugindata: {…}, jsep: {…} } | |
| janus.js:679:3 | |
| -- Event is coming from 947973474655564 (janus.plugin.videoroom) janus.js:690:3 | |
| Object { videoroom: "event", room: 1234, configured: "ok", audio_codec: "opus" } | |
| janus.js:692:3 | |
| Handling SDP as well... janus.js:700:4 | |
| Object { type: "answer", sdp: "v=0\r\no=mozilla...THIS_IS_SDPARTA-64.0 1547143260063346 1 IN IP4 18.214.37.149\r\ns=VideoRoom 1234\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=msid-semantic: WMS janus\r\nm=audio 9 UDP/TLS/RTP/SAVPF 109\r\nc=IN IP4 18.214.37.149\r\na=recvonly\r\na=mid:0\r\na=rtcp-mux\r\na=ice-ufrag:OK8l\r\na=ice-pwd:Mj7yGrpX7gfKt7s5lUIfje\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D2:B9:31:8F:DF:24:D8:0E:ED:D2:EF:25:9E:AF:6F:B8:34:AE:53:9C:E6:F3:8F:F2:64:15:FA:E8:7F:53:2D:38\r\na=setup:active\r\na=rtpmap:109 opus/48000/2\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=candidate:1 1 udp 2013266431 18.214.37.149 48437 typ host\r\na=candidate:2 1 udp 1677722111 18.214.37.149 48437 typ srflx raddr 10.2.0.167 rport 48437\r\na=candidate:3 1 udp 167772671 10.2.0.167 50132 typ relay raddr 10.2.0.167 rport 48437\r\na=end-of-candidates\r\nm=video 9 UDP/TLS/RTP/SAVPF 120\r\nc=IN IP4 18.214.37.149\r\na=inactive\r\na=mid:1\r\na=rtcp-mux\r\na=ice-ufrag:OK8l\r\na=ice-pwd:Mj7yGrpX7gfKt7s5lUIfje\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D2:B9:31:8F:DF:24:D8:0E:ED:D2:EF:25:9E:AF:6F:B8:34:AE:53:9C:E6:F3:8F:F2:64:15:FA:E8:7F:53:2D:38\r\na=setup:active\r\na=rtpmap:120 VP8/90000\r\na=rtcp-fb:120 ccm fir\r\na=rtcp-fb:120 nack\r\na=rtcp-fb:120 nack pli\r\na=rtcp-fb:120 goog-remb\r\na=rtcp-fb:120 transport-cc\r\na=candidate:1 1 udp 2013266431 18.214.37.149 48437 typ host\r\na=candidate:2 1 udp 1677722111 18.214.37.149 48437 typ srflx raddr 10.2.0.167 rport 48437\r\na=candidate:3 1 udp 167772671 10.2.0.167 50132 typ relay raddr 10.2.0.167 rport 48437\r\na=end-of-candidates\r\n" } | |
| janus.js:701:4 | |
| Notifying application... janus.js:705:4 | |
| Handling SDP as well... streaming.js:256:6 | |
| Object { type: "answer", sdp: "v=0\r\no=mozilla...THIS_IS_SDPARTA-64.0 1547143260063346 1 IN IP4 18.214.37.149\r\ns=VideoRoom 1234\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=msid-semantic: WMS janus\r\nm=audio 9 UDP/TLS/RTP/SAVPF 109\r\nc=IN IP4 18.214.37.149\r\na=recvonly\r\na=mid:0\r\na=rtcp-mux\r\na=ice-ufrag:OK8l\r\na=ice-pwd:Mj7yGrpX7gfKt7s5lUIfje\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D2:B9:31:8F:DF:24:D8:0E:ED:D2:EF:25:9E:AF:6F:B8:34:AE:53:9C:E6:F3:8F:F2:64:15:FA:E8:7F:53:2D:38\r\na=setup:active\r\na=rtpmap:109 opus/48000/2\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=candidate:1 1 udp 2013266431 18.214.37.149 48437 typ host\r\na=candidate:2 1 udp 1677722111 18.214.37.149 48437 typ srflx raddr 10.2.0.167 rport 48437\r\na=candidate:3 1 udp 167772671 10.2.0.167 50132 typ relay raddr 10.2.0.167 rport 48437\r\na=end-of-candidates\r\nm=video 9 UDP/TLS/RTP/SAVPF 120\r\nc=IN IP4 18.214.37.149\r\na=inactive\r\na=mid:1\r\na=rtcp-mux\r\na=ice-ufrag:OK8l\r\na=ice-pwd:Mj7yGrpX7gfKt7s5lUIfje\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D2:B9:31:8F:DF:24:D8:0E:ED:D2:EF:25:9E:AF:6F:B8:34:AE:53:9C:E6:F3:8F:F2:64:15:FA:E8:7F:53:2D:38\r\na=setup:active\r\na=rtpmap:120 VP8/90000\r\na=rtcp-fb:120 ccm fir\r\na=rtcp-fb:120 nack\r\na=rtcp-fb:120 nack pli\r\na=rtcp-fb:120 goog-remb\r\na=rtcp-fb:120 transport-cc\r\na=candidate:1 1 udp 2013266431 18.214.37.149 48437 typ host\r\na=candidate:2 1 udp 1677722111 18.214.37.149 48437 typ srflx raddr 10.2.0.167 rport 48437\r\na=candidate:3 1 udp 167772671 10.2.0.167 50132 typ relay raddr 10.2.0.167 rport 48437\r\na=end-of-candidates\r\n" } | |
| streaming.js:257:6 | |
| ::: Got a message (publisher) ::: streaming.js:153:4 | |
| Object { videoroom: "event", room: 1234, configured: "ok", audio_codec: "opus" } | |
| streaming.js:154:4 | |
| Event: event streaming.js:157:4 | |
| Remote description accepted! janus.js:2242:5 | |
| ::ICE state:: checking streaming.js:116:8 | |
| Candidate sent! janus.js:1320:4 | |
| Object { janus: "ack", session_id: 1924096615761089, transaction: "DZc0yGV4J5vC" } | |
| janus.js:1321:4 | |
| Candidate sent! janus.js:1320:4 | |
| Object { janus: "ack", session_id: 1924096615761089, transaction: "IBATWj5Rzu0F" } | |
| janus.js:1321:4 | |
| Candidate sent! janus.js:1320:4 | |
| Object { janus: "ack", session_id: 1924096615761089, transaction: "WwqdODUpamSU" } | |
| janus.js:1321:4 | |
| Candidate sent! janus.js:1320:4 | |
| Object { janus: "ack", session_id: 1924096615761089, transaction: "4kjYLMHKv4vs" } | |
| janus.js:1321:4 | |
| Candidate sent! janus.js:1320:4 | |
| Object { janus: "ack", session_id: 1924096615761089, transaction: "CDdKaW4flWF2" } | |
| janus.js:1321:4 | |
| Candidate sent! janus.js:1320:4 | |
| Object { janus: "ack", session_id: 1924096615761089, transaction: "WA6WLzWPrvDb" } | |
| janus.js:1321:4 | |
| Long poll... janus.js:478:2 | |
| ::ICE state:: failed streaming.js:116:8 | |
| ICE failed, add a TURN server and see about:webrtc for more details | |
| Got a keepalive on session 1924096615761089 janus.js:523:3 | |
| Long poll... janus.js:478:2 | |
| Got a hangup event on session 1924096615761089 janus.js:603:3 | |
| Object { janus: "hangup", session_id: 1924096615761089, sender: 947973474655564, reason: "ICE failed" } | |
| janus.js:604:3 | |
| Janus says our WebRTC PeerConnection is downnow streaming.js:128:8 | |
| Cleaning WebRTC stuff janus.js:2821:2 | |
| Stopping local stream tracks janus.js:2870:5 | |
| MediaStreamTrack { kind: "audio", id: "{0967a937-1ba4-5a4f-9b05-b084bf3ac6a7}", label: "Internal Microphone", enabled: true, muted: false, onmute: null, onunmute: null, readyState: "live", onended: null } | |
| janus.js:2874:6 | |
| ::ICE state:: closed |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "janus": "success", | |
| "session_id": 8098451631964083, | |
| "transaction": "123456", | |
| "handle_id": 151884537608529, | |
| "info": { | |
| "session_id": 8098451631964083, | |
| "session_last_activity": 8502452696509, | |
| "session_transport": "janus.transport.http", | |
| "handle_id": 151884537608529, | |
| "opaque_id": "tich-ivRqKBs2YVWn", | |
| "created": 8502406144780, | |
| "current_time": 8502461238650, | |
| "plugin": "janus.plugin.videoroom", | |
| "plugin_specific": { | |
| "type": "publisher", | |
| "room": 1234, | |
| "id": 5615294912640493, | |
| "private_id": 2050992803, | |
| "display": "113efbb3-1b34-46c4-965c-a616475bb5a9", | |
| "media": { | |
| "audio": true, | |
| "audio_codec": "opus", | |
| "video": false, | |
| "data": false | |
| }, | |
| "bitrate": 128000, | |
| "audio-level-dBov": 0, | |
| "talking": false, | |
| "hangingup": 0, | |
| "destroyed": 0 | |
| }, | |
| "flags": { | |
| "got-offer": true, | |
| "got-answer": true, | |
| "processing-offer": false, | |
| "starting": true, | |
| "ice-restart": false, | |
| "ready": false, | |
| "stopped": false, | |
| "alert": false, | |
| "trickle": true, | |
| "all-trickles": true, | |
| "resend-trickles": false, | |
| "trickle-synced": false, | |
| "data-channels": false, | |
| "has-audio": true, | |
| "has-video": true, | |
| "new-datachan-sdp": false, | |
| "rfc4588-rtx": false, | |
| "cleaning": false | |
| }, | |
| "agent-created": 8502434173095, | |
| "ice-mode": "full", | |
| "ice-role": "controlled", | |
| "ice-loop-running": true, | |
| "sdps": { | |
| "profile": "UDP/TLS/RTP/SAVPF", | |
| "local": "v=0\r\no=mozilla...THIS_IS_SDPARTA-64.0 1547095041547577 1 IN IP4 18.214.37.149\r\ns=VideoRoom 1234\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=msid-semantic: WMS janus\r\nm=audio 9 UDP/TLS/RTP/SAVPF 109\r\nc=IN IP4 18.214.37.149\r\na=recvonly\r\na=mid:0\r\na=rtcp-mux\r\na=ice-ufrag:HtXB\r\na=ice-pwd:f9+DmLzz8FzyTVP7Ey0s0b\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D2:B9:31:8F:DF:24:D8:0E:ED:D2:EF:25:9E:AF:6F:B8:34:AE:53:9C:E6:F3:8F:F2:64:15:FA:E8:7F:53:2D:38\r\na=setup:active\r\na=rtpmap:109 opus/48000/2\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=candidate:1 1 udp 2013266431 18.214.37.149 37518 typ host\r\na=candidate:2 1 udp 1677722111 18.214.37.149 37518 typ srflx raddr 10.2.0.167 rport 37518\r\na=candidate:3 1 udp 167772671 10.2.0.167 59709 typ relay raddr 10.2.0.167 rport 37518\r\na=end-of-candidates\r\nm=video 9 UDP/TLS/RTP/SAVPF 120\r\nc=IN IP4 18.214.37.149\r\na=inactive\r\na=mid:1\r\na=rtcp-mux\r\na=ice-ufrag:HtXB\r\na=ice-pwd:f9+DmLzz8FzyTVP7Ey0s0b\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D2:B9:31:8F:DF:24:D8:0E:ED:D2:EF:25:9E:AF:6F:B8:34:AE:53:9C:E6:F3:8F:F2:64:15:FA:E8:7F:53:2D:38\r\na=setup:active\r\na=rtpmap:120 VP8/90000\r\na=rtcp-fb:120 ccm fir\r\na=rtcp-fb:120 nack\r\na=rtcp-fb:120 nack pli\r\na=rtcp-fb:120 goog-remb\r\na=rtcp-fb:120 transport-cc\r\na=candidate:1 1 udp 2013266431 18.214.37.149 37518 typ host\r\na=candidate:2 1 udp 1677722111 18.214.37.149 37518 typ srflx raddr 10.2.0.167 rport 37518\r\na=candidate:3 1 udp 167772671 10.2.0.167 59709 typ relay raddr 10.2.0.167 rport 37518\r\na=end-of-candidates\r\n", | |
| "remote": "v=0\r\no=mozilla...THIS_IS_SDPARTA-64.0 8180949629182238932 0 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=fingerprint:sha-256 E8:CA:98:D7:48:4F:10:E4:05:F8:F3:1F:7D:77:73:2C:61:0A:6F:43:52:CC:25:38:EE:52:AB:96:43:EE:2E:65\r\na=group:BUNDLE 0 1\r\na=ice-options:trickle\r\na=msid-semantic:WMS *\r\nm=audio 9 UDP/TLS/RTP/SAVPF 109 9 0 8 101\r\nc=IN IP4 0.0.0.0\r\na=sendrecv\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2/recvonly urn:ietf:params:rtp-hdrext:csrc-audio-level\r\na=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=fmtp:109 maxplaybackrate=48000;stereo=1;useinbandfec=1\r\na=fmtp:101 0-15\r\na=ice-pwd:6aea5c03a3ddc30eed8b7c4ac05463fe\r\na=ice-ufrag:2ac81fb0\r\na=mid:0\r\na=msid:{a2fc481c-d0c2-e94b-bff7-b71e33198588} {920b3ae9-07dc-9341-bb90-9d6e23dec183}\r\na=rtcp-mux\r\na=rtpmap:109 opus/48000/2\r\na=rtpmap:9 G722/8000/1\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:101 telephone-event/8000/1\r\na=setup:actpass\r\na=ssrc:1405215945 cname:{4a5327c6-9e77-1c4b-a820-bce8e33260dc}\r\nm=video 9 UDP/TLS/RTP/SAVPF 120 121 126 97\r\nc=IN IP4 0.0.0.0\r\na=recvonly\r\na=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:4 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:5 urn:ietf:params:rtp-hdrext:toffset\r\na=fmtp:126 profile-level-id=42e01f;level-asymmetry-allowed=1;packetization-mode=1\r\na=fmtp:97 profile-level-id=42e01f;level-asymmetry-allowed=1\r\na=fmtp:120 max-fs=12288;max-fr=60\r\na=fmtp:121 max-fs=12288;max-fr=60\r\na=ice-pwd:6aea5c03a3ddc30eed8b7c4ac05463fe\r\na=ice-ufrag:2ac81fb0\r\na=mid:1\r\na=rtcp-fb:120 nack\r\na=rtcp-fb:120 nack pli\r\na=rtcp-fb:120 ccm fir\r\na=rtcp-fb:120 goog-remb\r\na=rtcp-fb:121 nack\r\na=rtcp-fb:121 nack pli\r\na=rtcp-fb:121 ccm fir\r\na=rtcp-fb:121 goog-remb\r\na=rtcp-fb:126 nack\r\na=rtcp-fb:126 nack pli\r\na=rtcp-fb:126 ccm fir\r\na=rtcp-fb:126 goog-remb\r\na=rtcp-fb:97 nack\r\na=rtcp-fb:97 nack pli\r\na=rtcp-fb:97 ccm fir\r\na=rtcp-fb:97 goog-remb\r\na=rtcp-mux\r\na=rtpmap:120 VP8/90000\r\na=rtpmap:121 VP9/90000\r\na=rtpmap:126 H264/90000\r\na=rtpmap:97 H264/90000\r\na=setup:actpass\r\na=ssrc:1962944727 cname:{4a5327c6-9e77-1c4b-a820-bce8e33260dc}\r\n" | |
| }, | |
| "queued-packets": 0, | |
| "streams": [ | |
| { | |
| "id": 1, | |
| "ready": -1, | |
| "ssrc": { | |
| "audio": 2139287935, | |
| "video": 3220436055, | |
| "audio-peer": 1405215945, | |
| "video-peer": 1962944727 | |
| }, | |
| "direction": { | |
| "audio-send": false, | |
| "audio-recv": true, | |
| "video-send": false, | |
| "video-recv": false | |
| }, | |
| "rtcp_stats": { | |
| "audio": { | |
| "base": 48000, | |
| "rtt": 0, | |
| "lost": 0, | |
| "lost-by-remote": 0, | |
| "jitter-local": 0, | |
| "jitter-remote": 0, | |
| "in-link-quality": 0, | |
| "in-media-link-quality": 0, | |
| "out-link-quality": 0, | |
| "out-media-link-quality": 0 | |
| }, | |
| "video": { | |
| "base": 90000, | |
| "rtt": 0, | |
| "lost": 0, | |
| "lost-by-remote": 0, | |
| "jitter-local": 0, | |
| "jitter-remote": 0, | |
| "in-link-quality": 0, | |
| "in-media-link-quality": 0, | |
| "out-link-quality": 0, | |
| "out-media-link-quality": 0 | |
| } | |
| }, | |
| "components": [ | |
| { | |
| "id": 1, | |
| "state": "failed", | |
| "failed-detected": 8502460253600, | |
| "icetimer-started": true, | |
| "local-candidates": [ | |
| "1 1 udp 2013266431 18.214.37.149 37518 typ host", | |
| "2 1 udp 1677722111 18.214.37.149 37518 typ srflx raddr 10.2.0.167 rport 37518", | |
| "3 1 udp 167772671 10.2.0.167 59709 typ relay raddr 10.2.0.167 rport 37518" | |
| ], | |
| "remote-candidates": [ | |
| "0 1 UDP 2122252543 192.168.43.39 55252 typ host", | |
| "1 1 UDP 1686052863 201.175.133.147 25054 typ srflx raddr 192.168.43.39 rport 55252" | |
| ], | |
| "dtls": { | |
| "fingerprint": "D2:B9:31:8F:DF:24:D8:0E:ED:D2:EF:25:9E:AF:6F:B8:34:AE:53:9C:E6:F3:8F:F2:64:15:FA:E8:7F:53:2D:38", | |
| "remote-fingerprint": "E8:CA:98:D7:48:4F:10:E4:05:F8:F3:1F:7D:77:73:2C:61:0A:6F:43:52:CC:25:38:EE:52:AB:96:43:EE:2E:65", | |
| "remote-fingerprint-hash": "sha-256", | |
| "dtls-role": "active", | |
| "dtls-state": "created", | |
| "retransmissions": 0, | |
| "valid": false, | |
| "srtp-profile": "none", | |
| "ready": false, | |
| "sctp-association": false | |
| }, | |
| "in_stats": { | |
| "audio_packets": 0, | |
| "audio_bytes": 0, | |
| "audio_bytes_lastsec": 0, | |
| "do_audio_nacks": false, | |
| "video_packets": 0, | |
| "video_bytes": 0, | |
| "video_bytes_lastsec": 0, | |
| "do_video_nacks": true, | |
| "video_nacks": 0, | |
| "data_packets": 0, | |
| "data_bytes": 0 | |
| }, | |
| "out_stats": { | |
| "audio_packets": 0, | |
| "audio_bytes": 0, | |
| "audio_bytes_lastsec": 0, | |
| "audio_nacks": 0, | |
| "video_packets": 0, | |
| "video_bytes": 0, | |
| "video_bytes_lastsec": 0, | |
| "video_nacks": 0, | |
| "data_packets": 0, | |
| "data_bytes": 0 | |
| } | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| iceServers: [ | |
| { | |
| urls: 'stun:stun.l.google.com:19302' | |
| }, | |
| { | |
| urls: 'turn:<ip>', // We've use the same TURN server that we configure in janus.cfg | |
| username: '<user>', | |
| credential: '<pass>' | |
| } | |
| ] | |
| // Janus intialization | |
| Janus.init({ | |
| debug: true, | |
| iceServers: state.iceServers, | |
| ... | |
| }) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ; General configuration: folders where the configuration and the plugins | |
| ; can be found, how output should be logged, whether Janus should run as | |
| ; a daemon or in foreground, default interface to use, debug/logging level | |
| ; and, if needed, shared apisecret and/or token authentication mechanism | |
| ; between application(s) and Janus. | |
| [general] | |
| configs_folder = /opt/janus/etc/janus ; Configuration files folder | |
| plugins_folder = /opt/janus/lib/janus/plugins ; Plugins folder | |
| transports_folder = /opt/janus/lib/janus/transports ; Transports folder | |
| events_folder = /opt/janus/lib/janus/events ; Event handlers folder | |
| ;log_to_stdout = false ; Whether the Janus output should be written | |
| ; to stdout or not (default=true) | |
| ;log_to_file = /path/to/janus.log ; Whether to use a log file or not | |
| ;daemonize = true ; Whether Janus should run as a daemon | |
| ; or not (default=run in foreground) | |
| ;pid_file = /path/to/janus.pid ; PID file to create when Janus has been | |
| ; started, and to destroy at shutdown | |
| ;interface = 1.2.3.4 ; Interface to use (will be used in SDP) | |
| debug_level = 4 ; Debug/logging level, valid values are 0-7 | |
| ;debug_timestamps = yes ; Whether to show a timestamp for each log line | |
| ;debug_colors = no ; Whether colors should be disabled in the log | |
| ;debug_locks = yes ; Whether to enable debugging of locks (very verbose!) | |
| ;api_secret = janusrocks ; String that all Janus requests must contain | |
| ; to be accepted/authorized by the Janus core. | |
| ; Useful if you're wrapping all Janus API requests | |
| ; in your servers (that is, not in the browser, | |
| ; where you do the things your way) and you | |
| ; don't want other application to mess with | |
| ; this Janus instance. | |
| ;token_auth = yes ; Enable a token based authentication | |
| ; mechanism to force users to always provide | |
| ; a valid token in all requests. Useful if | |
| ; you want to authenticate requests from web | |
| ; users. | |
| ;token_auth_secret = janus ; Use HMAC-SHA1 signed tokens (with token_auth). Note that | |
| ; without this, the Admin API MUST | |
| ; be enabled, as tokens are added and removed | |
| ; through messages sent there. | |
| admin_secret = <secret> ; String that all Janus requests must contain | |
| ; to be accepted/authorized by the admin/monitor. | |
| ; only needed if you enabled the admin API | |
| ; in any of the available transports. | |
| ;server_name = MyJanusInstance ; Public name of this Janus instance | |
| ; as it will appear in an info request | |
| ;session_timeout = 60 ; How long (in seconds) we should wait before | |
| ; deciding a Janus session has timed out. A | |
| ; session times out when no request is received | |
| ; for session_timeout seconds (default=60s). | |
| ; Setting this to 0 will disable the timeout | |
| ; mechanism, which is NOT suggested as it may | |
| ; risk having orphaned sessions (sessions not | |
| ; controlled by any transport and never freed). | |
| ; To avoid timeouts, keep-alives can be used. | |
| ; | |
| ;reclaim_session_timeout = 0 ; How long (in seconds) we should wait for a | |
| ; janus session to be reclaimed after the transport | |
| ; is gone. After the transport is gone, a session | |
| ; times out when no request is received for | |
| ; reclaim_session_timeout seconds (default=0s). | |
| ; Setting this to 0 will disable the timeout | |
| ; mechanism, and sessions will be destroyed immediately | |
| ; if the transport is gone. | |
| ; | |
| ;candidates_timeout = 45 ; How long (in seconds) we should keep hold of | |
| ; pending (trickle) candidates before discarding | |
| ; them (default=45s). Notice that setting this | |
| ; to 0 will NOT disable the timeout, but will | |
| ; be considered an invalid value and ignored. | |
| ; | |
| ;recordings_tmp_ext = tmp ; The extension for recordings, in Janus, is | |
| ; .mjr, a custom format we devised ourselves. | |
| ; By default, we save to .mjr directly. If you'd | |
| ; rather the recording filename have a temporary | |
| ; extension while it's being saved, and only | |
| ; have the .mjr extension when the recording | |
| ; is over (e.g., to automatically trigger some | |
| ; external scripts), then uncomment and set the | |
| ; recordings_tmp_ext property to the extension | |
| ; to add to the base (e.g., tmp --> .mjr.tmp). | |
| ; Certificate and key to use for DTLS (and passphrase if needed). | |
| [certificates] | |
| cert_pem = </route/mycert.pem> | |
| cert_key = </route/mycert.key> | |
| ;cert_pwd = secretpassphrase | |
| ; Media-related stuff: you can configure whether if you want | |
| ; to enable IPv6 support (still WIP, so handle with care), if RFC4588 | |
| ; support should be negotiated or not (off by default), the maximum size | |
| ; of the NACK queue (in milliseconds, defaults to 500ms) for retransmissions, the | |
| ; range of ports to use for RTP and RTCP (by default, no range is envisaged), the | |
| ; starting MTU for DTLS (1200 by default, it adapts automatically), and | |
| ; finally how much time, in seconds, should pass with no media (audio or | |
| ; video) being received before Janus notifies you about this (default=1s, | |
| ; 0 disables these events entirely). Finally, if you're using BoringSSL | |
| ; you can customize the frequency of retransmissions: OpenSSL has a fixed | |
| ; value of 1 second (the default), while BoringSSL can override that. Notice | |
| ; that lower values (e.g., 100ms) will typically get you faster connection | |
| ; times, but may not work in case the RTT of the user is high: as such, | |
| ; you should pick a reasonable trade-off (usually 2*max expected RTT). | |
| [media] | |
| ;ipv6 = true | |
| ;max_nack_queue = 500 | |
| ;rfc_4588 = yes | |
| ;rtp_port_range = 20000-40000 | |
| ;dtls_mtu = 1200 | |
| ;no_media_timer = 1 | |
| ;dtls_timeout = 500 | |
| ; NAT-related stuff: specifically, you can configure the STUN/TURN | |
| ; servers to use to gather candidates if the gateway is behind a NAT, | |
| ; and srflx/relay candidates are needed. In case STUN is not enough and | |
| ; this is needed (it shouldn't), you can also configure Janus to use a | |
| ; TURN server; please notice that this does NOT refer to TURN usage in | |
| ; browsers, but in the gathering of relay candidates by Janus itself, | |
| ; e.g., if you want to limit the ports used by a Janus instance on a | |
| ; private machine. Furthermore, you can choose whether Janus should be | |
| ; configured to do full-trickle (Janus also trickles its candidates to | |
| ; users) rather than the default half-trickle (Janus supports trickle | |
| ; candidates from users, but sends its own within the SDP), and whether | |
| ; it should work in ICE-Lite mode (by default it doesn't). Finally, | |
| ; you can also enable ICE-TCP support (beware that it currently *only* | |
| ; works if you enable ICE Lite as well), choose which interfaces should | |
| ; be used for gathering candidates, and enable or disable the | |
| ; internal libnice debugging, if needed. | |
| [nat] | |
| ;stun_server = stun.voip.eutelia.it | |
| ;stun_port = 3478 | |
| nice_debug = false | |
| ;full_trickle = true | |
| ;ice_lite = true | |
| ;ice_tcp = true | |
| ; In case you're deploying Janus on a server which is configured with | |
| ; a 1:1 NAT (e.g., Amazon EC2), you might want to also specify the public | |
| ; address of the machine using the setting below. This will result in | |
| ; all host candidates (which normally have a private IP address) to | |
| ; be rewritten with the public address provided in the settings. As | |
| ; such, use the option with caution and only if you know what you're doing. | |
| ; Make sure you keep ICE Lite disabled, though, as it's not strictly | |
| ; speaking a publicly reachable server, and a NAT is still involved. | |
| nat_1_1_mapping = <public ip> | |
| ; You can configure a TURN server in two different ways: specifying a | |
| ; statically configured TURN server, and thus provide the address of the | |
| ; TURN server, the transport (udp/tcp/tls) to use, and a set of valid | |
| ; credentials to authenticate... | |
| turn_server = <ip> | |
| turn_port = <port> | |
| turn_type = udp | |
| turn_user = <user> | |
| turn_pwd = <password> | |
| ; ... or you can make use of the TURN REST API to get info on one or more | |
| ; TURN services dynamically. This makes use of the proposed standard of | |
| ; such an API (https://tools.ietf.org/html/draft-uberti-behave-turn-rest-00) | |
| ; which is currently available in both rfc5766-turn-server and coturn. | |
| ; You enable this by specifying the address of your TURN REST API backend, | |
| ; the HTTP method to use (GET or POST) and, if required, the API key Janus | |
| ; must provide. | |
| ;turn_rest_api = http://yourbackend.com/path/to/api | |
| ;turn_rest_api_key = anyapikeyyoumayhaveset | |
| ;turn_rest_api_method = GET | |
| ; You can also choose which interfaces should be explicitly used by the | |
| ; gateway for the purpose of ICE candidates gathering, thus excluding | |
| ; others that may be available. To do so, use the 'ice_enforce_list' | |
| ; setting and pass it a comma-separated list of interfaces or IP addresses | |
| ; to enforce. This is especially useful if the server hosting the gateway | |
| ; has several interfaces, and you only want a subset to be used. Any of | |
| ; the following examples are valid: | |
| ; ice_enforce_list = eth0 | |
| ; ice_enforce_list = eth0,eth1 | |
| ; ice_enforce_list = eth0,192.168. | |
| ; ice_enforce_list = eth0,192.168.0.1 | |
| ; By default, no interface is enforced, meaning Janus will try to use them all. | |
| ;ice_enforce_list = eth0 | |
| ; In case you don't want to specify specific interfaces to use, but would | |
| ; rather tell Janus to use all the available interfaces except some that | |
| ; you don't want to involve, you can also choose which interfaces or IP | |
| ; addresses should be excluded and ignored by the gateway for the purpose | |
| ; of ICE candidates gathering. To do so, use the 'ice_ignore_list' setting | |
| ; and pass it a comma-separated list of interfaces or IP addresses to | |
| ; ignore. This is especially useful if the server hosting the gateway | |
| ; has several interfaces you already know will not be used or will simply | |
| ; always slow down ICE (e.g., virtual interfaces created by VMware). | |
| ; Partial strings are supported, which means that any of the following | |
| ; examples are valid: | |
| ; ice_ignore_list = vmnet8,192.168.0.1,10.0.0.1 | |
| ; ice_ignore_list = vmnet,192.168. | |
| ; Just beware that the ICE ignore list is not used if an enforce list | |
| ; has been configured. By default, Janus ignores all interfaces whose | |
| ; name starts with 'vmnet', to skip VMware interfaces: | |
| ice_ignore_list = vmnet | |
| ; You can choose which of the available plugins should be | |
| ; enabled or not. Use the 'disable' directive to prevent Janus from | |
| ; loading one or more plugins: use a comma separated list of plugin file | |
| ; names to identify the plugins to disable. By default all available | |
| ; plugins are enabled and loaded at startup. | |
| [plugins] | |
| ; disable = libjanus_voicemail.so,libjanus_recordplay.so | |
| ; You can choose which of the available transports should be enabled or | |
| ; not. Use the 'disable' directive to prevent Janus from loading one | |
| ; or more transport: use a comma separated list of transport file names | |
| ; to identify the transports to disable. By default all available | |
| ; transports are enabled and loaded at startup. | |
| [transports] | |
| ; disable = libjanus_rabbitmq.so | |
| ; Event handlers allow you to receive live events from Janus happening | |
| ; in core and/or plugins. Since this can require some more resources, | |
| ; the feature is disabled by default. Setting broadcast to yes will | |
| ; enable them. You can then choose which of the available event handlers | |
| ; should be loaded or not. Use the 'disable' directive to prevent Janus | |
| ; from loading one or more event handlers: use a comma separated list of | |
| ; file names to identify the event handlers to disable. By default, if | |
| ; broadcast is set to yes all available event handlers are enabled and | |
| ; loaded at startup. Finally, you can choose how often media statistics | |
| ; (packets sent/received, losses, etc.) should be sent: by default it's | |
| ; once per second (audio and video statistics sent separately), but may | |
| ; considered too verbose, or you may want to limit the number of events, | |
| ; especially if you have many PeerConnections active. To change this, | |
| ; just set 'stats_period' to the number of seconds that should pass in | |
| ; between statistics for each handle. Setting it to 0 disables them (but | |
| ; not other media-related events). | |
| [events] | |
| ; broadcast = yes | |
| ; disable = libjanus_sampleevh.so | |
| ; stats_period = 5 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| [947973474655564] Creating ICE agent (ICE Full mode, controlled) | |
| [WARN] Video offered as 'recvonly', but we need 'recvonly' for us: using 'inactive' | |
| [WARN] [5901839917755062] Not video and not audio? dropping (SSRC 2276841017)... | |
| [WARN] [5901839917755062] Not video and not audio? dropping (SSRC 3636612649)... | |
| [WARN] [947973474655564] ICE failed for component 1 in stream 1, but let's give it some time... (trickle received, answer received, alert not set) | |
| [ERR] [ice.c:janus_ice_check_failed:1506] [947973474655564] ICE failed for component 1 in stream 1... | |
| [janus.plugin.videoroom-0x1a53a70] No WebRTC media anymore; 0x1a28800 0x1a42200 | |
| [947973474655564] WebRTC resources freed; 0x1a28800 0x1a27e00 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment