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 akcióesemény-modellel segítenek személyre szabott ügyfél-interakciók létrehozá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.
Gyakori alkalmazási helyzetek
Néhány gyakori használati eset, amelyet a Call Automation használatával hozhat létre:
- 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, vagy 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.
Képességek
Az Azure Communication Services Call Automation SDK-kban jelenleg az alábbi funkciók érhetők el.
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 | ✔️ | ✔️ | ✔️ | ✔️ | |
Csatlakozás folyamatban lévő híváshoz vagy helyiséghez (előzetes verzióban) | ✔️ | ✔️ | ✔️ | ✔️ | |
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 | ✔️ | ✔️ | ✔️ | ✔️ | |
Hangstreamelés indítása/leállítása (nyilvános előzetes verzió) | ✔️ | ✔️ | ✔️ | ✔️ | |
Valós idejű átírás indítása/leállítása (nyilvános előzetes verzió) | ✔️ | ✔️ | ✔️ | ✔️ | |
Egy vagy több végpont eltávolítása meglévő hívásból | ✔️ | ✔️ | ✔️ | ✔️ | |
1:1-ás hívás átvitele egy másik végpontra | ✔️ | ✔️ | ✔️ | ✔️ | |
Résztvevő vak átvitele 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 átvitele vagy átirányítása telefonszámra 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.
Hívási műveletek
Hívás előtti műveletek
Ezek a műveletek az eseményértesítésben IncomingCall
felsorolt célvégpont csatlakoztatása előtt lesznek végrehajtva. A webes hook-visszahívási események csak a answer
hívás előtti műveletet közlik, nem a műveletekkel reject
redirect
vagy műveletekkel.
Válasz – Az Event Grid és a Call Automation SDK IncomingCall eseményének használatával az alkalmazás fogadhat egy hívást. Ezt a műveletet olyan IVR-forgatókönyvekben használhatja, 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.
Elutasítás – A hívás elvetése azt jelenti, hogy az alkalmazás fogadhatja az IncomingCall
eseményt, és megakadályozhatja, hogy a hívás a célvégponthoz legyen csatlakoztatva.
Átirányítás – Az Eseményrács eseményének használatával IncomingCall
átirányíthatja a hívásokat 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 átirányítja vagy átirányítja a hívást egy másik célvégpontra, hogy megválaszolja a hívást.
Hívás létrehozása – A Hívás létrehozása művelet használatával 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ás csatlakoztatása (előzetes verzióban) – A Hívás csatlakoztatása művelet használatával csatlakozhat egy folyamatban lévő híváshoz, és hívásműveleteket hajthat végre rajta. Ezzel a művelettal programozott módon is csatlakoztathat és kezelhet szobák hívásait, például PSTN-kitárcsázásokat hajthat végre a Szoba szolgáltatással.
Hívásközi műveletek
Az alkalmazás végrehajthatja ezeket a műveleteket a hívásautomatizálási SDK-k használatával fogadott vagy elhelyezett hívásokon. 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 – Egyetlen kérelemben egy vagy több résztvevőt adhat hozzá, és mindegyik résztvevő a támogatott célvégpontok variációja. 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ó: Hang lejátszása hívás közben és hangüzenetek testreszabása a felhasználóknak a Play művelettel.
Bemenet felismerése – Miután az alkalmazás lejátszott egy hangüzenetet, felhasználói bemenetet kérhet az üzleti logika és a navigáció érdekében az alkalmazásban. További információ: Felhasználói bevitel összegyűjtése és útmutató felhasználói bemenetek összegyűjtése felismerési művelettel.
Folyamatos DTMF-felismerés – Ha az alkalmazásnak képesnek kell lennie DTMF-hangokat fogadni a hívás bármely pontján anélkül, hogy az alkalmazásnak egy adott felismerési műveletet kellene aktiválnia. Ez a képesség akkor lehet hasznos, ha 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. További információ: A középhívásos médiaműveletek szabályozása.
DTMF küldése – Ha az alkalmazásnak DTMF-hangokat kell küldenie egy külső résztvevőnek. Ez a művelet egy külső ügynökhöz való kitárcsázáshoz és a bővítményszám megadásához vagy egy külső IVR-menü navigálásához használható.
Elnémítás – 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ónak, hogy aktiválja ezeket a műveleteket. További információért tekintse meg az alapfogalmakat és a rövid útmutatót.
Lefagyás – Amikor az alkalmazás válaszol egy-az-egyhez hívásra, a lefagyás művelet eltávolítja a hívás lábát, és leállítja a hívást a másik végponttal. 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.
Megszakítás – Akár az alkalmazás válaszol egy-az-egyhez vagy csoportos hívásra, akár kimenő hívást kezdeményez 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 forEveryOne
tulajdonságot hang-up hívási műveletre true
állítja.
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 előfordulhat, hogy az alkalmazás webhookeseményt kap, amely jelzi a művelet megszakítását.
Hangstreamelés indítása/leállítása (nyilvános előzetes verzió) – A hangstreamelés lehetővé teszi a folyamatos hívásból származó valós idejű hangstreamekre való feliratkozást. A hangstreamelés első lépéseiről és a hangstreamelési visszahívási eseményekről szóló információkért tekintse meg koncepciónkat és rövid útmutatónkat.
Valós idejű átírás indítása/leállítása (nyilvános előzetes verzió) – A valós idejű átírással élő átiratokat érhet el egy folyamatban lévő hívás hangjához. A valós idejű átírással és a valós idejű átírási visszahívási eseményekkel kapcsolatos információk megismeréséhez tekintse meg koncepciónkat és rövid útmutatónkat.
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. A rendszer az SDK-tól (hívás vagy hívásautomatizálás) függetlenül elküldi őket. Bár bármilyen eseményhez létrehozhat előfizetést, javasoljuk, hogy használja az eseményt az IncomingCall
összes Olyan Hívásautomatizálás-használati 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 (bejövő vagy kimenő) létrehozása. |
CallEnded |
Megszakított egy hívást, és eltávolította az összes résztvevőt. |
ParticipantAdded |
Résztvevőt adott hozzá egy híváshoz. |
ParticipantRemoved |
Eltávolított egy résztvevőt egy hívásból. |
RecordingFileStatusUpdated |
Elérhető egy felvételfájl. |
További információ ezekről az eseményekről és hasznos adatok sémájáról az Azure Communication Servicesben – Hang- és videohívási események
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 |
---|---|
CallConnected |
A hívás sikeresen elindult (a használat Answer vagy Create a művelet során), vagy az alkalmazás sikeresen csatlakozott egy folyamatban lévő híváshoz (művelet használatakor Connect ). |
CallDisconnected |
Az alkalmazás megszakadt a hívással. |
CreateCallFailed |
Az alkalmazás nem tudta létrehozni a hívást. |
ConnectFailed |
Az alkalmazás nem tudott csatlakozni egy híváshoz (csak hívási művelet esetén Connect ). |
CallTransferAccepted |
Az átadási művelet sikeresen befejeződött, és az átvevő csatlakozik a cél résztvevőhöz. |
CallTransferFailed |
Az átviteli művelet nem sikerült. |
AddParticipantSucceeded |
Az alkalmazás sikeresen felvett egy résztvevőt a hívásba. |
AddParticipantFailed |
Az alkalmazás nem tudott résztvevőt felvenni a hívásba (hiba miatt, vagy a résztvevő nem fogadta el a meghívást) |
CancelAddParticipantSucceeded |
Az alkalmazás sikeresen megszakított egy AddParticipant kérelmet (a résztvevő nem lett hozzáadva a híváshoz). |
CancelAddParticipantFailed |
Az alkalmazás nem tudta megszakítani az AddParticipant-kérést (ennek az lehet az oka, hogy a kérést már feldolgozták). |
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. |
ParticipantsUpdated |
A résztvevő állapota megváltozott, amíg az alkalmazás csatlakozik egy híváshoz. |
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 játékművelet törölve lett. |
RecognizeCompleted |
A felhasználói bemenet felismerése sikeresen befejeződött. |
RecognizeCanceled |
A kért Recognize 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ót. |
RecordingStateChanged |
A rögzítési művelet állapota aktívról inaktívra változott, vagy fordítva. |
ContinuousDtmfRecognitionToneReceived |
StartContinuousDtmfRecognition sikeresen befejeződött, és DTMF-hang kapott a résztvevőtől. |
ContinuousDtmfRecognitionToneFailed |
StartContinuousDtmfRecognition befejeződött, de hiba történt a résztvevő DTMF-hangjának kezelése során. |
ContinuousDtmfRecognitionStopped |
Sikeresen végrehajtva StopContinuousRecognition . |
SendDtmfCompleted |
SendDTMF sikeresen befejeződött, és DTMF-hangokat küldött 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 a hívásvezérlési műveletek című témakört. A cikk kódmintákat és sorozatdiagramokat tartalmaz a különböző hívásvezérlési folyamatokhoz.
Ajánlott eljárás a visszahívási események nyugtázásakor, ha szabványos HTTP-állapotkódokkal, például 200 OK-val válaszol. A részletes információk szükségtelenek, és jobban megfelelnek a hibakeresési folyamatoknak.
A visszahívási eseménykézbesítés biztonságossá tételéről a Webhook-végpont biztonságossá tételéről olvashat.
Művelet visszahívási URI-ja
A Visszahívási URI művelet nem kötelező paraméter egyes hívásközi API-kban, amelyek eseményeket használnak aszinkron válaszokként. Alapértelmezés szerint minden eseményt az API-események által CreateCall
/ AnswerCall
beállított alapértelmezett visszahívási URI-nak küld a rendszer, amikor a felhasználó létrehoz egy hívást. Az Operation Callback URI használatával az API a megfelelő eseményeket küldi az egyéni (egyszeri) kéréshez az új URI-nak.
Támogatott API | Megfelelő esemény |
---|---|
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 |
Következő lépések
Kapcsolódó cikkek
- Példákkal megismerheti, hogyan kell fizetnie az erőforrást a különböző híváshasználati esetekért .
- A kimenő hívás indításához tekintse meg a rövid útmutatót.
- Ismerje meg a hívásautomatizálás által közzétett használati és működési naplókat .