Schnellstart: Abrufen und Verwalten von Telefonnummern

Wichtig

Die SMS- und PSTN-Funktionen hängen von Ihrer Telefonnummer und dem durch Ihre Azure-Rechnungsanschrift festgelegten Land bzw. der Region ab. Weitere Informationen finden Sie in der Dokumentation zur Abonnementberechtigung.

Wichtig

Besuchen Sie bei umfangreichen Aufträgen oder bei Nichtverfügbarkeit der gewünschten Telefonnummer diese Seite, um weitere Unterstützung zu erhalten.

Voraussetzungen

Beschaffen einer Telefonnummer

Navigieren Sie im Azure-Portal zu Ihrer Communication Services-Ressource, um mit der Bereitstellung von Telefonnummern zu beginnen.

Screenshot: Hauptseite einer Communication Services-Ressource

Suchen nach verfügbaren Telefonnummern

Navigieren Sie im Ressourcenmenü zum Blatt Telefonnummern.

Screenshot: Telefonnummernseite einer Communication Services-Ressource

Klicken Sie auf die Schaltfläche Abrufen, um den Assistenten zu starten. Im Assistenten werden auf dem Blatt Telefonnummern einige Fragen gestellt, um die Telefonnummer zu ermitteln, die für Ihr Szenario am besten geeignet ist.

Zuerst müssen Sie eine Auswahl für Land/Region treffen, um anzugeben, wo die Telefonnummer bereitgestellt werden soll. Nach der Auswahl des Lands bzw. der Region müssen Sie den Anwendungsfall auswählen, der Ihre Anforderungen am besten erfüllt.

Screenshot: Ansicht „Telefonnummer erhalten“

Auswählen der Telefonnummernfeatures

Das Konfigurieren Ihrer Telefonnummer ist in zwei Schritte unterteilt:

  1. Auswahl des Nummerntyps
  2. Auswahl der Nummernfunktionen

Sie haben die Wahl zwischen zwei Telefonnummerntypen: lokale und gebührenfreie Telefonnummern. Nach der Wahl eines Nummerntyps können Sie das Feature auswählen.

In diesem Beispiel wurde der Nummerntyp Gebührenfrei mit den Features Anrufe tätigen und Send and receive SMS (SMS senden und empfangen) ausgewählt.

Screenshot: Ansicht für die Featureauswahl

Klicken Sie hier auf die Schaltfläche Weiter: Nummern (unten auf der Seite), um die Telefonnummern anzupassen, die Sie bereitstellen möchten.

Anpassen von Telefonnummern

Auf der Seite Nummern können Sie die Telefonnummern anpassen, die Sie bereitstellen möchten.

Screenshot: Seite für die Nummernauswahl

Hinweis

In dieser Schnellstartanleitung wird der Anpassungsvorgang für den Nummerntyp Gebührenfrei gezeigt. Der Vorgang weicht etwas ab, wenn Sie den Nummerntyp Lokal ausgewählt haben, aber das Endergebnis ist identisch.

Treffen Sie in der Liste mit den verfügbaren Ortsvorwahlen eine Auswahl für Ortsvorwahl, und geben Sie die Menge an, die Sie bereitstellen möchten. Klicken Sie anschließend auf Suchen, um nach Nummern zu suchen, die die ausgewählten Anforderungen erfüllen. Die Telefonnummern, die Ihre Anforderungen erfüllen, werden zusammen mit den monatlichen Kosten angezeigt.

Screenshot: Seite für die Nummernauswahl mit reservierten Nummern

Hinweis

Die Verfügbarkeit hängt davon ab, welche Optionen Sie für Nummerntyp, Standort und Features ausgewählt haben. Die Nummern werden im Zeitraum bis zum Ablauf der Transaktion für kurze Zeit reserviert. Wenn die Transaktion abläuft, müssen Sie die Nummern erneut auswählen.

Klicken Sie am unteren Rand der Seite auf die Schaltfläche Weiter: Zusammenfassung, um eine Zusammenfassung des Kaufs anzuzeigen und Ihre Bestellung aufzugeben.

Kaufen von Telefonnummern

Auf der Seite mit der Zusammenfassung werden noch einmal der Nummerntyp, die Features, die Telefonnummern und die monatlichen Gesamtkosten für die Bereitstellung der Telefonnummern angezeigt.

Hinweis

Bei den angezeigten Preisen handelt es sich um die monatlichen Gebühren. Dies sind die Kosten für das Leasen der ausgewählten Telefonnummer an Sie. Nicht in dieser Anzeige enthalten sind die Kosten für die nutzungsbasierte Bezahlung, die beim Tätigen bzw. Empfangen von Anrufen anfallen. Die Preislisten finden Sie hier. Diese Kosten richten sich nach dem Nummerntyp und den angerufenen Zielen. Die Preise pro Minute für einen Anruf von einer Nummer in der Region Seattle bei einer Nummer in der Region New York und für einen Anruf von derselben Nummer bei einer Mobiltelefonnummer im Vereinigten Königreich können sich beispielsweise unterscheiden.

Klicken Sie abschließend unten auf der Seite auf Bestellen, um die Bestellung zu bestätigen.

Screenshot: Seite mit der Zusammenfassung zu Nummerntyp, Features, Telefonnummern und monatlichen Gesamtkosten

Suchen nach Ihren Telefonnummern im Azure-Portal

Navigieren Sie im Azure-Portal zu Ihrer Azure Communication Services-Ressource:

Screenshot: Hauptseite einer Communication Services-Ressource

Wählen Sie im Menü das Blatt „Telefonnummern“ aus, um Ihre Telefonnummern zu verwalten.

Screenshot: Telefonnummernseite einer Communication Services-Ressource

Hinweis

Es kann einige Minuten dauern, bis die bereitgestellten Nummern auf dieser Seite angezeigt werden.

Funktionen für Telefonnummern

Auf der Seite Telefonnummern können Sie eine Telefonnummer auswählen, um sie zu konfigurieren.

Screenshot: Seite zum Aktualisieren von Features

Wählen Sie aus den verfügbaren Optionen die gewünschten Features aus, und klicken Sie anschließend auf Speichern, um Ihre Auswahl anzuwenden.

Freigeben einer Telefonnummer

Auf der Seite Nummern können Sie Telefonnummern freigeben.

Screenshot: Seite zum Freigeben von Telefonnummern.

Wählen Sie die Telefonnummer aus, die Sie freigeben möchten, und klicken Sie dann auf die Schaltfläche Freigeben.

Wichtig

Dieses Feature von Azure Communication Services befindet sich derzeit in der Vorschau.

Vorschau-APIs und -SDKs werden ohne Vereinbarung zum Servicelevel bereitgestellt. Es wird empfohlen, diese nicht für Produktionsworkloads zu verwenden. Einige Features werden möglicherweise nicht unterstützt oder bieten nur eingeschränkte Funktionalität.

Weitere Informationen finden Sie in den ergänzenden Nutzungsbestimmungen für Microsoft Azure-Vorschauversionen.

Azure Communication Services führt eine neue Benutzeroberfläche für den Kauf von Telefonnummern ein. Diese Benutzeroberfläche ist derzeit als Flight verfügbar, und Sie sehen sie möglicherweise beim Kauf einer Telefonnummer im Azure-Portal. Wenn Sie Feedback zu dieser Benutzeroberfläche haben, zögern Sie nicht, dieses über die Schaltfläche Feedback auf der Azure-Portalerweiterung mitzuteilen.

Voraussetzungen

Erwerben einer Telefonnummer

  1. Navigieren Sie im Azure-Portal zu Ihrer Communication Service-Ressource.

    Screenshot: Hauptseite einer Communication Services-Ressource

  2. Wählen Sie in der Übersicht der Communication Services-Ressourcen im Menü auf der linken Seite die Option „Telefonnummern“ aus.

    Screenshot der Telefonnummernseite von Communication Services.

  3. Wählen Sie Kaufen oben links auf der Seite aus, um Ihre Telefonnummer zu kaufen. Dadurch wird unser Shopping-Assistenten gestartet:

    Screenshot des Suchassistenten für den Telefonnummern-Einkaufswagen.

  4. Treffen Sie eine Auswahl für Land/Region, um anzugeben, wo die Telefonnummer bereitgestellt werden soll. Die Verfügbarkeit des Landes/der Region basiert auf dem Abrechnungsort für Ihr Azure-Abonnement. Weitere Informationen dazu, welche Nummern für jedes Land/jede Region verfügbar sind, finden Sie hier. Als Nächstes wählen Sie den Nummerntyp aus. Sie haben die Wahl zwischen zwei Telefonnummerntypen: lokale und gebührenfreie Telefonnummern.

  5. Wählen Sie Suchen aus, um Nummern abzurufen, die Ihren ausgewählten Kriterien entsprechen. Sie haben verschiedene Filter, um nach der Nummer zu suchen, die Ihren Anforderungen entspricht, einschließlich:

    • Anwendungsfall: Hiermit können Sie angeben, ob Sie diese Nummer für Anrufe von einer Anwendung (A2P) oder von menschlichen Mitarbeiter*innen (P2P) verwenden.
    • Anruf: Hiermit können Sie die Anruffunktionen festlegen, die Sie für Ihre Telefonnummer benötigen: Anrufe tätigen und/oder annehmen.
    • SMS: Hiermit können Sie die SMS-Funktionen festlegen, die Sie für Ihre Telefonnummer benötigen: SMS-Nachrichten senden und/oder empfangen.
    • Benutzerdefiniert: Sie können auch benutzerdefinierte Filter hinzufügen, um eine bestimmte Vorwahl oder eine Reihe von Ziffern in Ihrer Telefonnummer zu erhalten.

    Screenshot der Seite zum Kauf von Telefonnummern mit verfügbaren Telefonnummern.

  6. Nachdem Sie die Telefonnummer(n) Ihrer Wahl gefunden haben, wählen Sie Zum Warenkorb hinzufügen aus, um die Nummern im Warenkorb für „Telefonie“ zu hinterlegen. Diese Nummern werden 16 Minuten lang reserviert, bevor Ihr Warenkorb automatisch gelöscht wird.

    Screenshot des Einkaufswagens für Telefonnummern mit zwei Telefonnummern im Warenkorb.

    Hinweis

    Bei den angezeigten Preisen handelt es sich um die monatlichen Gebühren. Dies sind die Kosten für das Leasen der ausgewählten Telefonnummer an Sie. Nicht in dieser Anzeige enthalten sind die Kosten für die nutzungsbasierte Bezahlung, die beim Tätigen bzw. Empfangen von Anrufen anfallen. Die Preislisten finden Sie hier. Diese Kosten richten sich nach dem Nummerntyp und den angerufenen Zielen. Die Preise pro Minute für einen Anruf von einer Nummer in der Region Seattle bei einer Nummer in der Region New York und für einen Anruf von derselben Nummer bei einer Mobiltelefonnummer im Vereinigten Königreich können sich beispielsweise unterscheiden.

  7. Wählen Sie Weiter aus, um Ihren Kauf zu überprüfen. Um Ihren Kauf abzuschließen, wählen Sie Jetzt kaufen aus.

    Screenshot von 2 Telefonnummern zum Überprüfen und Kaufen.

  8. Sie finden Ihre gekauften Nummern auf der Seite Telefonnummern. Es kann einige Minuten dauern, bis die Nummern bereitgestellt werden.

    Screenshot der Seite „Telefonnummern“ mit den neu erworbenen Telefonnummern in einem roten Rahmen.

Funktionen für Telefonnummern

Auf der Seite Telefonnummern können Sie eine Telefonnummer auswählen, um sie zu konfigurieren.

Screenshot: Seite zum Aktualisieren von Features

Wählen Sie aus den verfügbaren Optionen die gewünschten Features aus, und wählen Sie anschließend Speichern aus, um Ihre Auswahl anzuwenden.

Freigeben einer Telefonnummer

Auf der Seite Nummern können Sie Telefonnummern freigeben.

Screenshot: Seite zum Freigeben von Telefonnummern.

Wählen Sie die Telefonnummer aus, die Sie freigeben möchten, und wählen Sie dann die Schaltfläche Freigeben aus.

Voraussetzungen

Einrichten

Hinzufügen der Erweiterung

Fügen Sie die Azure Communication Services-Erweiterung für Azure CLI mithilfe des Befehls az extension hinzu.

az extension add --name communication

Anmelden bei der Azure-Befehlszeilenschnittstelle

Sie müssen sich bei Azure CLI anmelden. Sie können sich beim Ausführen des az login-Befehls vom Terminal anmelden und Ihre Anmeldeinformationen bereitstellen.

Operations

Auflisten von erworbenen Telefonnummern

Führen Sie den folgenden Befehl aus, um alle erworbenen Telefonnummern abzurufen.

az communication phonenumber list --connection-string "<yourConnectionString>"

Nehmen Sie im Code diese Ersetzung vor:

  • Ersetzen Sie <yourConnectionString> durch Ihre Verbindungszeichenfolge.

Abrufen von Details zu erworbenen Telefonnummern

Führen Sie den folgenden Befehl aus, um die Telefonnummerndetails für eine erworbene Telefonnummer abzurufen.

az communication phonenumber show --phonenumber <purchasedPhoneNumber> --connection-string "<yourConnectionString>"

Führen Sie im Code die folgenden Ersetzungen durch:

  • Ersetzen Sie <purchasedPhoneNumber> durch eine Telefonnummer, die Ihrer Communication Services-Ressource zugeordnet ist.
  • Ersetzen Sie <yourConnectionString> durch Ihre Verbindungszeichenfolge.

Hinweis

Die Azure CLI-Option bietet Funktionalitäten nur zum Auflisten und Anzeigen von Telefonnummern. Andere Vorgänge wie Suchen, Kaufen, Bearbeiten oder Freigeben von Telefonnummern werden nicht unterstützt.

(Optional) Verwenden von Azure CLI-Telefonnummernvorgängen ohne Übergeben einer Verbindungszeichenfolge

Sie können die Umgebungsvariable AZURE_COMMUNICATION_CONNECTION_STRING so konfigurieren, dass Azure CLI-Telefonnummernvorgänge verwendet werden, ohne dass Sie --connection_string zum Übergeben der Verbindungszeichenfolge verwenden müssen. Öffnen Sie zum Konfigurieren einer Umgebungsvariablen ein Konsolenfenster, und wählen Sie über die folgenden Registerkarten Ihr Betriebssystem aus. Ersetzen Sie <yourConnectionString> durch Ihre Verbindungszeichenfolge.

Öffnen Sie ein Konsolenfenster, und geben Sie den folgenden Befehl ein:

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

Nachdem Sie die Umgebungsvariable hinzugefügt haben, müssen Sie unter Umständen alle ausgeführten Programme neu starten, von denen die Umgebungsvariable gelesen werden muss, z.B. das Konsolenfenster. Wenn Sie beispielsweise Visual Studio als Editor verwenden, müssen Sie Visual Studio neu starten, bevor Sie das Beispiel ausführen.

Hinweis

Den fertigen Code für diesen Schnellstart finden Sie auf GitHub.

Voraussetzungen

Prüfen der Voraussetzungen

  • Führen Sie in einem Terminal- oder Befehlsfenster den Befehl dotnet aus, um sich zu vergewissern, dass die .NET-Clientbibliothek installiert ist.

Einrichten

Erstellen einer neuen C#-Anwendung

Verwenden Sie in einem Konsolenfenster (z. B. cmd, PowerShell oder Bash) den Befehl dotnet new zum Erstellen einer neuen Konsolen-App mit dem Namen PhoneNumbersQuickstart. Dieser Befehl erstellt ein einfaches „Hallo Welt“-C#-Projekt mit einer einzigen Quelldatei: Program.cs.

dotnet new console -o PhoneNumbersQuickstart

Wechseln Sie zum neu erstellten App-Ordner, und verwenden Sie den Befehl dotnet build, um Ihre Anwendung zu kompilieren.

cd PhoneNumbersQuickstart
dotnet build

Installieren des Pakets

Installieren Sie im Anwendungsverzeichnis mithilfe des Befehls dotnet add package die Azure Communication PhoneNumbers-Clientbibliothek für das .NET-Paket.

dotnet add package Azure.Communication.PhoneNumbers --version 1.0.0

Fügen Sie am Anfang von Program.cs eine Anweisung vom Typ using hinzu, um den Namespace einzuschließen.

using System;
using System.Linq;
using System.Threading.Tasks;
using Azure.Communication.PhoneNumbers;

Ändern Sie die Main-Funktionssignatur in asynchron.

static async Task Main(string[] args)
{
  ...
}

Authentifizieren des Clients

Telefonnummer-Clients können mithilfe von Verbindungszeichenfolgen authentifiziert werden, die von Azure Communication Services-Ressourcen im Azure-Portal abgerufen werden.

// Get a connection string to our Azure Communication Services resource.
var connectionString = "<connection_string>";
var client = new PhoneNumbersClient(connectionString);

Telefonnummernclients haben auch die Möglichkeit, sich mit der Microsoft Entra-Authentifizierung zu authentifizieren. Mit dieser Option müssen die Umgebungsvariablen AZURE_CLIENT_SECRET, AZURE_CLIENT_ID und AZURE_TENANT_ID für die Authentifizierung eingerichtet werden.

// Get an endpoint to our Azure Communication Services resource.
var endpoint = new Uri("<endpoint_url>");
TokenCredential tokenCredential = new DefaultAzureCredential();
client = new PhoneNumbersClient(endpoint, tokenCredential);

Verwalten von Telefonnummern

Suchen nach verfügbaren Telefonnummern

Um Telefonnummern zu kaufen, müssen Sie zuerst nach verfügbaren Telefonnummern suchen. Geben Sie für die Suche nach Telefonnummern die Vorwahl, den Zuweisungstyp, die Funktionen der Telefonnummer, den Telefonnummerntyp und die Menge an. Beachten Sie, dass die Angabe der Vorwahl für gebührenfreie Telefonnummern nicht zwingend ist.

var capabilities = new PhoneNumberCapabilities(calling:PhoneNumberCapabilityType.None, sms:PhoneNumberCapabilityType.Outbound);
var searchOptions = new PhoneNumberSearchOptions { AreaCode = "833", Quantity = 1 };

var searchOperation = await client.StartSearchAvailablePhoneNumbersAsync("US", PhoneNumberType.TollFree, PhoneNumberAssignmentType.Application, capabilities, searchOptions);
await searchOperation.WaitForCompletionAsync();

Kaufen von Telefonnummern

Das Ergebnis der Suche nach Telefonnummern ist ein PhoneNumberSearchResult. Hierin ist ein Wert SearchId enthalten, der an die API zum Kaufen von Nummern übermittelt werden kann, um die mit der Suche ermittelten Nummern zu erwerben. Beachten Sie, dass der Aufruf der API zum Kaufen von Telefonnummern für Ihr Azure-Konto zu einer Abrechnung führt.

var purchaseOperation = await client.StartPurchasePhoneNumbersAsync(searchOperation.Value.SearchId);
await purchaseOperation.WaitForCompletionResponseAsync();

Telefonnummern erhalten

Nach dem Kauf einer Nummer können Sie diese vom Client abrufen.

var getPhoneNumberResponse = await client.GetPurchasedPhoneNumberAsync("+14255550123");
Console.WriteLine($"Phone number: {getPhoneNumberResponse.Value.PhoneNumber}, country code: {getPhoneNumberResponse.Value.CountryCode}");

Sie können auch alle erworbenen Telefonnummern abrufen.

var purchasedPhoneNumbers = client.GetPurchasedPhoneNumbersAsync();
await foreach (var purchasedPhoneNumber in purchasedPhoneNumbers)
{
    Console.WriteLine($"Phone number: {purchasedPhoneNumber.PhoneNumber}, country code: {purchasedPhoneNumber.CountryCode}");
}

Funktionen für Telefonnummern

Mit einer erworbenen Nummer können Sie die Funktionen aktualisieren.

var updateCapabilitiesOperation = await client.StartUpdateCapabilitiesAsync("+14255550123", calling: PhoneNumberCapabilityType.Outbound, sms: PhoneNumberCapabilityType.InboundOutbound);
await updateCapabilitiesOperation.WaitForCompletionAsync();

Freigeben einer Telefonnummer

Sie können eine erworbene Telefonnummer freigeben.

var releaseOperation = await client.StartReleasePhoneNumberAsync("+14255550123");
await releaseOperation.WaitForCompletionResponseAsync();

Ausführen des Codes

Führen Sie die Anwendung mit dem Befehl dotnet run aus dem Anwendungsverzeichnis aus.

dotnet run

Beispielcode

Sie können die Beispiel-App von GitHub herunterladen.

Hinweis

Den fertigen Code für diesen Schnellstart finden Sie auf GitHub.

Voraussetzungen

Einrichten

Erstellen einer neuen Java-Anwendung

Öffnen Sie Ihr Terminal oder Befehlsfenster. Navigieren Sie zu dem Verzeichnis, in dem Sie Ihre Java-Anwendung erstellen möchten. Führen Sie den unten angegebenen Befehl aus, um das Java-Projekt auf der Grundlage der Vorlage „maven-archetype-quickstart“ zu generieren.

mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false

Wie Sie sehen, wurde durch die Aufgabe „generate“ ein Verzeichnis erstellt, das den gleichen Namen besitzt wie die Artefakt-ID (artifactId). In diesem Verzeichnis enthält das Verzeichnis „src/main/java“ den Quellcode des Projekts. Das Verzeichnis src/test/java directory enthält die Testquelle, und die Datei pom.xml ist das Projektobjektmodell (POM) des Projekts.

Installieren des Pakets

Öffnen Sie die Datei pom.xml in Ihrem Text-Editor. Fügen Sie der Gruppe der Abhängigkeiten das folgende Abhängigkeitselement hinzu:

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-common</artifactId>
    <version>1.0.0</version>
</dependency>

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-phonenumbers</artifactId>
    <version>1.0.0</version>
</dependency>

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>1.2.3</version>
</dependency>

Einrichten des App-Frameworks

Über das Projektverzeichnis:

  1. Navigieren Sie zum Verzeichnis /src/main/java/com/communication/quickstart.
  2. Öffnen Sie die Datei App.java im Editor.
  3. Ersetzen Sie die Anweisung System.out.println("Hello world!");.
  4. Fügen Sie Anweisungen vom Typ import hinzu.

Verwenden Sie zum Einstieg den folgenden Code:

import com.azure.communication.phonenumbers.*;
import com.azure.communication.phonenumbers.models.*;
import com.azure.core.http.rest.*;
import com.azure.core.util.Context;
import com.azure.core.util.polling.LongRunningOperationStatus;
import com.azure.core.util.polling.PollResponse;
import com.azure.core.util.polling.SyncPoller;
import com.azure.identity.*;
import java.io.*;

public class App
{
    public static void main( String[] args ) throws IOException
    {
        System.out.println("Azure Communication Services - Phone Numbers Quickstart");
        // Quickstart code goes here
    }
}

Authentifizieren des Phone Numbers-Clients

Der PhoneNumberClientBuilder ist für die Verwendung der Microsoft Entra-Authentifizierung aktiviert

// You can find your endpoint and access key from your resource in the Azure portal
String endpoint = "https://<RESOURCE_NAME>.communication.azure.com";

PhoneNumbersClient phoneNumberClient = new PhoneNumbersClientBuilder()
    .endpoint(endpoint)
    .credential(new DefaultAzureCredentialBuilder().build())
    .buildClient();

Alternativ können Sie auch den Endpunkt und den Zugriffsschlüssel aus der Kommunikationsressource zur Authentifizierung verwenden.

// You can find your connection string from your resource in the Azure portal
String connectionString = "endpoint=https://<RESOURCE_NAME>.communication.azure.com/;accesskey=<ACCESS_KEY>";

PhoneNumbersClient phoneNumberClient = new PhoneNumbersClientBuilder()
    .connectionString(connectionString)
    .buildClient();

Verwalten von Telefonnummern

Suchen nach verfügbaren Telefonnummern

Um Telefonnummern zu kaufen, müssen Sie zuerst nach verfügbaren Telefonnummern suchen. Geben Sie für die Suche nach Telefonnummern die Vorwahl, den Zuweisungstyp, die Funktionen der Telefonnummer, den Telefonnummerntyp und die Menge an. Beachten Sie, dass die Angabe der Vorwahl für gebührenfreie Telefonnummern nicht zwingend ist.

 PhoneNumberCapabilities capabilities = new PhoneNumberCapabilities()
    .setCalling(PhoneNumberCapabilityType.INBOUND)
    .setSms(PhoneNumberCapabilityType.INBOUND_OUTBOUND);
PhoneNumberSearchOptions searchOptions = new PhoneNumberSearchOptions().setAreaCode("833").setQuantity(1);

SyncPoller<PhoneNumberOperation, PhoneNumberSearchResult> poller = phoneNumberClient
    .beginSearchAvailablePhoneNumbers("US", PhoneNumberType.TOLL_FREE, PhoneNumberAssignmentType.APPLICATION, capabilities, searchOptions, Context.NONE);
PollResponse<PhoneNumberOperation> response = poller.waitForCompletion();
String searchId = "";

if (LongRunningOperationStatus.SUCCESSFULLY_COMPLETED == response.getStatus()) {
    PhoneNumberSearchResult searchResult = poller.getFinalResult();
    searchId = searchResult.getSearchId();
    System.out.println("Searched phone numbers: " + searchResult.getPhoneNumbers());
    System.out.println("Search expires by: " + searchResult.getSearchExpiresBy());
    System.out.println("Phone number costs:" + searchResult.getCost().getAmount());
}

Kaufen von Telefonnummern

Das Ergebnis der Suche nach Telefonnummern ist ein PhoneNumberSearchResult. Hierin ist ein Wert searchId enthalten, der an die API zum Kaufen von Nummern übermittelt werden kann, um die mit der Suche ermittelten Nummern zu erwerben. Beachten Sie, dass der Aufruf der API zum Kaufen von Telefonnummern für Ihr Azure-Konto zu einer Abrechnung führt.

PollResponse<PhoneNumberOperation> purchaseResponse = phoneNumberClient.beginPurchasePhoneNumbers(searchId, Context.NONE).waitForCompletion();
System.out.println("Purchase phone numbers operation is: " + purchaseResponse.getStatus());

Telefonnummern erhalten

Nach dem Kauf einer Nummer können Sie diese vom Client abrufen.

PurchasedPhoneNumber phoneNumber = phoneNumberClient.getPurchasedPhoneNumber("+14255550123");
System.out.println("Phone Number Country Code: " + phoneNumber.getCountryCode());

Sie können auch alle erworbenen Telefonnummern abrufen.

PagedIterable<PurchasedPhoneNumber> phoneNumbers = phoneNumberClient.listPurchasedPhoneNumbers(Context.NONE);
PurchasedPhoneNumber phoneNumber = phoneNumbers.iterator().next();
System.out.println("Phone Number Country Code: " + phoneNumber.getCountryCode());

Funktionen für Telefonnummern

Mit einer erworbenen Nummer können Sie die Funktionen aktualisieren.

PhoneNumberCapabilities capabilities = new PhoneNumberCapabilities();
capabilities
    .setCalling(PhoneNumberCapabilityType.INBOUND)
    .setSms(PhoneNumberCapabilityType.INBOUND_OUTBOUND);

SyncPoller<PhoneNumberOperation, PurchasedPhoneNumber> poller = phoneNumberClient.beginUpdatePhoneNumberCapabilities("+18001234567", capabilities, Context.NONE);
PollResponse<PhoneNumberOperation> response = poller.waitForCompletion();
if (LongRunningOperationStatus.SUCCESSFULLY_COMPLETED == response.getStatus()) {
    PurchasedPhoneNumber phoneNumber = poller.getFinalResult();
    System.out.println("Phone Number Calling capabilities: " + phoneNumber.getCapabilities().getCalling()); //Phone Number Calling capabilities: inbound
    System.out.println("Phone Number SMS capabilities: " + phoneNumber.getCapabilities().getSms()); //Phone Number SMS capabilities: inbound+outbound
}

