El manual completo
Una guía en lenguaje claro para instalar KatoCall en un servidor y ponerlo a facturar llamadas reales. Sigue las partes en orden — no necesitas experiencia en telecomunicaciones.
Empieza aquí
KatoCall es una centralita con un motor de facturación incorporado. Tus clientes hacen llamadas a través de ella; comprueba su saldo, elige la ruta de salida más barata, cronometra la llamada y la factura — automáticamente.
Compras minutos a un operador a un precio y se los vendes a los clientes a uno mayor. KatoCall guarda ambos y conserva la diferencia en cada llamada.
Bueno saber: KatoCall no convierte divisas. Elige una moneda en Ajustes (el dólar estadounidense es la predeterminada) y úsala para comprar y vender, así cada margen es una simple resta.
Parte 1
Esto se hace una sola vez, en un servidor nuevo. Si alguien técnico prepara el servidor por ti, entrégale esta parte.
| Un servidor | Debian 12 (Bookworm), 64 bits — recién instalado. Sirve cualquier VPS decente (OVH, Hetzner, DigitalOcean, Vultr). |
|---|---|
| Tamaño | 2 núcleos de CPU, 4 GB de RAM, 20 GB de disco. 2 GB de RAM es el mínimo. |
| Una IP pública | El servidor necesita su propia dirección en internet — te la da tu proveedor. |
| Acceso al servidor | La contraseña de root, o un usuario con sudo. |
| De tu operador | Una troncal SIP (su host, y una IP autorizada o un usuario/contraseña), más los números (DID) que tengas. |
| Un nombre de dominio (opcional) | Solo si quieres el candado https. Puedes empezar sin uno y añadirlo después. |
Copia katocall-1.0.0.tar.gz en el servidor y ejecuta estos comandos de uno en uno. Cada uno muestra lo que hace y se detiene con un mensaje claro si falta algo.
El primer comando no cambia nada — confirma que el servidor está listo y te avisa si falta algo.
# unpack the package tar -xzf katocall-1.0.0.tar.gz cd katocall-1.0.0 # revisa el servidor (seguro — no cambia nada) sudo bash install/00-preflight.sh
Ejecútalos uno a uno. El número 01 compila el motor telefónico y tarda 10–20 minutos; el resto son rápidos.
sudo bash install/01-install-asterisk.sh # el motor telefónico (10–20 min) sudo bash install/02-install-base-stack.sh sudo bash install/03-setup-admin-panel.sh sudo bash install/04-configure-ami.sh sudo bash install/05-production-hardening.sh sudo bash install/06-configure-did-forwarding.sh sudo bash install/07-configure-fail2ban.sh sudo bash install/08-configure-nat.sh sudo bash install/09-configure-outbound.sh sudo bash install/11-configure-backups.sh sudo bash install/12-configure-dialer.sh # solo si quieres el marcador
Del 01 al 09 son obligatorios. El paso 12 es solo para el marcador — omítelo y todo lo demás funciona igual.
Ejecuta unas 65 comprobaciones — cada servicio, el firewall, los respaldos, la seguridad — y nombra qué corregir en lo que falle.
sudo bash install/verify.sh PASS 66 WARN 1 FAIL 0
Abre la dirección del servidor en un navegador e inicia sesión. Te obliga a cambiar la contraseña de inmediato — nada funciona hasta que la cambias.
http://your-server-address/adminKatocallAntes de llamadas reales: activa HTTPS. Hasta que lo hagas, el panel usa http sin cifrar y tu inicio de sesión viaja por internet sin protección. Cuando un dominio apunte al servidor, ejecuta:
sudo bash install/10-configure-tls.sh panel.yourcompany.com you@yourcompany.com
Parte 2
Ya estás en el panel. Crea estas seis cosas en este orden — cada una usa la anterior. Todo está en el menú de la izquierda.
Un proveedor (Supplier) es un operador al que le compras minutos. Empieza aquí porque todo lo demás apunta a él. Abre Suppliers → New Supplier y ponle un nombre.
Una tarifa (Rate Card) es una lista de precios, una línea por destino (un prefijo como 1 para EE. UU. o 44 para el Reino Unido). Crea dos tipos:
No teclees cientos de prefijos: abre la tarjeta y pulsa Import CSV para cargar el fichero de precios de tu operador de una vez.
Bueno saber: Las tarifas se guardan con 4 decimales; un fichero con 5 decimales se redondea al importar.
Una troncal (Trunk) es la conexión en vivo con un proveedor. Abre Trunks → New Trunk. Importan dos cosas:
Tras guardar, usa Test Call para comprobar que marca antes de dirigir clientes hacia ella.
El nombre de una troncal no puede llevar espacios — usa IDT-GOLD, no IDT GOLD.
Un grupo de enrutamiento dice: para este tipo de número, prueba estas troncales, en este orden. Dos ajustes:
Si la primera troncal está ocupada o falla, KatoCall pasa a la siguiente. Usa Preview para escribir un número y ver qué troncal usaría.
Una cuenta (Account) es un cliente. Abre Accounts → New Account. Las decisiones importantes:
Bueno saber: Toda cuenta que hace llamadas salientes necesita una Rate Card de cliente que cubra los prefijos que vendes — de lo contrario esas llamadas se rechazan (nunca se facturan a cero).
Un DID es un número al que la gente llama para contactar a uno de tus clientes. Abre la cuenta, ve a DIDs → Add DID, escribe el número y a dónde se reenvía. (Guarda la cuenta primero.)
Cada campo del panel tiene un pequeño ? al lado que explica para qué sirve, en los diez idiomas. Settings → Network envía tu configuración al motor telefónico tras cambios importantes.
Parte 3
El marcador llama a una lista de números, reproduce un mensaje grabado y deja que las personas pulsen una tecla para conectarse, pedir una devolución de llamada o darse de baja. Antes hay que hacer el paso 12 de la instalación.
Ten claro qué es: es un marcador de potencia (power dialer), no predictivo. Sin detección de contestador (un buzón de voz cuenta como contestado) y sin ritmo automático — tú fijas un número fijo de llamadas simultáneas. Funciona en un servidor a la vez.
Abre Dialer Campaigns → New Campaign. Elige la cuenta a la que factura, ponle nombre y ajusta el ritmo: Max Concurrent Calls, Max Attempts y el Retry gap.
Sube el Prerecorded Message que suena al contestar. Luego arma el IVR Menu — qué hace cada tecla:
En la sección Contacts de la campaña, pulsa Upload CSV — un fichero sencillo de números de teléfono.
Pulsa Start y empieza a marcar en segundos; Pause lo detiene igual de rápido. Al terminar, Download Results da un fichero con lo que pasó con cada número.
Parte 4
Cuatro comandos cubren casi todo lo que harás en el servidor.
sudo bash install/verify.sh # ¿está todo sano? sudo /usr/local/sbin/katocall-backup # haz un respaldo ahora sudo bash install/upgrade.sh # aplica una versión más nueva sudo bash install/uninstall.sh # quítalo (conserva tus datos)
Tus respaldos están en el mismo disco que protegen. Cópialos a otro sitio de forma periódica, o un fallo de disco se lleva los datos y su único respaldo juntos.
Antes de fiarte de un informe de ingresos, puedes probar que las cuentas cuadran al céntimo:
sudo -u softswitch admin/backend/venv/bin/python admin/backend/manage.py verify_ledger
Parte 5
Sea cual sea el problema, sudo bash install/verify.sh es lo primero que hay que ejecutar. Comprueba ~65 cosas y nombra el script a re-ejecutar.