Delen via


Concepten van binnenkomende oproepen

Met Gespreksautomatisering van Azure Communication Services kunnen ontwikkelaars toepassingen maken die oproepen kunnen plaatsen en ontvangen. Het maakt gebruik van Event Grid-abonnementen om gebeurtenissen te leveren IncomingCall , waardoor het essentieel is om uw omgeving zo te configureren dat deze meldingen voor uw toepassing worden ontvangen om een oproep effectief te omleiden of beantwoorden. Daarom is het begrijpen van de basisprincipes van binnenkomende oproepen essentieel voor het benutten van het volledige potentieel van Azure Communication Services-oproepautomatisering.

Belscenario's

Voordat u uw omgeving instelt, is het belangrijk om inzicht te hebben in de scenario's die een IncomingCall gebeurtenis kunnen activeren. Als u een IncomingCall gebeurtenis wilt activeren, moet een oproep worden gedaan naar een Azure Communication Services-identiteit of een PSTN-nummer (Public Switched Telephone Network) dat is gekoppeld aan uw Azure Communication Services-resource. Hier volgen enkele voorbeelden van deze resources:

  1. Een Azure Communication Services-identiteit
  2. Een PSTN-telefoonnummer dat eigendom is van uw Azure Communication Services-resource

In deze voorbeelden worden in de volgende scenario's een IncomingCall gebeurtenis geactiveerd die naar Event Grid wordt verzonden:

