O teste de carga de IA de voz que a maioria das equipes esquece: o encerramento de chamadas


A maioria dos testes de carga de IA de voz responde a uma pergunta: no pico de volume, as chamadas se conectam? Uma segunda pergunta importa tanto quanto: quando uma chamada termina, ela realmente é encerrada?
Uma chamada que nunca é encerrada continua ocupando uma vaga de concorrência na plataforma de IA de voz, um canal no seu SIP trunk e, muitas vezes, uma porta ou licença na sua plataforma de central de atendimento. Ninguém está falando nela. No pico, algumas dezenas dessas chamadas podem levar você aos seus limites enquanto o volume de chamadas parece normal.
Este guia aborda o lado do encerramento nos testes de carga. Para latência, precisão e throughput sob carga, consulte nosso guia sobre teste de carga de agentes de voz.
Uma chamada está encerrada quando cada perna dela foi liberada por todos os sistemas pelos quais passou: a perna de quem ligou, qualquer perna de transferência e a sessão do agente de IA.
Em uma chamada SIP, o encerramento é um evento de sinalização. Um lado envia uma mensagem BYE, o outro responde 200 OK e cada sistema libera o canal. Uma perna que tocou, mas nunca foi atendida, é finalizada com um CANCEL.
Em uma implantação de IA de voz, três condições precisam ser verdadeiras:
Na Retell, uma chamada finalizada tem o status ended e um motivo de desconexão como user_hangup, agent_hangup ou call_transfer. Uma chamada ainda em andamento tem o status ongoing, e são as chamadas em andamento que contam para a sua concorrência atual.
Uma transferência transforma uma chamada em duas ou mais pernas, muitas vezes em duas plataformas, e o desligamento em uma perna precisa chegar às outras. Quando esse sinal se perde ou é ignorado, uma perna fica ativa sem ninguém nela.
Padrões para verificar na sua configuração:
Para a experiência de quem liga em cada tipo, veja como funcionam as transferências de chamadas entre agentes de voz com IA e equipes humanas e nosso guia de transferência assistida.
Uma vaga de concorrência pelo tempo em que ela permanecer aberta. A concorrência conta as chamadas ativas simultâneas, e uma chamada vazia conta da mesma forma que uma real.
A conta é simples: chamadas abertas extras a qualquer momento = chamadas por hora que não são encerradas × horas que cada uma fica aberta.
| Cenário (ilustração, não uma medição) | Falhas de encerramento por hora | Quanto tempo cada uma fica aberta | Chamadas abertas extras a qualquer momento |
|---|---|---|---|
| Falha ocasional, timeout de silêncio curto | 6 | 10 minutos | 1 |
| Falha ocasional, apenas o limite de duração de 1 hora | 6 | 60 minutos | 6 |
| Uma rota de transferência mal configurada com 60 transferências por hora | 60 | 60 minutos | 60 |
A terceira linha mostra como as equipes acabam com dezenas de chamadas fantasmas no pico: um único problema de configuração, como desligamentos que não são repassados através de uma transferência, aplicado a todas as chamadas transferidas.
Essa capacidade não é gratuita. Na Retell, as primeiras 20 chamadas simultâneas estão incluídas e a capacidade adicional custa $8 por chamada simultânea por mês (veja os preços). Quando um workspace atinge seu limite, novas chamadas recebidas aguardam cerca de 40 segundos por uma vaga livre e depois são encaminhadas para o número de fallback do número de telefone, se houver um configurado, ou são encerradas com concurrency_limit_reached. Novas chamadas realizadas são rejeitadas, a menos que o concurrency burst esteja ativado. No pico, chamadas travadas afastam clientes reais.
A mesma conta se aplica aos canais de trunk e às licenças da central de atendimento, que a plataforma de IA de voz não consegue enxergar.
Encerre cada chamada de propósito, por todos os caminhos de encerramento, na sua taxa de pico, e depois comprove que a contagem de chamadas ativas de todos os sistemas volta a zero.
| Caminho de encerramento | Como acioná-lo no teste | Resultado esperado no lado da IA | Confirme também |
|---|---|---|---|
| Quem ligou desliga no meio da conversa | O chamador de teste cai em um ponto aleatório | ended, user_hangup | Canal da operadora e da central de atendimento liberado |
| O agente encerra a chamada | Roteirize uma despedida que atenda à condição da ferramenta End Call | ended, agent_hangup | Sua plataforma recebe o BYE e libera a porta |
| Transferência fria e, em seguida, quem ligou desliga | Transfira e depois derrube quem ligou | ended, call_transfer | Perna de destino também liberada |
| Transferência fria e, em seguida, o destino desliga | Transfira e depois derrube o destino | ended, call_transfer | Perna de quem ligou também liberada |
| Transferência assistida conecta e, em seguida, um dos lados desliga | Atenda no destino e depois derrube um dos lados | Webhooks transfer_bridged e depois transfer_ended | Nenhuma perna deixada em espera |
| Transferência nunca atendida | Deixe o destino tocar além da duração de toque da transferência | Webhook transfer_cancelled | CANCEL enviado; nenhuma perna tocando deixada para trás |
| Quem ligou desliga enquanto está em espera | Derrube quem ligou durante uma transferência assistida | A chamada é encerrada | Perna de consulta ao destino derrubada |
| Linha em silêncio | O chamador de teste permanece em silêncio | ended, inactivity | O tempo até o encerramento corresponde à sua configuração de silêncio |
Os webhooks de transferência vêm desativados por padrão. Adicione transfer_started, transfer_bridged, transfer_cancelled e transfer_ended aos eventos de webhook do agente para o teste.
Depois da rampa de pico, pare de fazer novas chamadas e observe os contadores caírem. Consulte a API Get Concurrency da Retell, que retorna current_concurrency (o número de chamadas em andamento), a cada poucos segundos. Ela deve chegar a zero dentro da duração da sua chamada roteirizada mais longa. Verifique as contagens do seu SBC, da central de atendimento e do trunk nos mesmos momentos. Qualquer contador que permaneça alto é o vazamento, e o sistema que o mantém indica qual lado não está liberando.
call_started deve ter um call_ended correspondente. Todo transfer_started deve ter um transfer_ended ou transfer_cancelled.call_status igual a ongoing para encontrar chamadas remanescentes.Fique atento à concorrência que permanece alta quando o volume cai, a mais chamadas encerradas por timeouts e a falhas de transferência.
concurrency_used (pico de chamadas simultâneas em uma janela) junto com call_count (chamadas encerradas na janela). Se a concorrência sobe enquanto as chamadas encerradas ficam estáveis, as chamadas não estão sendo encerradas.transfer_call_failure_count.inactivity ou max_duration_reached após transferências significa que são os mecanismos de segurança, e não os desligamentos, que estão encerrando suas chamadas.Os timeouts. Eles não corrigem uma sinalização com falha, mas limitam por quanto tempo uma chamada travada pode ocupar uma vaga.
| Configuração | Padrão da Retell | Intervalo | Por que importa para o encerramento |
|---|---|---|---|
| Ferramenta End Call | Desativada: o agente não encerra chamadas por conta própria | Condições definidas por você | Sem ela, as chamadas só terminam quando quem ligou desliga ou quando um timeout é acionado |
| Encerrar chamada em silêncio | 10 minutos | Mínimo de 10 segundos | Uma perna morta e silenciosa é encerrada após esse tempo |
| Duração máxima da chamada | 1 hora | De 1 minuto a 2 horas | O limite de último recurso para qualquer chamada |
| Duração de toque da transferência | Duração de toque do agente, 30 segundos | De 5 a 90 segundos por transferência | Tentativas de transferência não atendidas são abandonadas |
| Espera pelo atendimento do agente na transferência assistida | 30 segundos | Configurável | Limita o tempo gasto esperando por um humano em uma fila |
Defina os limites de silêncio e de duração próximos à duração real das suas chamadas. Com os padrões, uma perna morta que permanece em silêncio pode ocupar uma vaga por 10 minutos, e uma que o timer de silêncio não detecta pode ocupá-la por até uma hora.
Obtenha respostas por escrito antes do lançamento:
Trate "a concorrência volta a zero após o teste" como um critério de aprovação ou reprovação. Execute a matriz de encerramento e o teste de drenagem antes do lançamento e novamente após qualquer alteração nas configurações de transferência, nos números ou no roteamento de chamadas.
A Retell oferece todas as peças: transferência de chamadas fria, assistida e assistida agêntica com timeouts de toque e de espera, webhooks de transferência, motivos de desconexão por chamada, packet captures, uma API de concorrência em tempo real e alertas de concorrência e de falhas de transferência. Se você está planejando uma implantação em uma central de atendimento com alta concorrência no pico, o plano Retell Enterprise adiciona um limite alto de chamadas simultâneas e suporte dedicado.
Leituras relacionadas: Por que os testes de carga devem seguir o caminho real da chamada, o checklist de números de telefone para chamadas realizadas e mais guias no hub Retell Learn.
Veja quanto seu negócio poderia economizar ao migrar para agentes de voz com IA.
Total Human Agent Cost
AI Agent Cost
Estimated Savings
Um número de telefone de demonstração do consultório da Retell Clinic

Start building smarter conversations today.




