Přehled automatizace volání
Automatizace volání služeb Azure Communication Services poskytuje vývojářům možnost vytvářet serverové, inteligentní pracovní postupy volání a zaznamenávat hovory pro kanály hlasové a veřejné telefonní sítě (PSTN). Sady SDK dostupné v jazyce C#, Java, JavaScript a Python používají model událostí akcí, který vám pomůže vytvářet přizpůsobené interakce zákazníků. Komunikační aplikace můžou naslouchat událostem volání v reálném čase a provádět akce řídicí roviny (jako je odpověď, přenos, přehrávání zvuku, spuštění nahrávání atd.) a řídit volání na základě obchodní logiky.
Poznámka:
Automatizace volání v současné době nepodporuje hovory místností .
Běžné případy použití
Mezi běžné případy použití, které je možné sestavit pomocí automatizace volání, patří:
- Programová volání VoIP nebo veřejné telefonní sítě pro transakční pracovní postupy, jako jsou připomenutí volání kliknutím a událostí za účelem zlepšení služeb zákazníkům.
- Vytvářejte interaktivní pracovní postupy interakce pro samoobslužné zákazníky pro případy použití, jako jsou rezervace objednávek a aktualizace, pomocí akcí Přehrát (Zvuková adresa URL, Převod textu na řeč a SSML) a Rozpoznávání (DTMF a Hlas).
- Integrujte komunikační aplikace s kontaktními centry a privátními telefonními sítěmi pomocí přímého směrování.
- Chraňte identitu zákazníka vytvořením služeb maskování čísel, které propojují kupující s prodejci nebo uživateli s partnerskými dodavateli na vaší platformě.
- Zvyšte zapojení vytvářením automatizovaných zákaznických programů pro marketing a zákaznické služby.
- Analyzujte během následného volání vaše nemixované zvukové nahrávky pro účely zajištění kvality.
Automatizaci volání služeb Azure Communication Services je možné použít k vytváření pracovních postupů volání pro scénáře zákaznických služeb, jak je znázorněno v architektuře vysoké úrovně. Příchozí hovory můžete přijmout nebo volat na odchozí hovory. Proveďte akce, jako je přehrání uvítací zprávy, připojení zákazníka k živému agentu v klientské aplikaci sady SDK volající služby Azure Communication Services, aby odpověděl na příchozí žádost o volání. S podporou veřejné telefonní sítě nebo přímého směrování služeb Azure Communication Services pak můžete tento pracovní postup připojit zpět ke svému kontaktnímu centru.
Možnosti
Následující seznam obsahuje sadu funkcí, které jsou aktuálně dostupné v sadách SDK služby Azure Communication Services Call Automation.
Oblast funkcí | Schopnost | .NET | Java | JavaScript | Python |
---|---|---|---|---|---|
Scénáře před voláním | Přijetí hovoru 1:1 | ✔️ | ✔️ | ✔️ | ✔️ |
Přijetí skupinového hovoru | ✔️ | ✔️ | ✔️ | ✔️ | |
Umístění nového odchozího volání do jednoho nebo více koncových bodů | ✔️ | ✔️ | ✔️ | ✔️ | |
Přesměrování* (přesměrování) volání na jeden nebo více koncových bodů | ✔️ | ✔️ | ✔️ | ✔️ | |
Odmítnutí příchozího hovoru | ✔️ | ✔️ | ✔️ | ✔️ | |
Scénáře mid-call | Přidání jednoho nebo více koncových bodů do existujícího volání | ✔️ | ✔️ | ✔️ | ✔️ |
Zrušení přidání koncového bodu do existujícího volání | ✔️ | ✔️ | ✔️ | ✔️ | |
Přehrávání zvuku ze zvukového souboru | ✔️ | ✔️ | ✔️ | ✔️ | |
Přehrávání zvuku pomocí převodu textu na řeč | ✔️ | ✔️ | ✔️ | ✔️ | |
Rozpoznávání uživatelského vstupu prostřednictvím DTMF | ✔️ | ✔️ | ✔️ | ✔️ | |
Rozpoznávání uživatelských hlasových vstupů | ✔️ | ✔️ | ✔️ | ✔️ | |
Spuštění průběžného rozpoznávání DTMF | ✔️ | ✔️ | ✔️ | ✔️ | |
Zastavení průběžného rozpoznávání DTMF | ✔️ | ✔️ | ✔️ | ✔️ | |
Odeslat DTMF | ✔️ | ✔️ | ✔️ | ✔️ | |
Ztlumit účastníka | ✔️ | ✔️ | ✔️ | ✔️ | |
Odebrání jednoho nebo více koncových bodů z existujícího volání | ✔️ | ✔️ | ✔️ | ✔️ | |
Nevidomý přenos* volání 1:1 do jiného koncového bodu | ✔️ | ✔️ | ✔️ | ✔️ | |
Nevidomý přenos* účastníka ze skupinového hovoru do jiného koncového bodu | ✔️ | ✔️ | ✔️ | ✔️ | |
Zavěste hovor (odeberte nohu hovoru) | ✔️ | ✔️ | ✔️ | ✔️ | |
Ukončení hovoru (odebrání všech účastníků a ukončení hovoru) | ✔️ | ✔️ | ✔️ | ✔️ | |
Zrušení operací s multimédii | ✔️ | ✔️ | ✔️ | ✔️ | |
Sdílení vlastních informací (prostřednictvím hlaviček VOIP nebo SIP) s koncovými body při jejich přidávání do hovoru nebo při přenosu volání na ně | ✔️ | ✔️ | ✔️ | ✔️ | |
Scénáře dotazů | Získání stavu volání | ✔️ | ✔️ | ✔️ | ✔️ |
Získání účastníka v hovoru | ✔️ | ✔️ | ✔️ | ✔️ | |
Zobrazení seznamu všech účastníků hovoru | ✔️ | ✔️ | ✔️ | ✔️ | |
Nahrávání hovorů | Spuštění, pozastavení, obnovení/ zastavení nahrávání | ✔️ | ✔️ | ✔️ | ✔️ |
*Převod nebo přesměrování hovoru VoIP na telefonní číslo se v současné době nepodporuje.
Architektura
Automatizace volání používá rozhraní REST API k příjmu požadavků a poskytování odpovědí na všechny akce prováděné v rámci služby. Vzhledem k asynchronní povaze volání má většina akcí odpovídající události, které se aktivují, když se akce úspěšně dokončí nebo selže.
Služba Azure Communication Services používá Event Grid k doručování událostí IncomingCall a webhooků HTTPS pro všechny zpětné volání volání v polovině volání.
Akce volání
Akce před voláním
Tyto akce se provádějí před připojením cílového koncového bodu uvedeného v oznámení o události IncomingCall. Události zpětného volání webového háku komunikují pouze o akci předběžného volání odpovědi, nikoli o akce zamítnutí nebo přesměrování.
Odpověď pomocí události IncomingCall z Event Gridu a sady SDK pro automatizaci volání může vaše aplikace přijmout volání. Tato akce umožňuje scénáře IVR, ve kterých může vaše aplikace programově odpovídat na příchozí volání do veřejné telefonní sítě. Mezi další scénáře patří přijetí hovoru jménem uživatele.
Odmítnout odmítnout volání znamená, že vaše aplikace může přijmout příchozí volání a zabránit připojení volání k cílovému koncovému bodu.
Přesměrovat pomocí události IncomingCall z Event Gridu je možné volání přesměrovat na jeden nebo více koncových bodů, které vytvářejí jeden nebo souběžný scénář vyzvánění (sim-ring). Akce přesměrování neodpovídá na hovor, hovor se jednoduše přesměruje nebo přesměruje do jiného cílového koncového bodu, na který se má odpovědět.
Akce Vytvořit volání vytvořit hovor lze použít k umístění odchozích hovorů na telefonní čísla a pro ostatní uživatele komunikace. Případy použití zahrnují, že aplikace umísťuje odchozí volání, aby proaktivně informovala uživatele o výpadku nebo o aktualizaci objednávky.
Mid-call actions
Tyto akce je možné provést na voláních, která jsou zodpovězena nebo umístěna pomocí sad SDK pro automatizaci volání. Každá akce uprostřed volání má odpovídající událost zpětného volání webhooku pro úspěch nebo selhání.
Přidat nebo odebrat účastníky jednoho nebo více účastníků lze přidat do jediné žádosti, přičemž každý účastník je variantou podporovaných cílových koncových bodů. Zpětné volání webhooku se odešle každému účastníkovi, který byl úspěšně přidán do hovoru.
Přehrajte , když vaše aplikace přijme hovor nebo přijme odchozí hovor, můžete volajícímu přehrát zvukový dotaz. Tento zvuk lze v případě potřeby opakovat ve scénářích, jako je přehrávání hudby. Další informace najdete v našich konceptech a návodu k přizpůsobení hlasových výzev uživatelům pomocí akce Přehrát.
Rozpoznávání vstupu Po přehrávce zvukové výzvy aplikace můžete požádat o vstup uživatele pro řízení obchodní logiky a navigace v aplikaci. Další informace najdete v našich konceptech a návodech pro shromažďování uživatelských vstupů.
Průběžné rozpoznávání DTMF, když vaše aplikace musí být schopná přijímat tóny DTMF v jakémkoli okamžiku volání, aniž by aplikace potřebovala aktivovat konkrétní akci rozpoznávání. To může být užitečné ve scénářích, kdy je agent na volání a potřebuje, aby uživatel zadal určitý druh ID nebo sledovací číslo. Další informace o tom, jak používat tento průvodce.
Odeslat DTMF , když vaše aplikace potřebuje odeslat tóny DTMF externímu účastníkovi, může to být pro účely vytáčení externího agenta a zadání čísla rozšíření nebo něco jako navigace v externí nabídce IVR.
Ztlumení aplikace může ztlumit určité uživatele na základě obchodní logiky. Pokud chce uživatel mluvit, bude muset ztlumení zrušit ručně.
Přepojujte , když vaše aplikace přijme hovor nebo umístí odchozí volání do koncového bodu, je možné ho přenést do jiného cílového koncového bodu. Přenos volání 1:1 odebere schopnost aplikace řídit volání pomocí sad SDK pro automatizaci volání.
Zaznamenejte , kdy se rozhodnete spustit, pozastavit, obnovit nebo zastavit záznam na základě obchodní logiky vaší aplikace, nebo můžete koncovému uživateli udělit řízení, aby tyto akce aktivoval. Další informace najdete v našich konceptech a rychlém startu.
Zavěsit , jakmile vaše aplikace přijme volání typu 1:1, akce zavěsí se odebere noha volání a ukončí hovor s druhým koncovým bodem. Pokud je volání (skupinové volání) více než dva účastníky, provedení akce "zavěsit" odebere koncový bod vaší aplikace z volání skupiny.
Ukončete , jestli vaše aplikace odpověděla na hovor typu 1:1 nebo skupinový hovor, nebo umístila odchozí hovor s jedním nebo více účastníky, tato akce odebere všechny účastníky a ukončí hovor. Tato operace se aktivuje nastavením forEveryOne
vlastnosti na hodnotu true v akci volání zavěsit.
Zrušení operací s multimédii na základě obchodní logiky může vyžadovat zrušení probíhajících a zařazených mediálních operací ve frontě. V závislosti na zrušené operaci média a událostech ve frontě se zobrazí událost webhooku, která označuje, že akce byla zrušena.
Scénáře dotazů
Seznam účastníků vrátí seznam všech účastníků hovoru. V tomto seznamu se vynechá záznam a přepis robotů.
Událost
Následující tabulka popisuje aktuální události generované službou Azure Communication Services. Následující dvě tabulky popisují události generované Event Gridem a z automatizace volání jako události webhooku.
Události Event Gridu
Většina událostí odesílaných službou Event Grid je nezávislá na platformě, což znamená, že se vygenerují bez ohledu na sadu SDK (volání nebo automatizace volání). I když můžete vytvořit odběr pro libovolnou událost, doporučujeme použít událost IncomingCall pro všechny případy použití automatizace volání, ve kterých chcete řídit volání prostřednictvím kódu programu. Pro účely generování sestav a telemetrie použijte další události.
Událost | Popis |
---|---|
IncomingCall | Oznámení o hovoru na komunikačního uživatele nebo telefonní číslo |
CallStarted | Vytvoří se volání (příchozí nebo odchozí) |
CallEnded | Hovor se ukončí a všichni účastníci se odeberou. |
ÚčastníkAdded | Účastník byl přidán do hovoru. |
ÚčastníkRemoved | Účastník byl odebrán z hovoru. |
RecordingFileStatusUpdated | Soubor záznamu je k dispozici. |
Další informace o těchto událostech a schématu datové části najdete tady.
Události webhooku služby Automation
Události automatizace volání se odesílají do identifikátoru URI zpětného volání webového háku zadaného při přijetí nebo umístění nového odchozího volání.
Událost | Popis |
---|---|
Zavolat Připojení | Noha volání vaší aplikace je připojená (příchozí nebo odchozí) |
CallDisconnected | Noha volání vaší aplikace je odpojená. |
CallTransferAccepted | Noha volání vaší aplikace byla přenesena do jiného koncového bodu. |
CallTransferFailed | Přenos noha volání vaší aplikace selhala. |
AddParticipantSucceeded | Vaše aplikace přidala účastníka. |
AddParticipantFailed | Vaše aplikace nemohla přidat účastníka. |
CancelAddParticipantSucceeded | Vaše aplikace zrušila přidání účastníka. |
CancelAddParticipantFailed | Vaše aplikace nemohla zrušit přidání účastníka. |
RemoveParticipantSucceeded | Vaše aplikace úspěšně odebrala účastníka z hovoru. |
RemoveParticipantFailed | Vaše aplikace nemohla odebrat účastníka z hovoru. |
ParticipantsUpdated | Stav účastníka se změnil, když byla noha hovoru vaší aplikace připojena k hovoru. |
PlayCompleted | Aplikace úspěšně přehrála zadaný zvukový soubor. |
PlayFailed | Aplikaci se nepodařilo přehrát zvuk. |
PlayCanceled | Požadovaná akce přehrávání byla zrušena. |
RecognizeCompleted | Rozpoznávání uživatelského vstupu bylo úspěšně dokončeno. |
RecognizeCanceled | Požadovaná akce rozpoznávání byla zrušena. |
Rozpoznávání selhalo | Rozpoznání vstupu uživatele bylo neúspěšné Další informace o rozpoznávání událostí akcí najdete v našem průvodci postupy pro shromažďování uživatelských vstupů. |
RecordingStateChanged | Stav akce záznamu se změnil z aktivní na neaktivní nebo naopak |
ContinuousDtmfRecognitionToneReceived | StartContinuousDtmfRecognition se úspěšně dokončil a od účastníka byl přijat tón DTMF. |
ContinuousDtmfRecognitionToneFailed | SpuštěníContinuousDtmfRecognition se dokončilo, ale při zpracování tónu DTMF od účastníka došlo k chybě. |
ContinuousDtmfRecognitionStopped | Úspěšně spuštěno StopContinuousRecognition |
SendDtmfCompleted | Funkce SendDTMF byla úspěšně dokončena a tóny DTMF byly odeslány cílovému účastníkovi. |
SendDtmfFailed | Při odesílání tónů DTMF došlo k chybě. |
Pokud chcete zjistit, které události se publikují pro různé akce, projděte si tohoto průvodce , který poskytuje ukázky kódu a sekvenční diagramy pro různé toky řízení volání.
Při potvrzení událostí zpětného volání je vhodné reagovat standardními stavovými kódy HTTP, jako je 200 OK. Podrobné informace jsou zbytečné a jsou vhodnější pro procesy ladění.
Informace o zabezpečení doručování událostí zpětného volání najdete v této příručce.
Identifikátor URI zpětného volání operace
Jedná se o volitelný parametr v některých rozhraních API mid-call, která používají události jako asynchronní odpovědi. Ve výchozím nastavení se všechny události odesílají do výchozího identifikátoru URI zpětného volání nastaveného rozhraním API CreateCall / AnswerCall, když uživatel vytvoří volání. Při použití identifikátoru URI zpětného volání operace se do nového identifikátoru URI odešlou odpovídající události tohoto individuálního požadavku (pouze jednou).
Podporované rozhraní API | Odpovídající událost |
---|---|
AddParticipant | AddParticipantSucceed / AddParticipantFailed |
RemoveParticipant | RemoveParticipantSucceed / RemoveParticipantFailed |
TransferCall | CallTransferAccepted / CallTransferFailed |
CancelAddParticipant | CancelAddParticipantSucceeded / CancelAddParticipantFailed |
Přehrát | PlayCompleted / PlayFailed / PlayCanceled |
PlayToAll | PlayCompleted / PlayFailed / PlayCanceled |
Recognize | RecognizeCompleted / RecognizeFailed / RecognizeCanceled |
StopContinuousDTMFRecognition | ContinuousDtmfRecognitionStopped |
SendDTMF | ContinuousDtmfRecognitionToneReceived / ContinuousDtmfRecognitionToneFailed |
Další kroky
Tady je několik článků, které vás zajímají:
- Seznamte se s poplatky za různé případy použití volání s příklady.
- Vyzkoušejte rychlý start pro umístění odchozího hovoru.
- Přečtěte si o využití a provozních protokolech publikovaných automatizací volání.