Avant de mettre en service un serveur de téléphonie sur IP, les ingénieurs VoIP veulent savoir combien d’appels il encaisse et comment il réagit aux situations anormales. SIPp a été conçu précisément pour répondre à ces questions. Ce générateur de trafic SIP a été écrit à l’origine par des ingénieurs de Hewlett-Packard, avec Richard Gayraud pour le code initial et Olivier Jacques pour le code et la documentation, et l’ancien site du projet affiche un copyright à partir de 2004.
Le projet est aujourd’hui entretenu par sa communauté sur GitHub, où il a migré à partir de la version 3.4. Il est distribué sous licence GNU GPL, et la dernière version, la 3.7.7, date du 31 décembre 2025.
À quoi sert SIPp
SIPp joue le rôle d’un ou de plusieurs téléphones, mais à une cadence qu’aucun humain ne pourrait tenir. On lui fournit l’adresse d’un équipement SIP, un nombre d’appels par seconde et un scénario, puis il ouvre les sessions, attend les réponses, mesure les délais et affiche en continu dans le terminal le nombre d’appels réussis, échoués ou en cours. Le même outil peut aussi se placer de l’autre côté et répondre aux appels, ce qui permet de tester un proxy en plaçant un SIPp émetteur à une extrémité et un SIPp récepteur à l’autre.
Tout repose sur les scénarios, des fichiers XML qui décrivent message par message ce que l’outil doit envoyer et ce qu’il doit recevoir. Plusieurs scénarios sont intégrés, notamment un client et un serveur d’appel de base, des variantes avec expressions régulières ou branchements, ainsi que le contrôle d’appel par un tiers. Pour les cas plus fins, on écrit son propre fichier : insertion de variables, extraction d’un en-tête de la réponse, temporisations, branchements selon le code reçu. C’est ce qui permet de reproduire fidèlement un comportement observé chez un client, y compris des messages volontairement malformés.
Côté transport, SIPp sait dialoguer en UDP, TCP, TLS et SCTP, selon les options choisies à la compilation. Il peut renvoyer l’audio en écho, émettre un flux RTP ou rejouer des paquets enregistrés dans un fichier PCAP, ce qui donne un vrai trafic média à un relais comme RTPEngine. Les versions 3.7 ont ajouté entre autres les horodatages au format RFC 3339, l’indication SNI pour les connexions TLS et la possibilité de fonctionner simultanément en client et en serveur, d’après les notes publiées sur GitHub.
SIPp ne surveille pas la production, il la met à l’épreuve. Pour observer ensuite ce que le trafic de test a produit, HOMER, présent dans notre logithèque, capture et indexe les échanges SIP. Les générateurs généralistes comme Ostinato ou Scapy fabriquent des paquets réseau, mais ils ne savent pas mener une conversation SIP complète avec gestion des réponses.
Pour qui ?
L’outil sert aux équipes qui développent ou exploitent des serveurs SIP, des IPBX, des passerelles ou des relais médias. Il intervient dans les tests de montée en charge avant une mise en production, dans les tests de non-régression automatisés à chaque nouvelle version, et dans la reproduction d’un incident signalé par un client. Les éditeurs d’équipements l’emploient aussi pour vérifier l’interopérabilité de leurs produits.
SIPp n’a pas d’interface graphique et suppose une bonne connaissance du protocole SIP, car il faut comprendre chaque message pour écrire ou adapter un scénario. Il ne sait pas non plus évaluer la qualité audio perçue par un utilisateur. La documentation en ligne porte encore le numéro 3.6, en retard sur le code. Sous Windows, il passe par l’environnement Cygwin et une compilation manuelle, et seul Linux bénéficie d’un binaire prêt à l’emploi.
Télécharger SIPp sans risque
Les versions officielles sont publiées sur la page des versions du dépôt SIPp/sipp de GitHub. Chacune comprend un binaire statique pour Linux, construit sous Alpine pour ne dépendre d’aucune bibliothèque du système, une archive du code source et une page de manuel générée automatiquement. Le dépôt contient aussi des fichiers Docker, l’un pour ce binaire statique, l’autre fondé sur Debian avec WolfSSL. La compilation se fait avec CMake et un compilateur C++17, en ajoutant les options voulues pour TLS, PCAP, SCTP ou la bibliothèque GSL. La documentation se trouve sur sipp.readthedocs.io, et l’ancien site sipp.sourceforge.net ne sert plus qu’aux versions 3.3 et antérieures.
Le logiciel est totalement gratuit et aucune édition commerciale n’existe. Comme il sert précisément à envoyer des milliers de requêtes vers un serveur, un exécutable modifié trouvé sur un forum pourrait viser une autre cible que celle prévue ou embarquer un code indésirable. Le binaire officiel de GitHub, ou le paquet de votre distribution Linux, reste la seule source raisonnable.
Questions fréquentes
SIPp peut-il tester un serveur en production ?
Techniquement oui, mais c’est déconseillé. Une montée en charge mal dosée peut saturer le service réel. Mieux vaut monter une plateforme de test ou limiter fortement le débit et la durée des essais.
Faut-il savoir programmer pour l’utiliser ?
Pas au sens strict. Les scénarios intégrés suffisent pour un premier test. Pour des cas réalistes, il faut en revanche écrire des fichiers XML, ce qui demande surtout une bonne maîtrise de SIP.
Sous quelle licence SIPp est-il distribué ?
Sous licence GNU GPL. Le fichier de licence du dépôt indique la version 2 ou toute version ultérieure, et deux fichiers repris d’un autre projet ont leur propre licence permissive.