Guía de tecnologías

Cómo instalar Asterisk para tu primera solución PBX

6 min read Telefonía Actualizado 28 Sep 2025
Instalar Asterisk: guía para tu primera PBX
Instalar Asterisk: guía para tu primera PBX

Introducción

Asterisk es una plataforma de telefonía open source que permite montar una PBX completa. Es una opción popular por su flexibilidad y abundante soporte tanto en interfaces de línea de comandos como en paneles GUI (propietarios y libres). En este documento usaremos las versiones indicadas en el ejemplo (Zaptel, libpri, Asterisk 1.4 y complementos) y explicaremos las piezas clave para tener una PBX funcional.

Definición breve: Asterisk es un motor de comunicaciones que enruta llamadas, gestiona codecs y permite crear planes de marcado (dialplans) y troncales SIP.

Requisitos previos

Importante: Asterisk 1.4, como en el ejemplo, requiere un kernel 2.6 y los headers del kernel para compilar. También necesita gcc y librerías como termcap y openssl. Los asterisk-addons requieren los headers de MySQL si vas a compilar funciones que dependen de MySQL.

Chequear antes de empezar:

  • Kernel 2.6 y headers instalados (por ejemplo, linux-headers- en Debian/Ubuntu).
  • gcc, make, autoconf y librerías de desarrollo instaladas.
  • Paquetes opcionales: libssl-dev, libncurses-dev, libmysqlclient-dev.
  • Permisos de root o sudo.
  • Espacio en /usr/src/ para descomprimir los tar.gz.

Nota: Si usas una distribución moderna, considera instalar una versión actual de Asterisk (3.x / 18.x) por soporte y seguridad. Esta guía sigue los ejemplos de Asterisk 1.4 para compatibilidad con los paquetes listados en el original.

Descarga de archivos

Descarga los siguientes tarballs y cópialos al servidor (ej.: /usr/src/):

  1. zaptel
  2. libpri
  3. asterisk
  4. asterisk-sounds
  5. asterisk-addons

Mantén los nombres de archivo originales; en esta guía asumimos que están en /usr/src/.

Instalación básica (pasos)

A continuación están los pasos tal como en el ejemplo. Ejecuta desde /usr/src/.

  1. tar -xzf zaptel-1.4.12.1.tar.gz
  2. tar -xzf libpri-1.4.9.tar.gz
  3. tar -xzf asterisk-1.4.20.tar.gz
  4. tar -xzf asterisk-sounds-1.2.1.tar.gz
  5. tar -xzf asterisk-addons-1.4.7.tar.gz
  6. cd zaptel-1.4.12.1
  7. ./configure
  8. make
  9. make install
  10. make config
  11. service zaptel start
  12. cd ..
  13. cd libpri-1.4.9
  14. make
  15. make install
  16. cd ..
  17. cd asterisk-1.4.20
  18. ./configure
  19. make
  20. make install
  21. make samples
  22. make config
  23. cd ..
  24. cd asterisk-sounds
  25. make install
  26. cd ..
  27. cd asterisk-addons-1.4.7
  28. ./configure
  29. make
  30. make install
  31. service asterisk start

Importante: Ejecuta cada bloque (configure → make → make install) y revisa errores en la salida. Si hay errores, normalmente faltan paquetes de desarrollo o headers.

Crear la primera extensión SIP

Edita /etc/asterisk/sip.conf y añade las siguientes líneas para crear plantillas y extensiones básicas. El bloque [common] se usa como plantilla.

[common](!) ; este es un template.
type=friend
context=internal
host=dynamic
disallow=all
allow=ulaw
allow=alaw
allow=g723
allow=g729
dtmfmode=rfc2833

[1000](common)
username=1000
secret=1000

[1001](common)
username=1001
secret=1001

[1002](common)
username=1002
secret=1002

[1003](common)
username=1003
secret=1003

[1004](common)
username=1004
secret=1004

Explicación rápida: cada bloque [1000] crea una extensión SIP que podrá registrarse desde un cliente (por ejemplo X-Lite, teléfonos Cisco SIP o ATA). Ajusta los secretos por seguridad.

Nota: Los codecs g723 y g729 pueden requerir licencias o módulos adicionales; si no los necesitas, usa ulaw/alaw para compatibilidad.

Crear el plan de marcado (Dialplan)

Edita /etc/asterisk/extensions.conf y añade el contexto que usarán tus extensiones:

[internal]
exten=> _XXXX,1,Dial(SIP/${EXTEN})

Esto permite que cualquier extensión de 4 dígitos (XXXX) marque a otra extensión registrada. Asterisk usa patrones (por ejemplo _XXXX) para emparejar extensiones.

Consejo: Prueba la conectividad entre dos softphones registrados antes de añadir troncal.

Añadir una troncal SIP para llamadas salientes

Para hacer y recibir llamadas hacia/desde la PSTN necesitas un proveedor SIP (ITSP) y normalmente una IP pública o NAT correctamente configurado.

Añade un bloque tipo trunk en sip.conf:

