Chat
Architecture
Agents can use the SAP CRM Interaction center’s (IC) chat function to process incoming chat messages. The chat function in the IC includes standard chat functions, such as joining chat sessions, sending messages, and transferring chat sessions. Agents can transfer chat sessions to other queues or agents. Agents can also see additional details such as chat subject and location where the customer initiated the chat.
The following figure shows the path that the messages of a chat take when a customer initiates a chat session and is routed by CCE/CCE to an appropriate agent who is using the SAP Interaction Center Web Client (ICWC). The chat channel differs from the voice and action item channel as in addition to the control-messages also the payload itself is passed across the b+s Connects for SAP components.
Customer chat message is sent by the end user to the chat server
Chat server forwards chat message to the ChatConnector’s service user
ChatConnector generates a route request for the chat session and sends it to the MediaManager
– 5. MediaManager forwards route request via the CCE MR PG to the CCE Central Controller
CCE Central Controller runs routing script and selects an available agent
Information about selected agent is sent from the CCE Central Controller via the CCE MR PG back to the MediaManager
MediaManager informs the ChatConnector about the selected agent
MediaManager informs the CCE Agent PG about the selected agent
MediaManager informs the CRMConnectorSAP about the selected agent
The CRMConnectorSAP sends information about the selected agent to SAP CRM
SAP CRM forwards the chat session alerting to the SAP ICWC
Agent acceptance is sent from the SAP ICWC to the SAP CRM
SAP CRM forwards agent acceptance to CRMConnectorSAP
CRMConnectorSAP forwards agent acceptance the MediaManager
MediaManager informs the CCE Agent PG about the agent’s acceptance
Agent PG confirms agent acceptance to the MediaManager
CRMConnectorSAP is notified about the confirmation of the agent acceptance
- MediaManager notifies the ChatConnector about the agent acceptance
SAP CRM is notified about the confirmation of the agent acceptance
SAP CRM informs the SAP ICWC about the acceptance confirmation
ChatConnector sends content of the chat session to the MediaManager
– 21. Chat session content is sent from the MediaManager via CRMConnectorSAP to SAP CRM
SAP CRM forwards the content of the chat session to the agent’s SAP ICWC
Required Components
For using the chat channel with b+s Connects for SAP, installation and configuration of at least the following components is required:
b+s Connects for SAP
CRMConnectorSAP
MediaManager
ChatConnector
CCE
Central Controller (Router, Logger, Administration Workstation)
Agent PG
Media Routing PG
3rd Party
Chat server supporting the eXtensible Messaging and Presence Protocol (XMPP)
Customer-facing chat clients supporting XMPP
Customer-facing Components
b+s Connects for SAP, or more precisely the ChatConnector component, connects CCE/CCH to a chat server using the XMPP protocol. XMPP (originally named Jabber) is an open technology for real-time communication, using the eXtensible Markup Language (XML) as the base format for exchanging information. In essence, XMPP provides a way to send small pieces of XML from one entity to another in close to real time. XMPP uses a client-server architecture where clients do not talk directly to one another. The model is decentralized; anyone can run a server and by design, there is no central authoritative server. For using the chat channel with b+s Connects for SAP, a chat server that supports the XMPP protocol is required. The chat server is placed between the customers chat clients and the ChatConnector.
Every user on the XMPP network has a unique XMPP address, called Jabber Identifier (JID). The JID is structured like an email address with a username and a domain name for the chat server where that user resides, separated by an at-sign (\@), such as username@yourdomain.tld.
Chat Client
An XMPP chat client is any software or application that enables the connection to an XMPP-based chat server for instant messaging. There are many free or commercial chat clients for many different devices and operating systems available. The ChatConnector has an XMPP chat client integrated and uses it to register one or multiple users on the chat server. For allowing the customers to reach the contact center via chat, each customer must be able to use an XMPP-enabled chat client too.
The following two figures show how an XMPP-enabled chat client can be used by a customer to reach the ChatConnector’s chat service users. In Figure 2 the customer is using an XMPP chat client integrated into a modern web browser whereas in Figure 3 the XMPP chat client is part of a fat client (i.e. installed on the customer’s workstation).
As mentioned before, XMPP is implemented by a large number of clients. These implementations are provided under a variety of software licenses. The list of chat clients provided by Jabber.org can serve as an entry point for the selection of a customer chat client. The list is accessible under:
http://xmpp.org/software/clients.html
b+s Connects for SAP or more precisely the ChatConnector does not support certain specific chat clients for the customer side as the decision which chat client is chosen depends heavily on the environment and requirements of each contact center system.
Chat Server
An XMPP server provides basic messaging, presence, and XML routing features. As mentioned before, XMPP uses a decentralized client-server architecture similar to the architectures used for the World Wide Web. In XMPP chat servers not only distribute messages to the clients but they can also enforce important security policies such as user authentication, channel encryption, and prevention of address spoofing. Like for the chat clients XMPP is implemented by a large number of chat servers which are provided under a variety of software licenses. There are many free or commercial chat servers for many different operating systems available. b+s Connects for SAP or more precisely the ChatConnector supports a selection of chat servers which are listed in the Compatibility Matrix.
ChatConnector
The ChatConnector is a software component of b+s Connects for SAP which connects the MediaManager (also a component of b+s Connects for SAP) to a chat server using XMPP. The ChatConnector registers one or several XMPP users, called service users, on the chat server. These service users represent the services or queues of the contact center and are the ingress point for chat requests by customers. A CCE/CCH Script Selector is associated with each service user so that incoming chat requests can be routed to an available agent by using CCE/CCH’s routing logic.
The configuration of the ChatConnector component is stored in an initialization file. The installation program of b+s Connects for SAP Multi Channel Components installer creates this file with the settings entered during setup. Please refer to the Media Core Configuration document for a full description of all configuration parameters of the ChatConnector.
Configuring Chat
Configuring SAP CRM
The chat part of the SAP ICI interface supports the communication between a chat or Instant Messaging (IM) client and a chat or IM server. The SAP ICI interface does not make any assumptions regarding the IM or chat protocol being used between the contact center and the IM or chat server. The chat channel knows two events: IciEvent_chatChanged is used to report changes of the chat session itself (status change, new participants). IciEvent_chatNewPosting is fired if a new posting is made and must be reported to the other participants. Thus the management data and content is separated by different events in contrast to the telephony part which does not transport any content (voice data). A chat posting consists of the posted message, time and date, originator chat address and chat session ID
Please refer to the SAP Help Portal for detailed SAP CRM Interaction Center documentation describing prerequisites and configuration steps of the chat channel in SAP CRM.
Configuring the Chat Server
As described before, the ChatConnector logs on the contact center’s chat services as chat users (service users) on the chat server. The only requirement for the chat server configuration is that these users have the permission to log in with their username and password over a regular TCP connection. The rest of the configuration depends on the chat server chosen, the chat client applications that will connect to it and the customer’s requirements.
Configuring CRMConnectorSAP
Jabber ID Domain Name
For each agent that logs in to the chat channel of b+s Connects for SAP, CRMConnectorSAP generates a unique Jabber Identifier (JID). The JID is structured like an email address with a username and a domain name, separated by an “at”-sign. The JID for each agent is generated automatically when the agent logs in. CRMConnectorSAP uses the agent’s SAP user name as the username of the JID.
The domain name of the JID must be configured manually in the initialization file of the CRMConnectorSAP. The setting MediaChatLocalDomainName is used for this purpose. It is recommended to use either the hostname of the deployed Jabber server or the domain name of the enterprise as the JID’s domain name. The JID of an agent is displayed on the agent’s SAP ICWC during a chat session with a customer.
Example
Assumed precondition:
- Agent logs in with SAP user name johndoe
Setting Used:
MediaChatLocalDomainName=bucher-suter.com
Displayed JID on the SAP ICWC:
The JID is required to transfer a chat session from one agent to another agent. Until Connects for SAP 2.2, the agent had to enter “user.JID” to initiate a transfer to another agent. With Connects for SAP, the configuration parameter MediaAgentLoginType was introduced to eliminate the “user.”-prefix. To use this capability the MediaAgentLoginType has to be set to 1.
Chat Alias
By default, CRMConnectorSAP uses the JID it receives from MediaManager to specify the initiator of a chat session, commonly a customer, towards SAP which displays the JID on the selected agent’s ICWC. Since the JID that a customer uses to initiate a chat request towards the contact center is often virtual, i.e. the JID assigned to the customer does not uses a significant format like john.doe\@example.org but rather an anonymous format like chatuser1234\@example.org, SAP is not able to identify the inquiring customer.
To solve this issue the customer can be prompted to enter, for example, his email-address which is then stored in a CCE/CCH ECC or call variable and passed to the CRMConnectorSAP via the MediaManager. CRMConnectorSAP grabs the value from the appropriate ECC or call variable and uses it to substitute the JID of the customer before the chat messages are sent to SAP.
Example
The ECC variable with the name user.Alias.SenderAddress should be used to substitute the JID of the initiator of a chat session. The ECC variable was already configured with the identical name in CCE/CCH and contains the value hans.aspen\@eigerbikes.com which was entered by the initiator of the chat session.
Setting Used:
MediaChatAliasSenderAddressWorkType=11
MediaChatAliasSenderAddressEccVariableName=ECC.user.AliasSenderAddress
Setting | Description |
---|---|
MediaChatAliasSenderAddressWorkType | Indicates which field is used to get sender address. 0 = off 1 = CV01 2 = CV02 3 = CV03 4 = CV04 5 = CV05 6 = CV06 7 = CV07 8 = CV08 9 = CV09 10 = CV10 11 = ECC |
MediaChatAliasSenderAddressEccVariableName | Used if MediaMailAliasSenderAddressWorkType = 11 Name of ECC variable. Must begin with “ECC.user.” in CRMConnectorSAP config. Suggestion: “ECC.user.AliasSenderAddress” |
Configuring ChatConnector
The configuration of ChatConnector is stored in an initialization file. The installation program creates this file with the settings entered during setup. The configuration of ChatConnector can be adjusted by editing this initialization file or by using a remote console connection. In both cases the service must be restarted for the changes to take effect. If a configuration setting is not found in the initialization file, the default value is used. Please refer to the ChatConnector Inizialization File for a full description of all configuration parameters in the ChatConnector’s initialization file.
Connections to Surrounding Systems/Components
Configure the following configuration settings appropriately to connect the ChatConnector to its surrounding systems or components.
Connection to 3rd Party Chat Server
Setting | Description |
---|---|
JabberServerHostname | Hostname or IP address of the chat server |
JabberServerPort | Remote port of the Jabber server. Default is 5222 |
Connection to MediaManager Pair
Setting | Description |
---|---|
ApplicationID | MediaManager application identifier, must be unique among all applications connecting to the MediaManager |
MmHostA | Hostname or IP address of MediaManager A host |
MmPortA | Hostname or IP address of MediaManager B host |
MmHostB | Remote port of MediaManager A. Default is 7050 |
MmPortB | Remote port of MediaManager B. Default is 7050 |
Chat Service Users
The chat service users are the chat users which are exposed by the ChatConnector to the chat server. The username for a chat service user must be unique across all gates of the ChatConnector. A CCE/CCH Script Selector must be associated with each chat service user so that incoming chat requests can be routed to an available agent. Check the Core Media Configuration for a detailed description about how to configure the chat server users.
ClearHistoryOnTransfer-Parameter
SAP CRM has its own capability to provide the full chat transcript to the agent who receives a transferred chat. It is therefore not required that the ChatConnector uses its transcript-forward mechanism. Add the parameter ClearHistoryOnTransfer into the ChatConnector’s configuration file, section [Gate_mcil], and set it to true to clear the chat buffer before the transfer to another agent is processed.
[Gate_mcil]
ClearHistoryOnTransfer=false
Configuring CCE/CCH
CCE/CCH Media Routing Domain Configuration
On CCE/CCH the chat integration requires a separate media routing domain as described in Core Media Configuration. Skill groups used for chat routing must be assigned to this media routing domain. The maximum number of tasks per media routing domain parameter must be set to 1 for the chosen domain if an agent should only handle one chat session at once. CCE/CCH media routing domain interruptibility must be disabled. Refer to Core Media Configuration for more information about how to configure agents that should work on multiple interactions simultaneously.
Agent-to-Agent Chat Transfer
To allow an agent to transfer a chat to another agent, the string user. has to be prefixed to the destination address. For example, for a transfer to an agent with the address 173000\@somedomain.com, the first agent must use the address user.173000\@somedomain.com where 173000 is the SAP user ID of the second agent. The ChatConnector requires the user-prefix to distinguish an agent-to-agent transfer from a transfer to a queue.