Contents

Introduction

Background Information

What is SM Chat Gateway?

Feature Architecture Snapshot / Deployment Models

Public Reverse Proxy on the Internet (SocialMiner Hidden)

SocialMiner on the Internet

Relevant Logs

UCCX

Social Miner

Checklist to Troubleshoot

Step 1. Offline Setup of a Facebook App with Messenger Platform.

Step 2. Callback URL must be Accessible.

Step 3. Facebook APP Reviewed and Ready to be Accessed by the Public

Step 4. Facebook to Reach the Callback URL to Invoke Webhook on SM.

Approach 1

Approach 2

Approach 3

Step 5. The Facebook page Access Token Validation.

Approach 1

Approach 2

Approach 3

Step 6. SM to reach Facebook with or without Proxy.

Step 7. Status of the Chat Gateway Service.

Troubleshoot Flows

Administration Flow

Chat Flow

Miscellaneous Flows

Introduction

This document describes the feature that aims to integrate Facebook Messenger as a customer-side channel with CCX Web Chat feature (via SocialMiner) as an out-of-box feature.

Facebook Messenger is an instant messaging service and application by Facebook. With 1.2 billion users, it is undisputedly the largest and most popular messaging platform in the world.

Powered by the Facebook Messenger Platform, this service enables businesses to interact with their consumers and integrations with other services.

Background Information

- Enables end users (who are also Facebook users) to initiate a chat with specific facebook pages (which are integrated with CCX using the facebook messenger platform) to reach a finesse agent and perform a 2-way real-time chat.

- This is a primarily text-based chat experience. That is, these things supported by FBM are not supported - images, attachments, location sharing, GIFs, stickers, likes, reactions, voice recordings.

- Only one FB page supported per CCX deployment.

- Supports post-chat rating feature.

- Load tested for 2400 FbM chats per hour in the CCX+SM large profiles. The documented limit is 2400 across all web chats (originating from different sources).

What is SM Chat Gateway?

The chat gateway service is a new node.js based service introduced in SocialMiner for FB Messenger integration.

This service is designed in a generic manner to expose webhook APIs to external messaging services (like FB messenger) and internally manage chat sessions and invoke SocialMiner chat APIs.

Basically, this is the service that orchestrates chat sessions for FB messenger (and any other messaging service in the future).

Feature Architecture Snapshot / Deployment Models

Public Reverse Proxy on the Internet (SocialMiner Hidden)

- A simple reverse proxy (e.g. using Nginx, Apache, HAProxy etc.) is exposed on the web with a public hostname.

- Forwards any HTTP request to a specific port or URL to SocialMiner which remains away from the Internet.

- Can be used for SSL termination (with signed SSL cert) also.

- Not shipped by Cisco. Documented in design guides, the user has to deploy this in his network.

SocialMiner on the Internet

- SocialMiner has a public hostname on the web.

- The public route from FB cloud to SocialMiner.

Relevant Logs

UCCX

Logs to be collected:

