Saltar al contenido
megapromotingVamos a hablar

Experiencia · Agentes de voz

Un agente que habla — en tu página y por teléfono — y que puede ser interrumpido.

Construimos agentes de voz en Kallina: rol escrito, base de conocimientos aprobada, herramientas que llaman durante la conversación y un límite más allá del cual pasan la conversación a una persona. El rumano es el idioma predeterminado de los nuevos agentes.

Ya construidoTres implementaciones propias, citadas abajo. (1) La plataforma Kallina — 472 funciones edge Deno y 559 migraciones de base de datos, contadas hoy en el repositorio; `https://app.kallina.info` responde 200. (2) El componente de este sitio, `src/components/agents/KallinaVoiceAgent.tsx`, que implementa el flujo correcto de sesión y documenta las dos formas en que un agente vocal falla en silencio. (3) El puente `elevenlabs-bridge` y la sesión `openai-realtime-session`, donde están los parámetros reales de interrupción y de detección del habla. La reserva que declaramos: la parte de teléfono depende de un host SIP, y el host por el que pasan nuestras líneas de prueba no responde en la fecha de redacción — consulta la página de telefonía. En la web, el flujo es verificable hoy.

Un agente de voz, para nosotros, no es «un bot que lee un guion». Tiene cuatro cosas escritas antes de la primera llamada: un rol, una base de conocimientos aprobada por ti, un conjunto de herramientas que tiene permiso para invocar y un límite más allá del cual entrega la conversación a una persona. Lo que sale de la conversación no es solo un transcript: la llamada tiene duración, costo desglosado por proveedor, grabación y análisis, todo vinculado a la cuenta del negocio.

El motor no es uno solo, y eso es una decisión, no un accidente. En la configuración del agente eliges entre ElevenLabs Conversational AI, OpenAI Realtime y Gemini Live, o dejas «auto» y la plataforma elige según idioma, carga y disponibilidad. Encima eliges por separado el cerebro textual, de un catálogo en el que cada modelo tiene la latencia y el costo por minuto mostrados en la interfaz. Cuando alguien pregunta «por qué responde lento», la respuesta tiene cifras, no opiniones.

La parte que la gente siente más es la interrupción. En OpenAI Realtime, la detección del habla es semántica, con umbral 0,5, un margen de 300 ms antes y 500 ms de silencio para considerar que terminaste de hablar; el interruptor «permitir interrupciones» está activado por defecto. En ElevenLabs, el evento de interrupción se transmite a la central telefónica, para detener la reproducción de inmediato. Y el tiempo tras el cual el agente considera que tu silencio es una respuesta es configurable por agente — en un agente de ventas escrito por nosotros está ajustado a 12 segundos, frente a 15 por defecto.

El agente vive en dos lugares distintos, con restricciones distintas. En la página web entra con una sola línea de script o con un componente propio, y la regla de oro es que la página nunca guarda el identificador del agente ni ninguna clave de proveedor — le pide a la plataforma una sesión y recibe una URL firmada, de corta duración. Por teléfono entra por un trunk SIP, y allí las restricciones son las del operador y de la central, no las del agente; sobre eso escribimos aparte, en la página de telefonía.

Agentes vocales AI en la República de Moldavia — cómo funcionan, concretamente · vídeo en rumano, con subtítulos y transcripción en español

La transcripción completa

Bien, pasemos directamente al tema. Hoy hacemos un análisis técnico extremadamente preciso de cómo funcionan de verdad los agentes vocales en el entorno empresarial. Nos basaremos exclusivamente en la arquitectura de la plataforma Kallina, desarrollada aquí mismo en la República de Moldavia, por MEGA PROMOTING S.R.L.. Sin lenguaje de marketing, sin promesas infladas, solo hechos, infraestructura pura y, evidentemente, la realidad operativa. Para cualquier equipo que dirige una empresa y se apoya en procesos claros, entender la tecnología que hay bajo el capó es, sinceramente, absolutamente esencial. Hoy tenemos un recorrido muy metódico. Pasamos por seis puntos. Primero abordamos el problema, luego el mecanismo de funcionamiento, sigue la anatomía de un fallo, la sección de motores e interrupciones, los límites técnicos y, al final, el siguiente paso.

Es una mirada totalmente transparente al sistema. Así pues, primera sección: el problema, el tiempo y las solicitudes. Veamos exactamente desde dónde partimos. Esta es justamente la pregunta que no deja dormir por la noche a los gerentes de operaciones. ¿Dónde se pierde exactamente el tiempo operativo y, muy importante, cuántas solicitudes no verificadas desaparecen a diario? En una empresa normal, el tiempo simplemente se evapora entre llamadas perdidas, solicitudes que no se atienden a tiempo y todo tipo de interacciones que, bueno, simplemente no pueden verificarse después. Y no es solo un pequeño problema de incomodidad. Hablamos de un recurso operativo enorme que se pierde día tras día en un flujo de trabajo no optimizado. Pasamos a la parte dos, el mecanismo, cómo funciona.

Vamos a entrar en la ingeniería propiamente dicha de la plataforma. Miren este número, 472. Este es el número exacto de funciones Edge nuevas que sostienen la plataforma en este momento. Así que, claramente, no hablamos de un prototipo de fin de semana ni de una interfaz bonita de fachada. Es una infraestructura masiva en un servidor real, pensada para gestionar rutas y lógicas de negocio extremadamente complejas. Y, para subrayar el nivel de madurez, existen exactamente 559 migraciones de base de datos en la infraestructura PostgreSQL, alojada por Supabase. Estas cifras nos muestran una base supersólida con políticas de seguridad implementadas a nivel de fila. En la práctica, es un sistema construido para escalar y para mantener los datos en un orden impecable.

Ahora, miren cómo se ve el orden de las operaciones en un agente web, porque ese detalle es absolutamente genial. En el paso 1, la página pide acceso al micrófono. En el paso 2, el visitante debe aceptar. Y solo en el paso 3 se envía una solicitud al servidor para abrir una sesión y recibir de vuelta una URL firmada válida solo por un periodo corto. ¿Por qué es un movimiento estratégico tan importante? Sencillo: si en el paso 2 se rechaza el micrófono, el sistema no avanza. Matemáticamente, eso significa 0 minutos consumidos y 0 dinero tirado por la ventana en sesiones fantasma. La sección 3 es probablemente mi favorita. La anatomía de un fallo. Porque nada construye más confianza que una transparencia total, ¿no?

Imaginen esta situación de pesadilla. Se implementó un agente vocal en una página web, pero cuando pulsabas el botón no pasaba absolutamente nada. Sin sonido, sin ningún mensaje de advertencia, sin error en la consola del desarrollador. Silencio total. Para cualquiera, incluso para un técnico con experiencia, un fallo así parecía imposible de localizar a primera vista. ¿Por qué? Porque no existía ningún registro de error. Un fallo completamente silencioso. Cuando se excavó más a fondo, el análisis técnico sacó a la luz dos enemigos completamente invisibles. En primer lugar, el servidor enviaba un encabezado que prohibía por completo el uso del micrófono. El navegador, siendo obediente, respetaba la regla y rechazaba la solicitud, pero lo hacía sin advertir a la interfaz visual.

En segundo lugar, un componente de voz se importaba estáticamente en la página. El archivo simplemente no se encontraba, devolviendo un error 404. Por eso, todo el script se desplomaba en segundo plano, en silencio, bloqueando cualquier configuración posterior. Pero miren qué elegante fue la solución. El problema, evidentemente, no estaba en la IA, sino directamente en la red. Se modificó el encabezado del servidor para permitir el micrófono desde su propia fuente, vean ahí, en el estado reparado, y se movió la importación de código exactamente al interior de la acción de pulsar el botón. El fallo desapareció por completo. Ahora, si alguien pulsa el botón y el micrófono es bloqueado por el navegador, el fallo ya no es silencioso.

