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
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- En distribuerad Communication Services-resurs. Skapa en Communication Services-resurs.
- En användaråtkomsttoken för att aktivera den anropande klienten. Mer information. Skapa och hantera åtkomsttoken.
- Valfritt: Slutför snabbstarten för att lägga till röstsamtal i ditt program.
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 deviceManager
till .
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 ogiltigCall 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ökCall Agent
har exponeratconnectionIssue
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 |