Condividi tramite


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

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'istanza Call Agent si disconnette con questo errore.
  • connectionIssue: se si verifica un problema con il client che si connette a Microsoft infrascture, dopo molti tentativi Call Agent espone l'errore connectionIssue.

È 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

Passaggi successivi