cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1336
Views
0
Helpful
9
Replies

Exension Mobility service unavailable when PUB fails

prakashar
Level 1
Level 1

Hi,

I have a PUB[call processing service is also activated] in SiteA and Call processing servers in SiteB and SiteC. We have created 3 EM services. One for SiteA, another for SiteB and one more for SiteC with repective EM url's having corresponding local Ip's.

For example :

SiteA EM

http://SiteANodeIPAddress/emapp/EMAppServlet?device=#DEVICENAME#

SiteB EM

http://SiteBNodeIPAddress/emapp/EMAppServlet?device=#DEVICENAME#

SiteC EM

http://SiteCNodeIPAddress/emapp/EMAppServlet?device=#DEVICENAME#

So for a SiteC Phone, when a user presses the services button, he will be offered SiteC EM service. When a SiteB Phone presses the services button, he will be offered a SiteB EM service and so on.

Now when I cut down the wan link at SiteC, the SiteC subscriber loses connectivity to SiteA PUB as expected. During this time, when a SiteC user presses the services button on the phone, he does not get the SiteC EM service

Other Configuration Parameters:

*************************************

1. Services provisioning Enterprise parametr is set to "Internal"

2. Common Phone profile Services provisioning parameter is set to "Default"

3. Phone side Service provisioning parameter is set to "Default"

Thanks

Prakash

9 Replies 9

Joseph Martini
Cisco Employee
Cisco Employee

When you press the services button the Enterprise parameter for Services URL is used.  That most likely points to the publisher since there is no internal service (Application:Cisco/*) for the service URL.  To allow this to work look into the EM redunancy document here:

http://www.cisco.com/en/US/products/sw/voicesw/ps556/products_tech_note09186a008097cd93.shtml

Hi Joe,

While I agree with the document that you've shared....here is an extrac from the latest SRND that confuses me if at all I have to do high availability config for the phone services url especially when the services provisioning parameter is set to "Internal"

With Services

Provisioning set to External URL when a user presses the Services button, an HTTP GET message is

sent from the IP Phone to the Unified CM getservicesmenu.jsp script by default (step 1). You can specify

a different script by changing the Phone URL enterprise parameter. The getservicesmenu.jsp script

returns the list of phone service URL locations to which the individual user has subscribed (step 2). The

HTTP response returns this list to the IP Phone (step 3). Any further phone service menu options chosen

by the user continue the HTTP messaging between the user and the web server containing the selected

phone service application (step 4).

Note If the Service Provisioning enterprise parameter is set to Internal, steps 1 through 3 are bypassed and the

operation of phone services begins with step 4.

Internal services provisioning only applies to URLs that look like "Application:Cisco/" such as "Application:Cisco/Directories" for corporate directory.  This format tells the phone to contact the node which the phone is registered to for load balancing/redundancy.  If the services provisioning is set to internal but the URL is in the format http://.... then the phone will contact the server listed in the URL.

Hi Joe,

This explanation seems valid as per the observation that I ve noted from my setup. However, I am failing to find documents that talk about your explanation above.

This is what the SRND says,

"With Services Provisioning set to Internal, the phone will receive its subscribed phone services from the

phone's configuration file and store these (and their corresponding service URLs) in flash. This allows

the phone to access the service URLs directly on a web server without first querying the Cisco

CallManager IP Phone Service. With Services Provisioning set to Internal, the Corporate and Personal

Directories default services also have an extra level of redundancy built into the phones. When these

services are selected, the phone will attempt to send an HTTP message with the proper URL string to

the Unified CM with which it is currently registered. Therefore, the Unified CM Group configuration of

the phone's device pool provides redundancy for these services."

Hosw does the phone service play a role when the services provisioning is set to "Internal". Can you refer me to some url's that help me understand the below point,

" If the services provisioning is set to internal but the URL is in the format http://.... then the phone will contact the server listed in the URL."

Thanks

Prakash

Rob Huffman
Hall of Fame
Hall of Fame

Hi Prakash,

What is your exact CUCM version?

Cheers!

Rob

"Always movin' ahead and never lookin' back" - Springsteen

Hi Rob,

Version is 8.6(2a).

-Prakash

Rob Huffman
Hall of Fame
Hall of Fame

Hi Prakash,

I was just wondering about this bug;

CSCtz50729 - EMApp fails to connect to local EMService due to certificate mismatch

Description

Symptom:
Extension Mobility App  not able to utilize its local Emservice. In the case of a redundant EM  Service deployment if a server or service failure occurs the backup  server may not be able to process EM requests leading to failures.
Conditions:
In the EMApplication logs the following log can be seen indicating problem communicating with local EM Service
2012-04-18  10:44:32,910 ERROR [http-8080-10        ] EMX509TrustManager        -  checkServerTrusted: cmpub.domain.com Certificate not found in the  keystore : the certificate chain is not trusted, Certificate verify  failed!
Comparing the Tomcat.pem certificate's serial number with the  certificate named fqdn-localhost.pem located under tomcat-trust  indicates there is a mismatch. This mismatch condition prevents the  https://localhost communication from EMApp to EMService.
The  Certificate's serial numbers can be compared via CUCM OS Admin GUI ->  Security -> Certificate Management and then finding all the  certificates.
We are interested in comparing the local self signed  Tomcat.pem cert to the one located in tomcat-trust store named as Fully  Qualified domain name of the host where EMApp and EMService is running
The same can be accomplished via Platform CLI using
show cert own tomcat/tomcat.pem
show cert trust tomcat-trust/servername.domain.com.pem
Workaround:
Using  the CUCM OS Admin GUI Certificate Management page, download the  Tomcat.pem certificate and then upload it back to the server under the  the tomcat-trust store, restart Tomcat service and restart the local  "Cisco Extension Mobility Application" Service via Cisco Unified  Serviceability -> Tools -> Control Center - Network Services

Details

First Found in:                          (1)

8.6(2.22029.1)

Status:

Fixed

Last Modified:

Jul 14,2012

Fixed in:                          (4)

9.0(1.98000.3),9.0(1.98000.10),8.6(2.22900.4)

8.6(2.22037.1)

Product:

Cisco Unified Communications Manager (CallManager)

Platform:

Dependent

Severity:

3 - moderate

Cheers!

Rob

"Always movin' ahead and never lookin' back" - Springsteen

Hi Rob,

Thank You for your reply.Will try and check if we have hit this bug.

Meanwhile here is some more information for you.

1. I directly configure the http:// SiteC IP Address:8080/ccmcip/getservicesmenu.jsp on the Phone [Device---Phone page]

2. cut down the wan link.

3. SiteC user presses the services button

4. Am able to see the Site C's EM url

Thanks

Prakash

Hi Prakash,

were you able to get any more info on how to ensure services button is available if the publisher fails?

I see that you program the services URL right on the phone page for the remote site with the IP of local sub, but this doesnt ensures high availability. Ideally you would like to be able to talk to multiple servers (local or remote). Network is one point of failure but it could be server too.

Is the only choice to use Server load balancer like Cisco ACE?

or is there a way to have the services button be programmed to use the server where phone is registered to?

Please let me know if you found a resolution.

Thanks

Toor

Getting Started

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: