EasyUC
4.8.7

EasyUC pour Microsoft Teams

Teams Direct Routing de bout en bout

Liste de contrôle complète, du système vide au premier appel de Teams vers un script EasyUC.

EasyUC · Version 4.8.7

Dans EasyUC : EasyUC Teams → Teams → SBC Setup, then Teams Tenants

À quoi cela sert

Ce chapitre décrit, dans un ordre fixe, toute la configuration de Microsoft Teams Direct Routing avec le SBC intégré d’EasyUC. À la fin, un utilisateur Teams compose un numéro et arrive dans un script EasyUC. Chaque étape renvoie au chapitre qui en donne le détail.

Pour la compréhension : le tenant Teams envoie les appels vers certains numéros, par un trunk SIP chiffré, au SBC du serveur EasyUC. Le SBC les transmet au script associé au numéro. Là, les annonces, menus, files d’attente, agents ou le poste opérateur prennent le relais. Dans l’autre sens, EasyUC remet les appels aux utilisateurs Teams par le même trunk, par exemple à des standardistes équipés d’un terminal Teams.

Depuis Teams, le SBC n’accepte que les appels vers des numéros de script. L’ordre est donc : réseau, SBC, tenant, certificat, connexion, script avec numéro, trunk et routes vocales, politique pour les utilisateurs, appel de test.

Prérequis

  • EasyUC est installé, le module de licence teams est présent et activé dans EasyUC Manager.
  • Un utilisateur EasyUC avec le rôle EasyUC Teams (ROLE_APP_TEAMS_WORKSPACE) et les sous-droits SBC bearbeiten, TENANTS bearbeiten et SCRIPTS bearbeiten.
  • Une adresse IPv4 publique fixe et l’accès au pare-feu et au NAT.
  • L’accès à la zone DNS publique du domaine du client.
  • Un administrateur du tenant Microsoft 365 : pour le domaine, pour une app registration avec consentement administrateur et avec le rôle Teams Administrator.
  • Des utilisateurs Teams avec une licence Teams Phone et Enterprise Voice pour le test.

Pas à pas, étape 1 : préparer le réseau et le DNS

  1. Choisissez le nom d’hôte, par exemple sbc.kunde.de, et créez un enregistrement DNS A qui pointe vers l’adresse IP publique.
  2. Vérifiez que le domaine du nom d’hôte est validé dans le tenant Microsoft 365.
  3. Autorisez le TCP 5061 et l’UDP 20000 à 20999 entrants depuis les réseaux 52.112.0.0/14 et 52.120.0.0/14, ainsi que le TCP 5061 sortant vers Microsoft.
  4. Détails : chapitre « DNS, adresse IP publique et pare-feu pour le SBC ».

Pas à pas, étape 2 : activer le SBC

  1. Ouvrez EasyUC Teams → Teams → SBC Setup et cliquez sur Enable integrated SBC.
  2. Saisissez Public IP, Media IP et Contact e-mail. Laissez Environment sur production et Validation sur DNS-01.
  3. Cliquez sur Enable integrated SBC et vérifiez que SBC service apparaît avec last seen.
  4. Détails : chapitre « Activer le SBC Teams et définir les paramètres réseau ».

Pas à pas, étape 3 : créer le tenant et obtenir le certificat

  1. Ouvrez Teams Tenants et cliquez sur Add tenant.
  2. Saisissez Customer name, SBC hostname for this tenant et Directory (tenant) ID, puis cliquez sur Create.
  3. Ouvrez le tenant et, dans l’encadré Certificate for this hostname, cliquez sur Request certificate.
  4. Créez dans le DNS l’enregistrement TXT affiché et cliquez sur Check and issue now jusqu’à ce que issued, valid until apparaisse.
  5. Détails : chapitres « Créer et gérer un tenant Teams » et « Certificat SBC par tenant ».

Pas à pas, étape 4 : enregistrer l’accès Microsoft

  1. Dans le tenant du client, enregistrez une application avec les droits Graph User.Read.All, Presence.Read.All, TeamworkDevice.Read.All et Organization.Read.All, accordez le consentement administrateur et attribuez-lui le rôle d’annuaire Teams Administrator.
  2. Sur la page du tenant, sous Microsoft Graph, saisissez l’Application (client) ID et le Client secret, puis cliquez sur Save.
  3. Cliquez sur Test credentials jusqu’à ce que Checked apparaisse.
  4. Dans l’encadré Set up the trunk in Teams, vérifiez que PowerShell service reachable et Signs in automatically sont affichés. Sans app registration, cliquez sur Sign in with a Teams admin.
  5. Détails : chapitre « Accès Graph et connexion de l’administrateur Teams ».

