La prueba de carga de IA de voz que la mayoría de los equipos olvida: el cierre de llamadas


La mayoría de las pruebas de carga de IA de voz responden a una pregunta: en el pico de volumen, ¿se conectan las llamadas? Hay una segunda pregunta igual de importante: cuando una llamada termina, ¿se cierra realmente?
Una llamada que nunca se cierra sigue ocupando un slot de concurrencia en la plataforma de IA de voz, un canal en tu troncal SIP y, a menudo, un puerto o puesto en tu plataforma de centro de contacto. Nadie está hablando en ella. En el pico, unas pocas decenas de estas llamadas pueden llevarte al límite mientras el volumen de llamadas parece normal.
Esta guía cubre la parte del cierre en las pruebas de carga. Para la latencia, la precisión y el rendimiento bajo carga, consulta nuestra guía de pruebas de carga de agentes de voz.
Una llamada está cerrada cuando cada uno de sus tramos ha sido liberado por todos los sistemas por los que ha pasado: el tramo de quien llama, cualquier tramo de transferencia y la sesión del agente de IA.
En una llamada SIP, el cierre es un evento de señalización. Un lado envía un mensaje BYE, el otro responde 200 OK y cada sistema libera el canal. Un tramo que sonó pero nunca se respondió se elimina con un CANCEL.
En un despliegue de IA de voz, deben cumplirse tres condiciones:
En Retell, una llamada finalizada tiene el estado ended y un motivo de desconexión como user_hangup, agent_hangup o call_transfer. Una llamada aún en curso tiene el estado ongoing, y las llamadas en curso son las que cuentan para tu concurrencia actual.
Una transferencia convierte una llamada en dos o más tramos, a menudo entre dos plataformas, y un cuelgue en un tramo tiene que llegar a los demás. Cuando esa señal se pierde o se ignora, un tramo queda activo sin nadie en él.
Patrones que debes revisar en tu configuración:
Para conocer la experiencia de quien llama en cada tipo, consulta cómo funcionan las transferencias de llamadas entre agentes de voz con IA y equipos humanos y nuestra guía de transferencia asistida.
Un slot de concurrencia durante todo el tiempo que siga abierta. La concurrencia cuenta las llamadas activas simultáneas, y una llamada vacía cuenta igual que una real.
La cuenta es sencilla: llamadas abiertas adicionales en cualquier momento = llamadas por hora que no se cierran × horas que cada una permanece abierta.
| Escenario (ilustrativo, no una medición) | Cierres fallidos por hora | Tiempo que permanece abierta cada una | Llamadas abiertas adicionales en cualquier momento |
|---|---|---|---|
| Fallo ocasional, tiempo de espera por silencio corto | 6 | 10 minutos | 1 |
| Fallo ocasional, solo con el límite de duración de 1 hora | 6 | 60 minutos | 6 |
| Una ruta de transferencia mal configurada que gestiona 60 transferencias por hora | 60 | 60 minutos | 60 |
La tercera fila explica cómo los equipos acaban con decenas de llamadas fantasma en el pico: un único problema de configuración, como cuelgues que no se reenvían a través de una transferencia, aplicado a cada llamada transferida.
Esa capacidad no es gratuita. En Retell, las primeras 20 llamadas simultáneas están incluidas y la capacidad adicional cuesta 8 $ por llamada simultánea al mes (consulta los precios). Cuando un espacio de trabajo alcanza su límite, las nuevas llamadas entrantes esperan unos 40 segundos a que se libere un slot y después pasan al número de fallback del número de teléfono, si hay uno configurado, o finalizan con concurrency_limit_reached. Las nuevas llamadas salientes se rechazan a menos que la ráfaga de concurrencia (concurrency burst) esté activada. En el pico, las llamadas bloqueadas dejan fuera a personas reales que llaman.
La misma cuenta se aplica a los canales de la troncal y a las licencias del centro de contacto, que la plataforma de IA de voz no puede ver.
Finaliza cada llamada a propósito, por cada vía de finalización, a tu ritmo de pico, y después demuestra que el recuento de llamadas activas de cada sistema vuelve a cero.
| Vía de finalización | Cómo provocarla en la prueba | Resultado esperado en el lado de la IA | Confirma también |
|---|---|---|---|
| Quien llama cuelga a mitad de la conversación | La llamada de prueba se desconecta en un punto aleatorio | ended, user_hangup | Canal del operador y del centro de contacto liberado |
| El agente finaliza la llamada | Guioniza una despedida que cumpla la condición de la herramienta End Call | ended, agent_hangup | Tu plataforma recibe el BYE y libera el puerto |
| Transferencia en frío y después cuelga quien llama | Transfiere y después desconecta a quien llama | ended, call_transfer | Tramo de destino también liberado |
| Transferencia en frío y después cuelga el destino | Transfiere y después desconecta el destino | ended, call_transfer | Tramo de quien llama también liberado |
| La transferencia asistida se conecta y después cuelga cualquiera de los lados | Responde en el destino y después desconecta un lado | Webhooks transfer_bridged y después transfer_ended | Ningún tramo queda en espera |
| Transferencia nunca respondida | Deja que el destino suene más allá de la duración de timbre de la transferencia | Webhook transfer_cancelled | CANCEL enviado; no queda ningún tramo sonando |
| Quien llama cuelga mientras está en espera | Desconecta a quien llama durante una transferencia asistida | La llamada finaliza | Tramo de consulta al destino cerrado |
| Línea en silencio | La llamada de prueba permanece en silencio | ended, inactivity | El tiempo hasta el cierre coincide con tu ajuste de silencio |
Los webhooks de transferencia están desactivados por defecto. Añade transfer_started, transfer_bridged, transfer_cancelled y transfer_ended a los eventos de webhook del agente para la prueba.
Tras la rampa de pico, deja de realizar llamadas nuevas y observa cómo bajan los contadores. Consulta cada pocos segundos la API Get Concurrency de Retell, que devuelve current_concurrency (el número de llamadas en curso). Debería llegar a cero dentro de la duración de tu llamada guionizada más larga. Comprueba los recuentos de tu SBC, centro de contacto y troncal en los mismos momentos. Cualquier contador que siga alto es la fuga, y el sistema que la retiene te indica qué lado no está liberando.
call_started debe tener su call_ended correspondiente. Cada transfer_started debe tener un transfer_ended o un transfer_cancelled.call_status de ongoing para encontrar las llamadas rezagadas.Vigila si la concurrencia se mantiene alta cuando baja el volumen, si aumentan las llamadas cerradas por tiempo de espera y si hay fallos de transferencia.
concurrency_used (pico de llamadas simultáneas en una ventana) junto con call_count (llamadas que finalizaron en la ventana). Si la concurrencia sube mientras las llamadas finalizadas se mantienen estables, las llamadas no están terminando.transfer_call_failure_count.inactivity o max_duration_reached tras las transferencias significa que son los mecanismos de respaldo, y no los cuelgues, los que cierran tus llamadas.Los tiempos de espera. No arreglan una señalización defectuosa, pero limitan cuánto tiempo puede ocupar un slot una llamada bloqueada.
| Ajuste | Valor predeterminado en Retell | Rango | Por qué importa para el cierre |
|---|---|---|---|
| Herramienta End Call | Desactivada: el agente no finaliza llamadas por sí mismo | Condiciones que tú defines | Sin ella, las llamadas solo finalizan cuando quien llama cuelga o salta un tiempo de espera |
| Finalizar la llamada por silencio | 10 minutos | Mínimo de 10 segundos | Un tramo muerto y en silencio se cierra transcurrido este tiempo |
| Duración máxima de la llamada | 1 hora | De 1 minuto a 2 horas | El límite de último recurso para cualquier llamada |
| Duración del timbre de transferencia | Duración del timbre del agente, 30 segundos | De 5 a 90 segundos por transferencia | Los intentos de transferencia sin respuesta se abandonan |
| Espera de respuesta del agente en la transferencia asistida | 30 segundos | Configurable | Limita el tiempo de espera a una persona en una cola |
Ajusta los límites de silencio y duración a la duración real de tus llamadas. Con los valores predeterminados, un tramo muerto que permanece en silencio puede ocupar un slot durante 10 minutos, y uno que el temporizador de silencio no detecta puede ocuparlo hasta una hora.
Consigue respuestas por escrito antes del lanzamiento:
Trata «la concurrencia vuelve a cero tras la prueba» como un criterio de aprobado o suspenso. Ejecuta la matriz de cierre y la prueba de vaciado antes del lanzamiento y de nuevo tras cualquier cambio en los ajustes de transferencia, los números o el enrutamiento de llamadas.
Retell te da todas las piezas: transferencia de llamadas en frío, asistida y asistida agéntica con tiempos de espera de timbre y de espera, webhooks de transferencia, motivos de desconexión por llamada, capturas de paquetes, una API de concurrencia en directo y alertas sobre concurrencia y fallos de transferencia. Si estás planificando un despliegue en un centro de contacto con alta concurrencia en el pico, el plan Enterprise de Retell añade un límite elevado de llamadas simultáneas y soporte dedicado.
Lecturas relacionadas: Por qué las pruebas de carga deben seguir la ruta real de la llamada, la lista de comprobación de números de teléfono para llamadas salientes y más guías en el centro Retell Learn.
Descubre cuánto podría ahorrar tu empresa al pasar a agentes de voz impulsados por IA.
Total Human Agent Cost
AI Agent Cost
Estimated Savings
Un número de teléfono de demostración de Retell Clinic Office

Start building smarter conversations today.




