Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Functioneel Overzicht

Agent-inloggegevens

Beschikbaarheid agent-stroom

Vereiste voor beschikbaarheid bij Chat-invoerpunt

Log verzameling

Inleiding

In dit document wordt beschreven hoe Enterprise Chat en Email (ECE) de status van agent kunnen identificeren wanneer klanten chatsessies openen.

Voorwaarden

Vereisten

Cisco raadt kennis van de volgende onderwerpen aan:

- Enterprise Chat en e-mail

- Web browsers developers

- Unified Intelligent Contact Management-ondernemingen

Gebruikte componenten

De informatie in dit document is gebaseerd op de softwareversie ECE 11.6.

De informatie in dit document werd gemaakt van de apparatuur in een specifieke labomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie.

Functioneel Overzicht

Om Cisco Unified Intelligent Contact Management Enterprise (ICM) te beheren (agent activiteiten en routetaken) moet ICM alle agents die in ICM worden geregistreerd, controleren. De toepassingsinstanties, zoals ECE, rapporteren de agent activiteiten en de agentenstatus door de uitgebreide ICM CTI/ARM (het rapport en het beheer van de Agent) interface.

De ARM-service is gebaseerd op de huidige CTI-serverfunctionaliteit en staat een clienttoepassing toe om toepassingsagents en taakactiviteit te controleren. Met de ARM-interface kan een clienttoepassing een bepaalde reeks agents (werkstationmodus) of alle agents (brugmodus) die aan een toepassing zijn gekoppeld, bewaken.

De afbeelding toont meer details over de ARM-interfaces.  Een toepassingsinstantie gebruikt de ARM-interface om agents op een of meer Agent-telefoons te beheren (loggen ze in en uit media, enzovoort) en om informatie te geven over hun taakactiviteit (Start Task, End Task enz.).

Agent-inloggegevens

De beschikbaarheid van de agent wordt geïdentificeerd aan de kant van de CTI Server. Wanneer een agent inlogt om console te vormen, verstuurt het ECE-luisterproces het verzoek naar CTI Server. Het verzoek geeft aan dat de agent is inlogd en zichzelf als beschikbaar gemarkeerd.

Dit zijn de indicatoren die door de ECE-applicatie naar de CTI-server worden verstuurd:

Wanneer een agent wordt ingelogd, stuurt een luisteraar een MEDIA_LOGIN_REQ. De MEDIA_LOGIN_REQ logt de gespecificeerde agent in een Domein van de Mediaroute (MRD) (logt agent in alle vaardigheden die voor die MRD en agent zijn ingesteld). Wanneer een agent zichzelf als beschikbaar tekent, stuurt de luisteraar nog twee verzoeken die erop wijzen dat de agent ROUTABLE of NOT ROUTABLE en READY of NOT READY is, en verstrekt hij client-gedefinieerde agent informatie. De CTI-client moet het Application Path for the related MRD Perifeer paars in het Open Application bericht hebben gespecificeerd of het logbestand wordt verworpen. Om te slagen moet de agent ook worden geconfigureerd om tot ten minste één Skill Group (SG) te behoren die tot de aangegeven MRD behoort.

De afbeelding toont het diagram van de berichtenstroom voor loggen in verzoek:

Logboek van luisteraar met het INFO-spoorniveau:

2019-07-20 18:27:31.749 GMT+0000 <@> INFO <@> [14285:listener-event-pool-priority-arm-request-executor::-0] <@> ProcessId:4584

<@> PID:1 <@> UID:1005 <@> HttpSessionId:IrltMMd3T0prrkbhAwK8wkL5 <@> com.ipcc.listener.arm.ARMLogger <@>

<@> Sending MEDIA_LOGIN_REQ  -> 0 0 0 27 0 0 0 -105 0 2 8 1 0 0 19 -120 0 0 19 -87 0 0 0 0 0 0 0 1 107 5 49 48 48 53 0   <@>

2019-07-20 18:27:32.037 GMT+0000 <@> INFO <@> [71:Thread-9] <@> ProcessId:4584 <@> PID:1 <@> UID:12 <@> HttpSessionId:

<@> com.ipcc.listener.arm.ARMLogger <@>  <@> Received MEDIA_LOGIN_RESP  ->  0 0 0 8 0 0 0 -104 0 2 8 1 0 0 0 0   <@>

CTIsvr log met standaard sporenniveau:

20:27:32:466 cg1A-ctisvr Trace: ProcessMediaLoginReq - sessionID 4

20:27:32:466 cg1A-ctisvr Trace: SendARMMsg -- InvokeID = 591309094, MRDID = 5000, ICMAgentID = 5033, AgentMode = 0

IsAvailable = 0, MaxTaskLimit = 1, AgentInfo = 1005, ApplicationPathID = 5001, PeripheralID = 0, AgentID =

20:27:32:607 cg1A-ctisvr Trace: ProcessARMMediaLoginRespMsg -- InvokeID = 591309094, Status = 0, AgentSkillTargetID = 5033

Status 0 betekent dat er geen fouten zijn opgetreden aan de kant van de CTI-server.

Beschikbaarheid agent-stroom

