Sdílet prostřednictvím


Audiokonference schůzek v Microsoft Teams

Tento článek popisuje, jak pomocí sady SDK pro volání služeb Azure Communication Services načíst podrobnosti o schůzce Microsoft Teams Audiokonference. Tato funkce umožňuje uživatelům, kteří jsou už připojení ke schůzce Microsoft Teams, získat ID konference a telefonní číslo pro telefonické připojení přidružené ke schůzce. Funkce Audiokonference schůzky v Teams vrací kolekci všech bezplatných a bezplatných čísel. Kolekce obsahuje souběžné názvy zemí/oblastí a názvy měst a poskytují uživatelům kontrolu nad podrobnostmi o tom, které podrobnosti o vytáčené schůzce Teams použít.

Požadavky

Technická podpora

Tato část popisuje podporu Audiokonference ve službách Azure Communication Services.

Identity a typy volání

Následující tabulka uvádí podporu pro typy volání a identit.

Identity Schůzka v Teams Místnost 1:1 hovor Skupinový hovor 1:1 Zprostředkovatele spolupráce v Teams Skupinový interopový hovor v Teams
Uživatel komunikačních služeb ✔️
Uživatel Microsoftu 365 ✔️

Operace

Následující tabulka uvádí podporu jednotlivých rozhraní API při volání sady SDK pro jednotlivé typy identit.

Operace Uživatel komunikačních služeb Uživatel Microsoftu 365
Získání podrobností o audiokonferenci ✔️ ✔️

Sady SDK

Následující tabulka uvádí podporu funkce Audiokonference v jednotlivých sadách SDK služeb Azure Communication Services.

Platformy Web Webové uživatelské rozhraní iOS Uživatelské rozhraní iOS Android Uživatelské rozhraní Androidu Windows
Je podporováno. ✔️

Nainstalujte sadu SDK .

npm install Pomocí příkazu nainstalujte sadu AZURE Communication Services Common and Calling SDK pro JavaScript:

npm install @azure/communication-common --save
npm install @azure/communication-calling --save

Inicializace požadovaných objektů

Pro CallClient většinu operací volání se vyžaduje instance. Když vytvoříte novou CallClient instanci, můžete ji nakonfigurovat s vlastními možnostmi, jako je Logger instance.

CallClient S instancí můžete vytvořit CallAgent instanci voláním createCallAgent. Tato metoda asynchronně vrátí CallAgent objekt instance.

Metoda createCallAgent se používá CommunicationTokenCredential jako argument. Přijímá přístupový token uživatele.

K přístupu deviceManagermůžete použít metodu getDeviceManager v CallClient instanci .

const { CallClient } = require('@azure/communication-calling');
const { AzureCommunicationTokenCredential} = require('@azure/communication-common');
const { AzureLogger, setLogLevel } = require("@azure/logger");

// Set the logger's log level
setLogLevel('verbose');

// Redirect log output to console, file, buffer, REST API, or whatever location you want
AzureLogger.log = (...args) => {
    console.log(...args); // Redirect log output to console
};

const userToken = '<USER_TOKEN>';
callClient = new CallClient(options);
const tokenCredential = new AzureCommunicationTokenCredential(userToken);
const callAgent = await callClient.createCallAgent(tokenCredential, {displayName: 'optional Azure Communication Services user name'});
const deviceManager = await callClient.getDeviceManager()

Jak nejlépe spravovat připojení sady SDK k infrastruktuře Microsoftu

Tato Call Agent instance vám pomůže spravovat hovory (pro připojení nebo zahájení hovorů). Aby bylo možné pracovat s vaší sadou SDK volání, musí se připojit k infrastruktuře Microsoftu, aby bylo možné dostávat oznámení o příchozích hovorech a koordinovat další podrobnosti volání. Máte Call Agent dva možné stavy:

PřipojenoCall Agent Hodnota connectionStatue znamená, Connected že klientská sada SDK je připojená a dokáže přijímat oznámení z infrastruktury Microsoftu.

