Cisco Unified Presence Server 8.x (CUPS)

CUPS Overview

CUPS is a cisco UC component which provides IM, Presence, Group Chat (Ad-hoc or Persistent) and also allows seamless integration with other UC components. There are basically 3 roles in Presence work flow. Watcher(could be a phone, client, trunk etc), Presence Entity, and Presence Server.The presence entity publishes its current status to the presence server by using a PUBLISH or REGISTER message(SIP/SIMPLE clients), or by using an XML Presence Stanza (XMPP clients).

CUPS Interfaces

CUPS Architecture – CUCM SRND 8.x

Presence Server

How Presence status is reflected


Presence is reflected by 2 dimensions, Telephony Presence & IM Presence. IM Presence is totally controlled by Presence Server, while Telephony Presence means the line status (on-hook, off-hook etc) associated with a user. So, Telephony Presence is provided on line appearance basis and user should be associated with a line appearance(user association in DN config page or primary extension in End User config page). Cisco recommends associating the end user with a line appearance to provide more detailed level of presence status. The user can be associated to multiple line appearances, and each line appearance can also be tied to up to 5 users.

When using the CUP PUBLISH Trunk service parameter on Unified CM, you must associate the user with a line appearance rather than just a primary extension.

How Telephony Presence Request is handled

Unified CM Presence – CUCM SRND 8.x

All telephony presence requests for users, whether from inside or outside the cluster, are processed and handled by Cisco Unified CM as long as the CUCM Presence Policy (subscribe CSS, Presence Group, SIP Route Pattern etc) allows that. CUCM exchange telephony presence infos with outside through SIP trunk. However, IM Presence requests are processed by Presence Server.

Telephony Presence with SIP endpoints: SIP based endpoint will send out SIP SUBSCRIBE message to CUCM to request Presence status, and CUCM will respond with a SIP NOTIFY message. If the Presence Watcher and Presence Entity does not exist on the same CUCM Cluster, then CUCM just relay all the SIP SUBSCRIBE and SIP NOTIFY messages through SIP Trunk.

Telephony Presence with SCCP endpoints: CUCM only support SCCP endpoints acting as presence watcher. SCCP endpoints request presence status by sending SCCP message, CUCM reply with SCCP message to indicate presence status if presence entity is located in the same CUCM Cluster. If presence entity locates outside the CUCM cluster, CUCM do the translation between SCCP messages and SIP SUBCRIBER & NOTIFY messages.

Busy Lamp Field (BLF) based Presence

BLF Presence – CUCM SRND 8.x

SUBSCRIBE calling search space can not set to <None>, otherwise SUBSCRIBE message is not accepted and routed properly and BLF based Speed Dial & Call List presence will not work.

Speed Dial Presence Indicator: BLF Speed Dial indication is a line-level indication and not a device-level indication. BLF speed dials are administratively controlled and are not impacted by the presence policy configuration.

Busy Lamp Field (BLF) based Call List Presence Indicator: Presence status can be reflected for Missed, Received, and Placed Calls, Personal Directory, or Corporate Directory. Just need to enable “BLF for Call Lists”Enterprise Parameter within CUCM Admin GUI. SUBSCRIBE calling search space can not set to <None>.

CUCM Presence Policy

Subscribe CSS: determine which partition your Presence Request (subscribe message) can reach. In other words, which DNs you are allowed to see the presence status. Subscribe CSS can be configured on a user or device basis. With the SUBSCRIBE calling search space set to <None>, BLF speed dial and call history list presence status does not work and the subscription messages is rejected as “user unknown.”

Presence Group: Devices, DNs, Users can all be assigned to a presence group. The Presence Group controls the destination that a watcher can monitor. If the Inter-Presence Group Subscribe Policy service parameter is set to Disallowed, Unified CM will block
the request even if the SUBSCRIBE calling search space allows it. The Inter-Presence Group Subscribe Policy service parameter applies only for presence status with call history lists and is not used for BLF speed dials.


