Delen via


Overzicht van Gespreksautomatisering

Azure Communication Services Call Automation biedt ontwikkelaars de mogelijkheid om op servers gebaseerde, intelligente oproepwerkstromen en oproepopnamen te bouwen voor pstN-kanalen (Voice and Public Switched Telephone Network). De SDK's, beschikbaar in C#, Java, JavaScript en Python, gebruiken een actiegebeurtenismodel om u te helpen bij het bouwen van persoonlijke klantinteracties. Uw communicatietoepassingen kunnen luisteren naar realtime oproepgebeurtenissen en besturingsvlakacties uitvoeren (zoals beantwoorden, overdragen, audio afspelen, opname starten, enzovoort) om oproepen te sturen en te beheren op basis van uw bedrijfslogica.

Veelvoorkomende toepassingen

Enkele veelvoorkomende gebruiksvoorbeelden die u kunt bouwen met behulp van Gespreksautomatisering:

  • Programma VoIP- of PSTN-oproepen voor transactionele werkstromen, zoals klik-en-aanroep- en afspraakherinneringen om de klantenservice te verbeteren.
  • Bouw interactieve interactiewerkstromen om klanten zelf te bedienen voor gebruiksvoorbeelden zoals orderboekingen en updates, met behulp van Play-URL, Tekst-naar-Spraak en SSML) en Recognize-acties (DTMF en Voice).
  • Integreer uw communicatietoepassingen met Contact Centers en uw privételefonienetwerken met behulp van Directe routering.
  • Bescherm de identiteit van uw klant door nummermaskeringsservices te bouwen om kopers te verbinden met verkopers of gebruikers met partnerleveranciers op uw platform.
  • Verhoog de betrokkenheid door geautomatiseerde programma's voor klantenservice en marketing te bouwen.
  • Analyseer in een post-callproces uw ongemixte audio-opnamen voor kwaliteitsgarantiedoeleinden.

Gebruik Azure Communication Services Call Automation om belwerkstromen te bouwen voor klantservicescenario's, zoals wordt weergegeven in de architectuur op hoog niveau. U kunt binnenkomende oproepen beantwoorden of uitgaande gesprekken voeren. Voer acties uit zoals een welkomstbericht afspelen of de klant verbinden met een liveagent in een Client-app voor aanroepende SDK van Azure Communication Services om de binnenkomende oproepaanvraag te beantwoorden. Met ondersteuning voor PSTN van Azure Communication Services of directe routering kunt u deze werkstroom vervolgens weer verbinden met uw contactcentrum.

Diagram van de oproepstroom voor een klantenservicescenario.

Functies

De volgende functies zijn momenteel beschikbaar in de Azure Communication Services Call Automation SDK's.