Bron Doel Scenario('s)
Azure Communication Services-identiteit Azure Communication Services-identiteit Bellen, Omleiden, Deelnemer toevoegen, Doorverbinden
Azure Communication Services-identiteit PSTN-nummer dat eigendom is van uw Azure Communication Services-resource Bellen, Omleiden, Deelnemer toevoegen, Doorverbinden
Openbare PSTN PSTN-nummer dat eigendom is van uw Azure Communication Services-resource Bellen, Omleiden, Deelnemer toevoegen, Doorverbinden

Notitie

Het is belangrijk om te begrijpen dat een Azure Communication Services-identiteit een gebruiker of een toepassing kan vertegenwoordigen. Hoewel het platform geen ingebouwde functie heeft om expliciet een identiteit toe te wijzen aan een gebruiker of toepassing, kan dit worden bereikt door uw toepassing of ondersteunende infrastructuur. Raadpleeg de handleiding over identiteitsconcepten voor meer informatie over dit onderwerp.

Een Event Grid-resourceprovider registreren

Als u Event Grid nog niet eerder hebt gebruikt in uw Azure-abonnement, moet u mogelijk uw Event Grid-resourceprovider registreren. Voer de volgende stappen uit om de provider te registreren:

  1. Ga naar de Azure-portal.
  2. Selecteer Abonnementen in het linkermenu.
  3. Selecteer het abonnement dat u voor Event Grid gebruikt.
  4. Selecteer onder Instellingen in het menu links de optie Resourceproviders.
  5. Zoek Microsoft.EventGrid.
  6. Als uw resourceprovider niet is geregistreerd, selecteert u Registreren.

Een melding ontvangen voor binnenkomende oproepen van Event Grid

In Azure Communication Services wordt het ontvangen van een IncomingCall melding mogelijk gemaakt via een Event Grid-abonnement. Als ontvanger van de melding hebt u de flexibiliteit om te kiezen hoe u deze kunt afhandelen. Omdat de Call Automation-API gebruikmaakt van webhook-callbacks voor gebeurtenissen, is het gebruikelijk om een Event Grid-abonnement op webhook te gebruiken. De service biedt echter verschillende abonnementstypen en u hebt de vrijheid om de meest geschikte te kiezen voor uw behoeften.

Deze architectuur heeft de volgende voordelen:

  • Met behulp van Event Grid-abonnementsfilters kunt u de IncomingCall melding doorsturen naar specifieke toepassingen.
  • Toewijzings- en routeringslogica voor PSTN-nummers kan bestaan in uw toepassing in plaats van statisch online te worden geconfigureerd.
  • Zoals aangegeven in de sectie belscenario's , kan uw toepassing worden gewaarschuwd, zelfs wanneer gebruikers tussen elkaar bellen. U kunt dit scenario vervolgens combineren met de CALL Recording-API's om te voldoen aan de nalevingsbehoeften.

Raadpleeg deze handleiding voor een voorbeeld van de nettolading van de gebeurtenis en meer informatie over andere aanroepende gebeurtenissen die zijn gepubliceerd naar Event Grid.

Hier volgt een voorbeeld van een Event Grid Webhook-abonnement waarbij het gebeurtenistypefilter alleen naar de IncomingCall gebeurtenis luistert.

Image showing IncomingCall subscription.

Opties voor oproeproutering met Gespreksautomatisering en Event Grid

In Gespreksautomatisering en Event Grid kan oproeproutering worden afgestemd op uw specifieke behoeften. Met behulp van geavanceerde filters binnen uw Event Grid-abonnement kunt u zich abonneren op een IncomingCall melding die betrekking heeft op een specifiek telefoonnummer voor de bron/bestemming of een Azure Communication Services-identiteit. Deze melding kan vervolgens worden omgeleid naar een eindpunt, zoals een Webhook-abonnement. Met behulp van de Call Automation SDK kan de eindpunttoepassing vervolgens een beslissing nemen om de aanroep om te leiden naar een andere Azure Communication Services-identiteit of naar het PSTN.

Notitie

Om ervoor te zorgen dat uw toepassing alleen de benodigde gebeurtenissen ontvangt, wordt u aangeraden om filteren in Event Grid te configureren. Dit is met name van cruciaal belang in scenario's die gebeurtenissen genereren IncomingCall , zoals het omleiden van een binnenkomende PSTN-aanroep naar een Azure Communication Services-eindpunt. Als er geen filter wordt gebruikt, ontvangt uw Event Grid-abonnement twee IncomingCall gebeurtenissen: één voor de PSTN-oproep en één voor de Azure Communication Services-gebruiker, ook al hebt u alleen de eerste melding ontvangen. Als u dergelijke scenario's niet verwerkt met behulp van filters of andere mechanismen in uw toepassing, kan dit leiden tot oneindige lussen en ander ongewenst gedrag.

Hier volgt een voorbeeld van een geavanceerd filter voor een Event Grid-abonnement dat kijkt naar de data.to.PhoneNumber.Value tekenreeks die begint met een PSTN-telefoonnummer van +18005551212.

Image showing Event Grid advanced filter.

Nummertoewijzing

Wanneer u de IncomingCall melding in Azure Communication Services gebruikt, hebt u de vrijheid om een bepaald getal te koppelen aan een eindpunt. Als u bijvoorbeeld een PSTN-telefoonnummer hebt +14255551212 verkregen en dit wilt toewijzen aan een gebruiker met een identiteit in 375f0e2f-e8db-4449-9bf7-2054b02e42b4 uw toepassing, moet u een toewijzing van dat nummer aan de identiteit behouden. Wanneer een IncomingCall melding wordt verzonden die overeenkomt met het telefoonnummer in het veld Aan , kunt u de Redirect API aanroepen en de identiteit van de gebruiker opgeven. Met andere woorden, u kunt de nummertoewijzing in uw toepassing beheren en oproepen routeren of beantwoorden tijdens runtime.

Beste praktijken

  1. Om ervoor te zorgen dat Event Grid gebeurtenissen levert aan uw Webhook-eindpunt en voorkomt dat kwaadwillende gebruikers uw eindpunt overspoelen met gebeurtenissen, moet u het eigendom van uw eindpunt bewijzen. Als u problemen met het ontvangen van gebeurtenissen wilt oplossen, controleert u of de webhook die u hebt geconfigureerd, is geverifieerd door de verwerking SubscriptionValidationEvent. Raadpleeg deze handleiding voor meer informatie.

  2. Wanneer een binnenkomende oproepgebeurtenis wordt ontvangen en uw toepassing niet meer reageert met een 200Ok-statuscode naar Event Grid binnen de vereiste periode, gebruikt Event Grid exponentieel uitstel om de gebeurtenis opnieuw te verzenden. Een binnenkomende oproep gaat echter slechts 30 seconden over en reageert op een oproep na die tijd niet meer. Als u nieuwe pogingen voor verlopen of verlopen oproepen wilt voorkomen, raden we u aan om het beleid voor opnieuw proberen in te stellen als Max Event Delivery-pogingen tot 2 en Event Time to Live op 1 minuut. U vindt deze instellingen op het tabblad Aanvullende functies van het gebeurtenisabonnement. Meer informatie over nieuwe pogingen vindt u hier.

  3. U wordt aangeraden logboekregistratie in te schakelen voor uw Event Grid-resource om gebeurtenissen te bewaken die niet kunnen worden geleverd. Hiervoor gaat u naar het systeemonderwerp op het tabblad Gebeurtenissen van uw communicatieresource en schakelt u logboekregistratie in vanuit de diagnostische instellingen. Foutlogboeken vindt u in de tabel AegDeliveryFailureLogs.

    AegDeliveryFailureLogs
    | limit 10 
    | where Message has "incomingCall"
    

Volgende stappen

  • Probeer de quickstart uit om een uitgaande oproep te plaatsen.