Basic VoIP Protocols

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert Red Team AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Protocoles de signalisation

SIP (Session Initiation Protocol)

Il s'agit de la norme de l'industrie, pour plus d'informations consultez :

pageSIP (Session Initiation Protocol)

MGCP (Media Gateway Control Protocol)

MGCP (Media Gateway Control Protocol) est un protocole de signalisation et de contrôle d'appel décrit dans la RFC 3435. Il fonctionne dans une architecture centralisée, composée de trois composants principaux :

  1. Agent d'appel ou Contrôleur de passerelle multimédia (MGC) : La passerelle maître dans l'architecture MGCP est responsable de la gestion et du contrôle des passerelles multimédias. Elle gère les processus de configuration, de modification et de terminaison des appels. Le MGC communique avec les passerelles multimédias en utilisant le protocole MGCP.

  2. Passerelles multimédias (MG) ou Passerelles esclaves : Ces appareils convertissent les flux multimédias numériques entre différents réseaux, tels que la téléphonie commutée traditionnelle et les réseaux IP commutés par paquets. Ils sont gérés par le MGC et exécutent les commandes reçues de celui-ci. Les passerelles multimédias peuvent inclure des fonctions telles que le transcodage, la mise en paquets et l'annulation d'écho.

  3. Passerelles de signalisation (SG) : Ces passerelles sont responsables de la conversion des messages de signalisation entre différents réseaux, permettant une communication transparente entre les systèmes de téléphonie traditionnels (par ex., SS7) et les réseaux basés sur IP (par ex., SIP ou H.323). Les passerelles de signalisation sont cruciales pour l'interopérabilité et garantissent que les informations de contrôle des appels sont correctement communiquées entre les différents réseaux.

En résumé, le MGCP centralise la logique de contrôle des appels dans l'agent d'appel, ce qui simplifie la gestion des passerelles multimédias et de signalisation, offrant une meilleure évolutivité, fiabilité et efficacité dans les réseaux de télécommunication.

SCCP (Skinny Client Control Protocol)

Le protocole de contrôle client léger (SCCP) est un protocole de signalisation et de contrôle d'appel propriétaire détenu par Cisco Systems. Il est principalement utilisé pour la communication entre le Cisco Unified Communications Manager (anciennement CallManager) et les téléphones IP Cisco ou d'autres terminaux voix et vidéo Cisco.

SCCP est un protocole léger qui simplifie la communication entre le serveur de contrôle des appels et les terminaux. Il est appelé "Skinny" en raison de sa conception minimaliste et de ses exigences en bande passante réduites par rapport à d'autres protocoles VoIP comme H.323 ou SIP.

Les principaux composants d'un système basé sur SCCP sont :

  1. Serveur de contrôle des appels : Ce serveur, généralement un Cisco Unified Communications Manager, gère les processus de configuration, de modification et de terminaison des appels, ainsi que d'autres fonctionnalités téléphoniques telles que le renvoi d'appel, le transfert d'appel et la mise en attente d'appel.

  2. Terminaux SCCP : Il s'agit de dispositifs tels que les téléphones IP, les unités de visioconférence ou d'autres terminaux voix et vidéo Cisco qui utilisent SCCP pour communiquer avec le serveur de contrôle des appels. Ils s'enregistrent auprès du serveur, envoient et reçoivent des messages de signalisation, et suivent les instructions fournies par le serveur de contrôle des appels pour la gestion des appels.

  3. Passerelles : Ces dispositifs, tels que les passerelles vocales ou multimédias, sont responsables de la conversion des flux multimédias entre différents réseaux, comme la téléphonie commutée traditionnelle et les réseaux IP commutés par paquets. Ils peuvent également inclure des fonctionnalités supplémentaires, telles que le transcodage ou l'annulation d'écho.

SCCP offre une méthode de communication simple et efficace entre les serveurs de contrôle des appels Cisco et les terminaux. Cependant, il convient de noter que SCCP est un protocole propriétaire, ce qui peut limiter l'interopérabilité avec les systèmes ou dispositifs non-Cisco. Dans de tels cas, d'autres protocoles VoIP standard comme SIP peuvent être plus adaptés.

H.323

H.323 est une suite de protocoles pour la communication multimédia, comprenant la voix, la vidéo et la conférence de données sur des réseaux commutés par paquets, tels que les réseaux IP. Il a été développé par l'Union internationale des télécommunications (UIT-T) et fournit un cadre complet pour la gestion des sessions de communication multimédia.

Certains composants clés de la suite H.323 comprennent :

  1. Terminaux : Il s'agit de dispositifs terminaux, tels que les téléphones IP, les systèmes de visioconférence ou les applications logicielles, qui prennent en charge H.323 et peuvent participer à des sessions de communication multimédia.

  2. Passerelles : Ces dispositifs convertissent les flux multimédias entre différents réseaux, comme la téléphonie commutée traditionnelle et les réseaux IP commutés par paquets, permettant l'interopérabilité entre H.323 et d'autres systèmes de communication. Ils peuvent également inclure des fonctionnalités supplémentaires, telles que le transcodage ou l'annulation d'écho.

  3. Gestionnaires de passerelle : Il s'agit de composants facultatifs qui fournissent des services de contrôle et de gestion d'appels dans un réseau H.323. Ils effectuent des fonctions telles que la traduction d'adresses, la gestion de la bande passante et le contrôle d'admission, aidant à gérer et à optimiser les ressources réseau.

  4. Unités de contrôle multipoint (MCU) : Ces dispositifs facilitent les conférences multipoint en gérant et en mélangeant les flux multimédias de plusieurs terminaux. Les MCU permettent des fonctionnalités telles que le contrôle de la disposition vidéo, la commutation activée par la voix et la présence continue, permettant d'organiser des conférences à grande échelle avec plusieurs participants.

H.323 prend en charge une gamme de codecs audio et vidéo, ainsi que d'autres services supplémentaires comme le renvoi d'appel, le transfert d'appel, la mise en attente et l'attente d'appel. Malgré son adoption généralisée dans les premiers jours de la VoIP, H.323 a été progressivement remplacé par des protocoles plus modernes et flexibles comme le protocole d'initiation de session (SIP), qui offre une meilleure interopérabilité et une mise en œuvre plus facile. Cependant, H.323 est toujours utilisé dans de nombreux systèmes hérités et continue d'être pris en charge par divers fournisseurs d'équipements.

IAX (Inter Asterisk eXchange)

IAX (Inter-Asterisk eXchange) est un protocole de signalisation et de contrôle d'appel principalement utilisé pour la communication entre les serveurs PBX (Private Branch Exchange) Asterisk et d'autres dispositifs VoIP. Il a été développé par Mark Spencer, le créateur du logiciel PBX open-source Asterisk, comme une alternative à d'autres protocoles VoIP comme SIP et H.323.

IAX est connu pour sa simplicité, son efficacité et sa facilité de mise en œuvre. Certaines caractéristiques clés de l'IAX incluent :

  1. Port UDP unique : IAX utilise un seul port UDP (4569) pour le trafic de signalisation et de média, ce qui simplifie le traversée des pare-feu et des NAT, facilitant le déploiement dans divers environnements réseau.

  2. Protocole binaire : Contrairement aux protocoles basés sur du texte comme SIP, IAX est un protocole binaire, ce qui réduit sa consommation de bande passante et le rend plus efficace pour la transmission de données de signalisation et de média.

  3. Troncation : IAX prend en charge la troncation, ce qui permet de combiner plusieurs appels en une seule connexion réseau, réduisant les frais généraux et améliorant l'utilisation de la bande passante.

  4. Cryptage natif : IAX prend en charge le cryptage intégré, en utilisant des méthodes comme RSA pour l'échange de clés et AES pour le cryptage des médias, assurant une communication sécurisée entre les points d'extrémité.

  5. Communication pair à pair : IAX peut être utilisé pour une communication directe entre les points d'extrémité sans nécessiter de serveur central, permettant un routage d'appel plus simple et plus efficace.

Malgré ses avantages, IAX présente certaines limitations, telles que son accent principal sur l'écosystème Asterisk et une adoption moins répandue par rapport à des protocoles plus établis comme SIP. En conséquence, IAX pourrait ne pas être le meilleur choix pour l'interopérabilité avec des systèmes ou des dispositifs non-Asterisk. Cependant, pour ceux travaillant dans l'environnement Asterisk, IAX offre une solution robuste et efficace pour la communication VoIP.

Protocoles de transmission et de transport

SDP (Session Description Protocol)

SDP (Session Description Protocol) est un format basé sur du texte utilisé pour décrire les caractéristiques des sessions multimédias, telles que la voix, la vidéo ou la conférence de données, sur des réseaux IP. Il a été développé par le Groupe de travail d'ingénierie de l'Internet (IETF) et est défini dans le RFC 4566. SDP ne gère pas la transmission réelle des médias ou l'établissement de session, mais est utilisé en conjonction avec d'autres protocoles de signalisation, comme SIP (Session Initiation Protocol), pour négocier et échanger des informations sur les flux multimédias et leurs attributs.

