Q. After creating the provider and waiting for it to be up and running, I tried calling provider.getTerminals(). But this method returns null.
When I looked at the properties of the provider, I found "canobserveanyterminal" property having 'null' value (that is it is neither true nor false, just null).
Can you please advise what user permission is required to obtain a list of terminals?
A. Devices added to the "Controlled Devices" section of enduser or application user configuration on CUCM admin will be reported in provider.getTerminals(). How many devices did you configure?
I would recommend using JTAPI test tool to eliminate any configuration/ application issues.
Q. My Administrator created another user for JTAPI and I added devices to it which returned successfully via getTerminals.
The other user I was using earlier never showed the "Device Information" section for some reason. I assumed it was able to access all devices as the Roles and Groups clearly showed "control all devices".
I added terminals to "Device Information". After calling provider.getTerminals() I get list of configured devices but sometimes I get null and then again I can get terminals and then I can get only one terminal. Of what does it depend on?
- I write simple program where I connect to CUCM by ip and user.
- I call provider.getTerminals()
- Print list of terminals(sometimes it is null)
- Call provider.shootdown()
Starting this application from console gives me different results.
I can't find information in the documentation and internet why list of terminals disappears.
A. Are you waiting for provider to get into in-service state before calling provider.getTerminals()?
Refer to makecall or jtrace sample app code on how to wait for provider to get to in-service state.