In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
In diesem Dokument werden die grundlegende Funktionalität von JTAPI, seine Architektur und der Anrufablauf in Bezug auf UCCX beschrieben.
Anforderungen
Cisco empfiehlt die Kenntnis dieser Tools und Funktionen:
- JTAPI - Java Telefony API
- API - Application Programming Interface
- UCCX - Unified Contact Center Express
- CUCM - Cisco Unified Communications Manager
- CTI = Computer Telefony Integration
Cisco empfiehlt, sich mit folgenden Themen vertraut zu machen:
- Konfiguration von Cisco Unified Communications Manager (CUCM)
- Unified Contact Center Express (UCCX)-Konfiguration
Verwendete Komponenten
Die Informationen in diesem Dokument basieren auf folgenden Software-Versionen:
- UCCX Version 12.5.1.11002-481
- CUCM-Version 12.5.1.11900-146
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Hintergrundinformationen
In diesem Dokument werden die JTAPI-Architektur, der Anruffluss, das Aktivieren von Debugging und das Erfassen der Protokolle beschrieben.
JTAPI - Überblick
Cisco Unified JTAPI dient als Programmierschnittstellenstandard, der von Sun Microsystems für den Einsatz mit Java-basierten Computertelefonie-Anwendungen entwickelt wurde. Cisco JTAPI implementiert die Sun JTAPI 1.2-Spezifikation mit zusätzlichen Cisco-Erweiterungen. Sie benötigen Cisco JTAPI, um Anwendungen zu entwickeln, die:
-
Steuern und beobachten Sie Cisco Unified Communications Manager-Telefone.
-
Weiterleitung von Anrufen über CTI-Ports (Computer-Telefony Integration) und Weiterleitungspunkte (virtuelle Geräte)
JTAPI und UCCX
Cisco Unified JTAPI wird in einem Contact Center verwendet, um den Gerätestatus zu überwachen und Routing-Anweisungen auszugeben, damit Anrufe zur richtigen Zeit am richtigen Ort eingehen können. Darüber hinaus wird JTAPI zum Starten und Stoppen der Aufzeichnung von Anweisungen beim Abrufen von Anrufstatistiken für die Analyse sowie zum Einblenden von Aufrufen in CRM-Anwendungen, automatisches Skripting und Remote-Anrufsteuerung verwendet.
JTAPI-Architektur
Cisco Unified JTAPI wird in einer Unternehmensumgebung eingesetzt und kombiniert Benutzerverfügbarkeit, Standort und Präferenzen in einer speziell angepassten Umgebung für präsenzbasiertes Routing.
Hier sind die Anwendungen von JTAPI:
- JTAPI kann zwei oder mehr Kombinationen von Telefonen und Leitungen überwachen oder entsprechende Benachrichtigungen erhalten.
- Contact Center-Anwendungen verwenden vollständiges Anrufmodell für JTAPI.
- JTAPI bietet folgende Funktionen:
- Anrufsteuerung
- Medienkontrolle
- Medienverhandlung
JTAPI-Beobachtermodell
Im folgenden Diagramm wird das Provider-Observer-Modell erläutert, das JTAPI verwendet.
JTAPI basiert auf der Idee des Beobachters. Vom Betrachter bezieht es sich auf die Idee des einen, der die Ereignisse beobachtet. Sie können mehrere Beobachter zu verschiedenen Dingen innerhalb des Systems platzieren lassen. JTAPI verwendet Beobachter, um die Zustandsänderungen der Objekte zu erfahren.
So können Sie beispielsweise über Leitungen, Telefone, Terminals, Adressen usw. Beobachter entsenden, die sich über Zustandsänderungen informieren.
Hinweis: Wenn Sie keine Beobachter auf einem Objekt platziert haben, können Sie nicht über die Maßnahmen, die auf sie getroffen werden, benachrichtigt werden.
JTAPI-Anbietermodell
Im folgenden Diagramm wird das Provider-Modell erläutert, mit dem JTAPI arbeitet:
Der JTAPI-Provider ist eine Verbindung von der Anwendung zum Call Manager oder CTI Manager. Anbieter werden verwendet, um Beobachter an die Objekte anzubringen. Sie können auch einen Beobachter an einen Anbieter anhängen. Anbieter werden verwendet, um über die an den Objekten durchgeführten Aktionen informiert zu werden. (Sie können auch die Kontrolle über die Geräte übernehmen, an die der Beobachter angeschlossen ist (von dem Anbieter, der diesen Beobachter angeschlossen hat).
JTAPI-Benutzer
Die nächsten Screenshots stammen von CUCM (links) und UCCX (rechts), die den JTAPI-Anwendungsbenutzer erläutern.
- Wenn Sie eine Anwendung starten und eine Verbindung zum CTI-Manager herstellen möchten, öffnen Sie einen Anbieter.
- Der Grund, einen Anbieter zu öffnen, besteht darin, dass Sie die Aktionen überwachen können, die auf den Geräten, Terminals usw. durchgeführt werden.
- Die Implementierung in CUCM erfolgt über einen Anwendungsbenutzer.
- Sie erstellen diesen Benutzer und geben Anmeldeinformationen an, damit er sich zuerst über CTI beim CUCM authentifizieren kann.
- Der im CUCM erstellte JTAPI-Anwendungsbenutzer ist also der Anbieter.
- Abgesehen von der reinen Überwachung müssen Sie sicherstellen, dass diese Geräte unter "Associated Devices" (Zugehörige Geräte) aufgeführt sind, um sicherzustellen, dass Sie die Geräte steuern können.
Hinweis: Sie erstellen den JTAPI-Benutzer nicht auf CUCM. Dieser wird von der Anwendung (UCCX) über AXL auf CUCM erstellt.
P1- und P2-Griffe
P1 und P2 sind die Provider Handles. Diese werden wichtig, wenn Sie mehrere Anbieter aus derselben Anwendung öffnen möchten. Von UCCX erstellen Sie zwei Anbieter, von denen der eine die Kontrolle über die CTI-Ports und Routenpunkte hat, der andere die Kontrolle über die Agententelefone namens RM-JTAPI-Anbieter. Als UCCX erstellen Sie den Anbieter, der zuerst die CTI-Ports und Routenpunkte steuert, d. h. den JTAPI P1-Anbieter. Der andere Provider, den Sie nach dem P1 erstellen, ist der P2-Provider oder der RmCm-Provider, der die Agenten-Geräte behandelt.
Wenn ein neues P1-Anrufereignis angezeigt wird, wissen Sie, dass es sich um ein Anrufereignis von einem CTI-Port oder einem CTI-Routing-Punkt handelt. Wenn Sie P2 new call event (P2 neuer Anruf) sehen, wissen Sie, dass es sich um einen Anruf vom Telefon aus handelt. Sie erstellen einen RM-JTAPI-Benutzer und einen JTAPI-Benutzer auf der CCX-Seite, aber auf der CUCM-Seite werden zwei JTAPI-Benutzer erstellt. Dies liegt daran, dass jeder CCX-Knoten seinen eigenen JTAPI-Benutzer erhält, diesen aber gemeinsam nutzt. Wenn Sie einen Trigger auf UCCX erstellen, wird er beiden JTAPI-Benutzern hinzugefügt. Beide Knoten öffnen einen Anbieter separat. Daher werden alle auf dem Routing-Point ergriffenen Maßnahmen auf beiden CCX-Knoten benachrichtigt.
Abgesehen davon befindet sich der sekundäre Knoten einfach nur dort und informiert Sie laufend darüber, dass er immer noch der sekundäre Knoten ist. Jeder Knoten verfügt über eine eigene Gruppe von CTI-Ports. Die CTI-Ports von Knoten 1 werden von jtapi_1 gesteuert. Die CTI-Ports von Knoten 2 werden von jtapi_2 gesteuert.
Wenn der Anruf am CTI-Routenpunkt ankommt, werden beide CCX-Knoten über das neue Anrufereignis informiert, aber der aktive CCX-Knoten antwortet dem Call Manager mit einer Umleitungsanforderung für einen seiner CTI-Ports, den er steuert.
Wenn eine IP mit einem CTI-Routing-Punkt in CUCM verglichen wird, handelt es sich um eine IP des CCX. Dies bedeutet jedoch nicht, dass ein bestimmter Knoten den Anruf weiterleitet.
In der Regel heben Sie die Verknüpfung des Geräts mit dem JTAPI-Benutzer auf und fügen es erneut hinzu. Der Grund dafür ist, dass wenn Sie die Verknüpfung aufheben, der Provider darüber informiert wird und alle Verbindungen entfernt, und dann, wenn er wieder hinzugefügt wird, der Beobachter wieder hinzugefügt wird und der Provider beginnt, es erneut mit offenen Anbieteranfragen zu überwachen. Sie sehen, dass neben dem Gerät, das in der Liste der gesteuerten Geräte hinzugefügt wird, auch das Kontrollkästchen Kontrolle über Gerät von CTI zulassen auf dem einzelnen Gerät vorhanden ist. Dadurch soll eine zusätzliche Präzision erreicht werden. Wenn also der Weiterleitungspunkt in der Liste der kontrollierten Geräte hinzugefügt wurde, das CTI-Kontrollkästchen jedoch nicht aktiviert ist, können Sie trotzdem über die Ereignisse an diesem Weiterleitungspunkt benachrichtigt werden. Es sind jedoch keine Aktionen zur Anrufsteuerung möglich.
Anrufablauf
Im Folgenden sind die Ereignissequenzen aufgeführt, die für den UCCX-Anruffluss relevant sind:
- Wenn der Anruf am CTI-Routenpunkt ankommt, wird er an einen CTI-Port umgeleitet.
- Der CTI-Port öffnet den Medienkanal mit dem ipvms-Treiber auf der uccx-Box.
- Sobald Sie sich entschieden haben, dass der Mitarbeiter den Anruf entgegennehmen muss, wird ein Rücksprache-Transfer vom Port zum Mitarbeiter durchgeführt.
- Ein neues Anrufereignis wird an den CTI-Routenpunkt gesendet.
- Umleitungsanforderung wird an CTI-Port gesendet.
- Der Status der Anruf-ID wird zu "Inaktiv".
- Dann folgt ein weiteres Anrufereignis für den Anruf am CTI-Port.
- Wenn die Umleitungsantwort 0 ist, ist sie gut. Wenn sie nicht 0 ist, bedeutet dies, dass sie fehlgeschlagen ist.
- Dann senden Sie eine Anfrage zur Annahme des Anrufs (diese wird nicht beantwortet, nur am Port akzeptiert).
- Akzeptieren Sie dann Step-Treffer für das Skript, d. h., wenn die Anfrage zur Anrufbeantwortung in Jtapi eingeht.
Hinweis: Dies geschieht so schnell und manchmal gibt es mehrere Ereignisse gleichzeitig passieren, wie Anrufe von Cisco Unity Connection kommen oder Übertragung dauert Zeit von CUCM, dies kann RACE-Bedingung in der Akzeptieren-Schritt, weshalb Sie diese verlangsamen wollen. Fügen Sie dazu vor dem Akzeptieren einen Verzögerungsschritt hinzu.
11. Dann erhalten Sie eine Antwort vom Port.
12. Anrufstatus ändert sich in Verbunden.
Hinweis: CTI ist asynchron im Gegensatz zu SIP- oder Skinny-Telefonen, die auf die Antwort warten, bevor sie eine neue Anfrage senden. Dies ist der Grund, warum die Reihenfolge der Nachrichten in den JTAPI-CTI-Nachrichten vermischt werden kann.
13. Nachdem die Antwort vom Port empfangen wurde, findet eine Medienverhandlung statt.
14. Der Port sendet eine open_logical_channel-Anforderung, in der er seinen Port und seine IP teilt, an die der Remote-Teilnehmer das RTP senden soll.
15. Vor dem Öffnen des logischen Kanals wird eine Verbindung mit dem IPVMS-Treiber in der UCCX-Box hergestellt und ein RTP-Stream geöffnet.
16. Das nächste Ereignis ist das start_receive-Ereignis, das uns die Informationen am anderen Ende mitteilt (d. h. die IP-Adresse und der Port des anrufenden Geräts).
17. Dann erhalten Sie das start_transmission-Ereignis wie jedes andere Mediensignal.
18. Jetzt hören Sie IVR und die Ansagen.
Hinweis: Hier wird die Einrichtung der Gesprächsverbindung abgeschlossen.
19. Wenn der Anruf nun einen Schritt im Skript erreicht, der die Weiterleitung des Anrufs an einen Agenten ermöglicht, wird eine CallSetupTransferRequest angezeigt.
20. Im Gegensatz zur ersten Nachricht handelt es sich hierbei um eine Weiterleitung mit Rücksprache und nicht um eine Weiterleitung.
21. Der Grund dafür ist die Weiterleitung mit Rücksprache: Wenn ein Mitarbeiter BEREIT ist, aber nicht an seinem Platz sitzt, und wir den Anruf weiterleiten, bleibt er einfach unbeantwortet. Wenn wir jedoch eine Weiterleitung mit Rücksprache durchführen, dann wird der Anruf wieder in die Warteschlange gestellt, wenn der Mitarbeiter nicht anwesend ist.
22. Wie bei jeder anderen Weiterleitung mit Rücksprache, dies ist der CTI-Anschluss, der zum ersten Mal auf dem Telefon auf die Weiterleitungstaste drückt.
Hinweis: ConsultWithoutMedia ist die API für den Transfer von Konsultationen.
23. Bei einem regulären Konsultationstransfer gibt es einen Medienpfad zwischen A und C. In diesem Fall weisen Sie CUCM jedoch an, dies nicht zu tun, da es keinen Sinn macht, Medien zwischen UCCX und dem Agenten einzurichten.
24. Sie machen also eine Weiterleitung mit Rücksprache, ohne ein Medium zwischen dem Agenten und dem CTI-Port zu wechseln.
25. An diesem Punkt hält der CTI-Port den Anrufer, und es wird ein geänderter Anrufstatus angezeigt, event=HOLD.
26. Jetzt sehen Sie ein neues Anrufereignis vom CTI-Port zum Agentengerät.(Verwenden der ursprünglichen Anruf-ID, aber einer Teilmenge davon und eines P2-Ereignisses.)
27. Wenn Sie die Anruf-ID des P2-Ereignisses durchsuchen, wird die nächste Nachricht als Anrufannahmeanfrage angezeigt. Dies bedeutet, dass der Agent den Anruf angenommen hat.
28. Wenn Sie wissen, dass der Agent den Anruf angenommen hat (mit P2) und dass sich der Anruf auch auf der CTI-Portseite im verbundenen Zustand befindet (mit P1), dann sehen Sie einen Routing Point (Weiterleitungspunkt). Dies bedeutet, dass die Weiterleitungstaste zum zweiten Mal gedrückt
CallDirectTransferRequestwurde.
29. Nun, da der CTI-Port weiß, dass der Agent den Anruf angenommen hat, gibt es keinen Punkt warten, es sendet sofort eine,
CallDirectTransferRequest die der CTI-Port ist, drücken Sie die Transfer-Taste zum zweiten Mal, wie oben erläutert.
30. Nun, der ursprüngliche Anrufabschnitt (derjenige, der auf Halten war) ist derjenige, der überlebt.
31. Die andere Anrufstrecke wird zerstört (zwischen Port und Agent).
32. An diesem Punkt werden CUCM und UCCX aus dem Bild und RTP zwischen dem Anrufer und dem Agenten über Gateway eingerichtet.
Im nächsten Diagramm wird der oben erwähnte Anruffluss kurz erläutert.
Fehlerbehebung
Aktivieren und Sammeln von JTAPI-Protokollen
JTAPI-Debugging aktivieren
Überprüfen Sie diese Schritte, um JTAPI-Debugging-Ebenen zu aktivieren.
- Bei UCCX anmelden
- Rufen Sie CCX Serviceability auf.
- Gehe zu Spur.
- Gehen Sie zu Konfiguration.
- Wählen Sie im Dropdown-Menü "Service auswählen" die Option Cisco Unified CM Telefony Client aus.
- Aktivieren Sie das Kontrollkästchen Debuggen.
- Aktivieren Sie alle Kontrollkästchen mit Ausnahme von MISC_DEBUGGING.
JTAPI-Debugging erfassen
Bitte überprüfen Sie diese Schritte, um JTAPI-Debug-Ebenen von RTMT oder CLI zu aktivieren.
Von RTMT
- Melden Sie sich beim CCX Real Time Monitoring Tool an.
- Klicken Sie auf Trace & Log Central.
- Klicken Sie auf Dateien sammeln.
- Wählen Sie JTAPI Client für alle Server aus.
- Klicken Sie auf Next (Weiter).
- Wählen Sie die Zeitstempel und den Speicherort aus, an dem die Protokolldateien gespeichert werden sollen.
Von CLI
JTAPI-Protokollspeicherort
activelog /uccx/log/JTAPI
Befehl zum Erfassen der JTAPI-Protokolle:
Datei get activelog /uccx/log/JTAPI/* recurs compress
Syntax:
Datei {activelog|inactivelog|install}-Dateispezifikation abrufen [Optionen]
Datei-Spezifikation obligatorische Datei zu übertragen
Optionen Optionale Reltime Monate|Wochen|Tage|Stunden|Minuten Zeitwert
abstim hh:mm:MM/TT/JJ hh:mm:MM/TT/JJ
Matchregex
wiederkehren
verdichten
5 Möglichkeiten zum Herunterladen der Protokolle basierend auf dem Zeitstempel
reltime: Relativer Zeitraum, angegeben als Minuten | Stunden | Tage | Wochen | Monatswert
abstime: Absoluter Zeitraum, angegeben als hh:mm:MM/TT/JJ hh:mm:MM/TT/JJ
match - Übereinstimmung mit einer bestimmten Zeichenfolge im Dateinamen, angegeben als Zeichenfolgenwert
recurs - Alle Dateien abrufen, einschließlich Unterverzeichnisse
komprimieren-Option können Sie die Dateien in einem Zip-Format herunterladen.
Tipp: Um die Dateien herunterzuladen, stellen Sie sicher, dass der externe SFTP-Server (Secure File Transfer Protocol) konfiguriert ist und darauf zugegriffen werden kann.
Tipp: Mit der Option recurs (Wiederholungen) können Sie das Verzeichnis für alle Unterverzeichnisse und Dateien durchlaufen. Dies wird verwendet, wenn Sie alle Protokolle aus einem Verzeichnis abrufen möchten.
Referenzlinks
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
01-Feb-2024 |
Erstveröffentlichung |