Certains éléments clés de SDP comprennent :

  1. Informations de session : SDP décrit les détails d'une session multimédia, y compris le nom de la session, la description de la session, l'heure de début et de fin.

  2. Flux multimédias : SDP définit les caractéristiques des flux multimédias, tels que le type de média (audio, vidéo ou texte), le protocole de transport (par ex., RTP ou SRTP), et le format du média (par ex., informations sur le codec).

  3. Informations de connexion : SDP fournit des informations sur l'adresse réseau (adresse IP) et le numéro de port où les médias doivent être envoyés ou reçus.

  4. Attributs : SDP prend en charge l'utilisation d'attributs pour fournir des informations supplémentaires facultatives sur une session ou un flux multimédia. Les attributs peuvent être utilisés pour spécifier diverses fonctionnalités comme les clés de cryptage, les exigences de bande passante ou les mécanismes de contrôle des médias.

SDP est généralement utilisé dans le processus suivant :

  1. Une partie initiatrice crée une description SDP de la session multimédia proposée, y compris les détails des flux multimédias et de leurs attributs.

  2. La description SDP est envoyée à la partie réceptrice, généralement intégrée dans un message de protocole de signalisation comme SIP ou RTSP.

  3. La partie réceptrice traite la description SDP, et en fonction de ses capacités, elle peut accepter, rejeter ou modifier la session proposée.

  4. La description SDP finale est renvoyée à la partie initiatrice dans le cadre du message de protocole de signalisation, complétant le processus de négociation.

La simplicité et la flexibilité de SDP en font une norme largement adoptée pour décrire des sessions multimédias dans divers systèmes de communication, jouant un rôle crucial dans l'établissement et la gestion de sessions multimédias en temps réel sur des réseaux IP.

RTP / RTCP / SRTP / ZRTP

  1. RTP (Real-time Transport Protocol) : RTP est un protocole réseau conçu pour la transmission de données audio et vidéo, ou d'autres médias en temps réel, sur des réseaux IP. Développé par l'IETF et défini dans le RFC 3550, RTP est couramment utilisé avec des protocoles de signalisation comme SIP et H.323 pour permettre la communication multimédia. RTP fournit des mécanismes de synchronisation, de séquençage et de horodatage des flux multimédias, contribuant à assurer une lecture fluide et opportune des médias.

  2. RTCP (Real-time Transport Control Protocol) : RTCP est un protocole compagnon de RTP, utilisé pour surveiller la qualité de service (QoS) et fournir des retours d'information sur la transmission des flux multimédias. Défini dans le même RFC 3550 que RTP, RTCP échange périodiquement des paquets de contrôle entre les participants d'une session RTP. Il partage des informations telles que la perte de paquets, le jitter et le temps de propagation, ce qui aide à diagnostiquer et à s'adapter aux conditions du réseau, améliorant la qualité globale des médias.

  3. SRTP (Secure Real-time Transport Protocol) : SRTP est une extension de RTP qui fournit le cryptage, l'authentification des messages et la protection contre les rejeux pour les flux multimédias, assurant une transmission sécurisée des données audio et vidéo sensibles. Défini dans le RFC 3711, SRTP utilise des algorithmes cryptographiques comme AES pour le cryptage et HMAC-SHA1 pour l'authentification des messages. SRTP est souvent utilisé en combinaison avec des protocoles de signalisation sécurisés comme SIP sur TLS pour fournir une sécurité de bout en bout dans la communication multimédia.

  4. ZRTP (Zimmermann Real-time Transport Protocol) : ZRTP est un protocole d'accord de clé cryptographique qui fournit le cryptage de bout en bout pour les flux multimédias RTP. Développé par Phil Zimmermann, le créateur de PGP, ZRTP est décrit dans le RFC 6189. Contrairement à SRTP, qui repose sur des protocoles de signalisation pour l'échange de clés, ZRTP est conçu pour fonctionner indépendamment du protocole de signalisation. Il utilise l'échange de clés Diffie-Hellman pour établir un secret partagé entre les parties communicantes, sans nécessiter de confiance préalable ou d'infrastructure de clés publiques (PKI). ZRTP inclut également des fonctionnalités comme les Chaînes d'authentification courtes (SAS) pour se protéger contre les attaques de l'homme du milieu.

Ces protocoles jouent des rôles essentiels dans la livraison et la sécurisation de la communication multimédia en temps réel sur des réseaux IP. Alors que RTP et RTCP gèrent la transmission réelle des médias et le contr

Dernière mise à jour