Cola de llamadas

Mantén a quienes llaman en una cola cuando un agente alcanza su límite de concurrencia, en lugar de rechazarlos.

Resumen

Cuando un agente o espacio de trabajo alcanza su límite de concurrencia, las nuevas llamadas se rechazan normalmente de inmediato. Con la cola de llamadas activada, quienes llamen mientras el agente está a plena capacidad permanecen en línea con audio de espera y se conectan automáticamente, por orden de llegada, en cuanto se libera una plaza.

La cola de llamadas se configura por agente y está desactivada de forma predeterminada.

La cola de llamadas se aplica una vez que toda la capacidad disponible está en uso, incluida la capacidad por ráfaga cuando los precios por ráfaga están activados para el agente.

Cómo funciona la cola de llamadas

  1. Comprobación de capacidad: Cuando llega una llamada, ElevenAgents comprueba si el agente y el espacio de trabajo tienen una plaza de concurrencia libre. Si la tienen, la llamada se conecta de inmediato.
  2. Encolado: Si no hay ninguna plaza disponible, quien llama permanece en la cola del agente y escucha el audio de espera. No se inicia ninguna conversación ni se cobra nada mientras espera.
  3. Admisión: En cuanto se libera una plaza, se conecta a quien está al principio de la cola y la conversación comienza como de costumbre.
  4. Tiempo de espera agotado: Si no se libera ninguna plaza dentro del Tiempo máximo de espera en cola, la llamada se desconecta. Las llamadas telefónicas se cuelgan normalmente. Los clientes WebSocket reciben un evento queue_status con el estado timed_out, seguido de un cierre con el código 4300.

Quienes llaman se conectan estrictamente por orden de llegada para un agente determinado. Cuando varios agentes comparten el grupo de concurrencia de un espacio de trabajo, por lo general se conecta primero a quienes llevan más tiempo esperando.

Lo que oye quien llama

  • Quienes llaman por teléfono a números de Twilio y troncales SIP oyen el audio de espera durante la llamada.
  • Usuarios del widget y del SDK para navegador oyen el audio de espera en el navegador. El widget (versión 0.17.0 o posterior) también muestra un mensaje de espera y desactiva la entrada de texto mientras están en cola.
  • Los clientes directos de la API WebSocket reciben el audio de espera como eventos audio normales, además de eventos queue_status para gestionar un estado de espera en tu propia interfaz. Consulta Gestionar eventos de cola.

Facturación y duración de la conversación

El tiempo en cola no se factura, no cuenta para la Duración máxima de la conversación del agente y no se incluye en la duración registrada de la conversación. Los detalles de la conversación en el panel muestran cuánto tiempo esperó quien llamó antes de conectarse.

Canales compatibles

CanalCola de llamadas
Llamadas entrantes de TwilioCompatible
Llamadas entrantes de troncal SIPCompatible
Widget y SDK de cliente (WebSocket y WebRTC)Compatible
API WebSocket directaCompatible
Llamadas salientes y llamadas por lotesNo compatible
Agentes solo de textoNo compatible
Genesys, AudioCodes, Exotel, WhatsApp y SMSNo compatible

El límite diario de llamadas no se pone en cola. Una llamada que supera el límite diario del agente se rechaza de inmediato, porque ese límite no se libera hasta el día siguiente.

Configuración

La cola de llamadas se configura por agente en la sección Límites de la pestaña Seguridad del agente.

AjusteDescripciónPredeterminado
Habilitar cola de llamadasMantén a quienes llaman en una cola cuando el agente alcanza su límite de concurrencia.Desactivado
Tiempo máximo de espera en colaCuánto tiempo puede esperar quien llama antes de que se desconecte la llamada, en segundos. Entre 1 y 1800 segundos (30 minutos).180 segundos (3 minutos)
Audio de espera personalizadoUn archivo MP3 o WAV que se reproduce en bucle a quienes están en cola. Hasta 40 MB y 3 minutos de duración. Si no se sube ningún archivo, quienes llaman oyen el tono de espera predeterminado. Súbelo en el panel o mediante la API.Tono de espera predeterminado
1

Abre los ajustes de Límites

Abre tu agente en el panel, ve a la pestaña Seguridad y desplázate hasta Límites.

2

Activa la cola de llamadas

Activa Habilitar cola de llamadas y configura el Tiempo máximo de espera en cola.

3

Sube un audio de espera (opcional)

En Audio de espera personalizado, sube un archivo MP3 o WAV. Puedes previsualizar el tono de espera predeterminado y el clip que hayas subido antes de publicar.

4

Publica tus cambios

Haz clic en Publicar para aplicar los nuevos ajustes.

Gestionar el audio de espera mediante la API

Sube un archivo MP3 o WAV para configurar el audio de espera personalizado del agente. Subir un archivo nuevo sustituye el anterior. La API acepta los tipos de contenido audio/mpeg y audio/wav, por lo que los ejemplos establecen el tipo explícitamente.

from dotenv import load_dotenv
from elevenlabs import ElevenLabs
import os
load_dotenv()
elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
)
elevenlabs.conversational_ai.agents.hold_audio.create(
agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
hold_audio_file=("hold-music.mp3", open("hold-music.mp3", "rb"), "audio/mpeg"),
)

Elimina el clip personalizado para volver al tono de espera predeterminado:

elevenlabs.conversational_ai.agents.hold_audio.delete(
agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
)

El clip actual se devuelve como solo lectura en platform_settings.queueing_config.hold_audio del agente. Enviar hold_audio en una solicitud para crear o actualizar un agente no tiene ningún efecto.

Gestionar eventos de cola en un cliente WebSocket personalizado

Los clientes conectados a través de la API WebSocket reciben eventos queue_status mientras están en cola:

{
"type": "queue_status",
"queue_status_event": {
"status": "waiting"
}
}
  • waiting se envía una vez, inmediatamente después de conversation_initiation_metadata y antes de cualquier audio de espera.
  • admitted se envía cuando se conecta a quien llama. La conversación continúa entonces como de costumbre.
  • timed_out se envía cuando la espera supera el tiempo máximo de espera en cola. El servidor cierra entonces la conexión con el código 4300.

Las llamadas que se conectan de inmediato nunca reciben eventos queue_status. El evento siempre se envía a quienes están en cola y no es necesario activarlo en los client_events del agente.

El audio de espera se entrega como eventos audio normales en fragmentos de aproximadamente un segundo, siempre que los eventos de cliente del agente incluyan audio. Usa queue_status para mostrar un estado de espera en lugar de tratar el audio de espera como voz del agente.

Los SDK @elevenlabs/client y @elevenlabs/react todavía no exponen un callback específico para este evento. Usa el callback onIncomingEvent para observar eventos sin procesar del servidor, incluido queue_status.

Preguntas frecuentes

No. Quien llama y está en cola no ocupa una plaza de concurrencia hasta que se conecta al agente.

De momento, no. Quienes están en cola solo oyen el audio de espera. No se anuncian la posición en la cola ni las estimaciones de tiempo de espera.

Quien llama sale de la cola de inmediato y todas las personas detrás avanzan un puesto. No se cobran minutos de conversación.

No. Las llamadas salientes y por lotes solo se realizan cuando hay capacidad disponible, por lo que nunca se ponen en cola.