This document describes how to configure an Extensible Messaging and Presence Protocol (XMPP) Cluster for Cisco Meeting Server (CMS) step by step.
Contributed by Amadeus Ubaldo and Octavio Miralrio, Cisco TAC Engineers.
Cisco recommends that you have knowledge of these topics:
CMS general configuration
Secure Shell (SSH) client
Secure File Transfer Protocol (SFTP) client
Domain Name System (DNS) server
The information in this document is based on these software and hardware versions:
CMS version 2.9.2
Putty (SSH client)
Windows Secure Copy (winSCP) client
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
XMPP cluster configuration.
Step 1. In case any node has previously been configured for XMPP, reset the XMPP configuration on every node, run the next command:
Step 2. Assign the XMPP domain to be used, run the next command:
xmpp domain <domain-name>
Step 3. Setup the interfaces for the XMPP server to listen on, run the next command:
xmpp listen <interface allowed list>
Step 4. Create a new Certificate Signing Request (CSR) for the XMPP service. To avoid client certificate errors, ensure that CSR specifies the next:
The DNS record created for XMPP is contained within the Common Name (CN) field or in the Subject Alternative Name (SAN) field
XMPP server’s domain name contained in the SAN field
Manually combine the certificates with a text editor. Consider there must be no spaces on the certificate’s END CERTIFICATE line and the next BEGIN CERTIFICATE line, but there MUST be a carriage return at the end of the file. They must also be in Base64 encoded format:
Step 10. Upload the new xmpp bundle certificate into every CMS server, use the SFTP of your preference, as shown in the image:
Step 11. On every node, assign the recent uploaded certificate bundle, run the next command:
xmpp cluster trust xmpp-allow-bundle.crt
Step 12. Enable clustering on one of the XMPP cluster nodes, run the next command:
Step 13. Configure the Callbridges intended to connect with the XMPP cluster, run the next command:
xmpp Callbridge add <Callbridge name>
Note: Copy the information displayed since this information is required on further steps. If you did not copy the displayed information, you can see the information generated with the next command: xmpp callbridge list
Step 14. Repeat step 13 in order to add the rest of the Callbridges, as shown in the image:
Step 15. In order to enable the XMPP cluster, the XMPP service must be disabled first, Run the next command:
Step 16. Enable XMPP cluster on this node, run the next command:
xmpp cluster enable
Step 17. Initialize the XMPP cluster on this node. This creates a 1 node XMPP cluster, the rest of the peers are configured on further steps, run the next command:
xmpp cluster initialize
Step 18. Enable the XMPP service, run the next command:
Step 19. Get the IP address of this node, in order to check the IP address, run the next command:
xmpp cluster status
Step 20. In order to add the next nodes to the cluster, Callbridge information must be added to every node first. Follow the Steps 21 to 27 on every node part of the XMPP cluster.
Step 21. Enable XMPP services, run the next command:
Step 22. Add every Callbridge to this node. This requires to add the Callbridge with the same Callbridge name and secret from the first XMPP node, run the next command:
Xmpp Callbridge add-secret <Callbridge name>
Enter Callbridge secret
Step 23. Repeat step 22 for all the Callbridges, as shown in the image:
Step 24. Disable the XMPP service, run the next command:
Step 25. Enable XMPP cluster, run the next command:
xmpp cluster enable
Step 26. Enable XMPP service, run the next command:
Step 27. Join this node to the XMPP server configured on Step 17, run the next command:
xmpp cluster join <xmpp_server_IP>
Add trusted information to Callbridges.
Step 1. Open the Webadmin Interface of the CMS that host Callbridge.
Step 2. Navigate to Configuration > General and enter the next values:
Unique Call Bridge name: Enter the unique callbridge name as configured over Command Line Interface (CLI), no domain portion is required
Domain: Enter the XMPP domain
Server address: This is optional, if this field is left blank, this allows XMPP failover, this requires the DNS records for XMPP component already configured
Shared secret: Enter the secret for the corresponding Callbridge, as shown in the image