Freigeben einer Telefonnummer

Sie können eine erworbene Telefonnummer freigeben.

PollResponse<PhoneNumberOperation> releaseResponse =
    phoneNumberClient.beginReleasePhoneNumber("+14255550123", Context.NONE).waitForCompletion();
System.out.println("Release phone number operation is: " + releaseResponse.getStatus());

Ausführen des Codes

Navigieren Sie zum Verzeichnis, das die Datei pom.xml enthält, und kompilieren Sie das Projekt mit dem folgenden mvn-Befehl.

mvn compile

Erstellen Sie dann das Paket.

mvn package

Führen Sie die App mit dem folgenden mvn-Befehl aus.

mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false

In der Ausgabe der App wird die jeweils abgeschlossene Aktion beschrieben:

Azure Communication Services - Phone Numbers Quickstart

Searched phone numbers: [+18001234567]

Purchase phone numbers operation is: SUCCESSFULLY_COMPLETED

Phone Number Country Code: US

Phone Number Calling capabilities: inbound

Phone Number SMS capabilities: inbound

Release phone number operation is: SUCCESSFULLY_COMPLETED

Hinweis

Den fertigen Code für diesen Schnellstart finden Sie auf GitHub.

Voraussetzungen

Einrichten

Erstellen einer neuen Python-Anwendung

Öffnen Sie Ihr Terminal- oder Befehlsfenster, erstellen Sie ein neues Verzeichnis für Ihre App, und navigieren Sie dann zu diesem Verzeichnis.

mkdir phone-numbers-quickstart && cd phone-numbers-quickstart

Erstellen Sie mithilfe eines Text-Editors im Stammverzeichnis des Projekts eine Datei mit dem Namen „phone_numbers_sample.py“, und fügen Sie den folgenden Code hinzu. In den folgenden Abschnitten fügen wir den restlichen Schnellstart.Code hinzu.

import os
from azure.communication.phonenumbers import PhoneNumbersClient

try:
   print('Azure Communication Services - Phone Numbers Quickstart')
   # Quickstart code goes here
except Exception as ex:
   print('Exception:')
   print(ex)

Installieren des Pakets

Installieren Sie im Anwendungsverzeichnis mithilfe des Befehls pip install das Python-Paket der Azure Communication Services-Clientbibliothek „Administration“.

pip install azure-communication-phonenumbers

Authentifizieren des Phone Numbers-Clients

Die Verwendung der PhoneNumbersClient Microsoft Entra-Authentifizierung ist aktiviert. Die Verwendung des DefaultAzureCredential-Objekts ist die einfachste Möglichkeit, um mit Azure AD zu beginnen. Sie können es mit dem Befehl pip install installieren.

pip install azure-identity

Zum Erstellen eines DefaultAzureCredential-Objekts müssen Sie AZURE_CLIENT_ID, AZURE_CLIENT_SECRET und AZURE_TENANT_ID bereits als Umgebungsvariablen mit den entsprechenden Werten aus der registrierten Azure AD-Anwendung festlegen.

Eine kurze Übersicht zum Abrufen dieser Umgebungsvariablen finden Sie im Schnellstart Einrichten von Dienstprinzipalen über die CLI.

Nachdem Sie die azure-identity-Bibliothek installiert haben, können Sie die Authentifizierung des Clients fortsetzen.

import os
from azure.communication.phonenumbers import PhoneNumbersClient
from azure.identity import DefaultAzureCredential

# You can find your endpoint from your resource in the Azure portal
endpoint = 'https://<RESOURCE_NAME>.communication.azure.com'
try:
    print('Azure Communication Services - Phone Numbers Quickstart')
    credential = DefaultAzureCredential()
    phone_numbers_client = PhoneNumbersClient(endpoint, credential)
except Exception as ex:
    print('Exception:')
    print(ex)

Alternativ können Sie auch den Endpunkt und den Zugriffsschlüssel aus der Kommunikationsressource zur Authentifizierung verwenden.

import os
from azure.communication.phonenumbers import PhoneNumbersClient

# You can find your connection string from your resource in the Azure portal
connection_string = 'https://<RESOURCE_NAME>.communication.azure.com/;accesskey=<YOUR_ACCESS_KEY>'
try:
    print('Azure Communication Services - Phone Numbers Quickstart')
    phone_numbers_client = PhoneNumbersClient.from_connection_string(connection_string)
except Exception as ex:
    print('Exception:')
    print(ex)

Functions

Nachdem PhoneNumbersClient authentifiziert wurde, können Sie mit der Arbeit an den verschiedenen Funktionen beginnen, die davon übernommen werden können.

Suchen nach verfügbaren Telefonnummern

Um Telefonnummern zu kaufen, müssen Sie zuerst nach verfügbaren Telefonnummern suchen. Geben Sie für die Suche nach Telefonnummern die Vorwahl, den Zuweisungstyp, die Funktionen der Telefonnummer, den Telefonnummerntyp und die Menge an (Standardmenge ist 1). Beachten Sie, dass die Angabe der Vorwahl für gebührenfreie Telefonnummern nicht zwingend ist.

import os
from azure.communication.phonenumbers import PhoneNumbersClient, PhoneNumberCapabilityType, PhoneNumberAssignmentType, PhoneNumberType, PhoneNumberCapabilities
from azure.identity import DefaultAzureCredential

# You can find your endpoint from your resource in the Azure portal
endpoint = 'https://<RESOURCE_NAME>.communication.azure.com'
try:
    print('Azure Communication Services - Phone Numbers Quickstart')
    credential = DefaultAzureCredential()
    phone_numbers_client = PhoneNumbersClient(endpoint, credential)
    capabilities = PhoneNumberCapabilities(
        calling = PhoneNumberCapabilityType.INBOUND,
        sms = PhoneNumberCapabilityType.INBOUND_OUTBOUND
    )
    search_poller = phone_numbers_client.begin_search_available_phone_numbers(
        "US",
        PhoneNumberType.TOLL_FREE,
        PhoneNumberAssignmentType.APPLICATION,
        capabilities,
        polling = True
    )
    search_result = search_poller.result()
    print ('Search id: ' + search_result.search_id)
    phone_number_list = search_result.phone_numbers
    print('Reserved phone numbers:')
    for phone_number in phone_number_list:
        print(phone_number)

except Exception as ex:
    print('Exception:')
    print(ex)

Kaufen von Telefonnummern

Das Ergebnis der Suche nach Telefonnummern ist ein PhoneNumberSearchResult. Hierin ist ein Wert searchId enthalten, der an die API zum Kaufen von Nummern übermittelt werden kann, um die mit der Suche ermittelten Nummern zu erwerben. Beachten Sie, dass der Aufruf der API zum Kaufen von Telefonnummern für Ihr Azure-Konto zu einer Abrechnung führt.

import os
from azure.communication.phonenumbers import (
    PhoneNumbersClient,
    PhoneNumberCapabilityType,
    PhoneNumberAssignmentType,
    PhoneNumberType,
    PhoneNumberCapabilities
)
from azure.identity import DefaultAzureCredential

# You can find your endpoint from your resource in the Azure portal
endpoint = 'https://<RESOURCE_NAME>.communication.azure.com'
try:
    print('Azure Communication Services - Phone Numbers Quickstart')
    credential = DefaultAzureCredential()
    phone_numbers_client = PhoneNumbersClient(endpoint, credential)
    capabilities = PhoneNumberCapabilities(
        calling = PhoneNumberCapabilityType.INBOUND,
        sms = PhoneNumberCapabilityType.INBOUND_OUTBOUND
    )
    search_poller = phone_numbers_client.begin_search_available_phone_numbers(
        "US",
        PhoneNumberType.TOLL_FREE,
        PhoneNumberAssignmentType.APPLICATION,
        capabilities,
        area_code="833",
        polling = True
    )
    search_result = poller.result()
    print ('Search id: ' + search_result.search_id)
    phone_number_list = search_result.phone_numbers
    print('Reserved phone numbers:')
    for phone_number in phone_number_list:
        print(phone_number)

    purchase_poller = phone_numbers_client.begin_purchase_phone_numbers(search_result.search_id, polling = True)
    purchase_poller.result()
    print("The status of the purchase operation was: " + purchase_poller.status())
except Exception as ex:
    print('Exception:')
    print(ex)

Erhalten von erworbenen Telefonnummern

Nach dem Kauf einer Nummer können Sie diese vom Client abrufen.

purchased_phone_number_information = phone_numbers_client.get_purchased_phone_number("+18001234567")
print('Phone number: ' + purchased_phone_number_information.phone_number)
print('Country code: ' + purchased_phone_number_information.country_code)

Sie können auch alle erworbenen Telefonnummern abrufen.

purchased_phone_numbers = phone_numbers_client.list_purchased_phone_numbers()
print('Purchased phone numbers:')
for purchased_phone_number in purchased_phone_numbers:
    print(purchased_phone_number.phone_number)

Aktualisieren der Funktionen für Telefonnummern

Sie können die Funktionen einer zuvor erworbenen Telefonnummer aktualisieren.

update_poller = phone_numbers_client.begin_update_phone_number_capabilities(
    "+18001234567",
    PhoneNumberCapabilityType.OUTBOUND,
    PhoneNumberCapabilityType.OUTBOUND,
    polling = True
)
update_poller.result()
print('Status of the operation: ' + update_poller.status())

Freigeben einer Telefonnummer

Sie können eine erworbene Telefonnummer freigeben.

release_poller = phone_numbers_client.begin_release_phone_number("+18001234567")
release_poller.result()
print('Status of the operation: ' + release_poller.status())

Ausführen des Codes

Navigieren Sie in einer Konsoleneingabeaufforderung zum Verzeichnis mit der Datei phone_numbers_sample.py, und führen Sie anschließend den folgenden Phyton-Befehl aus, um die App auszuführen.

python phone_numbers_sample.py

Hinweis

Den fertigen Code für diesen Schnellstart finden Sie auf GitHub.

Voraussetzungen

Prüfen der Voraussetzungen

  • Führen Sie in einem Terminal- oder Befehlsfenster node --version aus, um sich zu vergewissern, dass Node.js installiert ist.

Einrichten

Erstellen einer neuen Node.js-Anwendung

Öffnen Sie zunächst Ihr Terminal- oder Befehlsfenster, erstellen Sie ein neues Verzeichnis für Ihre App, und navigieren Sie zu diesem Verzeichnis.

mkdir phone-numbers-quickstart && cd phone-numbers-quickstart

Führen Sie npm init -y aus, um die Datei package.json mit den Standardeinstellungen zu erstellen.

npm init -y

Erstellen Sie im Stammverzeichnis des soeben erstellten Verzeichnisses eine Datei mit dem Namen phone-numbers-quickstart.js. Führen Sie den folgenden Codeausschnitt hinzu:

async function main() {
    // quickstart code will here
}

main();

Installieren des Pakets

Verwenden Sie den Befehl npm install, um die JavaScript-Clientbibliothek für Telefonnummern von Azure Communication Services zu installieren.

npm install @azure/communication-phone-numbers --save

Mit der Option --save wird die Bibliothek als Abhängigkeit zu Ihrer Datei package.json hinzugefügt.

Authentifizieren des Clients