Als de agent aan de chat SG wordt geassocieerd, en deze SG wordt geassocieerd aan de ECE rij in het Punt van de Toegang van het Kat, wanneer de agent zich beschikbaar tekent, zie 2 verzoeken, de MAKE_AGENT_ROUTABLE_IND en MAKE_AGENT_READY_IND.

Make Agent Routable Indication vertelt aan ICM dat de gespecificeerde agent op een ROUTABLE-modus is ingesteld voor de gespecificeerde MRD.

Opmerking: Het bericht van de Routable Indicatie van Make Agent kan worden verstuurd terwijl het wacht op een Geen Routable Respons van Make Agent en annuleert het hangende Make Agent niet Routable Aanvraag.

Zodra het verzoek van Make Agent Ready Indicatie door de luisteraar van de toepassingsserver is ontvangen, stuurt de luisteraar het verzoek door naar de CTI server en op dat moment de agent die als beschikbaar voor ECE wordt beschouwd. In dat geval, als chatten tegelijkertijd wordt gestart, staat het systeem toe om te beginnen en de chatactiviteit te maken voor die chat.

Het logboek toont deze verzoeken indien het INFO-spoor is ingeschakeld:

2019-08-19 13:34:09.773 GMT+0000 <@> INFO <@> [8938:listener-event-pool-priority-arm-request-executor::-441] <@> ProcessId:5436 <@> PID:1 <@> UID:12 <@> HttpSessionId: <@> com.ipcc.listener.AgentAvailabilityStatusHandler <@> <@> AgentAvailabilityStatusHandler:agentIsAvailable() MAKE_AGENT_ROUTABLE_IND to ARM armLoginDataArraySize= ARMAgentData ==================================================================

2019-08-19 13:34:09.773 GMT+0000 <@> INFO <@> [8938:listener-event-pool-priority-arm-request-executor::-441] <@> ProcessId:5436 <@> PID:1 <@> UID:12 <@> HttpSessionId: <@> com.ipcc.listener.arm.ARMLogger <@> <@> Sending MAKE_AGENT_ROUTABLE_IND -> 0 0 0 16 0 0 0 -102 0 1 57 43 0 0 19 -120 0 0 25 20 0 0 0 2 <@>

2019-08-19 13:34:09.774 GMT+0000 <@> INFO <@> [8938:listener-event-pool-priority-arm-request-executor::-441] <@> ProcessId:5436 <@> PID:1 <@> UID:12 <@> HttpSessionId: <@> com.ipcc.listener.arm.ARMLogger <@> <@> Sending MAKE_AGENT_READY_IND -> 0 0 0 14 0 0 0 -99 0 1 57 44 0 0 19 -120 0 0 25 20 0 1 <@>

2019-08-19 13:34:09.774 GMT+0000 <@> INFO <@> [8938:listener-event-pool-priority-arm-request-executor::-441] <@> ProcessId:5436 <@> PID:1 <@> UID:12 <@> HttpSessionId: <@> com.ipcc.listener.AgentAvailabilityStatusHandler <@> <@> PRINT_STATE after sending MAKE_AGENT_READY_IND to ARM:

De output van CTI Server en OPC verwerkt logboeken:

### CTI Server

15:34:09:841 cg1A-ctisvr Trace: ProcessMakeAgentRoutableInd - sessionID 6

15:34:09:841 cg1A-ctisvr Trace: SendARMMsg -- InvokeID = 80171, MRDID = 5000, ICMAgentID = 6420, MaxTasks = 2, SessionID = 6

15:34:09:841 cg1A-ctisvr Trace: ProcessMakeAgentReadyInd - sessionID 6

15:34:09:841 cg1A-ctisvr Trace: SendARMMsg -- InvokeID = 80172, MRDID = 5000, ICMAgentID = 6420, MakeRoutable = 1, SessionID = 6

### OPC

15:34:09:841 PG1A-opc Trace: MakeAgentRoutableInd - InvokeID = 80171, MRDID = 5000, ICMAgentID = 6420, MaxTasks = 2, SessionID = 6

15:34:09:841 PG1A-opc Trace: MakeAgentReadyInd - InvokeID = 80172, MRDID = 5000, ICMAgentID = 6420, MakeRoutable = 1, SessionID = 6

Als resultaat hiervan verwijdert OPC de agent van de staat AS_NOT_READY en zet deze op de status AS_NOT_ACTIVE. NewState=AS_NOT_ACTIVE is eigenlijk de Ready status voor Chat/mail.

15:34:09:841 PG1A-opc Trace: SetAgentState: ASTID=6420 Periph#=15003 MRDomainID=5000 SGSTID=6928 SG#=70518(0x11376) OldState=AS_NOT_READY NewState=AS_NOT_ACTIVE Duration=0 CurLine=-1 ReasonCode=0 AgentObj=0x44535b8

Op dit moment is de agent Routable en Beschikbaar vanuit het routerperspectief. De beste manier om dit te controleren is door het testprogramma te gebruiken:

rttest: agent_status /agent 6420

### 6520 is ICMAgtID

Agent CUCM.Agent_test (6420, periph# 15003)

domain: Cisco_Voice (1), state = [nr-0:1,R], 411 secs

CL nr   TEST_SG (6274, periph# 70520)

L nr   CUCM_PIM1.Cisco_Voice.defa.88025 (5000, periph# 31858)

domain: ECE_Chat (5000), state = [na-0:2,RA], 383 secs

CL na   TEST_Chat (6928, periph# 70518)

L na   CUCM.ECE_Chat.default.11006 (6909, periph# 54839)

ng - Nietactief

0:2 - AciteTasks:contentTaskLimit

RA - R is routeerbaar (indien ingesteld), A wees op de router de stof beschikbaar voor nieuw werk op dit domein

Voorzichtig: In ICM 11.5, 11.6 en 12.0 kunt u het defect CSCvq11852 Chat raken en e-mails worden niet toegewezen aan agents, zelfs zij zijn beschikbaar. In zulke scenario's zie je wel in de testuitvoer [na-0:2,RD], waarbij D domein betekent dat niet beschikbaar is (zoals gerapporteerd via app path).

Buiten dat, kunt u de agentenstaat van OPCtest en Agent PG procmon nutsbedrijven controleren.

Voorbeelden:

opctest /cust <inst> /node PG1A

opctest: dump_agent 5000 15003

C:\icm\pcc12\ra\logfiles>procmon <inst> PG1A pim1

11:38:40 Trace: EMT Creating Mutex Global\IMTConnect_DisconnectLock

>>>>dagent 15003

Waar 5000 perifere ID is waar de agent gecreëerd wordt, en 15003 is de agent Periprandnummer.

Vereiste voor beschikbaarheid bij Chat-invoerpunt

In chatinitialisaties kunnen je klanten het bericht "Bedankt voor je onderzoek" zien. Onze diensttijden zijn 9.00 - 17.00 uur PST, maandag-vrijdag." Dit bericht kan zelfs verschijnen wanneer er een agent in Klaar voor een gesprek is. Om de beschikbaarheid van de agent te identificeren verstuurt het systeem de API vraag wanneer klanten de URL van het Punt van de Ingang uitvoeren. Het API-verzoek gaat via een ECE-webserver naar een ECE-toepassingsserver. Deze beschikbaarheid wordt bepaald door de sessies die op de toepassingsserver worden gemaakt.

In ECE 11.6 onderzoekt het Beschikbaarheidsvereiste de beschikbaarheid van MRD en indien er een stof beschikbaar is in MRD, is Chat beschikbaar. Het probleem hier komt, dat als je 2 SG in CHAT MRD hebt, dan als er een agent beschikbaar is in één van de SG, je MRD actief wordt en CHAT wordt aangeboden. Dit probleem wordt opgelost in ECE 12.0 en latere versies. De versterking werd uitgevoerd door gebruik van de SG in de configuratie. In dat geval telt het systeem ook de Skill Group voor agenten die zich beschikbaar merken voor de specifieke MRD.

API-aanvraag:

http://<ECE_WEB_Server_IP>/system/egain/chat/entrypoint/initialisatie/1001

1001 is het invoerpunt-ID.

API-respons:

{"checkEligibility":{"responseType":0},"maskingPatterns":{"maskingPattern":[]},"isVideoChatLicensed":false,"isVideoChatEnabled":false,"videoChatMaxEscalation":5,"isDirectAudioChatEnabled":true,"isChatAttachmentEnabled":false,"maxChatAttachmentSize":3,"isBlackListType":false,"isOffRecordEnabled":false,"htmlTagMatcherRegEx":"((?:[\\r\\n|\\n]*(?:<[^>]*>)*[\\r\\n|\\n]*)*)","htmlTagMatcherIncr":1,"isOneTagOff":true}

Er zijn twee opties voor hoe het systeem definieert dat de agent beschikbaar is. Ofwel de agent is beschikbaar voor een chat of er is een Wachtrij Diepte waarmee dit kan worden gedaan. De configuratie van de wachtrijdiepte maakt het aantal klanten mogelijk dat in de wachtrij kan worden geplaatst wanneer alle agents bezig zijn.

In de API-reactie moet aandacht worden besteed aan checkEligibility: responstype waarde. Het geeft aan wat er op dat moment een agent beschikbaar is.

- Als het als 0 komt, betekent het dat er of de agent beschikbaar is om de chat te nemen of dat de wachtrijdiepte niet wordt bereikt.

- Als deze 1 is, geeft dit aan dat er geen agents beschikbaar zijn.

- 2 betekent dat de maximale rijdiepte is bereikt.

Opmerking: Er zijn hier geen opties om te zien hoeveel agents op het specifieke tijdstip beschikbaar zijn.

Als een agent beschikbaar is, worden de andere .js-bestanden ontvangen door de webbrowser. Als resultaat hiervan ziet een cliënt de eerste pagina met log in naam en onderwerpparameters voor het Punt van de Ingang.

Log verzameling

De API-antwoorden zijn beschikbaar aan de clientkant (van de web browser Network-spoorlijn) of op de ECE-toepassingsserver met debug- of spoorniveau dat niet wordt aanbevolen om lang te blijven vanwege de hoge IO die wordt verbruikt.