Functiegebied Mogelijkheid .NET Java JavaScript Python
Scenario's vooraf aanroepen Een een-op-een-oproep beantwoorden ✔️ ✔️ ✔️ ✔️
Een groepsgesprek beantwoorden ✔️ ✔️ ✔️ ✔️
Nieuwe uitgaande aanroep naar een of meer eindpunten plaatsen ✔️ ✔️ ✔️ ✔️
Een aanroep naar een of meer eindpunten omleiden* (doorsturen) ✔️ ✔️ ✔️ ✔️
Een inkomende oproep weigeren ✔️ ✔️ ✔️ ✔️
Verbinding maken met een doorlopend gesprek of ruimte ✔️ ✔️ ✔️ ✔️
Scenario's voor middengesprekken Een of meer eindpunten toevoegen aan een bestaande aanroep ✔️ ✔️ ✔️ ✔️
Een eindpunt toevoegen aan een bestaande aanroep annuleren ✔️ ✔️ ✔️ ✔️
Audio afspelen vanuit een audiobestand ✔️ ✔️ ✔️ ✔️
Audio afspelen met tekst-naar-spraak ✔️ ✔️ ✔️ ✔️
Gebruikersinvoer herkennen via DTMF ✔️ ✔️ ✔️ ✔️
Invoer van gebruikersstem herkennen ✔️ ✔️ ✔️ ✔️
Continue DTMF-herkenning starten ✔️ ✔️ ✔️ ✔️
Continue DTMF-herkenning stoppen ✔️ ✔️ ✔️ ✔️
DTMF verzenden ✔️ ✔️ ✔️ ✔️
Deelnemer dempen ✔️ ✔️ ✔️ ✔️
Audiostreaming starten/stoppen (openbare preview) ✔️ ✔️ ✔️ ✔️
Realtime transcriptie starten/stoppen (openbare preview) ✔️ ✔️ ✔️ ✔️
Een of meer eindpunten verwijderen uit een bestaande aanroep ✔️ ✔️ ✔️ ✔️
Blinde overdracht van een 1:1-aanroep naar een ander eindpunt ✔️ ✔️ ✔️ ✔️
Een deelnemer blind doorschakelen van groepsgesprek naar een ander eindpunt ✔️ ✔️ ✔️ ✔️
Een gesprek ophangen (het gespreksbeen verwijderen) ✔️ ✔️ ✔️ ✔️
Een gesprek beëindigen (alle deelnemers en eindgesprek verwijderen) ✔️ ✔️ ✔️ ✔️
Mediabewerkingen annuleren ✔️ ✔️ ✔️ ✔️
Aangepaste gegevens (via VOIP- of SIP-headers) delen met eindpunten bij het toevoegen aan een gesprek of het doorschakelen van een oproep naar hen ✔️ ✔️ ✔️ ✔️
Queryscenario's De oproepstatus ophalen ✔️ ✔️ ✔️ ✔️
Een deelnemer vragen bij een gesprek ✔️ ✔️ ✔️ ✔️
Alle deelnemers in een gesprek weergeven ✔️ ✔️ ✔️ ✔️
Opname van gesprek Opname starten/onderbreken/hervatten/stoppen ✔️ ✔️ ✔️ ✔️

* Het omleiden van een VoIP-oproep naar een telefoonnummer wordt niet ondersteund.

Architectuur

Aanroepautomatisering maakt gebruik van een REST API-interface om aanvragen te ontvangen en antwoorden te geven op alle acties die in de service worden uitgevoerd. Vanwege de asynchrone aard van het aanroepen hebben de meeste acties overeenkomende gebeurtenissen die worden geactiveerd wanneer de actie is voltooid of mislukt.

Azure Communication Services maakt gebruik van Event Grid om de IncomingCall-gebeurtenis en HTTPS-webhooks te leveren voor alle callbacks voor mid-callacties.

Schermopname van stroom voor binnenkomende oproepen en acties.

Oproepacties

Acties vooraf aanroepen

Deze acties worden uitgevoerd voordat het doeleindpunt dat wordt vermeld in de IncomingCall gebeurtenismelding is verbonden. Callbackgebeurtenissen voor webhook communiceren alleen de answer actie vooraf aanroepen, niet voor reject of redirect acties.

Antwoord : met behulp van de gebeurtenis IncomingCall van Event Grid en Call Automation SDK kan uw toepassing een oproep beantwoorden. Gebruik deze actie in IVR-scenario's waarbij uw toepassing programmatisch inkomende PSTN-aanroepen kan beantwoorden. Andere scenario's zijn onder andere het beantwoorden van een oproep namens een gebruiker.

Weigeren : als u een oproep wilt weigeren, betekent dit dat uw toepassing de IncomingCall gebeurtenis kan ontvangen en kan voorkomen dat de aanroep wordt verbonden met het doeleindpunt.

Omleiding : met behulp van de IncomingCall gebeurtenis van Event Grid kunt u een aanroep omleiden naar een ander eindpunt. De omleidingsactie beantwoordt de oproep niet. De aanroep wordt omgeleid of doorgestuurd naar een ander doeleindpunt dat moet worden beantwoord.

Oproep maken : gebruik de actie Oproep maken om uitgaande oproepen naar telefoonnummers en andere communicatiegebruikers te plaatsen. Gebruiksvoorbeelden zijn onder andere het plaatsen van uitgaande aanroepen om gebruikers proactief op de hoogte te stellen van een storing of een melding over een orderupdate.

Gesprek verbinden - Gebruik de actie Oproep verbinden om verbinding te maken met een doorlopend gesprek en actie te ondernemen. U kunt deze actie ook gebruiken om programmatisch verbinding te maken met een chatruimtegesprek en deze te beheren, zoals het uitvoeren van PSTN-uitbellen voor ruimte met behulp van uw service.

Mid-callacties

Uw toepassing kan deze acties uitvoeren op oproepen die worden beantwoord of geplaatst met behulp van Call Automation SDK's. Elke mid-callactie heeft een bijbehorende geslaagde of mislukte webhook-callbackgebeurtenis.

Deelnemer(s) toevoegen/verwijderen: u kunt een of meer deelnemers aan één aanvraag toevoegen, waarbij elke deelnemer een variatie van ondersteunde doeleindpunten is. Er wordt een webhookaanroep verzonden voor elke deelnemer die aan de oproep is toegevoegd.

Afspelen : wanneer uw toepassing een oproep beantwoordt of een uitgaande oproep plaatst, kunt u een audioprompt afspelen voor de beller. Deze audio kan indien nodig worden herhaald in scenario's zoals het afspelen van wachtmuziek. Zie Audio afspelen in gesprek en Stemprompts aanpassen aan gebruikers met de actie Afspelen voor meer informatie.

Invoer herkennen: nadat uw toepassing een audioprompt heeft afgespeeld, kunt u gebruikersinvoer aanvragen om bedrijfslogica en navigatie in uw toepassing te stimuleren. Zie Gebruikersinvoer verzamelen en instructies voor het verzamelen van gebruikersinvoer met de actie Recognize voor meer informatie.

Continue DTMF-herkenning : wanneer uw toepassing DTMF-tonen op elk gewenst moment in de aanroep moet kunnen ontvangen zonder dat de toepassing een specifieke herkenningsactie moet activeren. Deze mogelijkheid kan nuttig zijn in scenario's waarin een agent een oproep doet en de gebruiker een bepaald type id of traceringsnummer moet invoeren. Zie Mediaacties voor middengesprekken beheren voor meer informatie.

DTMF verzenden: wanneer uw toepassing DTMF-tonen naar een externe deelnemer moet verzenden. Gebruik deze actie om naar een externe agent te bellen en het toestelnummer op te geven of door een extern IVR-menu te navigeren.

Dempen : uw toepassing kan bepaalde gebruikers dempen op basis van uw bedrijfslogica. De gebruiker moet het dempen vervolgens handmatig opheffen als hij of zij wil spreken.

Overdracht : wanneer uw toepassing een oproep beantwoordt of een uitgaande oproep naar een eindpunt plaatst, kan die oproep worden doorgeschakeld naar een ander doeleindpunt. Als u een oproep van 1:1 overdraagt, wordt de mogelijkheid van uw toepassing om het gesprek te beheren met behulp van de Call Automation SDK's verwijderd.

Opnemen : u bepaalt wanneer u de opname wilt starten/onderbreken/hervatten/stoppen op basis van de bedrijfslogica van uw toepassing, of u kunt de eindgebruiker de controle geven om deze acties te activeren. Bekijk onze concepten en quickstart voor meer informatie.

Ophangen : wanneer uw toepassing een een-op-een-oproep beantwoordt, wordt met de ophangactie de oproepbeen verwijderd en wordt de oproep met het andere eindpunt beëindigd. Als er meer dan twee deelnemers zijn aan de oproep (groepsoproep), wordt het eindpunt van uw toepassing verwijderd uit de groepsoproep door een 'ophangactie' uit te voeren.

Beëindigen : of uw toepassing een-op-een- of groepsgesprek beantwoordt of een uitgaande oproep plaatst met een of meer deelnemers, met deze actie worden alle deelnemers verwijderd en wordt de oproep beëindigd. Deze bewerking wordt geactiveerd door de forEveryOne eigenschap true in te stellen in de actie Ophangen.

Mediabewerkingen annuleren: op basis van bedrijfslogica moet uw toepassing mogelijk lopende en in de wachtrij geplaatste mediabewerkingen annuleren. Afhankelijk van de geannuleerde mediabewerking en de media in de wachtrij, kan uw toepassing een webhookgebeurtenis ontvangen die aangeeft dat de actie is geannuleerd.

Audiostreaming starten/stoppen (openbare preview) - Met audiostreaming kunt u zich abonneren op realtime audiostreams vanuit een doorlopend gesprek. Zie ons concept en onze quickstart voor meer gedetailleerde richtlijnen over het aan de slag gaan met audiostreaming en informatie over callback-gebeurtenissen voor audiostreaming.

Realtime transcriptie starten/stoppen (openbare preview) - Met realtimetranscriptie hebt u toegang tot livetranscripties voor de audio van een doorlopend gesprek. Zie ons concept en onze quickstart voor meer gedetailleerde richtlijnen over het aan de slag gaan met realtime transcriptie en informatie over callbackgebeurtenissen voor realtimetranscriptie.

Queryscenario's

Deelnemers weergeven : retourneert een lijst met alle deelnemers in een gesprek. Opname- en transcriptiebots worden weggelaten uit deze lijst.

gebeurtenis

De volgende tabel bevat een overzicht van de huidige gebeurtenissen die worden verzonden door Azure Communication Services. In de volgende twee tabellen worden de gebeurtenissen beschreven die door Event Grid worden verzonden en vanuit de oproepautomatisering als webhook-gebeurtenissen.

Event Grid-gebeurtenissen

De meeste gebeurtenissen die door Event Grid worden verzonden, zijn platformneutraal. Ze worden verzonden, ongeacht de SDK (Aanroepen of Oproepautomatisering). Hoewel u een abonnement voor elke gebeurtenis kunt maken, wordt u aangeraden de IncomingCall gebeurtenis te gebruiken voor alle gebruiksscenario's voor gespreksautomatisering waarbij u de oproep programmatisch wilt beheren. Gebruik de andere gebeurtenissen voor rapportage-/telemetriedoeleinden.

Gebeurtenis Beschrijving
IncomingCall Melding van een oproep aan een communicatiegebruiker of telefoonnummer.
CallStarted Er is een aanroep tot stand gebracht (inkomend of uitgaand).
CallEnded Een oproep beëindigd en alle deelnemers verwijderd.
ParticipantAdded Een deelnemer toegevoegd aan een gesprek.
ParticipantRemoved Een deelnemer uit een gesprek verwijderd.
RecordingFileStatusUpdated Er is een opnamebestand beschikbaar.

Meer informatie over deze gebeurtenissen en het payloadschema in Azure Communication Services - Gebeurtenissen voor spraak- en videogesprekken

Webhook-gebeurtenissen voor Automation aanroepen

De Call Automation-gebeurtenissen worden verzonden naar de webhook-callback-URI die is opgegeven wanneer u een nieuwe uitgaande oproep beantwoordt of plaatst.

