> 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 e Asterisk

Seu PBX mantém a operadora e os números, e encaminha as chamadas que você escolher para o Reception.ai por um [tronco SIP](/docs/pt/reception-ai/phone-numbers/bring-your-own-number#sip-trunk). Você adiciona um segundo tronco no PBX que aponta para o Reception.ai e, depois, roteia um DID, uma condição de horário ou uma opção de IVR para ele.

## Antes de começar

* FreePBX 15 ou posterior, ou Asterisk com PJSIP, acessível pela internet.
* Um endereço IP público estático para o PBX. O Reception.ai aceita chamadas apenas de endereços permitidos por você.
* Alguém familiarizado com os troncos, as rotas e o firewall do seu PBX.

## Configuração

### Adicione o tronco SIP no Reception.ai

Acesse **Integrations**, selecione **Add integration** e escolha **SIP Trunk**. Em **Inbound allowed addresses**, adicione o endereço IP público do seu PBX. Se você também definir um nome de usuário e uma senha de entrada, use o mesmo par no tronco do PBX abaixo.

### Adicione o número

Acesse **Receptionists**, selecione o bloco **Phone**, informe o número para o qual as pessoas ligam, com o código do país, e selecione **Add SIP Trunk number**. O Reception.ai mostra o host do servidor SIP e o URI de solicitação a usar.

### Ative o TCP no FreePBX

O Reception.ai não aceita UDP. No FreePBX, acesse **Settings** → **Asterisk SIP Settings** → **SIP Settings \[chan_pjsip]**, defina o transporte **tcp** como **Yes** e selecione **Submit** e **Apply Config**. Reinicie o Asterisk para que o novo transporte seja carregado. O TLS também funciona se você tiver configurado um certificado em **Certificate Management**.

### Crie o tronco para o Reception.ai

Acesse **Connectivity** → **Trunks** → **Add Trunk** → **Add SIP (chan_pjsip) Trunk**. Na aba **General**, informe um **Trunk Name**, como `reception`. Defina **CID Options** como **Allow Any CID**, para que a recepcionista veja o número de cada pessoa que liga. Na aba **pjsip Settings**:

| Campo               | Valor                                                                                                         |
| ------------------- | ------------------------------------------------------------------------------------------------------------- |
| **Registration**    | **None**                                                                                                      |
| **Authentication**  | **None** ou **Outbound** com **Username** e **Secret** se você definiu credenciais de entrada no Reception.ai |
| **SIP Server**      | O host do servidor SIP do Reception.ai                                                                        |
| **SIP Server Port** | `5060` para TCP ou `5061` para TLS                                                                            |
| **Transport**       | O transporte TCP (ou TLS), por exemplo, `0.0.0.0-tcp`                                                         |

### Adicione uma rota de saída que envie +E.164

Acesse **Connectivity** → **Outbound Routes** e adicione uma rota chamada `Reception` que use apenas o tronco `reception`. Adicione um padrão de discagem com um **prefix** não utilizado, como `88`, um **match pattern** de `X.` e um **prepend** de `+`. Uma chamada para `8814155550123` sairá pelo tronco como `+14155550123`, que é o formato exigido pelo Reception.ai.

### Envie o DID para o Reception.ai

Acesse **Applications** → **Misc Destinations** e adicione um destino que disque `88` seguido pelo número no formato E.164 sem `+`, por exemplo, `8814155550123`. Em seguida, acesse **Connectivity** → **Inbound Routes**, abra a rota para seu DID e defina o destino como esse destino miscelâneo. Você também pode usá-lo como destino de uma condição de horário, failover de grupo de toque ou opção de IVR.

### Corrija o NAT e o áudio

Acesse **Settings** → **Asterisk SIP Settings** → **General SIP Settings**. Defina **External Address** como o IP público do PBX e liste suas sub-redes privadas em **Local Networks**. Abra no firewall os **RTP Port Ranges** exibidos nessa página (UDP, 10000–20000 por padrão).

### Teste

Ligue para seu DID de outro telefone e verifique se sua recepcionista atende.

## Asterisk sem FreePBX

No Asterisk sem FreePBX, a mesma configuração em `pjsip.conf` é assim. Substitua `SIP_SERVER` pelo host exibido pelo 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
```

No plano de discagem, envie a chamada com o número no formato E.164:

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

Se você definiu credenciais de entrada no Reception.ai, adicione uma seção `type=auth` com elas e faça referência a ela com `outbound_auth=` no endpoint.

## Limitações

* **Transferências.** Sua recepcionista transfere chamadas fazendo uma nova chamada para o **Outbound SIP address**. Direcione-o para sua operadora SIP, usando uma conta da operadora que aceite nome de usuário e senha. O roteamento de transferências de volta ao PBX não é abordado aqui: o Reception.ai liga de um grupo variável de endereços, portanto o PBX não consegue associar essas chamadas a um tronco por IP.
* **Seu PBX transporta cada chamada duas vezes**, uma vez da operadora e outra para o Reception.ai, então ele precisa de um canal livre para cada trecho.

## Solução de problemas

| Problema                                                     | O que verificar                                                                                                                                                     |
| ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| As chamadas falham antes de tocar                            | Verifique se o tronco usa o transporte TCP ou TLS, e não UDP, e se a porta corresponde a ele.                                                                       |
| As chamadas são rejeitadas                                   | Adicione o IP público do PBX a **Inbound allowed addresses**. Verifique no console do Asterisk se o URI de solicitação do INVITE começa com `+` e o código do país. |
| A recepcionista vê o número do PBX como o da pessoa que liga | Defina **CID Options** no tronco do Reception.ai como **Allow Any CID**.                                                                                            |
| Áudio em apenas uma direção ou sem áudio                     | Defina **External Address** e **Local Networks** e abra a faixa de portas RTP no firewall.                                                                          |
| A recepcionista não atende                                   | Verifique se o número foi adicionado no bloco **Phone** da recepcionista e se corresponde ao número enviado pelo PBX.                                               |