Softphones et le SBC : enregistrement, traversée du NAT et médias sécurisés pour la voix à distance

Un ordinateur portable connecté à un cube ProSBC par un câble holographique lumineux, représentant l'enregistrement sécurisé d'un softphone et l'accès vocal à distance via un Session Border Controller

Une application softphone transforme un ordinateur portable ou un smartphone en poste téléphonique d’entreprise, et pour le personnel de bureau connecté au réseau local de l’entreprise, cela fonctionne sans difficulté. Les problèmes commencent lorsque l’utilisateur se déplace. Depuis un bureau à domicile, un hôtel ou un réseau mobile, ce même softphone doit s’enregistrer et transporter l’audio à travers les pare-feu, la traduction d’adresses réseau (NAT) et l’internet public, et soudain les enregistrements échouent et les appels deviennent unidirectionnels.

Dans cet article, nous vous expliquerons ce qu’est réellement un softphone, comment il s’enregistre, pourquoi les réseaux distants perturbent le SIP, et comment un Session Border Controller (SBC) en bordure d’accès maintient l’enregistrement, la traversée du NAT et la sécurité des médias pour la voix à distance.

Termes et concepts clés
Un glossaire de référence rapide pour les termes utilisés dans cet article.
SoftphoneUn client SIP logiciel qui fonctionne sur un ordinateur de bureau ou un appareil mobile et remplit les mêmes fonctions d’enregistrement, de signalisation et d’appel qu’un téléphone de bureau physique.
SIP User Agent (UA)Le point de terminaison SIP qui émet et reçoit les requêtes SIP. Un softphone est un agent utilisateur implémenté en logiciel plutôt qu’en matériel dédié.
RegistrarLe serveur qui enregistre l’emplacement d’un utilisateur en stockant l’association entre son identité SIP et son adresse de contact actuelle. Dans un déploiement distant, il s’agit de l’IP-PBX ou de la plateforme vocale hébergée en amont, et non du SBC.
SIP REGISTERLa requête SIP qu’un client envoie pour associer son adresse d’enregistrement à une adresse de contact. L’association a une durée de vie, définie par la valeur Expires, et doit être renouvelée avant son expiration.
NAT (Network Address Translation)La fonction du routeur qui associe des adresses privées à une adresse publique. Le NAT est ce qui masque l’adresse réelle d’un softphone vis-à-vis du réseau étendu et perturbe le SIP si le chemin n’est pas correctement géré.
Détection du NAT côté distant (far-end NAT detection)Une technique du SBC qui utilise l’adresse d’arrivée réelle du paquet, plutôt que l’adresse privée inscrite dans le message SIP, afin que le trafic de retour atteigne le point de terminaison.
RTP symétrique (Symmetric RTP)L’envoi du média vers la même adresse et le même port d’où le média a été reçu, ce qui permet à l’audio d’atteindre le pinhole NAT déjà ouvert par le softphone.
SIP ALGUn SIP Application Layer Gateway intégré à de nombreux routeurs grand public qui tente de réécrire le SIP et le corrompt généralement. Le conseil standard est de le désactiver.
TLS (Transport Layer Security)Le protocole de chiffrement qui sécurise la signalisation SIP, transporté sur le port par défaut 5061.
SRTP (Secure Real-time Transport Protocol)La version chiffrée et authentifiée du RTP, utilisée pour protéger les médias vocaux en transit.
Transfert d’enregistrement SIP (SIP Registration Forwarding)Une fonction du SBC qui relaie les enregistrements des points de terminaison vers un registrar en amont, permettant au SBC de se placer devant le registrar sans en être un lui-même.

Qu’est-ce qu’un softphone ?

Un softphone est un agent utilisateur (UA) SIP logiciel : un programme qui remplit les mêmes fonctions d’enregistrement, de signalisation d’appel et de traitement média qu’un téléphone de bureau, entièrement implémenté en logiciel sur un appareil polyvalent. Le Session Initiation Protocol définit l’agent utilisateur comme le point de terminaison qui émet et reçoit les requêtes SIP, et un softphone est simplement ce point de terminaison fonctionnant sous forme d’application plutôt que de matériel dédié (RFC 3261).

Les softphones se présentent sous trois formes courantes : des applications de bureau sur ordinateur, des composeurs mobiles sur iOS et Android, et des clients navigateur ou WebRTC intégrés dans une application de communications unifiées. Quel que soit l’hôte, la fonction est la même. Le softphone s’enregistre auprès d’un registrar afin que le réseau sache où joindre l’utilisateur, envoie et reçoit des messages INVITE pour établir les appels, négocie les codecs dans le Session Description Protocol, puis envoie et reçoit le média Real-time Transport Protocol (RTP).

Softphone vs. téléphone SIP

Un téléphone SIP, ou hardphone, ou poste de bureau, est le combiné que vous branchez sur le réseau. Un softphone effectue le même travail SIP, il réside simplement sur un appareil que l’utilisateur possède déjà. Le comportement protocolaire est identique, de sorte qu’un registrar traite un enregistrement provenant d’un softphone de la même manière que celui d’un hardphone. La différence qui compte dans cette discussion est l’emplacement : un téléphone de bureau se trouve généralement sur un réseau géré derrière un pare-feu connu, tandis qu’un softphone suit l’utilisateur sur le réseau où il se trouve.

Pourquoi les softphones ont changé le problème de déploiement

Lorsque les points de terminaison se trouvaient sur le réseau local, le chemin d’enregistrement et de média restait à l’intérieur d’un périmètre de confiance. Les softphones ont déplacé le point de terminaison à l’extérieur de ce périmètre par défaut. Désormais, un enregistrement arrive depuis une connexion résidentielle à large bande derrière un NAT grand public, le média doit traverser l’internet public, et le réseau n’a aucun contrôle sur le pare-feu intermédiaire. Le côté client est simple. C’est le chemin qui pose problème.

Comment un softphone s’enregistre

L’enregistrement est la manière dont le réseau apprend où envoyer les appels pour un utilisateur donné. Le softphone envoie une requête SIP REGISTER qui associe son adresse d’enregistrement (l’identité SIP de l’utilisateur) à une adresse de contact (où il peut actuellement être joint). Le registrar conteste la requête avec une demande d’identifiants, généralement avec une réponse 401 ou 407, le softphone renvoie une réponse d’authentification digest, et le registrar retourne un 200 OK accompagné d’une valeur Expires (RFC 3261).

Cette valeur Expires définit la durée de vie de l’association. Le softphone doit envoyer un nouveau REGISTER avant l’expiration du minuteur, sinon le réseau le considère comme injoignable et les appels entrants cessent d’arriver. Le renouvellement d’enregistrement est donc un battement de cœur constant, et non un événement ponctuel, et l’intervalle de rafraîchissement a des conséquences directes pour les points de terminaison distants car il interagit avec les délais d’expiration des associations NAT, que nous aborderons ensuite.

Pour la voix à distance, le point architectural est l’emplacement du SBC. Le softphone ne s’enregistre pas directement auprès du PBX à travers l’internet. Il s’enregistre vers le SBC en bordure du réseau, qui est le point de contact public, et le SBC transfère cet enregistrement en amont vers le registrar réel. Un SBC effectue le transfert d’enregistrement SIP, relayant et mandatant les enregistrements vers le registrar en amont plutôt que d’agir comme registrar lui-même. Le registrar reste votre IP-PBX ou plateforme vocale hébergée, comme FreePBX, Asterisk, NetSapiens ou 3CX. Le SBC est le gardien qui se tient devant.

Ce que le SBC réécrit au passage

Lorsque l’enregistrement puis la signalisation d’appel traversent le SBC, celui-ci réécrit les adresses contenues dans les en-têtes SIP et le corps SDP afin que le registrar en amont voie un contact joignable et que le média de retour arrive au bon endroit. Cette réécriture est le fondement de la traversée du NAT, qui est le prochain problème à résoudre.

Des softphones distants derrière un NAT s'enregistrant via un SBC d'accès auprès d'un registrar en amont, avec signalisation SIP sur TLS et média SRTP en bordure

Les softphones distants sur des réseaux non fiables s’enregistrent via le SBC d’accès, qui effectue la détection du NAT côté distant, le SIP sur TLS et le SRTP en bordure, et transfère chaque enregistrement au registrar en amont (IP-PBX). Le SBC est le gardien, pas le registrar. Cliquez pour agrandir.

Pourquoi le NAT perturbe les softphones et téléphones SIP distants

Le SIP transporte des adresses IP à l’intérieur de ses messages. Un softphone derrière un NAT consulte sa propre adresse et inscrit une adresse privée, du type 192.168.x.x, dans l’en-tête Via, l’en-tête Contact et la description média SDP. Le côté distant lit cette adresse privée et tente d’envoyer les réponses de signalisation et le RTP vers celle-ci, et les paquets n’arrivent nulle part car une adresse privée n’est pas routable sur l’internet. Les symptômes sont familiers : des enregistrements qui ne tiennent pas, des appels qui se connectent mais dont l’audio ne passe que dans un sens, ou aucun audio du tout.

Détection du NAT côté distant

Un SBC résout ce problème en se fiant à ce qu’il observe plutôt qu’à ce que le point de terminaison déclare. Il compare l’adresse inscrite dans le message SIP avec l’adresse source réelle d’arrivée du paquet, et lorsqu’elles diffèrent, il utilise l’adresse publique et le port réels pour le trafic de retour. C’est la détection du NAT côté distant, et c’est ce qui permet à un softphone distant de s’enregistrer et de recevoir des appels sans que l’utilisateur ne touche à son routeur domestique.

RTP symétrique

Le même principe s’applique au média. Avec le RTP symétrique, le SBC renvoie l’audio vers la même adresse IP et le même port d’où il a effectivement reçu l’audio, plutôt que de se fier à l’adresse annoncée dans le SDP (RFC 3550). Puisque le dispositif NAT a ouvert ce port lorsque le softphone a envoyé son premier paquet média vers l’extérieur, répondre exactement sur le même port permet à l’audio d’atteindre le pinhole ouvert. Cette seule technique résout la plupart des problèmes d’audio unidirectionnel signalés par les télétravailleurs.

Keep-alives et l’association NAT

Les pinholes NAT ne restent pas ouverts indéfiniment. Le routeur ferme une association inactive après un délai d’expiration, et une fois fermée, les appels entrants ne peuvent plus atteindre le point de terminaison. Deux mécanismes maintiennent le pinhole ouvert : le rafraîchissement d’enregistrement, lié à la valeur Expires mentionnée précédemment, et les keep-alives SIP ou RTP périodiques qui envoient un petit paquet assez fréquemment pour réinitialiser le minuteur NAT. Ajuster l’intervalle de rafraîchissement en dessous du délai d’expiration NAT est ce qui maintient un softphone distant continuellement joignable.

SIP ALG, l’anti-solution

De nombreux routeurs grand public sont livrés avec un SIP Application Layer Gateway (ALG) activé, qui tente de réécrire le SIP lui-même et le corrompt généralement, contrecarrant le traitement correct du SBC. Le conseil standard est de le désactiver, et il est d’ailleurs désactivé par défaut dans de nombreux modèles de bureau ou de bureau à domicile. Nous expliquons pourquoi un ALG sur un pare-feu cause plus de problèmes qu’il n’en résout dans notre guide sur la sécurité du SBC.

Sécuriser la voix à distance

Le trafic d’un softphone distant traverse des réseaux que vous ne contrôlez pas, il doit donc être chiffré de bout en bordure. La signalisation passe par SIP avec Transport Layer Security (TLS) sur le port par défaut 5061, et le média passe par le Secure Real-time Transport Protocol (SRTP), qui ajoute le chiffrement et l’authentification aux flux RTP ordinaires (RFC 3711). Le softphone négocie les deux avec le SBC en bordure d’accès.

Le SBC agit comme frontière de chiffrement pour le segment distant. Il termine le TLS et le SRTP provenant du softphone, puis présente ce que le registrar en amont ou le trunk SIP attend, y compris le relais SRTP et la conversion entre média chiffré et non chiffré lorsque les deux côtés diffèrent. Pour savoir comment un SBC est configuré pour terminer le TLS et présenter le SRTP sur chaque segment, consultez notre guide de configuration TLS et SRTP.

Les softphones à grande échelle

Les modèles hybrides et de télétravail ont transformé le softphone d’une commodité occasionnelle en point de terminaison principal pour des effectifs entiers. Un seul fournisseur ou une seule entreprise peut désormais gérer des milliers d’enregistrements de softphones, chacun étant une association persistante provenant d’un réseau différent et non fiable. Le cas d’utilisation SaaS d’accès sécurisé de ProSBC est conçu exactement pour ce modèle : SIP sur TLS et SRTP pour les utilisateurs distants et en télétravail accédant à des applications vocales hébergées, avec une capacité de niveau opérateur pouvant atteindre 350 000 enregistrements de points de terminaison et 60 000 sessions par serveur.