Gebeurtenis Beschrijving
CallConnected De aanroep is gestart (wanneer u Answer actie Create gebruikt) of uw toepassing is verbonden met een doorlopende aanroep (wanneer u actie gebruikt Connect ).
CallDisconnected De verbinding met de aanroep van uw toepassing is verbroken.
CreateCallFailed Uw toepassing kan de aanroep niet maken.
AnswerFailed Uw toepassing kan de oproep niet beantwoorden.
ConnectFailed Uw toepassing kan geen verbinding maken met een aanroep (alleen voor Connect oproepactie).
CallTransferAccepted Overdrachtsactie is voltooid en de overnemer is verbonden met de doeldeelnemer.
CallTransferFailed De overdrachtsactie is mislukt.
AddParticipantSucceeded Uw toepassing heeft een deelnemer aan het gesprek toegevoegd.
AddParticipantFailed Uw toepassing kan geen deelnemer aan het gesprek toevoegen (vanwege een fout of de deelnemer heeft de uitnodiging niet geaccepteerd)
CancelAddParticipantSucceeded Uw toepassing heeft een AddParticipant aanvraag geannuleerd (de deelnemer is niet toegevoegd aan de oproep).
CancelAddParticipantFailed Uw toepassing kan een AddParticipant-aanvraag niet annuleren (dit kan komen doordat de aanvraag al is verwerkt).
RemoveParticipantSucceeded Uw toepassing heeft een deelnemer uit het gesprek verwijderd.
RemoveParticipantFailed Uw toepassing kan een deelnemer niet verwijderen uit het gesprek.
ParticipantsUpdated De status van een deelnemer is gewijzigd terwijl uw toepassing is verbonden met een gesprek.
PlayCompleted Uw toepassing heeft het opgegeven audiobestand afgespeeld.
PlayFailed Uw toepassing kan geen audio afspelen.
PlayCanceled De aangevraagde actie voor afspelen is geannuleerd.
RecognizeCompleted Herkenning van gebruikersinvoer is voltooid.
RecognizeCanceled De aangevraagde Recognize actie is geannuleerd.
RecognizeFailed De herkenning van gebruikersinvoer is mislukt.
Zie de handleiding voor het verzamelen van gebruikersinvoer voor meer informatie over het herkennen van actiegebeurtenissen.
RecordingStateChanged De status van de opnameactie is gewijzigd van actief naar inactief of omgekeerd.
ContinuousDtmfRecognitionToneReceived StartContinuousDtmfRecognition voltooid en er is een DTMF-toon ontvangen van de deelnemer.
ContinuousDtmfRecognitionToneFailed StartContinuousDtmfRecognition voltooid, maar er is een fout opgetreden tijdens het verwerken van een DTMF-toon van de deelnemer.
ContinuousDtmfRecognitionStopped Is uitgevoerd StopContinuousRecognition.
SendDtmfCompleted SendDTMF voltooid en verzonden DTMF-tonen naar de doeldeelnemer.
SendDtmfFailed Er is een fout opgetreden tijdens het verzenden van de DTMF-tonen.

Zie Acties voor oproepbeheer om te begrijpen welke gebeurtenissen worden gepubliceerd voor verschillende acties. Het artikel bevat codevoorbeelden en sequentiediagrammen voor verschillende oproepbeheerstromen.

Als best practice bij het bevestigen van callback-gebeurtenissen, reageert u met standaard HTTP-statuscodes zoals 200 OK. Gedetailleerde informatie is overbodig en is geschikter voor uw foutopsporingsprocessen.

Zie How to secure webhook endpoint (Webhook-eindpunt beveiligen) voor meer informatie over het beveiligen van de levering van callback-gebeurtenissen.

Callback-URI voor bewerking

De URI voor callback van bewerkingen is een optionele parameter in sommige API's voor middelgrote aanroepen die gebeurtenissen gebruiken als asynchrone antwoorden. Standaard worden alle gebeurtenissen verzonden naar de standaard callback-URI die is ingesteld door CreateCall / AnswerCall API-gebeurtenissen wanneer de gebruiker een aanroep tot stand brengt. Met behulp van de URI operation callback verzendt de API overeenkomstige gebeurtenissen voor deze afzonderlijke aanvraag (alleen eenmalig) naar de nieuwe URI.

Ondersteunde API Bijbehorende gebeurtenis
AddParticipant AddParticipantSucceed / AddParticipantFailed
RemoveParticipant RemoveParticipantSucceed / RemoveParticipantFailed
TransferCall CallTransferAccepted / CallTransferFailed
CancelAddParticipant CancelAddParticipantSucceeded / CancelAddParticipantFailed
Play PlayCompleted / PlayFailed / PlayCanceled
PlayToAll PlayCompleted / PlayFailed / PlayCanceled
Recognize RecognizeCompleted / RecognizeFailed / RecognizeCanceled
StopContinuousDTMFRecognition ContinuousDtmfRecognitionStopped
SendDTMF ContinuousDtmfRecognitionToneReceived / ContinuousDtmfRecognitionToneFailed
Hold HoldFailed
StartMediaStreaming MediaStreamingStarted / MediaStreamingFailed
StopMediaStreaming MediaStreamingStopped / MediaStreamingFailed
StartTranscription TranscriptionStarted / TranscriptionFailed
UpdateTranscription TranscriptionUpdated / TranscriptionFailed
StopTranscription TranscriptionStopped / TranscriptionFailed

Volgende stappen