Schnellstart: Ausgehender Anruf an eine Telefonnummer
Steigen Sie in Azure Communication Services ein, indem Sie das Communication Services Calling SDK nutzen, um Ihrer App PSTN-Anruffunktionen hinzuzufügen.
Wichtig
Azure Communication Services unterstützt Notrufe an Notrufnummern nur in den USA, Puerto Rico, Kanada, Dänemark, im Vereinigten Königreich und Australien.
Azure Communication Services-Sprachanruf (PSTN) kann in den USA, Puerto Rico und Kanada zum Wählen der Notrufnummer 911, in Dänemark zum Wählen der Notrufnummer 112, in Australien zum Wählen der Notrufnummer 000 und im Vereinigten Königreich zum Wählen der Notrufnummern 999 und 112 verwendet werden. Azure Communication Services unterstützt derzeit nicht das Wählen dieser Notrufnummern von außerhalb dieser Länder oder Regionen oder das Wählen von Notrufdiensten in anderen Ländern oder Regionen.
Beispielcode
Den fertigen Code für diesen Schnellstart finden Sie auf GitHub.
Hinweis
Ausgehende Anrufe an eine Telefonnummer können über die Azure Communication Services UI Library abgerufen werden. Mit der UI-Bibliothek können Entwickler einen PSTN-fähigen Anrufclient mit nur wenigen Codezeilen ihrer Anwendung hinzufügen.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Eine bereitgestellte Communication Services-Ressource. Erstellen Sie eine Communication Services-Ressource.
- Eine Telefonnummer, die Sie in Ihrer Communication Services-Ressource erfasst haben, oder ein konfiguriertes Azure Communication Services Direct Routing. Bei einem kostenlosen Abonnement können Sie eine Test-Telefonnummer beziehen.
- Ein
User Access Token
, um den Anrufclient zu aktivieren. Weitere Informationen zum Abrufen einesUser Access Token
Einrichten
Erstellen einer neuen Node.js-Anwendung
Öffnen Sie Ihr Terminal- oder Befehlsfenster, erstellen Sie ein neues Verzeichnis für Ihre App, und navigieren Sie zu diesem Verzeichnis.
mkdir calling-quickstart
cd calling-quickstart
Führen Sie npm init -y
aus, um die Datei package.json mit den Standardeinstellungen zu erstellen.
npm init -y
Installieren des Pakets
Verwenden Sie den Befehl npm install
, um das Azure Communication Services Calling SDK für JavaScript zu installieren.
npm install @azure/communication-common --save
npm install @azure/communication-calling --save
Durch die Option --save
wird die Bibliothek als Abhängigkeit in der Datei package.json aufgeführt.
Einrichten des App-Frameworks
In diesem Schnellstart wird parcel verwendet, um die Anwendungsressourcen zu bündeln. Führen Sie den folgenden Befehl aus, um das Tool zu installieren und als Entwicklungsabhängigkeit in Ihre Datei package.json aufzunehmen:
npm install parcel --save-dev
Erstellen Sie im Stammverzeichnis Ihres Projekts die Datei index.html. Diese Datei wird zum Konfigurieren eines grundlegenden Layouts verwendet, das es dem Benutzer ermöglicht, einen Anruf zu tätigen.
Der Code lautet wie folgt:
<!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>
Erstellen Sie im Stammverzeichnis Ihres Projekts eine Datei mit dem Namen app.js, die die Anwendungslogik für diesen Schnellstart enthalten soll. Fügen Sie den folgenden Code hinzu, um den Client für Telefonie zu importieren und Verweise auf die DOM-Elemente abzurufen, damit wir unsere Geschäftslogik anfügen können.
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();
Starten eines Anrufs auf dem Telefon
Geben Sie die Telefonnummer an, die Sie in der Communication Services-Ressource abgerufen haben und mit der der Anruf gestartet wird:
Warnung
Telefonnummern sollten im internationalen Standardformat E.164 angegeben werden. (Beispiel: +12223334444)
Fügen Sie einen Ereignishandler hinzu, um einen Anruf an die von Ihnen angegebene Telefonnummer zu tätigen, wenn Sie auf callPhoneButton
klicken:
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;
});
Beenden eines Anrufs auf dem Telefon
Fügen Sie einen Ereignislistener hinzu, um den aktuellen Anruf zu beenden, wenn auf hangUpPhoneButton
geklickt wird:
hangUpPhoneButton.addEventListener("click", () => {
// end the current call
call.hangUp({
forEveryone: true
});
// toggle button states
hangUpPhoneButton.disabled = true;
callPhoneButton.disabled = false;
});
Die Eigenschaft forEveryone
beendet den Anruf für alle Anrufteilnehmer.
Ausführen des Codes
Verwenden Sie den Befehl npx parcel index.html
, um Ihre App zu erstellen und auszuführen.
Navigieren Sie in Ihrem Browser zu http://localhost:1234/
. Die folgende Anwendung sollte angezeigt werden:
Sie können einen Anruf an eine echte Telefonnummer tätigen, indem Sie eine Telefonnummer in das hinzugefügte Textfeld eingeben und auf die Schaltfläche Start Phone Call (Telefonanruf starten) klicken.
Wichtig
Azure Communication Services unterstützt Notrufe an Notrufnummern nur in den USA, Puerto Rico, Kanada, Dänemark, im Vereinigten Königreich und Australien.
Azure Communication Services-Sprachanruf (PSTN) kann in den USA, Puerto Rico und Kanada zum Wählen der Notrufnummer 911, in Dänemark zum Wählen der Notrufnummer 112, in Australien zum Wählen der Notrufnummer 000 und im Vereinigten Königreich zum Wählen der Notrufnummern 999 und 112 verwendet werden. Azure Communication Services unterstützt derzeit nicht das Wählen dieser Notrufnummern von außerhalb dieser Länder oder Regionen oder das Wählen von Notrufdiensten in anderen Ländern oder Regionen.
Beispielcode
Den fertigen Code für diesen Schnellstart finden Sie auf GitHub.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Eine bereitgestellte Communication Services-Ressource. Erstellen Sie eine Communication Services-Ressource.
- Eine Telefonnummer, die Sie in Ihrer Communication Services-Ressource erfasst haben, oder ein konfiguriertes Azure Communication Services Direct Routing. Bei einem kostenlosen Abonnement können Sie eine Test-Telefonnummer beziehen.
- Ein
User Access Token
, um den Anrufclient zu aktivieren. Weitere Informationen zum Abrufen einesUser Access Token
- Gehen Sie den Schnellstart Erste Schritte beim Hinzufügen von Anruffunktionen zu einer Anwendung durch.
Prüfen der Voraussetzungen
- Melden Sie sich zum Anzeigen der Telefonnummern für Ihre Communication Services-Ressource beim Azure-Portal an, suchen Sie nach Ihrer Communication Services-Ressource, und öffnen Sie im linken Navigationsbereich die Registerkarte Telefonnummern.
Einrichten
Hinzufügen von PSTN-Funktionen zu Ihrer App
Fügen Sie den Typ PhoneNumber
zu Ihrer App hinzu, indem Sie MainActivity.java ändern:
import com.azure.android.communication.common.PhoneNumberIdentifier;
Starten eines Anrufs auf dem Telefon
Geben Sie die Telefonnummer an, die Sie in Ihrer Communication Services-Ressource abgerufen haben. Diese Nummer wird als Anrufer-ID verwendet, um den Anruf zu starten:
Warnung
Beachten Sie, dass Telefonnummern im internationalen Standardformat E.164 angegeben werden sollten. (Beispiel: +12223334444)
Ändern Sie den Ereignishandler startCall()
in MainActivity.java, sodass er Telefonanrufe bearbeitet:
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);
}
Starten der App und Anrufen des Echobots
Die App kann jetzt mithilfe der Schaltfläche „Run app“ (App ausführen) auf der Symbolleiste gestartet werden (UMSCHALT + F10). Um einen Anruf zu tätigen, geben Sie eine Telefonnummer im hinzugefügten Textfeld an und klicken Sie auf die Schaltfläche CALL.
Warnung
Beachten Sie, dass Telefonnummern im internationalen Standardformat E.164 angegeben werden sollten. (Beispiel: +12223334444)
Wichtig
Azure Communication Services unterstützt Notrufe an Notrufnummern nur in den USA, Puerto Rico, Kanada, Dänemark, im Vereinigten Königreich und Australien.
Azure Communication Services-Sprachanruf (PSTN) kann in den USA, Puerto Rico und Kanada zum Wählen der Notrufnummer 911, in Dänemark zum Wählen der Notrufnummer 112, in Australien zum Wählen der Notrufnummer 000 und im Vereinigten Königreich zum Wählen der Notrufnummern 999 und 112 verwendet werden. Azure Communication Services unterstützt derzeit nicht die Anwahl dieser Notrufnummern von außerhalb dieser Länder oder Regionen oder die Anwahl von Notrufdiensten in anderen Ländern oder Regionen.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Eine bereitgestellte Communication Services-Ressource. Erstellen Sie eine Communication Services-Ressource.
- Eine Telefonnummer, die Sie in Ihrer Communication Services-Ressource erfasst haben, oder ein konfiguriertes Azure Communication Services Direct Routing. Bei einem kostenlosen Abonnement können Sie eine Test-Telefonnummer beziehen.
- Ein
User Access Token
, um den Anrufclient zu aktivieren. Weitere Informationen zum Abrufen einesUser Access Token
- Gehen Sie den Schnellstart Erste Schritte beim Hinzufügen von Anruffunktionen zu einer Anwendung durch.
Prüfen der Voraussetzungen
- Melden Sie sich zum Anzeigen der Telefonnummern für Ihre Communication Services-Ressource beim Azure-Portal an, suchen Sie nach Ihrer Communication Services-Ressource, und öffnen Sie im linken Navigationsbereich die Registerkarte Telefonnummern.
- Sie können Ihre App mit der Azure Communication Services-Calling SDK für iOS erstellen und ausführen:
Einrichten
Starten eines Anrufs auf dem Telefon
Geben Sie die Telefonnummer an, die Sie in der Communication Services-Ressource abgerufen haben und mit der der Anruf gestartet wird:
Warnung
Beachten Sie, dass Telefonnummern im internationalen Standardformat E.164 angegeben werden sollten. (Beispiel: +12223334444)
Ändern Sie den Ereignishandler startCall
, der ausgeführt wird, wenn auf die Schaltfläche Anruf starten getippt wird:
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")
}
}
}
}
}
Ausführen des Codes
Sie können Ihre App im iOS-Simulator erstellen und ausführen, indem Sie Produkt>Ausführen auswählen oder den Tastaturkurzbefehl (⌘-R) verwenden.
Sie können einen Telefonanruf tätigen, indem Sie eine Telefonnummer in das hinzugefügte Textfeld eingeben und auf die Schaltfläche Anruf starten klicken.
Warnung
Beachten Sie, dass Telefonnummern im internationalen Standardformat E.164 angegeben werden sollten. (Beispiel: +12223334444)
Hinweis
Wenn Sie zum ersten Mal einen Anruf tätigen, fordert das System Zugriff auf das Mikrofon an. Verwenden Sie in einer Produktionsanwendung die AVAudioSession
-API, um den Berechtigungsstatus zu überprüfen und das Verhalten Ihrer Anwendung entsprechend zu aktualisieren, wenn die Berechtigung nicht erteilt wird.
Bereinigen von Ressourcen
Wenn Sie ein Communication Services-Abonnement bereinigen und entfernen möchten, können Sie die Ressource oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind. Weitere Informationen zum Bereinigen von Ressourcen finden Sie hier.
Nächste Schritte
Weitere Informationen finden Sie in den folgenden Artikeln:
- Informieren Sie sich über die Funktionen des Calling SDK.
- Informieren Sie sich über die Funktionsweise von Anrufen.
- Erfahren Sie mehr über die Funktionen für die Nummernsuche.