Contenido

Introducción

Registros necesarios

Bubble Chat Flow

Análisis de registros

Paso 1. Registros de la consola del cliente: Haga clic para chatear.

Paso 2. SM ccppublicapps: DB dip to mmca_webhook

Paso 3. UCCX MADM: Recibe la solicitud de configuración de widgets.

Paso 4. SM Publicapps:200 OK en la configuración de widgets.

Paso 5. Registros de la consola del cliente: Respuesta al Navegador del Cliente que muestra Detalles en JSON.

Paso 6. SM Aplicaciones públicas: Solicitud de chat entrante.

Paso 7. Tiempo de ejecución de SM: Se crea el contacto social.

Paso 8. SM Aplicaciones públicas: Actualiza el SocialContact creado a la API pública.

Paso 9. Tiempo de ejecución de SM: Envía la notificación a la API de servicio web de CCX en MADM.

Paso 10. UCCX MADM: Webservices muestra la solicitud de conversación entrante.

Paso 11. UCCX MADM: Enviar mensaje JMS al motor CCX.

Paso 12. MIVR UCCX:

Paso 13. SM Aplicaciones públicas: Se une el agente y se ha iniciado la sesión de chat.

Paso 14. Registros de la consola del cliente: El agente se une a la sala de conversación.

Paso 15. SM Publicapps: El usuario abandona la sala de chat.

Paso 16. Registros de la consola del cliente: El navegador de usuario muestra la calificación de éxito del chat.

Paso 17. SM Aplicaciones públicas: ccppublicapps recibe la calificación Post Chat del navegador.

Paso 18. MIVR UCCX: Actualización XMPP recibida del SM.

Paso 19. MIVR UCCX: Escribir calificación de conversación en la base de datos.

Introducción

Este documento describe el flujo de chat Bubble junto con el análisis de registro de extremo a extremo para un chat de burbujas de trabajo, que se puede utilizar como referencia de trabajo para resolver los problemas.

La solución Unified Contact Center Express (UCCX) con el lanzamiento de UCCX y SocialMiner (SM) 11.6(2) ha añadido la nueva función de chat de burbujas.

La función Bubble Chat (o Chat Bubble) le permite llegar a un negocio usando un formulario web de chat flotante mínimamente intrusivo que se mueve con la página web (con desplazamiento), es totalmente personalizable y también actualiza instantáneamente cualquier personalización sin la necesidad de volver a implementar el formulario web en el sitio.

Colaboró Jayant Suneja, Arunabh Bhattacharjee, Cisco Engineering.

Registros necesarios

Para rastrear todo el flujo, los registros cubren el iniciador del chat (cliente) hasta el UCCX.

- Registros de la consola cliente: Estos son los registros de la consola del navegador donde el usuario final inicia el chat.

- Registros SM: registros de ccppublicapps, registros de tiempo de ejecución, registros de tomcat.

- Registros de UCCX: Registros MIVR (registros del motor con SS_CHAT y depuración de SS_ROUTEANDQUEUE), registros MADM (registros de administración de CCX con UCCX_WEBSERVICES).

El resto del análisis (después de unir la sala de chat) es idéntico al flujo de chat clásico (es decir, eventos XMPP simples entre el gadget Agente de SocialMiner en Finesse y el cliente final, que está conectado a través de un túnel XMPP)

Bubble Chat Flow

El flujo se puede resumir en los 19 pasos que se muestran en esta imagen.

Cada paso se describe en los registros.

Análisis de registros

Cuando un cliente hace clic en el botón Click to Chat, el formulario de chat Bubble se presenta mediante el código JavaScript del widget de chat.

El formulario de chat Bubble realiza la representación en el servidor, donde obtiene la configuración del chat para cargar la interfaz de usuario para que el usuario final inicie un chat.

Si abre el widget de chat, verá la URL configurada en este formato:

https://<SOCIALMINER>/ccp/ui/BubbleChat.html?host=<SOCIALMINER>&wid=<WIDGET_ID>&secure=true

<SOCIALMINER> y <WIDGET_ID> son el FQDN de SocialMiner y el ID de widget, respectivamente.

La configuración recibida aquí está en el formulario JSON.

Paso 1. Registros de la consola del cliente: Haga clic para chatear.

1. Una vez que el cliente final presiona Click to chat en la página web, realiza un GET a SM a través de estas tres URL.

