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 (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.
Notitie
Gespreksautomatisering biedt momenteel geen ondersteuning voor chatgesprekken .
Veelvoorkomende toepassingen
Enkele veelvoorkomende gebruiksvoorbeelden die kunnen worden gebouwd met behulp van Gespreksautomatisering zijn onder andere:
- 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, Text-to-Speech 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.
Azure Communication Services Call Automation kan worden gebruikt 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 het afspelen van een welkomstbericht, waarbij de klant verbinding maakt met een liveagent in een Client-app voor aanroepen 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.
Functies
De volgende lijst bevat de set functies die momenteel beschikbaar zijn 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 | ✔️ | ✔️ | ✔️ | ✔️ | |
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 | ✔️ | ✔️ | ✔️ | ✔️ | |
Een of meer eindpunten verwijderen uit een bestaande aanroep | ✔️ | ✔️ | ✔️ | ✔️ | |
Blinde overdracht* een 1:1-aanroep naar een ander eindpunt | ✔️ | ✔️ | ✔️ | ✔️ | |
Blinde overdracht* een deelnemer 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 | ✔️ | ✔️ | ✔️ | ✔️ |
*Doorverbinden of omleiden van een VoIP-oproep naar een telefoonnummer wordt momenteel 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.
Oproepacties
Acties vooraf aanroepen
Deze acties worden uitgevoerd voordat het doeleindpunt dat wordt vermeld in de inkomendeCall-gebeurtenismelding is verbonden. Webhookaanroepgebeurtenissen communiceren alleen de actie 'beantwoorden' vooraf, niet voor weigerings- of omleidingsacties.
Antwoord: Met behulp van de gebeurtenis IncomingCall van Event Grid en de Call Automation SDK kan een aanroep worden beantwoord door uw toepassing. Met deze actie kunt u IVR-scenario's uitvoeren 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 oproep is verbonden met het doeleindpunt.
Redirect Using the IncomingCall event from Event Grid, a call can be redirect to one or more endpoints creating a single or simultaneous ringing (sim-ring) scenario. Omleidingsactie beantwoordt de oproep niet, de oproep wordt gewoon omgeleid of doorgestuurd naar een ander doeleindpunt dat moet worden beantwoord.
De actie Oproep maken maken kan worden gebruikt 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.
Mid-callacties
Deze acties kunnen worden uitgevoerd voor de oproepen die worden beantwoord of geplaatst met behulp van Call Automation SDK's. Elke mid-callactie heeft een bijbehorende geslaagde of mislukte webhook-callbackgebeurtenis.
Een of meer deelnemers kunnen worden toegevoegd aan één aanvraag, 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. Bekijk onze concepten en instructies voor het aanpassen van spraakprompts aan gebruikers met play-actie 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. Bekijk onze concepten en procedures voor het verzamelen van gebruikersinvoer voor meer informatie.
Continue DTMF-herkenning Wanneer uw toepassing DTMF-tonen op elk moment in de aanroep moet kunnen ontvangen zonder dat de toepassing een specifieke recognize-actie moet activeren. Dit kan handig zijn in scenario's waarin een agent een oproep doet en de gebruiker een bepaald type id of traceringsnummer moet invoeren. Voor meer informatie over het gebruik van deze handleiding vindt u in onze handleiding.
DTMF verzenden Wanneer uw toepassing DTMF-tonen naar een externe deelnemer moet verzenden, kan dit zijn voor doeleinden zoals uitbellen naar een externe agent en het instellen van het extensienummer, of iets zoals navigeren in een extern IVR-menu.
Uw toepassing dempen kan bepaalde gebruikers dempen op basis van uw bedrijfslogica. De gebruiker moet het dempen vervolgens handmatig opheffen als hij of zij wil spreken.
Doorschakelen 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.
Neem op 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 heeft beantwoord, verwijdert de actie ophangen de oproepbeen en beëindigt u de oproep met het andere eindpunt. 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ëindig of uw toepassing een een-op-een- of groepsgesprek heeft beantwoord of een uitgaande oproep met een of meer deelnemers heeft geplaatst. Met deze actie worden alle deelnemers verwijderd en wordt de oproep beëindigd. Deze bewerking wordt geactiveerd door de eigenschap in te stellen forEveryOne
op true 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 mediabewerking die is geannuleerd en de media in de wachtrij, ontvangt u een webhookgebeurtenis die aangeeft dat de actie is geannuleerd.
Queryscenario's
Lijst met deelnemers 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, wat betekent dat ze worden verzonden, ongeacht de SDK (Aanroepen of Oproepautomatisering). Hoewel u een abonnement voor elke gebeurtenis kunt maken, wordt u aangeraden de gebeurtenis IncomingCall te gebruiken voor alle use cases voor gespreksautomatisering waarbij u de oproep programmatisch wilt beheren. Gebruik de andere gebeurtenissen voor rapportage-/telemetriedoeleinden.
Gebeurtenis | Beschrijving |
---|---|
IncomingCall | Melding van een oproep naar een communicatiegebruiker of telefoonnummer |
CallStarted | Er wordt een oproep tot stand gebracht (inkomend of uitgaand) |
CallEnded | Een oproep wordt beëindigd en alle deelnemers worden verwijderd |
ParticipantAdded | Een deelnemer is toegevoegd aan een gesprek |
ParticipantRemoved | Een deelnemer is verwijderd uit een gesprek |
RecordingFileStatusUpdated | Er is een opnamebestand beschikbaar |
Lees hier meer over deze gebeurtenissen en het payloadschema
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 |
---|---|
Gesprek Verbinding maken ed | De aanroepfase van uw toepassing is verbonden (inkomend of uitgaand) |
CallDisconnected | De aanroep van uw toepassing is verbroken |
CallTransferAccepted | De aanroeppoot van uw toepassing is overgebracht naar een ander eindpunt |
CallTransferFailed | De overdracht van het aanroepbeen van uw toepassing is mislukt |
AddParticipantSucceeded | Uw toepassing heeft een deelnemer toegevoegd |
AddParticipantFailed | Uw toepassing kan geen deelnemer toevoegen |
CancelAddParticipantSucceeded | Uw toepassing heeft het toevoegen van een deelnemer geannuleerd |
CancelAddParticipantFailed | Uw toepassing kan het toevoegen van een deelnemer niet annuleren |
RemoveParticipantSucceeded | Uw toepassing heeft een deelnemer uit de oproep verwijderd. |
RemoveParticipantFailed | Uw toepassing kan een deelnemer niet verwijderen uit het gesprek. |
ParticipantsUpdated | De status van een deelnemer is gewijzigd terwijl het gespreksbeen van 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 | De herkenning van gebruikersinvoer is voltooid |
RecognizeCanceled | De aangevraagde actie voor herkennen is geannuleerd |
RecognizeFailed | Herkenning van gebruikersinvoer is mislukt voor meer informatie over het herkennen van actiegebeurtenissen bekijk onze handleiding voor het verzamelen van gebruikersinvoer |
RecordingStateChanged | De status van de opnameactie is gewijzigd van actief naar inactief of omgekeerd |
ContinuousDtmfRecognitionToneReceived | StartContinuousDtmfRecognition is 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 | StopContinuousRecognition is uitgevoerd |
SendDtmfCompleted | SendDTMF is voltooid en de DTMF-tonen zijn verzonden naar de doeldeelnemer |
SendDtmfFailed | Er is een fout opgetreden bij het verzenden van de DTMF-tonen |
Als u wilt weten welke gebeurtenissen voor verschillende acties worden gepubliceerd, raadpleegt u deze handleiding met codevoorbeelden en sequentiediagrammen voor verschillende oproepbeheerstromen.
Wanneer u callback-gebeurtenissen bevestigt, is het raadzaam om te reageren met standaard HTTP-statuscodes zoals 200 OK. Gedetailleerde informatie is overbodig en is geschikter voor uw foutopsporingsprocessen.
Raadpleeg deze handleiding voor meer informatie over het beveiligen van de levering van de callback-gebeurtenis.
Callback-URI voor bewerking
Het is een optionele parameter in sommige API's voor het midden van aanroepen die gebeurtenissen gebruiken als hun asynchrone antwoorden. Standaard worden alle gebeurtenissen verzonden naar de standaard callback-URI die is ingesteld door CreateCall/AnswerCall-API wanneer de gebruiker een aanroep tot stand brengt. Met het gebruik van de callback-URI van de bewerking worden overeenkomstige gebeurtenissen van deze afzonderlijke aanvraag (eenmalig) verzonden naar de nieuwe URI.
Ondersteunde API | Bijbehorende gebeurtenis |
---|---|
AddParticipant | AddParticipantSucceed / AddParticipantFailed |
RemoveParticipant | RemoveParticipantSucceed / RemoveParticipantFailed |
TransferCall | CallTransferAccepted / CallTransferFailed |
CancelAddParticipant | CancelAddParticipantSucceeded / CancelAddParticipantFailed |
Afspelen | PlayCompleted / PlayFailed / PlayCanceled |
PlayToAll | PlayCompleted / PlayFailed / PlayCanceled |
Recognize | RecognizeCompleted / RecognizeFailed / RecognizeCanceled |
StopContinuousDTMFRecognition | ContinuousDtmfRecognitionStopped |
SendDTMF | ContinuousDtmfRecognitionToneReceived / ContinuousDtmfRecognitionToneFailed |
Volgende stappen
Hier volgen enkele artikelen die voor u interessant zijn:
- Meer informatie over hoe uw resource in rekening wordt gebracht voor verschillende aanroepende use cases met voorbeelden.
- Probeer de quickstart uit om een uitgaande oproep te plaatsen.
- Meer informatie over gebruiks- en operationele logboeken die zijn gepubliceerd door gespreksautomatisering.