Nodo Activo: Cluster 01

Orquestador Global

Monitor transaccional en tiempo real para el microservicio de señalización multimedia.

0
Salas Activas
S
0
Sesiones Online
U
1h 54m 2s
Tiempo de Vuelo
T

Carga del Sistema

Normativo
Sincronización a 60fps Promedio: 14ms Latencia

Estado Base Datos

Sincronizado

Nodos Redis

Operativo
[00:00:01] SYSTEM Kernel inicializado correctamente.
[00:00:02] AUTH Servicio JWT listo en puerto 5000.
[00:00:03] NET Protocolo WebRTC habilitado (Gated Mode).

CubicKonfer SDK

Guía de integración técnica para ingenieros de software.

Modelo de Sesión Autoritativa

CubicKonfer utiliza una arquitectura de control centralizada. El servidor actúa como el árbitro final de la sesión, validando permisos en tiempo real y gestionando el ciclo de vida de cada conexión WebRTC.

Arquitectura Detallada:

Filtro de Señalización: Los paquetes SDP y ICE Candidates solo se direccionan si el remitente tiene permisos activos.
Aislamiento por Cita: Cada sesión está encapsulada por su Appointment ID, evitando colisiones de datos.
Persistencia Volátil: El estado de las salas reside en memoria para máxima velocidad, con respaldo de Redis para el conteo.

Estructura del JWT (Claims)

La seguridad se basa en tokens JWT firmados que deben incluir los roles específicos para el acceso a las salas.

{
  "id": "USR-123",       // ID único del usuario
  "role": "admin",        // 'admin' (Profesional) o 'guest' (Paciente/Cliente)
  "appointmentId": "...", // ID único de la cita
  "apiKey": "..."         // API Key para validación de licenciamiento
}

Eventos Socket - Guía Detallada

Flujo de eventos para el control total de la videollamada.

Estructura de Eventos (Socket.io):

session-info (Servidor) Sincronización inicial tras conectar. { "status": "waiting" | "active", "metadata": { "branding": { "primaryColor": "...", "logo": "..." } }, "role": "admin" | "guest" }
user-joined (Servidor) Notifica que un par se ha unido a la sala lógica. { "userId": "socket_id", "role": "guest" | "admin" | "unknown" }
session-start (Admin) Cambia el estado de la sala a 'active'. Habilita la visibilidad de flujos multimedia. N/A
negotiation-trigger (Servidor) Evento maestro de recuperación. Indica al Admin que debe re-emitir un 'offer'. { "targetId": "socket_id_invitado" } ⚠️ Acción: El Admin debe ejecutar peerConnection.createOffer() apuntando al targetId.
offer / answer (Pares) Intercambio de descriptores SDP (Session Description Protocol). { "target": "id_destino", "sdp": { "type": "offer" | "answer", "sdp": "..." } }
ice-candidate (Pares) Intercambio de candidatos de red para establecer la ruta P2P más óptima. { "target": "id_destino", "candidate": { "candidate": "...", "sdpMid": "...", "sdpMLineIndex": ... } }
media-state-update (Pares) Informa sobre el estado del hardware local del par remoto (Audio/Video). { "userId": "...", "audio": boolean, "video": boolean }
remote-mute-request (Servidor) Orden recibida por un Invitado (emitida por Admin) para silenciar el micro local. N/A

Infraestructura ICE (STUN/TURN)

Para atravesar cortafuegos, es obligatorio obtener las credenciales dinámicas antes de iniciar el WebRTC.

Endpoint Crítico: GET /config
Requisito: Cabecera 'Authorization: Bearer '
Retorno: Array 'iceServers' con tokens de acceso temporales.

Contacto Técnico Oficial

Para asistencia técnica, implementaciones personalizadas o reportes, contacta con nosotros: