Zylinc Cloud can integrate with a Cisco Unified Call Manager (CUCM) installed on-premise within your network. This is done by installing a small Windows service on a server that has network access to your CUCM.
Once set up, the service subscribes to presence updates for your chosen users and forwards them to Zylinc Cloud over an encrypted connection, so real-time presence is available in your Zylinc solution.
Setting this up involves three parts: preparing your server, configuring the integration in Zylinc Cloud Configuration Manager, and creating a SIP trunk in your CUCM. This guide walks you through all three.
Requirements
Before you begin, make sure the following is in place:
- A Windows server with network access to your CUCM
- .NET 10.0 runtime installed on that server – you can download it from the official .NET download page
Firewall
The server running the Windows service needs an outgoing connection allowed to:
rabbitmq.zylinc.cloud : 5671
Whitelisting with Zylinc
Zylinc needs to know the public IP address of the server where you install the Windows service, so it can be allowed through the Zylinc Cloud firewall. Please share this with Zylinc – ideally some days in advance – so it can be whitelisted before you complete setup.
How to set it up
Follow this step by step guide to congifure:
Step 1: Configure SIP Presence in Zylinc Cloud
In Zylinc Cloud Configuration Manager, go to the Presence category and open the SIP presence configuration page. Here you define the settings for the integration:
- Enable: turns all communication with the CUCM on or off.
- Filter users on tags: define tags to limit which users presence is requested for. You can leave this empty to subscribe for all users, but we strongly recommend applying a filter to avoid unnecessarily high load on your CUCM.
- Address of SIP server (IP or hostname): the local IP address or hostname of your CUCM.
- Port for SIP server: the SIP port used by your CUCM.
- Local port to bind socket on: the port the Zylinc service should bind to. Use the same value you configure for the SIP trunk in CUCM later, or set it to zero for a random port if supported.
- Enable SIP logging: logs SIP communication for troubleshooting. Only enable this if asked to by Zylinc support.
Step 2: Install the Zylinc Windows Service
Download the latest installer (.msi) from the path shown on the configuration page above, and install it on your Windows server. By default it installs to:
| C:\Program Files\Zylinc\SipPresenceProviderOnPrem |
Next, open the appsettings.json file, located in:
| C:\ProgramData\Zylinc\SipPresenceProviderOnPrem\[version]\SipPresenceProviderOnPrem |
Fill in the following fields with the connection details Zylinc provides you:
- GlobalRabbitMq:ConnectionString – the connection string (address with credentials) to Zylinc's Global Message Bus, provided by Zylinc.
- GlobalRabbitMq:EnableSSL – set to true.
- GlobalRabbitMq:SslServer – set to rabbitmq.zylinc.cloud.
All other settings can be left as they are.
Example appsettings.json:
|
{ // Connection settings to Global RabbitMQ "GlobalRabbitMq": { "ConnectionString": "amqp://username:password@rabbitmq.zylinc.cloud:5671/virtual-host", "EnableSsl": true, "SslServer": "rabbitmq.zylinc.cloud" },
// Console logging settings "ConsoleLogging": { "LogLevel": "Trace" },
// Settings for sending SIP requests in batches "BatchSettings": { "MessagesPerBatch": 30, "BatchPauseInSeconds": 10 } } |
When you update the service to a new version, remember to copy this file into the new version's folder.
Step 3: Configure the SIP Trunk in CUCM
Your CUCM must be configured to allow SIP communication from the installed Windows service, using a point-to-point SIP trunk. The service does not use a username or password for this – access is controlled entirely through the trunk configuration and your network/firewall setup.
3.1 Create a SIP Trunk Security Profile
In the CUCM administration portal, create a new SIP Trunk Security Profile that allows retrieving presence information.
Give the profile a name and description, and make sure the “Accept presence subscription” checkbox is checked.
3.2 Create the SIP Trunk
Go to Device → Trunk, and create a new trunk using the settings shown below, then click Next.
Give the SIP trunk a name and description, and choose your desired Device Pool, Media Resource Group, and Location.
In the SIP Information / Destination / Destination Address field, enter the local IP address (not a hostname) of the server running the Windows service. In Destination Port, enter the same local port you configured in Zylinc Configuration Manager in Step 1. For SIP Trunk Security Profile, select the profile you created above.
Once this is done, the installed service will be able to subscribe to presence changes for the users you've configured, and presence will appear in your Zylinc solution.
Good to know
- Presence relies on a stable SIP connection to your CUCM – network issues on either side will affect status updates.
- We recommend filtering users via tags rather than subscribing to everyone, to keep load on your CUCM low.
- SIP logging should only be turned on temporarily, and only when troubleshooting with Zylinc support.
- SIP presence is used for real-time status display only – it is not stored for historical reporting.
INTERNAL?
- Ask JJP to define a new virtual host in global rabbit queue (1 day in advance) and provide a connection string for this. You must give JJP at least one day's notice for completing this task.
- The connection string will be added to customer's yml file as an environment variable, which will trigger a restart of the external presence module. Once the external presence has been restartet, the configuration menu will be visible in the configuration manager.
- Ask customer to follow the guide to install the needed local windows service, configure their Cisco server and open their firewall for communication with Cloud - as described in the guide.
- The connection string created by JJP must be added to the appsettings.json file located in the directory where the local service is installed - also described in the guide.
- Zylinc must know the public IP of the local windows service so the Zylinc firewall can be opened for the customer. Again, please give one day's notice about this if possible.