
The ILS - Intercluster Lookup Service feature enables different CUCM Cluster to exchange directory URI with other clusters in an ILS network. URI Replication provides support for intercluster URI dialing. ILS runs as a service on the Publisher node of a cluster.
We can call ILS - Intercluster Lookup Service as Voice Routing Protocol because it behaves like dynamic routing protocol. Just like advertising the local route from one router to another, ILS will advertise the URIs between different CUCM cluster.
Each CUCM cluster node advertises its URIs and “SIP route string” to its neighbor’s (or Hubs). CUCM cluster later creates a table with URIs and associated SIP route string. Finally, SIP route strings are routed through SIP route patterns.
1. ILS Configuration using Password Authentication
2. ILS Configuration using TLS Certificate Authentication
3. ILS Configuration using TLS Certificate Authentication - Common CA Signed
There are two types of clusters in ILS.
Hub Cluster:
Spoke Cluster
In this document, we are going to see the step by step configurations for ILS - Intercluster Lookup Service with password authentication as well as TLS (Certificate) authentication.
Topology
I have 2 CUCM clusters here in the ILS network.
Let's have a look at the configuration window.
Go to Service Ability > Tools > Service Activation > Select 'Intercluster Lookup Service' and save.
Cluster ID is a unique identifier for the cluster.
Go to CUCM Administration Page > System > Enterprise Parameter > Cluster ID
Note: Make sure you configure unique cluster ID for all the nodes in the ILS network.Moreover, we need to restart all services for the parameter change to take effect.
I'm planning 10.102.79.71 as my ILS HUB Cluster.
Go to Advanced Features > ILS Configuration > and configure as follows.
> Save
Route String: This will be a unique string that will be advertised to the other clusters. Other ILS peers use Route String to route the call.
Above configuration uses 'Password' based ILS authentication and synchronize the clusters every 1 minute.
Note: When you configure the Advertise Route String, make sure it is less complex. Sometimes the URI Call fails if we have more "-" and "Letters" in the Route String. Bug: CSCtz63687
The moment you click Save, it will ask for ILS Registrar Server. Since I do not have any other HUB cluster, we can leave blank and click OK
10.106.79.83 is our SPOKE cluster.
Go to Advanced Features > ILS Configuration > and configure as follows.
When you click Save, enter the Registrar server as the HUB cluster 10.106.79.71.
Now refresh the ILS configuration to see the updated status.
Go to User Management > End User > and select the user you want to enable URI.
For LDAP user, make sure the URI is synced from LDAP server. For the local users, you can set a URI as shown below.
Now go to the Controlled Devices section in the same page and assign the user's desk phone as the controlled device. Also, configure the primary extension.
Note: Primary extension maps the URI with the Directory number, hence it is mandatory to configure primary extension on the user page. Also, note that all the URIs will be in the 'Directory URI' partition by default.
Now go ahead and check the Directory number (e.g. 1002), you will be able to see the URI field.
Similarly, you configure another URI for a test user in another cluster.
Go to Call Routing > Global Dial Plan Replication > Learned Directory URIs
Note: Any of the URI learned via ILS will be having 2 unique values. One is the Route String and another one is Cluster ID. Route String is used to route the call back to the respective cluster via a separate SIP trunk.
ILS will only take care of advertising the URIs between clusters. They do not participate in call routing. For dialing the URI from one cluster to another, we need to have a separate SIP trunk.
Note: By default, all the URIs will be assigned with 'Directory URI' partition. Hence you must have a CSS with Directory URI partition that is assigned as Inbound CSS at the SIP Trunks.
Go to Call Routing > SIP Route Pattern > Add New and Point the SIP Trunk.
Warning: The above method is the simplest way of getting the ILS up and running. In order to read further on this article (other ways of configuring ILS), you need to have a better understanding of CUCM Certificates and Multi SAN Certificates
Security > Certificate Management > and the search for 'Tomcat'
Note: In my example, I have a CA-signed Certificate, but the procedure is pretty same for Self Signed certificate as well.
Login to SPOKE cluster publisher OS Administration > Security > Certificate Management > Upload Certificate/Certificate chain.
Note: The system will tell you to restart Cisco Tomcat Service but it is actually not required! :)
Follow the same process and get the certificate from Spoke cluster and upload to HUB as Tomcat Trust.
Go to Advanced Features > ILS Configuration > and configure as follows.
Note: When we click Save on the HUB, it will ask for the registrar server, please Skip that. But when you click Save on the SPOKE, please provide HUB IP address to the registrar server.
Note: In CUCM Version 10.5, you can either select Password Authentication or TLS Authentication but not both. Whereas in CUCM Version 11.5, we can select both.
Summary:
There are different methods to check the Tomcat certificate. The easiest way would be opening the HUB CUCM-PUB URL on Internet Explorer and click the Security Report lock button > View Certificate.
Go to the Details tab and click Copy to File....
Click Next from the Certificate export wizard window.
Select DER encoded binary X.509 (.CER)
Enter the directory path to Save the CUCM certificate and proceed.
Click Finish button to complete the certificate download process. You will be getting Export Successful message.
Repeat the same steps for downloading SPOKE CUCM-PUB tomcat certificate.
Once you have the HUB and SPOKE certificates downloaded, open those in side by side and compare the following. We have to perform a number of checks.
Check 1: Issued by
Go to the General tab of the Certificate and check the 'Issues by' field. This should be same in the HUB and SPOKE certificates. For this example, the certificate is issued by 'UCCOLLAB-CA'
Check 2: Enhanced Key Usage
Go to the Details tab of the certificate and check the 'Enhanced Key Usage' field. There should be 'Server Authentication' and 'Client Authentication'
Check 3: Certification Path
Go to 'Certification Path' and check the hierarchy. It should be similar on HUB and SPOKE.
Note: if there is an intermediate CA, you can see that is on the path. Make sure both HUB and SPOKE follows same certification path.
Check 4: Server name and Common Name of HUB
Login to the HUB cluster Publisher CLI and check the Common name of the Publisher using 'show network cluster' command.
Check 5: Server name and Common Name of SPOKE
Login to the SPOKE cluster Publisher CLI and check the Common name of the Publisher using 'show network cluster' command.
Note: I do not have DSN server configured for SPOKE cluster. Hence we have only the hostname in the 'show network cluster' and in the 'Certificate'. If I would have configured DNS, this could have been an FQDN (refer the HUB certificate where I have DNS configured).
Go to Advanced Features > ILS Configuration > and establish the ILS connection between HUB and SPOKE using password authentication method (already explained in Step 1.3, Step 1.4)
Once we have the ILS connection established, the Peer-vector table will populate automatically. Log in to the CLI of each publisher and issue 'utils ils showpeerinfo'. Make sure you have all the ILS peers in the output.
Check 6: Peer-vector Vs Common Name
Go to HUB cluster Publisher CLI and issue this command 'utils ils showpeerinfo' and check the 'Clustername' of SPOKE. This should match the Subject CN of SOPKE's certificate.
Go to SPOKE cluster Publisher CLI and issue this command 'utils ils showpeerinfo' and check the 'Clustername' of HUB. This should match the Subject CN of HUB's certificate.
Once the peer-vector table is updated, we can remove the password authentication and use TLS authentication only.
Go to Advanced Features > ILS Configuration > Change the authentication back to 'Use TLS Certificate'
Note: Any time if the ILS connection is broken and if you want to re-establish, we need to do the same process again (first password and then TLS)
Comments to the Readers:
We have successfully done all possible ways of configuring ILS. If you are able to follow all the process explained above, there won't be any issues while configuring and troubleshooting ILS. I will be publishing a detailed ILS troubleshooting (with ILS traces and logs) article soon. Please rate this article if helped. Feel free to ask doubts.
Few of my other Support forum Documents:
You may also interested to take a look at my other articles in the support forum.
Regards,
Abdul Jaseem
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: