6 Managing Messages for Users

This chapter describes how you can manage messages that are sent to offline Oracle Communications Instant Messaging Server users so they receive queued messages the next time they log in. The messages can be sent as an SMS or forwarded as an email. This chapter also describes how to enable push notifications of offline messages, and how to enable message carbons to keep all online devices for a user synchronized.

About Managing Instant Messaging Server Messages for Offline Users

When you enable offline chat message delivery on Instant Messaging Server, regular instant messages (chat messages) that are sent to offline users are not discarded. They are available on Instant Messaging Server and delivered to the user when the user comes online. You enable offline chat message delivery at the deployment level or at the domain level by using the whitelisting facility. You can disable offline chat message delivery at the domain level by using the blacklisting facility.

Alerts are managed separately. Similar to offline chat messages, Instant Messaging Server stores the alerts for the offline recipient, and delivers them when the user logs in next time, as long as the user has been configured to receive offline alerts during the next login. You enable or disable offline alerts at the user level.

Note:

If you install Oracle Communications Calendar Server with Instant Messaging Server, you can configure your deployment such that you receive Instant Messaging Server alerts about your calendar tasks and events as pop-up messages. As long as you are logged in to Instant Messaging Server (online), you receive Calendar Server HTML pop-up reminders on your desktop. If you are offline, you receive the alerts the next time you login, as long as have configured Instant Messaging Server to receive offline alerts during the next login.

For more information on calendar alerts, see the topic on planning your installation in Instant Messaging Server Installation and Configuration Guide.

See "Configuring the SMS Gateway" for information about SMS forwarding.

About Delivering Offline Messages

You can enable support for offline messages in Instant Messaging Server. Instant Messaging Server stores the messages intended for an offline recipient. The server then delivers the offline messages once the recipient comes online. The implementation of the offline message support is based on the XEP-160 guidelines, and supports the entire deployment to cover domains.

Instant Messaging Server supports offline message delivery of one-to-one chat. The offline message support for a multiuser chat is available in persistent chat rooms. You can set the maximum number of chat messages you want to receive. You can use the same properties to whitelist or blacklist specific domain names for which this capability can be enabled. The messages are queued for offline delivery in the Instant Messaging Server data directory on the file system of the host. For more information, see the topic on support topics in Instant Messaging Server Installation and Configuration Guide. Also, see Best Practices for Handling Offline Messages at:

http://xmpp.org/extensions/xep-0160.html

Table 6-1 shows the configuration properties used to enable support for offline messages:

Table 6-1 Configuration Properties for Enabling Support of Offline Messages

Property Default Value Description

iim_server.deliverofflinechat

false

Determines whether the capability is on or off. To enable the feature for the entire deployment, set the iim_server.deliverofflinechat property to true, and do not set the deliverofflinechat.domain property. To disable the feature for the entire deployment, set the iim_server.deliverofflinechat property to false, and do not set the deliverofflinechat.domain property.

deliverofflinechat.domain

None

Used to blacklist or whitelist a domain. To blacklist a domain, set the iim_server.deliverofflinechat property to true, and set the deliverofflinechat.domain property to the list of domains to be blacklisted. To whitelist a domain, set the iim_server.deliverofflinechat property to false, and set the deliverofflinechat.domain property to the list of domains to be whitelisted.

deliverofflinechat.maxsize

50

Determines the maximum queue size related to the Receiver, and must be a positive integer.


Note:

All peers or machines in a server pool environment store the messages locally on the users' file system. If a machine is unavailable, the stored messages are not available for delivery to the user. The messages are delivered only when the machine is up, and the recipient user is online.

See "Configuration Properties" for more information on the complete list of Instant Messaging Server configuration properties.

Enabling Offline Messaging

