Megosztás a következőn keresztül:


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 SipRoutingClienthaszná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.