Files
VOIP/docs/plans/2026-02-15-voip-asterisk-freepbx-design.md
consultoria-as 8f51fcfa05 docs: initial project setup - Asterisk 20 + FreePBX 17 PBX
Phase 1 installation completed (8/10 tasks):
- Ubuntu 24.04, Asterisk 20.18.2 compiled from source
- FreePBX 17.0.25 with PJSIP extensions (1001, 1002)
- MariaDB 10.11.14, Apache 2.4, PHP 8.3
- nftables firewall and Fail2ban security configured

Pending: softphone testing, IVR/queues config, Phase 2 (PSTN trunks)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 03:30:27 -06:00

4.3 KiB

VoIP PBX Empresarial — Asterisk + FreePBX

Fecha: 2026-02-15 Estado: Aprobado

Objetivo

Implementar un PBX empresarial con Asterisk + FreePBX en servidor fisico propio, escalable, con presencia en Mexico y Estados Unidos. Comunicacion interna primero, conectividad PSTN despues.

Requisitos

  • Uso: PBX empresarial
  • Escala: Indefinida, debe ser escalable
  • Hospedaje: Servidor fisico propio
  • PSTN: Si, en fase posterior
  • Regiones: Mexico + Estados Unidos

Arquitectura

Fase 1 — PBX Interno (sin PSTN)

[Telefonos IP / Softphones]
        | SIP/RTP (LAN)
        v
+-------------------------+
|   Servidor Fisico        |
|   Debian 12 / Rocky 9   |
|   +-- Asterisk 20 LTS   |
|   +-- FreePBX 17        |
|   +-- MariaDB            |
|   +-- Apache/Nginx       |
|   +-- Fail2ban + FW     |
+-------------------------+
  • Extensiones SIP internas
  • IVR, buzon de voz, colas de llamadas, conferencias
  • Sin conexion a PSTN

Fase 2 — Conexion PSTN (trunk SIP)

[Telefonos IP / Softphones]
        | SIP/RTP (LAN)
        v
+-------------------------+         +------------------+
|   Servidor Asterisk      |<--SIP-->|  Trunk SIP (US)  |
|   FreePBX               |         |  (Telnyx/VoIP.ms)|
|                          |         +------------------+
|                          |         +------------------+
|                          |<--SIP-->|  Trunk SIP (MX)  |
|                          |         |  (Telnyx/Telmex) |
+-------------------------+         +------------------+
        |                                     |
        v                                     v
   Llamadas internas              Llamadas a PSTN (MX+US)

Hardware Recomendado

Componente Minimo Recomendado
CPU 2 cores / 2 GHz 4+ cores / 3+ GHz
RAM 4 GB 8-16 GB
Disco 50 GB SSD 120+ GB SSD (grabaciones)
Red 1 Gbps Ethernet 1 Gbps + IP estatica
UPS Recomendado Obligatorio

Stack de Software

Componente Version Proposito
OS Debian 12 (Bookworm) Estabilidad, soporte largo
Asterisk 20 LTS Motor PBX
FreePBX 17 Interfaz web de administracion
MariaDB 10.11+ Base de datos
PHP 8.2 Requerido por FreePBX
Apache 2.4 Servidor web para GUI
Fail2ban 1.0+ Proteccion contra ataques SIP
iptables/nftables Sistema Firewall

Proveedores de Trunk SIP (Fase 2)

Opcion A — Un solo proveedor (Recomendada): Telnyx

Concepto Costo
DID US ~$1.00/mes
DID Mexico ~$1.00/mes
Entrante US $0.0075/min
Saliente US $0.009/min
Saliente MX (fijo) ~$0.01-0.02/min
Saliente MX (celular) ~$0.02-0.05/min
Canales simultaneos Ilimitados (plan por minuto)
Contratos Sin contrato

Opcion B — Economico (prepago): VoIP.ms

Concepto Costo
DID US $0.85/mes
DID Mexico ~$3-10/mes
Entrante US $0.009/min
Saliente US $0.01/min
Canales simultaneos Ilimitados
Contratos Prepago, sin contrato

Opcion C — Redundancia dual: Telnyx + BulkVS

Telnyx como primario para ambos paises. BulkVS como respaldo US ultra-barato ($0.06/mes DID, $0.0003/min entrante).

Opcion D — Mexico con telco local: Telmex + Telnyx

Telmex Troncal IP para Mexico (~$224 MXN/mes + IVA, minimo 10 troncales, contrato 12-36 meses, codec G.729). Telnyx para US.

Seguridad

  • Firewall: Solo puertos SIP (5060/5061) y RTP (10000-20000) hacia IPs conocidas
  • Fail2ban: Reglas especificas para Asterisk
  • TLS/SRTP: Cifrado de senalizacion y audio
  • Contrasenas fuertes: Minimo 16 caracteres aleatorios para extensiones SIP
  • VLAN separada para trafico VoIP
  • Actualizaciones regulares del OS y Asterisk

Fases de Implementacion

Fase 1: PBX Interno

  1. Preparar servidor fisico (OS, red, seguridad base)
  2. Instalar dependencias (PHP, MariaDB, Apache)
  3. Instalar Asterisk 20 LTS desde fuente
  4. Instalar FreePBX 17
  5. Configurar firewall y Fail2ban
  6. Crear extensiones SIP de prueba
  7. Configurar IVR, buzones de voz, colas
  8. Conectar telefonos IP / softphones
  9. Pruebas de llamadas internas

Fase 2: Conexion PSTN

  1. Contratar proveedor de trunk SIP
  2. Configurar trunk en FreePBX
  3. Configurar rutas entrantes/salientes
  4. Adquirir DIDs (MX + US)
  5. Pruebas de llamadas externas
  6. Configurar failover si aplica