Megosztás a következőn keresztül:


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.

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

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.

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

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