240 lines
6.5 KiB
Markdown
240 lines
6.5 KiB
Markdown
# Documentación del Sistema VoIP - FreePBX 17
|
|
|
|
## Información General
|
|
- **Servidor:** Ubuntu 24.04 LTS
|
|
- **IP del Servidor:** `192.168.10.114`
|
|
- **PBX:** FreePBX 17.0.28
|
|
- **Asterisk:** 21.12.2
|
|
- **Empresas:** Horux360, Consultoria-AS, Nexus
|
|
|
|
---
|
|
|
|
## Accesos Principales
|
|
|
|
### Panel Web FreePBX (Administración)
|
|
- **URL:** http://192.168.10.114/admin
|
|
- **Usuario:** `admin`
|
|
- **Contraseña:** `FreePBX2026!`
|
|
|
|
### Panel de Usuario (UCP - User Control Panel)
|
|
- **URL:** http://192.168.10.114/ucp
|
|
- Las extensiones pueden acceder aquí para ver sus grabaciones, voicemail y llamadas.
|
|
|
|
---
|
|
|
|
## Extensiones Configuradas
|
|
|
|
| Extensión | Empresa | Nombre | Contraseña SIP | Grabación |
|
|
|-----------|---------|--------|----------------|-----------|
|
|
| 100 | Horux360 | Horux360 - Admin | `Horux100!` | Siempre |
|
|
| 200 | Consultoria AS | Consultoria AS - Admin | `Consult200!` | Siempre |
|
|
| 300 | Nexus | Nexus - Admin | `Nexus300!` | Siempre |
|
|
|
|
### Softphones Recomendados
|
|
- **Windows:** MicroSIP (https://www.microsip.org)
|
|
- **Mac:** Telephone (App Store)
|
|
- **Móvil:** Zoiper (iOS/Android)
|
|
- **WebRTC:** UCP incluye teléfono web
|
|
|
|
### Configuración de Softphone
|
|
- **Servidor/SIP Domain:** `192.168.10.114`
|
|
- **Puerto:** `5060` (UDP)
|
|
- **Transporte:** UDP
|
|
- **Usuario:** Número de extensión (ej. `100`)
|
|
- **Contraseña:** Según tabla arriba
|
|
|
|
---
|
|
|
|
## IVR (Menú Principal)
|
|
- **Nombre:** MenuPrincipal
|
|
- **Contexto Asterisk:** `ivr-1`
|
|
- **Opciones:**
|
|
- `1` → Horux360 (Extensión 100)
|
|
- `2` → Consultoria AS (Extensión 200)
|
|
- `3` → Nexus (Extensión 300)
|
|
|
|
Para asignar una llamada entrante al IVR, configura la ruta entrante (Inbound Route) con destino `IVR → MenuPrincipal`.
|
|
|
|
---
|
|
|
|
## Grabación de Llamadas
|
|
- **Estado:** Activada para todas las extensiones
|
|
- **Almacenamiento:** `/var/spool/asterisk/monitor/`
|
|
- **Formato:** WAV (por defecto)
|
|
- **Acceso:** Panel web FreePBX → Reports → CDR Reports (incluye link a grabaciones)
|
|
- **Retención:** Configurable en FreePBX. Actualmente sin límite de rotación.
|
|
|
|
---
|
|
|
|
## Dashboard de Métricas (CDR)
|
|
- **URL:** http://192.168.10.114/admin → Reports → CDR Reports
|
|
- **Datos disponibles:**
|
|
- Historial de llamadas (entrantes/salientes)
|
|
- Duración
|
|
- Estado (contestada, perdida, ocupada)
|
|
- Grabaciones asociadas
|
|
- Filtrado por fecha, extensión, número, etc.
|
|
|
|
---
|
|
|
|
## Base de Datos
|
|
|
|
### MariaDB
|
|
- **Root Password:** `FreePBXRoot2026!`
|
|
- **FreePBX User:** `asteriskuser`
|
|
- **FreePBX Password:** `AsteriskDB2026!`
|
|
- **Bases de datos:** `asterisk` (configuración), `asteriskcdrdb` (registro de llamadas)
|
|
|
|
---
|
|
|
|
## Firewall (UFW)
|
|
Puertos abiertos:
|
|
- `22/tcp` - SSH
|
|
- `80/tcp` - HTTP (FreePBX)
|
|
- `443/tcp` - HTTPS
|
|
- `5060/tcp+udp` - SIP
|
|
- `5061/tcp+udp` - SIPS
|
|
- `10000-20000/udp` - RTP (audio de llamadas)
|
|
- `8088/tcp` - Asterisk HTTP
|
|
- `8089/tcp` - Asterisk HTTPS
|
|
- `5038/tcp` - AMI (Asterisk Manager Interface)
|
|
|
|
---
|
|
|
|
## Seguridad
|
|
|
|
### Fail2Ban
|
|
- **Estado:** Activo
|
|
- **Jails:** sshd, asterisk, apache-auth, apache-badbots
|
|
- **Bantime:** 3600 segundos (1 hora)
|
|
- **Max retry:** 5 intentos
|
|
|
|
### AMI (Integración Odoo)
|
|
- **Usuario AMI:** `odoo`
|
|
- **Contraseña AMI:** `OdooAMI2026!`
|
|
- **Permisos:** Lectura/Escritura completa
|
|
- **Acceso permitido:** Red local `192.168.10.0/24`
|
|
- **Puerto:** `5038`
|
|
|
|
---
|
|
|
|
## Integración con Odoo
|
|
|
|
### Módulos Requeridos (Odoo Community)
|
|
1. Instalar desde https://github.com/OCA/connector-telephony:
|
|
- `base_phone`
|
|
- `asterisk_click2dial`
|
|
- `crm_phone` (opcional, para pop-up en CRM)
|
|
|
|
### Configuración en Odoo
|
|
1. Ir a **Settings → Asterisk Server**
|
|
2. Agregar servidor:
|
|
- **Name:** FreePBX VoIP
|
|
- **IP:** `192.168.10.114`
|
|
- **Port:** `5038`
|
|
- **Login:** `odoo`
|
|
- **Password:** `OdooAMI2026!`
|
|
3. Configurar prefijo de marcado si es necesario
|
|
|
|
### Funcionalidades
|
|
- **Click-to-Call:** Click en cualquier número de teléfono en Odoo para llamar
|
|
- **Pop-up de Cliente:** Al recibir llamada, Odoo busca el número y abre la ficha
|
|
- **Historial:** Registro de llamadas en la ficha del cliente
|
|
|
|
---
|
|
|
|
## Troncal SIP (PSTN)
|
|
- **Estado actual:** No configurado
|
|
- **Próximo paso:** Contratar troncal SIP con proveedor recomendado
|
|
|
|
### Proveedores Recomendados
|
|
| Proveedor | Ventaja |
|
|
|-----------|---------|
|
|
| **Twilio** | Confiable, fácil API, soporte global |
|
|
| **Telnyx** | Precios bajos, buena calidad |
|
|
| **VozTelecom** | Si operan en España |
|
|
| **OVH** | Buena cobertura Europa/Latam |
|
|
|
|
### Configuración General
|
|
1. FreePBX → Connectivity → Trunks → Add Trunk → Add SIP (chan_pjsip) Trunk
|
|
2. Ingresar datos del proveedor (host, usuario, contraseña)
|
|
3. Configurar Outbound Routes (rutas salientes)
|
|
4. Configurar Inbound Routes (rutas entrantes) → apuntar a IVR
|
|
|
|
---
|
|
|
|
## Comandos Útiles
|
|
|
|
```bash
|
|
# Estado de Asterisk
|
|
asterisk -rvx "core show uptime"
|
|
|
|
# Estado de extensiones PJSIP
|
|
asterisk -rvx "pjsip show endpoints"
|
|
|
|
# Recargar configuración FreePBX
|
|
fwconsole reload
|
|
|
|
# Reiniciar todo el servicio
|
|
fwconsole restart
|
|
|
|
# Estado de Fail2Ban
|
|
fail2ban-client status
|
|
|
|
# Ver logs de Asterisk
|
|
tail -f /var/log/asterisk/messages.log
|
|
|
|
# Ver logs de FreePBX/web
|
|
tail -f /var/log/apache2/freepbx-error.log
|
|
```
|
|
|
|
---
|
|
|
|
## Multi-Tenant (3 Empresas)
|
|
- **Enfoque:** Un solo FreePBX con prefijos de extensión por empresa
|
|
- `100-199` → Horux360
|
|
- `200-299` → Consultoria AS
|
|
- `300-399` → Nexus
|
|
- **IVR:** Un menú principal con opciones por empresa
|
|
- **CID Saliente:** Configurable por ruta/trunk cuando se contrate troncal
|
|
|
|
---
|
|
|
|
## Respaldo y Mantenimiento
|
|
|
|
### Backup Automático
|
|
- Instalar módulo `backup` en FreePBX (ya instalado)
|
|
- Configurar en Admin → Backup & Restore
|
|
- Recomendado: Backup diario de configuración + grabaciones
|
|
|
|
### Actualizaciones
|
|
```bash
|
|
# Actualizar módulos FreePBX
|
|
fwconsole ma updateall
|
|
fwconsole reload
|
|
|
|
# Actualizar sistema operativo
|
|
apt update && apt upgrade
|
|
```
|
|
|
|
---
|
|
|
|
## Notas Importantes
|
|
1. **Cambiar contraseñas por defecto** antes de poner en producción pública
|
|
2. **Configurar HTTPS** (Let's Encrypt) para acceso seguro al panel
|
|
3. **NAT:** Si el servidor está detrás de router/firewall, configurar "NAT = Yes" en Settings → Asterisk SIP Settings
|
|
4. **RTP:** Asegurar que el rango UDP 10000-20000 esté abierto en el router/firewall externo
|
|
5. **Sonidos:** Los sonidos en inglés están instalados. Para español, instalar `sounds-es` desde FreePBX → Admin → Sound Languages
|
|
|
|
---
|
|
|
|
## Soporte
|
|
- **FreePBX Wiki:** https://sangomakb.atlassian.net/wiki/spaces/FP/overview
|
|
- **Asterisk Docs:** https://docs.asterisk.org/
|
|
- **Comunidad:** https://community.freepbx.org/
|
|
|
|
---
|
|
|
|
*Documento generado el 2026-04-29*
|
|
*Implementación realizada por Kimi Code CLI*
|