Aller au contenu principal

Traduction de Numéros

📖 Retour à la Documentation Principale

La traduction de numéros convertit les numéros de téléphone entre différents formats pour garantir un formatage E.164 cohérent dans tout le système.

Documentation Connexe

Documentation de Base

Flux de Traitement des Appels

Services Connexes

Surveillance


Traduction de Numéros

La traduction de numéros convertit les numéros de téléphone entre différents formats (local, national, international) pour garantir un formatage E.164 cohérent dans tout le système.

Qu'est-ce que la Traduction de Numéros ?

La traduction de numéros normalise les numéros de téléphone au format E.164 (norme internationale) avant le traitement des appels. Cela garantit :

  • Une numérotation cohérente dans tout le système
  • Un routage approprié vers des destinations sur le réseau et hors réseau
  • Une compatibilité avec les trunks SIP internationaux et les réseaux IMS

Format E.164 : [Code Pays][Numéro National] (sans préfixe +, sans espaces)

  • Exemple : 61403123456 (mobile Australien)
  • Exemple : 16505551234 (numéro US)

Quand la Traduction a Lieu

La traduction se produit :

  • Avant les recherches Sh
  • Avant les recherches HLR
  • Avant l'autorisation OCS
  • Avant que le XML du plan de numérotation soit généré

Pour les Appels MT : Traduire le numéro de destination (partie appelée) Pour les Appels MO : Traduire à la fois les numéros de source et de destination

Configuration

config :tas,
number_translate: %{
country_code: :PF, # Code pays ISO 3166-1 alpha-2
localAreaCode: "617" # Code régional par défaut pour les numéros courts
}

Paramètres :

  • country_code : Code pays ISO sous forme d'atome (par exemple, :AU, :US, :PF)
  • localAreaCode : Code régional ajouté aux numéros locaux courts

Codes Pays Supportés

Le TAS inclut une logique de traduction pour 248 pays et territoires, couvrant tous les codes ISO 3166-1 alpha-2 avec service téléphonique.

