meetecho / janus-gateway

Janus WebRTC Server
https://janus.conf.meetecho.com
GNU General Public License v3.0
8.17k stars 2.47k forks source link

[1.x] Im used Janus in docker contaner with docker-compose #3382

Closed muramidaza closed 4 months ago

muramidaza commented 4 months ago

I installed this assembly several times and everything was fine. But last time I installed and got the following error:

[Tue May 21 12:00:09 2024] [2360976012860132] Component state changed for component 1 in stream 1: 5 (failed)
[Tue May 21 12:00:09 2024] [WARN] [2360976012860132] ICE failed for component 1 in stream 1, but let's give it some time... (trickle received, answer received, alert not set)
[Tue May 21 12:00:09 2024] [2360976012860132] Creating ICE state check timer with ID 6
(janus:1): libnice-DEBUG: 12:00:09.992: Agent 0x7e791800a5c0 : stream 1: timer tick #301: 0 frozen, 0 in-progress, 0 waiting, 0 succeeded, 0 discovered, 0 nominated, 0 waiting-for-nom, 0 valid
(janus:1): libnice-DEBUG: 12:00:11.002: Agent 0x7e791800a5c0 : stream 1: timer tick #351: 0 frozen, 0 in-progress, 0 waiting, 0 succeeded, 0 discovered, 0 nominated, 0 waiting-for-nom, 0 valid
(janus:1): libnice-DEBUG: 12:00:11.002: Agent 0x7e791800a5c0 : checking for failed components now.
(janus:1): libnice-DEBUG: 12:00:11.002: Agent 0x7e791800a5c0 : stream 1 component 1 STATE-CHANGE connecting -> failed.
(janus:1): libnice-DEBUG: 12:00:11.002: Agent 0x7e791800a5c0 : priv_conn_check_tick_agent_locked: stopping conncheck timer
(janus:1): libnice-DEBUG: 12:00:11.002: Agent 0x7e791800a5c0 : changing conncheck state to COMPLETED.
[Tue May 21 12:00:11 2024] [5583987368784987] Component state changed for component 1 in stream 1: 5 (failed)
[Tue May 21 12:00:11 2024] [WARN] [5583987368784987] ICE failed for component 1 in stream 1, but let's give it some time... (trickle received, answer received, alert not set)
[Tue May 21 12:00:11 2024] [5583987368784987] Creating ICE state check timer with ID 6
[Tue May 21 12:00:14 2024] [ERR] [ice.c:janus_ice_check_failed:2080] [2360976012860132] ICE failed for component 1 in stream 1...
[Tue May 21 12:00:14 2024] [2360976012860132] Hanging up PeerConnection because of a ICE failed
[Tue May 21 12:00:14 2024] [2360976012860132] Telling the plugin about the hangup (JANUS TextRoom plugin)
[Tue May 21 12:00:14 2024] [janus.plugin.textroom-0x7e7914003fe0] No WebRTC media anymore
[Tue May 21 12:00:14 2024] Leaving 0 rooms
[Tue May 21 12:00:14 2024] [2360976012860132] Removing stream 1 from agent 0x7e791800a000
(janus:1): libnice-DEBUG: 12:00:14.371: Agent 0x7e791800a000, freeing conncheck_list of stream 0x7e791800cae0
(janus:1): libnice-DEBUG: 12:00:14.371: Free socket sources for component 0x7e791800f8b0.
(janus:1): libnice-DEBUG: 12:00:14.371: Detaching source 0x7e78b800a430 (socket 0x7e791800f5d0, FD 40) from context 0x7e79140069d0
(janus:1): libnice-DEBUG: 12:00:14.371: Destroyed NiceComponent (2 created, 1 destroyed)
(janus:1): libnice-DEBUG: 12:00:14.371: Destroyed NiceStream (2 created, 1 destroyed)
[Tue May 21 12:00:14 2024] [2360976012860132] Closing nice agent 0x7e791800a000
[Tue May 21 12:00:14 2024] [2360976012860132] Notifying WebRTC hangup; 0x7e7914007d90
[Tue May 21 12:00:14 2024] [2360976012860132] Sending event to transport...; 0x7e7914007d90
[Tue May 21 12:00:14 2024] Sending event to janus.transport.http (0x7e78d000e220)
[Tue May 21 12:00:14 2024] Got a Janus API event to send (0x7e78d000e220)
[Tue May 21 12:00:14 2024] [transports/janus_http.c:janus_http_request_timeout_finalize:241] [0x7e78d0016c00] finalize
[Tue May 21 12:00:14 2024] [transports/janus_http.c:janus_http_notifier:2137] ... handling long poll...
[Tue May 21 12:00:14 2024] [2360976012860132] Disposing nice agent 0x7e791800a000
[Tue May 21 12:00:14 2024] We have a message to serve...
        [
   {
      "janus": "hangup",
      "session_id": 4910333389286202,
      "sender": 2360976012860132,
      "reason": "ICE failed"
   }
]

