Configurar el Grandstream HT813 con FreePBX 17 para usar tu línea fija (paso a paso)
Si tienes un número fijo de toda la vida (el de la tienda, el del despacho) y quieres que lo atienda una centralita FreePBX, la pieza clave es un adaptador FXO. El más usado es el Grandstream HT813, que se encuentra de segunda mano por unos 50 €. El problema es que casi toda la documentación está en inglés y hay varios detalles que no se cuentan en ningún sitio.
Esta es la configuración que tenemos funcionando en nuestra propia línea, con los cuatro fallos que nos encontramos y cómo los resolvimos. Al terminar, una llamada a tu fijo entrará en FreePBX y sonará en tus extensiones, con el número de quien llama.
Cómo funciona un adaptador FXO
Un puerto de teléfono analógico puede hacer dos papeles:
- FXS: el que da línea. Es el puerto TEL del router de tu operadora, donde enchufarías un teléfono.
- FXO: el que recibe línea. Es lo que tiene un teléfono por dentro.
El HT813 tiene uno de cada. Se conecta su puerto FXO, con un cable de teléfono normal, al puerto de teléfono del router. Para el router, el HT813 es un teléfono más: cuando entra una llamada, la "descuelga" y la reenvía por VoIP a la centralita.
Router de la operadora Grandstream HT813 Centralita
[puerto TEL/FXS] ──cable RJ11──► [puerto FXO] [puerto LAN] ──red──► FreePBX
El puerto FXS del HT813 queda libre: puedes enchufar ahí un teléfono analógico y usarlo como una extensión más.
Antes de nada, comprueba el identificador de llamadas. Enchufa un teléfono normal al router y llama desde el móvil. Si no aparece tu número en la pantalla, la línea no tiene el servicio de identificación (CLIP) y todas las llamadas llegarán a FreePBX como "Anonymous". Nosotros tuvimos que contratarlo aparte (2 € al mes) y solo se podía llamando a la operadora.
1. Dejar el HT813 de fábrica y darle una IP fija
Si es de segunda mano, borra la configuración del dueño anterior: con el equipo encendido, mantén pulsado el botón de reset de la parte trasera unos 10 segundos, hasta que parpadeen las luces.
Para saber qué IP le ha dado el router, mira la lista de equipos conectados (aparece como "HT8xx" o por la MAC de
la pegatina). O enchufa un teléfono a su puerto FXS, descuelga y marca *** y después 02: una
voz te dirá la IP.
Entra en esa IP con el navegador. El usuario es admin y la contraseña viene en la pegatina (en los
modelos antiguos es admin). Cámbiala nada más entrar, y reserva su IP en el DHCP del
router para que no cambie.
Desactiva el aprovisionamiento automático. Muchos de estos adaptadores vienen de operadoras y descargan su configuración de un servidor al arrancar: un día se reinician y aparecen con la configuración de otro. En Advanced Settings, deja Config Server Path vacío y desactiva la comprobación automática de firmware. Guarda, reinicia y comprueba que tu configuración sigue ahí.
2. La troncal en FreePBX: por IP, sin registro
La línea es una troncal (trunk) de FreePBX. Se puede hacer con registro (el HT813 entra con usuario y contraseña) o por IP (la centralita acepta lo que viene de la IP del HT813). Empezamos con registro y nos dio problemas: cuando una llamada llegaba sin número, se presentaba como "Anonymous", la centralita no la asociaba a la troncal y la rechazaba. Por IP funciona siempre, y con el HT813 en tu red local y el SIP cerrado a internet es igual de seguro.
En Connectivity → Trunks → Add Trunk → Add SIP (chan_pjsip) Trunk:
| Pestaña | Campo | Valor |
|---|---|---|
| General | Trunk Name | linea-fija |
| General | Outbound CallerID | tu número, por ejemplo 910000000 |
| pjsip Settings → General | Authentication | None |
| pjsip Settings → General | Registration | None |
| pjsip Settings → General | SIP Server | la IP del HT813, por ejemplo 192.168.1.21 |
| pjsip Settings → General | SIP Server Port | el puerto SIP del FXO del HT813 (en el nuestro, 5062) |
| pjsip Settings → General | Context | from-pstn |
| pjsip Settings → Advanced | Match (Permit) | la IP del HT813, 192.168.1.21 |
El Match (Permit) es lo importante: hace que todo lo que llegue desde esa IP se reconozca como de esta troncal. Submit y Apply Config.
3. El HT813: reenviar las llamadas a la centralita
En la interfaz del HT813, pestaña FXO Port (y parte en Basic Settings):
| Campo | Valor |
|---|---|
| Primary SIP Server | la IP de la centralita, por ejemplo 192.168.1.20 |
| SIP Registration | No (la troncal es por IP) |
| Local SIP Port | anótalo (por ejemplo 5062): es el que va en la troncal |
| Unconditional Call Forward to VoIP | 910000000@192.168.1.20:5060 |
| Forward to PSTN | vacío |
| Caller ID Scheme | ETSI-FSK during ringing (si no sale el número, prueba las otras variantes ETSI-FSK) |
| Caller ID Transport Type | Relay via SIP From |
En el reenvío incondicional, el número de la izquierda es el que FreePBX verá como destino (DID). Pon tu propio número: así la ruta de entrada queda clara.
Esto es lo que más nos costó encontrar: en nuestro firmware, el reenvío incondicional no estaba en la pestaña del puerto FXO sino en Basic Settings. Si no lo ves, busca "Unconditional Call Forward" en todas las pestañas. Sin ese dato, el HT813 recibe la llamada pero no sabe a dónde mandarla, y quien llama oye dos tonos largos y se corta.
Guarda y reinicia el HT813.
4. La ruta de entrada
En Connectivity → Inbound Routes → Add Inbound Route: en DID Number pon el número
del reenvío (910000000), en Language es y como destino tu extensión de
pruebas. Submit y Apply Config.
5. Probar y los cuatro fallos típicos
En la centralita, abre la consola de Asterisk con asterisk -rvvv y llama a tu fijo desde el móvil.
Estos fueron nuestros fallos, en el orden en que aparecieron:
| Síntoma | Causa | Solución |
|---|---|---|
| En la consola no aparece nada | El HT813 no envía la llamada | Revisa el reenvío incondicional |
No matching endpoint found | FreePBX no reconoce la IP como troncal | Match (Permit) con la IP exacta del HT813 |
| No llega y la IP del HT813 sale bloqueada | fail2ban lo bloqueó tras varios intentos | fail2ban-client unban y añadir la IP a la lista blanca |
| Llega como "Anonymous" | La línea no tiene CLIP o el esquema no coincide | Contratar el CLIP o probar otro esquema ETSI |
Si la consola no da pistas, mira el tráfico de red en la centralita con
tcpdump -n -i any host 192.168.1.21 and udp. Si al llamar no aparece ningún paquete, el problema está
en el HT813; si aparecen pero la llamada no entra, está en FreePBX.
¿Y el siguiente paso?
Con esto, tu fijo ya suena en FreePBX. Nosotros, encima, montamos una recepcionista con inteligencia artificial que contesta la línea, filtra a los comerciales y nos manda un resumen de cada llamada: lo contamos en así funciona nuestra recepcionista con IA, y puedes oírla llamando al 910 709 738.
Si quieres montarla tú, este artículo es el capítulo 3 de nuestra guía Tu recepcionista con IA en casa. Puedes descargar gratis los capítulos 1 y 3 y el índice completo, o ir directamente a la guía completa (86 páginas y todo el código). Y si prefieres que te la montemos nosotros, tienes los precios en la página de la recepcionista con IA.