> 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.

# Trunking SIP da Sinch

> **Note**
>
> Antes de seguir este guia, considere ler o [guia de trunking SIP da ElevenLabs](/docs/pt/eleven-agents/phone-numbers/sip-trunking) e o [guia de trunking SIP do Sinch Voice](https://developers.sinch.com/docs/voice/api-reference/sip-trunking).

## Visão geral

Este guia explica como conectar um aplicativo Sinch Voice diretamente aos ElevenLabs Agents. A integração permite manter seus números e roteamento da Sinch, enquanto a ElevenLabs cuida da experiência do agente de voz com IA.

## Como funciona o trunking SIP com a Sinch

Um SIP Trunk da Sinch é uma conexão bidirecional entre a rede da Sinch e a plataforma ElevenLabs:

1. **Chamadas recebidas**: um DID atribuído ao seu aplicativo Sinch Voice recebe uma chamada. A Sinch envia o `INVITE` para o endereço de origem da ElevenLabs configurado como um endpoint estático nas configurações de entrada do trunk.
2. **Chamadas realizadas**: as chamadas iniciadas pela ElevenLabs são enviadas para o endereço SIP de nome de domínio totalmente qualificado (FQDN) do seu aplicativo, que a Sinch roteia para a PSTN.
3. **Autenticação**: a Sinch exige autenticação de saída (credenciais SIP) e oferece suporte à autenticação por ACL (lista de permissão de IPs) para o tráfego que chega ao trunk.

## Requisitos

Antes de começar, verifique se você tem:

1. Uma conta ativa da ElevenLabs com um agente configurado
2. Uma conta Sinch com um aplicativo de voz criado no [painel Sinch Build](https://dashboard.sinch.com/voice/apps)
3. Pelo menos um número de telefone (DID) comprado na Sinch e atribuído ao aplicativo

## Configuração de chamadas recebidas (Sinch para ElevenLabs)

Direcione o encaminhamento de chamadas do seu aplicativo para o endereço SIP da ElevenLabs.

### Acesse o painel Sinch Build

Entre na sua conta Sinch e navegue até o aplicativo que você quer conectar.

### Adicione um endpoint estático para a ElevenLabs

Nas configurações de encaminhamento de chamadas do aplicativo, atualize o manipulador de eventos de chamada para `SIP Forwarding` e adicione um URI SIP estático direcionado ao endereço de origem da ElevenLabs:

* **DID**: o número de telefone da Sinch para o qual você quer ligar
* **Endereço**: `sip.rtc.elevenlabs.io`
* **Porta e transporte**: `5061/TLS`, `5060/TCP`

Por exemplo: `sip:15551234567@sip.rtc.elevenlabs.io:5061;transport=tls`.

Se o seu workspace da ElevenLabs usar uma região isolada de residência de dados ou a infraestrutura SIP de IP estático, use o endpoint correspondente em vez de `sip.rtc.elevenlabs.io`. Consulte [residência de dados](/docs/pt/overview/administration/data-residency) para ver as regiões disponíveis.

### Atribua seu DID ao aplicativo

Atribua a este aplicativo o número de telefone que deve encaminhar chamadas para o seu agente.

## Configuração de chamadas realizadas (ElevenLabs para Sinch)

Para chamadas realizadas, a ElevenLabs envia um `INVITE` SIP ao seu aplicativo Sinch e se autentica nele.

### Anote o FQDN da sua região Sinch

Recupere o [SIP FDQN](https://developers.sinch.com/docs/voice/api-reference/sip-trunking#termination-uris) da sua região Sinch. Esse é o endereço de terminação que você informa na ElevenLabs. Insira apenas o hostname, sem o prefixo `sip:`.

### Insira as credenciais SIP

Copie com segurança a chave e o segredo do seu aplicativo Sinch. Eles serão usados como seu nome de usuário e senha na ElevenLabs.

### Número de encaminhamento

Seu aplicativo Sinch encaminhará a chamada para o endereço de encaminhamento dele. Para realizar uma chamada para o número especificado na solicitação de chamada de saída, deixe este campo vazio nas configurações do aplicativo.

## Conclua a configuração na ElevenLabs

### Importe o número de telefone do SIP trunk

Siga o [guia de trunking SIP](/docs/pt/eleven-agents/phone-numbers/sip-trunking) para importar seu número da Sinch usando estas configurações:

| Configuração                 | Valor                                                                                           |
| ---------------------------- | ----------------------------------------------------------------------------------------------- |
| Número de telefone           | Seu DID da Sinch, por exemplo, `15551234567`                                                    |
| Tipo de transporte           | TLS                                                                                             |
| Criptografia de mídia        | `Disabled` para TCP; `Allowed` ou `Required` quando o trunk estiver configurado para TLS e SRTP |
| Endereço                     | O FQDN do seu trunk da Sinch, apenas o hostname                                                 |
| Nome de usuário do trunk SIP | Chave do aplicativo Sinch                                                                       |
| Senha do trunk SIP           | Segredo do aplicativo Sinch                                                                     |

Mantenha as configurações de transporte e criptografia consistentes em ambos os lados.

### Atribua um agente

Atribua um agente ao número no [painel de Números de telefone](https://elevenlabs.io/app/agents/phone-numbers). Agora, as chamadas recebidas no DID chegarão a esse agente.

### Teste uma chamada realizada

Faça uma chamada a partir do agente pelo seu aplicativo Sinch, usando o menu de número de telefone ou a API de chamadas realizadas:

```bash
curl -X POST https://api.elevenlabs.io/v1/convai/sip-trunk/outbound-call \
  -H "xi-api-key: $ELEVENLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "agent_7101k5zvyjhmfg983brhmhkd98n6",
    "agent_phone_number_id": "phnum_8901k4t9z5defmb8vh3e9361y7nj",
    "to_number": "+15551234567"
  }'
```

Consulte [Chamada realizada via SIP trunk](/docs/pt/eleven-agents/api-reference/sip-trunk/outbound-call) para ver o esquema completo da solicitação e [Chamadas em lote](/docs/pt/eleven-agents/phone-numbers/batch-calls) para executar campanhas de saída.

## Configuração de transferências

Os agentes transferem chamadas para uma pessoa usando a ferramenta de sistema [`transfer_to_number`](/docs/pt/eleven-agents/customization/tools/system-tools/transfer-to-number).

> **Warning**
>
> Apenas transferências por conferência funcionam em um trunk da Sinch. SIP REFER e transferências cegas falham.

### Transferências por conferência

A ElevenLabs liga para o destino pelo seu trunk da Sinch, une as duas partes em uma conferência e então desconecta o agente.

## Usar a API Sinch Voice v2 em vez disso

A configuração acima dá à ElevenLabs todo o caminho de voz. Se você precisa que a Sinch controle as chamadas, a API Sinch Voice v2 pode atender uma chamada, aplicar sua própria lógica e conectar uma segunda perna ao seu agente da ElevenLabs usando SVAML, sem um servidor de retransmissão. Esse modelo é mais adequado quando você quer inserir recursos da Sinch, como detecção de secretária eletrônica, gravação de chamadas ou mascaramento de números antes de o agente entrar, ou quando o agente é uma etapa em um fluxo de chamadas maior da Sinch.

Consulte o tutorial da Sinch [Integrar um agente de IA da ElevenLabs via SIP](https://developers.sinch.com/docs/voice-2.0/tutorials/elevenlabs-sip) para outros cenários típicos.

## Solução de problemas

#### As chamadas recebidas não conseguem se conectar

* Confirme que o endpoint estático de entrada do trunk aponta para `sip.rtc.elevenlabs.io` na porta e no transporte que você pretende usar.
* Confirme que o DID está atribuído a esse trunk.
* Verifique se o número na ElevenLabs corresponde ao que a Sinch envia, incluindo o `+` inicial.
* Aguarde pelo menos 60 segundos depois de alterar endpoints ou ACLs e teste novamente.
* Verifique se seu firewall permite a sinalização SIP na porta 5060 para TCP ou 5061 para TLS e não bloqueia RTP.

#### As chamadas realizadas recebem respostas 403 ou 407

* Confirme que o nome de usuário e a senha do SIP trunk na ElevenLabs correspondem às credenciais do trunk da Sinch.
* Verifique se o campo **Endereço** contém apenas o FQDN do trunk, sem o prefixo `sip:`.
* Confirme que as permissões de país estão ativadas no trunk para o país de destino.
* Confirme que o identificador de chamadas apresentado é um número aceito pela Sinch nesse trunk.
* Se você estiver usando autenticação por ACL, lembre-se de que a sinalização da ElevenLabs chega de um conjunto distribuído de endereços. Mude para autenticação digest ou use a infraestrutura de IP estático.

#### Áudio em apenas um sentido ou sem áudio

* Confirme que seu firewall permite RTP por UDP nos dois sentidos e não está restrito a endereços estáticos específicos.
* Verifique se a criptografia de mídia corresponde: um trunk TLS da Sinch espera SRTP, portanto, defina a criptografia de mídia como `Allowed` ou `Required` na ElevenLabs.
* Teste com TCP e a criptografia de mídia desativada para identificar se o problema está relacionado a TLS ou SRTP.
* Verifique se G711 é oferecido no trunk. A ElevenLabs oferece suporte a G711 e G722.

#### As chamadas não são encerradas depois que o agente desliga

Uma resposta `481` a um `BYE` geralmente significa que a solicitação chegou a um servidor SIP sem o estado de diálogo daquela chamada. Envie solicitações dentro do diálogo para o URI `Contact` retornado no `200 OK`, em vez de para o endereço compartilhado `sip.rtc.elevenlabs.io`. Se `BYE` ou `REFER` por TLS falhar na validação do certificado, adicione o FQDN para o qual o certificado do seu trunk foi emitido ao campo **Domínios remotos** nas configurações do número de telefone.

## Perguntas frequentes

#### Qual transporte devo usar?

TLS na porta 5061 para produção, junto com mídia SRTP no trunk da Sinch. TCP na porta 5060 é um bom ponto de partida para validação. UDP é experimental na ElevenLabs e não deve transportar tráfego de produção.

#### Quais codecs de áudio são compatíveis?

A ElevenLabs oferece suporte a G711 (8 kHz) e G722 (16 kHz). Mantenha G711 disponível no trunk da Sinch como denominador comum.

#### Como envio o contexto do chamador para a conversa?

Cabeçalhos `X-` personalizados no `INVITE` de entrada são expostos como variáveis dinâmicas, com `X-Contact-ID` se tornando `{{sip_contact_id}}`, por exemplo. `X-Call-ID` e `X-Caller-ID` são mapeados para `system__call_sid` e `system__caller_id`. Consulte [trunking SIP](/docs/pt/eleven-agents/phone-numbers/sip-trunking) para ver as regras completas de normalização.

## Links úteis

* [Guia de trunking SIP](/docs/pt/eleven-agents/phone-numbers/sip-trunking)
* [Referência SIP](/docs/pt/eleven-agents/phone-numbers/sip-reference)
* [Transferir para número](/docs/pt/eleven-agents/customization/tools/system-tools/transfer-to-number)
* [API Sinch Voice v2: integrar um agente de IA da ElevenLabs via SIP](https://developers.sinch.com/docs/voice-2.0/tutorials/elevenlabs-sip)