Un client WebRTC Twilio (Voice JS SDK) parle… à l’infrastructure Twilio. Un client LiveKit JS parle… à l’infrastructure LiveKit.

LA QUESTION = A propos de Création/établissement d’un appel (agent ↔ client web Création/établissement d’un appel (agent ↔ client web ou PSTN) via Programmable Voice + Voice JS SDK et TwiML (<Dial><Client>). Ici, est-ce que c'est possible d'utiliser tout ce qui est signalisation et WebRTC du côté signalisation par Twilio, et de l'autre côté d'utiliser juste le code de LiveKit en JS qui discute avec les clients Softphone, toujours d'un client React.js dans les deux cas. Merci pour les users, d'un côté, et Human Call Center de l'autre, Softphone. Merci.


> LA RÉPONSE = NON 


Courte réponse : non, pas “directement”.

Un client WebRTC Twilio (Voice JS SDK) parle… à l’infrastructure Twilio. Un client LiveKit JS parle… à l’infrastructure LiveKit. Les deux n’utilisent pas la même signalisation ni le même serveur média ; ils ne peuvent donc pas établir un pair-à-pair ensemble sans passer par une passerelle. Twilio+2Twilio+2

Deux façons propres de faire

  1. Choisir une seule pile de bout en bout
    • 100 % Twilio (Voice JS SDK côté agent et côté client web) → le plus simple. Twilio
    • 100 % LiveKit (JS SDK des deux côtés) → vous gérez/maîtrisez l’infra SFU. LiveKit Docs
  2. Ponter Twilio ↔ LiveKit via SIP (recommandé si vous devez mixer)
    • Utiliser Twilio SIP (Elastic SIP Trunking / SIP Domains) côté Twilio,
    • et LiveKit SIP (ingress/egress) côté LiveKit.
    • Le pont SIP fait la “traduction” entre les deux mondes. LiveKit Docs+5Twilio+5Twilio+5

Schéma (option 2)

[Agent (Twilio Voice SDK)] ⇄ Twilio Media/Signaling ⇄ SIP Trunk ⇄ LiveKit SIP ⇄ [Client (LiveKit JS)]

  • Variante inverse aussi possible (Agent LiveKit ⇄ … ⇄ Client Twilio).
  • NB : LiveKit documente des quickstarts Twilio SIP (entrant/sortant) et l’acceptation d’appels Programmable Voice → LiveKit (avec limites). LiveKit Docs+1

Points d’attention

  • Pas de PeerConnection “mixte” (une seule connexion WebRTC ne peut cibler à la fois Twilio et LiveKit). Il faut un pont (SIP ou un media bridge dédié). Twilio+1
  • Fonctionnalités SIP : certaines limites existent selon la voie choisie (ex. REFER non supporté côté “Programmable Voice → LiveKit”, et pour l’outbound on passe plutôt par Elastic SIP Trunking). LiveKit Docs+1
  • Coûts & QoS : le pont ajoute un saut réseau et des coûts (minutes SIP, égress). Mesurez latence/jitter.

Recommandation pragmatique pour votre MVP

  • Si votre besoin est softphone ↔ softphone vite et bien : full Twilio (agent & client web en Voice SDK). Twilio
  • Si vous visez ensuite un écosystème RTC ouvert (rooms, enregistrements, AI agents LiveKit, etc.) : basculez full LiveKit, ou mettez un pont SIP pour coexister avec Twilio (PSTN, numéros, WhatsApp, etc.). LiveKit Docs