Mumble -- VOIP Plugin for Discourse

I’m not the dev, but hopefully this can become a useful topic to discuss Mumble, a VOIP solution that allows hundreds of users to have audio and text discussions. Heavily used by podcasters for years and serves as an open source alternative to Teamviewer, Discord, etc. It is very low latency and can be run on low end systems with 512mb ram.

A Mumble Viewer plugin for Discourse that displays channel and user information.

  • Discourse is an open source discussion platform.
  • Mumble is an open source voice chat software.

The Mumble server needs to support the Channel Viewer Protocol. Most Mumble servers support this. If you manage your own server you can install a 3rd party application to do this.

Features

The plugin adds a button to the header.

  • The button displays the number of users connected to the Mumble server.
  • Clicking the button opens a menu with the list of channels and users.
  • Idle users have a toned down icon.
  • Information is refreshed periodically (configurable).

Screenshot of the plugin in action:

Discourse Mumble Plugin Screenshot

How to install

Follow the guide on how to Install a Plugin for Discourse but add this repository URL instead.

Then go to Admin > Plugins and choose Mumble settings:

  • mumble_interval : the interval between information refreshes
  • mumble_cvp : the URL to the Channel Viewer Protocol service
  • mumble_xml : whether the URL to the CVP service is for XML, otherwise will use JSON
6 Likes

I’m curious about installing this plugin on my forum and see it hasn’t been discussed before afaik. For channel access protocol, I believe mumble-web might be a good, active choice with webrtc.

Discussion of mumble takes place on their Matrix / Riot instance.

https://riot.im/app/#/room/#mumble:matrix.org

2 Likes

I have played around a little with Mumble these last few days after seeing your post (using an Android client and accessing public servers, so nothing Discourse related) and it’s pretty neat.

The plugin in OP in only a “viewer”. Users require a Mumble client to access the server and use it. There is then the “authentification” problem: You would want your forum users to show with their name in Mumble and know it’s indeed them. One guy was already searching for a solution to this 6 years ago here on meta, it seems: $100 Bounty: Create script or plugin that links Mumble to Discourse's user db

When browsing around, I’ve encountered a forum, which asks its user to join their Mumble server and then send a PM to a moderator on the forum, and they validate the users manually. Seems to work, but it’s MANUAL.

An integration with WebRTC so that you don’t need any client and you have directly everything you need on Discourse would indeed be amazing. If you could use it publicly (for public discussions) and privately (for one-on-one or multi-users private discussions), it would be incredible.

I’ve seen discussions on meta about some video-conference integrations lately. Is there something which would already do this ? (hopefully with the video portion as optional)

A guy was interested to do something with Mumble 2 years ago, but it didn’t get much love (he was mainly interested by one-on-one private discussions):

Did you see I was linking to a WebRTC fork of Mumble in my most recent post reply?

https://github.com/Johni0702/mumble-web/tree/webrtc

I found it because Disroot.org seems to have that version working successfully on their Discourse at https://forum.disroot.org/

I sure did see your link. Did you try to install it ? It is a little more intimidating than to have an all-packaged plugin to install. And there will be a few things missing, I guess: Create the users and the rooms (public or private) on the Mumble server, for example. Nothing extremely complicated, but a plugin using what you provided and taking care of all the details would be great.

1 Like

I did install it a few months back. I’ll need to look through my notes on it. I grew a little confused on proper setup, similar to what you’ve mentioned regarding some specific paper cuts.

1 Like

So I got a server up, but how do I get a JSON and CVP for the Discourse plug-in?