Delen via


Azure Communication Phone Numbers-clientbibliotheek voor .NET - versie 1.1.0

Azure Communication Phone Numbers beheert telefoonnummers voor Azure Communication Services.

Broncode | Productdocumentatie | Monsters

Aan de slag

Het pakket installeren

Installeer de Azure Communication Phone Numbers-clientbibliotheek voor .NET met NuGet:

dotnet add package Azure.Communication.PhoneNumbers

Vereisten

U hebt een Azure-abonnement en een Communication Service-resource nodig om dit pakket te kunnen gebruiken.

Als u een nieuwe Communication Service wilt maken, kunt u azure portal, de Azure PowerShell of de .NET-beheerclientbibliotheek gebruiken.

Belangrijkste concepten

Deze SDK biedt functionaliteit voor het eenvoudig beheren direct offer van en direct routing getallen.

De direct offer nummers zijn er in twee typen: geografisch en gratis. Geografische telefoonabonnementen zijn telefoonabonnementen die zijn gekoppeld aan een locatie, waarvan de netnummers van de telefoonnummers zijn gekoppeld aan het netnummer van een geografische locatie. Toll-Free telefoonabonnementen zijn telefoonabonnementen die geen gekoppelde locatie zijn. In de VS kunnen gratis nummers bijvoorbeeld worden geleverd met een netnummer zoals 800 of 888. Ze worden beheerd met behulp van de PhoneNumbersClient

Met de direct routing functie kunt u uw bestaande telefonie-infrastructuur verbinden met ACS. De configuratie wordt beheerd met behulp van de , die methoden biedt voor het SipRoutingClientinstellen van SIP-trunks en regels voor spraakroutering om oproepen voor uw telefoniesubnet correct te verwerken.

De client verifiëren

Clients kunnen worden geverifieerd met behulp van connection string verkregen van een Azure-communicatieresources in Azure Portal.

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

Clients hebben ook de mogelijkheid om te verifiëren met Azure Active Directory-verificatie. Zie Azure Identity voor meer informatie over dit onderwerp.

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

Telefoonnummerclient

Overzicht van typen telefoonnummers

Telefoonnummers zijn er in twee typen: geografisch en gratis. Geografische telefoonabonnementen zijn telefoonabonnementen die zijn gekoppeld aan een locatie, waarvan de netnummers van de telefoonnummers zijn gekoppeld aan het netnummer van een geografische locatie. Toll-Free telefoonabonnementen zijn telefoonabonnementen die geen gekoppelde locatie zijn. In de VS kunnen gratis nummers bijvoorbeeld worden geleverd met een netnummer zoals 800 of 888.

Alle geografische telefoonabonnementen binnen hetzelfde land worden gegroepeerd in een telefoonabonnementgroep met het type Geografisch telefoonnummer. Alle Toll-Free telefoonabonnementen binnen hetzelfde land worden gegroepeerd in een telefoonabonnementgroep.

Telefoonnummers zoeken, kopen en vrijgeven

Telefoonnummers kunnen worden doorzocht via de API voor het maken van zoekopdrachten door een netnummer, aantal telefoonnummers, toepassingstype, type telefoonnummer en mogelijkheden op te geven. Het opgegeven aantal telefoonnummers wordt tien minuten gereserveerd en kan binnen deze tijd worden gekocht. Als de zoekopdracht niet is gekocht, zijn de telefoonnummers na tien minuten beschikbaar voor anderen. Als de zoekopdracht is aangeschaft, worden de telefoonnummers verkregen voor de Azure-resources.

Telefoonnummers kunnen ook worden vrijgegeven met behulp van de release-API.

SIP-routeringsclient

Met de functie voor directe routering kunt u de door de klant geleverde telefonie-infrastructuur verbinden met Azure-communicatieresources. Om de routeringsconfiguratie correct in te stellen, moet de klant de SIP Trunk-configuratie en SIP-routeringsregels voor oproepen opgeven. SIP-routeringsclient biedt de benodigde interface voor het instellen van deze configuratie.

Wanneer een aanroep wordt gedaan, probeert het systeem het doelnummer te koppelen aan regex-nummerpatronen van gedefinieerde routes. De eerste route die overeenkomt met het nummer wordt geselecteerd. De volgorde van regex matching is hetzelfde als de volgorde van routes in configuratie, daarom is de volgorde van routes van belang. Zodra een route is gekoppeld, wordt de aanroep gerouteerd naar de eerste trunk in de trunks-lijst van de route. Als de trunk niet beschikbaar is, wordt volgende trunk in de lijst geselecteerd.

Veiligheid van schroefdraad

