Files
VOIP/docs/INSTALL-LOG.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.0 KiB

Registro de Instalacion — VoIP PBX

Servidor

Aspecto Valor
OS Ubuntu 24.04.3 LTS
Hostname VOIP
IP 192.168.10.228 (DHCP - pendiente configurar estatica)
CPU 4 cores
RAM 7.6 GB
Disco 29 GB SSD
Timezone America/Mexico_City (CST)

Software Instalado

Componente Version Estado
Asterisk 20.18.2 (compilado desde fuente) Corriendo
FreePBX 17.0.25 Corriendo
MariaDB 10.11.14 Corriendo
Apache 2.4.58 Corriendo (como usuario asterisk)
PHP 8.3.6 Configurado
Node.js 18.19.1 Instalado
Fail2ban Activo 2 jails: asterisk, sshd
nftables Activo Firewall configurado

Tareas Completadas (Fase 1)

  • Task 1: Preparar OS base (timezone, dependencias de compilacion)
  • Task 2: Instalar MariaDB (asegurado, DBs asterisk y asteriskcdrdb creadas)
  • Task 3: Instalar Apache + PHP 8.3 (configurado para FreePBX)
  • Task 4: Compilar Asterisk 20 LTS (con sonidos en espanol, MP3, app_macro)
  • Task 5: Instalar FreePBX 17 (GUI accesible en http://192.168.10.228/admin/)
  • Task 6: Configurar firewall nftables (SIP/RTP/SSH/HTTP permitidos)
  • Task 7: Configurar Fail2ban (jail asterisk: 3 intentos = ban 1 hora)
  • Task 8: Crear extensiones SIP (1001 y 1002 via PJSIP)

Tareas Pendientes (Fase 1)

  • Task 9: Conectar softphones y probar llamadas internas
  • Task 10: Configurar IVR, Ring Groups y Colas
  • Configurar IP estatica

Tareas Pendientes (Fase 2 — PSTN)

  • Task 11: Contratar proveedor de trunk SIP (Telnyx recomendado)
  • Task 12: Configurar trunk SIP en FreePBX
  • Task 13: Configurar rutas salientes (US + MX)
  • Task 14: Configurar rutas entrantes (DIDs)
  • Task 15: Actualizar firewall para IPs del proveedor trunk
  • Task 16: Pruebas end-to-end

Extensiones Creadas

Extension Nombre Voicemail Estado
1001 Usuario Prueba 1 Habilitado Pendiente registro
1002 Usuario Prueba 2 Habilitado Pendiente registro

Configuracion de Softphones

Servidor: 192.168.10.228 Puerto: 5060 Transporte: UDP Protocolo: PJSIP

Las contrasenas de las extensiones se consultan con:

asterisk -rx "pjsip show auth 1001-auth" | grep password
asterisk -rx "pjsip show auth 1002-auth" | grep password

Archivos de Configuracion Clave

Archivo Proposito
/etc/asterisk/ Configuracion de Asterisk (gestionado por FreePBX)
/etc/freepbx.conf Configuracion de conexion FreePBX a DB
/etc/nftables.conf Reglas de firewall
/etc/fail2ban/jail.d/asterisk.conf Jail de Fail2ban para Asterisk
/etc/asterisk/logger_logfiles_custom.conf Security log para Fail2ban
/etc/apache2/envvars Apache corriendo como usuario asterisk
/etc/apache2/sites-available/freepbx.conf VirtualHost de FreePBX
/etc/default/asterisk Usuario de ejecucion de Asterisk
/etc/ld.so.conf.d/asterisk.conf Path de librerias /usr/lib64

Notas Importantes

  1. Apache corre como usuario asterisk (no www-data) — requerido por FreePBX
  2. Se agrego /usr/lib64 al linker via /etc/ld.so.conf.d/asterisk.conf para que Asterisk encuentre sus librerias
  3. Asterisk fue compilado desde fuente en /usr/src/asterisk-20.18.2/
  4. La contrasena de MariaDB para el usuario asterisk esta en /root/VOIP/.db_password
  5. No cambiar archivos en /etc/asterisk/ directamente — FreePBX los sobreescribe. Usar archivos *_custom.conf para cambios manuales.

Comandos Utiles

# Estado de servicios
systemctl status asterisk
systemctl status apache2
systemctl status mariadb
systemctl status fail2ban

# Consola de Asterisk
asterisk -rvvv

# Ver extensiones registradas
asterisk -rx "pjsip show endpoints"

# Ver registros de trunks
asterisk -rx "pjsip show registrations"

# Recargar FreePBX
fwconsole reload

# Reparar permisos
fwconsole chown

# Ver IPs baneadas por Fail2ban
fail2ban-client status asterisk

# Ver reglas de firewall
nft list ruleset