Dela via


Microsoft Teams möte Ljudkonferens

I den här artikeln beskrivs hur du använder Azure Communication Services Calling SDK för att hämta Microsoft Teams-möte Ljudkonferens information. Med den här funktionen kan användare som redan är anslutna till ett Microsoft Teams-möte få det konferens-ID och uppringningstelefonnummer som är kopplat till mötet. Funktionen Teams Meeting Ljudkonferens returnerar en samling med alla avgiftsbelagda och avgiftsfria nummer. Samlingen innehåller samtidiga namn på land/region och ortnamn, vilket ger användarna kontroll över vilka Teams-mötesinformation som ska användas.

Förutsättningar

Support

I det här avsnittet beskrivs stöd för Ljudkonferens i Azure Communication Services.

Identiteter och anropstyper

I följande tabell visas stöd för samtals- och identitetstyper.

Identiteter Teams-möte Rum 1:1 samtal Gruppsamtal 1:1 Teams interop-samtal Grupp teams-interop-anrop
Communication Services-användare ✔️
Microsoft 365-användare ✔️

Operations

I följande tabell visas stöd för enskilda API:er för att anropa SDK för enskilda identitetstyper.

Operations Communication Services-användare Microsoft 365-användare
Hämta information om ljudkonferenser ✔️ ✔️

SDK:er

I följande tabell visas stöd för funktionen Ljudkonferens i enskilda Azure Communication Services-SDK:er.

Plattformar Webb Webbgränssnitt iOS iOS-användargränssnitt Android Android-användargränssnitt Windows
Stöds ✔️

Installera SDK:n

npm install Använd kommandot för att installera Azure Communication Services Common och Calling SDK för JavaScript:

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

Initiera nödvändiga objekt

En CallClient instans krävs för de flesta anropsåtgärder. När du skapar en ny CallClient instans kan du konfigurera den med anpassade alternativ som en Logger instans.

Med instansen CallClient kan du skapa en CallAgent instans genom att anropa createCallAgent. Den här metoden returnerar asynkront ett CallAgent instansobjekt.

Metoden createCallAgent använder CommunicationTokenCredential som argument. Den accepterar en användaråtkomsttoken.

Du kan använda getDeviceManager metoden på instansen CallClient för att få åtkomst deviceManagertill .

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()

Så här hanterar du SDK-anslutning till Microsoft-infrastruktur på bästa sätt

Instansen Call Agent hjälper dig att hantera anrop (för att ansluta eller starta samtal). För att kunna arbeta måste din anropande SDK ansluta till Microsofts infrastruktur för att få meddelanden om inkommande samtal och samordna annan samtalsinformation. Du Call Agent har två möjliga tillstånd:

Ansluten – Ett Call Agent connectionStatue-värde Connected innebär att klient-SDK:t är anslutet och kan ta emot meddelanden från Microsofts infrastruktur.

Frånkopplad – Ett Call Agent connectionStatue-värde för Disconnected tillstånd det finns ett problem som hindrar SDK:n från att ansluta korrekt. Call Agent ska återskapas.

  • invalidToken: Om en token har upphört att gälla eller om en ogiltig Call Agent instans kopplas från med det här felet.
  • connectionIssue: Om det finns ett problem med att klienten ansluter till Microsoft-infrastrukturen, efter att många återförsök Call Agent har exponerat connectionIssue felet.

Du kan kontrollera om din lokala Call Agent är ansluten till Microsofts infrastruktur genom att granska det aktuella värdet för connectionState egenskapen. Under ett aktivt anrop kan du lyssna på connectionStateChanged händelsen för att avgöra om Call Agent det ändras från Anslutet till frånkopplat tillstånd.

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 Möte Ljudkonferens är en utökad funktion i kärn-APICall:et. Du måste först importera samtalsfunktioner från anropande SDK:

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

Sedan kan du hämta funktions-API-objektet från anropsinstansen:

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

Hämta information om ljudkonferenser för ett möte

Använd följande API för att hämta information om ljudkonferenser för ett möte

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);
}

Felsökning

Kod Underkod Resultatkategori Orsak Åtgärd
400 45950 ExpectedError Ljudkonferensfunktionen är endast tillgänglig i Teams-möten Delta i Teams-möte med konfigurerad ljudkonferens
405 45951 ExpectedError ACS-tjänsten inaktiverade ljudkonferenser Skapa En Azure-supportbegäran för att begära hjälp
403 45952 ExpectedError Information om ljudkonferenser är inte tillgängliga innan du ansluter till mötet Kontrollera att anropsobjektet är i connected tillståndet innan du anropar API:et för att hämta information om ljudkonferenser
403 45953 ExpectedError Information om ljudkonferenser är inte tillgängliga i lobbyn Kontrollera att anropsobjektet är i connected tillståndet innan du anropar API:et för att hämta information om ljudkonferenser

Nästa steg