Aparência da linha compartilhada do Teams

Este artigo descreve como implementar a Aparência de Linha Compartilhada do Microsoft Teams com os Serviços de Comunicação do Azure. A aparência de linha compartilhada permite que um usuário escolha um representante para fazer ou lidar com chamadas em seu nome. Esse recurso é útil se um usuário tiver um assistente administrativo que lida regularmente com as chamadas do usuário.

No contexto da aparência de linha compartilhada, um gerente é um usuário do Teams que autoriza um delegado a fazer ou receber chamadas em seu nome. Um delegado é um usuário do Microsoft 365 que pode fazer ou receber chamadas em nome do delegador. Para obter mais informações, consulte Compartilhar aparência da linha.

Pré-requisitos

Suporte

SDKs

A tabela a seguir mostra o suporte para o recurso de aparência de linha compartilhada em SDKs individuais dos Serviços de Comunicação do Azure.

Estado do suporte Web IU da Web iOS Interface do usuário do iOS Android Interface do usuário do Android Mac OS
É suportado ✔️

Nota

Este recurso de API está disponível com o SDK de Chamadas Web dos Serviços de Comunicação do Azure (1.35.1 ou superior).

Instale o SDK

Use o npm install comando para instalar a chamada dos Serviços de Comunicação do Azure e SDKs comuns para JavaScript.

npm install @azure/communication-common --save
npm install @azure/communication-calling --save

Inicializar objetos necessários

Crie uma CallClient instância para iniciar a pilha de chamadas. Você pode configurar o registro em log do SDK de chamada com a instância e AzureLogger o setLogLevel método. Você pode obter acesso ao deviceManager sistema operacional com o método getDeviceManager.

Em seguida, use o método createTeamsCallAgent para criar de forma assíncrona uma TeamsCallAgent instância que gerenciará chamadas de entrada e saída para um usuário do Teams. O método usa CommunicationTokenCredential como um argumento que representa o token de acesso para o usuário do Teams.

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 wherever desired. To console, file, buffer, REST API, etc...
AzureLogger.log = (...args) => {
    console.log(...args); // Redirect log output to console
};

const userToken = '<USER_TOKEN>';
callClient = new CallClient();
const tokenCredential = new AzureCommunicationTokenCredential(userToken);
const teamsCallAgent = await callClient.createTeamsCallAgent(tokenCredential);
const deviceManager = await callClient.getDeviceManager();

Fazer uma chamada em nome de um usuário do Microsoft Teams

Antes de fazer uma chamada em nome de um delegante, certifique-se de que o delegado que faz a chamada tem permissão por meio das make calls.

Para fazer uma chamada em nome de um usuário do Microsoft Teams, especifique OnBehalfOfOptions durante a chamada inicial. Substitua xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx pelo userId do delegante e yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy pelo userId do destinatário.

const onBehalfOfOptions = { userId: { microsoftTeamsUserId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } }
const teamsCallOptions = { onBehalfOfOptions: onBehalfOfOptions };
const call = teamsCallAgent.startCall([{ microsoftTeamsUserId: "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy" }], teamsCallOptions);

Para fazer uma chamada para um usuário de rede telefônica pública comutada (PSTN) em nome de um participante do Microsoft Teams, use PhoneNumberIdentifier para o participante da chamada.

const call = teamsCallAgent.startCall([{ phoneNumber: "+1xxxxxxxxxx" }], teamsCallOptions);

Receber uma chamada em nome de um utilizador do Microsoft Teams

Para receber chamadas em nome de um delegante:

Próximos passos