Guia de Início Rápido: Chamada de saída para um número de telefone
Comece a usar os Serviços de Comunicação do Azure usando o SDK de Chamada dos Serviços de Comunicação para adicionar chamadas PSTN ao aplicativo.
Importante
Os Serviços de Comunicação do Azure oferecem suporte a chamadas de emergência para números de emergência apenas nos Estados Unidos, Porto Rico, Canadá, Dinamarca, Reino Unido e Austrália.
As chamadas de voz (PSTN) dos Serviços de Comunicação do Azure podem ser usadas para discar o número de emergência 911 nos Estados Unidos, Porto Rico e Canadá, para discar o número de emergência 112 na Dinamarca, para discar 000 na Austrália e para discar os números de emergência 999 e 112 no Reino Unido. Os Serviços de Comunicação do Azure atualmente não dão suporte a discar esses números de emergência de fora desses países ou regiões, nem a discar serviços de emergência em outros países ou regiões.
Exemplo de código
Encontre o código finalizado para este guia de início rápido no GitHub
Observação
A chamada de saída para um número de telefone pode ser acessada usando a Biblioteca de Interface do Usuário do Serviços de Comunicação do Azure. A Biblioteca de Interface do Usuário permite que os desenvolvedores adicionem um cliente de chamada habilitado para PSTN em seu aplicativo com apenas algumas linhas de código.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Um recurso dos Serviços de Comunicação implantado. Crie um recurso dos Serviços de Comunicação.
- Um número de telefone adquirido no recurso dos Serviços de Comunicação ou Serviços de Comunicação do Azure com Roteamento direto configurado. Caso você não tenha uma assinatura, você pode obter um número de telefone de avaliação gratuita.
- Um
User Access Token
para habilitar o cliente de chamada. Para obter mais informações sobre como obter umUser Access Token
Configurando
Criar um novo aplicativo do Node.js
Abra o terminal ou a janela de comando para criar um diretório para seu aplicativo e navegue até ele.
mkdir calling-quickstart
cd calling-quickstart
Execute npm init -y
para criar um arquivo package.json com as configurações padrão.
npm init -y
Instalar o pacote
Use o comando npm install
para instalar o SDK de Chamada dos Serviços de Comunicação do Azure para JavaScript.
npm install @azure/communication-common --save
npm install @azure/communication-calling --save
A opção --save
lista a biblioteca como uma dependência no arquivo package.json.
Configurar o framework de aplicativos
Este guia de início rápido usa o pacote para agrupar os ativos do aplicativo. Execute o seguinte comando para instalá-lo e listá-lo como uma dependência de desenvolvimento em seu package.json:
npm install parcel --save-dev
Crie um arquivo index.html no diretório raiz do projeto. Usaremos esse arquivo para configurar um layout básico que permitirá que o usuário faça uma chamada.
O código é o seguinte:
<!DOCTYPE html>
<html>
<head>
<title>Communication Client - Calling Sample</title>
</head>
<body>
<h4>Azure Communication Services</h4>
<h1>Calling Quickstart</h1>
<input
id="callee-phone-input"
type="text"
placeholder="Who would you like to call?"
style="margin-bottom:1em; width: 230px;"
/>
<div>
<button id="call-phone-button" type="button">
Start Call
</button>
<button id="hang-up-phone-button" type="button" disabled="true">
Hang Up
</button>
</div>
<script src="./app.js" type="module"></script>
</body>
</html>
Crie um arquivo no diretório raiz do projeto chamado app.js para conter a lógica do aplicativo deste guia de início rápido. Adicione o código a seguir para importar o cliente de chamada e obter referências aos elementos DOM para que possamos anexar a nossa lógica de negócios.
import { CallClient, CallAgent } from "@azure/communication-calling";
import { AzureCommunicationTokenCredential } from '@azure/communication-common';
let call;
let callAgent;
const calleePhoneInput = document.getElementById("callee-phone-input");
const callPhoneButton = document.getElementById("call-phone-button");
const hangUpPhoneButton = document.getElementById("hang-up-phone-button");
async function init() {
const callClient = new CallClient();
const tokenCredential = new AzureCommunicationTokenCredential('<USER ACCESS TOKEN with VoIP scope>');
callAgent = await callClient.createCallAgent(tokenCredential);
//callPhoneButton.disabled = false;
}
init();
Iniciar uma chamada para um telefone
Especifique o número de telefone que você adquiriu no recurso dos Serviços de Comunicação, que é usado para iniciar a chamada:
Aviso
Os números de telefone devem ser fornecidos no formato padrão internacional E.164. (por exemplo: +12223334444)
Adicione um manipulador de eventos para iniciar uma chamada para o número de telefone que você forneceu quando o callPhoneButton
receber um clique:
callPhoneButton.addEventListener("click", () => {
// start a call to phone
const phoneToCall = calleePhoneInput.value;
call = callAgent.startCall(
[{phoneNumber: phoneToCall}], { alternateCallerId: {phoneNumber: 'YOUR AZURE REGISTERED PHONE NUMBER HERE: +12223334444'}
});
// toggle button states
hangUpPhoneButton.disabled = false;
callPhoneButton.disabled = true;
});
Encerrar uma chamada para um telefone
Adicione um ouvinte de eventos para encerrar a chamada atual quando o hangUpPhoneButton
for clicado:
hangUpPhoneButton.addEventListener("click", () => {
// end the current call
call.hangUp({
forEveryone: true
});
// toggle button states
hangUpPhoneButton.disabled = true;
callPhoneButton.disabled = false;
});
A propriedade forEveryone
encerra a chamada para todos os participantes da chamada.
Executar o código
Use o comando npx parcel index.html
para criar e executar o seu aplicativo.
Abra o navegador e navegue até http://localhost:1234/
. Você deverá ver o seguinte aplicativo Web:
Faça uma chamada para um número de telefone real fornecendo um número de telefone no campo de texto adicionado e clicando no botão Iniciar Chamada Telefônica.
Importante
Os Serviços de Comunicação do Azure oferecem suporte a chamadas de emergência para números de emergência apenas nos Estados Unidos, Porto Rico, Canadá, Dinamarca, Reino Unido e Austrália.
As chamadas de voz (PSTN) dos Serviços de Comunicação do Azure podem ser usadas para discar o número de emergência 911 nos Estados Unidos, Porto Rico e Canadá, para discar o número de emergência 112 na Dinamarca, para discar 000 na Austrália e para discar os números de emergência 999 e 112 no Reino Unido. Os Serviços de Comunicação do Azure atualmente não dão suporte a discar esses números de emergência de fora desses países ou regiões, nem a discar serviços de emergência em outros países ou regiões.
Exemplo de código
Encontre o código finalizado para este guia de início rápido no GitHub
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Um recurso dos Serviços de Comunicação implantado. Crie um recurso dos Serviços de Comunicação.
- Um número de telefone adquirido no recurso dos Serviços de Comunicação ou Serviços de Comunicação do Azure com Roteamento Direto configurado. Caso você não tenha uma assinatura, você pode obter um número de telefone de avaliação gratuita.
- Um
User Access Token
para habilitar o cliente de chamada. Para obter mais informações sobre como obter umUser Access Token
- Conclua o guia de início rápido para começar a adicionar chamadas ao seu aplicativo
Verificação de pré-requisitos
- Para exibir os números de telefone associados ao seu recurso dos Serviços de Comunicação, entre no portal do Azure, localize o recurso em questão e abra a guia números de telefone no painel de navegação esquerdo.
Configurando
Adicionar a funcionalidade de PSTN ao seu aplicativo
Adicione o tipo PhoneNumber
ao seu aplicativo modificando MainActivity.java:
import com.azure.android.communication.common.PhoneNumberIdentifier;
Iniciar uma chamada para um telefone
Especifique o número de telefone que você adquiriu de dentro do recurso dos Serviços de Comunicação. Esse número é usado como uma ID de chamador para iniciar a chamada:
Aviso
Observe que os números de telefone devem ser fornecidos no formato padrão internacional E.164. (por exemplo: +12223334444)
Modifique o manipulador de eventos startCall()
em MainActivity.java para que ele possa manipular chamadas telefônicas:
private void startCall() {
EditText calleePhoneView = findViewById(R.id.callee_id);
String calleePhone = calleePhoneView.getText().toString();
PhoneNumberIdentifier callerPhone = new PhoneNumberIdentifier("+12223334444");
StartCallOptions options = new StartCallOptions();
options.setAlternateCallerId(callerPhone);
options.setVideoOptions(new VideoOptions(null));
call = agent.startCall(
getApplicationContext(),
new PhoneNumberIdentifier[] {new PhoneNumberIdentifier(calleePhone)},
options);
}
Iniciar o aplicativo e chamar o bot de eco
Agora, o aplicativo pode ser iniciado usando o botão "Executar Aplicativo" na barra de ferramentas (Shift+F10). Para fazer uma chamada, forneça um número de telefone no campo de texto adicionado e selecione o botão CHAMAR.
Aviso
Observe que os números de telefone devem ser fornecidos no formato padrão internacional E.164. (por exemplo: +12223334444)
Importante
Os Serviços de Comunicação do Azure oferecem suporte a chamadas de emergência para números de emergência apenas nos Estados Unidos, Porto Rico, Canadá, Dinamarca, Reino Unido e Austrália.
As chamadas de voz (PSTN) dos Serviços de Comunicação do Azure podem ser usadas para discar o número de emergência 911 nos Estados Unidos, Porto Rico e Canadá, para discar o número de emergência 112 na Dinamarca, para discar 000 na Austrália e para discar os números de emergência 999 e 112 no Reino Unido. Os Serviços de Comunicação do Azure atualmente não dão suporte a discar esses números de emergência de fora desses países ou regiões, nem a discar serviços de emergência em outros países ou regiões.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Um recurso dos Serviços de Comunicação implantado. Crie um recurso dos Serviços de Comunicação.
- Um número de telefone adquirido no recurso dos Serviços de Comunicação ou Serviços de Comunicação do Azure com Roteamento direto configurado. Caso você não tenha uma assinatura, você pode obter um número de telefone de avaliação gratuita.
- Um
User Access Token
para habilitar o cliente de chamada. Para obter mais informações sobre como obter umUser Access Token
- Conclua o guia de início rápido para começar a adicionar chamadas ao seu aplicativo
Verificação de pré-requisitos
- Para exibir os números de telefone associados ao seu recurso dos Serviços de Comunicação, entre no portal do Azure, localize o recurso em questão e abra a guia números de telefone no painel de navegação esquerdo.
- Você pode compilar e executar o aplicativo usando o SDK de Chamada dos Serviços de Comunicação do Azure para iOS:
Configurando
Iniciar uma chamada para um telefone
Especifique o número de telefone que você adquiriu no recurso dos Serviços de Comunicação, que é usado para iniciar a chamada:
Aviso
Observe que os números de telefone devem ser fornecidos no formato padrão internacional E.164. (por exemplo: +12223334444)
Modifique o manipulador de eventos startCall
que é executado quando o botão Iniciar Chamada é tocado:
func startCall() {
// Ask permissions
AVAudioSession.sharedInstance().requestRecordPermission { (granted) in
if granted {
let startCallOptions = StartCallOptions()
startCallOptions.alternateCallerId = PhoneNumberIdentifier(phoneNumber: "<YOUR AZURE REGISTERED PHONE NUMBER>")
self.callAgent!.startCall(participants: [PhoneNumberIdentifier(phoneNumber: self.callee)], options: startCallOptions) { (call, error) in
if (error == nil) {
self.call = call
} else {
print("Failed to get call object")
}
}
}
}
}
Executar o código
Você pode compilar e executar o aplicativo no simulador de iOS selecionando Produto>Executar ou usando o atalho de teclado (⌘-R).
Você pode fazer uma chamada para o telefone fornecendo um número de telefone no campo de texto adicionado e clicando no botão Iniciar Chamada.
Aviso
Observe que os números de telefone devem ser fornecidos no formato padrão internacional E.164. (por exemplo: +12223334444)
Observação
Na primeira vez que você fizer uma chamada, o sistema solicitará o acesso ao microfone. Em um aplicativo de produção, você deve usar verificar o status de permissão da API AVAudioSession
e atualizar normalmente o comportamento do aplicativo quando a permissão não for concedida.
Limpar os recursos
Se quiser limpar e remover uma assinatura dos Serviços de Comunicação, exclua o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele. Saiba mais sobre como limpar recursos.
Próximas etapas
Para obter mais informações, consulte os seguintes artigos:
- Conheça os recursos do SDK de Chamada
- Saiba mais sobre como a chamada funciona
- Saiba mais sobre os Recursos de pesquisa de número