Importieren Sie den PhoneNumbersClient aus der Clientbibliothek, und instanziieren Sie ihn mit Ihrer Verbindungszeichenfolge. Im folgenden Code wird die Verbindungszeichenfolge für die Ressource aus einer Umgebungsvariablen namens COMMUNICATION_SERVICES_CONNECTION_STRING abgerufen. Informationen zur Verwaltung der Verbindungszeichenfolge Ihrer Ressource.

Fügen Sie den folgenden Code am Anfang von phone-numbers-quickstart.js hinzu:

const { PhoneNumbersClient } = require('@azure/communication-phone-numbers');

// This code demonstrates how to fetch your connection string
// from an environment variable.
const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];

// Instantiate the phone numbers client
const phoneNumbersClient = new PhoneNumbersClient(connectionString);

Verwalten von Telefonnummern

Suchen nach verfügbaren Telefonnummern

Um Telefonnummern zu kaufen, müssen Sie zuerst nach verfügbaren Telefonnummern suchen. Geben Sie für die Suche nach Telefonnummern die Vorwahl, den Zuweisungstyp, die Funktionen der Telefonnummer, den Telefonnummerntyp und die Menge an. Beachten Sie, dass die Angabe der Vorwahl für gebührenfreie Telefonnummern nicht zwingend ist.

Fügen Sie Ihrer main-Funktion den unten angegebenen Codeausschnitt hinzu:

/**
 * Search for Available Phone Number
 */

// Create search request
const searchRequest = {
    countryCode: "US",
    phoneNumberType: "tollFree",
    assignmentType: "application",
    capabilities: {
      sms: "outbound",
      calling: "none"
    },
    areaCode: "833",
    quantity: 1
  };

const searchPoller = await phoneNumbersClient.beginSearchAvailablePhoneNumbers(searchRequest);

// The search is underway. Wait to receive searchId.
const { searchId, phoneNumbers } = await searchPoller.pollUntilDone();
const phoneNumber = phoneNumbers[0];

console.log(`Found phone number: ${phoneNumber}`);
console.log(`searchId: ${searchId}`);

Kaufen von Telefonnummern

Das Ergebnis der Suche nach Telefonnummern ist ein PhoneNumberSearchResult. Hierin ist ein Wert searchId enthalten, der an die API zum Kaufen von Nummern übermittelt werden kann, um die mit der Suche ermittelten Nummern zu erwerben. Beachten Sie, dass der Aufruf der API zum Kaufen von Telefonnummern für Ihr Azure-Konto zu einer Abrechnung führt.

Fügen Sie Ihrer main-Funktion den unten angegebenen Codeausschnitt hinzu:

/**
 * Purchase Phone Number
 */

const purchasePoller = await phoneNumbersClient.beginPurchasePhoneNumbers(searchId);

// Purchase is underway.
await purchasePoller.pollUntilDone();
console.log(`Successfully purchased ${phoneNumber}`);

Aktualisieren der Funktionen für Telefonnummern

Fügen Sie, nachdem Sie nun eine Telefonnummer erworben haben, den folgenden Code hinzu, um ihre Funktionen zu aktualisieren:

/**
 * Update Phone Number Capabilities
 */

// Create update request.
// This will update phone number to send and receive sms, but only send calls.
const updateRequest = {
  sms: "inbound+outbound",
  calling: "outbound"
};

const updatePoller = await phoneNumbersClient.beginUpdatePhoneNumberCapabilities(
  phoneNumber,
  updateRequest
);

// Update is underway.
await updatePoller.pollUntilDone();
console.log("Phone number updated successfully.");

Erhalten von erworbenen Telefonnummern

Nach dem Kauf einer Nummer können Sie diese vom Client abrufen. Fügen Sie zu ihrer main-Funktion den folgenden Code hinzu, um die soeben erworbene Telefonnummer zu erhalten:

/**
 * Get Purchased Phone Number
 */

const { capabilities } = await phoneNumbersClient.getPurchasedPhoneNumber(phoneNumber);
console.log("These capabilities:", capabilities, "should be the same as these:", updateRequest, ".");

Sie können auch alle erworbenen Telefonnummern abrufen.

const purchasedPhoneNumbers = await phoneNumbersClient.listPurchasedPhoneNumbers();

for await (const purchasedPhoneNumber of purchasedPhoneNumbers) {
  console.log(`Phone number: ${purchasedPhoneNumber.phoneNumber}, country code: ${purchasedPhoneNumber.countryCode}.`);
}

Freigeben einer Telefonnummer

Nun können Sie die erworbene Telefonnummer freigeben. Fügen Sie zur main-Funktion den folgenden Codeausschnitt hinzu:

/**
 * Release Purchased Phone Number
 */

const releasePoller = await phoneNumbersClient.beginReleasePhoneNumber(phoneNumber);

// Release is underway.
await releasePoller.pollUntilDone();
console.log("Successfully release phone number.");

Ausführen des Codes

Verwenden Sie den Befehl node, um den Code auszuführen, den Sie zur Datei phone-numbers-quickstart.js hinzugefügt haben.

node phone-numbers-quickstart.js

Problembehandlung

Allgemeine Fragen und Probleme:

  • Wenn eine Telefonnummer freigegeben wurde, wird sie bis zum Ende des Abrechnungszeitraums als ACS-Ressource im Azure-Portal angezeigt. Sie kann auch erst am Ende des Abrechnungszeitraums erneut erworben werden.

  • Wenn eine Communication Services-Ressource gelöscht wird, werden die Telefonnummern, die dieser Ressource zugeordnet sind, gleichzeitig automatisch freigegeben.

Nächste Schritte

In dieser Schnellstartanleitung haben Sie Folgendes gelernt:

  • Erwerben einer Telefonnummer
  • Verwalten Ihrer Telefonnummer
  • Freigeben einer Telefonnummer
  • Einreichen einer Überprüfungsanwendung für gebührenfreie Telefonnummern (falls erforderlich)