Author Message
SoundaryaN
Joined: Mar 11, 2019
Messages: 4
Offline
Hi team,

Issue:The customer wants to receive agent skill values via the JTAPI into application. But using the method getACDAddress returns ‘null’. However, getAgentID and getState methods work correctly and return correct numbers.

Attached the error screenshot.

AES version : 6.3.3
CM version : 6.2

Any pointers will be helpful.
  • [Thumb - JTAPI.png]
[Disk] Download
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Online
Assuming your system uses Skills-based routing, an agent can be logged into several hunt groups. This means that Agent.getACDAddress() is meaningless (as it can only hold one skill) and so JTAPI returns null.

In order to find out what skills an agent has, you can use the System Management Service (SMS) api that is provided by the AE Services. This will allow you to query the configuration of the Agent on Communication Manager. The data returned should contain all the skills assigned to the agent.

Martin
SoundaryaN
Joined: Mar 11, 2019
Messages: 4
Offline
Hi Martin,

Thank for the solution, but is there any document on this for sharing with customer?

Regards,
Soundarya N
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Online
I don't think I have seen this explicitly documented anywhere.
SoundaryaN
Joined: Mar 11, 2019
Messages: 4
Offline
Hi Martin,

What if the agent has only one skill?

Regards
Soundarya N
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Online
That does not matter. In fact, I took a look at the TSAPI Programmers Reference and found that there is no way for an application to ask Communication Manager for this information.

As far as I can see, the only time that Agent.getACDAddress() will return a value is if the Agent object was returned to the application using ACDAddress.getLoggedOnAgents(). In this case, the JTAPI client knows the ACD address and so is able to fill it in when creating the Agent object.

Martin
SoundaryaN
Joined: Mar 11, 2019
Messages: 4
Offline
Hi Martin,

I have tried to to see information regarding the getACDaddresses in both TSAPI and JTAPI programmers guide but couldnt find any.
Could you please help? All I could find is below info on getACDaddresses

"AE Services optionally enforces an authorization policy as specified in the Security Database (SDB)
to ensure that only authorized users can monitor and control a given device.
The SDB allows an administrator to give a user restricted access by allowing control of a specific
device or list of devices. An administrator can also allow a user to monitor/control any device by
granting them "Unrestricted Access". However in the latter case, any provider API invoked to
obtain a list of addresses will fail. For eg. CallCenterProvider.getACDAddresses() will fail. For any
such API, the application should use a CTI user having restricted access. "

Regards,
Soundarya N
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Online
The security database on AE Services allows the administrator to control which devices can be accessed by a particular CTI user. This means that is is possible for one application to control/monitor one set of devices while another can control/monitor a different set.

getACDaddresses returns the ACD addresses to which your CTI user has access. If the SDB is disabled or your CTI user has unrestricted access, there will not be any entries for it in the SDB.

You can get more information on the SDB in the AE Services Administration guide.

Martin
Go to:   
Mobile view