Bonjour ! J'espère que vous êtes prêt à entrer dans le vif du sujet de la configuration téléphonique.
Introduction
Dans la leçon précédente, nous avons exploré les différentes architectures de connectivité au réseau téléphonique public (RTC/PSTN) : les forfaits d'appels Microsoft (Calling Plans), Operator Connect et le Direct Routing. Nous avons vu que le Direct Routing, qui s'appuie sur un SBC, offre le plus de flexibilité et que son fonctionnement repose sur des objets de configuration comme les politiques de routage vocal.
Aujourd'hui, nous allons réaliser la toute première étape pratique et indispensable de la configuration de la téléphonie dans Teams. L'objectif de cette leçon est de configurer un plan de numérotation (Dial Plan) pour normaliser les numéros appelés.
Quel que soit le format qu'un utilisateur compose (un numéro interne à 4 chiffres, un numéro local sans indicatif, ou un numéro international), le système téléphonique doit le traduire en un format standardisé et unique avant de pouvoir le router. C'est le rôle du plan de numérotation. Si vous avez déjà travaillé sur Cisco CUCM, ce concept est très similaire aux "Translation Patterns" qui manipulent les numéros composés.
À la fin de cette leçon, vous saurez créer des règles pour traduire n'importe quel format de numéro vers le standard E.164, à la fois via l'interface graphique et en PowerShell.
1. Qu'est-ce qu'un Plan de Numérotation (Dial Plan) ?
Un plan de numérotation dans Microsoft Teams est un ensemble de règles de normalisation. Son but est simple : prendre le numéro de téléphone tel que l'utilisateur l'a composé et le convertir au format E.164.
Le format E.164 est la norme internationale pour les numéros de téléphone. Il est structuré comme suit : +[CodePays][NuméroNational]. Par exemple, le numéro parisien 01 23 45 67 89 devient +33123456789 en E.164.
Teams utilise ce format standard pour garantir que les appels soient routés de manière fiable, où que l'utilisateur se trouve dans le monde.
Il existe deux types de plans de numérotation :
- Plan de service (Service Country Dial Plan) : Attribué automatiquement à un utilisateur en fonction de sa localisation de licence Microsoft 365. Il contient des règles de base pour le pays (par exemple, ajouter
+33pour les appels en France). - Plan de tenant (Tenant Dial Plan) : C'est celui que vous créez et personnalisez. Il est prioritaire sur le plan de service. C'est sur ce type de plan que nous allons nous concentrer.
Le cœur d'un plan de numérotation, ce sont ses règles de normalisation.
Normalization rules for Microsoft Teams dial plans
Pour bien comprendre le rôle et la structure de ces règles, la documentation Microsoft "Normalization rules" est une lecture essentielle.
Veuillez lire l'introduction de cet article, jusqu'à la section "Determining the required normalization rules". Concentrez-vous sur la définition d'une règle de normalisation et sur le fait qu'elles sont traitées dans l'ordre, de haut en bas.
2. Anatomie d'une Règle de Normalisation
Chaque règle de normalisation est construite autour d'une expression régulière (Regular Expression, ou Regex). Si vous n'êtes pas familier avec les Regex, ce sont des séquences de caractères qui définissent un modèle de recherche. Dans notre cas, le modèle sert à intercepter un type de numéro spécifique.
Une règle contient deux éléments principaux :
- Le Modèle (Pattern) : L'expression régulière qui doit correspondre au numéro composé par l'utilisateur.
- La Traduction (Translation) : Le format dans lequel le numéro doit être réécrit s'il correspond au modèle.
Prenons un exemple simple pour un poste interne à 4 chiffres :
- Numéro composé par l'utilisateur :
4052 - Modèle (Pattern) :
^(\d{4})$^: Doit commencer par...(\d{4}): ... un groupe de 4 chiffres (\d{4}). Les parenthèses "capturent" ces 4 chiffres pour les réutiliser.$: ... et doit se terminer ici (il n'y a rien d'autre).
- Traduction (Translation) :
+3317061$1- On ajoute le préfixe E.164 de la ligne principale de l'entreprise, par exemple
+3317061. $1: On ajoute le contenu du premier groupe capturé dans le modèle (ici, nos 4 chiffres4052).
- On ajoute le préfixe E.164 de la ligne principale de l'entreprise, par exemple
- Résultat final :
+33170614052
Le système peut maintenant router cet appel.
La documentation Microsoft fournit d'excellents exemples.
Normalization rules for Microsoft Teams dial plans
L'article que vous avez commencé à lire contient un tableau très utile avec des exemples concrets de règles de normalisation.
Consultez les sections suivantes : "Creating normalization rules" : Notez la référence aux expressions régulières .NET Framework. "Sample normalization rules" : Étudiez attentivement le premier tableau. Essayez de comprendre comment chaque modèle (Pattern) est transformé par la traduction (Translation). "Redmond dial plan based on normalization rules shown in previous table" : Voyez comment ces règles sont assemblées pour former un plan complet.
3. Création et Gestion d'un Plan de Numérotation
Conformément à vos préférences, nous allons voir comment configurer un plan de numérotation via l'interface graphique, puis avec PowerShell.
a) Via le Teams Admin Center
L'interface graphique est idéale pour des modifications rapides ou pour visualiser la configuration.

Pour créer votre premier plan de numérotation, suivez ces étapes :
- Connectez-vous au Teams Admin Center.
- Allez dans Voice > Dial plans.
- Cliquez sur + Add.
- Donnez un nom (ex:
Plan de numérotation France) et une description. - Dans la section Normalization rules, cliquez sur + Add pour créer votre première règle.
Exercice pratique :
Créons une règle pour les numéros mobiles français. Un utilisateur pourrait composer 0612345678. Nous voulons le traduire en +33612345678.
- Name:
Numéro Mobile France - Pattern:
^0([67]\d{8})$^0: Le numéro commence par un0.([67]\d{8}): Il est suivi d'un groupe capturé contenant un6ou un7, suivi de 8 autres chiffres.
- Translation:
+33$1- On remplace le
0initial par+33et on ajoute le groupe capturé ($1).
- On remplace le
- Sauvegardez la règle, puis le plan de numérotation.
- Utilisez la fonction Test dial plan pour vérifier votre règle. Entrez
0612345678et assurez-vous que le résultat est bien+33612345678.
Create and manage dial plans - Microsoft Teams
Pour une référence détaillée des étapes dans le Teams Admin Center, consultez la documentation officielle.
Lisez la section "Using the Microsoft Teams admin center" pour revoir les étapes de création, modification et test d'un plan de numérotation.
b) Avec PowerShell
Pour l'automatisation et la gestion en masse, PowerShell est l'outil de choix.
Create and manage dial plans - Microsoft Teams
L'article que vous venez de consulter contient une section complète sur l'utilisation de PowerShell pour gérer les plans de numérotation. C'est une section clé pour vous.
Étudiez attentivement la section "Using PowerShell". Identifiez les cmdlets principaux : New-, Set-, Get-, Grant-, et Test-.
Maintenant, mettons cela en pratique. Voici un script pour créer un plan de numérotation "France" avec deux règles : une pour les mobiles et une pour les numéros fixes commençant par 01 à 05.
Étape 1 : Se connecter au module Teams PowerShell (si ce n'est pas déjà fait)
Import-Module MicrosoftTeams
Connect-MicrosoftTeams
Étape 2 : Créer les règles de normalisation en mémoire
# Règle pour les mobiles (06, 07)
$ruleMobile = New-CsVoiceNormalizationRule -Identity "Global/FR-Mobile" -Pattern '^0([67]\d{8})$' -Translation '+33$1' -IsInternalExtension $false -InMemory
# Règle pour les fixes (01-05)
$ruleFixe = New-CsVoiceNormalizationRule -Identity "Global/FR-Fixe" -Pattern '^0([1-5]\d{8})$' -Translation '+33$1' -IsInternalExtension $false -InMemory
Étape 3 : Créer le plan de numérotation avec ces règles
New-CsTenantDialPlan -Identity "France Dial Plan" -Description "Plan de numérotation pour les utilisateurs en France" -NormalizationRules @{Add = $ruleFixe, $ruleMobile}
Étape 4 : Attribuer le plan à un utilisateur
Grant-CsTenantDialPlan -Identity "utilisateur@votredomaine.com" -PolicyName "France Dial Plan"
Étape 5 : Tester le plan de numérotation effectif pour cet utilisateur
Test-CsEffectiveTenantDialPlan -DialedNumber "0612345678" -Identity "utilisateur@votredomaine.com"
# Vous devriez voir "+33612345678" en retour.
4. Ordre des Règles et Plans Effectifs
Un point crucial, mentionné dans la documentation, est que les règles sont évaluées de haut en bas. La première règle qui correspond au numéro composé est utilisée, et les autres sont ignorées.

Par conséquent, vous devez toujours placer les règles les plus spécifiques en haut de la liste et les plus générales en bas.
Par exemple, une règle pour un poste interne à 4 chiffres ^(\d{4})$ doit être placée avant une règle pour les appels locaux à 8 chiffres ^(\d{8})$, sinon le numéro 1234 serait incorrectement intercepté par la règle des 8 chiffres (si le modèle est mal écrit).
Pour voir l'ensemble des règles qui s'appliquent à un utilisateur (celles de votre plan de tenant + celles du plan de service du pays), utilisez la cmdlet PowerShell :
Get-CsEffectiveTenantDialPlan -Identity "utilisateur@votredomaine.com"
Cela vous montrera la liste fusionnée et l'ordre final, ce qui est extrêmement utile pour le dépannage.
Conclusion
Aujourd'hui, nous avons franchi une étape fondamentale dans la mise en place de la téléphonie Teams. Vous avez appris à manipuler l'un des outils les plus importants pour assurer un routage d'appels fiable.
Points clés à retenir :
- Un Plan de Numérotation (Dial Plan) est un ensemble de règles pour traduire les numéros composés en format E.164 (
+33...). - Les Règles de Normalisation sont le moteur de cette traduction, utilisant des expressions régulières (Regex) pour identifier et reformater les numéros.
- L'ordre des règles est primordial : les plus spécifiques doivent être traitées avant les plus générales.
- La configuration peut se faire via le Teams Admin Center pour la simplicité, et via PowerShell pour la puissance et l'automatisation.
- Les commandes
Test-CsEffectiveTenantDialPlan(PowerShell) et la fonction de test de l'interface graphique sont vos meilleurs alliés pour valider vos configurations.
Prochaine étape :
Maintenant que nous savons comment normaliser un numéro pour que Teams le comprenne, la prochaine étape logique est de dire à Teams quoi faire de ce numéro normalisé. Dans la prochaine leçon, nous allons créer et attribuer des politiques de routage vocal (Voice Routing Policies). C'est là que nous commencerons à connecter la logique interne de Teams au monde extérieur via notre SBC, en utilisant les concepts de PSTN Usages et Voice Routes que nous avions brièvement évoqués.