Azure Communication Phone Numbers-klientbibliotek för .NET – version 1.1.0
Telefonnummer för Azure-kommunikation hanterar telefonnummer för Azure Communication Services.
| Källkod Produktdokumentation | Prover
Komma igång
Installera paketet
Installera Klientbiblioteket för Azure Communication Phone Numbers för .NET med NuGet:
dotnet add package Azure.Communication.PhoneNumbers
Förutsättningar
Du behöver en Azure-prenumeration och en kommunikationstjänstresurs för att kunna använda det här paketet.
Om du vill skapa en ny kommunikationstjänst kan du använda Azure-portalen, Azure PowerShell eller .NET-hanteringsklientbiblioteket.
Viktiga begrepp
Denna SDK tillhandahåller funktioner för att enkelt hantera direct offer
och direct routing
numrera.
Siffrorna direct offer
finns i två typer: Geografisk och Avgiftsfri. Geografiska telefonplaner är telefonplaner som är kopplade till en plats, vars telefonnummers riktnummer är associerade med riktnumret för en geografisk plats. Toll-Free telefonabonnemang är inte telefonabonnemang associerad plats. I USA kan till exempel avgiftsfria nummer levereras med riktnummer som 800 eller 888.
De hanteras med hjälp av PhoneNumbersClient
Funktionen direct routing
gör det möjligt att ansluta din befintliga telefoniinfrastruktur till ACS.
Konfigurationen hanteras med hjälp av SipRoutingClient
, som tillhandahåller metoder för att konfigurera SIP-trunkar och röstroutningsregler för att hantera samtal för telefonundernätet korrekt.
Autentisera klienten
Klienter kan autentiseras med hjälp av anslutningssträngen som hämtas från azure-kommunikationsresurser i Azure-portalen.
// 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);
Klienter har också möjlighet att autentisera med Azure Active Directory-autentisering. Mer information om det här avsnittet finns i Azure Identity.
// 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);
Telefonnummerklient
Översikt över telefonnummertyper
Telefonnummer finns i två typer: Geografisk och Avgiftsfri. Geografiska telefonplaner är telefonplaner som är kopplade till en plats, vars telefonnummers riktnummer är associerade med riktnumret för en geografisk plats. Toll-Free telefonabonnemang är inte telefonabonnemang associerad plats. I USA kan till exempel avgiftsfria nummer levereras med riktnummer som 800 eller 888.
Alla geografiska telefonplaner i samma land grupperas i en telefonplansgrupp med en geografisk telefonnummertyp. Alla Toll-Free telefonabonnemang inom samma land grupperas i en telefonplansgrupp.
Söka, köpa och släppa telefonnummer
Telefonnummer kan sökas igenom API:et för att skapa sökningar genom att ange ett riktnummer, antal telefonnummer, programtyp, telefonnummertyp och funktioner. Den angivna mängden telefonnummer reserveras i tio minuter och kan köpas inom denna tid. Om sökningen inte köps blir telefonnumren tillgängliga för andra efter tio minuter. Om sökningen köps hämtas telefonnumren för Azure-resurserna.
Telefonnummer kan också släppas med hjälp av versions-API:et.
SIP-routningsklient
Direktroutningsfunktionen gör det möjligt att ansluta telefoniinfrastruktur som tillhandahålls av kunden till Azure-kommunikationsresurser. För att kunna konfigurera routningskonfigurationen korrekt måste kunden ange SIP-trunkkonfigurationen och SIP-routningsreglerna för anrop. SIP-routningsklienten tillhandahåller det gränssnitt som krävs för att ställa in den här konfigurationen.
När ett anrop görs försöker systemet matcha målnumret med regex-nummermönster för definierade vägar. Den första vägen som matchar talet väljs. Ordningen på regexmatchning är samma som ordningen på rutterna i konfigurationen, och därför är ordningen på rutter viktig. När en väg har matchats dirigeras anropet till den första trunken i vägens trunkslista. Om bagageutrymmet inte är tillgängligt väljs nästa segment i listan.
Trådsäkerhet
Vi garanterar att alla klientinstansmetoder är trådsäkra och oberoende av varandra (riktlinje). Detta säkerställer att rekommendationen att återanvända klientinstanser alltid är säker, även över trådar.
Ytterligare begrepp
Klientalternativ | Åtkomst till svaret | Tidskrävande åtgärder | Hantera fel | Diagnostik | Gäckande | Klientlivslängd
Exempel
PhoneNumbersClient
Skapa en PhoneNumbersClient
Om du vill skapa en ny PhoneNumbersClient
behöver du en anslutningssträng till den Azure Communication Services resurs som du kan hämta från Azure-portalen när du har skapat resursen.
Du kan ange connectionString
baserat på en miljövariabel, en konfigurationsinställning eller något sätt som fungerar för ditt program.
// Get a connection string to our Azure Communication resource.
var connectionString = "<connection_string>";
var client = new PhoneNumbersClient(connectionString);
Sök telefonnummer
Telefonnummer måste sökas igenom innan de kan köpas. Sökning är en tidskrävande åtgärd som kan startas av StartSearchAvailablePhoneNumbers
en funktion som returnerar ett SearchAvailablePhoneNumbersOperation
-objekt. SearchAvailablePhoneNumbersOperation
kan användas för att uppdatera status för åtgärden och för att söka efter fullständighet.
var capabilities = new PhoneNumberCapabilities(calling: PhoneNumberCapabilityType.None, sms: PhoneNumberCapabilityType.Outbound);
var searchOperation = await client.StartSearchAvailablePhoneNumbersAsync(countryCode, PhoneNumberType.TollFree, PhoneNumberAssignmentType.Application, capabilities);
await searchOperation.WaitForCompletionAsync();
Köpa telefonnummer
Telefonnummer kan hämtas genom att köpa en sökning.
var purchaseOperation = await client.StartPurchasePhoneNumbersAsync(searchOperation.Value.SearchId);
await purchaseOperation.WaitForCompletionResponseAsync();
Lista köpta telefonnummer
Du kan visa en lista över alla telefonnummer som har köpts för din resurs.
var purchasedPhoneNumbers = client.GetPurchasedPhoneNumbersAsync();
await foreach (var phoneNumber in purchasedPhoneNumbers)
{
Console.WriteLine($"Phone number: {phoneNumber.PhoneNumber}, monthly cost: {phoneNumber.Cost}");
}
Versionstelefonnummer
Om du inte längre behöver ett telefonnummer kan du släppa det.
var purchasedPhoneNumber = "<purchased_phone_number>";
var releaseOperation = await client.StartReleasePhoneNumberAsync(purchasedPhoneNumber);
await releaseOperation.WaitForCompletionResponseAsync();
await WaitForCompletionResponseAsync(releaseOperation);
SipRoutingClient
Hämta SIP-trunkar och vägar
Hämta listan över för närvarande konfigurerade trunkar eller vägar.
var trunksResponse = await client.GetTrunksAsync();
var routesResponse = await client.GetRoutesAsync();
Ersätta SIP-trunkar och vägar
Ersätt listan över för närvarande konfigurerade trunkar eller vägar.
// 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);
Hantera enkel trunk
SIP-trunkar kan hanteras separat med hjälp SipRoutingClient
av för att hämta, ange eller ta bort en enda trunk.
Hämta enkel trunk
// Get trunk object, based on it's FQDN.
var fqdnToRetrieve = "<fqdn>";
var trunkResponse = await client.GetTrunkAsync(fqdnToRetrieve);
Ange enkel trunk
// 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);
Ta bort enstaka segment
// Deletes trunk with supplied FQDN.
var fqdnToDelete = "<fqdn>";
await client.DeleteTrunkAsync(fqdnToDelete);
Felsökning
Nästa steg
Läs mer om att hantera telefonnummer
Bidra
Det här projektet välkomnar bidrag och förslag. Merparten av bidragen kräver att du godkänner ett licensavtal för bidrag, där du deklarerar att du har behörighet att bevilja oss rättigheten att använda ditt bidrag, och att du dessutom uttryckligen gör så. Mer information finns i cla.microsoft.com.
Det här projektet använder sig av Microsofts uppförandekod för öppen källkod. Mer information finns i Vanliga frågor och svar om uppförandekoden eller kontakta opencode@microsoft.com med ytterligare frågor eller kommentarer.
Azure SDK for .NET