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.

Diagram volání toku pro scénář zákaznických služeb

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í.

Snímek obrazovky toku pro příchozí hovor a akce

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í: