Back to Unified Communications FAQ
- Collaboration SE VT - UC Capacity Planning and How to Get Started - Video
- Jabber deployment revisited (Part 1): Deployment and Provisioning - BRKCOL-2239
- Jabber deployment revisited (Part 2): Features and Configuration - BRKCOL-2013
- Jabber Everywhere Deploying the Best Experience - BRKUCC-2480
- Jabber Phone Services Troubleshooting
- Understanding and Troubleshooting Presence Status
- Configuration and Troubleshooting of Call Push Notifications (APNS Part 1)
- Configuration and Troubleshooting of Call Push Notifications (APNS Part 2)
- March 6, 2018 What’s New with Jabber 12.0
- Jabber 12.0 New Features
- Collaboration Specialist: Jabber 11
Following material is only in the replays link:
- The Ultimate BYOD Jabber & Presence Tech Talk for Unified Communications 10.x
- The Ultimate Cisco Jabber Specialist Features Tech Talk – Collab-Edge with Cisco Expressway
- The Ultimate Cisco Jabber Specialist Features Tech Talk – Persistent Chat, Jabber Guest
- March 29, 2018 Jabber 12.0
- November 9, 2017 Verba (Recording & Compliance Solution) Updates
How do I install an IM&P node??
First of all, there is some confusion about the location of the IM&P documentation, since 9.x most of it has been moved over, or integrated, to the CUCM documentation due to the fact that IM&P is now considered a subscriber of CUCM PUB.
I'll assume that you have at least your CUCM PUB up and running.
The procedure itself has not changed that much from the old CUPS, the most important difference is that now before you start the install, you need to add the IM&P server under CCMadmin -> System -> Server, and that the first run does no longer have the AXL integration as IM&P will get all that information during the install phase as it's directly connected to CUCM. The rest of the install on the VM console is pretty much the same you would find on CUCM, CUC, etc. It's a fill in the blanks wizard. During the wizard you will be prompted to point to the first node in the cluster as with CUCM SUBs so it can authenticate, and create all the necessary sync agreements to work.
The whole set of instructions are here:
Install and Upgrade Guides
What are the HW requirements for IM&P??
The same theory from What possible HW options do I have to install CUCM?? applies across the board, if you know how to read the requirements and tables for CUCM, you're pretty much done for most of the products.
How to determine IM&P and CUCM compatibility??
Starting with releases 9.x there is no longer a mix and match between CUCM and IM&P, they need to be aligned in the same major release.
For the most part, CUCM and IM&P need to be on the same X.Y level, for example:
- CUCM 22.214.171.12400-11
- IM&P 126.96.36.199900-1
They both match at the 9.1 level and are compatible, even if they are not in the same MR, as long as they keep in 9.1, they will be compatible.
At this time, the only release that breaks the rule is 10.5(2):
IM and Presence Service and Cisco Unified Communications Manager Upgrade to 10.5(2)
IM and Presence Service Release 10.5(2) is compatible only with Cisco Unified Communications Manager Release 10.5(2).
Which as you can see, needs to match at the X.Y(Z) level, always make sure to review the Release Notes for the product before upgrading or installing to make take into account any special considerations like the above.
Most of the recent releases have very stringent requirements and you need to match CUCM and IM&P up to the SU level for them to work properly, make sure to review the upgrade guide, release notes and README of the ISO image, which will contain such information.
Which are the steps for upgrading IM&P??
The whole procedure is outlined in the CUCM upgrade guide:
Install and Upgrade Guides
Make sure to review the whole guide and pre-reqs before attempting the upgrade, put special notice on which procedure applies to you, and whether you need to switch to the new version immediately, or upgrade all nodes before switching, that is a very important step and can cause problems in case you fail to follow the proper procedure.
How do I determine my upgrade path??
This information is listed in several places, remember that you need to look into the CUCM documentation for IM&P as well.
- The CUCM compatibility documentation, Upgrade Paths for IM and Presence Service 10.x
- The actual upgrade guide, Upgrade Paths for IM and Presence Service
- The Release Notes, Important Notes about Upgrades
You can get to any of the above documents from the main CUCM documentation page
Can I mix restricted and unrestricted images in the same cluster??
This was possible in 9.x, however, in 10.x, all servers, CUCM and IM&P, need to be running either restricted, or unrestricted across the board.
If you are upgrading from IM and Presence Service 10.0(1) Export Unrestricted to any higher release of IM and Presence Service Export Unrestricted (including Service Updates), you must install the following COP file before you begin the upgrade: ciscocm.cup.unrst_upgrade_10_0_1_v1.2.cop.sgn.
Reference: Upgrade Paths for IM and Presence Service 10.x
My DRS restore of IM&P PUB (10.0+) is failing, what should I do??
There are two outstanding bugs related to this, please review the information about them:
- CSCuo02154 DRS restore of failed IM&P pub requires DRS restore of publisher
- CSCur30708 DOC: Need to be documented the instruction for IM&P restore
How to configure flexible JID and multi-domain on IM&P??
First of all, a few considerations:
- This is an all or none change, it will affect ALL your users
- You will need IM&P 10.0+, I'd recommend 10.5(2)
- ALL Jabber clients will need to be on 10.6+ release
- ALL JIDs will be re-generated as well as the contact lists for ALL users
- You will need to adjust the jabber-config.xml to reflect the changes and resolution to work.
- If you are working with more than one cluster, you will need to perform this on ALL clusters at the same time
- This will be a flash cut, no way to do it little by little.
Why would you want this??
A lot of people don't like the fact that you are limited to build the JID as userID@domain.com, specially when you want to use the mail as userID, as you end up with email@example.com@company.com. Flexible JID enabled you to use mail or msRTCSIP-PrimaryUserAddress to be the JID, with the previous example, if you choose mail, it would only be firstname.lastname@example.org We will tie the end users to the Directory URI field from CUCM for directory resolution, and also for CUCM URI dialing.
This are the steps that are required to do this, bear in mind that you want to have maintenance time for this
- Go to CUCM Directory configuration, and make sure your Directory URI is set to the parameter you want to use, either mail, or msRTCSIP-PrimaryUserAddress. Perform a re-sync if required.
- Stop the Presence Engine, SIP Proxy, XCP router, Sync agent and client profile agent prior to the next step
- Under the Advanced Presence Settings, change the IM Address Scheme to Directory URI, this is the point where all JIDs and contact lists will be regenerated.
- Change the jabber-config.xml as required, upload to TFTP, and restart TFTP service
- Start the Presence Engine, SIP Proxy, XCP router, Sync agent and client profile agent
This example is for EDI / BDI with mail
<Directory> <SipUri>mail</SipUri> <UseSIPURIToResolveContacts>true</UseSIPURIToResolveContacts> <BDISipUri>mail</BDISipUri> <BDISipUriToResolveContacts>true</BDISipUriToResolveContacts> </Directory>
This example is for EDI / BDI with msRTCSIP-PrimaryUserAddress
<Directory> <SipUri>msRTCSIP-PrimaryUserAddress</SipUri> <UseSIPURIToResolveContacts>true</UseSIPURIToResolveContacts> <UriPrefix>sip:</UriPrefix> <BDISipUri>msRTCSIP-PrimaryUserAddress</BDISipUri> <BDISipUriToResolveContacts>true</BDISipUriToResolveContacts> <BDIUriPrefix>sip:</BDIUriPrefix> </Directory>
More info on the above change here: Configure Intradomain Federation for BDI or EDI. If you're using UDS, the EDI config will be used.
After doing the above change, THEN you might turn into a multi-domain deployment. Whether it becomes a multi-domain, or not, will depend on the RHS from the values which you're using as JIDs
If you have JIDs from @companyA.com, @something.com, @nope.com, etc. then your IM&P would be hosting companyA.com, something.com and nope.com as domains it hosts. If all the RHS from the JIDs are the same, then you will only be serving one domain.
If you indeed turn your deployment into multi-domain, consider the following:
- XMPP certificate SAN will need to be updated for all the domains your server will work with
- SRV records for service discovery will need to be added for each domain
Can I use XMPP Federation and MRA if I configure Flexible JID??
Yes, assuming you meet the requirements for Flexible JID, you can use both features.
Please notice the following limitations:
Multi-domain and multi-customer support is limited as follows:
- Prior to X8.5, each Cisco VCS deployment supported only one IM&P domain (even though IM and Presence Service 10.0 or later supports Multiple Presence Domains).
- As of X8.5, you can create multiple deployments on the Cisco VCS Control, but this feature is still limited to one domain per deployment.
- As of X8.5.1, a deployment can have Multiple Presence Domains. This feature is in preview, and we currently recommend that you do not exceed 50 domains.
How to configure XMPP federation with VCS / Expressways??
This is really not that complicated in the steps you need to perform in IM&P and VCSs / Expressways.
I'll assume CUCM 10.x and VCS 8.5 will be used for this. I'll use the term VCS and Expressway as the same thing during the rest of the steps. Before this, you should also have your SRV for XMPP federation publicly available and your EXP-E should have access to a DNS server which can lookup public DNS entries to find the related SRV record:
_xmpp-server._tcp.domain.com OR _xmpp-server._tcp.<chat node alias> and the corresponding reply on port 5269 for your expressway or expressway cluster. Weight and priority should be defined per your company policies.
Notice that the SRV records need to be configured for your company, and the company you want to federate with, otherwise, the authentication will fail.
- IM&P Admin -> Presence -> Inter-Domain Federation -> XMPP Federation -> Settings, the default for XMPP Federation Node Status is Off, in case this is set to On you need to disable it
Now, on EXP-C, I'll start from the point in which you already had MRA configured, meaning the domain to which your IM&P belongs has been configured under Configuration -> Domains, the IM&P nodes have been added under Configuration -> Unified Communications -> IM and Presence Service nodes, and the Unified Communications traversal has been configured between the VCSs. All the certificates should have been exchanged at this point.
- Configuration -> Domains -> Click the domain for which you want to enable XMPP federation -> XMPP federation = On
- Configuration -> Unified Communications -> Configuration -> XMPP federation support = On
As to the fields in this page:
- Use static routes, this is used if you want to avoid using SRVs to find the other companies, and only want a small subset of domains to which you want to allow the federation. You will need to configure them here: Configuration -> Unified Communications -> Federated static routes. It will failover to DNS in case the lookup fails. If there are routes configured to the domain, or chat node alias, but there is no response, or the system cannot be contacted over those routes, there will be no DNS failover.
If Privacy mode is set to "Allow list" and Use static routes to ""On"" all the domains (or chat node aliases) configured, will also be added automatically to the Allow list
- Dialback secret, we will use this field after a hash is made from it to authenticate our outgoing connections against other domains, this needs to be the same for all other VCSs / Expressways enabled for XMPP federation for your domain.
- Security mode, to determine whether you will enforce TLS, use TLS optionally, or no TLS. For this, your EXP-E forcefully has to have a Public CA signed certificate.
- Require client-side security certificates, to control whether the certificate will be verified against the current trusted CA list, and the CRL, if loaded. Only required if you wish to use TLS
- Privacy mode, to determine whether you will use a white list, a black list, or no restriction for federating with other domains. Allow list means only those domains listed, will be accepted. Deny list, means you will federate with anyone who is NOT in the list, if they're listed, you will block them. You can configure them under Configuration -> Unified Communications -> Federated domains allow list OR Federated domains deny list
Once you configure the above parameters and click Save, a restart of the EXP-E will be required, if you're already using MRA or Jabber Guest, plan accordingly.
This will also require a restart of the XCP router in the IM&P servers for them to complete the configuration.
You can confirm the information from EXP-E has been sent over to the IM&P servers by issuing this SQL query:
run sql select * from xmpps2snodes
Those are all the steps you need to perform in IM&P and VCSs to get XMPP federation to work, if something is failing, then you can take a look at the EXP-E logs in order to find out if this might be related to certificates, TLS, SRVs, etc.
If you're federating with GTalk, review this bug: CSCut42481 XMPP Federation with GTalk not working
What are the most common Jabber configuration issues??
The most common problems for Jabber are (In my experience):
- DNS issues
Plenty of times I've seen people trying to use Jabber without DNS and then have the servers defined by hostname / FQDN, that simply does not work, if you want to work without a DNS in a test environment, you need to adjust your hosts / lmhosts files to have the servers you're working with. This happens particularly if you have full UM and it won't connect as a softphone.
- Firewalls, ACLs, antivirus and anything similar preventing communication.
- Wrong DNS SRV records
You can use nslookup to make sure your DNS SRV records are properly created:
How to verify that SRV DNS records have been created for a domain controller
To use Nslookup to verify the SRV records, follow these steps:
- On your DNS, click Start, and then click Run.
- In the Open box, type cmd.
- Type nslookup, and then press ENTER.
- Type set type=srv, and then press ENTER.
- Type _ldap._tcp.dc._msdcs.
Above are for general use, you usually would want to restrict them to srv using
set type=srv and then trying the Cisco SRVs:
For presence not showing up properly:
- Not making sure all the user / device / line associations are in place
- Not using a CSS that can monitor all devices in the SIP trunk between CUCM and IM&P
For Deskphone control
- Missing some roles that are required. I'll try to create a table with endpoint model Vs roles required later.
- Not assigning the right CTI service
For LDAP resolution
- Not having the required DNS SRV records for this to work automatically
- Not creating the LDAP profile in jabber-config.xml for non-domain machines
Where can I pull the users from??
There has always been a BIG misconception around this, plenty of people believe that you actually integrate CUPS / IM&P to LDAP, when that has NEVER been the case, the users you see in CUPS / IM&P, are the users we bring over FROM CUCM via AXL. So, if you want your CUPS / IM&P "LDAP integrated", then what you actually need to configure, is the LDAP integration in CUCM.
Can I disable that my users log into multiple clients at the same time??
Yes, you can control that via the jabber-config.xml with the parameter: LoginResource
Can I get a report of Jabber versions being used??
As of now 5/4/2016, there is no easy way to get a list of, say 5-6 versions you have in your cluster.
You can get the info in RTMT using Device Search, and you can limit the search for CSF devices, and you'll get the list of ALL devices and the version.
I found about another alternative, right now I only have Jabber for Windows registered, but I believe this might work with ALL Jabber options.
You go to the CLI of your IM&P server and you run the command:
run pe sql ttlogin select * from clientsessions
The output will look like this:
sqlRv(t) sqlstmt(select * from clientsessions;) ***result set start*** count(5), success(t) <msg><type>TTLOGIN</type><table>clientsessions</table><action>Q</action><time>0</time><old><1>0b9859cf-661f-453e-8aad-91189323cf4c</1><5>1</5><6>188.8.131.52037</6> <2>2ab0dd86-828a-9905-e5d9-c02cf62f4bec</2><4>null</4><3>b9231e73-9dc2-93be-790b-121e81395356</3><0>00000001:5728e93d:0008fbb7:0000002a</0></old></msg> <msg><type>TTLOGIN</type><table>clientsessions</table><action>Q</action><time>0</time><old><1>627da226-ebfa-451d-89fa-f2219486179f</1><5>1</5><6>184.108.40.20635</6> <2>699f99a2-ffea-0ef8-b3aa-91b424b7e06f</2><4>null</4><3>160b2670-3d3c-f3eb-a17a-780e57ff9554</3><0>00000001:56ec2efc:000c1d4d:00000015</0></old></msg> <msg><type>TTLOGIN</type><table>clientsessions</table><action>Q</action><time>0</time><old><1>7b131506-58a7-4879-8284-dab5507431ba</1><5>1</5><6>220.127.116.1135</6> <2>a62f1f9e-c5c1-58da-443d-676944f6c9a1</2><4>null</4><3>d89ae170-e854-ba19-f258-e9f7213d1ec8</3><0>00000001:56ec2f85:000731ca:00000019</0></old></msg> <msg><type>TTLOGIN</type><table>clientsessions</table><action>Q</action><time>0</time><old><1>a32c0e4d-f4e3-4cc1-af06-a39fd986b00b</1><5>1</5><6>18.104.22.16800</6> <2>c0122fa4-1cc7-5a02-6686-e69eb4ea1b34</2><4>null</4><3>d080c209-bdc5-0b9c-4cfe-b638cbd4ec96</3><0>00000001:56f2e9d8:0007838d:00000021</0></old></msg> <msg><type>TTLOGIN</type><table>clientsessions</table><action>Q</action><time>0</time><old><1>cbdfe28b-9174-42e6-982b-b819bf006e1e</1><5>1</5><6>22.214.171.12400</6> <2>9736cdfb-485f-0ce3-8bd0-451b71a49950</2><4>null</4><3>76d02aec-9c84-8449-f5a0-8375e26ac8fb</3><0>00000001:56f2e7fd:000b3518:0000001d</0></old></msg> ***result set end***
At the end of the first line, you will see the version of the client, this maps to what CUCM would show you under the device page, as you can see, I only have three versions, they show in CUCM as:
- Active Load ID: Jabber_for_Windows-126.96.36.199037
- Active Load ID: Jabber_for_Windows-11.1.0 (Both 11.1 versions show the same in CUCM)
The report does get you the FULL version, and those are the right versions for my lab and the devices I have. Those are devices that are registered as you run the query.
I cannot test this on a system with thousands of users, as I don't have thousands of users in my lab, so, I'm not too sure about the CPU usage of this, so, use with caution.
As I mentioned, there is no easy, or pretty, way to get a list, but at least the above method will get you full versions as RTMT might not.
I tested the query on 10.5 release.
If someone tries the query and lets me know the results they have, and if they had any CPU spikes and how many users they got / have, I can update this with more accurate data.
It also works for other clients, this is a Jabber Video client
In my iPad it shows 9.3.10 (21984)
And this is the new Jabber client for iOS
This one shows 188.8.131.52312 32 bits in my iPad
Can I get a report of Jabber usage for IM and calls??
For calls, you can use CDR / CAR capabilities from CUCM, for IM, we have no native reporting for this, you would need to configure compliance in order to generate custom reports.
If someone changes the extension of a blocked file for transfer in Jabber it works, how can I prevent that??
No, the blocking process only looks at the extension of the file and not the actual contents of the file to prevent it from happening.
What is Multiple Resource Login??
Multiple Resource Login
All Cisco Jabber clients register with a central IM and Presence Service node when a user logs into the system. This is Cisco Unified Presence or Cisco Unified Communications Manager IM and Presence Service node in on-premise deployments or Cisco WebEx in cloud-based deployments. This node tracks availability, contact lists, and other aspects of the IM and Presence Service environment.
This IM and Presence Service node tracks all of the registered clients associated with each unique network user. When a new IM session is initiated between two users, the first incoming message is broadcast to all of the registered clients of the receiving user. The IM and Presence Service node then waits for the first response from one of the registered clients. The first client to respond subsequently receives the remainder of the incoming messages until the user starts responded using another registered client. The node then reroutes subsequent messages to this new client.
Adam wishes to initiate an IM conversation with Anita. Anita has previously logged into Cisco Jabber for Windows and Cisco Jabber for Android. Anita has registered two clients with the central IM and Presence Servicenode. Adam initiates the conversation by sending the message, "Hi Anita. Are you free?"
The node identifies that Anita has two registered clients and broadcasts Adam's message to both.
Anita is sitting at her desk and observes Adam's message appearing on both her laptop and phone. She chooses to respond using her laptop and responds with the message, "I have a meeting in a few moments but I can chat briefly right now."
The IM and Presence Service node identifies that Anita has responded using Cisco Jabber for Windows and marks this as the client to route all subsequent messages to in the conversation. When Adam responds with "This will only take a minute," it is routed directly to Cisco Jabber for Windows. If Anita starts responding to Adam using her phone at some point in the conversation, the IM and Presence Service node then routes subsequent messages there instead of to Cisco Jabber for Windows.
Will my conversation sync across my devices??
No, it will not, as explained, the Multiple Resource Login will only send the first message as a broadcast to all devices you're registered at the time. Once you reply on one device, IM&P will direct all incoming messages only to that device. The chat history will be only local to the device, in the rest of the devices, you will only see the first message.
I will verify the minimum requirements for MDM at a later date, but this addresses a little bit the issue of not being able to sync messages across devices. Notice this only works when the device has Jabber running, and will not load previous messages.
Multiple Device Messaging
What is the expected behavior when I add someone to my contact list, and they don't have Jabber, but only a phone??
You'll see the user offline for the most part of the time, when they pick up the phone, their state will change to yellow and show "On A Call". Notice they do not necessarily are already on a call, CUCM reports the off-hook state to IM&P, and it translates it to "On A Call".
Make sure you correctly associate the user with the line, and have a CSS which allows you to reach the phone for the IM&P - CUCM integration.
Can I get a record of all the IMs that go through my IM&P server??
By default, this messages will only be available in the logs, but you can configure a 3rd party DB in which you can send them all for reporting. Please notice that creating the custom reports, or using the data is not something we cover.
You can find the instructions here: Database Setup for IM and Presence Service on Cisco Unified Communications Manager, Release 10.5(2)
For releases prior to 10.x, PostgreSQL was the only option available, 10.x introduced Oracle as a second option. You can find the documentation for your release if you search "IM and Presence + postgresql" or "unified presence + postgresql" on cisco.com
MS SQL was added at a later date and is available also as an option in the most recent releases, I show how to configure it in this video: How to configure SQL 2014 for IM&P Compliance and Persistent Chat
Can I get a report of who is logged into Jabber??
Yes, you can get a report with that information:
- Cisco Unified IM and Presence Reporting
- System Reports
- Presence Usage
Can I set a status for Jabber clients when they go offline??
An example of this would be when you go out on vacations and want to leave your status as "On vacation" after you shut-down your Jabber before leaving. Unfortunately this is not possible, currently the status will only work when you're connected to IM&P and will always change to offline once you log off.
How to delete all contact lists??
- Have a copy of CSV file which has the set of correct contact list to import
- Stop important services like XCP router, PE and SP
- You can verify on the existing contacts using the sql query in IMP CLI:
run sql select * from rosters
- To delete all the contacts:
run sql delete from rostersThis will delete contact list of all the jabber users. Should be run only when there is a need to delete all of them
- Now import the CSV file to IMP via bulk administration
- Restart the server
EDIT: I was informed that this actually only works with the enterprise contacts, if you have pizza guy/custom contacts, they will remain in the DB after running the above procedure. My assumption is that they're in another table, which still references the JID of the user, and that's why they're not deleted. At the time of me testing it, I didn't have custom contacts, that's why I didn't notice that. Thanks to Viboochan VINASITHAMBY for making me aware of this.
I finally found where the custom contacts are, they're stored in table nonpresencecontacts, the related table which maps on which group they're is nonpresencecontactgroupmap
admin:run sql select * from nonpresencecontacts pkid fkenduser nickname buddy fkepascontactaddinfo ==================================== ==================================== ======== ==================== ==================================== 8aa39134-2fa9-44ad-8b0d-a6adcdfeae16 b41f1e08-301d-321f-9770-35f88ed53d18 NULL email@example.com 37a0adbe-868a-4f7a-ba64-0f7dd5eba1e6
Assuming you want to delete ALL the custom contacts in your cluster, just run
run sql delete from nonpresencecontacts
If you want to delete this for just some users, just tweak the above to match fkenduser, and get the pkid with this query:
run sql select pkid,userid,xcp_user_id from enduser where userid = 'username'
Map the pkid from the above query, to the fkenduser value in the xcp_user_id table
admin:run sql select pkid,userid,xcp_user_id from enduser pkid userid xcp_user_id ==================================== =============================================== =========== 6cedd506-629d-44d6-9a17-01cc05fe9a24 Token_User_7180eeb0-2fa3-45ae-8eb9-b1bc96e2ed5c 1001 9ca08a51-00d4-a87f-02b9-b0b8c27c477d kelliher 1002 6718f0f8-3391-02ba-40f1-4f6bde78185f bcooper 1003 b41f1e08-301d-321f-9770-35f88ed53d18 bdailor 1004
If you want the full list, just remove the where statement to get the list of all your users, as above, the user I'm mapping for the custom contact is bdailor.
You can also further tweak the deletion of the rosters table just choosing one use, it would look something like this (you use the xcp_user_id value instead of 1002 in the below query):
run sql select * from rosters where user_id = '1002'
Can I integrate with Skype for Business??
I will add all the most relevant information regarding XMPP federation to S4B at a later date
Can I send a broadcast IM to all users??
No, this is not possible today, there is an enhancement request for this:
- CSCuj04758 Broadcast IM feature
EDIT 2/16/16 This has been added to Jabber 11.5
Broadcast Messages with Rich Text and Emoticons
Allows users to send a single IM to multiple contacts. Users can select multiple contacts or a group of contacts from their contact list and send a broadcast message to all of them at once. Recipients receive broadcast IMs in the same way as normal 1:1 chats. In cloud and hybrid deployments, offline contacts do not receive broadcast IMs. No configuration is required to enable this feature.
Release Notes for Cisco Jabber for Windows 11.5.x
Can I configure HA for the persistent chat feature??
IM&P 11.5 has finally introduced this capability, you can read all about it here: High Availability for Persistent Chat on IM and Presence Service
Is there any reporting for login/logout??
Unfortunately right now there is no such option, there is already an enhancement request for that:
- CSCuv26808 IM&P Reporting for Jabber Login Details
Aman Soi from CSC mentioned he found this two commands:
show perf query counter "Cisco XCP CM" "CmConnectedSockets" show perf list instances "Cisco XCP JSM Session Counters"
I ran those in my test cluster, and this was the output:
admin:show perf query counter "Cisco XCP CM" "CmConnectedSockets" - Perf class Cisco XCP CM(CmConnectedSockets) has values: -> CmConnectedSockets = 1 admin:show perf list instances "Cisco XCP JSM Session Counters" ==>perf class (Cisco XCP JSM Session Counters) has instances: * Instance Name - firstname.lastname@example.org/composed - email@example.com/composed - firstname.lastname@example.org/composed - email@example.com/composed - firstname.lastname@example.org/composed - email@example.com/composed - firstname.lastname@example.org/composed - email@example.com/composed - firstname.lastname@example.org/composed - email@example.com/composed - firstname.lastname@example.org/composed - email@example.com/composed - firstname.lastname@example.org/composed - email@example.com/composed - firstname.lastname@example.org/composed - email@example.com/composed - firstname.lastname@example.org/composed - email@example.com/composed - firstname.lastname@example.org/composed - email@example.com/jabber_2019
My only connected user was firstname.lastname@example.org, which as you can see, instead of composed shows jabber_2019, it's a very simplified report, but it's what the product offers right now.
Can I get a report of the last time my users logged into Jabber??
There is no report natively available for this, however, I found this query from user Paul Tursan that gives you this information, but it's raw data, that still needs processing, as you need to change the data from epoch, to a readable format.
This is an example of this query from my lab:
admin:run sql select e.userid, cd.timelastaccessed from enduser as e, credentialdynamic as cd, credential as cr where e.pkid=cr.fkenduser and e.tkuserprofile=1 and e.primarynodeid is not null and cr.tkcredential=3 and cr.pkid=cd.fkcredential order by cd.timelastaccessed userid timelastaccessed ========= ================ chriswol 1439319859 bautista 1439319862 dhoward 1439319866 fakesson 1439319867 gclose 1439319867 kgillan 1439319868 svalberg 1439319868 maxenrot 1439319869 mmendez 1439319876 mbellamy 1439319877 tsanders 1439319890 zsaldana 1439319891 miguelito 1439605407 cpratt 1439928962 vdiesel 1442965268 bcooper 1456502016 kelliher 1456862851 bdailor 1456862896 bhinds 1457721558
Now, I used bdailor for another question on login/logout reports, and that sounds about right, and user bhinds I used for a test last week, if we look at their epoch time, and use a page like www.epochconverter.com/ to change that, we get:
GMT: Tue, 01 Mar 2016 20:08:16 GMT
Your time zone: 3/1/2016, 2:08:16 PM GMT-6:00
GMT: Fri, 11 Mar 2016 18:39:18 GMT
Your time zone: 3/11/2016, 12:39:18 PM GMT-6:00
Which sounds about right for the two users.
Can I route calls based on the IM&P status??
Not natively, however, there is a 3rd party option which enables this: Are there any 3rd party options to improve / enhance call routing within CUCM??
Can I get the messages in all of my devices, and have them sync across all??
In the past, this was not possible on-prem, the behavior was that if you were logged in more than one device and someone tried to reach you, the initial messages would be sent in "broadcast" to all devices (in order to find you), once you replied, that would be considered the active device and the messages would only be sent from now on to that device, if you then switched to another device, that would be the new active device, but you wouldn't have the conversation history (probably just the initial messages). As of IM&P 11.5, this is no longer the case with Multiple Device Messaging do notice that is does have some client side requirements:
- Jabber has to be 11.7 or higher.
- For MRA, you also require Expressway 8.8 or later.
I have persistent chat, and I lost all my rooms and messages after changing the IM Address scheme??
When you change the IM Address scheme, going for example from email@example.com to Directory URI, this will effectively change all the JID references.
Like going from firstname.lastname@example.org to email@example.com, IM&P will trigger the change for all the internal references and change the contact lists as required.
However, the external DB for persistent chat is a different story, IM&P does not change any of that, the problem is that many of the values used to map the rooms, messages, etc. use the JID. Once you change the JID, they no longer match, and all that data will no longer be visible.
Currently there is no workaround for this, besides creating new rooms.
Anything that changes the JID, will cause this problem.
There is already an enhancement request asking for this:
- CSCuv13723 Persistent chat rooms not accessible after changing presence domain
If I change my JID, and I have external federation, will it update my federated contact automatically??
No, it will not, this is similar to the above question. Once you change the JID (domain, format, use Directory URI, etc.) that only triggers the update from old JID to new JID internally in IM&P, this does not extend to any XMPP federation or external DB.
The federated contacts would need to be made aware of the change.
Can I configure white / black lists for Jabbers from IM&P??
No, unfortunately such feature has to be configured per user.
Can I prevent two users from communicating with each other??
This is usually a scenario in which you don't want someone (a CEO for example) to receive IMs from anyone, but only from certain users.
IM&P does not provide a way in which you can do this, the closest thing would be the white / black list, but this configured at user level, not from IM&P.
This is usually referred to as en ethical wall, and requires the use of a 3rd party compliance system to implement it. The reason for this is that since all the messages go to IM&P and not directly between users, the compliance system would prevent those messages from being delivered.
A couple of options are:
Can I prevent certain words from being sent in messages??
No, IM&P doesn't provide any way to do this filtering. Some 3rd party compliance systems do implement this feature.
Can I prevent a user from finding someone in the directory??
This would only be possible if you use CDI, and you would need to customize the LDAP filters and / or search bases in order to do this. Notice that this would only prevent a user from finding other user in the directory, however, if they happen to know the Jabber ID of such user, they can still add him manually and reach out to him.
If I pre-configure a user list for a user, can I prevent them from modifying it??
No, you cannot. The alternative for this would be to use LDAP groups which the user can only add / remove the whole group, but the members of the group are managed directly in the LDAP server.
How can I determine inter-cluster compatibility??
The rule of thumb is N-2 from your current release, including minor release.
For example when 12.5 is released, it will go back to 10.5.
For 12.0, it goes back to 10.0.
Back to Unified Communications FAQ
Any comments, questions, suggestions, contributions, etc. please send them to firstname.lastname@example.org. Please make sure the subject is formatted "UC FAQ <anything else>" as I'll have rules in my mail to match them, otherwise, they'll end up in my spam folder.