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.
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.
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
Verwante artikelen:
- Meer informatie over hoe uw resource in rekening wordt gebracht voor verschillende aanroepende use cases met voorbeelden.
- Zie de quickstart voor het plaatsen van een uitgaande oproep.
- Meer informatie over gebruiks- en operationele logboeken die zijn gepubliceerd door gespreksautomatisering.