Aparece al instante un mensaje claro en rumano que te explica exactamente qué debes cambiar. Eso significa ingeniería hecha con cabeza, eliminando por completo las sorpresas desagradables. Seguimos adelante con la sección 4, motores, idiomas e interrupciones. Es el momento de examinar exactamente de qué es capaz este sistema. Aquí dejamos de lado las opiniones subjetivas y hablamos solo en milisegundos. Cuando usas el modelo Flash de ElevenLabs, la latencia es de solo 75 milisegundos. Para que se hagan una idea, para el oído humano eso es prácticamente instantáneo. Por otro lado, si prefieren una calidad vocal absolutamente premium, como la que ofrece el modelo Turbo, la latencia llega a unos 250 milisegundos. En una conversación telefónica, cada milisegundo es crítico, y la plataforma te permite elegir exactamente qué motor quieres, estrictamente según las necesidades operativas de la empresa.

Una pregunta superfrecuente que oímos es: Bueno, ¿pero puedo interrumpir al agente mientras habla? La respuesta es un sí rotundo, solo que el mecanismo difiere. Por ejemplo, en OpenAI Realtime, la detección es semántica. Tiene un umbral fijado en 0.5 y un margen de seguridad técnico de 300 milisegundos. En cambio, para ElevenLabs, en el segundo en que interviene una interrupción, un evento va directamente a la central telefónica, el sistema PBX, para cortar el sonido al instante. Además, el periodo de silencio que el agente espera antes de responder por su parte puede ajustarse muy finamente. Puede, por ejemplo, reducirse a 12 segundos en lugar del valor predeterminado de 15, lo que hace la conversación mucho más natural y ágil.

Desde el punto de vista de los idiomas compatibles, la configuración oficial del agente admite con éxito 32 idiomas diferentes. Pero, ¿un aspecto operativo de máxima importancia para nosotros aquí? El idioma rumano está configurado por defecto para absolutamente todos los agentes nuevos creados en esta plataforma. Hemos llegado a la quinta sección, límites técnicos y responsabilidades, porque, a veces, es igual de importante saber lo que un sistema no puede hacer, para tener las expectativas correctas. Vamos a trazar una línea muy clara. El agente puede ejecutar funciones externas, puede activar herramientas internas directamente en el servidor y puede transferir la llamada a un colega humano sin ningún problema. Pero el sistema prohíbe a los agentes improvisar en ámbitos estrictamente regulados.

Piénsalo un poco. Un agente que empieza a improvisar allí donde la legislación es extremadamente estricta se convierte en un riesgo enorme para la empresa, en ningún caso en una ventaja. Además, cosas como la ejecución automática de borrados de datos al cabo de un plazo determinado no son simplemente unas casillas en un menú. Representan proyectos procedimentales separados que deben ser implementados de forma dedicada por la organización. La seguridad, por otro lado, se trata con un rigor absoluto. Las páginas web que alojan a los agentes reciben exclusivamente esa URL firmada de la que hablábamos. Nunca, pero absolutamente nunca, reciben un ID de agente ni una clave API que podría ser robada y usada a costa de la empresa.

En la parte de voz, la telefonía depende al 100% de un trunk SIP externo funcional y, para ser lo más transparentes posible respecto a las limitaciones actuales, las líneas externas SIP de prueba no responden en este momento. Es un enfoque extremadamente sincero por parte de los ingenieros que demuestra que la realidad técnica siempre va primero, por encima de cualquier discusión comercial. Y aquí estamos en la sexta sección, la última, por cierto, el siguiente paso en el proceso. ¿Qué hacemos a partir de aquí con toda esta información? Toda esta disección técnica debería llevarnos a una evaluación súper objetiva de vuestros flujos de trabajo. Ese es el verdadero punto clave. ¿Qué proceso operativo dentro de la organización necesita de verdad funcionar de forma más eficiente?

No implementamos inteligencia artificial solo por el hecho de estar de moda, ¿verdad? El objetivo es identificar ese lugar exacto, lógico, donde un voice agent se puede integrar de forma racional, puede escalar y puede funcionar en condiciones de máxima seguridad. Como punto final, aquí tenéis las coordenadas operativas de la empresa MEGA PROMOTING S.R.L. de Chișinău, incluido el IDNO y la dirección web. Eso es para una posible discusión estrictamente técnica, destinada a aclarar cómo se pueden integrar estas estructuras complejas en los sistemas que ya utilizáis en vuestro negocio. Antes de cualquier decisión, dejaría una pregunta provocadora en la que reflexionemos todos. ¿Acaso los procesos actuales de gestión de clientes en nuestras empresas resistirían de verdad un análisis técnico tan duro y transparente como el que ha pasado este sistema? En un mercado definido por la innovación constante, una mirada basada estrictamente en hechos y cifras sigue siendo, con diferencia, la herramienta más poderosa que tenemos a nuestra disposición. ¡Hasta la próxima!

Qué incluye

El trabajo, por componentes

La sesión se pide a la plataforma, no al proveedor de voz

La página envía `POST /functions/v1/widget-voice-session` con el identificador público del widget y recibe a cambio una URL firmada. Nunca tiene el identificador del agente ni ninguna clave. La variante incorrecta — `startSession({ agentId })` directamente en HTML — evita por completo la capa de sesión, de crédito y de registro de la plataforma, y expone el agente a cualquiera que abra el código fuente de la página. Es la primera verificación que hacemos en cualquier implementación que asumimos.

El micrófono se pide antes de la sesión, así que un rechazo no cuesta nada

El orden es fijo y cuenta: pide el micrófono con `getUserMedia({audio:true})`, y solo si la persona acepta pide la sesión. Si el visitante rechaza, no se emite ninguna URL firmada y no se consume ningún minuto. La solicitud del micrófono se hace dentro de la pulsación del botón, antes de cualquier espera que pueda superar el gesto — de lo contrario el navegador ignora la solicitud.

El agente puede ser interrumpido, y eso se ajusta con cifras

En OpenAI Realtime: detección semántica del habla, umbral 0,5, margen 300 ms, 500 ms de silencio, interrupción permitida por defecto. En ElevenLabs: el evento `interruption` se transmite a la central para cortar la reproducción. Encima de eso, `turn_timeout` por agente decide después de cuánto tiempo de silencio el agente considera que es su turno — por defecto 15 segundos, ajustado a 12 en un agente de ventas. Y un «no lo puedo interrumpir» reportado por un cliente a menudo tiene otra causa que los umbrales: respuestas demasiado largas. Eso lo resolvemos en el prompt y en el límite de tokens, no en la detección del habla.

Invoca herramientas durante la conversación

El agente no está encerrado en lo que sabe. Puede llamar funciones en el servidor mientras habla — para leer una disponibilidad, escribir una cita, enviar un SMS o consultar un catálogo. Las herramientas se declaran por agente, con parámetros tipados y con un tiempo de ejecución propio, para que una herramienta lenta no bloquee la conversación.

La entrega a una persona forma parte del escenario, no es una excepción

En mensajería, la toma por parte de un colega tiene su propio estado en el hilo — `handoff_status`, el momento de la toma, el motivo, quién está asignado, las notas de resolución — implementada en un módulo dedicado de 619 líneas. Por teléfono, la transferencia la hace la central: transferencia ciega por `##` y transferencia asistida por `*2`, con la llamada aterrizando en un contexto de dialplan escrito para eso. Son dos mecanismos diferentes porque son dos canales diferentes; los escribimos a ambos en el escenario.

El motor y la voz se eligen explícitamente, no implícitamente

Cuatro posiciones de proveedor: `elevenlabs`, `openai-realtime`, `gemini-live` y `auto`. Para la síntesis de voz en otros idiomas que no sean inglés, el valor predeterminado es `eleven_flash_v2_5` — 32 idiomas, alrededor de 75 ms; la variante de mejor calidad, `eleven_turbo_v2_5`, está en torno a 250 ms. En OpenAI Realtime hay diez voces y motores hasta `gpt-realtime-2.1`. La elección es un campo en la configuración del agente, no una suposición por nuestra parte.

Idiomas

La configuración del agente acepta 32 idiomas, el mapa interno de idiomas de la plataforma tiene 41 entradas, y el panel de administración está traducido a 20. Son tres cifras para tres cosas distintas y no se pueden mezclar. El rumano es el idioma predeterminado de un agente nuevo.

Lo que queda después de la llamada

