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 SipRoutingClient
instellen 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.
Azure SDK for .NET