Koncepty příchozích hovorů
Automatizace volání ve službě Azure Communication Services umožňuje vývojářům vytvářet aplikace, které můžou volat a přijímat volání. Využívá odběry služby Event Grid k doručování IncomingCall
událostí, což je nezbytné ke konfiguraci vašeho prostředí tak, aby dostávalo tato oznámení pro vaši aplikaci, aby bylo možné efektivně přesměrovat nebo přijmout volání. Pochopení základů příchozích hovorů je proto nezbytné pro využití plného potenciálu automatizace volání služby Azure Communication Services.
Scénáře volání
Před nastavením prostředí je důležité porozumět scénářům, které můžou aktivovat IncomingCall
událost. Chcete-li aktivovat IncomingCall
událost, musí být volání provedeno buď s identitou služby Azure Communication Services, nebo číslem veřejné telefonní sítě (PSTN) přidružené k vašemu prostředku služby Azure Communication Services. Tady jsou příklady těchto prostředků:
- Identita azure Communication Services
- Telefonní číslo ve veřejné telefonní síti vlastněné prostředkem služby Azure Communication Services
V těchto příkladech následující scénáře aktivují událost odeslanou IncomingCall
do Event Gridu:
Zdroj | Cíl | Scénáře |
---|---|---|
Identita služby Azure Communication Services | Identita služby Azure Communication Services | Hovor, Přesměrování, Přidat účastníka, Přepojení |
Identita služby Azure Communication Services | Číslo veřejné telefonní sítě vlastněné prostředkem služby Azure Communication Services | Hovor, Přesměrování, Přidat účastníka, Přepojení |
Veřejné veřejné telefonní sítě | Číslo veřejné telefonní sítě vlastněné prostředkem služby Azure Communication Services | Hovor, Přesměrování, Přidat účastníka, Přepojení |
Poznámka:
Je důležité si uvědomit, že identita služby Azure Communication Services může představovat uživatele nebo aplikaci. I když platforma nemá integrovanou funkci pro explicitní přiřazení identity uživateli nebo aplikaci, vaše aplikace nebo podpůrná infrastruktura toho může dosáhnout. Další informace o tomto tématu najdete v průvodci koncepty identit.
Registrace poskytovatele prostředků Event Gridu
Pokud jste ve svém předplatném Azure službu Event Grid ještě nepoužívali, možná budete muset zaregistrovat svého poskytovatele prostředků Event Gridu. Pokud chcete poskytovatele zaregistrovat, postupujte takto:
- Přejděte na Azure Portal.
- V nabídce vlevo vyberte Předplatná.
- Vyberte předplatné, které používáte pro Event Grid.
- V nabídce vlevo v části Nastavení vyberte Poskytovatelé prostředků.
- Vyhledejte Microsoft.EventGrid.
- Pokud váš poskytovatel prostředků není zaregistrovaný, vyberte Zaregistrovat.
Příjem oznámení o příchozím hovoru z Event Gridu
Ve službě Azure Communication Services je příjem IncomingCall
oznámení možné prostřednictvím odběru služby Event Grid. Jako příjemce oznámení máte možnost zvolit, jak ho zpracovat. Vzhledem k tomu, že rozhraní API pro automatizaci volání využívá zpětné volání Webhooku pro události, je běžné použít odběr Event Gridu webhooku. Služba ale nabízí různé typy předplatných a máte možnost vybrat si nejvhodnější typ pro vaše potřeby.
Tato architektura má následující výhody:
- Pomocí filtrů odběru služby Event Grid můžete oznámení směrovat
IncomingCall
do konkrétních aplikací. - Ve vaší aplikaci může existovat přiřazení čísel a logika směrování veřejné telefonní sítě a staticky nakonfigurovaná online.
- Jak je uvedeno v části scénářů volání, může být vaše aplikace upozorněna i v případě, že uživatelé mezi sebou volat. Tento scénář pak můžete kombinovat společně s rozhraními API pro nahrávání hovorů, aby splňovaly požadavky na dodržování předpisů.
Ukázkovou datovou část události a další informace o dalších volajících událostech publikovaných ve službě Event Grid najdete v této příručce.
Tady je příklad odběru Webhooku služby Event Grid, kde filtr typu události naslouchá pouze IncomingCall
události.
Možnosti směrování volání s využitím automatizace volání a Event Gridu
V automatizaci volání a Event Gridu je možné směrování volání přizpůsobit vašim konkrétním potřebám. Pomocí rozšířených filtrů v rámci vašeho odběru služby Event Grid se můžete přihlásit k odběru IncomingCall
oznámení, které se týká konkrétního zdrojového nebo cílového telefonního čísla nebo identity služby Azure Communication Services. Toto oznámení se pak dá směrovat na koncový bod, například na odběr Webhooku. Pomocí sady SDK pro automatizaci volání pak může aplikace koncového bodu rozhodnout, že volání přesměruje na jinou identitu služby Azure Communication Services nebo do veřejné telefonní sítě.
Poznámka:
Pokud chcete zajistit, aby vaše aplikace přijímala pouze potřebné události, doporučujeme nakonfigurovat filtrování ve službě Event Grid. To je zvlášť důležité ve scénářích, které generují IncomingCall
události, jako je přesměrování příchozího volání do veřejné telefonní sítě do koncového bodu služby Azure Communication Services. Pokud se filtr nepoužívá, vaše odběr služby Event Grid obdrží dvě IncomingCall
události – jednu pro volání do veřejné telefonní sítě a jednu pro uživatele služby Azure Communication Services , i když jste chtěli přijmout pouze první oznámení. Zanedbávání takových scénářů pomocí filtrů nebo jiných mechanismů ve vaší aplikaci může vést k nekonečné smyčce a dalším nežádoucím chováním.
Tady je příklad rozšířeného filtru odběru služby Event Grid, který sleduje data.to.PhoneNumber.Value
řetězec začínající telefonním číslem veřejné telefonní sítě +18005551212.
Přiřazení čísel
Při použití IncomingCall
oznámení ve službě Azure Communication Services máte možnost přidružit jakékoli konkrétní číslo k libovolnému koncovému bodu. Pokud jste například získali telefonní číslo +14255551212
veřejné telefonní sítě a chcete ho přiřadit uživateli s identitou 375f0e2f-e8db-4449-9bf7-2054b02e42b4
ve vaší aplikaci, měli byste zachovat mapování tohoto čísla na identitu. IncomingCall
Když se odešle oznámení, které odpovídá telefonnímu číslu v poli komu, můžete vyvolat Redirect
rozhraní API a zadat identitu uživatele. Jinými slovy, můžete spravovat přiřazení čísel v rámci aplikace a směrovat nebo přijímat volání za běhu.
Osvědčené postupy
Aby služba Event Grid doručila události do koncového bodu Webhooku a zabránila škodlivým uživatelům zahltit koncový bod událostmi, musíte prokázat vlastnictví vašeho koncového bodu. Pokud chcete vyřešit všechny problémy s příjmem událostí, ověřte, že webhook, který jste nakonfigurovali, je ověřený zpracováním
SubscriptionValidationEvent
. Další informace najdete v tomto průvodci.Při přijetí události příchozího volání služba Event Grid v rámci požadovaného časového rámce neodpoví vaší aplikaci se stavovým kódem 200Ok do Event Gridu, služba Event Grid použije k opětovnému odeslání události exponenciální opakování. Příchozí hovor ale bude vyzvánět jenom po dobu 30 sekund a reakce na hovor po uplynutí této doby nebude efektivní. Pokud chcete zabránit opakovaným pokusům o vypršení platnosti nebo zastaralým voláním, doporučujeme nastavit zásadu opakování jako maximální počet pokusů o doručení událostí na 2 a čas události na 1 minutu. Tato nastavení najdete na kartě Další funkce odběru událostí. Další informace o opakovaných opakováních najdete tady.
Doporučujeme povolit protokolování pro váš prostředek Event Gridu pro monitorování událostí, které se nedaří doručit. Uděláte to tak, že přejdete do systémového tématu na kartě Události vašeho komunikačního prostředku a povolíte protokolování z nastavení diagnostiky. Protokoly selhání najdete v tabulce AegDeliveryFailureLogs.
AegDeliveryFailureLogs | limit 10 | where Message has "incomingCall"
Další kroky
- Vyzkoušejte rychlý start pro umístění odchozího hovoru.