Conexión de telefonía IP
Aelo recibe llamadas finalizadas de proveedores de telefonía IP mediante webhook, y las llamadas históricas mediante CDR backfill. Se admiten cuatro proveedores: Stream Telecom y Binotel están verificados con tráfico real; Unitalk y Ringostat están en beta.
Principio general
Section titled “Principio general”- En Fuentes → Telefonía, elige un proveedor e introduce sus credenciales.
- Copia la
webhookUrlgenerada en la configuración del proveedor. - Pulsa Probar conexión: Aelo llamará a la API CDR del proveedor.
Stream Telecom
Section titled “Stream Telecom”- Credenciales:
username+password+api_key(Administración → Perfil de la empresa → API KEY). No es un token Bearer. - Webhook: un flujo de eventos; el evento terminal es
Hangupcon unrecordUrlsíncrono. Se configura escribiendo a support@streamtele.com. - CDR backfill: ventana ≤30 días.
Binotel
Section titled “Binotel”- Credenciales:
key+secret(los emite support@binotel.ua, vinculados a tu IP). - Evento:
apiCallCompleted(form-urlencoded). El webhook no incluye la URL de la grabación: Aelo la obtiene bajo demanda justo antes de la descarga (el enlace dura ~15 min). - Lista de IP permitidas: las IP públicas de Binotel se permiten por defecto.
- Aelo siempre responde 200 para evitar reenvíos del proveedor.
Unitalk
Section titled “Unitalk”- Credenciales: API key del proyecto (en la cabecera
Authorization). - Configuración: tras guardar, Aelo genera un secreto de webhook. Pégalo en la
cabecera
Authorizationdel manejador de eventos de Unitalk; de lo contrario, todos los webhooks serán rechazados. - Cómo recuperar el secreto: no se muestra por defecto, porque el estado de la conexión lo puede ver cualquier miembro de la organización. Abre Configuración → Fuentes de datos → Conexión → Webhook de llamadas en tiempo real y pulsa Mostrar secreto — disponible para el propietario y los administradores. El secreto no cambia al rotar la API key ni al volver a conectar la fuente: la copia ya pegada en Unitalk sigue funcionando.
- Zona horaria: las marcas de tiempo de Unitalk no llevan desfase; por defecto
Europe/Kyiv(editable en el formulario). - Evento:
CALL_END. La grabación está disponible tras ~10–15 min (Aelo la espera).
Ringostat
Section titled “Ringostat”- Credenciales: API key: el único campo que pide el formulario.
- Configuración: el webhook se activa a través del soporte de Ringostat (help@ringostat.com); el asistente prepara ese correo por ti.
- Grabación: llega dentro del propio webhook, sin petición adicional.
- Sin CDR backfill: no se pueden importar llamadas históricas, solo las que lleguen después de establecer la conexión.
- Estado: beta. El esquema del payload se hereda de una integración anterior y nunca se ha confirmado con datos reales; por eso Probar conexión responde con éxito sin llamar a Ringostat.
Modo híbrido: telefonía como fuente exclusiva de audio
Section titled “Modo híbrido: telefonía como fuente exclusiva de audio”Algunos CRM registran una llamada pero nunca adjuntan su grabación. Bitrix24, por ejemplo, puede registrar la llamada como una actividad que solo enlaza al archivo web propio del proveedor de telefonía, en vez de llevar un archivo. Para ese caso, una instalación de telefonía puede pasar de su rol por defecto de fuente de registros a un rol de fuente exclusiva de audio: deja de crear sus propios registros y en su lugar aporta la grabación que le falta a un registro del CRM.
- Proveedor: hoy solo Binotel. Aelo obtiene una grabación de Binotel bajo demanda, por el id de la llamada; Stream Telecom, Unitalk y Ringostat solo entregan su grabación dentro de su propio webhook y no pueden generarla para una llamada que no recibieron directamente.
- Configuración: el rol se elige en el asistente de conexión, en el paso de las credenciales. La opción aparece solo cuando tiene sentido: el proveedor debe poder emitir la URL de la grabación a partir de un id de llamada, y la fuente de registros debe ser un CRM del que Aelo recupera la grabación — hoy, Bitrix24. Conectar una fuente de solo audio no apaga la telefonía por la que llegan tus registros: una telefonía activa POR ROL, no por organización. Una fuente de solo audio se salta el paso de importación masiva (no importa registros) y aparece en Configuración → Fuentes de datos → Conexión como su propia tarjeta, marcada como fuente adicional, con su URL de webhook y sus propios botones de cambio y desconexión. Rotar las credenciales conserva el rol: el asistente se abre en el rol que la instalación ya tiene.
- Coincidencia: Aelo busca primero un id de llamada ya presente en la actividad del CRM; si no lo encuentra, compara por número de teléfono, hora y duración de la llamada contra el índice de llamadas de Binotel. El webhook en vivo añade una llamada a ese índice en cuanto ha terminado, contestada o no. Un resultado de «nadie descolgó» o «línea ocupada» permite a Aelo dejar de esperar una grabación que nunca llegará. El resto de los resultados no contestados (colgaron mientras sonaba, un fallo de red) también se indexan, pero Aelo sigue pidiendo la grabación al operador hasta el techo de 24 horas: ese resultado no se puede distinguir de uno que aún no reconocemos. Una importación histórica duradera, que se inicia al procesar el backlog, recoge lo que el webhook en vivo no llegó a ver: un evento perdido o una llamada anterior a la conexión de la instalación.
- Retención: el índice de coincidencia solo contiene terminaciones de números de teléfono y metadatos de llamada. Cada fila vence como máximo a los 30 días, antes si la retención de transcripciones configurada por la organización es menor, y forma parte de la purga completa de la organización.
- Cuándo se rinde: dos respuestas permiten cerrar el registro con un motivo propio en lugar de esperar el audio. «Sin grabación en la fuente»: la llamada figura en el índice con un resultado que dice que el operador nunca la grabó. «Coinciden varias llamadas»: tras acotar sigue habiendo más de un candidato, y adivinar no vale — una grabación ajena en la ficha es peor que ninguna. Lo demás espera la ventana habitual de 24 horas y se cierra entonces como «Llamada no encontrada en la fuente», siempre que el operador responda en ese momento. Si no lo hace, el registro termina en error: un operador que ha enmudecido no dice nada sobre la llamada.