Author Message
gclark
Joined: Dec 22, 2016
Messages: 2
Offline
If this has been answered previously...my apologies for not locating on the forum. I am new to using the DMCC APIs.

When an ACD call is answered...How can I determine the agentID that answered the call? I will be passing UCID and UUI information from Avaya Exp Portal/IVR to an ACD skill.

Thank you in advance for your direction.
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Online
IIRC, Call Control events will only show the station that answered the call. They will not show the Agent.

You can find out which Agent is logged in at a particular station using GetPhysicalDeviceInformation. If you are using the .Net SDK, use ServiceProvider.GetPhysicalDeviceInformation() to request the data and receive it in your OnGetPhysicalDeviceInformationResponse callback. I am sure the Java SDK has a similar mechanism.

Martin
gclark
Joined: Dec 22, 2016
Messages: 2
Offline
Thank you so much!!
Narsimha
Joined: Jan 31, 2017
Messages: 15
Offline
In java we can use ch.ecma.csta.capabilityexchange.CapabilityExchangeServices to get AgentId
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Online
According to the Javadocs, CapabilityExchangeServices is not supported.

Martin
Narsimha
Joined: Jan 31, 2017
Messages: 15
Offline
Thanks for quick reply Martin.

My bad, I should have been clear. I am using DMCC 6.2 and the java-docs for that (cmapijava-sdk/docs/api/ch/ecma/csta/capabilityexchange/CapabilityExchangeServices.html) says GetPhysicalDeviceInformationResponse is supported and below is my code to get Agent-ID:

//alertingDeviceId is the device-id for which we need agent-id
GetPhysicalDeviceInformation request = new GetPhysicalDeviceInformation();
request.setDevice(alertingDeviceId);


try {
GetPhysicalDeviceInformationResponse response = cpbtExgServices.getPhysicalDeviceInformation(request);
if(response.getHasLogicalElement())
{
OtherLogicalDeviceList other = response.getOtherLogicalDeviceList();
if(other != null)
{
DeviceID[] deviceIds = other.getDeviceID();
if (deviceIds != null && deviceIds.length > 0) {
System.out.println("Agent-id is" + deviceIds[0]);
}
}
}
} catch (CstaException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

Let me know if there is any other approach to get agent-id
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Online
getPhysicalDeviceInformation is how you should get the Agent logged into a phone. I have not used the Java version myself but I have seen the agent ID in the response on the DMCC Dashboard and I think I also checked this with the .Net version.

Martin
Go to:   
Mobile view