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 Principale
- 📋 README Principal - Vue d'ensemble et démarrage rapide
- 🔧 Guide de Configuration - Configuration de la traduction de numéros (
number_translate) - 🔧 Guide des Opérations - Test de la traduction de numéros dans le Panneau de Contrôle
Flux de Traitement des Appels
- 🔀 Configuration du Plan de Numérotation - Utilisation des numéros traduits dans le plan de numérotation (la traduction se fait en premier)
- 👥 Interface Sh - La recherche Sh utilise des numéros traduits
- 💳 Chargement en Ligne - L'OCS reçoit des numéros traduits
- 📡 SS7 MAP - Les requêtes HLR utilisent des numéros traduits
Services Connexes
- ⚙️ Services Supplémentaires - Suppression des préfixes de blocage CLI lors de la traduction
- 📞 Messagerie Vocale - Numéros de messagerie vocale en traduction
Surveillance
- 📊 Référence des Métriques - Métriques de traduction de numéros
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 :
- Un numérotage cohérent 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 américain)
Quand la Traduction a Lieu
La traduction a lieu :
- 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 de zone 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 de zone préfixé aux numéros locaux courts
Codes Pays Supportés
Le TAS inclut une logique de traduction pour ces pays :
| Code Pays | Pays | Formats Supportés | Préfixe E.164 |
|---|---|---|---|
:AU | Australie | 0NSN (10 chiffres), SN (8 chiffres), E.164 | 61 |
:US | États-Unis | NPANXXXXXX (10 chiffres), 1+NPANXXXXXX, E.164 | 1 |
:PF | Polynésie Française | Local (6 chiffres), National (8 chiffres), E.164 | 689 |
Ajout de Nouveaux Codes Pays : Contactez votre ingénieur d'intégration pour ajouter le support de nouveaux pays.
Comportements de Traduction Spéciaux
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 États-Unis)
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 Chiffrés
Tous les caractères non chiffrés (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
| Variable | Valeur | Description |
|---|---|---|
destination_number | Format E.164 | Numéro de destination normalisé |
tas_destination_number | Format E.164 | Identique à destination_number (les deux définis pour compatibilité) |
effective_caller_id_number | Format E.164 | Numéro 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-chiffres → "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 des abonnés avec des numéros E.164 corrects dans le HSS.
Tester la Traduction de Numéros
Testeur de Traduction de l'Interface Web (/translate) :
- Naviguez vers
/translatedans le Panneau de Contrôle - Sélectionnez le code pays dans le menu déroulant
- Entrez un numéro de test dans n'importe quel format
- Visualisez la sortie E.164 traduite
- Testez 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É"
-
Vérifiez le format du numéro traduit :
- Utilisez l'outil
/translatepour tester le numéro - Vérifiez que la sortie correspond au format E.164 attendu
- Confirmez que le code pays et le code de zone sont corrects
- Utilisez l'outil
-
Vérifiez la recherche Sh :
- Le numéro traduit est utilisé pour la requête Sh
- Utilisez
/sh_testavec le numéro traduit - Vérifiez que l'abonné existe avec ce MSISDN
-
Vérifiez les variables du plan de numérotation :
- Consultez les journaux pour la valeur de
destination_number - Confirmez que la traduction a eu lieu avant le plan de numérotation
- Consultez les journaux pour la valeur de
Problème : Mauvais code de zone appliqué
# Configuration
config :tas, number_translate: %{
country_code: :AU,
localAreaCode: "617" # Incorrect pour votre région
}
# Entrée : 12345678 (numéro local à 8 chiffres)
# Sortie : 6161712345678 (incorrect - double code de zone)
# Correction : Définir le bon localAreaCode pour votre déploiement
Problème : Numéros internationaux non reconnus
Vérifiez si le numéro inclut le code pays :
- ✅
+61403123456ou61403123456→ Reconnu - ❌
0403123456dans 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 transmis tel quel depuis le 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 un journal/CDR cohérent
Meilleures Pratiques
-
Utilisez le Bon Code Pays :
- Définissez
country_codepour correspondre à votre région de déploiement - Testez minutieusement avant la production
- Définissez
-
Configurez le Code de Zone Local Approprié :
localAreaCodedoit correspondre au code de zone par défaut de votre réseau- Utilisé pour les numéros courts sans code de zone
-
Testez Tous les Formats de Numéros :
- Local (codes courts)
- National (format 0NSN)
- International (format +CC)
- Numéros de services spéciaux (urgence, messagerie vocale)
-
Surveillez les Journaux de Traduction :
- Vérifiez les erreurs "Code Pays Indéfini"
- Surveillez les formats de numéro inattendus
- Validez que la sortie E.164 correspond aux attentes
-
Documentez Votre Plan de Numérotation :
- Définissez quels formats les abonnés utiliseront
- Testez chaque format dans l'outil
/translate - Formez le personnel des opérations sur les formats attendus