Mumble es una aplicación de voz sobre IP (VoIP) diseñada principalmente para que la utilicen jugadores y es similar a programas como TeamSpeak . [6]
Mumble utiliza una arquitectura cliente-servidor que permite a los usuarios comunicarse entre sí a través del mismo servidor. [7] Tiene una interfaz administrativa muy simple y presenta alta calidad de sonido y baja latencia . Toda la comunicación está encriptada. [8]
Mumble es un software gratuito y de código abierto , es multiplataforma y se publica bajo los términos de la licencia BSD-3-Clause . [5]
Un servidor Mumble (llamado Murmur ) tiene un canal raíz y un árbol jerárquico de canales debajo. Los usuarios pueden conectar canales temporalmente para crear canales virtuales más grandes. Esto resulta útil durante eventos más grandes en los que un pequeño grupo de usuarios puede estar chateando en un canal, pero están vinculados a un canal común con otros usuarios para escuchar anuncios. También coincide con los juegos de disparos en primera persona (FPS) por equipos . Cada canal tiene asociado un conjunto de grupos y listas de control de acceso que controlan los permisos de los usuarios. El sistema admite muchos escenarios de uso, a costa de una mayor complejidad de configuración. [9]
Mumble utiliza el códec de audio de baja latencia Opus a partir de la versión 1.2.4, [10] el códec que sucede a los valores predeterminados anteriores Speex y CELT . Este y el resto del diseño de Mumble permiten una comunicación de baja latencia, lo que significa un retraso más corto entre el momento en que se dice algo en un extremo y el momento en que se escucha en el otro. Mumble también incorpora cancelación de eco para reducir el eco cuando se utilizan altavoces o hardware de sonido de mala calidad.
Mumble se conecta a un servidor a través de un canal de control TLS , y el audio viaja a través de UDP cifrado con AES en modo OCB . [11] A partir de la versión 1.2.9, Mumble ahora prefiere los conjuntos de cifrado ECDHE + AES-GCM si es posible, lo que proporciona Perfect Forward Secrecy. [12] Si bien se admite la autenticación de contraseña para los usuarios, desde la versión 1.2.0 normalmente se evita en favor de una autenticación sólida en forma de certificados de clave pública. [13]
Hay una superposición integrada para usar en aplicaciones de pantalla completa. [8] La superposición muestra quién está hablando y en qué canal vinculado se encuentra. A partir de la versión 1.0, los usuarios pueden cargar avatares para representarse a sí mismos en la superposición, creando una experiencia más personalizada. A partir de la versión 1.2, la superposición funciona con la mayoría de las aplicaciones Direct3D 9/10 y OpenGL en Windows y tiene soporte OpenGL para Linux y Mac OS X. [14] Posteriormente se agregó soporte para aplicaciones DirectX 11.
Para ciertos juegos, Mumble modifica el audio para posicionar las voces de otros jugadores según su posición relativa en el juego. [8] Esto no sólo incluye dar una sensación de dirección, sino también de distancia.
Para lograr esto, Mumble envía la posición de cada jugador en el juego a los jugadores del mismo juego con cada paquete de audio. Mumble puede recopilar la información necesaria para hacer esto de dos maneras: lee la información necesaria directamente de la memoria del juego o los juegos la proporcionan ellos mismos a través de la llamada interfaz de complemento de enlace.
El complemento de enlace proporciona a los juegos una forma de exponer la información necesaria para el audio posicional al incluir una pequeña parte del código fuente proporcionado por el proyecto Mumble. [15] Varios juegos de alto perfil han implementado esta funcionalidad, incluidos muchos de los juegos basados en Source Engine de Valve ( Team Fortress 2 , Day of Defeat: Source , Counter-Strike: Source , Half-Life 2: Deathmatch ) [16] [ 17] y Guild Wars 2 . [18] [19]
Hay aplicaciones móviles de terceros disponibles para Mumble, como Mumble para iOS, Plumble para Android (F-Droid, Google Play, Nota: descontinuado en 2016) y Mumla (F-Droid, Google Play).
Mumble encaja en las estructuras tecnológicas y sociales existentes. Como tal, el servidor es totalmente controlable de forma remota a través de ZeroC Ice . [20] Se pueden manipular los canales de usuario y las instancias de servidores virtuales. El proyecto proporciona una serie de scripts de muestra que ilustran las capacidades de la interfaz [21], así como scripts prefabricados que ofrecen características como la autenticación de usuarios utilizando una base de datos existente de phpBB o Simple Machines Forum . [22] El servidor Murmur utiliza el puerto 64738 TCP y UDP de forma predeterminada. El número de puerto se refiere a la dirección de la función de reinicio en un Commodore 64 .
Una implementación minimalista alternativa del servidor mumble (Murmur) se llama uMurmur. [23] Está diseñado para su instalación en dispositivos integrados con recursos limitados, como, por ejemplo, puertas de enlace residenciales que ejecutan OpenWrt . [24]
Como muchos otros clientes VoIP, los servidores Mumble se pueden alquilar o alojar localmente. Alojar un servidor Mumble localmente requiere descargar Murmur (incluido como opción en el instalador de Mumble) y ejecutarlo. La configuración del servidor se logra editando el archivo de configuración. El archivo de configuración contiene información sobre el nombre del servidor, la autenticación del usuario, las restricciones de calidad de audio y el puerto.
La administración del servidor desde dentro requiere que se le otorguen derechos de administrador al usuario, o también se puede realizar iniciando sesión en la cuenta de SuperUsuario. Los administradores dentro del servidor pueden agregar o editar salas, administrar usuarios y ver la información del servidor.