2. Tenga en cuenta que la ID de widget se envía en la tercera solicitud.

3. Todos estos deben volver con un exitoso 200 OK para cargar la ventana de chat de burbuja.

1) GET https://sm-fqdn/ccp/ui/BubbleChat.html?host=sm-fqdn&wid=1&secure=true

[HTTP/1.1 200 OK 0ms]

2) GET https://sm-fqdn/ccp/ui/js/ccp/bubblechat/ccp-chat-components.js

[HTTP/1.1 200 OK 0ms]

3) GET https://sm-fqdn/ccp/bubblechat?wid=1

[HTTP/1.1 200 OK 289ms]

Paso 2. SM ccppublicapps: DB dip to mmca_webhook

1. SM realiza un salto de la base de datos a la tabla mmca_webhook en la base de datos SM Informix y obtiene la URL de Webhook para esta solicitud de chat entrante con la ayuda de la ID de widget. En nuestro caso, es widegetid=1.

2. A continuación, SM utiliza esta URL de webhook para obtener la configuración del widget desde UCCX.

0000000323: 10.78.91.166: Aug 06 2018 09:24:09.538 +0530: %CCBU_________CCPAPI-6-REST_API_INFO:

Fetching bubble chat config from hook url:

https://uccx-fqdn/uccx-webservices/chat/config/1

0000000324: 10.78.91.166: Aug 06 2018 09:24:09.538 +0530: %CCBU_________CCPAPI-6-REST_API_INFO:

Fetching bubble chat config from hook url:

https://uccx-fqdn/uccx-webservices/chat/config/1

Paso 3. UCCX MADM: Recibe la solicitud de configuración de widgets.

1. Los servicios web UCCX como parte de MADM reciben esta solicitud para obtener la configuración del widget.

2. La configuración del widget contiene los tipos de letra, los colores, el estilo del widget de chat, la información del formulario, etc.

3. UCCX entonces realiza un salto DB y obtiene la configuración de widget de la tabla chatbubble en UCCX Informix (db_cra).

4. Esta configuración se devuelve al navegador del usuario a través de la API ccppublicapps como respuesta JSON.

7199526: Aug 06 09:31:21.235 IST %MADM-UCCX_WEBSERVICES-7-UNK:[http-bio-443-exec-14] ServiceLogger:

Request Url: https://uccx-fqdn/uccx-webservices/chat/config/1

7199527: Aug 06 09:31:21.235 IST %MADM-UCCX_WEBSERVICES-7-UNK:[http-bio-443-exec-14] ServiceLogger:

Match Found for https://uccx-fqdn/uccx-webservices/chat/config/1

7199528: Aug 06 09:31:21.235 IST %MADM-UCCX_WEBSERVICES-7-UNK:[http-bio-443-exec-14] ServiceLogger:

ChatResource: Received a chat config GET request for chat widget id : 1

Paso 4. SM Publicapps:200 OK en la configuración de widgets.

SM recibe el mensaje 200 OK para la solicitud GET que envió a CCX para obtener la configuración del widget de chat.

10.78.91.166: Aug 06 2018 09:31:21.297 +0530: %CCBU_________CCPAPI-6-REST_API_INFO:

Received success response within 100 milliseconds

10.78.91.166: Aug 06 2018 09:32:38.684 +0530: %CCBU__CCPPUBLICAPPS-6-PUBLICAPPS_SESSION_CREATED:

%[session.id=3F8B8C08D7E8144C7B1AD7AF144A4C1E][session_timeout=300]: ccppublicapps: new publicapps

session

Paso 5. Registros de la consola del cliente: Respuesta al Navegador del Cliente que muestra Detalles en JSON.

1. A continuación se muestra una muestra de la respuesta JSON recibida por el cliente como parte de todas las operaciones anteriores.

2. Este JSON se utiliza para cargar la ventana de chat de burbujas a través de la fuente configurada, la declaración del problema, el color, etc., tal como se recibe.

Nota: Todas las operaciones anteriores se realizan para cargar la ventana de chat de burbuja para que el cliente pueda ahora rellenar sus datos para empezar a chatear con el centro de contacto. Un flujo adicional una vez que el cliente envía los detalles del chat es el mismo que en el flujo de chat clásico/heredado.

GET https://sm-fqdn/ccp/bubblechat?wid=1[HTTP/1.1 200 OK 289ms]

Response:

{"feedId":"100000","postChatRatingEnabled":true,"messages":{"agentJoinTimeoutMsg":"All our customer care representatives are busy. You may wait or try again later.","transcriptPopupPositiveMsg":"Yes","transcriptPopupMsg":"Chat has ended. Do you want to download the chat transcript?","transcriptPopupNegativeMsg":"No","connectivityErrorMsg":"Chat disconnected due to inactivity timeout or connection failure.","agentLeftMsg":" ${agent_alias} has left the chat","ratingButtonText":"Submit","offHourMessage":"Sorry, we are not available at the moment.","textForTypingMsg":"Type your message and press Enter","agentJoinedMsg":" ${agent_alias} has joined","closeChatPopupMsg":"Do you want to close the chat?","closeChatPopupNegativeMsg":"No","ratingLabel":"Rate your chat experience","chatErrorMsg":"Chat service is currently unavailable. Try later.","closeChatPopupPositiveMsg":"Yes","welcomeMessage":"Thank you for contacting us. A customer care representative would assist you soon."},"contextServiceFieldSets":"","chatForm":{"bubbleStyle":{"titleText":"CCBU Care Startup","titleTextColor":"#0AB7D7","buttonText":"Start Chat","buttonTextColor":"#FFFFFF","buttonBackgroundColor":"#0AB7D7","problemStmtCaption":"Choose a problem statement","afterResumeNewChatMsg":"New Message","agentMessageTextColor":"#FFFFFF","agentMessageBackgroundColor":"#0AC391","fontFace":"Helvetica"},"formFields":["Title","Name","Details","Email","PhoneNumber","AddressLine1","AddressLine2","Anything important to note","Teléfono","Cédula"],"problemStatements":{"caption":"Choose a problem statement","statements":[{"statement":"Insuarance","csqTag":"Chat_Csq1"},{"statement":"Debit","csqTag":"Chat_Csq1"},{"statement":"Credit","csqTag":"Chat_Csq1"},{"statement":"Account","csqTag":"Chat_Csq1"}]}},"proactiveChat":false,"name":"Bubble1162","id":1}

Paso 6. SM Aplicaciones públicas: Solicitud de chat entrante.

El SM recibe la solicitud de chat entrante y se crea el contacto social:

0000001136: 10.78.91.166: Aug 06 2018 09:32:38.692 +0530: %CCBU__CCPPUBLICAPPS-6-CHAT_ROOM_DETAILS: %[Nickname=Jayant Suneja][RoomJid=socialminer_chat.16@conference.127.0.0.1][RoomSubject=Chat with Jayant Suneja][social_contact_id=null]: Create chat room with the following details

Paso 7. Tiempo de ejecución de SM: Se crea el contacto social.

El contacto social lo crea el motor de SocialMiner (servicio en tiempo de ejecución).

0000399687: 10.78.91.166: Aug 06 2018 09:32:38.764 +0530: %CCBU__________FEEDS-6-SOCIAL_CONTACT_CREATED: %[SOCIAL_CONTACT_ID=0D66B2241000016500235A740A4E5BA6][SOCIAL_CONTACT_LINK=https://sm-fqdn/ccp/socialcontact/0D66B2241000016500235A740A4E5BA6]: A new social contact was created

Paso 8. SM Publicapps: Actualiza el SocialContact creado a la API pública.

El contacto social se crea, la actualización se ve en los registros de ccppublicapps.

0000000337: 10.78.91.166: Aug 06 2018 09:32:38.767 +0530: %CCBU_________CCPAPI-6-CREATE_SOCIAL_CONTACT: SocialContact successfully created with requestId: y3xQxE

0000001142: 10.78.91.166: Aug 06 2018 09:32:38.768 +0530: %CCBU__CCPPUBLICAPPS-6-CHAT_CREATED: %[Contact=https://sm-fqdn/ccp-webapp/ccp/socialcontact/0D66B2241000016500235A740A4E5BA6][Room=socialminer_chat.16@conference.127.0.0.1][Session=3F8B8C08D7E8144C7B1AD7AF144A4C1E][social_contact_id=null]: Chat created

Paso 9. Tiempo de ejecución de SM: Envía la notificación a la API de servicio web de CCX en MADM.

Se envía una notificación desde SM a los servicios web de CCX en la que se informa a CCX de que hay un nuevo chat entrante.

0008541000: 10.78.91.166: Aug 06 2018 09:32:38.940 +0530: %CCBU___NOTIFICATION-6-NOTIFICATION_SUCCEEDED: %[Notification=com.cisco.ccbu.ccp.notification.Notification@1beea47[enqueueTime=1533528158834,rule=com.cisco.ccbu.oamp.omgr.transfer.HttpNotificationRule@15a2eb1[httpUrl=https://uccx-fqdn/uccx-webservices/contact,httpUsername=

,httpPassword=

,sslVerifyCertificates=false,campaignId=100001,tags=[ccx_chat_req],id=100006,name=CCX

Chat Notification for HA - Backup,description=Created by CCX application as part of CCX chat configuration.,changeStamp=1,lastUpdated=1527579740301,ouId=4],screenPopUrl=http://sm-fqdn/results.jsp?scID=0D66B2241000016500235A740A4E5BA6&campaignID=CCX_Chat_Campaign,body=

version="1.0" encoding="UTF-8" standalone="yes"?>

<SocialContact>

<author>Jayant Suneja</author>

<description></description>

<extensionFields>

<extensionField>

<name>AddressLine1</name>

<value>1900</value>

</extensionField>

<extensionField>

<name>AddressLine2</name>

<value>9th street</value>

Paso 10. UCCX MADM: Webservices muestra la solicitud de conversación entrante.

CCX recibe el contacto de conversación entrante en MADM con UCCX_WEBSERVICES habilitado para depurar.

7199571: Aug 06 09:32:39.079 IST %MADM-UCCX_WEBSERVICES-7-UNK:[http-bio-443-exec-7] ServiceLogger: New incoming contact : <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<contactXML>

<author>Jayant Suneja</author>

<id>0D66B2241000016500235A740A4E5BA6</id>

<integrationAuthTokenGUID>d64fe6ac-9687-4ecd-9f00-0e6ec02c6945</integrationAuthTokenGUID>

<notificationTag>ccx_chat_req</notificationTag>

<publishedDate>1533528158684</publishedDate>

<refURL>http://sm-fqdn/ccp-webapp/ccp/socialcontact/0D66B2241000016500235A740A4E5BA6>

<replyTemplateURL>http://sm-fqdn/multisession/ui/templates/reply/cisco_agent_ms_chat.jsp>

<sourceType>chat</sourceType>

<status>unread</status>

<statusReason>unknown</statusReason>

<statusTimestamp>1533528158756</statusTimestamp>

<tags>

Paso 11. UCCX MADM: Enviar mensaje JMS al motor CCX.

Ahora se informa al motor del nuevo contacto a través del bus de mensajes de JMS; es decir, UCCX MADM (API de servicio web de administración) informa al MIVR (motor) de que debe poner en cola este contacto.

7199573: Aug 06 09:32:39.080 IST %MADM-UCCX_WEBSERVICES-7-UNK:[http-bio-443-exec-7] ServiceLogger: Sending JMS message to Contact Topic: ContactEvent [operation=ADD, contactXML=ContactXML [author=Jayant Suneja, id=0D66B2241000016500235A740A4E5BA6, replyType=chat, notificationTag=ccx_chat_req, refURL=http://sm-fqdn/ccp-webapp/ccp/socialcontact/0D66B2241000016500235A740A4E5BA6, replyTemplateURL=http://sm-fqdn/multisession/ui/templates/reply/cisco_agent_ms_chat.jsp, integrationAuthTokenGUID=d64fe6ac-9687-4ecd-9f00-0e6ec02c6945, userExtensionFields=[UserExtensionField [name=AddressLine1, value=1900], UserExtensionField [name=AddressLine2, value=9th street], UserExtensionField [name=Anything important to note, value=Bill Issue], UserExtensionField [name=Cédula, value=Bill Issue], UserExtensionField [name=Details, value=Test Bubble Chat], UserExtensionField [name=Email, value=xxxx@gmail.com], UserExtensionField [name=Name, value=Jayant Suneja], UserExtensionField [name=PhoneNumber, value=97xxxxxxxx], UserExtensionField [name=Teléfono, value=Bill Issue], UserExtensionField [name=Title, value=Mr.], UserExtensionField [name=ccxqueuetag, value=Chat_Csq1], UserExtensionField [name=h_chatOrigin, value=CISCO_BUBBLE], UserExtensionField [name=h_chatRoom, value=socialminer_chat.16@conference.127.0.0.1], UserExtensionField [name=h_widgetName, value=Bubble1162]], tags=[ccx_chat_req], sourceType=chat, status=unread, statusReason=unknown, publishedDate=1533528158684, title=CCX_Chat, campaignPublicId=null, statusTimestamp=1533528158756]]

Paso 12. MIVR UCCX:

El subsistema de conversación (SS_CHAT) pone en cola al contacto de conversación y el subsistema de ruta y cola (SS_ROUTEANDQUEUE) asigna la conversación al agente. Esto se observa en los registros del motor UCCX (MIVR) con SS_CHAT y SS_ROUTEANDQUEUE habilitados para depurar.

3722751: Aug 06 09:32:39.144 IST %MIVR-SS_CHAT-7-UNK:[pool-8-thread-15] ChatSubsystemLogger: com.cisco.wf.subsystems.chat.observer.ContactNotificationObserver : Contact Notification received - ContactNotification [requestId=, contactId=0D66B2241000016500235A740A4E5BA6, contactState=QUEUED, handlerQueue=-1, startTime=1533528159105, endTime=-1, queueWaitDuration=0, handlingDuration=-1, terminalStateContact=ChatContact(Contact[id=0D66B2241000016500235A740A4E5BA6,state=QUEUED,dispReason=UNKNOWN]), dispositionReason=UNKNOWN, mediaType=CHAT, sequenceNumber=0, statusTimeStamp=1533528158756]. Notification Type UPDATE

3722752: Aug 06 09:32:39.144 IST %MIVR-SS_ROUTEANDQUEUE-7-UNK:[pool-8-thread-15] RouteAndQueueSubsystemLogger: ALLOCATED Contact [0D66B2241000016500235A740A4E5BA6] to Agent [Jabber@ge.nt1]

Se envía al agente una notificación para aceptar el chat y se crea una sala entre el usuario y el agente.

El flujo de todo esto igual que el chat heredado por lo que no cubre mucho de los registros para este flujo.

Paso 13. SM Aplicaciones públicas: Se une el agente y se ha iniciado la sesión de chat.

La sesión de chat se ha establecido una vez creado el túnel XMPP. El widget de chat del usuario y el gadget de chat de SocialMiner (alojado en Finesse) están conectados ahora mediante XMPP y puede ver los eventos de presencia que se envían y reciben.

0000001149: 10.78.91.166: Aug 06 2018 09:32:46.842 +0530: %CCBU__CCPPUBLICAPPS-6-PRESENCE_EVENT_RECEIVED: %[CustomerNickname=Jayant Suneja][Nickname=Jabber@ge.nt1][SocialContactID=0D66B2241000016500235A740A4E5BA6][Status=joined][Username=socialminer_chat.16@conference.127.0.0.1/Jabber@ge.nt1]: Received presence event

0000001152: 10.78.91.166: Aug 06 2018 09:32:51.168 +0530: %CCBU__CCPPUBLICAPPS-6-TYPING_STATUS_RECEIVED: %[From=socialminer_chat.16@conference.127.0.0.1/Jabber@ge.nt1][Nickname=Jabber@ge.nt1][SocialContactID=0D66B2241000016500235A740A4E5BA6][Text=composing]: Typing Status received

Paso 14. Registros de la consola del cliente: El agente se une a la sala de conversación.

Los registros del cliente muestran que el agente se une a la sala de chat. Lo mismo se muestra en el widget de chat.

Mon Aug 06 2018 09:32:48 GMT+0530 (India Standard Time):CISCO_BUBBLE_CHAT:Received chat room

status event of type chatroom_agent_joined

Nota: El cliente finaliza ahora el chat. Aquí el flujo es un poco diferente en comparación con el chat heredado, ya que hay una nueva característica de post chat de calificación añadido con el chat de burbuja.

Paso 15. SM Publicapps: El usuario abandona la sala de chat.

Un usuario abandona el chat y ahora el agente está solo en la sala de chat. Esto también muestra que el usuario abandona la sala.

0000001185: 10.78.91.166: Aug 06 2018 09:33:26.738 +0530: %CCBU__CCPPUBLICAPPS-6-LEAVE_CHAT_ROOM:

%[ChatRoomName=socialminer_chat.16@conference.127.0.0.1][Nickname=Jayant Suneja]

[User=ccp_chatclient][social_contact_id=0D66B2241000016500235A740A4E5BA6]: Leave chat room

Nota: Si se ha activado una calificación de chat posterior, el SM recibirá esta calificación una vez que el usuario envíe la calificación de chat posterior.

Paso 16. Registros de la consola del cliente: El navegador de usuario muestra la calificación de éxito del chat.

Envío correcto de la clasificación de chat con un 200 OK recibido en el navegador del usuario.

Mon Aug 06 2018 09:33:34 GMT+0530 (India Standard Time):CISCO_BUBBLE_CHAT:Feedback submitted

successfully. Response code: 200

Mon Aug 06 2018 09:33:34 GMT+0530 (India Standard Time):CISCO_BUBBLE_CHAT:Successfully ended

the chat session. Response code: 200 ccp-chat-components.js:1:14634

Mon Aug 06 2018 09:33:34 GMT+0530 (India Standard Time):CISCO_BUBBLE_CHAT:Successfully cleaned up

Paso 17. SM Aplicaciones públicas: ccppublicapps recibe la calificación Post Chat del navegador.

Valoración de los comentarios recibidos en SM.

10.78.91.166: Aug 06 2018 09:33:34.277 +0530: %CCBU__CCPPUBLICAPPS-6-CHAT_FEEDBACK_RECEIVED :

%[ChatFeedback=com.cisco.ccbu.ccp.publicapps.api.chat.ChatFeedback@d82623[rating=4]][Session=

3F8B8C08D7E8144C7B1AD7AF144A4C1E][social_contact_id=0D66B2241000016500235A740A4E5BA6]:

Received chat feedback

Nota: Cuando se recibe información de chat en el SM con información de clasificación, esa información se guarda por primera vez en un contacto social en el almacén de datos del SM antes de notificarlo a CCX. En caso de que el almacén de datos SM esté inactivo, el envío de la clasificación de chat fallará con un fragmento de "CCPPUBLICAPPS-3-UPDATE_CHAT_SOCIALCONTACT_EXTENSION_FIELD_FAILED"

Paso 18. MIVR UCCX: Actualización XMPP recibida del SM.

SM envía una actualización XMPP a CCX informándole de la calificación recibida del usuario final.

3723269: Aug 06 09:33:34.290 IST %MIVR-SS_CHAT-7-UNK:[Smack Packet Reader (1)] ChatSubsystemLogger: createXMPPSession: PacketExtensionProvider.parseExtension:<SocialContact><campaignPublicId>CCX_Chat_Campaign</campaignPublicId><extensionFields><extensionField><name>h_chatRoom</name><value>socialminer_chat.16@conference.127.0.0.1</value></extensionField><extensionField><name>h_chatOrigin</name><value>CISCO_BUBBLE</value></extensionField><extensionField><name>C&#233;dula</name><value>Bill Issue</value></extensionField><extensionField><name>Details</name><value>Test Bubble Chat</value></extensionField><extensionField><name>PhoneNumber</name><value>97xxxxxxxx</value></extensionField><extensionField><name>h_agentName</name><value>Jabber@ge.nt1</value></extensionField><extensionField><name>h_rating</name><value>4</value>

Paso 19. MIVR UCCX: Escribir calificación de conversación en la base de datos.

La clasificación de chat enviada se escribe en la base de datos de CCX y se guarda en la tabla textratingdetail, que es una tabla recién agregada en UCCX 11.6(2).

El objetivo principal de esta tabla es almacenar las clasificaciones de conversación para la generación de informes.

3723276: Aug 06 09:33:34.299 IST %MIVR-SS_ROUTEANDQUEUE-7-UNK:[Smack Listener Processor (1)]

RouteAndQueueSubsystemLogger: com.cisco.wf.subsystems.routeandqueue.aggregator.historical.

HistoricalManager : Writing Historical Record: TRDR: ContactID=0D66B2241000016500235A740A4E5BA6,

rating=4, ratingTime=java.util.GregorianCalendar[time=1533528214299,areFieldsSet=true,

areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,

useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,

YEAR=2018,MONTH=7,WEEK_OF_YEAR=32,WEEK_OF_MONTH=2,DAY_OF_MONTH=6,DAY_OF_YEAR=218,DAY_OF_WEEK=2,

DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=4,HOUR_OF_DAY=4,MINUTE=3,SECOND=34,MILLISECOND=299,

ZONE_OFFSET=0,DST_OFFSET=0]