Message Storage for Offline IM, Ad-hoc Group chat & Persistent Group chat

CUPS Architecture – CUCM SRND 8.x
CUPS Enterprise IM and Message Archiving – CUCM SRND 8.x

Offline instant messaging is stored locally in the Cisco Unified Presence IDS database.

Persistent chat is only supported with XMPP clients and is always stored on external SQL database. The only external database supported for Persistent chat storing is PostgreSQL.

If persistent chat is enabled, ad-hoc rooms are stored to the external PostgreSQL database for the duration of the ad-hoc chat. This allows a room owner to escalate an ad-hoc chat to a persistent chat. Otherwise, these ad-hoc chats are purged from PostgreSQL at the end of the chat. If persistent chat is disabled, ad-hoc chats are stored in volatile memory for the duration of the chat.

Installing CUPS 8.6.x

Burn bootable ISO installer

The ISO downloaded from cisco official site might be non-bootable one, so you have to firstly follow below blog to transform it to a bootable ISO before you can proceed with the install.

Make non-bootable ISO image bootable – htluo Blogspot

Integrating CUPS with CUCM

On CUCM Server:

  1. CUP should be added as a application server (after CUCM 7.0(3), it is automatically done by CUP through AXL/SOAP when you add CUCM Publisher on CUP Admin GUI along with AXL Application User ID and password).
  2. Create AXL Application User with Standard AXL Access Role Enabled.
  3. SIP Trunk (IP addr or DNS FQDN could be used, Trunk Name:”CUPS-SIP-Trunk”) is created to point to CUP, and specific SIP Trunk Security Profile is applied to that SIP Trunk.
  4. Service Parameter: CUP PUBLISH Trunk set to “CUPS-SIP-Trunk”.
    SIP Publish method mitigate performance problem caused by SIP Subscribe/Notify method.
    SIP Publish also provide presence info on line basis, that’s why Line should associated with a user in DN config page.
    CUCM System Guide 8.6 – Understanding SIP – SIP Publish
  5. Activate Services: CallManager / TFTP / CTIManager / CCMCIP / AXL Web Service.
  6. Assign Licensing Capability to End User: Enable CUP / Enable CUPC.
  7. Configure Cisco IP PhoneManager as an Application User.
  8. Add CTIGW application user and assign to group “Standard CTI Enabled” and “Standard CTI Allow Control of All Devices”. (only required when integrating with Microsoft LCS 2005 or OCS 2007).
  9. Service Parameter: Clusterwide Presence Parameters – Allow Inter-Presence Group Subscription.
  10. Modify User Credential Policy on CUCM as desired– Set to Never Expire.
  11. Create and configure CSF device for Jabber client to work in softphone mode.
  12. Assign End User to Standard CTI Enabled Group and associate user with controlled devices. In DN config page, associate an End User so that User’s telephony presence is tied to status of that line appearance.  In both DN and Device Config page, tick checkbox of “Allow Control from CTI”.
  13. Configure Subscriber CSS for DNs & Devices.

On CUPS Server:

  1. Configure CUCM Publisher: feed CUCM Pub IP address and AXL Application User Credentials.(System>CUCM Publisher).
  2. Configure CUCM as Presence Gateway (Presence>Gateways).
  3. Client specific confgurations (Application>Cisco Jabber>CTI Gateway Server / LDAP Server / Conference Server / Voice Mail Server etc).
  4. Assign related Application profiles (CTI GW Profile, Conference Profile etc) to End User on CUP Admin GUI.
  5. Finish all your mandatory and optional configurations on CUP before activating below services
    a) Cisco UP SIP Proxy
    b) Cisco UP Presence Engine
    c) Cisco UP Sync Agent
    d) Cisco UP XCP Connection Manager
    E) Cisco UP XCP Authentication Manager
    f) Cisco UP XCP Router service