Microsoft Teams-vergadering Audiovergadering
In dit artikel wordt beschreven hoe u azure Communication Services Calling SDK gebruikt om microsoft Teams Meeting Audiovergadering details op te halen. Met deze functie kunnen gebruikers die al zijn verbonden met een Microsoft Teams-vergadering, de vergadering-id en het inbeltelefoonnummer ophalen dat aan de vergadering is gekoppeld. De functie Teams-vergadering Audiovergadering retourneert een verzameling van alle betaalde en gratis nummers. De verzameling bevat gelijktijdige land-/regionamen en stadsnamen, zodat gebruikers bepalen welke inbelgegevens van Teams-vergaderingen moeten worden gebruikt.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een geïmplementeerde Communication Services-resource. Een Communication Services-resource maken.
- Een gebruikerstoegangstoken om de aanroepende client in te schakelen. Voor meer informatie. Toegangstokens maken en beheren.
- Optioneel: Voltooi de quickstart om spraakgesprekken toe te voegen aan uw toepassing.
Ondersteuning
In deze sectie wordt ondersteuning voor Audiovergadering in Azure Communication Services beschreven.
Identiteiten en oproeptypen
In de volgende tabel ziet u ondersteuning voor oproep- en identiteitstypen.
Identiteiten | Teams-vergadering | Ruimte | 1:1 oproep | Groepsgesprek | 1:1 Teams-interopgesprek | Gesprek tussen Teams groeperen |
---|---|---|---|---|---|---|
Communication Services-gebruiker | ✔️ | |||||
Microsoft 365-gebruiker | ✔️ |
Operations
In de volgende tabel ziet u ondersteuning voor afzonderlijke API's bij het aanroepen van SDK voor afzonderlijke identiteitstypen.
Operations | Communication Services-gebruiker | Microsoft 365-gebruiker |
---|---|---|
Details van audiovergaderingen ophalen | ✔️ | ✔️ |
SDK's
In de volgende tabel ziet u ondersteuning voor de Audiovergadering-functie in afzonderlijke Azure Communication Services-SDK's.
Platformen | Web | Webgebruikersinterface | iOS | iOS-gebruikersinterface | Android | Android-gebruikersinterface | Windows |
---|---|---|---|---|---|---|---|
Wordt ondersteund | ✔️ |
Installeer de SDK
Gebruik de npm install
opdracht om de Common and Calling SDK voor Azure Communication Services voor JavaScript te installeren:
npm install @azure/communication-common --save
npm install @azure/communication-calling --save
Vereiste objecten initialiseren
Een CallClient
exemplaar is vereist voor de meeste aanroepbewerkingen. Wanneer u een nieuw CallClient
exemplaar maakt, kunt u deze configureren met aangepaste opties, zoals een Logger
exemplaar.
Met het CallClient
exemplaar kunt u een CallAgent
exemplaar maken door het createCallAgent
aan te roepen. Deze methode retourneert asynchroon een CallAgent
exemplaarobject.
De createCallAgent
methode gebruikt CommunicationTokenCredential
als argument. Het accepteert een toegangstoken van een gebruiker.
U kunt de getDeviceManager
methode op het CallClient
exemplaar gebruiken om toegang te krijgen tot deviceManager
.
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()
Sdk-connectiviteit met Microsoft-infrastructuur het beste beheren
Het Call Agent
exemplaar helpt u bij het beheren van gesprekken (om aanroepen deel te nemen of te starten). Als u wilt werken met uw aanroepende SDK, moet u verbinding maken met de Microsoft-infrastructuur om meldingen van binnenkomende oproepen te ontvangen en andere gespreksgegevens te coördineren. Uw Call Agent
heeft twee mogelijke statussen:
Verbonden : een Call Agent
connectionStatue-waarde van Connected
het middel dat de client-SDK is verbonden en meldingen van de Microsoft-infrastructuur kan ontvangen.
Verbinding verbroken - Een Call Agent
connectionStatue-waarde van Disconnected
statussen is er een probleem dat verhindert dat de SDK verbinding maakt. Call Agent
moet opnieuw worden gemaakt.
invalidToken
: Als een token is verlopen of een ongeldig exemplaarCall Agent
wordt verbroken met deze fout.connectionIssue
: Als er een probleem is met de client die verbinding maakt met Microsoft infrascture, wordt deconnectionIssue
fout na veel nieuwe pogingenCall Agent
weergegeven.
U kunt controleren of uw lokale Call Agent
verbinding heeft met de Microsoft-infrastructuur door de huidige waarde van connectionState
de eigenschap te controleren. Tijdens een actieve oproep kunt u naar de connectionStateChanged
gebeurtenis luisteren om te bepalen of Call Agent
de status Verbonden naar Verbroken is gewijzigd.
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 Audiovergadering is een uitgebreide functie van de kern-APICall
. U moet eerst aanroepende functies importeren uit de Calling SDK:
import { Features} from "@azure/communication-calling";
Vervolgens kunt u het functie-API-object ophalen uit het aanroepexemplaren:
const audioConferencingFeature = call.feature(Features.TeamsMeetingAudioConferencing);
De details van een vergadering voor audiovergaderingen ophalen
Gebruik de volgende API om de details van een vergadering voor audiovergaderingen op te halen
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);
}
Probleemoplossing
Code | Subcode | Resultaatcategorie | Reden | Oplossing |
---|---|---|---|---|
400 | 45950 | ExpectedError | Functie voor audiovergaderingen is alleen beschikbaar in Teams-vergaderingen | Deelnemen aan Teams-vergadering met geconfigureerde audiovergaderingen |
405 | 45951 | ExpectedError | Acs-service heeft audiovergaderingen uitgeschakeld | Een Azure-ondersteuningsticket maken om hulp te vragen |
403 | 45952 | ExpectedError | Details van audiovergaderingen zijn niet beschikbaar voordat u deelneemt aan de vergadering | Zorg ervoor dat het aanroepobject de connected status heeft voordat u de API aanroept om de details van de audiovergadering op te halen |
403 | 45953 | ExpectedError | Details van audiovergaderingen zijn niet beschikbaar in de lobby | Zorg ervoor dat het aanroepobject de connected status heeft voordat u de API aanroept om de details van de audiovergadering op te halen |