La bordure d’accès doit accomplir plusieurs tâches simultanément à ce volume : maintenir un grand nombre d’enregistrements persistants, appliquer une protection contre le balayage d’enregistrement pour bloquer les attaques par inondation d’enregistrements qui ciblent tout service vocal accessible sur internet, exécuter la détection du NAT côté distant par point de terminaison, et maintenir le TLS et le SRTP sur chaque segment distant. Pour les fournisseurs de services gérés (MSP) qui fournissent la voix à de nombreux sites clients, cette charge se multiplie à travers les locataires.

Tempêtes d’enregistrement

Lorsque de nombreux points de terminaison se réenregistrent au même moment, après une interruption réseau ou un événement de basculement, la bordure doit absorber la rafale sans perdre d’associations. Dimensionner la capacité d’enregistrement et le comportement de rafraîchissement pour ce pic, et non la moyenne, est ce qui maintient la continuité du service. Pour savoir comment la redondance et le basculement sont gérés en sous-couche, consultez notre guide de haute disponibilité.

Questions fréquemment posées

Qu’est-ce qu’un softphone en termes simples ?

Un softphone est un téléphone qui vous suit, fonctionnant comme logiciel sur un appareil que vous possédez déjà, tel qu’un ordinateur portable ou un smartphone, au lieu d’un combiné de bureau séparé. Il s’enregistre auprès de votre système vocal et passe et reçoit des appels via internet en utilisant le SIP.

Un softphone est-il la même chose qu’un téléphone SIP ?

Ils effectuent le même travail SIP. La distinction est le matériel : un téléphone SIP est un combiné physique, tandis qu’un softphone est une application. Un registrar traite les enregistrements de l’un ou l’autre de la même manière.

Un softphone a-t-il besoin d’un SBC pour fonctionner ?

Sur un réseau local de bureau fiable, pas nécessairement. Pour une utilisation sécurisée à distance et en télétravail, un SBC est ce qui rend l’enregistrement et le média fiables à travers le NAT et l’internet public, et ce qui chiffre le trafic avec TLS et SRTP.

Pourquoi mon softphone a-t-il un audio unidirectionnel depuis mon domicile ?

L’audio unidirectionnel est presque toujours dû au NAT. Le softphone annonce une adresse privée que le côté distant ne peut pas atteindre. Lorsqu’un serveur STUN/TURN n’est pas disponible ou que le softphone ne peut pas être configuré de cette manière, un SBC corrige le problème avec la détection du NAT côté distant et le RTP symétrique, en renvoyant le média vers l’adresse d’où les paquets provenaient réellement.

Conclusion

Un softphone en lui-même est simple : un agent utilisateur SIP logiciel, effectuant le même travail qu’un téléphone de bureau. La difficulté n’est jamais le SIP User-Agent, c’est le chemin dès que le point de terminaison quitte le bureau. L’enregistrement doit survivre au NAT et se rafraîchir à temps, le média doit trouver son chemin de retour à travers un pinhole, et tout ce qui traverse l’internet public doit être chiffré.

Un SBC en bordure d’accès est ce qui résout ces trois problèmes : il transfère les enregistrements vers votre registrar en amont, gère la détection du NAT côté distant et le RTP symétrique, et termine le TLS et le SRTP pour chaque segment distant.

Sécurisez l’accès softphone à distance avec ProSBC

ProSBC est un SBC d’accès conçu exactement pour ce travail. Il sécurise l’accès softphone à distance et en télétravail aux plateformes vocales hébergées avec SIP sur TLS et SRTP en bordure, la traversée du NAT côté distant et le transfert d’enregistrement SIP vers votre registrar en amont, qu’il s’agisse de FreePBX, Asterisk, NetSapiens ou 3CX.

La protection contre le balayage d’enregistrement protège la bordure accessible sur internet contre les attaques par inondation, et la capacité s’adapte aux effectifs distants importants, avec des chiffres pouvant atteindre 350 000 enregistrements de points de terminaison et 60 000 sessions par serveur. Vous pouvez déployer une instance fonctionnelle vous-même en une vingtaine de minutes avec la licence gratuite et permanente ProSBC Lab.

Vous préférez évaluer par vous-même d’abord ? Commencez votre essai gratuit de 30 jours.