[trunk]
type=friend
context=internal
host=
disallow=all
allow=ulaw
allow=alaw
allow=g723
allow=g729
dtmfmode=rfc2833

Luego, añade al plan de marcado una regla para llamadas salientes (ejemplo para números largos):

[internal]
exten=> _XXXX,1,Dial(SIP/${EXTEN})
exten => _XXXXXXX.,1,Dial(SIP/trunk1/${EXTEN})

Sustituye por la IP o el dominio que te facilite tu proveedor. A veces el proveedor requiere autenticación; en ese caso usa los parámetros username/secret y type=peer.

Pruebas y resolución de problemas

Pasos de verificación:

  • Reinicia Asterisk: service asterisk restart.
  • Verifica que los módulos se carguen: asterisk -rvvvvv y dentro de la consola: sip show peers, sip show registry.
  • Comprueba registros de registro (registrations) y llamadas: core show channels.
  • Si los teléfonos no se registran, revisa firewall y NAT.

Errores comunes y soluciones:

  • No se registra el teléfono: comprobar sip.conf (host=dynamic), credenciales y puerto 5060 abierto.
  • No hay audio: problema típico de NAT; habilita NAT settings en sip.conf (externip/externalip, localnet) o configura STUN/ALG correctamente.
  • Códecs no coinciden: asegúrate de que ambos extremos soportan el mismo codec.

Importante: Desactiva temporalmente reglas estrictas del firewall mientras haces pruebas iniciales, pero vuelve a activarlas con reglas específicas cuando termines.

Seguridad básica y buenas prácticas

  • Cambia todas las contraseñas por defecto (secret) por contraseñas fuertes.
  • Limita acceso al puerto SIP (5060) mediante listas de control (iptables/ufw) para rangos IP conocidos.
  • Habilita fail2ban o similar para bloquear intentos de fuerza bruta sobre SIP.
  • Usa TLS/SRTP si tu proveedor y endpoints lo soportan para cifrar señalización y medios.
  • Mantén el sistema operativo y Asterisk actualizados; Asterisk 1.4 es antiguo y tiene vulnerabilidades conocidas, evalúa actualizar a una versión soportada.

Compatibilidad y migración

  • Asterisk 1.4 y los paquetes Zaptel/libpri del ejemplo funcionan bien con hardware y gateways antiguos. Para hardware FXO/FXS moderno busca compatibilidad con DAHDI, que reemplaza a Zaptel en versiones posteriores.
  • Si planeas migrar a Asterisk 13/16/18, revisa cambios en sintaxis y módulos; prueba la configuración en un entorno de staging antes de migrar producción.

Checklist rápido (rol: instalador)

  • Tener backups de /etc/asterisk antes de cambiar archivos.
  • Instalar paquetes de desarrollo y headers del kernel.
  • Descomprimir y compilar Zaptel/libpri/Asterisk en orden.
  • [ ] Ejecutar make samples para obtener archivos de ejemplo.
  • Configurar sip.conf y extensions.conf y reiniciar Asterisk.
  • Probar registro de clientes y llamada interna.
  • Probar troncal con proveedor y llamadas salientes.

Criterios de aceptación

  • Todos los teléfonos SIP configurados se registran correctamente.
  • Llamadas internas entre extensiones funcionan sin problemas de señalización.
  • Llamadas salientes pasan por la troncal SIP del proveedor.
  • Logs y monitoreo muestran estabilidad sin errores críticos.

Mini-playbook de rollback

Si una configuración nueva rompe la PBX:

  1. Restaurar los archivos respaldados de /etc/asterisk.
  2. Reiniciar Asterisk: service asterisk restart.
  3. Revisar logs en /var/log/asterisk/messages para validar estado.
  4. Si el problema persiste, revertir cambios de red (firewall/NAT) y consultar soporte.

Resumen

Esta guía cubre la instalación paso a paso de Asterisk 1.4 con Zaptel y libpri, la creación de extensiones SIP, el plan de marcado y la configuración de una troncal SIP para llamadas salientes. Incluye comprobaciones, resolución de problemas comunes, seguridad básica y listas de verificación para producción inicial.

Si tienes dudas específicas sobre compatibilidad con hardware, proveedores o migración a versiones modernas, consulta la documentación oficial de Asterisk o contacta con tu proveedor.

Para cualquier consulta escribe a: Gventure.

Autor
Edición

Materiales similares

Podman en Debian 11: instalación y uso
DevOps

Podman en Debian 11: instalación y uso

Apt-pinning en Debian: guía práctica
Sistemas

Apt-pinning en Debian: guía práctica

OptiScaler: inyectar FSR 4 en casi cualquier juego
Guía técnica

OptiScaler: inyectar FSR 4 en casi cualquier juego

Dansguardian + Squid NTLM en Debian Etch
Redes

Dansguardian + Squid NTLM en Debian Etch

Arreglar error de instalación Android en SD
Android

Arreglar error de instalación Android en SD

Conectar carpetas de red con KNetAttach
Redes

Conectar carpetas de red con KNetAttach