Many industries require that instant messages adhere to the
same regulatory compliance guidelines as are all other business records. To
comply with these regulations, your system must log and archive all business
records, and the archived records must be retrievable.
The Cisco Unified Communications Manager IM and Presence Service provides support for instant messaging
(IM) compliance by collecting data for the following IM activities in single
cluster, intercluster, or federated network configurations:
Point-to-point messages.
Group chat - This includes ad-hoc, or temporary chat messages, and
permanent chat messages.
IM and Presence Service Release 9.0(1). IM and Presence uses the Message Archiver component for logging messages to the external database.
External database—For information on supported external databases,
see the Database Setup Guide for IM and Presence.
IM Client—Supported clients include Cisco clients such as Cisco
Jabber; third-party XMPP clients, and other third-party
clients used in federated networks.
Note
The IM compliance provides a basic IM logging
solution. If you require a more granular logging solution, for example logging
based on policy, use the third-party compliance solution, see the appendix
module for details.
Sample topologies and message flow for IM compliance
Note
The external database requirements defined in this section depend on
the capacity of your servers.
IM compliance provides logging of all
compliance related data to an external database. All IM traffic passes through
the IM and Presence Server (via the Message Archiver component) and is
simultaneously logged to the external database. Each IM log contains the sender
and recipient information, the timestamp, and the message body.
For ad-hoc group chat messages, by default IM and Presence logs multiple copies of the same message to the external database, one
copy for each recipient. This identifies what users in the ad-hoc group chat
received the message.
Depending on the XMPP client you deploy, you may also notice
this behavior:
IM and Presence may log an incoming message to the external
database twice. This occurs because some XMPP clients do not support the
ability to learn the full JID, or address, of the other party in the
conversation. Consequently the XMPP client forks the message to
all active clients for the user (all clients that the user
is currently signed into), and IM and Presence then logs all forked
messages to the external database.
IM and Presence may log the first message in a chat to the
external database twice. This occurs until the XMPP client learns the full JID,
or address, of the other party in the conversation.
If IM and Presence loses its connection to the
external database, it continues to send and deliver IMs to users, and users can
still create (ad-hoc) chat rooms. However with no connection to the external
database, IM and Presence does not log any of these IMs so it does not
support permanent group chat. IM and Presence raises an alarm if the
connection to the external database is lost.
Single Cluster Configuration
When using IM compliance in a single
cluster, we highly recommend that you deploy one external database per cluster
to which all incoming messages sent to users in the cluster are logged.
Note
For IM compliance, we
highly recommend that you deploy one external database per cluster. However,
depending on your requirements, you can configure more than one external
database per cluster, or share an external database between clusters.
If you deploy the Group Chat feature, you
require one external database
per node in a cluster. See
Database Setup for IM and Presence Service on Cisco Unified
Communications Manager
.
The image below highlights these components
and message flow. By default IM compliance logs inbound
messages to the external database, however you can configure the feature to
also log outgoing messages.
Figure 1. IM compliance for a single
cluster
Intercluster or Federated Network Configuration
When using IM compliance in an
intercluster or federated network configuration, you must configure an external
database per cluster. Additionally, you should configure the IM and Presence server to log both incoming and outgoing messages. Otherwise, each
database will retain only half of the conversation.
The figure below highlights these components
and message flow.
Figure 2. IM compliance for multiple
clusters
Prerequisite configuration tasks
Before you use this guide to configure IM compliance, make
sure that you have performed the following tasks:
Install the IM and Presence servers as described in the
Installing Cisco Unified Communications Manager.
Configure the IM and Presence servers as described in the
Deployment Guide for IM and Presence Service on Cisco Unified
Communications Manager
.
Set up the external
database as described in the
Database Setup for IM and Presence Service on Cisco Unified
Communications Manager
.
Support for PostgreSQL 9.1.1
To deploy PostgreSQL version 9.1.1 as the external database, you must set the following values in the postgresql.conf file:
escape_string_warning = off
standard_conforming_strings = off
After you configure these parameters, you must restart PostgreSQL. For more information about how to configure the postgresql.conf file and restart PostgreSQL, see the Database Setup for IM and Presence Service on Cisco Unified
Communications Manager
.