Sdílet prostřednictvím


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.

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

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

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