Comment gérer et résoudre l’erreur SIP 400 Bad Request

Dernière mise à jour :

Si vous rencontrez la redoutable erreur SIP 400 – Bad Request, vous pourriez avoir l’impression de buter contre un mur. Mais n’ayez crainte ! Ce type d’erreur indique généralement qu’il y a un problème avec votre requête SIP, et il peut être corrigé assez facilement si vous savez où chercher. Parfois, cela est dû à des fautes de frappe, des informations manquantes ou des problèmes de formatage qui empêchent un serveur SIP de comprendre votre demande. C’est la manière pour le serveur de dire : « Hé, je ne comprends pas ce message. » Ce genre d’erreurs se trouve couramment dans les systèmes de VoIP et de visioconférence.

Dans cet article, nous vous proposons un guide détaillé pour résoudre toutes les erreurs SIP 400 – Bad Request que vous pourriez rencontrer avec n’importe quel système de communication basé sur SIP.

 

Vérifiez les modèles de numérotation

Parfois, ce sont les choses simples qui nous font trébucher, et une petite erreur dans le numéro composé peut provoquer une erreur SIP 400. Cela peut être des erreurs simples comme l’absence de l’indicatif pays, l’ajout d’espaces supplémentaires ou l’utilisation de caractères non pris en charge. Vous voulez vous assurer que le numéro est propre et correctement formaté. Vérifiez également si vous avez besoin d’un préfixe pour certains numéros, comme un +1 pour les appels aux États-Unis. Si vous utilisez une application VoIP, assurez-vous qu’elle suit les bonnes règles de numérotation, car une simple vérification peut vous faire gagner beaucoup de temps et éviter bien des maux de tête.

Étapes :

  1. Validez les formats de numéros
    Assurez-vous que les numéros suivent la norme internationale E.164 ou vos conventions locales de numérotation. Incluez les préfixes corrects, comme les codes pays ou régionaux.
  2. Caractères spéciaux
    Évitez les caractères non pris en charge comme *, # ou +, sauf si votre configuration les exige spécifiquement. Assurez-vous qu’ils sont correctement encodés s’ils sont utilisés dans les en-têtes SIP.
  3. Règles de numérotation PBX
    Vérifiez les plans de numérotation du PBX par rapport aux exigences de votre opérateur SIP pour assurer la compatibilité. Certains PBX nécessitent des règles supplémentaires pour gérer les appels locaux, nationaux ou internationaux.

Exemple

Pour un appel international :

  • Format : +
  • Assurez-vous que le PBX peut traiter le caractère + et le convertir en préfixe correct pour les appels sortants.

 

Vérifiez les informations des en-têtes SIP

Considérez les en-têtes SIP comme les « étiquettes d’adresse » de votre message. Si quelque chose ne va pas, le serveur SIP ne saura pas où envoyer votre message. Nous vous recommandons vivement de prendre un moment pour passer en revue les principaux en-têtes et vérifier leur formatage. Certains en-têtes clés qui peuvent souvent causer des en-têtes SIP mal formés ou incomplets sont :

  • From : URI de la partie initiatrice
  • To : URI de la partie destinataire
  • Contact : URI pour le routage de la réponse
  • Call-ID : Identifiant unique de la transaction SIP
  • CSeq : Numéro de séquence pour l’identification de la requête

Étapes :

  1. Capturez le trafic
    Utilisez des outils comme Wireshark ou tcpdump pour capturer les paquets SIP sur votre interface réseau.

shell

Copy code

tcpdump -i eth0 -w sip_traffic.pcap port 5060

2. Inspectez les en-têtes
Analysez les en-têtes SIP pour vous assurer :

    • D’un formatage approprié (ex. : sip:username@domain.com).
    • De la présence des en-têtes obligatoires.
    • De l’absence d’en-têtes non supportés ou superflus.

3. Problèmes courants
Voici quelques problèmes courants que vous pourriez rencontrer :

    • En-tête Content-Length manquant.
    • Content-Type incorrect pour les corps de message SIP (ex. : payloads SDP).
    • En-têtes Via mal alignés causant des problèmes de routage.

Outils utilisés pour vérifier les informations des en-têtes SIP :

    • Wireshark : Filtrez par sip pour isoler les paquets SIP.
    • Journaux de débogage SIP : Vérifiez les journaux sur les serveurs SIP ou les systèmes PBX.

Confirmez la configuration et la compatibilité des appareils

Les appareils peuvent être délicats, et une mauvaise configuration SIP peut entraîner des incompatibilités de transport, des échecs d’enregistrement ou des erreurs d’analyse des messages. Un paramètre mal configuré est souvent la cause de l’erreur SIP 400. Vérifiez notamment que vos paramètres de proxy SIP et proxy sortant pointent vers le bon serveur. Il peut aussi être utile de s’assurer que le firmware de votre appareil est à jour. De petits ajustements dans vos configurations peuvent faire toute la différence.

Étapes :

  1. Protocoles de transport
    Assurez une utilisation cohérente des protocoles de transport entre les appareils (UDP, TCP, TLS).
    Exemple : Un décalage (ex. : client utilise TCP tandis que le serveur supporte uniquement UDP) peut bloquer la communication.
  2. Mises à jour du firmware
    Vérifiez que les appareils disposent du dernier firmware. Les nouvelles mises à jour corrigent souvent des problèmes de compatibilité ou des bugs connus.
  3. Paramètres du proxy SIP et du serveur d’enregistrement
    Revérifiez les configurations du proxy SIP, du serveur d’enregistrement et des ports. Par exemple, le port SIP par défaut est 5060 pour UDP/TCP et 5061 pour TLS.
  4. Authentification et NAT
    • Confirmez que les identifiants d’authentification SIP sont valides.
    • Utilisez des utilitaires comme STUN (Session Traversal Utilities for NAT) ou TURN (Traversal Using Relays around NAT) pour gérer les problèmes liés au NAT.

 

Révisez la syntaxe des URI SIP

Les URI SIP doivent suivre un format spécifique, comme sip:username@domain.com. Assurez-vous d’avoir le préfixe sip:, le nom d’utilisateur et le domaine correctement indiqués. Faites attention aux fautes de frappe, aux espaces supplémentaires ou aux parties manquantes. Un seul caractère mal placé peut faire en sorte que le serveur abandonne et renvoie une erreur 400. Examinez attentivement l’URI, vous trouverez rapidement le problème !

Étapes :

  1. Validez les URI
    Vérifiez les URI From, To, et Contact dans le message SIP. Assurez-vous de formats corrects comme sip:username@domain ou sip:username@IP:port.
  2. Caractères invalides
    Supprimez tout caractère non autorisé dans les URI SIP. Les problèmes fréquents incluent :
  • Des espaces dans les URI.
  • Informations utilisateur manquantes (ex. : sip:@domain).
  • URI basées sur IP
    Lorsque vous utilisez une adresse IP, incluez le port correct si vous n’utilisez pas le port SIP par défaut :

graphql

Copy code

sip:username@192.168.1.1:5060

Exemple

Un URI mal formaté comme sip:user domain au lieu de sip:user@domain déclenchera une erreur SIP 400.

 

Analysez les journaux du serveur

Les journaux du serveur sont comme le carnet de notes d’un détective, pleins d’indices et précieux pour identifier les problèmes spécifiques qui causent les erreurs SIP 400 ! Si vous pouvez y accéder, examinez les journaux autour du moment où l’erreur s’est produite. Ils peuvent vous indiquer s’il y a un problème de format de la requête ou un échec d’authentification. Regardez les horodatages pour faire correspondre l’erreur à votre requête. C’est une excellente manière de savoir si le problème vient de votre côté ou du serveur. Parmi les erreurs fréquemment révélées figurent des en-têtes mal formés, des échecs d’authentification ou des incompatibilités de protocole.

Étapes :

  1. Accédez aux journaux
    Localisez les journaux du serveur SIP. Emplacements typiques :

    • Asterisk : /var/log/asterisk/full
    • FreeSWITCH : /var/log/freeswitch.log
  2. Filtrez les messages SIP
    Utilisez des filtres pour isoler les journaux pertinents pour un Call-ID SIP spécifique ou un code d’erreur.
  3. Comparez avec les paquets capturés
    Recoupez les journaux du serveur avec les captures de paquets SIP pour identifier les divergences.

Exemple

Des journaux affichant des messages comme « 400 Bad Request – Invalid Contact Header » indiquent un en-tête Contact mal formaté.

Outils

  • Splunk : Pour une analyse avancée des journaux.
  • Scripts personnalisés : Utilisez des expressions régulières pour analyser les journaux à la recherche d’erreurs spécifiques.

 

Techniques avancées de dépannage

Si les bases n’ont pas suffi, il est temps de sortir les gros moyens. Une excellente option est SIPp, un outil puissant qui vous permet de simuler des appels SIP. Il est parfait pour identifier les erreurs d’analyse ou repérer des problèmes qui ne sont pas évidents lors d’une utilisation normale. Vous pouvez également essayer des validateurs SIP pour vérifier les erreurs de syntaxe cachées. Toujours pas sûr ? Tester avec un autre appareil ou une autre application peut révéler si le problème est isolé à votre configuration actuelle. Ces méthodes peuvent sembler un peu techniques, mais elles changent la donne pour trouver ces problèmes difficiles à détecter.

Validez l’analyse SIP avec des outils de test

Utilisez des outils comme SIPp pour simuler des appels SIP et identifier les erreurs d’analyse.

shell

Copy code

sipp -sf scenario.xml -s 1000 192.168.1.10:5060

Activez le mode débogage sur les serveurs SIP

Augmentez la verbosité des journaux sur votre serveur SIP pour un débogage détaillé :

  • Asterisk : core set debug 5
  • FreeSWITCH : loglevel 7

 

Contactez le support du fournisseur

Toujours bloqué ? Pas de panique, c’est à ça que sert le support fournisseur ! Contactez votre fournisseur SIP ou le fabricant de votre appareil et expliquez-leur la situation. Partagez tous les journaux ou détails sur ce que vous avez déjà essayé. Plus vous fournissez d’informations, plus ils pourront vous aider rapidement. Parfois, la solution est quelque chose qu’ils ont déjà rencontré, et ils peuvent vous remettre sur les rails en un rien de temps.

Étapes

  1. Rassemblez les données pertinentes, incluant :
    • Journaux SIP.
    • Captures de paquets.
    • Fichiers de configuration.
  2. Ouvrez un ticket de support avec une description détaillée du problème.
  3. Demandez des mises à jour sur les bugs connus, les correctifs de firmware ou d’autres diagnostics.

 

Résumé

Le dépannage des erreurs SIP 400 peut être frustrant, mais avec un peu de patience et des vérifications méthodiques, vous constaterez probablement qu’il s’agit d’une petite correction à effectuer. Résoudre les erreurs SIP 400 implique de vérifier les modèles de numérotation et les en-têtes SIP pour leur exactitude, de s’assurer que les paramètres des appareils sont correctement configurés pour la compatibilité, et d’analyser les journaux serveur afin d’en trouver la cause profonde. Si le problème persiste, contactez le support fournisseur avec des informations diagnostiques détaillées pour une résolution plus rapide.

Procédez étape par étape, et n’hésitez pas à demander de l’aide si nécessaire. Vous pouvez y arriver !

Latest Web Performance Articles​

Comment surveiller un numéro de téléphone

Empêchez les coupures silencieuses des lignes téléphoniques. Découvrez comment les équipes opérationnelles utilisent les vérifications SIP et les tests d’appel entrant pour assurer le bon fonctionnement des lignes clients.

Démarrer Dotcom-Monitor gratuitement

Pas de carte de crédit requise