Pas à pas, étape 5 : créer un script avec un numéro Teams

  1. Ouvrez la liste des scripts et cliquez sur Create IVR.
  2. Attribuez un Name, cochez Reachable via MS Teams, sélectionnez le Teams tenant et la carte Direct Routing.
  3. Saisissez le Number dialled in Teams, par exemple +49 40 1234567, puis cliquez sur Save.
  4. Détails : chapitre « Rendre un script joignable via Microsoft Teams ».

Pas à pas, étape 6 : configurer le trunk et les routes vocales dans Teams

  1. Ouvrez la page du tenant et vérifiez l’état Reachable sous Scripts over this trunk.
  2. Cliquez sur Show what would happen et lisez l’aperçu.
  3. Cliquez sur Set up the trunk now et confirmez l’invite.
  4. Contrôlez Set up in Microsoft : yes. Après quelques minutes, Reached from Microsoft affiche « Microsoft answers our OPTIONS ».
  5. Dans le centre d’administration Teams, attribuez la politique de routage vocal nommée EasyUC-… aux utilisateurs qui doivent appeler le numéro du script. Vous pouvez aussi cocher Enable for all users (global policy) avant la configuration.
  6. Détails : chapitre « Configurer le trunk et les routes vocales dans Teams ».

Pas à pas, étape 7 : attribuer des numéros et passer l’appel de test

  1. Si les utilisateurs doivent recevoir leurs propres numéros de téléphone, attribuez-les dans la section Number plan par Actions → Assign … (chapitre « Plan de numérotation Teams et attribution des numéros »).
  2. Attendez quelques minutes, le temps que Teams applique la route et la politique.
  3. Sélectionnez Show calls dans la barre du tenant.
  4. Appelez le numéro du script depuis le client Teams d’un utilisateur disposant de la politique EasyUC.
  5. L’appel apparaît dans Show calls, et vous entendez le message d’accueil du script.
  6. Ouvrez ensuite Call history, cliquez sur l’appel et contrôlez le diagramme en échelle SIP.
  7. En cas d’erreur : chapitre « Appels Teams, flux SIP et captures ».

Champs et options

Champs et options
Champ / actionSignification et utilisation
HostnameUn nom par tenant dans le domaine du client, par exemple sbc.kunde.de.
Public IP / Media IPAdresse externe pour Microsoft et adresse locale pour le RTP.
TLS port5061 par défaut, puis le prochain port libre pour chaque tenant supplémentaire.
RTP rangeUDP 20000 à 20999 par défaut.
CertificateLet’s Encrypt par DNS-01, à la main avec un enregistrement TXT ou automatiquement avec Cloudflare.
Graph permissionsUser.Read.All, Presence.Read.All, TeamworkDevice.Read.All ; pour la connexion d’application à Teams PowerShell, Organization.Read.All et le rôle d’annuaire Teams Administrator ; pour la synchronisation de présence, Presence.ReadWrite.All.
Objects in TeamsPasserelle PSTN, usage PSTN, route vocale et politique de routage vocal, nommés EasyUC- suivi du premier label du nom d’hôte.
Script numberFormat international avec un + initial, exactement un script par numéro et par tenant.
Further tenantsRépétez les étapes 1 et 3 à 7 pour chaque client, avec son propre nom d’hôte et son propre port TLS. L’étape 2 s’applique à tous les tenants ensemble.

Vérifier le résultat et circonscrire les erreurs

  • Succès : certificat valid, trunk active, Last OPTIONS récent, script Reachable, Routes in Teams Up to date, et l’appel de test atteint le message d’accueil.
  • Le service SBC ne se signale pas : vérifiez l’étape 2 et le service dans EasyUC Manager.
  • Le certificat reste sur DNS entry required : l’enregistrement TXT n’est pas encore visible publiquement ou porte une ancienne valeur.
  • „Microsoft kennt die Domain dieses SBC-Namens in diesem Tenant nicht.“ Validez le domaine dans le tenant Microsoft 365 (étape 1).
  • Le trunk reste down : vérifiez dans le pare-feu le port TLS entrant et le TCP 5061 sortant, l’environnement production au lieu de staging, et le nom d’hôte exactement identique à celui du certificat.
  • Teams signale une erreur dès la composition et l’appel manque dans l’historique : l’utilisateur n’a pas la politique EasyUC, ou Teams ne l’a pas encore appliquée.
  • L’appel figure dans l’historique mais est rejeté : le numéro n’appartient à aucun script actif de ce tenant. Contrôlez Scripts over this trunk sur la page du tenant.
  • L’appel est décroché mais il n’y a pas d’audio : vérifiez l’adresse IP publique, l’adresse média et la règle UDP.
  • Pour les numéros issus d’Operator Connect, une voie distincte s’applique : chapitre « Operator Connect via le renvoi Teams ».

Chapitres associés