Audioconferenza riunione di Microsoft Teams
Questo articolo descrive come usare Servizi di comunicazione di Azure Calling SDK per recuperare i dettagli della riunione di Microsoft Teams Audioconferenza. Questa funzione consente agli utenti che sono già connessi a una riunione di Microsoft Teams di ottenere l'ID conferenza e il numero di telefono con accesso esterno associati alla riunione. La funzionalità Riunione di Teams Audioconferenza restituisce una raccolta di tutti i numeri verdi e verdi. La raccolta include nomi di paese/area geografica e nomi delle città, assegnando agli utenti il controllo delle riunioni di Teams con accesso esterno da usare.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Una risorsa di Servizi di comunicazione distribuita. Creare una risorsa di Servizi di comunicazione.
- Token di accesso utente per abilitare il client chiamante. Per altre informazioni, Creare e gestire i token di accesso.
- Facoltativo: completare la guida introduttiva per aggiungere chiamate vocali all'applicazione.
Supporto tecnico
Questa sezione descrive il supporto per Audioconferenza in Servizi di comunicazione di Azure.
Identità e tipi di chiamata
Nella tabella seguente viene illustrato il supporto per i tipi di chiamata e identità.
Identità | Riunione di Teams | Club | 1:1 Chiamata | Chiamata di gruppo | Chiamata di interoperabilità di Teams 1:1 | Chiamata di interoperabilità di Teams di gruppo |
---|---|---|---|---|---|---|
Utente di Servizi di comunicazione | ✔️ | |||||
Utente di Microsoft 365 | ✔️ |
Operazioni
La tabella seguente illustra il supporto per le singole API nella chiamata dell'SDK per singoli tipi di identità.
Operazioni | Utente di Servizi di comunicazione | Utente di Microsoft 365 |
---|---|---|
Ottenere i dettagli delle audioconferenze | ✔️ | ✔️ |
SDK
La tabella seguente illustra il supporto per la funzionalità di Audioconferenza nei singoli SDK Servizi di comunicazione di Azure.
Piattaforme | Web | Interfaccia utente Web | iOS | Interfaccia utente iOS | Android | Interfaccia utente Android | Finestre |
---|---|---|---|---|---|---|---|
Supportato | ✔️ |
Installazione dell'SDK
Usare il comando npm install
per installare SDK comuni e di chiamata di Servizi di comunicazione di Azure per JavaScript:
npm install @azure/communication-common --save
npm install @azure/communication-calling --save
Inizializzare gli oggetti necessari
Per la maggior parte delle operazioni di chiamata è necessaria un'istanza di CallClient
. Quando si crea una nuova istanza di CallClient
, è possibile configurarla con opzioni personalizzate come un'istanza di Logger
.
Con l'istanza di CallClient
è possibile creare un'istanza di CallAgent
chiamando il createCallAgent
. Questo metodo restituisce in modo asincrono un oggetto istanza CallAgent
.
Il metodo createCallAgent
usa CommunicationTokenCredential
come argomento. Accetta un token di accesso utente.
È possibile usare il metodo getDeviceManager
nell'istanza di CallClient
per accedere a 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()
Come gestire al meglio la connettività dell'SDK all'infrastruttura Microsoft
L'istanza Call Agent
consente di gestire le chiamate (per partecipare o avviare le chiamate). Per lavorare con l'SDK per chiamate, è necessario connettersi all'infrastruttura Microsoft per ricevere notifiche delle chiamate in arrivo e coordinare altri dettagli delle chiamate. Call Agent
ha due possibili stati:
Connesso : un valore connectionStatue Call Agent
di Connected
indica che l'SDK client è connesso e in grado di ricevere notifiche dall'infrastruttura Microsoft.
Disconnesso : un valore connectionStatue Call Agent
di Disconnected
indica un problema che impedisce all'SDK di connettersi correttamente. Call Agent
deve essere ricreato.
invalidToken
: se un token è scaduto o non è valido l'istanzaCall Agent
si disconnette con questo errore.connectionIssue
: se si verifica un problema con il client che si connette a Microsoft infrascture, dopo molti tentativiCall Agent
espone l'erroreconnectionIssue
.
È possibile verificare se l'infrastruttura locale Call Agent
è connessa all'infrastruttura Microsoft controllando il valore corrente della proprietà connectionState
. Durante una chiamata attiva è possibile restare in ascolto dell'evento connectionStateChanged
per determinare se Call Agent
cambia dallo stato Connesso a Disconnesso.
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 Audioconferenza è una funzionalità estesa dell'API principaleCall
. È prima necessario importare le funzionalità chiamante da Calling SDK:
import { Features} from "@azure/communication-calling";
È quindi possibile ottenere l'oggetto API della funzionalità dall'istanza di chiamata:
const audioConferencingFeature = call.feature(Features.TeamsMeetingAudioConferencing);
Ottenere i dettagli delle audioconferenze di una riunione
Usare l'API seguente per ottenere i dettagli delle audioconferenze di una riunione
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);
}
Risoluzione dei problemi
Codice | Codice secondario | Categoria dei risultati | Motivo | Risoluzione |
---|---|---|---|---|
400 | 45950 | ExpectedError | La funzionalità di audioconferenza è disponibile solo nelle riunioni di Teams | Partecipare alla riunione di Teams con audioconferenza configurata |
405 | 45951 | ExpectedError | Servizio ACS disabilitato per l'audioconferenza | Creare un ticket di supporto tecnico di Azure per richiedere assistenza |
403 | 45952 | ExpectedError | I dettagli delle audioconferenze non sono disponibili prima di partecipare alla riunione | Assicurarsi che l'oggetto chiamata sia nello connected stato prima di richiamare l'API per recuperare i dettagli delle audioconferenze |
403 | 45953 | ExpectedError | I dettagli delle audioconferenze non sono disponibili nella sala di attesa | Assicurarsi che l'oggetto chiamata sia nello connected stato prima di richiamare l'API per recuperare i dettagli delle audioconferenze |