cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
946
Views
10
Helpful
2
Replies

"Enable CTI Super Provider" question

6rmisior
Level 1
Level 1

Hello,

I have a question about "Enable CTI Super Provider" on CCM 4.1.x

I have an JTAPI application that requires control over all phones in the cluster. When I create a user account that this application will use to connect to CCM, do I have to associate all of the devices in the cluster to this account or should "Enable CTI Super Provider" check box be enough to allow this user to control all phones?

Thanks.

2 Replies 2

aaronw.ca
Level 5
Level 5

Yes, when a user is defined with the super-provider flag, that user has access to all phones.

Note that there are some differences when connecting as a super-provider. First, you can't enumerate through the terminals - you need to know the device name and use createTerminal() rather than getTerminal(). Cisco says this is to be less resource-intensive when using super-providers.

Your code can detect if you're connected as super-provider with something like the following:

// detect connection type (super-provider or regular)

boolean superProvider;

CiscoProviderCapabilities provCap = (CiscoProviderCapabilities)provider.getCapabilities();

if (provCap != null && provCap.canObserveAnyTerminal() == true) {

superProvider = true;

} else {

superProvider = false;

}

// Now that you know your connection type, use one

// of two methods to get the terminal (assuming deviceName holds the name of the device)

String deviceName = "SEP00304502ECDE";

CiscoTerminal targetTerminal;

if (superProvider) {

targetTerminal = provider.createTerminal(deviceName);

} else {

targetTerminal = (CiscoTerminal) provider.getTerminal(deviceName);

}

So the super-provider functionality is quite useful, but there are some things to watch out for.

Note that createTerminal is provided by CiscoProvider, and the above code assumes that the provider variable is of type CiscoProvider.

cool information, thanks.

I still have a question, what about if you want to retrieve an address...I could not find something like CiscoProvider.createAddress(). Do we have to stick to createTerminal? thanks!

cheers,

alej