jitsi / docker-jitsi-meet

Jitsi Meet on Docker
https://hub.docker.com/u/jitsi/
Apache License 2.0
3.09k stars 1.37k forks source link

No audio, only video on calls #85

Closed bkraul closed 5 years ago

bkraul commented 5 years ago

I have a weird issue with a docker instance set up using the compose found in this repository. The stack works (starts) perfectly, and on ocassion, both HD video and audio work flawlessly. However, on most cases, guests can see me and hear me fine, and I can see them, but I cannot hear them at all. We have tried all we can in order to rule out an audio configuration issue on their end.

We have also tried this in a LAN setting in order to rule out any ports issues, and the result is the same. Any ideas as to why this would be happening?

bkraul commented 5 years ago

I am seeing this on the jicofo log:

Not merging A/V streams from ....
bkraul commented 5 years ago

Here is my compose. I am not using an .env file for diagnostic purposes at the moment, so everything used is in the compose file. The only variant is I am behind jwilder/nginx-proxy setup (through bridged network reverse-proxy which works perfectly). Port 10000 and 4443 are running as host ports like it is on the original compose.

version: '3.2'
services:
  # Frontend
  web:
    image: jitsi/web
    volumes:
      - /root/docker-persist/jitsi/web:/config
    environment:
      - VIRTUAL_HOST=jitsi.mydomain.com
      - VIRTUAL_PORT=80
      - ENABLE_AUTH=0
      - ENABLE_GUESTS=1
      - ENABLE_LETSENCRYPT=0
      - ENABLE_HTTP_REDIRECT=0
      - DISABLE_HTTPS=1
      - JICOFO_AUTH_USER=focus
      - LETSENCRYPT_DOMAIN=
      - LETSENCRYPT_EMAIL=
      - XMPP_DOMAIN=meet.jitsi
      - XMPP_AUTH_DOMAIN=auth.meet.jitsi
      - XMPP_BOSH_URL_BASE=http://xmpp.meet.jitsi:5280
      - XMPP_GUEST_DOMAIN=guest.meet.jitsi
      - XMPP_MUC_DOMAIN=muc.meet.jitsi
      - TZ=America/Chicago
    networks:
      - meet.jitsi
      - reverse-proxy

  # XMPP server
  prosody:
    image: jitsi/prosody
    expose:
      - '5222'
      - '5347'
      - '5280'
    volumes:
      - /root/docker-persist/jitsi/prosody:/config
    environment:
      - ENABLE_AUTH=0
      - ENABLE_GUESTS=1
      - XMPP_DOMAIN=meet.jitsi
      - XMPP_AUTH_DOMAIN=auth.meet.jitsi
      - XMPP_GUEST_DOMAIN=guest.meet.jitsi
      - XMPP_MUC_DOMAIN=muc.meet.jitsi
      - XMPP_INTERNAL_MUC_DOMAIN=internal-muc.meet.jitsi
      - XMPP_MODULES=
      - XMPP_MUC_MODULES=
      - XMPP_INTERNAL_MUC_MODULES=
      - JICOFO_COMPONENT_SECRET=s3cr37
      - JICOFO_AUTH_USER=focus
      - JICOFO_AUTH_PASSWORD=passw0rd
      - JVB_AUTH_USER=jvb
      - JVB_AUTH_PASSWORD=passw0rd
      - JIGASI_XMPP_USER=jigasi
      - JIGASI_XMPP_PASSWORD=passw0rd
      - TZ=America/Chicago
    networks:
      meet.jitsi:
        aliases:
          - xmpp.meet.jitsi

  # Focus component
  jicofo:
    image: jitsi/jicofo
    volumes:
      - /root/docker-persist/jitsi/jicofo:/config
    environment:
      - ENABLE_AUTH=0
      - XMPP_DOMAIN=meet.jitsi
      - XMPP_AUTH_DOMAIN=auth.meet.jitsi
      - XMPP_INTERNAL_MUC_DOMAIN=internal-muc.meet.jitsi
      - XMPP_SERVER=xmpp.meet.jitsi
      - JICOFO_COMPONENT_SECRET=s3cr37
      - JICOFO_AUTH_USER=focus
      - JICOFO_AUTH_PASSWORD=passw0rd
      - JVB_BREWERY_MUC=jvbbrewery
      - JIGASI_BREWERY_MUC=jigasibrewery
      - TZ=America/Chicago
    depends_on:
      - prosody
    networks:
      meet.jitsi:

  # Video bridge
  jvb:
    image: jitsi/jvb
    ports:
      - '10000:10000/udp'
      - '4443:4443'
    volumes:
      - /root/docker-persist/jitsi/jvb:/config
    environment:
      - DOCKER_HOST_ADDRESS=10.10.10.127
      - XMPP_AUTH_DOMAIN=auth.meet.jitsi
      - XMPP_INTERNAL_MUC_DOMAIN=internal-muc.meet.jitsi
      - XMPP_SERVER=xmpp.meet.jitsi
      - JVB_AUTH_USER=jvb
      - JVB_AUTH_PASSWORD=passw0rd
      - JVB_BREWERY_MUC=jvbbrewery
      - JVB_PORT=10000
      - JVB_TCP_HARVESTER_DISABLED=true
      - JVB_TCP_PORT=4443
      - JVB_STUN_SERVERS=stun.l.google.com:19302,stun1.l.google.com:19302,stun2.l.google.com:19302
      - JVB_ENABLE_APIS=rest,colibri
      - JICOFO_AUTH_USER=focus
      - TZ=America/Chicago
    depends_on:
      - prosody
    networks:
      meet.jitsi:

# Custom network so all services can communicate using a FQDN
networks:
  meet.jitsi:
  reverse-proxy:
    external:
      name: reverse-proxy
saghul commented 5 years ago

What browsers are you using for your tests?

bkraul commented 5 years ago

Firefox latest version, Chrome latest version, and Safari, latest version. Quick question. Does jitsi (the web parts) use websockets at all?

saghul commented 5 years ago

Firefox latest version, Chrome latest version, and Safari, latest version.

That should just work. Well, except for Safari.

Quick question. Does jitsi (the web parts) use websockets at all?

Not by default.

bkraul commented 5 years ago

OK so more details. It seems this is a browser issue. What I found out is that in Chrome you get additional options, one of them being changing the Audio Output, and also the ability to play a test sound. This seems to have been the source of the problem as it now works properly, but again, these options are only available in Chrome. Firefox does not offer the option to change the output or hear a test sound, and also the Microphone option is disabled.

Chrome: image

Firefox: image

saghul commented 5 years ago

Yeah, there are some limitations in Firefox, we cannot open multiple input devices, for example.

bkraul commented 5 years ago

I got you. Thanks for the feedback! I am closing this issue.