> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# FreePBX y Asterisk

Tu PBX conserva su operador y sus números, y transmite las llamadas que elijas a Reception.ai mediante un [troncal SIP](/docs/es/reception-ai/phone-numbers/bring-your-own-number#sip-trunk). Añades un segundo troncal en la PBX que apunta a Reception.ai y, después, enrutas a él un DID, una condición horaria o una opción de IVR.

## Antes de empezar

* FreePBX 15 o posterior, o Asterisk con PJSIP, accesible desde internet.
* Una dirección IP pública estática para la PBX. Reception.ai solo acepta llamadas desde las direcciones que autorices.
* Alguien que conozca bien los troncales, las rutas y el firewall de tu PBX.

## Configuración

### Añade el troncal SIP en Reception.ai

Ve a **Integrations**, selecciona **Add integration** y elige **SIP Trunk**. En **Inbound allowed addresses**, añade la dirección IP pública de tu PBX. Si también estableces un nombre de usuario y una contraseña de entrada, usa el mismo par en el troncal de la PBX que se indica más abajo.

### Añade el número

Ve a **Receptionists**, selecciona la tarjeta **Phone**, introduce el número que marcan quienes llaman, con su código de país, y selecciona **Add SIP Trunk number**. Reception.ai muestra el host del servidor SIP y el URI de solicitud que debes usar.

### Activa TCP en FreePBX

Reception.ai no acepta UDP. En FreePBX, ve a **Settings** → **Asterisk SIP Settings** → **SIP Settings \[chan_pjsip]**, establece el transporte **tcp** en **Yes** y selecciona **Submit** y **Apply Config**. Reinicia Asterisk para que cargue el nuevo transporte. TLS también funciona si has configurado un certificado en **Certificate Management**.

### Crea el troncal para Reception.ai

Ve a **Connectivity** → **Trunks** → **Add Trunk** → **Add SIP (chan_pjsip) Trunk**. En la pestaña **General**, introduce un **Trunk Name**, como `reception`. Establece **CID Options** en **Allow Any CID** para que la recepcionista vea el número de cada persona que llama. En la pestaña **pjsip Settings**:

| Campo               | Valor                                                                                                         |
| ------------------- | ------------------------------------------------------------------------------------------------------------- |
| **Registration**    | **None**                                                                                                      |
| **Authentication**  | **None** o **Outbound** con **Username** y **Secret** si estableciste credenciales de entrada en Reception.ai |
| **SIP Server**      | El host del servidor SIP de Reception.ai                                                                      |
| **SIP Server Port** | `5060` para TCP o `5061` para TLS                                                                             |
| **Transport**       | El transporte TCP (o TLS), por ejemplo `0.0.0.0-tcp`                                                          |

### Añade una ruta de salida que envíe +E.164

Ve a **Connectivity** → **Outbound Routes** y añade una ruta llamada `Reception` que use solo el troncal `reception`. Añade un patrón de marcación con un **prefijo** sin usar, como `88`, un **patrón de coincidencia** de `X.` y un **prefijo añadido** de `+`. Así, una llamada a `8814155550123` saldrá por el troncal como `+14155550123`, que es el formato que requiere Reception.ai.

### Envía el DID a Reception.ai

Ve a **Applications** → **Misc Destinations** y añade uno que marque `88` seguido del número en formato E.164 sin `+`, por ejemplo, `8814155550123`. Después, ve a **Connectivity** → **Inbound Routes**, abre la ruta de tu DID y establece como destino ese destino misceláneo. También puedes usarlo como destino de una condición horaria, una conmutación por error de grupo de llamada o una opción de IVR.

### Corrige NAT y el audio

Ve a **Settings** → **Asterisk SIP Settings** → **General SIP Settings**. Establece **External Address** en la IP pública de la PBX e incluye tus subredes privadas en **Local Networks**. Abre en tu firewall los **RTP Port Ranges** que aparecen en esa página (UDP, 10000–20000 de forma predeterminada).

### Pruébalo

Llama a tu DID desde otro teléfono y comprueba que responda tu recepcionista.

## Asterisk sin FreePBX

En Asterisk sin FreePBX, la misma configuración en `pjsip.conf` tiene este aspecto. Sustituye `SIP_SERVER` por el host que muestra Reception.ai.

```ini
[transport-tcp]
type=transport
protocol=tcp
bind=0.0.0.0:5060
external_signaling_address=PBX_PUBLIC_IP
external_media_address=PBX_PUBLIC_IP
local_net=192.168.0.0/16

[reception]
type=aor
contact=sip:SIP_SERVER:5060;transport=tcp

[reception]
type=endpoint
transport=transport-tcp
aors=reception
context=from-reception
disallow=all
allow=ulaw,alaw
```

En el plan de marcación, envía la llamada con el número en formato E.164:

```ini
exten => YOUR_DID,1,Dial(PJSIP/+14155550123@reception)
```

Si estableciste credenciales de entrada en Reception.ai, añade una sección `type=auth` con ellas y haz referencia a ella mediante `outbound_auth=` en el endpoint.

## Limitaciones

* **Transferencias.** Tu recepcionista transfiere llamadas realizando una nueva llamada a la **dirección SIP de salida**. Dirígela a tu operador SIP mediante una cuenta de operador que acepte un nombre de usuario y una contraseña. El enrutamiento de transferencias de vuelta a la PBX no se trata aquí: Reception.ai llama desde un grupo cambiante de direcciones, por lo que la PBX no puede asociar esas llamadas a un troncal por IP.
* **Tu PBX gestiona cada llamada dos veces**, una desde el operador y otra hacia Reception.ai, por lo que necesita un canal libre para cada tramo.

## Solución de problemas

| Problema                                                 | Qué comprobar                                                                                                                                                              |
| -------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Las llamadas fallan antes de sonar                       | Comprueba que el troncal use el transporte TCP o TLS, no UDP, y que el puerto coincida con él.                                                                             |
| Las llamadas se rechazan                                 | Añade la IP pública de la PBX a **Inbound allowed addresses**. Comprueba en la consola de Asterisk que el URI de solicitud del INVITE empieza por `+` y el código de país. |
| La recepcionista ve el número de la PBX como quien llama | Establece **CID Options** en el troncal de Reception.ai en **Allow Any CID**.                                                                                              |
| Audio en un solo sentido o sin audio                     | Establece **External Address** y **Local Networks**, y abre el rango de puertos RTP en el firewall.                                                                        |
| La recepcionista no responde                             | Asegúrate de que el número esté añadido en la tarjeta **Phone** de la recepcionista y coincida con el número que envía la PBX.                                             |