Hívásautomatizálás áttekintése

Az Azure Communication Services Call Automation lehetővé teszi a fejlesztők számára, hogy kiszolgálóalapú, intelligens hívási munkafolyamatokat és hívásrögzítést készítsenek hang- és nyilvános telefonhálózati (PSTN-) csatornákhoz. A C#, Java, JavaScript és Python nyelven elérhető SDK-k műveletesemény-modellel segítenek személyre szabott ügyfél-interakciók kialakításában. A kommunikációs alkalmazások meghallgathatják a valós idejű hívási eseményeket, és vezérlősík-műveleteket hajthatnak végre (például válasz, átvitel, hang lejátszása, felvétel indítása stb.) az üzleti logika alapján irányíthatják és vezérelhetik a hívásokat.

Feljegyzés

A Hívásautomatizálás jelenleg nem támogatja a szobák hívásait.

Gyakori alkalmazási helyzetek

A Call Automation használatával létrehozható gyakori használati esetek közé tartoznak a következők:

  • Program VoIP- vagy PSTN-hívások tranzakciós munkafolyamatokhoz, például kattintásra és találkozó emlékeztetőkhöz az ügyfélszolgálat javítása érdekében.
  • Interaktív interakciós munkafolyamatokat hozhat létre az ügyfelek önkiszolgáló kiszolgálásához olyan használati esetekhez, mint a rendelési foglalások és a frissítések, a Lejátszás (Hang URL-címe, Szövegfelolvasás és SSML) és a Recognize (DTMF és Voice) műveletek használatával.
  • Integrálhatja kommunikációs alkalmazásait a Contact Centers szolgáltatással és a magántelefon-hálózatokkal a Közvetlen útválasztás használatával.
  • Az ügyfél identitásának védelméhez számmaszkoló szolgáltatásokat kell létrehoznia, hogy a vevőket az értékesítőkkel vagy a felhasználókkal összekapcsolja a platform partnerszállítóival.
  • Növelje az előjegyzést azáltal, hogy automatizált ügyfél-outreach programokat hoz létre a marketinghez és az ügyfélszolgálathoz.
  • A hívás utáni folyamat során elemezheti a nem kevert hangrögzítéseket minőségbiztosítás céljából.

Az Azure Communication Services Call Automation használatával hívási munkafolyamatokat hozhat létre az ügyfélszolgálati forgatókönyvekhez, ahogyan azt a magas szintű architektúra is mutatja. Fogadhatja a bejövő hívásokat, vagy kimenő hívásokat kezdeményezhet. Olyan műveleteket hajthat végre, mint egy üdvözlőüzenet lejátszása, az ügyfél csatlakoztatása egy élő ügynökhöz egy Azure Communication Services Calling SDK-ügyfélalkalmazásban a bejövő híváskérés megválaszolásához. Az Azure Communication Services PSTN- vagy közvetlen útválasztási támogatásával ezt a munkafolyamatot újra csatlakoztathatja a kapcsolattartási központhoz.

Egy ügyfélszolgálati forgatókönyv hívási folyamatának diagramja.

Képességek

Az alábbi lista az Azure Communication Services Call Automation SDK-kban jelenleg elérhető funkciók készletét mutatja be.

Funkcióterület Funkció .NET Java JavaScript Python
Hívás előtti forgatókönyvek Egy-az-egyhez hívás fogadása ✔️ ✔️ ✔️ ✔️
Csoportos hívás fogadása ✔️ ✔️ ✔️ ✔️
Új kimenő hívás elhelyezése egy vagy több végpontra ✔️ ✔️ ✔️ ✔️
Hívás átirányítása* (továbbítása) egy vagy több végpontra ✔️ ✔️ ✔️ ✔️
Bejövő hívás elvetése ✔️ ✔️ ✔️ ✔️
Hívásközi forgatókönyvek Egy vagy több végpont hozzáadása meglévő híváshoz ✔️ ✔️ ✔️ ✔️
Végpont meglévő híváshoz való hozzáadásának megszakítása ✔️ ✔️ ✔️ ✔️
Hang lejátszása hangfájlból ✔️ ✔️ ✔️ ✔️
Hang lejátszása szövegfelolvasással ✔️ ✔️ ✔️ ✔️
Felhasználói bemenet felismerése a DTMF-ben ✔️ ✔️ ✔️ ✔️
Felhasználói hangbemenetek felismerése ✔️ ✔️ ✔️ ✔️
Folyamatos DTMF-felismerés indítása ✔️ ✔️ ✔️ ✔️
Folyamatos DTMF-felismerés leállítása ✔️ ✔️ ✔️ ✔️
DTMF küldése ✔️ ✔️ ✔️ ✔️
Résztvevő elnémítása ✔️ ✔️ ✔️ ✔️
Egy vagy több végpont eltávolítása meglévő hívásból ✔️ ✔️ ✔️ ✔️
Vakátvitel* egy 1:1-ás hívás egy másik végpontra ✔️ ✔️ ✔️ ✔️
Vakátvitel* egy résztvevő csoporthívásból egy másik végpontra ✔️ ✔️ ✔️ ✔️
Hívás lefagyása (a hívási láb eltávolítása) ✔️ ✔️ ✔️ ✔️
Hívás leállása (az összes résztvevő eltávolítása és a hívás befejezése) ✔️ ✔️ ✔️ ✔️
Médiaműveletek megszakítása ✔️ ✔️ ✔️ ✔️
Egyéni adatok megosztása (VOIP- vagy SIP-fejléceken keresztül) végpontokkal, amikor hozzáadja őket egy híváshoz, vagy egy hívást továbbít hozzájuk ✔️ ✔️ ✔️ ✔️
Lekérdezési forgatókönyvek Hívásállapot lekérése ✔️ ✔️ ✔️ ✔️
Résztvevő lekérése hívásban ✔️ ✔️ ✔️ ✔️
Hívás összes résztvevőjének listázása ✔️ ✔️ ✔️ ✔️
Hívás felvétele Felvétel indítása/szüneteltetése/folytatása/leállítása ✔️ ✔️ ✔️ ✔️

