Video/audio calls

Good morning,

I was planning to implement this feature, but have end up with some questions :slight_smile:

I know Mattermost supports audio/video calling with Janus, Plugin for Zoom and exists too as far as I have seen a plugin too for Jitsi. When thinking in all of them and trying to decide which of them to setup :

  • Janus option ā†’ Seems to pretty unstable but the comments seenā€¦ and the own doc sais when warns you not to use in production. Perhaps could it cause a security issue in the server apart from just not working?.
  • Zoom plugin ā†’ Seems not being an option as it seems to require a subscription payment for obtaining the api key.
  • Jitsi plugin ā†’ Seems to be a fork of the previous one but with tons of commits pending for being stableā€¦ it talks about cleaning code, improve status of participants and soā€¦

By saying all this, which one would you think would be the best way of implementing this in Mattermost?. Iā€™m using team edition.

Best regards,

1 Like

Hi @egoitzr,

If you donā€™t want to pay (as in the case of Zoom plugin), I think you could try WebRTC/Janus - there are no security issues and lot of users are using it. Some users have experienced issues with it (e.g. the video not working properly), but if itā€™s set up correctly then it should work fine.

Iā€™m not familiar enough with Jitsi, perhaps you could contact the creator of the plugin (Sean Sackowitz) to ask what Mattermost server it supports https://github.com/seansackowitz/mattermost-plugin-jitsi.

Hi Amy,

So then Iā€™ll try the WebRTC/Janus implementation and see how it worksā€¦ In this sense is fine the way Mattermost is designedā€¦ because you can use a separate different machine for using Janus without afecting in that way Mattermostā€¦ if in addition you tell me it shouldnā€™t cause damage to Mattermostā€¦ Iā€™ll give a try.

Thank you so much much for your time,
Best regards,

Good morning,

Itā€™s a total pitty. I canā€™t make Janus/WebRTC work. I have been debugging all this morning. Iā€™m stalled at the phase when the call is received and when the other side answers you see the tipical message ā€œCannot connect videoā€, the tipical message Iā€™ve seen many people getsā€¦

Have been trying to debug thatā€¦ have intercepted the traffic between one of the sides and the other one and have get the following error https://pastebin.com/xz5F8saR

I canā€™t see any traffic at the machine ā€œthewebsocketserverā€ although I can do a telnet to 8188 port and any port in that machineā€¦ but nothing elseā€¦

The envā€¦ is two mm firefox clients, a mm server (4.1) and a separate janus docker server (with your proposed image)ā€¦ Firefox clients are behind natā€¦ but I have set the stun serverā€¦ By the wayā€¦ I have not seen the option of ā€œPreview pre-release features and there the one-to-one webrtc optionā€ but when I talk to someone, at the top I can see the webrtc buttonā€¦ is this ok? I assume soā€¦

I have seen too in the web browsers : ā€œkern: Too large subtable, table discardedā€ā€¦

Could anyone enlighten me please? :slight_smile: :slight_smile:

Thanks!!
Best regards,

Hi @egoitzr,

Can you help take a look at this thread for troubleshooting tips: How to start WebRTC?.

Some tips include:

  • adding this value to the config.json "StunURI": "stun:stun.l.google.com:19302" , without updating the Janus server or any code changes.
  • setting the nat mapping in the janus cfg.

Hi Amy,

No luckā€¦

that all was already set that wayā€¦ have tried several waysā€¦

Sorryā€¦
Thanks in advance

@egoitzr To confirm, is your server version 4.1 or 5.1?

Good morning,

Thank you so much for all your time and effort. I did finally upgrade to a LTS. Concretely to 4.10 but the problem was still not resolved. I was hitting the same error. I got all working now and now I have some time Iā€™m trying to write here some statements for setting all this apropiately.

  • First I would recommend using a stable or updated version. Concretely I went to 4.10. Was in 4.1 (answering to your question Amy). ALthough Iā€™d say it would have worked too in 4.1 by the nature of the problems.

  • I have Mattermost running behind Nginx although Janus is accesed directly. I suppose that if you set a correct config in Nginx (setting properly to proxy websockets, which is totally sure possible, in fact I do for Mattermost) should work but you should set in the proxy in /etc/hosts (talking all the time about a Linux setup) the real ip of the Janus machine. This just, if you make Janus be accesed through Nginx (and as said I pretty surely suppose, because I donā€™t have Janus through Nginx, only Mattermost).

  • You can use different URL for calling Janus and Mattermost (as said note I donā€™t Janus behind the proxy, only Mattermost). You CANā€™T or at least I havenā€™t get it to work, to use https for Mattermost and ws (plain websockets) for Janus. Same for wss (secure websockets for Janus and plain for Mattermost). So I have all setup with TLS.

  • Itā€™s totally essential for avoiding problems with ā€œhopelessā€ users to use if you go with TLS/SSL to use a valid and signed certificate. Be sure too to include all the certification chain in the public key. Basically copy to Janus the files the same way as you give to Nginx (if you use it). Itā€™s essential not to be having trust issues with your certificate because itā€™s not clear (and not a clear error, unless you go to web debug console) for a plain user to know that all he/she must do is to define an exception for the certificate.

  • Iā€™m using Janus at a container (the recommended way of Mattermost) and have the recommended config for Nginx to interact with Mattermost (the one proposed at Mattermost site).

If you mates keep in mind I can surely say now :slight_smile: :slight_smile: it will work :).

I wanted to thank to Amy and those other Mattermost staff which have been trying their best for trying to solve all this. Wanted too to apology because I have needed some times to answer and comment all this, but they are being a very busy days (in fact Iā€™m writting all this in Saturday :slight_smile: ).

In short, just wanted to share with all you mates my debugging results for trying to make simplier for you to setup all this nice piece of software.

Long Live to Mattermost :slight_smile: :slight_smile:

1 Like

If I can help you please donā€™t hesitate contacting me. Write me to egoitz ( A T ) ramattack.net specifying in the subject JANUS-MM at the beggining and Iā€™ll try my bests to help all you. You can surely contact me too in this forum but in case I donā€™t enter here and see your message I would like to, you know, help people with all the learned topics and that are not easy to debug :slight_smile:

Best regards

can you show your configuration? I have tried several days. Though webrtc works, the audio is ok, the video is not. I can see a lot of ā€˜Getting a lot of NACKs (slow downlink) for videoā€™ in janus log. How can i solve this problem.

Thereā€™s now a newly created WebRTC plugin for Mattermost, supporting one-on-one voice and video calls, developed by Nikhil Rajan. Thereā€™s no third-party dependancy, and uses a browser-to-browser and serverless approach to initiate calls.

Other video and audio calling options are listed here: https://docs.mattermost.com/deployment/video-and-audio-calling.html

Feedback is highly appreciated!

1 Like