Conmutador autoalojado para Ubuntu 24.04

Tu conmutador, en tu servidor

MonoPbx es un PBX SIP con el núcleo escrito en Rust, rtpengine para el audio, una consola en el navegador y apps para iOS, Android y macOS. Se instala con un comando. Las grabaciones, el historial y la configuración se quedan en tu disco.

Lo hicimos porque queríamos un conmutador que se configura en una tarde y que un año después todavía entiendes.

7 días gratis; después, una licencia.

Consola web de MonoPbx, página Historial de llamadas: filtros por dirección, resultado, fechas y números, exportación a CSV, XLSX y PDF, y una lista de llamadas internas entre las extensiones 103, 104 y 106 con su resultado y duración.
Historial de llamadas en la consola web. Llamadas de prueba en nuestro PBX de laboratorio.

Qué trae

Cada instalación trae todo. No hay ediciones que comparar ni módulos que comprar aparte.

Llamadas

Troncales SIP y DID, un plan de marcación que convierte lo que marca la gente a E.164, horarios, desvíos, transferencia, estacionamiento y captura. El B2BUA es nuestro, en Rust; rtpengine mueve el audio.

SIP 5060 UDP/TCP · TLS 5061 · WSS /sip
Opus · G.722 · G.711 · G.729

Colas

Colas y grupos de timbrado, devolución de llamada desde la cola, pizarras y herramientas para supervisores. Los agentes entran y salen marcando un código desde cualquier teléfono.

*62 entrar · *63 salir

IVR y flujos

Menús IVR con marcación por extensión y una biblioteca de mensajes: sube MP3, WAV u Ogg, o graba el saludo desde el navegador. Si un menú se queda corto, dibuja el flujo en un lienzo, simula una llamada y publícalo como versión nueva.

Buzón y grabación

Buzones personales y compartidos, buzón de voz al correo. Grabación por regla o a pedido, con aviso de consentimiento, pausa, retención y retención legal. Las grabaciones se cifran en disco.

Bandeja compartida

SMS, WhatsApp, Facebook Messenger, Telegram y un chat para tu sitio web llegan a una sola bandeja. Al lado está el chat del equipo.

Teléfonos de escritorio

Aprovisionamiento por dirección MAC para Yealink, Grandstream, Cisco MPP, Fanvil, Snom, Poly y Htek, con teclas de línea y BLF. Configuras la opción 66 de DHCP una vez y los teléfonos nuevos se configuran solos.

https://<tu servidor>/prov/

Página Reportes de MonoPbx: estadísticas por extensión de los últimos 7 días con llamadas hechas, contestadas, recibidas, perdidas y tiempos de conversación, y botones para exportar a CSV, XLSX y PDF.
Reportes: estadísticas por extensión de los últimos 7 días. Cada reporte se exporta a CSV, XLSX y PDF.
Fax

Manda un PDF desde el cliente web. Los faxes que llegan te los entrega por correo.

Reportes

Historial de llamadas y CDR en ClickHouse, reportes por cola y por agente, exportación a CSV, XLSX y PDF. Bitácora de auditoría e historial de cambios desde el que puedes revertir un ajuste.

Varias empresas

Una instalación puede alojar varias empresas, cada una con sus usuarios, números y ajustes, separadas fila por fila en PostgreSQL.

API

API REST con documento OpenAPI, webhooks firmados, un WebSocket de eventos y un servidor MCP para herramientas de IA.

IA, si la quieres

Viene apagada hasta que la empresa la enciende. Agentes de voz como un paso del flujo, transcripciones, resúmenes y ayuda al agente durante la llamada. La llave la pones tú: Anthropic Claude de forma predeterminada o cualquier API compatible con OpenAI.

Idiomas

La consola y las apps están en inglés, español de México, portugués de Brasil, francés, alemán, italiano, ruso, chino y japonés.

Cada código corto es un ajuste

Los códigos de servicio empiezan con * y traen los valores de abajo. Cada empresa puede cambiarlos en la página Códigos de marcación; el cambio aplica desde la siguiente llamada. El teléfono del navegador lee los códigos reales de la empresa.