/opt/cisco/uccx/log/MADM/* - All logs from CCX Administration - required for any issues in configuration.

Log Levels:

- Log levels can be changed in CCX Serviceability.

- Service Name : Cisco Unified CCX Administration.

- Log level must be set to DEBUGGING (at the least) for ADM_CFG and REST_CLIENT sub-facilities.

Social Miner

Logs to be collected:

- /opt/cisco/mmca/logs/ccp-chat-gateway/* - All logs from SocialMiner Chat Gateway (SIZE based rotation)

- /opt/cisco/mmca/logs/ccp-chat-gateway/http/*-access.log - All HTTP access logs from the webhook server running inside the SocialMiner Chat Gateway (rotates at midnight everyday)

- /opt/cisco/mmca/logs/ccppublicapps/* - All logs from SocialMiner public chat APIs (SIZE based rotation) - required for any chat flow issues, post-chat rating

- /opt/cisco/mmca/logs/runtime/* - All logs from SocialMiner Runtime - required for any chat contact injection, handling and event issues

All these logs can be collected using:

- RTMT log collection (manual and scheduled)

- Application CLI (file get activelog ...)

Log Levels:

For SocialMiner Chat Gateway logs, there are 3 main log levels:

- silly - finest logging level, dumps all payloads, messages etc. into logs

- debug - default logging level, debug level

- info - dumps basic logs

These log levels can be changed by editing the /opt/cisco/mmca/conf/ccp-chat-gateway/settings.json and requires the restart of SocialMiner Chat Gateway service to take effect.

There is no CLI command to do this. Access to this file requires root / remote account.

Checklist to Troubleshoot

Step 1. Offline Setup of a Facebook App with Messenger Platform.

Ensure that the customer has created a Facebook app with Facebook Messenger platform before configuring UCCX for FBM feature.

A specific set of things need to be done before configuring this feature in CCX Administration.

Create and Own a Facebook Page

- The user must own a public facebook page for their business/organization.

- This cannot work with individual facebook user accounts.

- The facebook page must be owned by the entity that is attempting to create the facebook app.

- See https://www.facebook.com/help/104002523024878?helpref=about_content for more info.

Step 2. Callback URL must be Accessible.

The Callback URL (updated in facebook while creating webhooks) must be the URL that is accessible publicly from facebook.com servers. If there is no proxy then Webhook URL is the URL of the SM on port 10443. This means:

Step 1. If SocialMiner is directly on the public internet, this is then a webhook URL exposed by SocialMiner host on port 10443 (https://<SM FQDN>:10443/fbm)

You can check the status of the Facebook configuration by using this URL in the browser to make sure that everything is working fine from the configuration perspective. Example :

Step 2. If SocialMiner is hidden behind a reverse proxy then,  Webhook URL is the URL of the proxy server on port 10443. This is the URL of the reverse proxy server (https://proxy.company.com/fbm).

This reverse proxy is expected to further forward the request to the webhook URL exposed by SocialMiner host on port 10443 (https://<SM FQDN>:10443/fbm)

Example:

Step 3. It is mandatory that the host serving the Callback URL to facebook.com serve requests over secure HTTP (HTTPS) with a valid, CA-signed SSL certificate. If this is the SocialMiner server, ensure that the self-signed platform certificate is replaced with a valid, CA-signed certificate.

Step 4. Ensure that firewalls do not block any incoming traffic towards port 10443 on SocialMiner server. There is a rate-limiter implemented on this port that protects the server from excess unwarranted traffic. Also, platform connection limit rules are also applied to this port.

Step 3. Facebook APP Reviewed and Ready to be Accessed by the Public

In https://developers.facebook.com, under the App Review section of the Facebook app, ensure the switch is set to On to make your app public.

Also, ensure that the status of the app says Live, as shown in the image at the top-right corner.

Step 4. Facebook to Reach the Callback URL to Invoke Webhook on SM.

Approach 1

In https://developers.facebook.com, under the Messenger > Settings, navigate to the Webhooks section and select Setup Webhooks.

When the Verify and Save button is clicked, a real request is sent from facebook.com to the callback URL using the supplied Verify Token.

If that request fails, you are unable to save these settings unless you fix the issue. The issues are clearly highlighted inline and should be fixed.

Approach 2

Test the webhook any time later (after configuring it) using the test functionality provided in https://developers.facebook.com (under Facebook APP > Webhooks section)

Click on Test > Send to My server. On Success, The Facebook sends a message to the SM "The sample update was successfully sent to your server.", as shown in the image.

Approach 3

In https://developers.facebook.com, check the Alerts>Inbox section for any updates/notifications/news from Facebook that might affect the app and its functionality.

Step 5. The Facebook page Access Token Validation.

Approach 1

Use the Validate Token functionality provided in CCX Administration (Subsystems>Chat and Email>Chat - Facebook Messenger > Validate)

Approach 2

Use the Access Token Debugger tool provided by Facebook.

Approach 3

Make a simple HTTP GET request to facebook.

URL = https://graph.facebook.com/me?access_token=<PAGE_ACCESS_TOKEN>

Expect

- 200 OK if the token is valid.

- 400 BAD REQUEST if the token is invalid.

Step 6. SM to reach Facebook with or without Proxy.

Use the Validate Token functionality provided in CCX Administration (Subsystems>Chat and Email>Chat - Facebook Messenger > Validate)

Step 7. Status of the Chat Gateway Service.

You can check the status in CCX Administration (Subsystems>Chat and Email>SocialMiner Configuration)

- Indicates that the gateway is RUNNING and is in CONFIGURED state and some channel (FACEBOOK MESSENGER) has been configured.

- Indicates that either the gateway is not at all RUNNING, it is UNREACHABLE, or it is in an ERRONEOUS state due to some bad configuration.

Not Configured - Indicates that the gateway is in NOT_CONFIGURED state. No channels have been configured.

Not Applicable - Indicates that either Finesse not activated or SocialMiner version not configured or compatible.

Facebook Messenger Integration

Indicates if this channel is ENABLED or not.

Also indicates the last failure recorded in this channel. Useful to determine intermittent and permanent errors.

Note:

These channel configurations cannot take effect dynamically without tearing down ongoing chats, and therefore require a restart of SocialMiner Chat Gateway service.

- Facebook Page Access Token - pageAccessToken

- Facebook Verification Token - verificationToken

If Page access token or verification token changes then restart the SocialMiner Chat Gateway service from the CLI.

utils service restart SocialMiner Chat Gateway

Troubleshoot Flows

Administration Flow

Step 1. Admin loads the Facebook Messenger Integration page from Subsystems > Chat and Email > Chat-Facebook Messenger (which gets chat gateway configuration from SocialMiner if configured)

//UCCX Making REST request to get chat gateway configuration.

6551: Aug 27 12:21:23.943 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Getting gateway config

6552: Aug 27 12:21:23.950 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: ChatWidgetUtil.getChatFeedURL()

6553: Aug 27 12:21:23.950 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-20] ConfigManagerImpl: getAccessor(ConfigQuery):Try to get the default accessor

6554: Aug 27 12:21:23.950 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-20] DBAccessor: DBAccessor.get(query))

6555: Aug 27 12:21:23.950 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-20] DBAccessor: Schema class = com.cisco.crs.chat.ChatSocialMinerConfig

6556: Aug 27 12:21:23.950 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] DAOFactoryImpl: Returning DAO :: SystemConfigDAO

6557: Aug 27 12:21:23.950 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-20] SystemConfigUtil: SystemConfigUtil.readAll() :: 1, com.cisco.crs.chat.ChatSocialMinerConfig, null

6558: Aug 27 12:21:23.951 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

6559: Aug 27 12:21:23.958 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

6560: Aug 27 12:21:23.959 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-20] SystemConfigUtil: SystemConfigUtil.convertToCIR :: 1 entities

6561: Aug 27 12:21:23.959 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-20] DBAccessor: Found Configs1

6562: Aug 27 12:21:23.961 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Socialminer is configured

6563: Aug 27 12:21:23.961 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Entering - getChannelConfig(FACEBOOK_MESSENGER)

6564: Aug 27 12:21:23.961 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Entering - getGatewayConfiguration

6565: Aug 27 12:21:23.962 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-20] ConfigManagerImpl: getAccessor(ConfigQuery):Try to get the default accessor

6566: Aug 27 12:21:23.962 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-20] DBAccessor: DBAccessor.get(query))

6567: Aug 27 12:21:23.962 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-20] DBAccessor: Schema class = com.cisco.crs.chat.ChatSocialMinerConfig

6568: Aug 27 12:21:23.962 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] DAOFactoryImpl: Returning DAO :: SystemConfigDAO

6569: Aug 27 12:21:23.962 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-20] SystemConfigUtil: SystemConfigUtil.readAll() :: 1, com.cisco.crs.chat.ChatSocialMinerConfig, null

6570: Aug 27 12:21:23.963 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

6571: Aug 27 12:21:23.966 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

6572: Aug 27 12:21:23.968 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-20] SystemConfigUtil: SystemConfigUtil.convertToCIR :: 1 entities

6573: Aug 27 12:21:23.968 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-20] DBAccessor: Found Configs1

6574: Aug 27 12:21:24.246 EDT %MADM-REST_CLIENT-7-UNK:[http-bio-443-exec-20] SmRestClient: SmRestClient().SmRestClient: getChatGatewayConfig(): Sendig GET reqest to - chatGatewayConfig/

6575: Aug 27 12:21:24.458 EDT %MADM-REST_CLIENT-7-UNK:[http-bio-443-exec-20] SmRestClient: SmRestClient().SmRestClient: getChatGatewayConfig(): GET successed.

//On Success SM return the chat gateway configurations like Facebook Page Access Token, proxy configs, problem statements with queue mappings, messages configured, post chat rating configuration and Facebook verification token.

6576: Aug 27 12:21:24.583 EDT %MADM-REST_CLIENT-7-UNK:[http-bio-443-exec-20] SmRestClient: SmRestClient().SmRestClient: getChatGatewayConfig(): returns - com.cisco.uccx.rest.sm.model.ChatGatewayConfig@6c9ffc[version=1.0,httpProxy=com.cisco.uccx.rest.sm.model.ChatGatewayConfig$HttpProxy@1d8aa3d[enabled=true,host=proxy.esl.cisco.com,port=8080],channels=[com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel@4f3dee[type=FACEBOOK_MESSENGER,auth=com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$Auth@6afc6c[pageAccessToken=EAAVG0LRBZCxYBAHjjnvqBb4MvGHLnlo4cOXw8qgm7BmZCabg44cM7JEzq7BujFItMsk78iXfZAdZBBuXpxEIu4hnQBgvXYzrCifoL8vvjjvYIaZBshfx8plLjm42qbE0FgoEmpREw0YV71Sq4RzRZBPeFVyJOQEMhVNaDsdFGjD8X34mmja,verificationToken=yy721u9wyzg7edl1vgjsm],enabled=true,problemStatements=[com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$ProblemStatement@1e23156[title=1162FBM1,queueId=4], com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$ProblemStatement@115343a[title=1162FBM2,queueId=5], com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$ProblemStatement@117fc9a[title=1162FBM3,queueId=6]],chatFeedId=100029,messages={CHAT_ENDED=Your chat has ended. Thank you., RATING_OFFER=Would you like to rate your chat experience on a scale of 1 [worst] to 5 [best]? Select a rating., UNSUPPORTED_MESSAGE=Sorry, we support only text messages and emojis., PROBLEM_STATEMENT_CAPTION=How can we help you? Choose from one of the options., CHAT_ENDED_UNKNOWN_ERROR=Oops! An error occurred. Chat has ended. Try again later., WAIT_FOR_AGENT=Just a moment...finding an expert to chat with you., AGENT_JOIN_TIMEOUT=We are busy at the moment. You can continue to wait or try again later., WELCOME_MESSAGE=Hello! Welcome to ABCD Customer Care., CHAT_ENDED_INACTIVITY=Chat has ended due to inactivity. You can contact us again., RATING_COMPLETE=Thank you for the feedback., CHAT_ENDED_AGENT_UNAVAILABLE=Sorry, we could not find an expert to chat with you at this moment. Try again later.},ratingEnabled=true]]]

6577: Aug 27 12:21:24.585 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Exiting - getChannelConfig(FACEBOOK_MESSENGER) - Found: com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel@4f3dee[type=FACEBOOK_MESSENGER,auth=com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$Auth@6afc6c[pageAccessToken=EAAVG0LRBZCxYBAHjjnvqBb4MvGHLnlo4cOXw8qgm7BmZCabg44cM7JEzq7BujFItMsk78iXfZAdZBBuXpxEIu4hnQBgvXYzrCifoL8vvjjvYIaZBshfx8plLjm42qbE0FgoEmpREw0YV71Sq4RzRZBPeFVyJOQE5WDMhVNaDsdFGjD8X34mmja,verificationToken=yy721u9wyzg7edl1vgjsm],enabled=true,problemStatements=[com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$ProblemStatement@1e23156[title=1162FBM1,queueId=4], com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$ProblemStatement@115343a[title=1162FBM2,queueId=5], com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$ProblemStatement@117fc9a[title=1162FBM3,queueId=6]],chatFeedId=100029,messages={CHAT_ENDED=Your chat has ended. Thank you., RATING_OFFER=Would you like to rate your chat experience on a scale of 1 [worst] to 5 [best]? Select a rating., UNSUPPORTED_MESSAGE=Sorry, we support only text messages and emojis., PROBLEM_STATEMENT_CAPTION=How can we help you? Choose from one of the options., CHAT_ENDED_UNKNOWN_ERROR=Oops! An error occurred. Chat has ended. Try again later., WAIT_FOR_AGENT=Just a moment...finding an expert to chat with you., AGENT_JOIN_TIMEOUT=We are busy at the moment. You can continue to wait or try again later., WELCOME_MESSAGE=Hello! Welcome to ABCD Customer Care., CHAT_ENDED_INACTIVITY=Chat has ended due to inactivity. You can contact us again., RATING_COMPLETE=Thank you for the feedback., CHAT_ENDED_AGENT_UNAVAILABLE=Sorry, we could not find an expert to chat with you at this moment. Try again later.},ratingEnabled=true]

6578: Aug 27 12:21:24.585 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Entering - getGatewayHttpProxy

6579: Aug 27 12:21:24.585 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Entering - getGatewayConfiguration

6580: Aug 27 12:21:24.585 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-20] ConfigManagerImpl: getAccessor(ConfigQuery):Try to get the default accessor

6581: Aug 27 12:21:24.585 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-20] DBAccessor: DBAccessor.get(query))

6582: Aug 27 12:21:24.585 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-20] DBAccessor: Schema class = com.cisco.crs.chat.ChatSocialMinerConfig

6583: Aug 27 12:21:24.585 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] DAOFactoryImpl: Returning DAO :: SystemConfigDAO

6584: Aug 27 12:21:24.585 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-20] SystemConfigUtil: SystemConfigUtil.readAll() :: 1, com.cisco.crs.chat.ChatSocialMinerConfig, null

6585: Aug 27 12:21:24.585 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

6586: Aug 27 12:21:24.590 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

6587: Aug 27 12:21:24.591 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-20] SystemConfigUtil: SystemConfigUtil.convertToCIR :: 1 entities

6588: Aug 27 12:21:24.592 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-20] DBAccessor: Found Configs1

6589: Aug 27 12:21:24.592 EDT %MADM-REST_CLIENT-7-UNK:[http-bio-443-exec-20] SmRestClient: SmRestClient().SmRestClient: getChatGatewayConfig(): Sendig GET reqest to - chatGatewayConfig/

6590: Aug 27 12:21:24.604 EDT %MADM-REST_CLIENT-7-UNK:[http-bio-443-exec-20] SmRestClient: SmRestClient().SmRestClient: getChatGatewayConfig(): GET successed.

6591: Aug 27 12:21:24.606 EDT %MADM-REST_CLIENT-7-UNK:[http-bio-443-exec-20] SmRestClient: SmRestClient().SmRestClient: getChatGatewayConfig(): returns - com.cisco.uccx.rest.sm.model.ChatGatewayConfig@dede9e[version=1.0,httpProxy=com.cisco.uccx.rest.sm.model.ChatGatewayConfig$HttpProxy@1e97c72[enabled=true,host=proxy.esl.cisco.com,port=8080],channels=[com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel@1e930bc[type=FACEBOOK_MESSENGER,auth=com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$Auth@7e93ee[pageAccessToken=EAAVG0LRBZCxYBAHjjnvqBb4MvGHLnlo4cOXw8qgm7BmZCabg44cM7JEzq7BujFItMsk78iXfZAdZBBuXpxEIu4hnQBgvXYzrCifoL8vvjjvYIaZBshfx8plLjm42qbE0FgoEmpREw0YV71Sq4RzRZBPeFVyJOQE5WDMhVNaDsdFGjD8X34mmja,verificationToken=yy721u9wyzg7edl1vgjsm],enabled=true,problemStatements=[com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$ProblemStatement@21fcdf[title=1162FBM1,queueId=4], com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$ProblemStatement@160b24a[title=1162FBM2,queueId=5], com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$ProblemStatement@1591f22[title=1162FBM3,queueId=6]],chatFeedId=100029,messages={CHAT_ENDED=Your chat has ended. Thank you., RATING_OFFER=Would you like to rate your chat experience on a scale of 1 [worst] to 5 [best]? Select a rating., UNSUPPORTED_MESSAGE=Sorry, we support only text messages and emojis., PROBLEM_STATEMENT_CAPTION=How can we help you? Choose from one of the options., CHAT_ENDED_UNKNOWN_ERROR=Oops! An error occurred. Chat has ended. Try again later., WAIT_FOR_AGENT=Just a moment...finding an expert to chat with you., AGENT_JOIN_TIMEOUT=We are busy at the moment. You can continue to wait or try again later., WELCOME_MESSAGE=Hello! Welcome to ABCD Customer Care., CHAT_ENDED_INACTIVITY=Chat has ended due to inactivity. You can contact us again., RATING_COMPLETE=Thank you for the feedback., CHAT_ENDED_AGENT_UNAVAILABLE=Sorry, we could not find an expert to chat with you at this moment. Try again later.},ratingEnabled=true]]]

6592: Aug 27 12:21:24.606 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Facebook channel is configured

6593: Aug 27 12:21:24.609 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Entering - getCsqName(4)

6594: Aug 27 12:21:24.609 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] DAOFactoryImpl: Returning DAO :: ContactServiceQueueDAO

6595: Aug 27 12:21:24.616 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

6596: Aug 27 12:21:24.626 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Exiting - getGatewayHttpProxy - Found: Optional.of(1162FBMQ1)

6597: Aug 27 12:21:24.626 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Entering - getCsqName(4)

6598: Aug 27 12:21:24.626 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] DAOFactoryImpl: Returning DAO :: ContactServiceQueueDAO

6599: Aug 27 12:21:24.626 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

6600: Aug 27 12:21:24.630 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Exiting - getGatewayHttpProxy - Found: Optional.of(1162FBMQ1)

6601: Aug 27 12:21:24.630 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Entering - getCsqName(5)

6602: Aug 27 12:21:24.630 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] DAOFactoryImpl: Returning DAO :: ContactServiceQueueDAO

6603: Aug 27 12:21:24.630 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

6604: Aug 27 12:21:24.632 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Exiting - getGatewayHttpProxy - Found: Optional.of(1162FBMQ2)

6605: Aug 27 12:21:24.633 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Entering - getCsqName(5)

6606: Aug 27 12:21:24.633 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] DAOFactoryImpl: Returning DAO :: ContactServiceQueueDAO

6607: Aug 27 12:21:24.633 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

6608: Aug 27 12:21:24.636 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Exiting - getGatewayHttpProxy - Found: Optional.of(1162FBMQ2)

6609: Aug 27 12:21:24.636 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Entering - getCsqName(6)

6610: Aug 27 12:21:24.636 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] DAOFactoryImpl: Returning DAO :: ContactServiceQueueDAO

6611: Aug 27 12:21:24.636 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

6612: Aug 27 12:21:24.638 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Exiting - getGatewayHttpProxy - Found: Optional.of(1162FBMQ3)

6613: Aug 27 12:21:24.638 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Entering - getCsqName(6)

6614: Aug 27 12:21:24.638 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] DAOFactoryImpl: Returning DAO :: ContactServiceQueueDAO

6615: Aug 27 12:21:24.639 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

6616: Aug 27 12:21:24.641 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Exiting - getGatewayHttpProxy - Found: Optional.of(1162FBMQ3)

6617: Aug 27 12:21:24.641 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-20] AppAdminUtil: Get all Chat Csq's

6618: Aug 27 12:21:24.643 EDT %MADM-LIB_CFG-7-UNK:[http-bio-443-exec-20] ChatHome: ChatHome.getAllQueueTagMap()

6619: Aug 27 12:21:24.651 EDT %MADM-LIB_CFG-7-UNK:[http-bio-443-exec-20] ChatHome: ChatHome.getAllQueueTagMapByQType( 2 )

6620: Aug 27 12:21:24.651 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] DAOFactoryImpl: Returning DAO :: ContactServiceQueueDAO

6621: Aug 27 12:21:24.651 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] DAOFactoryImpl: Returning DAO :: ChatTriggerPointDAO

6622: Aug 27 12:21:24.669 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

6623: Aug 27 12:21:24.685 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

6624: Aug 27 12:21:24.687 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

6625: Aug 27 12:21:24.689 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

6626: Aug 27 12:21:24.691 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-20] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

6627: Aug 27 12:21:24.692 EDT %MADM-LIB_CFG-7-UNK:[http-bio-443-exec-20] ChatHome: ChatHome.getAllQueueTagMapByQType( 2 ) returns: {1162FBMQ1=Chat_Csq4, 1162FBMQ3=Chat_Csq6, 1162FBMQ2=Chat_Csq5, 1162Chat=Chat_Csq2}

6628: Aug 27 12:21:24.692 EDT %MADM-LIB_CFG-7-UNK:[http-bio-443-exec-20] ChatHome: ChatHome.getAllQueueTagMap() returns: {1162FBMQ1=Chat_Csq4, 1162FBMQ3=Chat_Csq6, 1162FBMQ2=Chat_Csq5, 1162Chat=Chat_Csq2}

Step 2. Admin tries to update the configuration.

6975: Aug 27 12:45:41.702 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-4] AppAdminUtil: Entering - updateGatewayConfiguration

6976: Aug 27 12:45:41.702 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-4] ConfigManagerImpl: getAccessor(ConfigQuery):Try to get the default accessor

6977: Aug 27 12:45:41.702 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-4] DBAccessor: DBAccessor.get(query))

6978: Aug 27 12:45:41.702 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-4] DBAccessor: Schema class = com.cisco.crs.chat.ChatSocialMinerConfig

6979: Aug 27 12:45:41.702 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-4] DAOFactoryImpl: Returning DAO :: SystemConfigDAO

6980: Aug 27 12:45:41.702 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-4] SystemConfigUtil: SystemConfigUtil.readAll() :: 1, com.cisco.crs.chat.ChatSocialMinerConfig, null

6981: Aug 27 12:45:41.702 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-4] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

6982: Aug 27 12:45:41.707 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-4] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

6983: Aug 27 12:45:41.709 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-4] SystemConfigUtil: SystemConfigUtil.convertToCIR :: 1 entities

6984: Aug 27 12:45:41.709 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-4] DBAccessor: Found Configs1

6985: Aug 27 12:45:41.709 EDT %MADM-REST_CLIENT-7-UNK:[http-bio-443-exec-4] SmRestClient: SmRestClient().SmRestClient: updateChatGatewayConfig(): Sendig PUT reqest to - chatGatewayConfig/

6986: Aug 27 12:45:41.710 EDT %MADM-REST_CLIENT-7-UNK:[http-bio-443-exec-4] SmRestClient: SmRestClient().callSmPutMethod(): Sending PUT reqest to - chatGatewayConfig/ with params - com.cisco.uccx.rest.sm.model.ChatGatewayConfig@d0451e[version=1.0,httpProxy=com.cisco.uccx.rest.sm.model.ChatGatewayConfig$HttpProxy@19f922b[enabled=true,host=proxy.esl.cisco.com,port=8080],channels=[com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel@13545e2[type=FACEBOOK_MESSENGER,auth=com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$Auth@7f0248[pageAccessToken=EAAVG0LRBZCxYBAHjjnvqBb4MvGHLnlo4cOXw8qgm7BmZCabg44cM7JEzq7BujFItMsk78iXfZAdZBBuXpxEIu4hnQBgvXYzrCifoL8vvjjvYIaZBshfx8plLjm42qbE0FgoEmpREw0YV71Sq4RzRZBPeFVyJOQE5WDMhVNaDsdFGjD8X34mmja,verificationToken=yy721u9wyzg7edl1vgjsm],enabled=true,problemStatements=[com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$ProblemStatement@6ecc67[title=1162FBM1,queueId=4], com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$ProblemStatement@2d9915[title=1162FBM2,queueId=5], com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$ProblemStatement@19d5de6[title=1162FBM3,queueId=6]],chatFeedId=100029,messages={CHAT_ENDED=Your chat has ended. Thank you!, RATING_OFFER=Would you like to rate your chat experience on a scale of 1 [worst] to 5 [best]? Select a rating., UNSUPPORTED_MESSAGE=Sorry, we support only text messages and emojis., PROBLEM_STATEMENT_CAPTION=How can we help you? Choose from one of the options., CHAT_ENDED_UNKNOWN_ERROR=Oops! An error occurred. Chat has ended. Try again later., WAIT_FOR_AGENT=Just a moment...finding an expert to chat with you., AGENT_JOIN_TIMEOUT=We are busy at the moment. You can continue to wait or try again later., WELCOME_MESSAGE=Hello! Welcome to Cisco Customer Care., CHAT_ENDED_INACTIVITY=Chat has ended due to inactivity. You can contact us again., RATING_COMPLETE=Thank you for the feedback., CHAT_ENDED_AGENT_UNAVAILABLE=Sorry, we could not find an expert to chat with you at this moment. Try again later.},ratingEnabled=true]]]

6987: Aug 27 12:45:41.790 EDT %MADM-REST_CLIENT-7-UNK:[http-bio-443-exec-4] SmRestClient: SmRestClient().chatGatewayConfig PUT succeeded

6988: Aug 27 12:45:41.790 EDT %MADM-REST_CLIENT-7-UNK:[http-bio-443-exec-4] SmRestClient: SmRestClient().PUT succeeded. result = PUT https://sm-fqdn/ccp-webapp/ccp/chatGatewayConfig/ returned a response status of 200 OK

6989: Aug 27 12:45:41.791 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-4] AppAdminUtil: Updated chat gateway configuration. com.cisco.uccx.rest.sm.model.ChatGatewayConfig@d0451e[version=1.0,httpProxy=com.cisco.uccx.rest.sm.model.ChatGatewayConfig$HttpProxy@19f922b[enabled=true,host=proxy.esl.cisco.com,port=8080],channels=[com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel@13545e2[type=FACEBOOK_MESSENGER,auth=com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$Auth@7f0248[pageAccessToken=EAAVG0LRBZCxYBAHjjnvqBb4MvGHLnlo4cOXw8qgm7BmZCabg44cM7JEzq7BujFItMsk78iXfZAdZBBuXpxEIu4hnQBgvXYzrCifoL8vvjjvYIaZBshfx8plLjm42qbE0FgoEmpREw0YV71Sq4RzRZBPeFVyJOQE5WDMhVNaDsdFGjD8X34mmja,verificationToken=yy721u9wyzg7edl1vgjsm],enabled=true,problemStatements=[com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$ProblemStatement@6ecc67[title=1162FBM1,queueId=4], com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$ProblemStatement@2d9915[title=1162FBM2,queueId=5], com.cisco.uccx.rest.sm.model.ChatGatewayConfig$Channel$ProblemStatement@19d5de6[title=1162FBM3,queueId=6]],chatFeedId=100029,messages={CHAT_ENDED=Your chat has ended. Thank you!, RATING_OFFER=Would you like to rate your chat experience on a scale of 1 [worst] to 5 [best]? Select a rating., UNSUPPORTED_MESSAGE=Sorry, we support only text messages and emojis., PROBLEM_STATEMENT_CAPTION=How can we help you? Choose from one of the options., CHAT_ENDED_UNKNOWN_ERROR=Oops! An error occurred. Chat has ended. Try again later., WAIT_FOR_AGENT=Just a moment...finding an expert to chat with you., AGENT_JOIN_TIMEOUT=We are busy at the moment. You can continue to wait or try again later., WELCOME_MESSAGE=Hello! Welcome to Cisco Customer Care., CHAT_ENDED_INACTIVITY=Chat has ended due to inactivity. You can contact us again., RATING_COMPLETE=Thank you for the feedback., CHAT_ENDED_AGENT_UNAVAILABLE=Sorry, we could not find an expert to chat with you at this moment. Try again later.},ratingEnabled=true]]]

6990: Aug 27 12:45:41.791 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-4] AppAdminUtil: Exiting - updateGatewayConfiguration

Step 3. Admin tries to validate the configuration.

7328: Aug 27 13:02:49.777 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-14] AppAdminUtil: Entering - validateConfig(EAAVG0LRBZCxYBAHjjnvqBb4MvGHLnlo4cOXw8qgm7BmZCabg44cM7JEzq7BujFItMsk78iXfZAdZBBuXpxEIu4hnQBgvXYzrCifoL8vvjjvYIaZBshfx8plLjm42qbE0FgoEmpREw0YV71Sq4RzRZBPeFVyJOQE5WDMhVNaDsdFGjD8X34mmja, proxy.esl.cisco.com,  8080)

7329: Aug 27 13:02:49.778 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-14] ConfigManagerImpl: getAccessor(ConfigQuery):Try to get the default accessor

7330: Aug 27 13:02:49.778 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-14] DBAccessor: DBAccessor.get(query))

7331: Aug 27 13:02:49.778 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-14] DBAccessor: Schema class = com.cisco.crs.chat.ChatSocialMinerConfig

7332: Aug 27 13:02:49.778 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-14] DAOFactoryImpl: Returning DAO :: SystemConfigDAO

7333: Aug 27 13:02:49.778 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-14] SystemConfigUtil: SystemConfigUtil.readAll() :: 1, com.cisco.crs.chat.ChatSocialMinerConfig, null

7334: Aug 27 13:02:49.784 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-14] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

7335: Aug 27 13:02:49.789 EDT %MADM-DB_MGR-7-UNK:[http-bio-443-exec-14] EntityDataSource: EntityDataSource.getPrimaryDataSourceType = LOCAL

7336: Aug 27 13:02:49.792 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-14] SystemConfigUtil: SystemConfigUtil.convertToCIR :: 1 entities

7337: Aug 27 13:02:49.792 EDT %MADM-CFG_MGR-7-UNK:[http-bio-443-exec-14] DBAccessor: Found Configs1

7338: Aug 27 13:02:49.792 EDT %MADM-REST_CLIENT-7-UNK:[http-bio-443-exec-14] SmRestClient: SmRestClient().SmRestClient: validateConfig()

7339: Aug 27 13:02:49.792 EDT %MADM-REST_CLIENT-7-UNK:[http-bio-443-exec-14] SmRestClient: SmRestClient().SmRestClient: path for FBM_CONFIG_TEST is chatGatewayConfig/test/facebook

7340: Aug 27 13:02:49.792 EDT %MADM-REST_CLIENT-7-UNK:[http-bio-443-exec-14] SmRestClient: SmRestClient().SmRestClient: FBMConfig is com.cisco.uccx.rest.sm.model.FBMConfig@1c02765

7341: Aug 27 13:02:50.371 EDT %MADM-REST_CLIENT-7-UNK:[http-bio-443-exec-14] SmRestClient: SmRestClient().SmRestClient: response for FBM_CONFIG_TEST is POST https://sm-fqdn/ccp-webapp/ccp/chatGatewayConfig/test/facebook returned a response status of 200 OK

7342: Aug 27 13:02:50.371 EDT %MADM-REST_CLIENT-7-UNK:[http-bio-443-exec-14] SmRestClient: SmRestClient().validateConfig succeeded

7343: Aug 27 13:02:50.373 EDT %MADM-REST_CLIENT-7-UNK:[http-bio-443-exec-14] SmRestClient: SmRestClient().SMRestClient validateConfig is com.cisco.uccx.rest.sm.model.FBMConfigTestStatus@12cf7b6[status=PASSED,reason=]

7344: Aug 27 13:02:50.373 EDT %MADM-REST_CLIENT-7-UNK:[http-bio-443-exec-14] SmRestClient: SmRestClient().SMRestClient validateConfig-status is PASSED

7345: Aug 27 13:02:50.373 EDT %MADM-ADM_CFG-7-UNK:[http-bio-443-exec-14] AppAdminUtil: Exiting - validateConfig()

Chat Flow

Step 1. New Incoming Customer - Says "Hi" and is offered a list of Problem Statements.

In /opt/cisco/mmca/logs/ccp-chat-gateway/log.log file

2018-08-27 14:59:01.781 - info: Creating new session. [Type=FACEBOOK_MESSENGER], [ID=2242240722460512] ...

2018-08-27 14:59:01.782 - debug: Created session for user [ID=2242240722460512]. Session count = 1

2018-08-27 14:59:01.782 - info: Scheduling an interval to check and clean stale sessions ...

2018-08-27 14:59:01.803 - warn: Received message [Hi] in session [ID=2242240722460512] in [CREATED] state. Ignoring.

2018-08-27 14:59:10.758 - debug: setUserName: Setting user name of session [ID=2242240722460512] to Amar Kumar ...

2018-08-27 14:59:21.501 - debug: setSessionState: Setting state of session [ID=2242240722460512] to INFO_WAIT ...

Step 2. New chat request is created in the SM and notification is sent to UCCX.

//ccpapi

0000000342: 10.86.64.220: Aug 27 2018 14:59:41.977 -0400: %CCBU_______EVENTING-6-MSG_INCOMING_FROM_BUS: %[correlation_id=null][mid=ID:sm120-51014-1535122975944-5:4:2:1:3][msg_kind=ActiveMQMapMessage][msg_type=NFY.NotificationEvent]: A message has been received by the message bus

0000000343: 10.86.64.220: Aug 27 2018 14:59:41.979 -0400: %CCBU_______EVENTING-6-DS_NOTIFICATION_EVENT: %[DSNotificationEvent=com.cisco.ccbu.ccp.interfaces.nfy.NotificationEvent@22d8c8[author=Amar Kumar,title=Chat from Facebook Messenger,campaignIds=[100030],eventType=SC_STATUS_CHANGE,notificationRuleId=0,notificationRuleName=,mediaRoutingDomainId=0,newTags=[ccx_chat_req],oldTags=[ccx_chat_req],screenPopUrl=,socialContactExtensionFields={h_chatRoom=socialminer_chat.0@conference.127.0.0.1, ccxqueuetag=Chat_Csq4, h_chatOrigin=FACEBOOK_MESSENGER, h_Name=Amar Kumar},socialContactId=7CC1846210000165000000000A5640DC,socialContactChatIsInvited=false,socialContactChatInviteStatus=none,socialContactIntegrationAuthTokenGuid=,socialContactIsSoftLocked=false,socialContactPublishedDate=Mon Aug 27 14:59:41 EDT 2018,socialContactScriptSelector=,socialContactShortUrlIds=[],socialContactStatus=unread,socialContactStatusDate=Mon Aug 27 14:59:41 EDT 2018,socialContactStatusReason=unknown,socialContactStatusUserId=,socialContactTags=[],sourceType=chat,hasMoreContacts=false,numContactsResend=0,numQueuedContact=0]]: A DSNotificationEvent received

0000000344: 10.86.64.220: Aug 27 2018 14:59:41.979 -0400: %CCBU_______EVENTING-6-MSG_INCOMING_FROM_BUS: %[correlation_id=null][mid=ID:sm120-51014-1535122975944-5:4:2:1:4][msg_kind=ActiveMQMapMessage][msg_type=NFY.NotificationEvent]: A message has been received by the message bus

0000000345: 10.86.64.220: Aug 27 2018 14:59:41.980 -0400: %CCBU_______EVENTING-6-DS_NOTIFICATION_EVENT: %[DSNotificationEvent=com.cisco.ccbu.ccp.interfaces.nfy.NotificationEvent@1c39520[author=,title=,campaignIds=[100030],eventType=SC_TAGGING,notificationRuleId=0,notificationRuleName=,mediaRoutingDomainId=0,newTags=[ccx_chat_req],oldTags=[],screenPopUrl=http://sm-fqdn/results.jsp?scID=7CC1846210000165000000000A5640DC,socialContactExtensionFields={},socialContactId=7CC1846210000165000000000A5640DC,socialContactChatIsInvited=false,socialContactChatInviteStatus=,socialContactIntegrationAuthTokenGuid=,socialContactIsSoftLocked=false,socialContactPublishedDate=Mon Aug 27 14:59:41 EDT 2018,socialContactScriptSelector=,socialContactShortUrlIds=[],socialContactStatus=<null>,socialContactStatusDate=Mon Aug 27 14:59:41 EDT 2018,socialContactStatusReason=,socialContactStatusUserId=,socialContactTags=[],sourceType=,hasMoreContacts=false,numContactsResend=0,numQueuedContact=0]]: A DSNotificationEvent received

0000000346: 10.86.64.220: Aug 27 2018 14:59:41.980 -0400: %CCBU_______EVENTING-6-SOCIAL_CONTACT_PUBLISH_START: %[Contact=7CC1846210000165000000000A5640DC][Node=ccp.contacts.chat]: Publishing contact

0000000013: 10.86.64.220: Aug 27 2018 14:59:41.985 -0400: %CCBU_______MSGPROXY-6-MSG_INCOMING_FROM_BUS: %[correlation_id=null][mid=ID:sm120-51014-1535122975944-5:4:2:1:4][msg_kind=ActiveMQMapMessage][msg_type=NFY.NotificationEvent]: A message has been received by the message bus

0000000347: 10.86.64.220: Aug 27 2018 14:59:41.987 -0400: %CCBU_______EVENTING-6-SOCIAL_CONTACT_PUBLISH_END: %[Contact=7CC1846210000165000000000A5640DC][Node=ccp.contacts.chat][Payload=<SocialContact><author>Amar Kumar</author><chatIsInvited>false</chatIsInvited><extensionFields><extensionField><name>h_chatRoom</name><value>socialminer_chat.0@conference.127.0.0.1</value></extensionField><extensionField><name>h_chatOrigin</name><value>FACEBOOK_MESSENGER</value></extensionField><extensionField><name>h_Name</name><value>Amar Kumar</value></extensionField><extensionField><name>ccxqueuetag</name><value>Chat_Csq4</value></extensionField></extensionFields><id>7CC1846210000165000000000A5640DC</id><publishedDate>1535396381792</publishedDate><refURL>http://sm-fqdn/ccp-webapp/ccp/socialcontact/7CC1846210000165000000000A5640DC</refURL><sourceType>chat</sourceType><status>unread</status><statusReason>unknown</statusReason><statusTimestamp>1535396381798</statusTimestamp><statusUserId></statusUserId><tags><tag>ccx_chat_req</tag></tags><title>Chat from Facebook Messenger</title></SocialContact>]: Published contact

0000000348: 10.86.64.220: Aug 27 2018 14:59:41.987 -0400: %CCBU_______EVENTING-6-SOCIAL_CONTACT_PUBLISH_START: %[Contact=7CC1846210000165000000000A5640DC][Node=ccp.campaign.updates.CCX_Chat_Campaign]: Publishing contact

0000000349: 10.86.64.220: Aug 27 2018 14:59:41.987 -0400: %CCBU_______EVENTING-6-SOCIAL_CONTACT_PUBLISH_END: %[Contact=7CC1846210000165000000000A5640DC][Node=ccp.campaign.updates.CCX_Chat_Campaign][Payload=<SocialContact><campaignPublicId>CCX_Chat_Campaign</campaignPublicId><extensionFields><extensionField><name>h_chatRoom</name><value>socialminer_chat.0@conference.127.0.0.1</value></extensionField><extensionField><name>h_chatOrigin</name><value>FACEBOOK_MESSENGER</value></extensionField><extensionField><name>h_Name</name><value>Amar Kumar</value></extensionField><extensionField><name>ccxqueuetag</name><value>Chat_Csq4</value></extensionField></extensionFields><id>7CC1846210000165000000000A5640DC</id><publishedDate>1535396381792</publishedDate><refURL>http://sm-fqdn/ccp-webapp/ccp/socialcontact/7CC1846210000165000000000A5640DC</refURL><sourceType>chat</sourceType><status>unread</status><statusReason>unknown</statusReason><statusTimestamp>1535396381798</statusTimestamp><statusUserId></statusUserId><tags><tag>ccx_chat_req</tag></tags></SocialContact>]: Published contact

===============

//runtime

0000018498: 10.86.64.220: Aug 27 2018 14:59:41.779 -0400: %CCBU__________FEEDS-6-MSG_INCOMING_FROM_BUS: %[correlation_id=0][mid=ID:sm120-37552-1535122799516-4:2:2:1:1][msg_kind=ActiveMQMapMessage][msg_type=PUSH.PushSocialContactRequest]: A message has been received by the message bus

0000018499: 10.86.64.220: Aug 27 2018 14:59:41.785 -0400: %CCBU__________FEEDS-6-CREATE_SOCIAL_CONTACT:  Got Request to Create Social Contact with RequestId:jW2gF8

0000018500: 10.86.64.220: Aug 27 2018 14:59:41.791 -0400: %CCBU__________FEEDS-6-CONFIG_OBJECT_STORED_IN_CACHE: %[id=100029][type.id=FeedReader]: Stored config object in local cache.

0000018501: 10.86.64.220: Aug 27 2018 14:59:41.798 -0400: %CCBU__________FEEDS-6-CREATE_SOCIAL_CONTACT:  Submitted  Request to Create Social Contact to FeedReaderManager with RequestId:jW2gF8

0000018502: 10.86.64.220: Aug 27 2018 14:59:41.798 -0400: %CCBU__________FEEDS-6-SOCIAL_CONTACT_PROCESSOR:  Got new SocialContactProcessingRequest with requestId:jW2gF8

0000018503: 10.86.64.220: Aug 27 2018 14:59:41.798 -0400: %CCBU__________FEEDS-6-SOCIAL_CONTACT_PROCESSOR:  SocialContactProcessor processSocialContact Entry with requestId:jW2gF8

0000018504: 10.86.64.220: Aug 27 2018 14:59:41.937 -0400: %CCBU__________FEEDS-6-SOCIAL_CONTACT_CREATED: %[SOCIAL_CONTACT_ID=7CC1846210000165000000000A5640DC][SOCIAL_CONTACT_LINK=http://localhost/ccp/socialcontact/7CC1846210000165000000000A5640DC]: A new social contact was created

0000000026: 10.86.64.220: Aug 27 2018 14:59:42.440 -0400: %CCBU___NOTIFICATION-6-NOTIFICATION_SUCCEEDED: %[Notification=com.cisco.ccbu.ccp.notification.Notification@6c657e[enqueueTime=1535396382131,rule=com.cisco.ccbu.oamp.omgr.transfer.HttpNotificationRule@7dafaa[httpUrl=https://uccx-fqdn/uccx-webservices/contact,httpUsername=<null>,httpPassword=<null>,sslVerifyCertificates=false,campaignId=100030,tags=[ccx_chat_req],id=100031,name=CCX Chat Notification,description=Created by CCX application as part of CCX chat configuration.,changeStamp=5,lastUpdated=1533830025500,ouId=4],screenPopUrl=http://sm-fqdn/results.jsp?scID=7CC1846210000165000000000A5640DC&campaignID=CCX_Chat_Campaign,body=<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<SocialContact>

<author>Amar Kumar</author>

<description></description>

<extensionFields>

<extensionField>

<name>ccxqueuetag</name>

<value>Chat_Csq4</value>

</extensionField>

<extensionField>

<name>h_Name</name>

<value>Amar Kumar</value>

</extensionField>

<extensionField>

<name>h_chatOrigin</name>

<value>FACEBOOK_MESSENGER</value>

</extensionField>

<extensionField>

<name>h_chatRoom</name>

<value>socialminer_chat.0@conference.127.0.0.1</value>

</extensionField>

</extensionFields>

<id>7CC1846210000165000000000A5640DC</id>

<integrationAuthTokenExpirationTimestamp>1535417981795</integrationAuthTokenExpirationTimestamp>

<integrationAuthTokenGUID>XXXXXXXXX</integrationAuthTokenGUID>

<link>http://localhost/ccp/socialcontact/7CC1846210000165000000000A5640DC</link>

<notificationTag>ccx_chat_req</notificationTag>

<publishedDate>1535396381792</publishedDate>

<refURL>http://sm-fqdn/ccp-webapp/ccp/socialcontact/7CC1846210000165000000000A5640DC</refURL>

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

<screenPopUrl>http://sm-fqdn/results.jsp?scID=7CC1846210000165000000000A5640DC&amp;campaignID=CCX_Chat_Campaign</screenPopUrl>

<sourceType>chat</sourceType>

<status>unread</status>

<statusReason>unknown</statusReason>

<statusTimestamp>1535396381798</statusTimestamp>

<statusUserId></statusUserId>

<tags>

<tag>ccx_chat_req</tag>

</tags>

<title>Chat from Facebook Messenger</title>

</SocialContact>

,socialContact=<null>]]: A notification was sent out successfully

Step 3. UCCX receives the notification.

//MADM

8973: Aug 27 14:59:42.384 EDT %MADM-UCCX_WEBSERVICES-7-UNK:[http-bio-443-exec-22] ServiceLogger: New incoming contact : <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<contactXML>

<author>Amar Kumar</author>

<id>7CC1846210000165000000000A5640DC</id>

<integrationAuthTokenGUID>d73e07bd-ee99-47a8-b623-e582260722f5</integrationAuthTokenGUID>

<notificationTag>ccx_chat_req</notificationTag>

<publishedDate>1535396381792</publishedDate>

<refURL>http://sm-fqdn/ccp-webapp/ccp/socialcontact/7CC1846210000165000000000A5640DC</refURL>

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

<sourceType>chat</sourceType>

<status>unread</status>

<statusReason>unknown</statusReason>

<statusTimestamp>1535396381798</statusTimestamp>

<tags>

<tag>ccx_chat_req</tag>

</tags>

<title>Chat from Facebook Messenger</title>

<extensionFields>

<extensionField>

<name>ccxqueuetag</name>

<value>Chat_Csq4</value>

</extensionField>

<extensionField>

<name>h_Name</name>

<value>Amar Kumar</value>

</extensionField>

<extensionField>

<name>h_chatOrigin</name>

<value>FACEBOOK_MESSENGER</value>

</extensionField>

<extensionField>

<name>h_chatRoom</name>

<value>socialminer_chat.0@conference.127.0.0.1</value>

</extensionField>

</extensionFields>

</contactXML>

8974: Aug 27 14:59:42.384 EDT %MADM-UCCX_WEBSERVICES-7-UNK:[http-bio-443-exec-22] ServiceLogger: Notify for new contact

Step 4. Engine Adds the chat to the Queue and finds an available agent for the chat.

At this point, the CU is presented with the message saying "finding an expert to chat with you."

399906: Aug 27 14:59:42.439 EDT %MIVR-SS_CHAT-7-UNK:[chatEventConsumer-1] ChatSubsystemLogger: com.cisco.wf.subsystems.chat.listener.jmsevent.ChatContactListener : Received Event [ContactEvent [operation=ADD, contactXML=ContactXML [author=Amar Kumar, id=7CC1846210000165000000000A5640DC, replyType=chat, notificationTag=ccx_chat_req, refURL=http://sm-fqdn/ccp-webapp/ccp/socialcontact/7CC1846210000165000000000A5640DC, replyTemplateURL=http://sm-fqdn/multisession/ui/templates/reply/cisco_agent_ms_chat.jsp, integrationAuthTokenGUID=d73e07bd-ee99-47a8-b623-e582260722f5, userExtensionFields=[UserExtensionField [name=ccxqueuetag, value=Chat_Csq4], UserExtensionField [name=h_Name, value=Amar Kumar], UserExtensionField [name=h_chatOrigin, value=FACEBOOK_MESSENGER], UserExtensionField [name=h_chatRoom, value=socialminer_chat.0@conference.127.0.0.1]], tags=[ccx_chat_req], sourceType=chat, status=unread, statusReason=unknown, publishedDate=1535396381792, title=Chat from Facebook Messenger, campaignPublicId=null, statusTimestamp=1535396381798]]] on master node.

399907: Aug 27 14:59:42.446 EDT %MIVR-SS_CHAT-7-UNK:[ChatContactEvent--7CC1846210000165000000000A5640DC 1535396382446] ChatSubsystemLogger: Begin processing for ChatContactEvent--7CC1846210000165000000000A5640DC 1535396382446

399908: Aug 27 14:59:42.447 EDT %MIVR-SS_CHAT-7-UNK:[ChatContactEvent--7CC1846210000165000000000A5640DC 1535396382446] ChatSubsystemLogger: com.cisco.wf.subsystems.chat.listener.jmsevent.ChatContactListener : processADD() - Adding contact. ContactId: 7CC1846210000165000000000A5640DC,  MediaType: CHAT

399909: Aug 27 14:59:42.457 EDT %MIVR-SS_CHAT-7-UNK:[ChatContactEvent--7CC1846210000165000000000A5640DC 1535396382446] ChatSubsystemLogger: com.cisco.wf.subsystems.chat.manager.ChatContactManager : addContact()--Queue for tag is 4

399910: Aug 27 14:59:42.457 EDT %MIVR-SS_ROUTEANDQUEUE-7-UNK:[ChatContactEvent--7CC1846210000165000000000A5640DC 1535396382446] RouteAndQueueSubsystemLogger: com.cisco.wf.subsystems.routeandqueue.manager.ContactManager : addContactToQueues() - contactID:7CC1846210000165000000000A5640DC dispositionReason:UNKNOWNtimestamp:1535396381798

399911: Aug 27 14:59:42.458 EDT %MIVR-SS_ROUTEANDQUEUE-7-UNK:[ChatContactEvent--7CC1846210000165000000000A5640DC 1535396382446] RouteAndQueueSubsystemLogger: In persistCustomerData. Received contact ChatContact(Contact[id=7CC1846210000165000000000A5640DC,state=UNKNOWN,dispReason=UNKNOWN])

399912: Aug 27 14:59:42.459 EDT %MIVR-SS_ROUTEANDQUEUE-7-UNK:[ChatContactEvent--7CC1846210000165000000000A5640DC 1535396382446] RouteAndQueueSubsystemLogger: com.cisco.wf.subsystems.routeandqueue.manager.ContactManager : Contact with contactID: 7CC1846210000165000000000A5640DC created in memory.

399913: Aug 27 14:59:42.459 EDT %MIVR-SS_ROUTEANDQUEUE-7-UNK:[ChatContactEvent--7CC1846210000165000000000A5640DC 1535396382446] RouteAndQueueSubsystemLogger: com.cisco.wf.subsystems.routeandqueue.manager.ContactManager : Calling allocator

399914: Aug 27 14:59:42.459 EDT %MIVR-SS_ROUTEANDQUEUE-7-UNK:[ChatContactEvent--7CC1846210000165000000000A5640DC 1535396382446] RouteAndQueueSubsystemLogger: com.cisco.wf.subsystems.routeandqueue.allocation.Allocator : Offer Contact: ChatContact(Contact[id=7CC1846210000165000000000A5640DC,state=UNKNOWN,dispReason=UNKNOWN]) To Queue: 4

399916: Aug 27 14:59:42.460 EDT %MIVR-SS_ROUTEANDQUEUE-7-UNK:[ChatContactEvent--7CC1846210000165000000000A5640DC 1535396382446] RouteAndQueueSubsystemLogger: com.cisco.wf.subsystems.routeandqueue.allocation.Allocator : getSuitableAgentFromQueue. AvailableAgent{230}

399917: Aug 27 14:59:42.460 EDT %MIVR-SS_ROUTEANDQUEUE-7-UNK:[ChatContactEvent--7CC1846210000165000000000A5640DC 1535396382446] RouteAndQueueSubsystemLogger: com.cisco.wf.subsystems.routeandqueue.allocation.Allocator : getSuitableAgentFromQueue Only one agent is available in agent list.  Return id [230] agentId [agent7901]

399918: Aug 27 14:59:42.460 EDT %MIVR-SS_ROUTEANDQUEUE-7-UNK:[ChatContactEvent--7CC1846210000165000000000A5640DC 1535396382446] RouteAndQueueSubsystemLogger: Selected agent [ agent7901 ] for handling the contact. Reserving agent.

Step 5. The agent has joined the chat after the CU selected Problem Statement.

//Chat gateway logs

2018-08-27 14:59:39.172 - debug: setSessionState: Setting state of session [ID=2242240722460512] to INFO_CLOSED ...

2018-08-27 14:59:39.172 - info: Posting a chat request to SocialMiner [ID=2242240722460512], [HOST=localhost], [FEEDID=100029], [QUEUEID=4]

2018-08-27 14:59:41.966 - info: Chat created successfully. [ID=2242240722460512], [SC RefURL=http://localhost/ccp-webapp/ccp/socialcontact/7CC1846210000165000000000A5640DC]

2018-08-27 14:59:41.966 - debug: setSessionState: Setting state of session [ID=2242240722460512] to AGENT_WAIT ...

2018-08-27 14:59:41.967 - debug: setEventPoller: Setting event poller in session [ID=2242240722460512] ...

2018-08-27 14:59:47.010 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents: { StatusEvent: { id: '1', status: 'chat_ok' } } }

2018-08-27 14:59:47.011 - debug: setLatestEventID: Setting latest event ID [1] in session [ID=2242240722460512] ...

2018-08-27 14:59:47.012 - warn: Unknown status event [chat_ok] received. Ignoring. [ID=2242240722460512]

{ type: 'StatusEvent', id: '1', status: 'chat_ok' }

2018-08-27 14:59:51.982 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents:

{ PresenceEvent: { id: '2', from: 'agent7901', status: 'joined' } } }

2018-08-27 14:59:51.989 - debug: setLatestEventID: Setting latest event ID [2] in session [ID=2242240722460512] ...

2018-08-27 14:59:51.989 - info: Handing agent JOIN event. [ID=2242240722460512]

2018-08-27 14:59:51.990 - debug: setSessionState: Setting state of session [ID=2242240722460512] to TALKING ...

2018-08-27 14:59:51.990 - debug: clearUserMessagesBuffer: Clearing buffer (contains 0 messages) [ID=2242240722460512] ...

2018-08-27 14:59:52.588 - debug: Successfully sent text message to facebook messenger. [ID=2242240722460512], [Message=Just a moment...finding an expert to chat with you.]

Step 6. Events Polled (every 5 seconds) from SocialMiner - Agent Joins, User Buffer Cleared.

2018-08-27 15:01:07.028 - debug: No events from SocialMiner for [ID=2242240722460512]

2018-08-27 15:01:12.031 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents: '' }

2018-08-27 15:01:12.031 - debug: No events from SocialMiner for [ID=2242240722460512]

2018-08-27 15:01:17.033 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents: '' }

2018-08-27 15:01:17.033 - debug: No events from SocialMiner for [ID=2242240722460512]

2018-08-27 15:01:22.035 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents: '' }

2018-08-27 15:01:22.035 - debug: No events from SocialMiner for [ID=2242240722460512]

2018-08-27 15:01:17.033 - debug: No events from SocialMiner for [ID=2242240722460512]

2018-08-27 15:01:22.035 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents: '' }

2018-08-27 15:01:22.035 - debug: No events from SocialMiner for [ID=2242240722460512]

2018-08-27 15:01:27.037 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents: '' }

2018-08-27 15:01:27.037 - debug: No events from SocialMiner for [ID=2242240722460512]

2018-08-27 15:01:32.036 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents: '' }

2018-08-27 15:01:32.036 - debug: No events from SocialMiner for [ID=2242240722460512]

Step 7. Exchang Chat Messages Between Agent and User.

2018-08-27 15:00:12.487 - debug: Successfully sent typing action to facebook messenger. [ID=2242240722460512], [Status=composing]

2018-08-27 15:00:16.998 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents:

{ MessageEvent: { id: '4', body: 'Hi+How+can+I+help+you%3F', from: 'agent7901' },

TypingEvent: { id: '5', from: 'agent7901', status: 'paused' } } }

2018-08-27 15:00:16.999 - debug: setLatestEventID: Setting latest event ID [5] in session [ID=2242240722460512] ...

2018-08-27 15:00:22.002 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents: '' }

2018-08-27 15:00:22.002 - debug: No events from SocialMiner for [ID=2242240722460512]

2018-08-27 15:00:27.001 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents: '' }

2018-08-27 15:00:27.001 - debug: No events from SocialMiner for [ID=2242240722460512]

2018-08-27 15:00:27.601 - debug: Successfully sent text message to facebook messenger. [ID=2242240722460512], [Message=Hi How can I help you?]

2018-08-27 15:00:32.004 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents: '' }

2018-08-27 15:00:32.005 - debug: No events from SocialMiner for [ID=2242240722460512]

2018-08-27 15:00:37.008 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents: '' }

2018-08-27 15:00:37.008 - debug: No events from SocialMiner for [ID=2242240722460512]

2018-08-27 15:00:38.067 - debug: Successfully sent typing action to facebook messenger. [ID=2242240722460512], [Status=paused]

2018-08-27 15:00:42.011 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents: '' }

2018-08-27 15:00:42.011 - debug: No events from SocialMiner for [ID=2242240722460512]

2018-08-27 15:00:47.014 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents: '' }

2018-08-27 15:00:47.014 - debug: No events from SocialMiner for [ID=2242240722460512]

2018-08-27 15:00:52.020 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents: '' }

2018-08-27 15:00:52.020 - debug: No events from SocialMiner for [ID=2242240722460512]

2018-08-27 15:00:52.460 - debug: Sent message [I need help with troubleshooting my problem] from session [ID=2242240722460512] to SocialMiner.

2018-08-27 15:00:52.502 - debug: Sent message [I need help with troubleshooting my problem] from session [ID=2242240722460512] to SocialMiner.

2018-08-27 15:00:57.023 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents: '' }

2018-08-27 15:00:57.023 - debug: No events from SocialMiner for [ID=2242240722460512]

2018-08-27 15:01:02.026 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents: '' }

2018-08-27 15:01:02.026 - debug: No events from SocialMiner for [ID=2242240722460512]

2018-08-27 15:01:02.068 - debug: Sent message [Sure] from session [ID=2242240722460512] to SocialMiner.

Step 8. Agent Ends Chat (Post-Chat Rating Enabled).

2018-08-27 15:46:06.928 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents:

{ PresenceEvent: { id: '11', from: 'agent7901', status: 'left' } } }

2018-08-27 15:46:06.929 - debug: setLatestEventID: Setting latest event ID [11] in session [ID=2242240722460512] ...

2018-08-27 15:46:06.929 - info: Handling agent LEFT event. [ID=2242240722460512]

2018-08-27 15:46:06.930 - debug: setSessionState: Setting state of session [ID=2242240722460512] to RATING_WAIT ...

2018-08-27 15:46:11.929 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents: '' }

2018-08-27 15:46:11.929 - debug: No events from SocialMiner for [ID=2242240722460512]

2018-08-27 15:46:15.940 - debug: Successfully sent rating choices to facebook messenger. [ID=2242240722460512]

2018-08-27 15:46:16.931 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents: '' }

2018-08-27 15:46:16.931 - debug: No events from SocialMiner for [ID=2242240722460512]

2018-08-27 15:46:21.934 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents: '' }

2018-08-27 15:46:21.934 - debug: No events from SocialMiner for [ID=2242240722460512]

2018-08-27 15:46:23.887 - debug: Received feedback rating [5] from [ID=2242240722460512]. Submitting to SocialMiner ...

2018-08-27 15:46:23.892 - debug: Received feedback rating [5] from [ID=2242240722460512]. Submitting to SocialMiner ...

2018-08-27 15:46:23.929 - debug: Successfully submitted feedback rating to SocialMiner. [ID=2242240722460512]

2018-08-27 15:46:23.929 - info: Destroying session [ID=2242240722460512]

2018-08-27 15:46:23.930 - debug: Destroyed session [ID=2242240722460512]. Session count = 0

2018-08-27 15:46:23.936 - debug: Successfully submitted feedback rating to SocialMiner. [ID=2242240722460512]

2018-08-27 15:46:23.936 - info: Destroying session [ID=2242240722460512]

2018-08-27 15:46:23.937 - debug: Destroyed session [ID=2242240722460512]. Session count = 0

2018-08-27 15:46:34.551 - debug: Successfully sent text message to facebook messenger. [ID=2242240722460512], [Message=Thank you for the feedback.]

Step 9. Agent Ends Chat (Post-Chat Rating Not Enabled).

2018-08-27 15:52:43.736 - debug: Received chat events for [ID=2242240722460512]

{ chatEvents:

{ PresenceEvent: { id: '8', from: 'agent7901', status: 'left' } } }

2018-08-27 15:52:43.736 - debug: setLatestEventID: Setting latest event ID [8] in session [ID=2242240722460512] ...

2018-08-27 15:52:43.736 - info: Handling agent LEFT event. [ID=2242240722460512]

2018-08-27 15:52:43.737 - info: Destroying session [ID=2242240722460512]

2018-08-27 15:52:43.739 - debug: Destroyed session [ID=2242240722460512]. Session count = 0

2018-08-27 15:52:54.351 - debug: Successfully sent text message to facebook messenger. [ID=2242240722460512], [Message=Your chat has ended. Thank you!]

Miscellaneous Flows

Step 1. Service Startup - "SocialMiner Chat Gateway".

startup.log - Launching the Service, Opening Ports.

[Tue Aug 28 10:21:19 EDT 2018] : chat_gateway_launcher.sh : Starting SocialMiner Chat Gateway ...

[Tue Aug 28 10:21:19 EDT 2018] : chat_gateway_launcher.sh : npm missing in PATH. Adding ...

[Tue Aug 28 10:21:19 EDT 2018] : chat_gateway_launcher.sh : Enabling port 10443 on system firewall ...

IP preferences file updated successfully.

iptables has been updated with new rules.

ip6tables has been updated with new rules.

[Tue Aug 28 10:21:19 EDT 2018] : chat_gateway_launcher.sh : Successfully enabled port 10443 on system firewall

[Tue Aug 28 10:21:19 EDT 2018] : chat_gateway_launcher.sh : Service started. PID =  169781

[Tue Aug 28 10:21:19 EDT 2018] : chat_gateway_launcher.sh : Try #1 - Sleeping for 5 seconds ...

Step 2. Loading configurations.

startup.log- loading configurations

2018-08-28 10:21:20.100 - info: **** STARTUP ****

2018-08-28 10:21:20.104 - info: Clearing existing configuration from memory ...

2018-08-28 10:21:20.104 - info: Initializing config_manager, loading config from filesystem ...

2018-08-28 10:21:20.104 - info: Loaded service configuration:

{ server:

{ port: 10443,

sslKeyPath: '/usr/local/platform/.security/tomcat/keys/tomcat_priv.pem',

sslCertPath: '/usr/local/platform/.security/tomcat/certs/tomcat.pem',

maxRequestsPerMinute: 3000 },

socialMiner: { host: 'localhost', port: 80, pollingIntervalMS: 5000 },

log: { maxSizeBytes: 20480000, maxFileCount: 20, level: 'silly' } }

2018-08-28 10:21:20.106 - info: Loaded configurations for 1 channels.

2018-08-28 10:21:20.107 - info: Setting HTTP proxy [proxy.esl.cisco.com:8080] into process.env ...

2018-08-28 10:21:20.107 - info: Setting current config state to CONFIGURED

2018-08-28 10:21:20.108 - info: Loaded service configuration:

{ server:

{ port: 10443,

sslKeyPath: '/usr/local/platform/.security/tomcat/keys/tomcat_priv.pem',

sslCertPath: '/usr/local/platform/.security/tomcat/certs/tomcat.pem',

maxRequestsPerMinute: 3000 },

socialMiner: { host: 'localhost', port: 80, pollingIntervalMS: 5000 },

log: { maxSizeBytes: 20480000, maxFileCount: 20, level: 'silly' } }

2018-08-28 10:21:20.110 - info: Silencing logs on console. Refer log files for further logs

Step 3. Wait for webhook server to come up.

startup.log - Waiting for webhook server to come up.

[Tue Aug 28 10:21:24 EDT 2018] : chat_gateway_launcher.sh : Checking if service is running on port 10443 ...

[Tue Aug 28 10:21:25 EDT 2018] : chat_gateway_launcher.sh : Service UP and RUNNING on port 10443

Step 4. Check and clean stale sessions (Once every hour).

Stale sessions found and cleaned up

2018-08-27 15:49:44.030 - info: Checking stale sessions ...

2018-08-27 15:49:44.031 - info: Found 1 stale sessions

2018-08-27 15:49:44.031 - info: Destroying session [ID=2242240722460512]

2018-08-27 15:49:44.031 - debug: Destroyed session [ID=2242240722460512]. Session count = 0

2018-08-27 15:49:44.031 - info: Cleaned up 1 stale sessions

No stale sessions found

2018-08-27 18:59:01.789 - info: Checking stale sessions ...

2018-08-27 18:59:01.789 - info: Found 0 stale sessions

2018-08-27 18:59:01.789 - info: Cleaned up 0 stale sessions

2018-08-27 19:59:01.789 - info: Checking stale sessions ...

2018-08-27 19:59:01.789 - info: Found 0 stale sessions

2018-08-27 19:59:01.789 - info: Cleaned up 0 stale sessions