Guida introduttiva: Chiamata in uscita a un numero di telefono
Per iniziare a usare Servizi di comunicazione di Azure, usare l'SDK per chiamate di Servizi di comunicazione per aggiungere chiamate PSTN all'app.
Importante
Servizi di comunicazione di Azure supporta solo le chiamate di emergenza ai numeri di emergenza nel Stati Uniti, PortoRico, Canada, Danimarca e Regno Unito.
Servizi di comunicazione di Azure chiamate vocali (PSTN) può essere utilizzato per comporre il numero di emergenza 911 nella Stati Uniti, Porto Rico e Canada, per comporre il numero di emergenza 112 in Danimarca e per comporre numeri di emergenza 999 e 112 nel Regno Unito. Servizi di comunicazione di Azure attualmente non supporta la composizione di tali numeri di emergenza dall'esterno di tali paesi o aree geografiche o la composizione di servizi di emergenza in altri paesi o aree geografiche.
Codice di esempio
Trovare il codice finalizzato per questa guida introduttiva in GitHub
Nota
È possibile accedere alle chiamate in uscita a un numero di telefono tramite la libreria dell'interfaccia utente di Servizi di comunicazione di Azure. La libreria dell'interfaccia utente consente agli sviluppatori di aggiungere un client di chiamata abilitato all'applicazione con solo un paio di righe di codice.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Una risorsa di Servizi di comunicazione distribuita. Creare una risorsa di Servizi di comunicazione.
- Un numero di telefono acquisito nella risorsa di Servizi di comunicazione o Servizi di comunicazione di Azure routing diretto configurato. Se si ha una sottoscrizione gratuita, è possibile ottenere un numero di telefono di valutazione.
- Un
User Access Token
per abilitare il client di chiamata. Per altre informazioni, vedere come ottenere unUser Access Token
Configurazione
Creare una nuova applicazione Node.js
Aprire il terminale o la finestra di comando per creare una nuova directory per l'app e passare a tale directory.
mkdir calling-quickstart
cd calling-quickstart
Eseguire npm init -y
per creare un file package.json con le impostazioni predefinite.
npm init -y
Installare il pacchetto
Usare il npm install
comando per installare Servizi di comunicazione di Azure Calling SDK per JavaScript.
npm install @azure/communication-common --save
npm install @azure/communication-calling --save
L'opzione --save
elenca la libreria come dipendenza nel file package.json.
Configurare il framework dell'app
Questo argomento di avvio rapido usa il pacchetto per aggregare gli asset dell'applicazione. Eseguire il comando seguente per installarlo ed elencarlo come dipendenza di sviluppo nel package.json:
npm install parcel --save-dev
Creare un file index.html nella directory radice del progetto. Questo file verrà usato per configurare un layout di base che consentirà all'utente di effettuare una chiamata.
Ecco il codice:
<!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>
Creare un file nella directory radice del progetto denominato app.js per contenere la logica dell'applicazione per questa guida introduttiva. Aggiungere il codice seguente per importare il client delle chiamate e ottenere riferimenti agli elementi DOM in modo da collegare la logica di business.
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();
Avviare una chiamata al telefono
Specificare il numero di telefono acquisito nella risorsa servizi di comunicazione usata per avviare la chiamata:
Avviso
Telefono numeri devono essere forniti in formato standard internazionale E.164. ad esempio +12223334444.
Aggiungere un gestore dell'evento per avviare una chiamata al numero di telefono specificato facendo clic su 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;
});
Terminare una chiamata al telefono
Aggiungere un listener di eventi per terminare la chiamata corrente quando si fa clic su hangUpPhoneButton
:
hangUpPhoneButton.addEventListener("click", () => {
// end the current call
call.hangUp({
forEveryone: true
});
// toggle button states
hangUpPhoneButton.disabled = true;
callPhoneButton.disabled = false;
});
La proprietà forEveryone
termina la chiamata per tutti i partecipanti.
Eseguire il codice
Usare il comando npx parcel index.html
per compilare ed eseguire l'app.
Aprire il browser e passare a http://localhost:1234/
. Verrà visualizzata l'applicazione Web seguente:
È possibile effettuare una chiamata a un numero di telefono reale specificandolo nel campo di testo aggiunto e facendo clic sul pulsante Start Phone Call (Avvia chiamata telefonica).
Importante
Servizi di comunicazione di Azure supporta solo le chiamate di emergenza ai numeri di emergenza nel Stati Uniti, PortoRico, Canada, Danimarca e Regno Unito.
Servizi di comunicazione di Azure chiamate vocali (PSTN) può essere utilizzato per comporre il numero di emergenza 911 nella Stati Uniti, Porto Rico e Canada, per comporre il numero di emergenza 112 in Danimarca e per comporre numeri di emergenza 999 e 112 nel Regno Unito. Servizi di comunicazione di Azure attualmente non supporta la composizione di tali numeri di emergenza dall'esterno di tali paesi o aree geografiche o la composizione di servizi di emergenza in altri paesi o aree geografiche.
Codice di esempio
Trovare il codice finalizzato per questa guida introduttiva in GitHub
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Una risorsa di Servizi di comunicazione distribuita. Creare una risorsa di Servizi di comunicazione.
- Un numero di telefono acquisito nella risorsa di Servizi di comunicazione o Servizi di comunicazione di Azure l'instradamento diretto configurato. Se si ha una sottoscrizione gratuita, è possibile ottenere un numero di telefono di valutazione.
- Un
User Access Token
per abilitare il client di chiamata. Per altre informazioni, vedere come ottenere unUser Access Token
- Completare la guida di avvio rapido per aggiungere funzionalità per chiamate all'applicazione
Controllo dei prerequisiti
- Per visualizzare i numeri di telefono associati alla risorsa di Servizi di comunicazione, accedere al portale di Azure, individuare la risorsa di Servizi di comunicazione e aprire la scheda dei numeri di telefono dal riquadro di spostamento a sinistra.
Configurazione
Aggiungere funzionalità PSTN all'app
Aggiungere il tipo PhoneNumber
all'app modificando MainActivity.java:
import com.azure.android.communication.common.PhoneNumberIdentifier;
Avviare una chiamata al telefono
Specificare il numero di telefono acquisito nella risorsa di Servizi di comunicazione. Questo numero viene usato come ID chiamante per avviare la chiamata:
Avviso
Si noti che i numeri di telefono devono essere specificati nel formato standard internazionale E.164, ad esempio +12223334444.
Modificare il gestore dell'evento startCall()
in MainActivity.java in modo che gestisca le chiamate telefoniche:
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);
}
Avviare l'app e chiamare l'Echo Bot
È ora possibile avviare l'app usando il pulsante "Run App" (Esegui app) sulla barra degli strumenti (MAIUSC+F10). Per effettuare una chiamata, specificare un numero di telefono nel campo di testo aggiunto e selezionare il pulsante CHIAMA .
Avviso
Si noti che i numeri di telefono devono essere specificati nel formato standard internazionale E.164, ad esempio +12223334444.
Importante
Servizi di comunicazione di Azure supporta solo le chiamate di emergenza ai numeri di emergenza nel Stati Uniti, PortoRico, Canada, Danimarca e Regno Unito.
Servizi di comunicazione di Azure chiamate vocali (PSTN) può essere utilizzato per comporre il numero di emergenza 911 nella Stati Uniti, Porto Rico e Canada, per comporre il numero di emergenza 112 in Danimarca e per comporre numeri di emergenza 999 e 112 nel Regno Unito. Servizi di comunicazione di Azure attualmente non supporta la composizione di tali numeri di emergenza dall'esterno di tali paesi o aree geografiche o la composizione di servizi di emergenza in altri paesi o aree geografiche.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Una risorsa di Servizi di comunicazione distribuita. Creare una risorsa di Servizi di comunicazione.
- Un numero di telefono acquisito nella risorsa di Servizi di comunicazione o Servizi di comunicazione di Azure routing diretto configurato. Se si ha una sottoscrizione gratuita, è possibile ottenere un numero di telefono di valutazione.
- Un
User Access Token
per abilitare il client di chiamata. Per altre informazioni, vedere come ottenere unUser Access Token
- Completare la guida di avvio rapido per aggiungere funzionalità per chiamate all'applicazione
Controllo dei prerequisiti
- Per visualizzare i numeri di telefono associati alla risorsa di Servizi di comunicazione, accedere al portale di Azure, individuare la risorsa di Servizi di comunicazione e aprire la scheda dei numeri di telefono dal riquadro di spostamento a sinistra.
- È possibile compilare ed eseguire l'app con Servizi di comunicazione di Azure Calling SDK per iOS:
Configurazione
Avviare una chiamata al telefono
Specificare il numero di telefono acquisito nella risorsa servizi di comunicazione usata per avviare la chiamata:
Avviso
Si noti che i numeri di telefono devono essere specificati nel formato standard internazionale E.164, ad esempio +12223334444.
Modificare startCall
il gestore eventi eseguito quando viene toccato il pulsante Avvia chiamata :
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")
}
}
}
}
}
Eseguire il codice
È possibile compilare ed eseguire l'app nel simulatore iOS selezionando Product Run (Esegui prodotto>) o usando il tasto di scelta rapida (⌘-R).
È possibile effettuare una chiamata al telefono specificando un numero di telefono nel campo di testo aggiunto e facendo clic sul pulsante Avvia chiamata .
Avviso
Si noti che i numeri di telefono devono essere specificati nel formato standard internazionale E.164, ad esempio +12223334444.
Nota
La prima volta che si effettua una chiamata, il sistema chiederà l'accesso al microfono. In un'applicazione di produzione è consigliabile usare l'API AVAudioSession
per controllare lo stato delle autorizzazioni e aggiornare normalmente il comportamento dell'applicazione quando l'autorizzazione non viene concessa.
Pulire le risorse
Se si vuole pulire e rimuovere una sottoscrizione a Servizi di comunicazione, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse comporta anche l'eliminazione di tutte le altre risorse associate. Altre informazioni sulla pulizia delle risorse.
Passaggi successivi
Per altre informazioni, vedere gli articoli seguenti:
- Informazioni sulle funzionalità di Calling SDK
- Leggere altre informazioni sul funzionamento delle chiamate
- Informazioni sulle funzionalità di ricerca dei numeri