The connection has been interrupted. Error repeats when rebooting In browser i have next error:

ICE state changed to checking
room?id=165:545 Janus says our WebRTC PeerConnection is down now
janus.js?v=1715940812:3031 Cleaning WebRTC stuff
room?id=165:659  ::: Got a cleanup notification :::
janus.js?v=1715940812:1637 Received state change on data channel: Event {isTrusted: true, type: 'close', target: RTCDataChannel, currentTarget: RTCDataChannel, eventPhase: 2, …}
janus.js?v=1715940812:1641 State change on <JanusDataChannel> data channel: null
room?id=165:255 Janus says our WebRTC PeerConnection is down now
janus.js?v=1715940812:3031 Cleaning WebRTC stuff
janus.js?v=1715940812:3073 Stopping local stream tracks
janus.js?v=1715940812:353 MediaStreamTrack {kind: 'video', id: 'a3aa4578-4c4c-4815-81b5-0643a4ce217d', label: 'Microsoft LifeCam (045e:074a)', enabled: true, muted: false, …}
room?id=165:501  ::: Got a cleanup notification: we are unpublished now :::

My Dockerfile

FROM debian:bullseye-slim

RUN apt-get -y update && \
    apt-get install aptitude wget -y make git meson ninja-build

RUN apt-get -y update && \
    aptitude install -y libmicrohttpd-dev libjansson-dev \
    libssl-dev libsofia-sip-ua-dev libglib2.0-dev \
    libopus-dev libogg-dev libcurl4-openssl-dev liblua5.3-dev \
    libconfig-dev pkg-config libtool automake doxygen graphviz \
    libusrsctp-dev \
    libavutil-dev libavcodec-dev libavformat-dev libspeexdsp-dev

RUN cd /tmp && \
    wget https://github.com/cisco/libsrtp/archive/v2.2.0.tar.gz &&\
    tar xfv v2.2.0.tar.gz &&\
    cd libsrtp-2.2.0 &&\
    ./configure --prefix=/usr --enable-openssl &&\
    make shared_library && make install

RUN cd /tmp && \
    git clone https://gitlab.freedesktop.org/libnice/libnice &&\
    cd libnice &&\
    meson --prefix=/usr build && ninja -C build && ninja -C build install

RUN cd /usr/local/src && \
    git clone https://github.com/meetecho/janus-gateway.git &&\
    cd janus-gateway &&\
    sh autogen.sh && \
        ./configure --prefix=/usr/local --enable-docs --enable-post-processing && \
        make && \
        make install && \
        make configs

What could be the reason? This build worked fine on other servers

atoppi commented 4 months ago

ICE is failing, probably a misconfiguration of the network / fw in the server. Anyway, nothing related to Janus source, hence I'm closing the issue. Please forward questions like this on the discourse group.