Vous ne trouvez pas votre numéro Operator Connect pour l’assigner à un standard automatique Teams ? Ce guide détaille la cause la plus fréquente (mauvais lieu d’utilisation du compte de ressource), la solution pas à pas, des vérifications avancées et des commandes PowerShell pour débloquer l’attribution.
Vue d’ensemble du problème
Dans le Centre d’administration Microsoft Teams, lors de l’assignation d’un numéro à un standard automatique (Auto Attendant) : Voix → Comptes de ressource → <AA> → Attribuer/Désattribuer, la recherche avec Type de numéro : Operator Connect retourne le message “No Results Were Found”. Pourtant :
- Le numéro est visible dans Voix → Numéros de téléphone avec Type = Voice App (application vocale) et Statut = Non attribué.
- Le compte de ressource dispose bien de la licence Microsoft Teams Phone Resource Account.
Résumé du contexte
Élément | Observation |
---|---|
Objet cible | Standard automatique (Auto Attendant) |
Parcours d’assignation | Voix → Comptes de ressource → <AA> → Attribuer/Désattribuer |
Type de numéro | Operator Connect |
Message affiché | No Results Were Found |
Inventaire | Numéro visible en Voice App, non attribué |
Licence du compte | Microsoft Teams Phone Resource Account |
Cause racine et explication
Cause : le lieu d’utilisation (aussi appelé localisation ou UsageLocation) du compte de ressource ne correspond pas au pays du numéro Operator Connect.
Pourquoi cela bloque ? Pour respecter la réglementation télécom, Microsoft Teams vérifie la cohérence entre :
- le pays du numéro (déduit du code pays, p. ex.
+33
pour la France), - et le lieu d’utilisation du compte auquel ce numéro sera attaché.
Si ces deux informations ne correspondent pas (ex. : compte réglé sur États‑Unis alors que le numéro est +33
), le numéro n’apparaît pas dans la liste des numéros assignables et le moteur de recherche renvoie “No Results Were Found”.
Solution rapide
- Corriger la localisation du compte de ressource dans le Centre d’administration Microsoft 365 pour l’aligner avec le pays du numéro.
- Revenir dans le Centre d’administration Teams et attribuer le numéro au standard automatique via Voix → Comptes de ressource.
Après mise à jour, le numéro devient immédiatement (ou après une courte propagation) sélectionnable en Operator Connect et peut être assigné avec succès.
Étapes détaillées pas à pas
Ajuster la localisation du compte de ressource
- Ouvrez le Centre d’administration Microsoft 365.
- Allez dans Utilisateurs → Utilisateurs actifs et recherchez le compte de ressource de votre standard automatique (ex. : ra-aa@contoso.com).
- Ouvrez la fiche et sélectionnez Licences et applications.
- Dans Emplacement (lieu d’utilisation), choisissez le pays correspondant au code du numéro (ex. : France pour
+33
). - Enregistrez.
Vérifier les prérequis côté Teams
- Le compte de ressource possède la licence Microsoft Teams Phone Resource Account.
- Dans Voix → Numéros de téléphone, le numéro apparaît avec Type = Application vocale (Voice App) et Statut = Non attribué.
Attribuer le numéro à l’Auto Attendant
- Dans le Centre d’administration Teams, ouvrez Voix → Comptes de ressource.
- Choisissez votre standard automatique.
- Cliquez sur Attribuer/Désattribuer.
- Sélectionnez Type de numéro : Operator Connect.
- Choisissez le numéro maintenant visible → Enregistrer.
Tableau de dépannage express
Symptôme | Cause probable | Vérification | Action corrective |
---|---|---|---|
“No Results Were Found” en Operator Connect | Lieu d’utilisation du compte ≠ pays du numéro | Comparer Emplacement du compte vs code pays du numéro | Aligner l’Emplacement (UsageLocation) sur le pays du numéro |
Numéro introuvable côté AA | Type de numéro incohérent | Dans Voix → Numéros de téléphone, vérifier Type | Utiliser Operator Connect pour un numéro OC, Direct Routing pour un numéro SIP trunk, Calling Plans pour un plan d’appels |
Numéro non proposé | Numéro utilisateur et non service/Voice App | Colonne Type = Voice App attendue | Demander à l’opérateur la conversion en numéro service |
Numéro absent | Numéro déjà attribué à un autre objet | Colonne Assigné à ≠ vide | Désattribuer du précédent objet avant réassignation |
Apparition aléatoire / délai | Propagation côté annuaires/Teams | Récence d’un changement de licence, rôle ou localisation | Attendre quelques minutes, actualiser la page, tester en navigation privée |
Erreur au format | Format E.164 incorrect | Présence du + , aucun espace, indicatif correct | Utiliser +<code‑pays><numéro> (ex. : +33123456789 ) |
Points d’attention utiles
- Type de numéro cohérent : choisissez Operator Connect uniquement pour un numéro fourni par l’opérateur via Operator Connect. Pour Direct Routing ou Calling Plans, utilisez leur type respectif.
- Numéro de service requis : seuls les numéros Voice App / Service sont attribuables aux comptes de ressource (standards automatiques, files d’attente d’appels). Un numéro utilisateur ne sera pas proposé.
- Disponibilité : le numéro doit être non attribué à un autre objet.
- Propagation : après modification de l’emplacement, d’une licence ou de l’inventaire, un court délai peut être nécessaire avant l’affichage du numéro.
- Multi‑Geo : en environnement multi‑régions, vérifiez que le compte de ressource et le numéro relèvent bien du même pays de service.
- Rôle administrateur : vous aurez besoin des rôles Voix/Teams appropriés pour voir et assigner les numéros.
Alternative PowerShell
Si vous préférez le scripting ou si l’interface n’affiche toujours pas le numéro, vous pouvez réaliser l’assignation par PowerShell. Veillez à vous connecter aux modules requis (MicrosoftTeams et éventuellement Microsoft.Graph pour lire le lieu d’utilisation).
# Connexion aux modules
Connect-MicrosoftTeams
# Vérifier le type et la disponibilité du numéro
Get-CsPhoneNumber -TelephoneNumber +33123456789 | Format-List TelephoneNumber,ActivationState,AssignmentType,Capabilities,NumberType
# Vérifier le compte de ressource (Auto Attendant)
Get-CsOnlineApplicationInstance -Identity ra-aa@contoso.com | Format-List DisplayName,UserPrincipalName,PhoneNumber
# Assigner un numéro Operator Connect à un compte de ressource
Set-CsPhoneNumberAssignment -Identity ra-aa@contoso.com -PhoneNumber +33123456789 -PhoneNumberType OperatorConnect
# Vérifier l’attribution
Get-CsPhoneNumberAssignment -Identity ra-aa@contoso.com
Astuce : pour confirmer ou corriger le lieu d’utilisation côté annuaire, vous pouvez interroger Microsoft Graph (exige les autorisations adéquates) :
# (Requiert le module Microsoft.Graph et les scopes appropriés)
Connect-MgGraph -Scopes User.Read.All
Get-MgUser -UserId ra-aa@contoso.com -Property UsageLocation | Select-Object DisplayName,UserPrincipalName,UsageLocation
# Si besoin, corrigez le lieu d'utilisation dans le Centre d'administration M365 (interface)
# puis relancez la vérification Teams
Procédure de diagnostic approfondi
- Valider l’objet : s’agit‑il bien d’un compte de ressource (type application) et non d’un compte utilisateur ? (Les AA/Queues exigent des comptes de ressource.)
- Contrôler la licence : “Microsoft Teams Phone Resource Account” doit être présent et actif.
- Inspecter le numéro dans Voix → Numéros de téléphone :
- Type = Voice App,
- Fournisseur = Operator Connect (selon colonnes),
- Statut = Non attribué,
- Pays conforme à l’usage attendu.
- Vérifier l’Emplacement du compte de ressource dans M365 : le pays doit correspondre au code du numéro.
- Confirmer le format du numéro en E.164 (
+<code‑pays><numéro>
), sans espaces ni caractères parasites. - Écarter le cache : actualisez, testez en navigation privée ou changez de navigateur.
- Tester alternative PowerShell pour contourner un affichage UI capricieux.
- Si toujours bloqué : demander à l’opérateur de vérifier la catégorisation du numéro (doit être “Service/Voice App”, non “Utilisateur”).
Comparatif des types d’assignation
Type | Origine | Assignable à AA/Queue | Notes |
---|---|---|---|
Operator Connect | Opérateur intégré OC | Oui, si Voice App | Le lieu d’utilisation doit correspondre au pays du numéro |
Direct Routing | Trunk SBC | Oui, si déclaré comme Service | Le numéro doit être autorisé pour les applications |
Calling Plans | Plan d’appels Microsoft | Oui (numéros de service) | Contrôlé par Microsoft, pays strict |
Bonnes pratiques d’exploitation
- Nommage : adoptez un préfixe clair (
RA-AA-Paris-Accueil
,RA-CQ-FR-Support
) pour distinguer AA et queues. - Documentation : tracez pays du numéro, type (OC/DR/Plan), usage (AA/Queue), service tag opérateur et compte cible.
- Contrôle de cohérence périodique : audit des UsageLocation des comptes de ressource vs inventaire des numéros.
- Gestion du cycle de vie : avant toute migration de pays ou de locataire, planifiez le réalignement des lieux d’utilisation et la recatégorisation côté opérateur si nécessaire.
- Automatisation : script d’audit hebdomadaire PowerShell (exemples ci‑dessous) pour détecter les écarts.
Exemple de script d’audit (détection des écarts pays/UsageLocation)
# Prérequis : modules MicrosoftTeams et Microsoft.Graph.Users
Connect-MicrosoftTeams
Connect-MgGraph -Scopes User.Read.All
# 1) Récupérer tous les comptes de ressource (application instances)
\$ra = Get-CsOnlineApplicationInstance
# 2) Joindre leur UsageLocation (pays) et le numéro assigné
\$result = foreach (\$r in \$ra) {
\$g = Get-MgUser -UserId \$r.UserPrincipalName -Property UsageLocation
\$assign = Get-CsPhoneNumberAssignment -Identity \$r.UserPrincipalName -ErrorAction SilentlyContinue
\[PSCustomObject]@{
DisplayName = \$r.DisplayName
UPN = \$r.UserPrincipalName
UsageLocation = \$g.UsageLocation
AssignedNumber = \$assign.PhoneNumber
PhoneNumberType = \$assign.PhoneNumberType
}
}
# 3) Déduire le pays du numéro à partir du code (exemple simplifié)
function Get-CountryFromE164 {
param(\[string]\$Number)
if (\[string]::IsNullOrWhiteSpace(\$Number)) { return \$null }
if (\$Number -like "+33\*") { return "FR" }
if (\$Number -like "+41\*") { return "CH" }
if (\$Number -like "+32\*") { return "BE" }
if (\$Number -like "+34\*") { return "ES" }
if (\$Number -like "+44\*") { return "GB" }
if (\$Number -like "+49\*") { return "DE" }
if (\$Number -like "+1\*") { return "US" } # Simplification
return "??"
}
\$report = \$result | Select-Object \*,
@{n="NumberCountry"; e={ Get-CountryFromE164 \$*.AssignedNumber }},
@{n="Mismatch"; e={ if (\$*.AssignedNumber) { \$*.UsageLocation -ne (Get-CountryFromE164 \$*.AssignedNumber) } else { \$false } }}
# 4) Afficher les écarts
\$report | Where-Object { $\_.Mismatch -eq \$true } | Format-Table DisplayName, UPN, UsageLocation, AssignedNumber, NumberCountry
Objectif : repérer en amont les comptes de ressource dont le UsageLocation ne correspond pas au pays du numéro affecté, et corriger avant incident.
FAQ
Peut‑on assigner un numéro “utilisateur” à un standard automatique ?
Non. Les standards automatiques et les files d’attente exigent des numéros de service (Voice App). Demandez à votre opérateur une conversion si nécessaire.
Combien de temps dure la propagation après modification du lieu d’utilisation ?
Généralement quelques minutes. En cas de latence, actualisez l’interface, testez en navigation privée, ou exécutez l’assignation par PowerShell.
La localisation du compte de ressource peut‑elle être différente du pays d’hébergement Microsoft 365 ?
Oui, mais pour l’assignation des numéros, la règle déterminante est l’alignement UsageLocation ↔ pays du numéro.
Quelle est la différence entre Operator Connect et Direct Routing pour les AA/Queues ?
Operator Connect fournit des numéros via des opérateurs intégrés et gère la catégorisation en Voice App. Direct Routing s’appuie sur votre SBC ; vous devez vous assurer que les numéros destinés aux applications sont déclarés comme Service.
Je vois le numéro en “Voice App”, mais toujours pas dans la liste ; pourquoi ?
Après vérification de l’UsageLocation, confirmez que le Type de recherche est bien Operator Connect (et non Direct Routing/Calling Plans) et que le numéro n’est pas assigné ailleurs. Videz le cache du navigateur et réessayez.
Erreurs fréquentes et leur signification
- No Results Were Found : aucun numéro éligible pour le type sélectionné (souvent localisation non alignée).
- Le numéro n’est pas disponible : numéro déjà assigné ou en cours de traitement.
- Échec de l’opération sans détail : propagation ou cache. Réessayez, puis utilisez
Set-CsPhoneNumberAssignment
.
Checklist finale avant l’assignation
- Le compte est un compte de ressource (application), pas un utilisateur standard.
- Licence Microsoft Teams Phone Resource Account active.
- Numéro visible avec Type = Voice App et Non attribué.
- UsageLocation du compte = pays du numéro (ex. : FR pour
+33
). - Format E.164 correct (
+<code‑pays><numéro>
). - Interface sélectionnée sur Operator Connect lors de la recherche.
Cas pratique
Contexte : un numéro +33 1 23 45 67 89
apparaît en Voice App, non attribué, mais demeure introuvable lors de l’assignation à l’AA.
Diagnostic : le compte de ressource ra-aa@contoso.com
a un Emplacement réglé sur US.
Action : mise à jour de l’Emplacement sur France dans le Centre d’administration M365, puis reprise de l’assignation dans Teams avec Operator Connect.
Résultat : le numéro devient sélectionnable et s’assigne immédiatement au standard automatique. Les appels vers ce numéro déclenchent désormais le SVI configuré.
Conclusion
Le message “No Results Were Found” lors de l’assignation d’un numéro Operator Connect à un standard automatique Teams est, dans la majorité des cas, dû à un décalage entre le pays du numéro et le lieu d’utilisation du compte de ressource. En alignant l’UsageLocation du compte avec le code pays du numéro, vous restaurez l’éligibilité et l’assignation devient possible. Conservez cette règle d’or : pays du numéro = UsageLocation du compte, puis validez les prérequis (type Voice App, disponibilité, type de recherche). Avec les commandes PowerShell fournies, vous disposez en outre d’un filet de sécurité pour diagnostiquer finement et opérer hors UI si nécessaire.
Annexe : commandes utiles
# Inventorier les numéros de service (Voice App)
Get-CsPhoneNumber -ResultSize 9999 | Where-Object { $_.NumberType -eq "Service" -or $_.AssignmentType -eq "VoiceApp" } |
Select-Object TelephoneNumber, NumberType, AssignmentType, ActivationState, Capabilities
# Lister les comptes de ressource avec leur numéro
Get-CsOnlineApplicationInstance | Select-Object DisplayName, UserPrincipalName, PhoneNumber
# Désattribuer un numéro (si besoin)
Remove-CsPhoneNumberAssignment -Identity [ra-aa@contoso.com](mailto:ra-aa@contoso.com) -PhoneNumber +33123456789 -Confirm:\$false
# Réassigner ensuite avec le bon type
Set-CsPhoneNumberAssignment -Identity [ra-aa@contoso.com](mailto:ra-aa@contoso.com) -PhoneNumber +33123456789 -PhoneNumberType OperatorConnect
En synthèse : corriger la localisation → vérifier prérequis → assigner. Cette séquence résout durablement l’erreur et sécurise vos déploiements Teams Phone.