Saltar para o conteúdo
SIP trunk

Um número checo para o seu próprio agente ElevenLabs

O seu próprio agente ElevenLabs Conversational AI num número checo real - chamadas recebidas e efetuadas via SIP, sem sobretaxa de agente.

Ainda não tem número? Compare as formas de obter um número checo ou eslovaco.

1Encaminhe as chamadas recebidas para a ElevenLabs

Passe o seu número volai para o modo SIP e indique como destino o endereço em que a ElevenLabs espera as chamadas recebidas (sip:<o seu número>@sip.rtc.elevenlabs.io) - o domínio SIP próprio da ElevenLabs, não o nosso.

bash
curl -X PATCH "https://volai.cz/v1/numbers/+420601234567" \
  -H "Authorization: Bearer vk_TVUJ_KLIC" \
  -H "Content-Type: application/json" \
  -d '{"routing": {"mode": "sip", "sipUri": "sip:+420601234567@sip.rtc.elevenlabs.io"}}'

2Registe o número na ElevenLabs como trunk SIP

Na ElevenLabs (Settings → Phone Numbers → Import → SIP trunk), registe o mesmo número com inbound_trunk_config - em allowed_addresses indique o nosso intervalo de sinalização (81.31.45.0/24). O endereço universal 0.0.0.0/0 deixa passar um INVITE de qualquer origem e, como a importação não leva credenciais, a lista de endereços permitidos é a única verificação.

json
{
  "provider": "sip_trunk",
  "phone_number": "+420601234567",
  "label": "volai cislo",
  "inbound_trunk_config": {
    "allowed_addresses": ["81.31.45.0/24"],
    "media_encryption": "allowed"
  }
}

3Obtenha os dados SIP da sua linha

Para o sentido de saída precisa das credenciais do número. A resposta de GET /v1/numbers/{e164}/sip devolve separadamente server (registo do softphone, hoje sip.volai.cz) e outboundTrunkAddress (endereço do trunk de saída da plataforma, hoje sip.volai.cz) - na ElevenLabs entra o segundo, ver o passo seguinte.

bash
curl "https://volai.cz/v1/numbers/+420601234567/sip" \
  -H "Authorization: Bearer vk_TVUJ_KLIC"

4Configure o trunk de saída na ElevenLabs

No seu número na ElevenLabs (Settings → Phone Numbers → o seu número → Outbound calling), defina outbound_trunk_config exatamente com os dados do passo anterior - `outboundTrunkAddress` (NÃO server) como address e nome de utilizador e palavra-passe como credentials. O endereço do trunk de saída tem de ser exatamente este valor - com outro endereço (por exemplo server), a chamada não é encaminhada na rede, a plataforma comunica 1011 sip request timed out e no histórico de chamadas não fica rasto nenhum.

json
{
  "outbound_trunk_config": {
    "address": "sip.volai.cz",
    "transport": "tcp",
    "media_encryption": "allowed",
    "credentials": {
      "username": "123456",
      "password": "a1b2c3d4e5f6"
    }
  }
}

5Antes da chamada, crie uma ligação relay e ligue para o sipName

A maioria das plataformas de IA de voz (incluindo a ElevenLabs) não consegue registar de forma permanente uma linha telefónica como cliente SIP - limita-se a enviar uma chamada autenticada. Por isso, mesmo antes da chamada, crie uma ligação relay de curta duração e indique à ElevenLabs o sipName simples da resposta (não o sipUri completo) como to_number na API da ElevenLabs /v1/convai/sip-trunk/outbound-call - caso contrário, a ElevenLabs rejeita a chamada com uma mensagem de formato não permitido. A pessoa chamada vê no ecrã o seu número volai, se o número tiver nomes de relay próprios (caso contrário, vê o número volai - escreva ao suporte); os minutos são cobrados como uma chamada efetuada normal, sem sobretaxa de agente.

bash
curl -X POST https://volai.cz/v1/relay \
  -H "Authorization: Bearer vk_TVUJ_KLIC" \
  -H "Content-Type: application/json" \
  -d '{"to": "+420777123456", "from": "+420601234567"}'

O que pode fazer com isto

Agente próprio num número checo real

ElevenLabs Conversational AI no seu próprio workspace, com prompt, voz e ferramentas à sua medida - mas num número checo portável, com histórico de chamadas, saldo e fatura em CZK num único portal.

Mudar de plataforma sem perder o número

O número continua a ser seu, quer atrás dele esteja hoje a ElevenLabs, a Vapi, a Retell ou um Asterisk próprio - basta redirecionar o encaminhamento SIP para outro endereço.

Agente próprio para campanhas de saída, agente integrado na receção

O melhor dos dois mundos na mesma conta: lembretes e campanhas de saída através do seu próprio agente ElevenLabs, sem sobretaxa, e a receção das chamadas recebidas entregue ao agente integrado da volai, com transcrição automática.

Perguntas frequentes

Pago a sobretaxa de agente também com um agente ElevenLabs próprio?
Não. A sobretaxa de agente (2,50 kr/min (≈ 0,10 EUR)) aplica-se apenas ao agente integrado da volai. Com um agente próprio paga o mesmo que com um cliente SIP - só os minutos de chamada na linha volai (0,92 kr/min (≈ 0,04 EUR) de saída) e, em separado, a sua própria conta na ElevenLabs.
A ElevenLabs comunica 1011 sip request timed out - o que fazer?
O trunk de saída tem em outbound_trunk_config.address o domínio server em vez de outboundTrunkAddress. O endereço do trunk tem de ser exatamente este valor - com outro endereço a chamada não é encaminhada na rede e no histórico de chamadas não fica rasto nenhum. A correção é um único valor na ElevenLabs, não uma nova chamada.
A ElevenLabs comunica max auth retry attempts reached for SIP invite - o que fazer?
A ElevenLabs não passou na autenticação. Ou o nome de utilizador ou a palavra-passe do trunk de saída não coincidem (copie username e password exatamente dos dados SIP do número), ou a chamada chegou como número de telefone em vez de sipName - a rede pede então uma nova autenticação, que a ElevenLabs não consegue passar. Em to_number deve ir apenas o sipName de POST /v1/relay, e a chamada deve ser iniciada através da API da ElevenLabs (POST /v1/convai/sip-trunk/outbound-call) ou da ferramenta make_outbound_call do respetivo servidor MCP, não através de um formulário que só aceita números de telefone. A ligação relay espera pela chamada apenas durante pouco tempo (por predefinição 120 segundos).
Porque não se pode registar a ElevenLabs no número de forma permanente, como um cliente SIP normal?
A maioria das plataformas de IA de voz não suporta o registo SIP permanente - limita-se a enviar uma chamada autenticada pontual. A rede telefónica não encaminha uma chamada destas diretamente para o número de destino, por isso ela passa por uma ligação relay de curta duração (POST /v1/relay).
O que significa o erro de formato não permitido do endereço SIP na ElevenLabs?
A ElevenLabs rejeita o URI SIP completo e quer apenas o nome simples - por isso a resposta de POST /v1/relay devolve sipName e sipUri SEPARADAMENTE. Em to_number na API da ElevenLabs deve ir apenas o sipName.
Quanto tempo dura a ligação relay?
Espera 120 segundos pela primeira chamada (configurável de 15 a 300) e a própria chamada pode durar no máximo 15 minutos. Por número está ativa no máximo uma ligação, por conta no máximo duas, e cada uma é usada apenas uma vez.
Funciona também com outra plataforma que não a ElevenLabs, por exemplo a Vapi ou a Retell?
O princípio é o mesmo - veja na sua plataforma para onde deve ir o endereço SIP das chamadas recebidas e onde introduzir as credenciais do trunk de saída. Temos a ElevenLabs verificada em direto (nos dois sentidos) e a Vapi (sentido de entrada); noutra plataforma, confirme com uma chamada de teste e, se ficar bloqueado, escreva ao suporte. Um guia geral (independente de uma plataforma concreta) está em /docs/vlastni-agent.

Experimente já

Registe-se e os primeiros 50 kr são por nossa conta.