Conferência de áudio da reunião do Microsoft Teams
Este artigo descreve como usar o SDK de Chamada dos Serviços de Comunicação do Azure para recuperar detalhes da Conferência de Áudio da Reunião do Microsoft Teams. Essa função permite que os usuários que já estão conectados a uma reunião do Microsoft Teams possam obter a ID da conferência e o número de telefone de discagem associados à reunião. O recurso Reunião de Áudio Conferência do Teams retorna uma coleção de todos os números de chamada e gratuitos. A coleção inclui nomes de países/regiões e nomes de cidades concomitantes, dando aos usuários o controle de quais detalhes de discagem da reunião do Teams usar.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Um recurso de Serviços de Comunicação implantado. Crie um recurso de Serviços de Comunicação.
- Um token de acesso de usuário para habilitar o cliente chamador. Para obter mais informações. Crie e gerencie tokens de acesso.
- Opcional: conclua o início rápido para adicionar chamadas de voz ao seu aplicativo.
Suporte
Esta seção descreve o suporte para Conferência de Áudio nos Serviços de Comunicação do Azure.
Identidades e tipos de chamada
A tabela a seguir mostra o suporte para tipos de chamada e identidade.
Identidades | Reunião de equipas | Sala | Chamada 1:1 | Chamada em grupo | Chamada de interoperabilidade 1:1 das equipes | Chamada de interoperabilidade de equipes de grupo |
---|---|---|---|---|---|---|
Utilizador dos Serviços de Comunicação | ✔️ | |||||
Utilizador do Microsoft 365 | ✔️ |
Operações
A tabela a seguir mostra o suporte para APIs individuais na chamada do SDK para tipos de identidade individuais.
Operações | Utilizador dos Serviços de Comunicação | Utilizador do Microsoft 365 |
---|---|---|
Obter detalhes da audioconferência | ✔️ | ✔️ |
SDKs
A tabela a seguir mostra o suporte para o recurso de Conferência de Áudio em SDKs individuais dos Serviços de Comunicação do Azure.
Plataformas | Web | IU da Web | iOS | Interface do usuário do iOS | Android | Interface do usuário do Android | Windows |
---|---|---|---|---|---|---|---|
É suportado | ✔️ |
Instale o SDK
Use o npm install
comando para instalar o SDK de Chamada e Comum dos Serviços de Comunicação do Azure para JavaScript:
npm install @azure/communication-common --save
npm install @azure/communication-calling --save
Inicializar objetos necessários
Uma CallClient
instância é necessária para a maioria das operações de chamada. Ao criar uma nova CallClient
instância, você pode configurá-la com opções personalizadas, como uma Logger
instância.
Com a CallClient
instância, você pode criar uma CallAgent
instância chamando o createCallAgent
arquivo . Esse método retorna de forma assíncrona um objeto de CallAgent
instância.
O createCallAgent
método usa CommunicationTokenCredential
como argumento. Ele aceita um token de acesso de usuário.
Você pode usar o getDeviceManager
método na CallClient
instância para acessar deviceManager
o .
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()
Como gerenciar melhor a conectividade do SDK com a infraestrutura da Microsoft
A Call Agent
instância ajuda você a gerenciar chamadas (para ingressar ou iniciar chamadas). Para funcionar, seu SDK de chamada precisa se conectar à infraestrutura da Microsoft para receber notificações de chamadas recebidas e coordenar outros detalhes da chamada. O seu Call Agent
tem dois estados possíveis:
Conectado - Um Call Agent
valor connectionStatue significa que o SDK do Connected
cliente está conectado e é capaz de receber notificações da infraestrutura da Microsoft.
Desconectado - Um Call Agent
valor connectionStatue de Disconnected
estados há um problema que está impedindo o SDK de se conectar corretamente. Call Agent
devem ser recriados.
invalidToken
: Se um token expirou ou é inválidoCall Agent
, a instância se desconecta com esse erro.connectionIssue
: Se houver um problema com o cliente se conectando à infrascture da Microsoft, depois de muitas tentativasCall Agent
expõe oconnectionIssue
erro.
Você pode verificar se seu local Call Agent
está conectado à infraestrutura da Microsoft inspecionando o valor atual da connectionState
propriedade. Durante uma chamada ativa, você pode ouvir o connectionStateChanged
evento para determinar se Call Agent
muda do estado Conectado para Desconectado.
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);
A Conferência de Áudio de Reunião do Microsoft Teams é um recurso estendido da API principal Call
. Primeiro, você precisa importar recursos de chamada do SDK de chamada:
import { Features} from "@azure/communication-calling";
Em seguida, você pode obter o objeto de API de recurso da instância de chamada:
const audioConferencingFeature = call.feature(Features.TeamsMeetingAudioConferencing);
Obter os detalhes da audioconferência de uma reunião
Use a API a seguir para obter os detalhes da audioconferência de uma reunião
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);
}
Resolução de Problemas
Código | Subcódigo | Categoria de Resultado | Razão | Resolução |
---|---|---|---|---|
400 | 45950 | ExpectedError | O recurso de audioconferência está disponível apenas em reuniões do Teams | Participar na reunião do Teams com audioconferência configurada |
405 | 45951 | ExpectedError | Conferência de áudio desativada pelo serviço ACS | Criar tíquete de Suporte do Azure para solicitar assistência |
403 | 45952 | ExpectedError | Os detalhes da audioconferência não estão disponíveis antes de entrar na reunião | Verifique se o objeto de chamada está no connected estado antes de invocar a API para recuperar os detalhes da audioconferência |
403 | 45953 | ExpectedError | Os detalhes da audioconferência não estão disponíveis no lobby | Verifique se o objeto de chamada está no connected estado antes de invocar a API para recuperar os detalhes da audioconferência |