*A VoIP-hívások telefonszámra történő átvitele vagy átirányítása jelenleg nem támogatott.

Architektúra

A Hívásautomatizálás EGY REST API-felületet használ a kérések fogadásához és a szolgáltatáson belül végrehajtott összes műveletre adott válaszok megadásához. A hívás aszinkron jellege miatt a legtöbb művelet megfelelő eseményekkel rendelkezik, amelyek a művelet sikeres vagy sikertelen végrehajtásakor aktiválódnak.

Az Azure Communication Services az Event Grid használatával biztosítja a IncomingCall eseményt és a HTTPS-webhookokat az összes középhívási művelet visszahívásához.

Képernyőkép a bejövő hívások és műveletek folyamatáról.

Hívási műveletek

Hívás előtti műveletek

Ezeket a műveleteket a Rendszer a IncomingCall eseményértesítésben felsorolt célvégpont csatlakoztatása előtt hajtja végre. A webes kampó visszahívási eseményei csak a "válasz" előhívási műveletet közlik, az elutasítási vagy átirányítási műveleteket nem.

Válasz Az Event Grid és a Call Automation SDK Bejövő hívás hívása esemény használatával az alkalmazás fogadhatja a hívásokat. Ez a művelet olyan IVR-forgatókönyveket tesz lehetővé, ahol az alkalmazás programozott módon fogadhat bejövő PSTN-hívásokat. Más forgatókönyvek közé tartozik a hívás fogadása egy felhasználó nevében.

Ha elutasít egy hívást, az azt jelenti, hogy az alkalmazás fogadni tudja a IncomingCall eseményt, és megakadályozhatja, hogy a hívás a célvégponthoz legyen csatlakoztatva.

Átirányítás Az Event Grid bejövő híváshívási eseményével átirányítható egy vagy több végpontra, amely egyetlen vagy egyidejű csengetési (sim-ring) forgatókönyvet hoz létre. Az átirányítási művelet nem fogadja a hívást, a rendszer egyszerűen átirányítja vagy továbbítja a hívást egy másik célvégpontra a válaszhoz.

A Hívás létrehozása művelet segítségével kimenő hívásokat kezdeményezhet telefonszámokra és más kommunikációs felhasználókra. A használati esetek közé tartozik, hogy az alkalmazás kimenő hívásokat küld, amelyek proaktív módon tájékoztatják a felhasználókat a kimaradásról, vagy értesítést küldenek a rendelés frissítéséről.

Hívásközi műveletek

Ezek a műveletek a hívásautomatizálási SDK-k használatával fogadott vagy elhelyezett hívásokon is végrehajthatók. Minden félhívási műveletnek megfelelő sikeres vagy sikertelen webes kampóvisszahívási eseménye van.

Résztvevők hozzáadása/eltávolítása: Egy vagy több résztvevő egyetlen kérelemben vehető fel, és mindegyik résztvevő a támogatott célvégpontok egy változata. A rendszer minden résztvevőnek elküld egy webes visszahívást, amely sikeresen hozzáadódik a híváshoz.

Lejátszás : Amikor az alkalmazás válaszol egy hívásra, vagy kimenő hívást indít, lejátszhat egy hangüzenetet a hívó számára. Ez a hang szükség esetén hurkolható olyan helyzetekben, mint a zenelejátszás. További információkért tekintse meg az alapfogalmakat és útmutatónkat a hanghívások testreszabásához a felhasználók számára a Play-művelettel.

