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 und im Vereinigten Königreich.

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 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

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>
      &nbsp;
      <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:

Screenshot of the completed JavaScript Application.

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 und im Vereinigten Königreich.

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 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

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)

Screenshot showing the completed application.

Wichtig

Azure Communication Services unterstützt Notrufe an Notrufnummern nur in den USA, Puerto Rico, Kanada, Dänemark und im Vereinigten Königreich.

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 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

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.

Final look and feel of the quick start app

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: