Llamadas
VOCALS gestiona tanto llamadas entrantes como salientes. Cada llamada fluye a través del pipeline STT, LLM y TTS en tiempo real, creando una experiencia conversacional natural.
Llamadas Entrantes
Las llamadas entrantes llegan cuando alguien marca uno de tus números de teléfono configurados. El flujo es:
- El llamante marca el número.
- Tu proveedor SIP enruta la llamada a VOCALS a través de troncal SIP.
- VOCALS carga el agente asignado a ese número.
- Se reproduce el mensaje de bienvenida del agente (si está configurado).
- El pipeline de voz en tiempo real comienza -- el agente escucha, piensa y responde.
- La llamada termina cuando el llamante cuelga, el agente concluye la conversación o se alcanza la duración máxima de llamada.
Si la línea deja de transportar audio sin llegar a avisar de que la llamada ha terminado, VOCALS cierra la sesión poco después de que el audio se detenga en lugar de dejarla abierta. Esas llamadas se registran con el resultado timeout, y su duración refleja el audio que la llamada realmente transportó.
No se necesita configuración adicional más allá de configurar un número de teléfono y asignar un agente.
Llamadas Salientes
Las llamadas salientes son iniciadas por VOCALS a un número de teléfono objetivo. Los casos de uso incluyen recordatorios de citas, llamadas de seguimiento, encuestas y contacto con leads.
Iniciar Llamadas Salientes
Llamada individual desde el panel de control:
- Ve a Llamadas > Nueva Llamada Saliente.
- Selecciona el agente a usar.
- Selecciona el número de teléfono de origen (el número que verá el destinatario).
- Introduce el número de teléfono de destino.
- Haz clic en Llamar.
Llamadas en lote a través de la API:
curl -X POST https://your-vocals-domain.com/api/v1/calls/batch \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "agent_abc123",
"from_number": "+15551234567",
"targets": [
{"to": "+15559876543", "metadata": {"name": "John"}},
{"to": "+15559876544", "metadata": {"name": "Jane"}}
]
}'
Protección Contra Duplicados
VOCALS no marca el mismo número dos veces en poco tiempo. Una segunda llamada saliente a un número al que acabas de llamar se suprime durante un periodo de espera corto (60 segundos por defecto), de modo que un flujo que reintenta, o un doble clic en Llamar, no puede llamar repetidamente a la misma persona. El panel te avisa cuando una llamada se ha suprimido en lugar de realizarse; espera un momento y vuelve a intentarlo si de verdad quieres llamar dos veces.
Las integraciones tienen la misma protección y además una opción explícita: envía el encabezado Idempotency-Key y una solicitud reintentada devuelve la llamada original en lugar de marcar de nuevo. Consulta Supresion de Duplicados en la referencia de la API.
Cola de Llamadas
Las llamadas salientes se procesan a través de una cola con límite de velocidad para cumplir con las regulaciones del operador y evitar el marcado de números.
- Límite de velocidad: 1 llamada por segundo (1 CPS).
- Las llamadas se encolan en orden y se despachan secuencialmente.
- Puedes ver el estado de la cola en el panel de control en Llamadas > Cola.
- Para cancelar una llamada en cola, haz clic en el botón de cancelar junto a ella en la vista de cola, o usa la API.
Exceder los límites de velocidad del operador puede resultar en que tus números sean marcados como spam. VOCALS impone el límite de 1 CPS para proteger tus números, pero también deberías seguir las mejores prácticas de Twilio para llamadas salientes: usa identificadores de llamada verificados, regístrate con STIR/SHAKEN y evita llamar a números en listas de no-llamar.
Detección de Contestador Automático (AMD)
Al realizar llamadas salientes, a menudo quieres detectar si respondió un humano o un contestador automático. VOCALS soporta AMD a través de la detección integrada de Twilio.
Ajustes de AMD por agente:
| Ajuste | Opciones | Descripción |
|---|---|---|
| AMD Habilitado | On / Off | Si se ejecuta la detección de contestador automático. |
| Al Detectar Máquina | hangup, leave_voicemail, wait | Acción cuando se detecta una máquina. |
| Tiempo de Espera de Detección | 3-10 segundos | Cuánto tiempo esperar para que AMD decida antes de tratar como humano. |
- Hangup: Desconectar inmediatamente. Úsalo cuando solo quieras hablar con humanos.
- Leave Voicemail: Reproducir un mensaje de buzón de voz pregrabado o generado por TTS, luego colgar.
- Wait: Esperar a que termine el saludo de la máquina, luego proceder con la conversación normal del agente. Útil si la precisión de AMD es incierta.
La detección se ejecuta en segundo plano, así que nunca retrasa el inicio de la llamada: el agente empieza a hablar en cuanto se contesta la línea y el veredicto llega un momento después. Con Hangup seleccionado, eso significa que un contestador automático puede oír las primeras palabras del saludo antes de que se corte la llamada. Esas llamadas se registran con el resultado voicemail.
Detección de Buzón de Voz
Cuando AMD detecta un contestador automático y el agente está configurado para dejar un mensaje de voz:
- VOCALS espera el tono (fin del saludo de la máquina).
- Se reproduce el mensaje de voz. Puedes configurarlo como un mensaje estático o dejar que el agente lo genere dinámicamente desde un prompt específico para buzón de voz.
- La llamada termina después de reproducir el mensaje.
Los mensajes de buzón de voz aparecen en tus registros de llamadas con una etiqueta voicemail para facilitar el filtrado.
Ciclo de Vida de la Llamada
Cada llamada pasa por una serie de estados:
queued --> ringing --> in-progress --> completed
| |
v v
no-answer failed
|
v
canceled
| Estado | Descripción |
|---|---|
| queued | La llamada saliente está en la cola, esperando ser despachada. |
| ringing | El teléfono está sonando en el extremo del destinatario (saliente) o la llamada se está estableciendo (entrante). |
| in-progress | La llamada está conectada y el pipeline de voz está activo. |
| completed | La llamada terminó normalmente. Ambas partes se desconectaron correctamente. |
| no-answer | El destinatario no contestó dentro del tiempo de espera de timbre (solo salientes). |
| failed | Ocurrió un error técnico (fallo de proveedor, problema de red, número inválido). |
| canceled | La llamada fue cancelada de la cola antes de ser despachada. |
Monitor en Vivo
La página Monitor en Vivo es el complemento en tiempo real de los registros de llamadas: muestra las llamadas que están en curso ahora mismo, en lugar de las completadas.
- Abre Monitor en Vivo desde la barra lateral. Un indicador de conexión en la parte superior muestra Conectado mientras la transmisión en vivo está activa.
- Cada llamada activa aparece como una tarjeta que muestra sus números de origen y destino, un contador de Duración en vivo y el Estado actual del pipeline de la llamada. Cuando no hay ninguna en curso, la página muestra "Sin llamadas activas".
- Las tarjetas aparecen y se actualizan en tiempo real -- realiza una llamada de prueba desde el diálogo Llamada de Prueba de un agente en otra pestaña para verla llegar aquí.
Registros de Llamadas
Cada llamada se registra con todos los detalles:
- Duración y marcas de tiempo (inicio, conexión, fin).
- Transcripción completa de la conversación con etiquetas de hablante y marcas de tiempo por enunciado.
- Grabación de audio (si la grabación está habilitada en el agente).
- Detalles del proveedor: qué proveedores STT, LLM y TTS se usaron, junto con la latencia por turno.
- Desglose de costes: coste estimado por proveedor para la llamada.
- Estado y resultado (completed, no-answer, failed, voicemail).
- Metadatos: cualquier metadato personalizado pasado al iniciar la llamada.
Turnos Interrumpidos
Cuando la persona que llama habla por encima del agente y el agente se detiene a mitad de frase, la transcripción registra solo la parte que la persona alcanzó a oír, seguida de [cut off by caller]. Lo que dijo mientras interrumpía se prefija con [interrupting]:
Agente: Sure, I can book that for [cut off by caller]
Persona: [interrupting] actually make it Friday
Agente: Friday it is. What time suits you?
Así, en los turnos interrumpidos la transcripción coincide con la grabación de audio, en lugar de mostrar la respuesta más larga que el agente habría dado si no lo hubieran detenido.
El punto de corte es lo que realmente había llegado a la persona que llama en el momento de interrumpir. Como el audio del agente sigue reproduciéndose un instante después de que este termina de componer su respuesta, un turno también se marca como cortado cuando la persona habla por encima de esas últimas palabras, y la transcripción conserva solo lo que oyó.
Filtrado y Búsqueda
En Llamadas > Registros, puedes filtrar por:
- Rango de fechas
- Agente
- Número de teléfono
- Estado
- Duración (mín/máx)
- Búsqueda de texto completo en transcripciones
Exportación
Haz clic en Exportar para descargar los registros de llamadas como CSV. La exportación incluye todos los metadatos, marcas de tiempo y transcripciones. Los archivos de audio se pueden descargar individualmente o en lote.
Grabación de Llamadas
La grabación se puede habilitar por agente. Cuando está habilitada:
- Se graban ambos lados de la conversación.
- Las grabaciones se almacenan de forma segura y son accesibles desde la vista de detalle del registro de llamada.
- Se puede configurar un aviso de consentimiento de grabación para reproducirse al inicio de la llamada (requerido en muchas jurisdicciones).
Consulta las leyes locales respecto al consentimiento de grabación de llamadas. Muchas jurisdicciones requieren el consentimiento de todas las partes. Configura el aviso de consentimiento en el mensaje de bienvenida de tu agente si es requerido.