Bemenet felismerése Miután az alkalmazás lejátszott egy hangüzenetet, kérheti a felhasználói bemenetet az üzleti logika és a navigáció az alkalmazásban való mozgatásához. További információkért tekintse meg a felhasználói bemenetek gyűjtésére vonatkozó fogalmakat és útmutatónkat.

Folyamatos DTMF-felismerés , ha az alkalmazásnak a hívás bármely pontján képesnek kell lennie DTMF-hangok fogadására anélkül, hogy az alkalmazásnak egy adott felismerési műveletet kellene aktiválnia. Ez olyan esetekben lehet hasznos, amikor egy ügynök hívás alatt áll, és a felhasználónak valamilyen azonosítót vagy nyomkövetési számot kell megadnia. Ha többet szeretne megtudni arról, hogyan használhatja ezt a nézetet, tekintse meg útmutatónkat.

DTMF küldése Ha az alkalmazásnak DTMF-hangokat kell küldenie egy külső résztvevőnek, ez lehet például egy külső ügynökhöz való kitárcsázás és a bővítményszám megadása, vagy egy külső IVR-menü navigálása.

Az alkalmazás elnémíthat bizonyos felhasználókat az üzleti logikája alapján. A felhasználónak ezután manuálisan kell visszahangosítania magát, ha beszélni szeretne.

Átvitel Amikor az alkalmazás válaszol egy hívásra, vagy kimenő hívást helyez el egy végponton, a hívás átvihető egy másik célvégpontra. Az 1:1-alapú hívások átvitele eltávolítja az alkalmazás azon képességét, hogy a HívásautomatizálásI SDK-k használatával vezérelje a hívást.

Rekord : Ön dönti el, hogy mikor indítja el/szünetelteti/folytatja/állítja le a rögzítést az alkalmazás üzleti logikája alapján, vagy engedélyezheti a végfelhasználó számára a műveletek aktiválását. További információért tekintse meg az alapfogalmakat és a rövid útmutatót.

Lefagyás : Ha az alkalmazás egy-az-egyhez hívásra válaszolt, a lefagyás művelet eltávolítja a hívási lábat, és a másik végponttal leállítja a hívást. Ha a hívásban (csoporthívásban) kétnél több résztvevő van, a "lefagyás" művelettel eltávolítja az alkalmazás végpontját a csoporthívásból.

Állítsa le , hogy az alkalmazás válaszolt-e egy-az-egyhez vagy csoportos hívásra, vagy kimenő hívást indított egy vagy több résztvevővel, ez a művelet eltávolítja az összes résztvevőt, és befejezi a hívást. Ezt a műveletet úgy aktiválja, hogy a Hang-Up hívási műveletben igaz értékre állítja forEveryOne a tulajdonságot.

Médiaműveletek megszakítása Az üzleti logika alapján előfordulhat, hogy az alkalmazásnak le kell mondania a folyamatban lévő és az üzenetsorba helyezett médiaműveleteket. A megszakított médiaművelettől és az üzenetsorban lévőktől függően egy webhookesemény jelenik meg, amely azt jelzi, hogy a művelet megszakítva.

Lekérdezési forgatókönyvek

Résztvevők listázása: A hívás összes résztvevőjének listáját adja vissza. A rögzítési és átírási robotok kimaradnak ebből a listából.

esemény

Az alábbi táblázat az Azure Communication Services által kibocsátott aktuális eseményeket ismerteti. Az alábbi két táblázat az Event Grid és a Hívásautomatizálás által webhookeseményként kibocsátott eseményeket ismerteti.

Event Grid-események

Az Event Grid által küldött események többsége platformfüggetlen, ami azt jelenti, hogy az SDK-tól (hívástól vagy hívásautomatizálástól) függetlenül bocsátják ki őket. Bár bármilyen eseményhez létrehozhat előfizetést, javasoljuk, hogy a IncomingCall eseményt használja az összes hívásautomatizálási esethez, ahol programozott módon szeretné vezérelni a hívást. Használja a többi eseményt jelentéskészítési/telemetriai célokra.

Esemény Leírás
IncomingCall Értesítés egy kommunikációs felhasználó vagy telefonszám hívásáról
CallStarted Hívás jön létre (bejövő vagy kimenő)
CallEnded A hívás le van állítva, és az összes résztvevő el lesz távolítva
ParticipantAdded Résztvevő lett hozzáadva egy híváshoz
ParticipantRemoved Egy résztvevő el lett távolítva egy hívásból
RecordingFileStatusUpdated Felvételfájl érhető el