Transcripción, grabación de audio, duración, costo desglosado por proveedor, además de un análisis posterior a la llamada y un breve resumen de la conversación, generado para la memoria del cliente. El análisis no es un fin en sí mismo: en él se apoya la decisión de si el agente hizo lo que debía o si el escenario tiene un hueco.

El consumo se verifica antes de la acción, no en la factura

Antes de cualquier operación que cueste, la plataforma verifica el crédito disponible, y el consumo se registra desglosado por proveedor y por agente. La puerta está antes de la llamada. En la práctica: un agente metido en un bucle no puede consumir indefinidamente sin chocar con un límite.

Qué aspecto tiene

El recorrido, paso a paso.

01

Elegimos un solo recorrido y le escribimos los límites

Un escenario con entrada clara y salida clara: llamada recibida en recepción, confirmación de pedido, verificación de disponibilidad. Escribimos explícitamente qué no tiene permiso de hacer el agente, qué no tiene permiso de decir y por qué vía entrega la conversación a una persona. Un agente sin márgenes escritos no es más capaz, solo es más imprevisible.

02

Construimos el agente: rol, conocimientos, herramientas, límites

El prompt, la base de conocimientos aprobada por ti, las herramientas que puede llamar y los umbrales de conversación — proveedor, voz, modelo textual, tiempo de silencio, comportamiento ante interrupción. Al final tenemos un agente configurado, no un demo.

03

Lo ponemos en el canal y verificamos el recorrido sin consumir minutos

En la web: una línea de script o un componente propio sobre la API de inicio y parada. Existe un script que recorre exactamente el camino de un navegador — la fila de configuración, la configuración del widget, la solicitud de sesión — y se detiene en la URL firmada, sin abrir la conexión de audio. Se ejecuta sobre un widget o sobre todos, devuelve un código de salida, así que puede entrar en una verificación programada. Por teléfono: el número entra en el trunk, y las llamadas entrantes y salientes se prueban por separado, porque se rompen por separado.

04

Medimos lo que salió y corregimos el escenario

Después de las primeras conversaciones reales leemos las transcripciones y el análisis posterior a la llamada, no las impresiones. Lo que corregimos más a menudo no es el modelo, sino la longitud de las respuestas y los márgenes del escenario — dos cosas que se cambian en el prompt, el mismo día.

IntrareVerificareDeciziePublicareNada pasa más allá sin verificar.EL ORDEN ES EL ARGUMENTO
El recorrido de una conversación: la página pide el micrófono, la plataforma emite una sesión firmada, el agente habla y puede ser interrumpido, llama a una herramienta, y lo que supera su rol se entrega a una persona.

Los datos

Qué tocamos, dónde están y cuánto se quedan

Las preguntas que hace cualquiera que tenga un delegado de protección de datos — hechas aquí antes de que las haga él.

Dónde están los datos
PostgreSQL mediante Supabase alojado en infraestructura propia, con 559 migraciones versionadas, de las cuales 195 alcanzan políticas de Row Level Security. Los archivos —registros, documentos de conocimiento, muestras de voz— se guardan en depósitos separados, con la ruta empezando por el identificador del espacio de trabajo, para que el aislamiento esté en la estructura, no solo en la consulta.
Lo que nunca llega a tu página
La clave del proveedor de voz y el identificador del agente. La página recibe solo una URL firmada, de corta duración, emitida por la plataforma. La consecuencia práctica: alguien que lea el código fuente de tu página no puede usar tu agente a tu costa.
Qué se registra de una llamada
Audio, transcripción, duración, el número del llamante, el resultado de la llamada y el análisis posterior. Para los casos en que el agente recuerda al cliente entre llamadas, también se guarda un breve resumen de la conversación anterior. Todo queda vinculado a un espacio de trabajo; no existe un depósito común entre clientes.
La eliminación a petición existe; la eliminación automática al vencimiento todavía no
Lo decimos tal como es, porque esa es la diferencia entre una promesa y una función. La eliminación a petición está implementada: una función dedicada borra los objetos del depósito de archivos, llama al procedimiento de borrado de la base e invalida las sesiones; existe por separado exportación de datos y una función para los datos de llamada. Lo que no está implementado: los plazos de retención configurables por espacio de trabajo. Están diseñados en un documento interno de abril, pero la columna de configuración no aparece en ninguna migración —así que hoy la eliminación al vencimiento se hace mediante procedimiento, no mediante reloj. Si tu proyecto necesita eliminación automática, entra como trabajo, no como ajuste.
Quién es informado de que habla con un agente
El aviso de que el interlocutor habla con un sistema automático, el fundamento de la grabación de la conversación y el texto que se lee al inicio de la llamada se establecen junto contigo y entran en el guion. No son un ajuste técnico: son una decisión del operador de datos, es decir, tuya.

Un caso

El botón que no hacía nada —y ni siquiera daba error

La situación

Un agente de voz colocado en una página web. Al pulsarlo no ocurría absolutamente nada: sin sonido, sin mensaje, sin error en la consola que un no iniciado pudiera ver. El tipo de fallo que se reporta como «no funciona» y se busca un día en el lugar equivocado.

Qué construimos

Las causas eran dos, ambas silenciosas por naturaleza. La primera: la cabecera `Permissions-Policy` del servidor contenía `microphone=()`, y el navegador rechaza la solicitud de micrófono sin mostrar nada visible para el usuario. La segunda: el SDK vocal se importaba de forma estática, y un módulo que devuelve 404 en la importación estática derriba todo el script; por tanto, la solicitud de configuración también moría con él, lo que hace que el defecto parezca exactamente como “no pasó nada”. Movimos la importación del SDK dentro de la pulsación del botón, pusimos la solicitud de micrófono antes de la solicitud de sesión y escribimos la cabecera del servidor como `microphone=(self)`, con la política de contenido que permite explícitamente la red de distribución del SDK.

Qué salió

Hoy, en este sitio, el encabezado servido en producción es `camera=(), microphone=(self), geolocation=(self)`, y la política de seguridad de contenido enumera explícitamente la fuente del SDK. Un fallo ya no es silencioso: el rechazo del micrófono produce un mensaje en rumano que dice qué debe cambiarse exactamente, y el rechazo no cuesta nada, porque la sesión ni siquiera se solicita.

Qué no dice el caso

Las dos causas son de infraestructura, no del agente. Si tu sitio lo sirve otra persona y los encabezados no están bajo nuestro control, verificarlos se vuelve una condición inicial del trabajo, no una sorpresa al final.

Preguntas

Lo que nos pregunta la gente antes de llamar

¿Con qué habla, concretamente? ¿Qué motor hay detrás?

Eliges entre ElevenLabs Conversational AI, OpenAI Realtime y Gemini Live, o dejas «auto» y la plataforma elige según el idioma y la disponibilidad. Para la síntesis de voz en idiomas distintos del inglés, el valor predeterminado es `eleven_flash_v2_5` —32 idiomas, en torno a 75 ms; si quieres mayor calidad y aceptas más latencia, `eleven_turbo_v2_5` está en torno a 250 ms. En OpenAI Realtime hay diez voces, y el motor llega hasta `gpt-realtime-2.1`. El cerebro textual se elige por separado, desde un catálogo en el que cada modelo tiene la latencia y el coste por minuto escritos al lado.

¿Puedo interrumpirlo cuando habla, o tengo que esperar a que termine?

Puedes. En OpenAI Realtime la detección de voz es semántica, con umbral 0,5, colchón de 300 ms y 500 ms de silencio, y el interruptor de interrupción está activado por defecto. En ElevenLabs, el evento de interrupción se envía a la central telefónica para detener la reproducción. Si aun así tienes la sensación de que «no puedes interrumpirlo», la causa suele ser otra: el agente responde en párrafos, no en frases. Eso se corrige en el prompt y en el límite de tokens, no en umbrales.

¿En cuántos idiomas habla?

La configuración del agente admite 32 idiomas. El mapa interno de idiomas de la plataforma tiene 41 entradas, y el panel de administración está traducido a 20 — tres cifras para tres cosas distintas. El rumano es el idioma predeterminado de un agente nuevo. Para un idioma concreto, primero comprobamos qué combinación de modelo de voz y proveedor lo cubre efectivamente, porque no todos los modelos cubren los mismos idiomas.

¿Cómo llega a mi sitio y qué tengo que cambiar en el mío?

Una línea de script con el identificador público del widget, o tu propia componente sobre `start()` / `stop()` / `toggle()`. Dos cosas deben ser verdad en tu servidor; de lo contrario, el botón no hace nada y no aparece ningún error: la cabecera `Permissions-Policy` debe permitir `microphone=(self)` — con `microphone=()` el navegador rechaza el micrófono en silencio — y la política de seguridad de contenido debe permitir la carga del SDK desde la red de distribución usada. Las comprobamos nosotros antes de la publicación.

¿Puede llamar él primero, no solo responder?

Sí, la plataforma tiene llamadas por lotes, con importación de contactos, reintentos y seguimiento en tiempo real. Pero las llamadas salientes no dependen solo de nosotros: en nuestro registro de incidencias está documentado un caso en el que la central del operador empezó a devolver `403 Forbidden` a todas las salidas, con nuestra configuración sin cambios y con las llamadas entrantes funcionando con normalidad. Por eso probamos las salidas aparte antes de prometer una campaña de llamadas, y por eso no vendemos un volumen de llamadas salientes antes de esa prueba.

¿Qué pasa cuando el agente no sabe la respuesta?

La pasa. Cada agente tiene límites escritos y una ruta de transferencia configurada. En mensajería, el hilo pasa a estado de toma humana, con motivo y con asignación a un compañero. Por teléfono, la central hace la transferencia — ciega o asistida — a una extensión o a un número externo. Lo que supera el rol del agente se detiene, no se improvisa; esa es una elección de diseño, porque un agente que improvisa en un ámbito regulado es un riesgo, no un ahorro.

¿Se registran las conversaciones? ¿Cuánto se conservan?

Sí, se registran, se transcriben y se analizan, y todo está vinculado a tu espacio de trabajo. Cuánto se conservan es una decisión tuya como operador de datos, no un valor predeterminado que te impongamos — y hay que decir claramente que la eliminación automática al vencimiento no es hoy una simple configuración en la plataforma: la eliminación a petición está implementada, la eliminación al vencimiento se hace por procedimiento. Si necesitas un reloj automático, se construye en el proyecto.

¿Consume dinero si el visitante pulsa el botón y luego rechaza el micrófono?

No. El micrófono se solicita antes de la sesión. Si la persona lo rechaza, la solicitud de sesión ya no se hace en absoluto, así que no se emite ninguna URL firmada y no se consume nada. Por separado, antes de cualquier operación que cueste, la plataforma comprueba el crédito disponible — la puerta está antes de la llamada, no en la factura de fin de mes.

¿Puedo tener hoy un agente que responde a un número de teléfono fijo?

Depende de una pieza que no es el agente: la host SIP por la que entra la llamada. La parte del agente está lista y se puede mostrar en la página de inmediato. La parte de telefonía requiere un trunk funcional del operador y una central que responda; a la fecha de escritura, la host por la que pasan nuestras líneas de prueba no responde, y no presentamos como disponible algo que no podemos poner en marcha delante de ti. Para un proyecto real, la telefonía se dimensiona aparte — mira la página de telefonía y contact center.

En qué se basan las afirmaciones anteriores (21 fuentes)
  1. app.kallina.info responde 200 hoy; supabase.kallina.info responde en las funciones edgehttps://app.kallina.info/ · 2026-09-06
  2. Las cabeceras servidas hoy en producción en megapromoting.com permiten el micrófono y la fuente del SDKhttps://www.megapromoting.com/ · 2026-09-06

19 de ellas son código y archivos de nuestros repositorios. No publicamos su nombre ni la línea: juntos, en una sola página, describirían con demasiada precisión cómo están construidos sistemas que no son solo nuestros. Los repasamos contigo, en el repositorio, a petición — la verificación sigue siendo posible, solo que se hace en una conversación.

¿Qué te gustaría que funcionara mejor?

Cuéntanos tu proceso. Juntos decidimos qué merece la pena construir, qué podemos conectar y cómo verificamos el resultado.

Vamos a hablar