OdpojenoCall Agent Hodnota Disconnected connectionStatue stavů existuje problém, který brání sadě SDK, aby se správně připojil. Call Agent by se mělo znovu vytvořit.

  • invalidToken: Pokud vypršela platnost tokenu nebo je neplatná Call Agent instance, odpojí se s touto chybou.
  • connectionIssue: Pokud došlo k problému s klientem, který se připojuje k infrascture Microsoftu, po mnoha opakovaných pokusech Call Agent connectionIssue se zobrazí chyba.

Zkontrolujte, jestli je vaše místní Call Agent infrastruktura připojená k infrastruktuře Microsoftu, a to kontrolou aktuální hodnoty connectionState vlastnosti. Během aktivního volání můžete naslouchat connectionStateChanged události a zjistit, jestli Call Agent se změny ze stavu Připojeno k Odpojeno .

const connectionState = callAgentInstance.connectionState;
console.log(connectionState); // it may return either of 'Connected' | 'Disconnected'

const connectionStateCallback = (args) => {
    console.log(args); // it will return an object with oldState and newState, each of having a value of either of 'Connected' | 'Disconnected'
    // it will also return reason, either of 'invalidToken' | 'connectionIssue'
}
callAgentInstance.on('connectionStateChanged', connectionStateCallback);

Microsoft Teams Meeting Audiokonference je rozšířená funkce základního Call rozhraní API. Nejdřív je potřeba importovat funkce volání ze sady SDK pro volání:

import { Features} from "@azure/communication-calling";

Objekt rozhraní API funkce pak můžete získat z instance volání:

const audioConferencingFeature = call.feature(Features.TeamsMeetingAudioConferencing);

Získání podrobností o audiokonferenci schůzky

K získání podrobností o audiokonferenci schůzky použijte následující rozhraní API.

try {
     const details: SDK.TeamsMeetingAudioConferencingDetails = audioConferencingFeature.getTeamsMeetingAudioConferencingDetails();
     console.log(`Microsoft Teams Meeting Conference Id: ${details.phoneConferenceId}`);
     details.phoneNumbers.forEach(dialInPhoneNumber => {
        if (dialInPhoneNumber.tollPhoneNumber) { 
            console.log(`Dial-In Toll PhoneNumber: ${dialInPhoneNumber.tollPhoneNumber.phoneNumber}`);
        }
        else if (dialInPhoneNumber.tollFreePhoneNumber) { 
            console.log(`Dial-In TollFree PhoneNumber: ${dialInPhoneNumber.tollFreePhoneNumber.phoneNumber}`);
        } 
        else if (dialInPhoneNumber.countryName) {
            console.log(`Dial-In Country Name: ${dialInPhoneNumber.countryName}`);
        }
        else if (dialInPhoneNumber.cityName) {
            console.log(`Dial-In City Name: ${dialInPhoneNumber.cityName}`);
        }
    })
} catch (e) {
    console.error(e);
}

Řešení problému

Kód Podkód Kategorie výsledků Důvod Rozlišení
400 45950 ExpectedError Funkce audiokonferencí je dostupná jenom na schůzkách v Teams. Připojení ke schůzce v Teams pomocí nakonfigurovaných audiokonferencí
405 45951 ExpectedError Služba ACS zakázala audiokonference Vytvoření lístku podpory Azure pro žádost o pomoc
403 45952 ExpectedError Podrobnosti audiokonferencí nejsou před připojením ke schůzce k dispozici. Před vyvoláním rozhraní API za účelem načtení podrobností audiokonferencí se ujistěte, že je objekt volání ve connected stavu.
403 45953 ExpectedError Podrobnosti audiokonferencí nejsou v předsálí k dispozici. Před vyvoláním rozhraní API za účelem načtení podrobností audiokonferencí se ujistěte, že je objekt volání ve connected stavu.

Další kroky