To enable offline messaging:

  1. Set the configuration properties by using the imconfutil command for the following scenarios:

    1. To enable the feature for all, set iim_server.deliverofflinechat to true, and do not set deliverofflinechat.domain. For example:

      imconfutil set-prop iim_server.deliverofflinechat=true -c InstantMessaging_home/config/iim.conf.xml
      
    2. To disable the feature for all, set iim_server.deliverofflinechat to false, and do not set deliverofflinechat.domain. For example:

      imconfutil set-prop iim_server.deliverofflinechat=false -c InstantMessaging_home/config/iim.conf.xml
      
    3. To whitelist a domain, set iim_server.deliverofflinechat to false, and set deliverofflinechat.domain to comma_separated_list_of_domains_to_be_whitelisted. For example:

      imconfutil set-prop iim_server.deliverofflinechat=false -c InstantMessaging_home/config/iim.conf.xml
      
      imconfutil set-prop deliverofflinechat.domain="comma_separated_list_of_domains_to_be_whitelisted" -c InstantMessaging_home/config/iim.conf.xml
      
    4. To blacklist a domain, set iim_server.deliverofflinechat to true, and set deliverofflinechat.domain to comma_separated_list_of_domains_to_be_denied. For example:

      imconfutil set-prop iim_server.deliverofflinechat=true -c InstantMessaging_home/config/iim.conf.xml
      
      imconfutil set-prop deliverofflinechat.domain="comma_separated_list_of_domains_to_be_denied" -c InstantMessaging_home/config/iim.conf.xml
      
  2. Restart Instant Messaging Server.

About Push Notifications for Offline Messages

You can enable support for push notification of offline messages by using Instant Messaging Server's publish-subscribe (pub-sub) service. The pub-service is a notification service that uses XMPP. Instant Messaging Server uses a pub-sub node, also referred to as a topic, to store information about offline messages. Instant Messaging Server publishes the offline notification messages as an event to the pub-sub node. A subscriber in the form of an XMPP component can register with the node to receive notification of offline messages. The subscriber is a component outside the scope of Instant Messaging Server. The requirement for the subscriber is that it communicate by using XMPP and that you configure it to communicate with Instant Messaging Server.For scalability reasons, deploy the subscriber as its own component, and configure it to subscribe to the pub-sub node created in Instant Messaging Server. The Instant Messaging Server host is both the owner and publisher of the pub-sub node. Access to pubs-sub nodes is open for component connections but closed for client connections.

Table 6-2 shows the configuration properties used to enable support for offline push notification messages:

Table 6-2 Configuration Properties for Enabling Support of Push Notifications for Offline Messages

Property Default Value Description

iim_server.pubsub.customnode.enable

false

Determines whether the capability is on or off. To enable the feature for the entire deployment, set the iim_server.pubsub.customnode.enable property to true. To disable the feature for the entire deployment, set the iim_server.pubsub.customnode.enable property to false.

iim_server.pubsub.customnode.offlinemessage

None

Used to set the topic name for the pub-sub node.


For more information on the complete list of Instant Messaging Server configuration properties, see "Configuration Properties".

Enabling Push Notifications for Offline Messages

This task assumes the use of a third-party application as the component that subscribes to the pub-sub node. Such a component is outside the scope of Instant Messaging Server.

To enable push notifications for offline messages:

  1. Enable support for offline messaging.

    See "Enabling Offline Messaging" for more information.

  2. Use the imconfutil command to set the following properties for the publish-subscribe service and the pub-sub node:

    iim_server.pubsub.customnode.enable=true
    iim_server.pubsub.customnode.offlinemessage=offline_node_name
    

    where offline_node_name is the name of the pub-sub node, or topic.

  3. Configure the component that is subscribing to offline_node_name.

    imconfutil -c InstantMessaging_home/config/iim.conf.xml add-component id=PubSubConsumer jid="pubsubcomponent" password=password
    
  4. Restart Instant Messaging Server.

About Message Carbons

Using message carbons, you can configure Instant Messaging Server so that the carbon-enabled devices simultaneously display up-to-date conversations with the most current messages on both sides of the communication. Thus, if users switch between devices, such as desktop computers, smartphones, and tablets, all their devices display the complete communication that has taken place.

While message carbons can be used to keep all online devices synchronized, you must use archive management to synchronize conversation history for offline devices. See "About Archived Messages Retrieval" for more information.

Enabling Message Carbons

To enable message carbons:

  1. Set the iim_server.carbon.enable property to true:

    imconfutil -c InstantMessaging_home/config/iim.conf.xml set-prop iim_server.carbon.enable="true"
    
  2. Restart Instant Messaging Server.