Azure Communication Phone Numbers ügyfélkódtár a .NET-hez – 1.1.0-s verzió
Az Azure Communication Phone Numbers a Azure Communication Services telefonszámát kezeli.
Forráskód | Termékdokumentáció | Minták
Első lépések
A csomag telepítése
Telepítse a .NET-hez készült Azure Communication Phone Numbers ügyfélkódtárat a NuGettel:
dotnet add package Azure.Communication.PhoneNumbers
Előfeltételek
A csomag használatához Azure-előfizetésre és kommunikációs szolgáltatási erőforrásra van szüksége.
Új kommunikációs szolgáltatás létrehozásához használhatja az Azure Portalt, a Azure PowerShell vagy a .NET felügyeleti ügyfélkódtárat.
Fő fogalmak
Ez az SDK olyan funkciókat biztosít, amelyek könnyen kezelhetők és direct routing
számokat is kezelnekdirect offer
.
A direct offer
számok két típusba sorolhatók: földrajzi és ingyenes. A földrajzi telefoncsomagok egy helyhez társított telefoncsomagok, amelyek telefonszámainak körzetszámai egy földrajzi hely körzetszámához vannak társítva. Toll-Free telefoncsomagok nem társított telefoncsomagok. Az USA-ban például az ingyenesen hívható számok tartalmazhatnak olyan körzetszámokat, mint a 800 vagy a 888.
A kezelésük a következő használatával történik: PhoneNumbersClient
A direct routing
funkció lehetővé teszi a meglévő telefonos infrastruktúra csatlakoztatását az ACS-hez.
A konfiguráció kezelése a SipRoutingClient
használatával történik, amely metódusokat biztosít a SIP-csomagtartók és a hangalapú útválasztási szabályok beállításához a telefonos alhálózat hívásainak megfelelő kezeléséhez.
Az ügyfél hitelesítése
Az ügyfelek hitelesítése az Azure Portalon található Azure Kommunikációs erőforrásokból beszerzett kapcsolati sztring használatával végezhető el.
// 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);
Az ügyfeleknek lehetősége van az Azure Active Directory-hitelesítéssel történő hitelesítésre is. Erről a témakörről további információt az Azure Identity című témakörben talál.
// 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);
Telefonszámok ügyfél
Telefonszámtípusok áttekintése
A telefonszámok kétféle típusúak: földrajzi és ingyenes. A földrajzi telefoncsomagok egy helyhez társított telefoncsomagok, amelyek telefonszámainak körzetszámai egy földrajzi hely körzetszámához vannak társítva. Toll-Free telefoncsomagok nem társított telefoncsomagok. Az USA-ban például az ingyenesen hívható számok tartalmazhatnak olyan körzetszámokat, mint a 800 vagy a 888.
Az ugyanazon országon belüli összes földrajzi telefoncsomag egy földrajzi telefonszámtípusú telefoncsomag-csoportba van csoportosítva. Az ugyanazon országon belüli összes Toll-Free telefoncsomag telefonos csomagcsoportba van csoportosítva.
Telefonszámok keresése, vásárlása és kiadása
A telefonszámok a keresési létrehozási API-val kereshetők, ha megadnak egy körzetszámot, telefonszámok mennyiségét, alkalmazástípust, telefonszámtípust és képességeket. A megadott telefonszámok mennyisége tíz percig lesz fenntartva, és ez idő alatt megvásárolható. Ha a keresés nem vásárolható meg, a telefonszámok tíz perc múlva elérhetővé válnak mások számára. Ha a keresés meg van vásárolva, akkor a telefonszámok az Azure-erőforrásokhoz lesznek beszerezve.
A telefonszámok a kiadási API-val is kiadhatók.
SIP-útválasztási ügyfél
A közvetlen útválasztási funkció lehetővé teszi az ügyfél által biztosított telefonos infrastruktúra azure-beli kommunikációs erőforrásokhoz való csatlakoztatását. Az útválasztási konfiguráció megfelelő beállításához az ügyfélnek meg kell adnia a SIP-csomagtartó konfigurációját és az SIP útválasztási szabályait a hívásokhoz. Az SIP-útválasztási ügyfél biztosítja a konfiguráció beállításához szükséges felületet.
Hívás esetén a rendszer megpróbálja egyeztetni a célszámot a megadott útvonalak regex számmintáival. A program kiválasztja az első útvonalat, amely megfelel a számnak. A regex-egyeztetés sorrendje megegyezik a konfigurációban lévő útvonalak sorrendjével, ezért az útvonalak sorrendje számít. Az útvonal egyeztetése után a rendszer a hívást az útvonal törzslistájában szereplő első csomagtartóra irányítja. Ha a csomagtartó nem érhető el, a listában a következő csomagtartó lesz kiválasztva.
Menetbiztonság
Garantáljuk, hogy minden ügyfélpéldány-metódus szálbiztos és független egymástól (iránymutatás). Ez biztosítja, hogy az ügyfélpéldányok újrafelhasználására vonatkozó javaslat mindig biztonságos legyen, még a szálak között is.
További fogalmak
Ügyfélbeállítások | A válasz | elérése Hosszú ideig futó műveletek | Hibák | kezelése Diagnosztika | Gúnyos | Ügyfélélettartam
Példák
PhoneNumbersClient
PhoneNumbersClient létrehozása
Új PhoneNumbersClient
létrehozásához szüksége van egy kapcsolati sztring a Azure Communication Services erőforrásra, amelyet az Azure Portalról az erőforrás létrehozása után szerezhet be.
Beállíthat connectionString
környezeti változók, konfigurációs beállítások vagy az alkalmazáshoz használható bármilyen módon.
// Get a connection string to our Azure Communication resource.
var connectionString = "<connection_string>";
var client = new PhoneNumbersClient(connectionString);
Telefonszámok keresése
A telefonszámokat meg kell keresni a vásárlás előtt. A keresés egy hosszú ideig futó művelet, amelyet egy objektumot visszaadó SearchAvailablePhoneNumbersOperation
függvény indíthat elStartSearchAvailablePhoneNumbers
. SearchAvailablePhoneNumbersOperation
a művelet állapotának frissítésére és a teljesség ellenőrzésére használható.
var capabilities = new PhoneNumberCapabilities(calling: PhoneNumberCapabilityType.None, sms: PhoneNumberCapabilityType.Outbound);
var searchOperation = await client.StartSearchAvailablePhoneNumbersAsync(countryCode, PhoneNumberType.TollFree, PhoneNumberAssignmentType.Application, capabilities);
await searchOperation.WaitForCompletionAsync();
Telefonszámok vásárlása
A telefonszámok keresés vásárlásával szerezhetők be.
var purchaseOperation = await client.StartPurchasePhoneNumbersAsync(searchOperation.Value.SearchId);
await purchaseOperation.WaitForCompletionResponseAsync();
Megvásárolt telefonszámok listázása
Listázhatja az erőforráshoz vásárolt összes telefonszámot.
var purchasedPhoneNumbers = client.GetPurchasedPhoneNumbersAsync();
await foreach (var phoneNumber in purchasedPhoneNumbers)
{
Console.WriteLine($"Phone number: {phoneNumber.PhoneNumber}, monthly cost: {phoneNumber.Cost}");
}
Telefonszámok kiadása
Ha már nincs szüksége telefonszámra, kiadhatja.
var purchasedPhoneNumber = "<purchased_phone_number>";
var releaseOperation = await client.StartReleasePhoneNumberAsync(purchasedPhoneNumber);
await releaseOperation.WaitForCompletionResponseAsync();
await WaitForCompletionResponseAsync(releaseOperation);
SipRoutingClient
SIP-törzsek és útvonalak lekérése
Szerezze be a jelenleg konfigurált csomagtartók vagy útvonalak listáját.
var trunksResponse = await client.GetTrunksAsync();
var routesResponse = await client.GetRoutesAsync();
SIP-törzsek és útvonalak cseréje
Cserélje le a jelenleg konfigurált csomagtartók vagy útvonalak listáját.
// 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);
Egyetlen csomagtartó kezelése
A SIP-csomagtartók külön kezelhetők a SipRoutingClient
használatával egyetlen csomagtartó lekéréséhez, beállításához vagy törléséhez.
Egyetlen csomagtartó lekérése
// Get trunk object, based on it's FQDN.
var fqdnToRetrieve = "<fqdn>";
var trunkResponse = await client.GetTrunkAsync(fqdnToRetrieve);
Egyetlen csomagtartó beállítása
// 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);
Egyetlen csomagtartó törlése
// Deletes trunk with supplied FQDN.
var fqdnToDelete = "<fqdn>";
await client.DeleteTrunkAsync(fqdnToDelete);
Hibaelhárítás
Következő lépések
További információ a telefonszámok kezeléséről
További információ a közvetlen útválasztásról
Közreműködés
A projektben szívesen fogadjuk a hozzájárulásokat és a javaslatokat. A legtöbb hozzájáruláshoz el kell fogadnia egy Közreműködői licencszerződést (CLA-t), amelyben kijelenti, hogy jogosult arra, hogy ránk ruházza hozzájárulása felhasználási jogát, és ezt ténylegesen meg is teszi. A részletekért látogasson el a cla.microsoft.com.
A projekt a Microsoft nyílt forráskódú projekteket szabályozó etikai kódexe, a Microsoft Open Source Code of Conduct hatálya alá esik. További információkért lásd a viselkedési szabályzattal kapcsolatos gyakori kérdéseket , vagy vegye fel a kapcsolatot opencode@microsoft.com az esetleges további kérdésekkel vagy megjegyzésekkel.
Azure SDK for .NET