Dialer WebRTC avec NestJS backend, Socket.IO pour notifications push, moteur de decisioning par scoring competences (Expert=4/Advanced=3/Intermediate=2/Beginner=1), Telnyx WebRTC SDK.
Le moteur de routage utilise un systeme de scoring a quatre niveaux (Expert=4, Advanced=3, Intermediate=2, Beginner=1) pour chaque competence. Quand un appel arrive, le moteur calcule le score de chaque agent disponible sur les competences requises et selectionne le meilleur match. Les appels en file d'attente sont reevalues a chaque changement de disponibilite.
L'integration Telnyx WebRTC SDK permet aux agents de passer et recevoir des appels directement dans le navigateur. Le backend NestJS gere la logique metier : creation de sessions, tracking des etats d'appel (sonnerie, en cours, en attente, termine), et enregistrement. Socket.IO pousse les notifications en temps reel vers les clients connectes.
L'architecture separe le dialer (composant d'appel) de la logique de routage. Le dialer est un module frontend autonome qui communique avec le backend via WebSocket. Le routage est un service NestJS independant qui peut etre modifie sans impacter l'interface d'appel. Les etats d'appel sont geres par une machine a etats cote serveur.
Backend NestJS avec modules Calls (state machine complete), Events (Socket.IO gateway), Decisioning (scoring par competences), Telnyx (controle VoIP).
Moteur de scoring agents : ponderation par proficiency (Expert=4pts, Advanced=3, Intermediate=2, Beginner=1), fallback round-robin.
Socket.IO WebSocket gateway : enregistrement agents, push notifications ciblees (callId, callerPhone, campaignName), broadcasts de statut.
Integration Telnyx WebRTC SDK dans le portail React : session establishment, gestion flux audio, controles mute/hold/hangup.
Schema Prisma pour calls, agents, skills, dispositions avec suivi KPIs.
Ponderation 4 niveaux avec fallback round-robin
Push notifications ciblees en temps reel
SDK integre dans React pour appels browser
Brief, repo, ou appel rapide - on s'adapte.