We garanderen dat alle clientexemplaarmethoden thread-veilig en onafhankelijk van elkaar zijn (richtlijn). Dit zorgt ervoor dat de aanbeveling om clientexemplaren opnieuw te gebruiken altijd veilig is, zelfs voor alle threads.

Aanvullende concepten

Clientopties | Toegang tot het antwoord | Langlopende bewerkingen | Afhandeling van fouten | Diagnostics | Spottende | Clientlevensduur

Voorbeelden

PhoneNumbersClient

Een PhoneNumbersClient maken

Als u een nieuwe PhoneNumbersClient wilt maken, hebt u een connection string nodig voor de Azure Communication Services resource die u kunt ophalen uit Azure Portal nadat u de resource hebt gemaakt.

U kunt instellen connectionString op basis van een omgevingsvariabele, een configuratie-instelling of een manier die voor uw toepassing werkt.

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

Telefoonnummers zoeken

Telefoonnummers moeten worden doorzocht voordat ze kunnen worden gekocht. Zoeken is een langdurige bewerking die kan worden gestart door StartSearchAvailablePhoneNumbers een functie die een object retourneert SearchAvailablePhoneNumbersOperation . SearchAvailablePhoneNumbersOperation kan worden gebruikt om de status van de bewerking bij te werken en om te controleren op volledigheid.

var capabilities = new PhoneNumberCapabilities(calling: PhoneNumberCapabilityType.None, sms: PhoneNumberCapabilityType.Outbound);

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

Telefoonnummers kopen

Telefoonnummers kunnen worden verkregen door een zoekopdracht aan te schaffen.

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

Gekochte telefoonnummers weergeven

U kunt alle telefoonnummers weergeven die voor uw resource zijn gekocht.

var purchasedPhoneNumbers = client.GetPurchasedPhoneNumbersAsync();

await foreach (var phoneNumber in purchasedPhoneNumbers)
{
    Console.WriteLine($"Phone number: {phoneNumber.PhoneNumber}, monthly cost: {phoneNumber.Cost}");
}

Telefoonnummers vrijgeven

Als u een telefoonnummer niet meer nodig hebt, kunt u dit vrijgeven.

var purchasedPhoneNumber = "<purchased_phone_number>";
var releaseOperation = await client.StartReleasePhoneNumberAsync(purchasedPhoneNumber);
await releaseOperation.WaitForCompletionResponseAsync();
await WaitForCompletionResponseAsync(releaseOperation);

SipRoutingClient

SIP-trunks en -routes ophalen

Haal de lijst met momenteel geconfigureerde trunks of routes op.

var trunksResponse = await client.GetTrunksAsync();
var routesResponse = await client.GetRoutesAsync();

SIP-trunks en -routes vervangen

Vervang de lijst met momenteel geconfigureerde trunks of routes.

// The service will not allow trunks that are used in any of the routes to be deleted, therefore first set the routes as empty list, and then update the routes.
var newTrunks = "<new_trunks_list>";
var newRoutes = "<new_routes_list>";
await client.SetRoutesAsync(new List<SipTrunkRoute>());
await client.SetTrunksAsync(newTrunks);
await client.SetRoutesAsync(newRoutes);

Eén trunk beheren

SIP trunks kunnen afzonderlijk worden beheerd door de SipRoutingClient te gebruiken om één trunk op te halen, in te stellen of te verwijderen.

Eén trunk ophalen

// Get trunk object, based on it's FQDN.
var fqdnToRetrieve = "<fqdn>";
var trunkResponse = await client.GetTrunkAsync(fqdnToRetrieve);

Enkele trunk instellen

// Set function will either modify existing item or add new item to the collection.
// The trunk is matched based on it's FQDN.
var trunkToSet = "<trunk_to_set>";
await client.SetTrunkAsync(trunkToSet);

Enkele trunk verwijderen

// Deletes trunk with supplied FQDN.
var fqdnToDelete = "<fqdn>";
await client.DeleteTrunkAsync(fqdnToDelete);

Problemen oplossen

Volgende stappen

Meer informatie over het beheren van telefoonnummers

Meer informatie over directe routering

Bijdragen

Wij verwelkomen bijdragen en suggesties voor dit project. Voor de meeste bijdragen moet u instemmen met een licentieovereenkomst voor bijdragers (CLA: Contributor License Agreement) waarin u verklaart dat u gerechtigd bent ons het recht te geven uw bijdrage te gebruiken, en dat u dit ook doet. Ga naar cla.microsoft.com voor meer informatie.

Op dit project is de Microsoft Open Source Code of Conduct (Microsoft Open Source-gedragscode) van toepassing. Zie voor meer informatie de veelgestelde vragen over de gedragscode of neem contact op opencode@microsoft.com met eventuele aanvullende vragen of opmerkingen.