MarcaQué pasa
*00 … *09Estaciona la llamada en el lugar 0 a 9
*10 … *19Toma la llamada que lleva más tiempo en ese lugar
*20*102Contesta la llamada que está sonando en la 102
*61 / *60No molestar: activar / quitar
*86Tu buzón de voz
*22Llamada de prueba: el PBX cuelga y te devuelve la llamada con música
*62 / *63Entrar / salir de todas tus colas
*35 / *36Forzar tu horario a abierto / cerrado
Página Códigos de marcación y estacionamiento de MonoPbx: código para estacionar 0, para recuperar 1, diez lugares, y campos para captura dirigida, intercomunicador, no molestar y horarios.
Códigos de marcación y estacionamiento, en la consola de administración.

MonoPhone, en el celular que ya traes

Apps nativas para iOS, Android y macOS, y un softphone WebRTC dentro del cliente web para quien no quiera instalar nada.

Cuando entra una llamada, el teléfono despierta con un push VoIP en iOS y un mensaje de alta prioridad en Android; la app no tiene que estar abierta. Para entrar se escanea un código QR desde el cliente web. Nadie teclea contraseñas SIP.

La llamada sigue cuando el celular pasa del Wi-Fi a los datos. En espera, transferir, estacionar, grabar, agregar llamada, buzón, presencia y chat: todo está en la app. También funciona con CarPlay y Android Auto.

iOS · Android · macOS · Navegador (WebRTC) · CarPlay · Android Auto

Marcador de MonoPhone en un celular. MonoPhone durante una llamada, con botones de silencio, teclado, altavoz, espera, agregar llamada, transferir, grabar y estacionar. Chat del equipo en MonoPhone.

Se conecta con

Ventana con los datos de quien llama, registro de llamadas y clic para marcar en tu CRM y tu mesa de ayuda. Las credenciales se sellan con la llave de tu empresa y no se vuelven a mostrar.

Hoy: HubSpot, Salesforce, Zoho CRM, Pipedrive, Odoo, Zendesk, Jira, cualquier CRM con API HTTP, directorios de Microsoft 365 y LDAP / Active Directory, inicio de sesión con OpenID Connect, Twilio o cualquier API HTTP de SMS, WhatsApp, Messenger, Telegram, webhooks, MCP.

En desarrollo, todavía no publicado: Microsoft Teams, Kommo, Bitrix24, Zapier, Make, n8n, Freshdesk, ServiceNow, Slack, Shopify, WooCommerce, Mercado Libre, Stripe, Mercado Pago, SCIM, una extensión para el navegador.

Instalar

En un servidor nuevo con Ubuntu 24.04 e IP pública, corre:

curl -fsSL https://ilinaya.github.io/monopbx-apt/install.sh | sudo bash

La configuración pide un correo para el certificado de Let’s Encrypt. Agrega también tu dominio; sin --domain el servidor se llama <ip>.sslip.io:

curl -fsSL https://ilinaya.github.io/monopbx-apt/install.sh | sudo bash -s -- --domain pbx.example.com --email you@example.com

Después

  1. Abre la consola. Al final, el instalador imprime la dirección de tu consola y un enlace de configuración de un solo uso. ¿Lo perdiste? sudo monopbx setup-url te da otro.
  2. Crea tu cuenta. Correo, contraseña y luego un código de tu app de autenticación. Es el primer administrador de tu PBX.
  3. Empieza tu prueba gratis de 7 días. Todo viene encendido. Agrega una troncal SIP, crea extensiones y entra a MonoPhone con el código QR.
ubuntu@pbx:~Así termina la instalación
curl -fsSL https://ilinaya.github.io/monopbx-apt/install.sh | sudo bash -s -- --domain pbx.example.com --email you@example.com
==> Prerequisites
==> MonoPbx APT repository: https://ilinaya.github.io/monopbx-apt
    signing key verified: 320D C78E FDC8 439C 04F5  FCA6 3E87 FE3D 4C71 5372
==> Installing monopbx (with Ubuntu's docker.io and docker-compose-v2 unless Docker is already installed)
    monopbx 0.1.0~edge
==> monopbx setup --domain pbx.example.com --email you@example.com
    …
==> MonoPbx is ready
    console:        https://pbx.example.com
    web softphone:  wss://pbx.example.com/sip
    SIP:            pbx.example.com port 5060 (UDP/TCP), 5061 (TLS)
    first admin:    open the single-use setup link printed above (.../setup#token=...)
    manage:         monopbx status | logs | sudo monopbx backup | upgrade | uninstall

Requisitos

Sistema
Ubuntu 24.04 LTS, amd64. En otro sistema el instalador se detiene sin cambiar nada.
Equipo
2 CPU, 4 GB de RAM, 20 GiB libres en /var/lib
Red
Una IP pública. El nombre DNS es opcional.

Puertos

80/tcpValidación del certificado, redirección a HTTPS
443/tcpConsola, API, teléfono del navegador (wss://…/sip)
5060 udp+tcpSIP
5061/tcpSIP sobre TLS
30000–40000/udpAudio RTP. Sin estos puertos la llamada conecta, pero nadie se oye.

Si ufw está activo, la configuración abre estos puertos. Abre los mismos en el firewall de tu nube.

¿No usas Ubuntu? Hay un paquete de Docker Compose (también para arm64) y manifiestos de Kubernetes con Kustomize. Guía de Docker Compose · Guía de Kubernetes · Guía completa de instalación

Precio

Pagas por llamadas simultáneas, no por usuario. Todos los planes traen usuarios ilimitados y todas las funciones: agentes de IA con tu propia llave, centro de contacto, bandeja compartida, las apps y las integraciones.

Llamadas simultáneasPor año (USD)
4$199
8$249
16$499
32$899
64$1,599
128+Escríbenos
  • Las llamadas entre tus propios teléfonos nunca cuentan.
  • El pago mensual sale alrededor de 20% más caro.
  • Para alojar varias empresas en una instalación: los mismos planes, más 5 USD por empresa al mes.
  • Todos los planes empiezan con 7 días gratis después de instalar. La licencia se compra en la consola.

Se cobra por llamadas simultáneas, como 3CX, y todo viene incluido.

Dónde viven tus datos

En tu disco
Configuración, grabaciones, buzones, chats e historial viven en tu PostgreSQL, tu ClickHouse y tu almacenamiento. Ninguna llamada pasa por nosotros.
Una excepción: el push
Para despertar un celular cuando entra una llamada, tu servidor manda una notificación por el relay push de MonoPbx. Si instalas con --no-relay, las apps solo timbran mientras están abiertas.
Cifrado en reposo
Las grabaciones y los archivos se cifran en disco de forma predeterminada. Las credenciales de CRM y proveedores se sellan con la llave de tu empresa.
Inicio de sesión
Doble factor, inicio de sesión único con OpenID Connect y lista de IP permitidas para administradores.
El borde SIP
Bloqueo por país, listas de permitidos y bloqueados, baneo automático y STIR/SHAKEN para el identificador de llamadas.
Respaldos
Cifrados, programados y se restauran en un servidor nuevo. sudo monopbx backup hace uno en este momento.

Preguntas

¿Ya está listo para producción?

El repositorio APT tiene versiones preliminares (0.1.0~edge) hasta que etiquetemos la primera versión. La documentación dice, página por página, qué funciona hoy y qué está planeado. Pruébalo primero en un servidor de sobra.

¿Qué pasa después de los 7 días?

Compras una licencia en la consola, según cuántas llamadas necesitas al mismo tiempo. Los precios están arriba, en la sección Precio.

¿Necesito mi propio dominio?

No. Sin --domain el servidor toma un nombre en sslip.io a partir de su IP y aun así obtiene un certificado válido. Usa tu dominio cuando lo tengas.

¿Cómo se actualiza?

sudo apt-get upgrade. Antes, el paquete hace un pg_dump; luego corre las migraciones y una autoprueba, y si algo falla regresa solo a la versión anterior.

¿Qué teléfonos de escritorio sirven?

Hay plantillas de aprovisionamiento para Yealink, Grandstream, Cisco MPP, Fanvil, Snom, Poly y Htek. Cualquier teléfono SIP estándar se puede registrar a mano.

¿Qué proveedores de IA puedo usar?

Anthropic Claude de forma predeterminada, o cualquier API compatible con chat completions de OpenAI. Cada empresa pone su propia llave. La IA está apagada hasta que la empresa la enciende.