CodePays/TerritoirePréfixe E.164Longueur NationaleTrunkIDDRemarques
:ACÎle Ascension2475Aucun00
:ADAndorre3766-9Aucun00
:AEÉmirats Arabes Unis9719000
:AFAfghanistan939000
:AGAntigua-et-Barbuda110Aucun011NANP, délègue aux États-Unis
:AIAnguilla110Aucun011NANP, délègue aux États-Unis
:ALAlbanie3559000
:AMArménie3748000
:AOAngola2449Aucun00
:ARArgentine5410000
:ASSamoa Américaines110Aucun011NANP, délègue aux États-Unis
:ATAutriche4310-13000
:AUAustralie61900011
:AWAruba2977Aucun00
:AXÎles Åland3589-10000Délègue à FI
:AZAzerbaïdjan9949000
:BABosnie-Herzégovine3878000
:BBBarbade110Aucun011NANP, délègue aux États-Unis
:BDBangladesh88010000
:BEBelgique328-9000
:BFBurkina Faso2268Aucun00
:BGBulgarie3599000
:BHBahreïn9738Aucun00
:BIBurundi2578Aucun00
:BJBénin2298Aucun00
:BLSaint-Barthélemy5909000
:BMBermudes110Aucun011NANP, délègue aux États-Unis
:BNBrunei6737Aucun00
:BOBolivie5918Aucun00
:BQBonaire/Sint Eustatius/Saba5997Aucun00
:BRBrésil5510-11000
:BSBahamas110Aucun011NANP, délègue aux États-Unis
:BTBhoutan9758Aucun00
:BVÎle Bouvet478Aucun00Délègue à NO
:BWBotswana2678Aucun00
:BYBiélorussie37598810
:BZBelize5017Aucun00
:CACanada110Aucun011NANP, délègue aux États-Unis
:CCÎles Cocos61900011Délègue à AU
:CDRD Congo2439000
:CFRépublique Centrafricaine2368Aucun00
:CGRépublique du Congo2429Aucun00
:CHSuisse419000
:CICôte d'Ivoire22510Aucun00
:CKÎles Cook6825Aucun00
:CLChili569000
:CMCameroun2379Aucun00
:CNChine8611Aucun00
:COColombie5710000
:CRCosta Rica5068Aucun00
:CUCuba5380119
:CVCap-Vert2387Aucun00
:CWCuraçao5997-8Aucun00
:CXÎle Christmas61900011Délègue à AU
:CYChypre3578Aucun00
:CZRépublique Tchèque4209Aucun00
:DEAllemagne4910-12000
:DJDjibouti2538Aucun00
:DKDanemark458Aucun00
:DMDominique110Aucun011NANP, délègue aux États-Unis
:DORépublique Dominicaine110Aucun011NANP, délègue aux États-Unis
:DZAlgérie2139000
:ECÉquateur5939000
:EEEstonie3727-8Aucun00
:EGÉgypte2010000
:EHSahara Occidental2129000Délègue à MA
:ERÉrythrée2917000
:ESEspagne349Aucun00
:ETÉthiopie2519000
:FIFinlande3589-10000
:FJFidji6797Aucun00
:FKÎles Falkland5005Aucun00
:FMMicronésie6917Aucun011
:FOÎles Féroé2986Aucun00
:FRFrance339000
:GAGabon2417Aucun00
:GBRoyaume-Uni4410000
:GDGrenade110Aucun011NANP, délègue aux États-Unis
:GEGéorgie9959000
:GFGuyane Française5949000
:GGGuernesey4410000Délègue à GB
:GHGhana2339000
:GIGibraltar3508Aucun00
:GLGroenland2996Aucun00
:GMGambie2207Aucun00
:GNGuinée2249Aucun00
:GPGuadeloupe5909000
:GQGuinée Équatoriale2409Aucun00
:GRGrèce3010Aucun00
:GSGéorgie du Sud5005Aucun00Délègue à FK
:GTGuatemala5028Aucun00
:GUGuam110Aucun011NANP, délègue aux États-Unis
:GWGuinée-Bissau2457Aucun00
:GYGuyana5927Aucun001
:HKHong Kong8528Aucun001
:HMÎles Heard et McDonald61900011Délègue à AU
:HNHonduras5048Aucun00
:HRCroatie3859000
:HTHaïti5098Aucun00
:HUHongrie3690600
:IDIndonésie6210-120001
:IEIrlande3539000
:ILIsraël9729000
:IMÎle de Man4410000Délègue à GB
:INInde9110000
:IOTerritoire Britannique de l'Océan Indien2467Aucun00
:IQIrak96410000
:IRIran9810000
:ISIslande3547Aucun00
:ITItalie399-10Aucun00Zéro initial conservé pour les lignes fixes
:JEJersey4410000Délègue à GB
:JMJamaïque110Aucun011NANP, délègue aux États-Unis
:JOJordanie9629000
:JPJapon81100010
:KEKenya25490000
:KGKirghizistan9969000
:KHCambodge8558-90001
:KIKiribati6865Aucun00
:KMComores2697Aucun00
:KNSaint-Kitts-et-Nevis110Aucun011NANP, délègue aux États-Unis
:KPCorée du Nord85010000
:KRCorée du Sud829-100001
:KWKoweït9658Aucun00
:KYÎles Caïmans110Aucun011NANP, délègue aux États-Unis
:KZKazakhstan7108810
:LALaos85610000
:LBLiban9618000
:LCSainte-Lucie110Aucun011NANP, délègue aux États-Unis
:LILiechtenstein4237Aucun00
:LKSri Lanka949000
:LRLibéria2317-9Aucun00
:LSLesotho2668Aucun00
:LTLituanie3708800
:LULuxembourg3529Aucun00
:LVLettonie3718Aucun00
:LYLibye2189000
:MAMaroc2129000
:MCMonaco3778-9Aucun00
:MDMoldavie3738000
:MEMonténégro3828000
:MFSaint-Martin5909000
:MGMadagascar2619000
:MHÎles Marshall6927Aucun011
:MKMacédoine du Nord3898000
:MLMali2238Aucun00
:MMMyanmar958-10000
:MNMongolie9768Aucun001
:MOMacao8538Aucun00
:MPÎles Mariannes du Nord110Aucun011NANP, délègue aux États-Unis
:MQMartinique5969000
:MRMauritanie2228Aucun00
:MSMontserrat110Aucun011NANP, délègue aux États-Unis
:MTMalte3568Aucun00
:MUMaurice2308Aucun00
:MVMaldives9607Aucun00
:MWMalawi2659000
:MXMexique5210Aucun00
:MYMalaisie609-10000
:MZMozambique2589Aucun00
:NANamibie2649000
:NCNouvelle-Calédonie6876Aucun00
:NENiger2278Aucun00
:NFÎle Norfolk6725-6Aucun00
:NGNigéria234100009
:NINicaragua5058Aucun00
:NLPays-Bas319000
:NONorvège478Aucun00
:NPNépal97710000
:NRNauru6747Aucun00
:NUNiue6834Aucun00
:NZNouvelle-Zélande648-9000
:OMOman9688Aucun00
:PAPanama5078Aucun00
:PEPérou519000
:PFPolynésie Française6898Aucun00
:PGPapouasie-Nouvelle-Guinée6758Aucun05
:PHPhilippines6310000
:PKPakistan9210000
:PLPologne489Aucun00
:PMSaint-Pierre-et-Miquelon5086Aucun00
:PNÎles Pitcairn648-9000Délègue à NZ
:PRPorto Rico110Aucun011NANP, délègue aux États-Unis
:PSPalestine9709000
:PTPortugal3519Aucun00
:PWPalaos6807Aucun011
:PYParaguay5959000
:QAQatar9748Aucun00
:RERéunion2629000
:RORoumanie409000
:RSSerbie3819000
:RURussie7108810
:RWRwanda2509000
:SAArabie Saoudite9669000
:SBÎles Salomon6775-7Aucun00
:SCSeychelles2487Aucun00
:SDSoudan2499000
:SESuède469000
:SGSingapour658Aucun001
:SHSainte-Hélène2904-5Aucun00
:SISlovénie3868000
:SJSvalbard478Aucun00Délègue à NO
:SKSlovaquie4219000
:SLSierra Leone2328000
:SMSaint-Marin37810Aucun00
:SNSénégal2219Aucun00
:SOSomalie2528Aucun00
:SRSuriname5977Aucun00
:SSSoudan du Sud2119000
:STSao Tomé-et-Principe2397Aucun00
:SVSalvador5038Aucun00
:SXSaint-Martin17217Aucun00
:SYSyrie9639000
:SZEswatini2688Aucun00
:TCÎles Turques-et-Caïques110Aucun011NANP, délègue aux États-Unis
:TDTchad2358Aucun00
:TGTogo2288Aucun00
:THThaïlande6690001
:TJTadjikistan9929Aucun810
:TKTokelau6904Aucun00
:TLTimor-Leste6707-8Aucun00
:TMTurkménistan99388810
:TNTunisie2168Aucun00
:TOTonga6765-7Aucun00
:TRTurquie9010000
:TTTrinité-et-Tobago110Aucun011NANP, délègue aux États-Unis
:TVTuvalu6885Aucun00
:TWTaïwan88690002
:TZTanzanie2559000
:UAUkraine3809000
:UGOuganda2569000
:USÉtats-Unis110Aucun011Règles de base NANP
:UYUruguay5988000
:UZOuzbékistan9989Aucun810
:VAVatican399-10Aucun00Délègue à IT
:VCSaint-Vincent-et-les-Grenadines110Aucun011NANP, délègue aux États-Unis
:VEVenezuela5810000
:VGÎles Vierges Britanniques110Aucun011NANP, délègue aux États-Unis
:VIÎles Vierges des États-Unis110Aucun011NANP, délègue aux États-Unis
:VNVietnam849-10000
:VUVanuatu6785-7Aucun00
:WFWallis et Futuna6816Aucun00
:WSSamoa6855-7Aucun0
:XKKosovo3838000
:YEYémen9679000
:YTMayotte2629000Délègue à RE
:ZAAfrique du Sud279000
:ZMZambie2609000
:ZWZimbabwe2639000

Comportements Spéciaux de Traduction

1. Suppression des Préfixes de Blocage CLI

Avant la traduction de format, les préfixes de blocage CLI sont supprimés :

Entrée :  *67555123456
Étape 1 : Supprimer *67 → 555123456
Étape 2 : Traduire ��� 1555123456 (si US)

2. Suppression des Paramètres SIP

Les paramètres après les points-virgules sont supprimés :

Entrée :  61403123456;npdi;rn=+61400000000
Étape 1 : Supprimer ;npdi;rn=... → 61403123456
Étape 2 : Traduire → 61403123456

3. Suppression des Caractères Non-Digits

Tous les caractères non-digits (sauf +) sont supprimés :

Entrée :  +61 (403) 123-456
Étape 1 : Supprimer le formatage → +61403123456
Étape 2 : Traduire → 61403123456

Variables Définies Après Traduction

VariableValeurDescription
destination_numberFormat E.164Numéro de destination normalisé
tas_destination_numberFormat E.164Identique à destination_number (les deux définis pour compatibilité)
effective_caller_id_numberFormat E.164Numéro de source normalisé (appels MO)

Que Se Passe-t-il Lorsque la Traduction Échoue

Scénario : Code Pays Indéfini

config :tas, number_translate: %{country_code: :XX}  # Invalide

Résultat : {:error, "Code Pays Indéfini"} - appel rejeté

Scénario : Format de Numéro Invalide

Entrée : "abc123" (contient des lettres)
Étape 1 : Supprimer les non-digits → "123"
Étape 2 : Trop court, ne peut correspondre à aucun modèle
Résultat : Peut passer tel quel ou être rejeté en fonction de la logique du plan de numérotation

Meilleure Pratique : Toujours valider la provision de l'abonné avec des numéros E.164 corrects dans le HSS.

Test de la Traduction de Numéros

Testeur de Traduction de l'Interface Web (/translate) :

  1. Naviguer vers /translate dans le Panneau de Contrôle
  2. Sélectionner le code pays dans le menu déroulant
  3. Entrer le numéro de test dans n'importe quel format
  4. Voir la sortie E.164 traduite
  5. Tester plusieurs formats pour valider

Scénarios de Test Courants :

  • Codes courts locaux → E.164
  • Format national (0NSN) → E.164
  • Format international (+CC) → E.164
  • Numéros avec préfixes CLI → supprimés et traduits
  • Numéros avec formatage (espaces, tirets) → E.164 propre

Dépannage de la Traduction de Numéros

Problème : Appels échouant avec "NUMÉRO_NON_ALLOUÉ"

  1. Vérifier le format du numéro traduit :

    • Utiliser l'outil /translate pour tester le numéro
    • Vérifier que la sortie correspond au format E.164 attendu
    • Confirmer que le code pays et le code régional sont corrects
  2. Vérifier la recherche Sh :

    • Le numéro traduit est utilisé pour la requête Sh
    • Utiliser /sh_test avec le numéro traduit
    • Vérifier que l'abonné existe avec ce MSISDN
  3. Vérifier les variables du plan de numérotation :

    • Examiner les journaux pour la valeur de destination_number
    • Confirmer que la traduction a eu lieu avant le plan de numérotation

Problème : Mauvais code régional appliqué

# Configuration
config :tas, number_translate: %{
country_code: :AU,
localAreaCode: "617" # Incorrect pour votre région
}

# Entrée : 12345678 (numéro local de 8 chiffres)
# Sortie : 6161712345678 (incorrect - double code régional)
# Correction : Définir le bon localAreaCode pour votre déploiement

Problème : Numéros internationaux non reconnus

Vérifier si le numéro inclut le code pays :

  • +61403123456 ou 61403123456 → Reconnu
  • 0403123456 dans une configuration de code_pays incorrecte → Mal routé

Comportement de Traduction MO vs MT

Appels MT (Mobile Terminated) :

  • Seul le numéro de destination (partie appelée) est traduit
  • Le numéro source (appelant) est passé tel quel depuis SIP
  • La destination est utilisée pour la recherche Sh de l'abonné appelé

Appels MO (Mobile Originating) :

  • Le numéro de destination (partie appelée) est traduit
  • Le numéro source (partie appelante) est également traduit
  • La source est utilisée pour la recherche Sh de l'abonné appelant
  • Les deux numéros sont normalisés pour une journalisation/CDR cohérente

Meilleures Pratiques

  1. Utiliser le Code Pays Correct :

    • Définir country_code pour correspondre à votre région de déploiement
    • Tester minutieusement avant la production
  2. Configurer le Code Régional Approprié :

    • localAreaCode doit correspondre au code régional par défaut de votre réseau
    • Utilisé pour les numéros courts sans code régional
  3. Tester Tous les Formats de Numéros :

    • Local (codes courts)
    • National (format 0NSN)
    • International (format +CC)
    • Numéros de services spéciaux (urgence, messagerie vocale)
  4. Surveiller les Journaux de Traduction :

    • Vérifier les erreurs "Code Pays Indéfini"
    • Surveiller les formats de numéro inattendus
    • Valider que la sortie E.164 correspond aux attentes
  5. Documenter Votre Plan de Numérotation :

    • Définir quels formats les abonnés utiliseront
    • Tester chaque format dans l'outil /translate
    • Former le personnel opérationnel sur les formats attendus