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 seu aplicativo.
Importante
Os Serviços de Comunicação do Azure suportam chamadas de emergência apenas para números de emergência 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 números de emergência 999 e 112 no Reino Unido. Atualmente, os Serviços de Comunicação do Azure não suportam a discagem desses números de emergência de fora desses países ou regiões, nem a discagem de serviços de emergência em outros países ou regiões.
Código de Exemplo
Encontre o código finalizado para este início rápido no GitHub
Nota
As chamadas de saída para um número de telefone podem ser acessadas usando a Biblioteca de Interface do Usuário dos Serviços de Comunicação do Azure. A Biblioteca da 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 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 número de telefone adquirido em seu recurso de Serviços de Comunicação ou roteamento do Azure Communication Services Direct configurado. Se tiver uma subscrição gratuita, pode obter um número de telefone de avaliação.
- A
User Access Token
para habilitar o cliente de chamada. Para mais informações sobre como obter umUser Access Token
Configuração
Criar uma nova aplicação Node.js
Abra o terminal ou a janela de comando, crie um novo 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 npm install
comando 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 --save
opção lista a biblioteca como uma dependência em seu arquivo package.json .
Configurar a estrutura do aplicativo
Este guia de início rápido usa o parcel 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 seu projeto. Usaremos esse arquivo para configurar um layout básico que permitirá que o usuário faça uma chamada.
Aqui está o código:
<!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 seu projeto chamado app.js para conter a lógica do aplicativo para este início rápido. Adicione o código a seguir para importar o cliente chamador e obter referências aos elementos DOM para que possamos anexar 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 o telefone
Especifique o número de telefone adquirido no recurso Serviços de Comunicação 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 clicou callPhoneButton
:
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;
});
Terminar uma chamada para o 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 forEveryone
propriedade encerra a chamada para todos os participantes da chamada.
Executar o código
Use o comando npx parcel index.html
para criar e executar seu aplicativo.
Abra o navegador e navegue até http://localhost:1234/
. Você deve ver o seguinte aplicativo Web:
Você pode fazer 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 suportam chamadas de emergência apenas para números de emergência 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 números de emergência 999 e 112 no Reino Unido. Atualmente, os Serviços de Comunicação do Azure não suportam a discagem desses números de emergência de fora desses países ou regiões, nem a discagem de serviços de emergência em outros países ou regiões.
Código de Exemplo
Encontre o código finalizado para este início rápido no GitHub
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 número de telefone adquirido em seu recurso de Serviços de Comunicação ou Roteamento Direto dos Serviços de Comunicação do Azure configurado. Se tiver uma subscrição gratuita, pode obter um número de telefone de avaliação.
- A
User Access Token
para habilitar o cliente de chamada. Para 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 recurso Serviços de Comunicação, entre no portal do Azure, localize o recurso Serviços de Comunicação e abra a guia Números de telefone no painel de navegação esquerdo.
Configuração
Adicionar funcionalidade PSTN ao seu aplicativo
Adicione o PhoneNumber
tipo ao seu aplicativo modificando MainActivity.java:
import com.azure.android.communication.common.PhoneNumberIdentifier;
Iniciar uma chamada para o telefone
Especifique o número de telefone adquirido no recurso Serviços de Comunicação. Este número é usado como um identificador de chamada 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 startCall()
o manipulador de eventos no MainActivity.java, para que ele lide com 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);
}
Inicie o aplicativo e chame o bot de eco
O aplicativo agora 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 LIGAR .
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 suportam chamadas de emergência apenas para números de emergência 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 números de emergência 999 e 112 no Reino Unido. Atualmente, os Serviços de Comunicação do Azure não suportam a discagem desses números de emergência de fora desses países ou regiões, nem a discagem de serviços de emergência em outros países ou regiões.
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 número de telefone adquirido em seu recurso de Serviços de Comunicação ou roteamento do Azure Communication Services Direct configurado. Se tiver uma subscrição gratuita, pode obter um número de telefone de avaliação.
- A
User Access Token
para habilitar o cliente de chamada. Para 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 recurso Serviços de Comunicação, entre no portal do Azure, localize o recurso Serviços de Comunicação e abra a guia Números de telefone no painel de navegação esquerdo.
- Você pode criar e executar seu aplicativo com o SDK de Chamada dos Serviços de Comunicação do Azure para iOS:
Configuração
Iniciar uma chamada para o telefone
Especifique o número de telefone adquirido no recurso Serviços de Comunicação 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 startCall
o manipulador de eventos 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 criar e executar seu aplicativo no simulador do iOS selecionando Execução de produto>ou usando o atalho de teclado (⌘-R).
Você pode fazer uma chamada para 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)
Nota
Na primeira vez que fizer uma chamada, o sistema solicitar-lhe-á acesso ao microfone. Em um aplicativo de produção, você deve usar a AVAudioSession
API para verificar o status da permissão e atualizar normalmente o comportamento do aplicativo quando a permissão não for concedida.
Clean up resources (Limpar recursos)
Se quiser limpar e remover uma assinatura dos Serviços de Comunicação, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele. Saiba mais sobre a limpeza de recursos.
Próximos passos
Para obter mais informações, consulte os seguintes artigos:
- Saiba mais sobre os recursos do SDK de chamada
- Saiba mais sobre como as chamadas funcionam
- Saiba mais sobre os recursos de pesquisa de números