Note de langue
Cette version française est une traduction abrégée : les sections « 1. Device registration & VoIP push tokens (mobile) » et « 3. Choose how inbound calls reach the softphone » n’existent qu’en anglais : /en/guides/voice-softphone-browser-calling. Les blocs de code, chemins d’endpoints, noms de champs API et codes d’erreur restent en anglais.Configurer le softphone navigateur (WebRTC)
Le softphone navigateur permet à un agent de passer et de recevoir des appels PSTN sans quitter le navigateur — pas de téléphone de bureau, pas d’application SIP desktop. Trois manières de le mettre devant un agent, qui partagent les mêmes identifiants et la même infrastructure :- Le softphone intégré au dashboard — Orbit livre un softphone prêt à l’emploi dans le dashboard. C’est le chemin sans code et le bon point de départ pour la plupart des équipes.
- Un softphone embarqué basé sur LiveKit (
Softphonedans@devotel-orbit/web) — vous montez le softphone dans votre propre espace agent (CRM, mur de centre de contact, outil interne) avec votre propre UI. - Un softphone SIP-over-WSS embarqué (le chemin d’enregistrement SIP) — un client SIP classique (par ex. JsSIP) qui s’enregistre directement auprès de la passerelle WebRTC-vers-SIP d’Orbit.
2. Émettre les identifiants du softphone
Un navigateur d’agent a besoin d’un identifiant de courte durée avant de pouvoir se connecter. L’endpoint d’émission dépend du client choisi — dashboard, LiveKit embarqué ou SIP embarqué.Softphone dashboard intégré / LiveKit embarqué
POST /voice/softphone/token rend un jeton d’accès LiveKit de courte durée plus l’URL média de connexion :
POST /voice/softphone/dial avec { "to": "+15550123", "from": "+15559876" }.
Softphone SIP/WSS embarqué
Un client SIP s’enregistre directement par WebSocket.POST /voice/softphone/register échange votre requête API authentifiée contre un identifiant SIP de courte durée :
- Les identifiants vivent 60 minutes — ré-enregistrez avant
expiresAtsinon la session tombe. callerIdNumberdoit être un numéro que votre organisation possède (sinon 403) — c’est ainsi que le spoofing de CLI sortant est bloqué.- Le nom d’utilisateur est lié à votre organisation : un nom volé ne peut pas être rejoué contre un autre tenant.
- L’émission de jetons est limitée à owner/admin/developer — pas d’endpoint public anonyme.
Révoquez un identifiant immédiatement avec
DELETE /voice/softphone/credentials/:username si un agent part ou si un jeton fuite.4. Extrait JS complet — micro, push VoIP + repli navigateur
Voici un softphone navigateur complet, à copier-coller. Il fonctionne avec les deux options embarquées (LiveKit et SIP-over-WSS) et traite la réalité du repli navigateur :5. Vérification & dépannage
Vérifier le setup de bout en bout :- Émettez un identifiant (section 2), connectez le client (section 4) et guettez l’événement
connectou SIPregistered. - Passez un appel sortant vers votre propre mobile — vous devriez entendre la sonnerie puis un audio bidirectionnel.
- Faites router un appel entrant vers votre numéro et confirmez que le softphone sonne et répond.
Où aller ensuite
- SDK demo test-call page — passez un vrai appel sortant de test depuis le dashboard (Developer → SDK Live Demo).
- SIP trunk setup — si vous voulez apporter votre propre carrier/trunk à côté du softphone navigateur.
- Voice queues — les files ACD par lesquelles passent les appels entrants avant qu’un softphone réponde.
- Web SDK — la carte complète des événements de
Softphoneet des autres surfaces SDK.