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, zahájení nahrávání atd.) a řídit volání na základě obchodní logiky.
Běžné případy použití
Některé běžné případy použití, které můžete sestavit pomocí automatizace volání:
- 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 (Adresa URL zvuku, 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.
Automatizace volání služeb Azure Communication Services slouží 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, nebo připojte zákazníka k živému agentu v klientské aplikaci sady SDK pro volání služeb Azure Communication Services a odpovězte 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í funkce 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 | ✔️ | ✔️ | ✔️ | ✔️ | |
Připojení k probíhajícímu hovoru nebo místnosti | ✔️ | ✔️ | ✔️ | ✔️ | |
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 | ✔️ | ✔️ | ✔️ | ✔️ | |
Spuštění/zastavení streamování zvuku (Public Preview) | ✔️ | ✔️ | ✔️ | ✔️ | |
Spuštění/zastavení přepisu v reálném čase (Public Preview) | ✔️ | ✔️ | ✔️ | ✔️ | |
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 volání 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řesměrování volání VoIP na telefonní číslo není podporováno.
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 IncomingCall
bodu uvedeného v oznámení události. Události zpětného volání webhooku answer
komunikují pouze s akcí před voláním, nikoli pro reject
akce ani redirect
akce.
Odpověď – Pomocí události IncomingCall z Event Gridu a sady SDK pro automatizaci volání může vaše aplikace přijmout volání. Tuto akci použijte ve scénářích 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 – Pokud chcete odmítnout volání, znamená to, že vaše aplikace může událost přijmout IncomingCall
a zabránit připojení volání k cílovému koncovému bodu.
Redirect – Pomocí IncomingCall
události z Event Gridu můžete přesměrovat volání do jiného koncového bodu. Akce přesměrování neodpovídá na hovor. Volání se přesměruje nebo přesměruje do jiného cílového koncového bodu, který se má přijmout.
Vytvořit hovor – pomocí akce Vytvořit hovor můžete umístit odchozí hovory na telefonní čísla a další komunikační uživatele. 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.
Připojit hovor – pomocí akce Připojit volání se připojte k probíhajícímu hovoru a proveďte na něm akce volání. Tuto akci můžete použít také k připojení a správě volání místností prostřednictvím kódu programu, jako je například volání do veřejné telefonní sítě pro místnost pomocí vaší služby.
Mid-call actions
Vaše aplikace může tyto akce provádět u volání, 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 – Jeden nebo více účastníků můžete přidat do jedné žá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řehrát – 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 tématu Přehrávání zvuku v hovoru a přizpůsobení hlasových výzev uživatelům pomocí akce Přehrát.
Rozpoznávání vstupu – Po přehrání zvukové výzvy aplikace můžete požádat o vstup uživatele, aby se v aplikaci řídila obchodní logika a navigace. Další informace najdete v tématu Shromažďování uživatelského vstupu a návodu Shromáždit uživatelský vstup pomocí akce Rozpoznávání.
Průběžné rozpoznávání DTMF – Pokud vaše aplikace potřebuje mít možnost 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í. Tato schopnost 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 najdete v tématu Jak ovládat akce médií v polovině volání.
Odeslat DTMF – Když vaše aplikace potřebuje odeslat tóny DTMF externímu účastníkovi. Tuto akci použijte pro vytočení externího agenta a zadání čísla rozšíření nebo navigaci v externí nabídce IVR.
Ztlumení – Vaše aplikace může ztlumit určité uživatele na základě vaší obchodní logiky. Pokud chce uživatel mluvit, bude muset ztlumení zrušit ručně.
Přenos – 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í.
Záznam – Rozhodnete se, kdy spustit, pozastavit, obnovit nebo zastavit záznam na základě obchodní logiky 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 – Když vaše aplikace odpoví na volání 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čení – určuje, jestli vaše aplikace odpoví na hovor 1:1 nebo skupinový hovor nebo umístí 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 true
akci volání zavěsit.
Zrušení operací s multimédii – Na základě obchodní logiky může vaše aplikace potřebovat zrušit probíhající a zařazené mediální operace ve frontě. V závislosti na zrušené operaci média a událostech ve frontě může vaše aplikace obdržet událost webhooku, která označuje, že akce byla zrušena.
Start/Stop audio streaming (Public Preview) – Streamování zvuku umožňuje přihlásit se k odběru zvukových streamů v reálném čase z probíhajícího hovoru. Podrobnější pokyny, jak začít se streamováním zvuku a informacemi o událostech zpětného volání zvukového streamování, najdete v našem konceptu a našem rychlém startu.
Start/Stop real-time transcription (Public Preview) – Přepis v reálném čase umožňuje přístup k živým přepisům pro zvuk probíhajícího hovoru. Podrobnější pokyny k tomu, jak začít s přepisem v reálném čase a informacemi o událostech zpětného volání přepisu v reálném čase, najdete v našem konceptu a našem rychlém startu.
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álosti
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ě. Posílají se 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 IncomingCall
událost 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řili jsme hovor (příchozí nebo odchozí). |
CallEnded |
Ukončili hovor a odebrali všechny účastníky. |
ParticipantAdded |
Přidání účastníka do hovoru |
ParticipantRemoved |
Odebral(a) účastníka z hovoru. |
RecordingFileStatusUpdated |
Soubor záznamu je k dispozici. |
Přečtěte si další informace o těchto událostech a schématu datové části ve službách Azure Communication Services – Události hlasových volání a videohovorů
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 |
---|---|
CallConnected |
Volání bylo úspěšně spuštěno (při použití Answer nebo Create akci) nebo se vaše aplikace úspěšně připojila k probíhajícímu volání (při použití Connect akce). |
CallDisconnected |
Vaše aplikace byla odpojena od volání. |
CreateCallFailed |
Aplikaci se nepodařilo vytvořit volání. |
AnswerFailed |
Aplikaci se nepodařilo přijmout hovor. |
ConnectFailed |
Aplikaci se nepodařilo připojit k volání (pouze pro Connect akci volání). |
CallTransferAccepted |
Akce převodu byla úspěšně dokončena a příjemce je připojen k cílovému účastníkovi. |
CallTransferFailed |
Akce převodu se nezdařila. |
AddParticipantSucceeded |
Vaše aplikace úspěšně přidala účastníka do hovoru. |
AddParticipantFailed |
Vaše aplikace nemohla přidat účastníka do hovoru (kvůli chybě nebo účastník pozvánku nepřijal) |
CancelAddParticipantSucceeded |
Vaše aplikace úspěšně zrušila AddParticipant žádost (účastník nebyl přidán do hovoru). |
CancelAddParticipantFailed |
Vaše aplikace nemohla zrušit požadavek AddParticipant (důvodem může být to, že žádost již byla zpracována). |
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 vaše aplikace připojená k hovoru. |
PlayCompleted |
Vaše 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á Recognize akce byla zrušena. |
RecognizeFailed |
Rozpoznávání uživatelského vstupu nebylo úspěšné. Další informace o rozpoznávání událostí akcí najdete v 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 úspěšně dokončeno a od účastníka byl přijat tón DTMF. |
ContinuousDtmfRecognitionToneFailed |
StartContinuousDtmfRecognition dokončeno, ale při zpracování tónu DTMF od účastníka došlo k chybě. |
ContinuousDtmfRecognitionStopped |
Úspěšně spuštěno StopContinuousRecognition . |
SendDtmfCompleted |
SendDTMF úspěšně dokončeno a odeslány tóny DTMF 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, přečtěte si téma Akce pro řízení volání. Článek obsahuje ukázky kódu a sekvenční diagramy pro různé toky řízení volání.
Osvědčeným postupem při potvrzení událostí zpětného volání je odpovědět 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ématu Postup zabezpečení koncového bodu webhooku.
Identifikátor URI zpětného volání operace
Identifikátor URI zpětného volání operace je volitelný parametr v některých rozhraních API uprostřed volání, 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 událostmi CreateCall
/ AnswerCall
rozhraní API, když uživatel vytvoří volání. Pomocí identifikátoru URI zpětného volání operace rozhraní API odesílá do nového identifikátoru URI odpovídající události pro tento jednotlivý požadavek (pouze jednou).
Podporované rozhraní API | Odpovídající událost |
---|---|
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 |
Další kroky
Související články
- Seznamte se s poplatky za různé případy použití volání s příklady.
- Podívejte se na rychlý start pro umístění odchozího volání.
- Přečtěte si o využití a provozních protokolech publikovaných automatizací volání.