Ezekről az eseményekről és a hasznos adatok sémájáról itt olvashat bővebben

Automation-webhookesemények meghívása

A hívásautomatizálási eseményeket a rendszer elküldi a webes horoghívási URI-nak, amely egy új kimenő hívás fogadásakor vagy leadásakor van megadva.

Esemény Leírás
Hívás Csatlakozás Az alkalmazás hívási lába csatlakoztatva van (bejövő vagy kimenő)
CallDisconnected Az alkalmazás hívási lába le van választva
CallTransferAccepted Az alkalmazás hívási lába át lett adva egy másik végpontra
CallTransferFailed Az alkalmazás hívási lábának átvitele meghiúsult
AddParticipantSucceed Az alkalmazás hozzáadott egy résztvevőt
AddParticipantFailed Az alkalmazás nem tudott résztvevőt felvenni
CancelAddParticipantSucceeded Az alkalmazás megszakította a résztvevő hozzáadását
CancelAddParticipantFailed Az alkalmazás nem tudta megszakítani a résztvevő hozzáadását
RemoveParticipantSucceeded Az alkalmazás sikeresen eltávolított egy résztvevőt a hívásból.
RemoveParticipantFailed Az alkalmazás nem tudott eltávolítani egy résztvevőt a hívásból.
RésztvevőkUpdated A résztvevő állapota megváltozott, amíg az alkalmazás hívási lába egy híváshoz kapcsolódott
PlayCompleted Az alkalmazás sikeresen lejátszotta a megadott hangfájlt
PlayFailed Az alkalmazás nem tudta lejátszani a hangot
PlayCanceled A kért lejátszási művelet megszakadt
RecognizeCompleted A felhasználói bemenet felismerése sikeresen befejeződött
RecognizeCanceled A kért felismerő művelet megszakadt
RecognizeFailed A felhasználói bemenet felismerése sikertelen volt
a műveletesemények felismerésével kapcsolatos további információkért tekintse meg a felhasználói bemenetek gyűjtésére vonatkozó útmutatónkat
RecordingStateChanged A rögzítési művelet állapota aktívról inaktívra változott, vagy fordítva
ContinuousDtmfRecognitionToneReceived A StartContinuousDtmfRecognition sikeresen befejeződött, és DTMF-hangvétel érkezett a résztvevőtől
ContinuousDtmfRecognitionToneFailed A StartContinuousDtmfRecognition befejeződött, de hiba történt a résztvevő DTMF-hangjának kezelése során
ContinuousDtmfRecognitionStopped A StopContinuousRecognition sikeres végrehajtása
SendDtmfCompleted A SendDTMF sikeresen befejeződött, és a DTMF-hangokat elküldték a cél résztvevőnek
SendDtmfFailed Hiba történt a DTMF-hangok küldése közben

A különböző műveletekhez közzétett események megismeréséhez tekintse meg ezt az útmutatót , amely kódmintákat és sorozatdiagramokat biztosít a különböző hívásvezérlési folyamatokhoz.

A visszahívási események elismerésekor ajánlott szabványos HTTP-állapotkódokkal(például 200 OK) válaszolni. A részletes információk szükségtelenek, és jobban megfelelnek a hibakeresési folyamatoknak.

A visszahívási események kézbesítésének biztonságossá tételéről ebben az útmutatóban olvashat.

Művelet visszahívási URI-ja

Nem kötelező paraméter egyes hívásközi API-kban, amelyek eseményeket használnak aszinkron válaszokként. A rendszer alapértelmezés szerint minden eseményt a CreateCall/ AnswerCall API által beállított alapértelmezett visszahívási URI-nak küld, amikor a felhasználó létrehoz egy hívást. Az Operation Callback Uri használatával ennek az egyéni (egyszeri) kérésnek a megfelelő eseményei lesznek elküldve az új Uri-nak.

Támogatott API Megfelelő esemény
AddParticipant AddParticipantSucceed /AddParticipantFailed
RemoveParticipant RemoveParticipantSucceed/RemoveParticipantFailed
TransferCall CallTransferAccepted / CallTransferFailed
CancelAddParticipant CancelAddParticipantSucceed / CancelAddParticipantFailed
Indítás PlayCompleted / PlayFailed / PlayCanceled
PlayToAll PlayCompleted / PlayFailed / PlayCanceled
Recognize RecognizeCompleted / RecognizeFailed / RecognizeCanceled
StopContinuousDTMFRecognition ContinuousDtmfRecognitionStopped
SendDTMF ContinuousDtmfRecognitionToneReceived / ContinuousDtmfRecognitionToneFailed

Következő lépések

Íme néhány érdekes cikk az Ön számára: