Format E.164 : comment un SBC normalise les numéros entre plans de numérotation

Un panneau de verre affichant le numéro de téléphone au format E.164 +1 450 655 8993 avec des coches vertes en dessous, représentant la normalisation des numéros et le formatage E.164 correct sur les jonctions SIP

Un appel échoue lors de l’établissement, ou l’identifiant de l’appelant s’affiche incorrectement. En examinant la trace, vous découvrez le problème : un côté a envoyé +14165551234, un autre 4165551234, et un troisième 0014165551234. Le même numéro, trois formats, et les deux systèmes qui tentent de connecter l’appel ne parviennent pas à s’accorder sur le bon format. Voilà la réalité quotidienne du format E.164. La norme définit une seule manière canonique d’écrire un numéro de téléphone international, mais les réseaux, les PBX et les applications qui échangent des appels envoient rarement les numéros dans cette forme exacte.
Dans cet article, nous détaillons ce qu’est réellement un numéro E.164, pourquoi les formats divergent en production, et comment un contrôleur de session en bordure (SBC) normalise les numéros entre des plans de numérotation incompatibles à la frontière du trunk.

Termes et concepts clés
Un glossaire de référence rapide pour les termes utilisés dans cet article.
E.164La recommandation UIT-T qui définit le plan de numérotation publique international des télécommunications. Elle attribue à chaque numéro de téléphone du RTPC une représentation unique et non ambiguë, limitée à 15 chiffres.
Indicatif de pays (CC)Les un à trois premiers chiffres d’un numéro E.164 qui identifient un pays ou une région, comme 1 pour le plan de numérotation nord-américain (NANP) ou 44 pour le Royaume-Uni.
Code de destination national (NDC)La portion qui identifie un opérateur, une région ou un service au sein d’un pays, équivalent approximatif d’un indicatif régional.
Numéro d’abonné (SN)La dernière portion d’un numéro E.164 qui identifie la ligne individuelle.
Format national (significatif)La façon dont un abonné compose un numéro à l’intérieur de son propre pays, souvent un 0 de trunk suivi du numéro national, sans indicatif de pays. La même ligne possède également une représentation E.164 complète.
NormalisationLa réécriture d’un numéro de téléphone d’un format à un autre, par exemple l’ajout d’un indicatif de pays, la suppression d’un zéro initial ou la conversion d’un préfixe international, afin que chaque côté d’un trunk reçoive le format attendu.
Network Access Point (NAP) / Groupe de trunksUne unité de configuration logique définissant la manière dont un opérateur ou un point de terminaison spécifique se connecte au SBC. Les règles de normalisation des numéros sont appliquées par NAP, de sorte que différents opérateurs et systèmes internes reçoivent chacun leur propre traitement.
B2BUA (Back-to-Back User Agent)L’architecture qui permet à un SBC de terminer complètement le dialogue SIP entrant et d’en initier un nouveau sur le leg sortant, lui donnant un contrôle indépendant de la représentation des numéros sur chaque leg de l’appel.
ENUMUn mécanisme basé sur le DNS qui associe un numéro E.164 à un URI routable. La recherche nécessite un numéro déjà en forme canonique E.164.

Ce qu’est réellement le format E.164

E.164 est le plan de numérotation publique international des télécommunications, défini par la recommandation UIT-T E.164. Il attribue à chaque numéro de téléphone du RTPC une représentation unique et non ambiguë, ce qui permet à un numéro composé dans un pays d’être joignable depuis n’importe quel autre.
Un numéro E.164 se compose de trois parties après le + initial. L’indicatif de pays (CC) est constitué d’un à trois chiffres identifiant le pays ou la région, comme 1 pour le plan de numérotation nord-américain ou 44 pour le Royaume-Uni. Le code de destination national (NDC) identifie un opérateur, une région ou un service au sein de ce pays, ce que l’on appelle communément un indicatif régional. Le numéro d’abonné (SN) est la ligne elle-même.
Le numéro complet, de l’indicatif de pays au numéro d’abonné, est limité à 15 chiffres. La forme canonique ne comporte ni espaces, ni tirets, ni parenthèses : +1 (416) 555-1234 s’écrit donc +14165551234. Quelques exemples illustrent la segmentation : le numéro américain +14165551234 se décompose en CC 1, NDC 416, SN 5551234 ; le numéro britannique +442079460958 se décompose en CC 44, NDC 20, SN 79460958 ; le numéro allemand +498912345678 se décompose en CC 49, NDC 89, SN 12345678.
Un détail prête constamment à confusion. Le + initial est une convention de notation signifiant « le préfixe international se place ici ». Ce n’est pas un chiffre que l’on compose. Sur un réseau NANP, le + est généralement traduit en 011 ; dans la majeure partie du reste du monde, il est traduit en 00. Le + existe pour que le numéro écrit reste le même, quel que soit le pays d’où il est composé.

Anatomie d'un numéro E.164 : la notation +, l'indicatif de pays, le code de destination national et le numéro d'abonné du numéro +14165551234, annoté avec le maximum de 15 chiffres

Anatomie d’un numéro E.164 : l’indicatif de pays, le code de destination national et le numéro d’abonné constituent au maximum 15 chiffres, le + servant de notation pour le préfixe international. Cliquez pour agrandir.

Pourquoi les formats de numéros divergent en conditions réelles

E.164 est la forme canonique, mais les systèmes d’un réseau en production ne s’échangent pratiquement jamais des numéros E.164 propres. Les formats divergent pour des raisons prévisibles, et chacune représente un point où un appel peut échouer.
Le format national versus le format international est la divergence la plus courante. Un PBX configuré pour un plan de numérotation local émet un numéro tel qu’un abonné local le composerait, souvent un numéro national sans indicatif de pays. L’opérateur de l’autre côté du trunk attend un E.164 international complet. Aucun des deux n’a tort : ils décrivent simplement la même ligne différemment.
Le préfixe international est sa propre source d’incompatibilité. Un réseau envoie 00, un autre envoie 011, un autre envoie un simple +, et un dernier n’envoie rien du tout en supposant que l’autre extrémité l’ajoutera. Les zéros initiaux ajoutent une complication supplémentaire : de nombreux numéros nationaux européens comportent un 0 de trunk qui doit être supprimé avant d’ajouter l’indicatif de pays. Le numéro national britannique 020 7946 0958 devient ainsi +442079460958, et non +4402079460958.
Le NANP a sa propre particularité. Le chiffre 1 est simultanément l’indicatif de pays et le préfixe interurbain national, ce qui produit un flux constant de variantes avec ou sans le préfixe 1 du même numéro à dix chiffres, toutes potentiellement valides selon le contexte. Ajoutez les blocs de sélection directe à l’arrivée (SDA), les extensions et les codes courts qui arrivent dans des formats non E.164, et le résultat est deux systèmes qui parlent tous deux SIP mais qui ne s’accordent pas sur la forme d’un numéro de téléphone. Ce désaccord est ce qui casse le routage, l’affichage de l’identifiant de l’appelant, le rappel et la correspondance de numéros dont dépendent les systèmes de facturation.

Où se trouve le numéro dans un message SIP

Avant d’examiner comment un SBC corrige l’incompatibilité, il est utile de savoir où le numéro se trouve réellement. Dans un SIP INVITE, le numéro de téléphone apparaît comme la partie utilisateur de plusieurs URI : le Request-URI qui guide le routage, l’en-tête To, l’en-tête From couramment utilisé pour l’identité de l’appelant, et les en-têtes d’identité tels que P-Asserted-Identity. Normaliser « le numéro » signifie réécrire cette partie utilisateur de manière cohérente dans les champs SIP pertinents pour le routage et l’identité sur un trunk donné.
Cette page traite de la chaîne de chiffres elle-même, du plan de numérotation et de la façon dont elle est reformatée. La question distincte de quel en-tête ajouter, supprimer ou réécrire, et comment un B2BUA contrôle chaque leg, est détaillée dans la manipulation des en-têtes SIP avec un SBC.

Comment un SBC normalise les numéros entre plans de numérotation

Un SBC se situe à la frontière entre des réseaux qui utilisent des formats de numéros différents, et l’une de ses fonctions essentielles est de normaliser la chaîne de chiffres afin que chaque côté reçoive le format attendu. Au lieu de reconfigurer chaque PBX et de renégocier avec chaque opérateur, vous normalisez une seule fois, en bordure de réseau. Le travail se résume à quelques opérations de manipulation de chiffres.
L’ajout et la suppression de préfixes constituent la base : ajouter un indicatif de pays, insérer le +, ou supprimer un 0 de trunk national pour qu’un numéro national devienne un E.164 canonique. La traduction du préfixe international convertit un 011 ou un 00 provenant d’un réseau en le + qu’un autre réseau attend, et inversement sur le chemin retour. Le traitement du zéro initial supprime ou conserve le zéro de trunk national selon les règles du pays concerné, c’est pourquoi une logique par pays est importante. Les règles basées sur des modèles identifient une forme de numéro et la réécrivent, de sorte que tout numéro arrivant sous la forme 0 suivi de neuf chiffres sur un trunk donné puisse être converti en E.164 complet en une seule règle plutôt qu’une entrée par numéro.
L’opération qui relie le tout est la portée. La normalisation des numéros est appliquée par trunk, de sorte qu’un trunk côté opérateur peut recevoir du E.164 strict tandis qu’un trunk PBX ancien sur le même SBC reçoit le format national, chacun régi par ses propres règles sans interférer avec l’autre. Sur ProSBC, chaque trunk est un Network Access Point (NAP), et son moteur de routage configurable à base de règles applique la normalisation de manière indépendante par NAP. Pour les déploiements comportant de très grandes tables de numérotation, les scripts de routage de ProSBC peuvent piloter les recherches de numéros et de SDA via une API HTTP, de sorte qu’un plan de numérotation volumineux réside dans un système externe plutôt que dans des tables maintenues manuellement sur le SBC. TelcoBridges apporte plus de 20 ans d’expérience en déploiement SIP, et ProSBC gère jusqu’à 1 024 NAP sur une seule instance, le type de densité de trunks où la normalisation par NAP cesse d’être un confort et devient une nécessité.

ENUM et portabilité des numéros dans la normalisation

Deux recherches connexes dépendent d’un numéro E.164 propre, ce qui explique en partie pourquoi la normalisation intervient en premier. ENUM, défini dans le RFC 6116, associe un numéro E.164 via une requête DNS à des informations de service telles qu’un URI routable, et cette recherche ne fonctionne que si le numéro est déjà en forme canonique E.164.
Les recherches de portabilité des numéros locaux (LNP) fonctionnent de la même manière : la consultation du numéro porté utilise le numéro E.164 canonique comme clé, de sorte qu’un numéro qui n’a pas été normalisé ne peut pas être consulté de manière fiable. Les mécanismes d’intégration de ces recherches LNP et MNP dans le chemin de routage constituent un sujet à part entière ; l’essentiel pour la normalisation est simplement qu’un numéro E.164 canonique est le prérequis que ces deux recherches supposent.

Foire aux questions

Le + fait-il partie du numéro E.164 ?

Non. Le + est une convention de notation indiquant où le préfixe international se place. Ce n’est pas l’un des 15 chiffres et il n’est pas composé littéralement ; sur une ligne NANP, il devient 011, et dans une grande partie du monde, il devient 00.

Quelle est la longueur maximale d’un numéro E.164 ?

Quinze chiffres, en comptant l’indicatif de pays, le code de destination national et le numéro d’abonné ensemble. Le + n’est pas compté.

Quelle est la différence entre le format E.164 et le format national ?

E.164 est la représentation internationale complète avec l’indicatif de pays et la notation +. Le format national (ou significatif) est la façon dont un abonné compose au sein de son propre pays, souvent un 0 de trunk suivi du numéro national et sans indicatif de pays. La même ligne possède les deux représentations, et un SBC traduit entre les deux.

Pourquoi l’identifiant de l’appelant affiche-t-il le mauvais numéro à travers un trunk SIP ?

Généralement parce que l’en-tête From contient le numéro dans un format que le système récepteur n’attend pas, comme un numéro national alors qu’un E.164 était attendu, ou un préfixe international en trop. Le numéro n’est pas erroné, son format ne correspond pas, ce qui est exactement ce que la normalisation corrige.

Un SBC modifie-t-il réellement le numéro de téléphone ?

Il réécrit la représentation du numéro (le préfixe, les zéros initiaux et le format) afin que chaque côté voie la forme attendue. Il ne modifie pas la ligne de destination de l’appel.

Synthèse

E.164 offre au monde une manière canonique unique d’écrire un numéro de téléphone, mais les réseaux qui échangent des appels envoient un mélange constant de formats nationaux, de préfixes internationaux errants et de variantes avec zéros initiaux. Le SBC est l’endroit naturel pour les réconcilier, car il se situe déjà à la frontière entre les systèmes qui ne s’accordent pas. Normalisez la chaîne de chiffres une seule fois, par trunk, et le routage, l’identifiant de l’appelant et la facturation s’alignent correctement à travers chaque équipement sur le chemin.

Testez la normalisation des numéros sur vos propres trunks

ProSBC est un SBC logiciel de classe opérateur construit sur une architecture B2BUA complète, ce qui lui permet de contrôler le format des numéros indépendamment sur les legs entrant et sortant. Son moteur de routage configurable à base de règles applique des règles de normalisation par NAP sans toucher au reste de votre déploiement, et les scripts de routage peuvent piloter les recherches de SDA et de numéros volumineuses via une API HTTP plutôt que par des plans de numérotation maintenus manuellement.
Le ProSBC Lab gratuit et en libre-service vous fournit une licence permanente de trois sessions en une vingtaine de minutes, ce qui suffit pour tester des règles de normalisation contre vos propres trunks opérateur et PBX avant tout engagement. Pour le contexte élargi, le guide de la jonction SIP est le pilier sous lequel s’inscrivent ces détails de normalisation.

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