I was planning to implement this feature, but have end up with some questions
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.
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.
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,
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āā¦
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 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 ).
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.
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
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.