[SOLVED] AV Calls (coturn) not working with ejabberd (XMPP) outside local network

Outside local network, audio and video calls cant get through to any xmpp clients.

If anyone has managed to get coturn working (or found any other solution) to have audio / video calls work outside of their local network, I’d really appreciate to know how they solved it.

Thanks in advance.

Checked that firewall lets traffic through?

ports are forwarded… and i do get a ping… any other check to do?

If you can ping on those ports from outside the firewall coming in, then that satisfies that.

I presume other functions like messaging and presence work fine?

Yeah… I finally came to a conclusion to just disable Coturn and proceed with using the ejabberd stun/turn server. I’m lucky I have a domain name, so I went with How to set up ejabberd video & voice calling / ProcessOne

For anyone following this; once coturn is removed (deactivated) please also do not forget to:

a. disable Automatically manage audio/video call setup in ejabberd configuration under plinth
b. run cockpit and activate ‘coturn-freedombox’ service in networking > firewall settings
c. if you have a router/modem make sure relevant ports are forwarded
d. I’m sharing my config below:

listen:
 ...
- port: 3478
  transport: udp
  module: ejabberd_stun
  use_turn: true
  turn_min_port: 49152
  turn_max_port: 50175
  turn_ip: <your_static_ip_goes_here>
  auth_type: user
- port: 5349
  transport: tcp
  module: ejabberd_stun
  use_turn: true
  tls: true
  turn_min_port: 49152
  turn_max_port: 50175
  ip: "::"
  turn_ip: <your_static_ip_goes_here>
...
modules:
  mod_disco: {}
...
  mod_stun_disco:
    credentials_lifetime: 1000d
    secret: <whateveritis>
    services:
    - host: <your_domain.com>
      port: 3478
      type: stun
      transport: tcp
      restricted: false
    - host: <your_domain.com>
      port: 3478
      type: stun
      transport: udp
      restricted: false
    - host: <your_domain.com>
      port: 3478
      type: turn
      transport: tcp
      restricted: false
    - host: <your_domain.com>
      port: 3478
      type: turn
      transport: udp
      restricted: false
...

Once ejabberd.yml is edited, dont forget to sudo systemctl restart ejabberd

Please note, my configuration works where I have a static IP and a domain name.
Hope it helps (anyone).

Regards,

Ged.

I have the same problem.
Can someone please confirm that using domain from freedombox.rocks means that Xmpp calls don’t work outside the home network?

It might be a long shot, but it has suspiciously common similarities with my post about TTRSS. There picking the second option (although the same) made it work. In plinth → apps → coturn I get the same two choices, but in this case picking the second option results to

Setting unchanged

antidoto,

I can confirm that ejabberd works outside the local network while using domain from ‘fbx.one’. Text, voice, and video work well. FreedomBox is exposed to internet via DMZ, and Coturn is running. So, if you are still having issues, I would check what ports are open at your router and where they are being directed within your network.

Jim

Thank you for your confirmation.
I have checked that all the necessary ports in my router for both ejabberd and coturn, but the issue still remains.
Every time I try to make a call outside the network. The recipients client rings but after a few second of “connecting” status, I get a message about “Connection Error”
Is there anyway I can get a log file?