Asterisk – Telefonía IP de Código Abierto

1. ¿Qué es Asterisk?

Asterisk es un software de código abierto que convierte un computador común en una central telefónica (PBX). Fue creado por Mark Spencer en 1999 y es mantenido por Sangoma Technologies.

  • Permite manejar llamadas telefónicas mediante protocolos VoIP y tradicionales.
  • Soporta múltiples funcionalidades: buzón de voz, IVR, conferencias, grabaciones, etc.
  • Funciona sobre Linux y es altamente modular y escalable.

2. Protocolos Soportados

ProtocoloFunciónCaracterísticas
SIP (Session Initiation Protocol)Establece, gestiona y termina llamadasEl más usado, estándar abierto
IAX (Inter-Asterisk eXchange)Canal propio de Asterisk para comunicar entre servidoresMenos consumo de ancho de banda, ideal para NAT
H.323Protocolos más antiguos para videollamadasUsado aún en entornos corporativos legacy
MGCP / SCCPProtocolos propietarios (Cisco, etc.)Soporte limitado

3. Conceptos Clave

  • PBX (Private Branch Exchange): Central telefónica privada que conecta extensiones internas y líneas externas.
  • Dialplan: Corazón de Asterisk; define cómo enrutar llamadas, qué acciones tomar (definido en extensions.conf).
  • Extensión: Número lógico que identifica un dispositivo o usuario.
  • Troncal (Trunk): Canal de comunicación con el exterior (otra PBX, proveedor SIP).
  • Codec: Algoritmo que comprime/convierte voz. Ej: G.711, G.729, Opus.
  • Contexto: Segmentación lógica del dialplan.

4. Arquitectura

5. Aplicaciones Prácticas

  1. Central telefónica para empresas Internos, buzón de voz, grabaciones, IVR, transferencia, conferencias.
  2. Llamadas entre sedes o sucursales Conexión de múltiples oficinas mediante IAX o SIP Trunks.
  3. Call Centers Enrutamiento de llamadas, colas, estadísticas, integración con CRM.
  4. Servicios de emergencia o automatizados IVR interactivo para soporte técnico, agendamiento, etc.
  5. Voicemail a email Envío de mensajes de voz como archivos adjuntos por correo.

6. Archivos Principales

7. Comandos Básicos en la CLI de Asterisk

asterisk -rvvv # Acceder a la consola interactiva
sip show peers # Mostrar dispositivos SIP registrados
core show channels # Ver llamadas activas
dialplan reload # Recargar el dialplan
sip reload # Recargar configuraciones SIP

8. Herramientas Complementarias

  • FreePBX: Interfaz web para administrar Asterisk (muy usada en pymes).
  • Elastix / Issabel: Distribuciones completas basadas en Asterisk + GUI.
  • Zoiper / Linphone: Softphones para probar llamadas.

9. Buenas Prácticas

  • Usar extensiones numéricas ordenadas y descriptivas.
  • Configurar correctamente NAT y puertos.
  • Utilizar firewall y fail2ban para proteger el servidor.
  • Realizar backups periódicos.
  • Monitorizar el sistema con herramientas como Asterisk Exporter + Prometheus.

10. Instalemos Asterisk

En nuestro laboratorio realizaremos La Instalación de un Servidor Asterisk en Debian.