Files
voip-freepbx-setup/docs/DOCUMENTACION_VOIP.md

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*