cancel
Showing results for 
Search instead for 
Did you mean: 
cancel

Invoking CTIManager Redundancy: How to now when no CTIManagers are avail?

62
Views
0
Helpful
0
Comments
This document was generated from CDN thread

Created by: James Scott Jr on 19-11-2010 07:08:45 PM
Folks,
 
I want to enable our implementation of JTAPI to use CallManager's and JTAPI's built-in redundancy features.  The JTAPI developers guide lays out the sequence quite clearly; CUCM JTAPI Developers Guide V.0, page 3-24.   However I'm left with two questions.
 
1. After the first successful connection via peer.getProvider(connectionString);.  How can I tell which CTIManager I'm connected to?  connectionString would contain <CTIManager1,CTIManager2;login=...>
 
I need to know, because I'm going to make a couple of AXL calls to get the ip addresses of the phones.  If CTIManager2 is the one JTAPI connected to then I need to know that cause AXL Calls to CTIManager1 are going to fail.
 
2. After JTAPI is connected and has been running for a while, I understand JTAPI will switch to the next available CTIManager should the first one fail; according to the list of CTIManagers I provided in the connectionString or jtapi.ini.   What happens if no CTIManagers are available? i.e. the whole complex failed!  
 
Will I get an EVENT that tells me there are no CTIManagers available?  I know that when I make the initial call to peer.getProvider(connectionString) and there are no CTIManagers available, an Exception will be thrown.  But once I'm up and running and the same condition presents, I can only process events -- what is the name of that event?
 
James,

Subject: RE: Invoking CTIManager Redundancy: How to now when no CTIManagers are avai
Replied by: David Staudt on 19-11-2010 08:17:29 PM
#1 - JTAPI CTI-Manager abstraction is designed to hide all concerns with CTI-Mgr connections from the app.  I don't believe it is possible to determine which CTI Manager is currently hosting the Provider connection.  If you are using device IP addresses for use with the IP Phone XML Services API, note that you can send XML objects to the phone directly via JTAPI with CiscoTerminal.sendData()
 
#2 - When JTAPI detects a CTI-Mgr connection failure, it sends address/terminal out of service events, and then a Provider out of service event.  When a CTI-Mgr connection is successfully re-established, a Provider in service will be sent, followed by address and terminal in service events.

Subject: RE: Invoking CTIManager Redundancy: How to now when no CTIManagers are avai
Replied by: James Scott Jr on 19-11-2010 08:41:31 PM
Thanks for the Info.
 
#2.  Suppose there are no CTIManagers around?  Is there an event that indicates there are no CTIManagers online?  
 
Having gotten the ProviderOutOfService event, how long should I wait for an InService event to show up?   Just wondering if there is an event that advises me that no CTIManagers are available.
 
James,

Subject: RE: Invoking CTIManager Redundancy: How to now when no CTIManagers are avai
Replied by: David Staudt on 19-11-2010 08:57:35 PM
Nope, Provider will just be out of service indefinitely until a connection is established and Provider in service is eventually sent.  Your app is free to implement a time-out on your side in case you want to raise an alert to the user/admin.

Subject: RE: Invoking CTIManager Redundancy: How to now when no CTIManagers are avai
Replied by: David Staudt on 22-11-2010 08:03:13 PM
Additional note, it is possible to limit JTAPI reconnection logic to a specific # of retries:
 
CiscoJTAPIProperties.setProviderOpenRetryAttempts()
allows applications to set the number of times JTAPI will try to
reconnect before giving up. ProvShutDown event will be seen if JTAPI is
unable to connect within the specified number of attempts.