Author Message
PaulRinghof
Joined: Oct 7, 2008
Messages: 45
Offline
We are working with the .NET DMCC API and the BDE simulator. Our application successfully performs the StartApplicationSession, GetDeviceId, and RegisterTerminal. But when we then attempt to logon the agent with the SetAgentState API, we are getting an invalidDeviceID error. Our client implementation is actually a restart of a previous development effort for a customer that cancelled out of the contract at that time. The point being that this portion of the code used to function properly, so we are at a loss as to what might be wrong (configuration or otherwise). We do have a new installation of the BDE.

Our response documents:
StartApplicationSession:
<?xml version="1.0" encoding="UTF-8"?><StartApplicationSessionPosResponse xmlns="http://www.ecma-international.org/standards/ecma-354/appl_session"><sessionID>65C3B3FC3C8DAE6A72F05EB98D4026C1-17</sessionID><actualProtocolVersion>http://www.ecma-international.org/standards/ecma-323/csta/ed3/priv5</actualProtocolVersion><actualSessionDuration>180</actualSessionDuration></StartApplicationSessionPosResponse>

GetDeviceId:
GetDeviceIdResponseArgs.getUserState = Soleo.AgentPlatform.Plugins.Avaya.Source.Servers.AsyncRequest.DeviceAPI.DeviceGetDeviceID
GetDeviceIdResponseArgs.getError =
GetDeviceIdResponseArgs.Device.Phone.getMediaMode = UNDEFINED
GetDeviceIdResponseArgs.Device.Phone.getRegistered = False
GetDeviceIdResponseArgs.Device.Phone.getDevice = Avaya.ApplicationEnablement.DMCC.Device
GetDeviceIdResponseArgs.Device.Phone.getMedia = Avaya.ApplicationEnablement.DMCC.Media
GetDeviceIdResponseArgs.Device.getExtension = 40001
GetDeviceIdResponseArgs.Device.getDeviceIdAsString = 40001:cmsim:0.0.0.0:0
GetDeviceIdResponseArgs.Device.ServiceProvider.LicenseResult =
GetDeviceIdResponseArgs.Device.ServiceProvider.getActualProtocolVersion = http://www.ecma-international.org/standards/ecma-323/csta/ed3/priv5
GetDeviceIdResponseArgs.Device.ServiceProvider.getSessionId = 65C3B3FC3C8DAE6A72F05EB98D4026C1-17
GetDeviceIdResponseArgs.Device.ServiceProvider.getXmlProcessor = Avaya.ApplicationEnablement.DMCC.XmlProcessor
GetDeviceIdResponseArgs.Device.ServiceProvider.GetCallInformationLink = Avaya.ApplicationEnablement.DMCC.CallInformationLink
GetDeviceIdResponseArgs.Device.ServiceProvider.getThirdPartyCallController = Avaya.ApplicationEnablement.DMCC.ThirdPartyCallController
GetDeviceIdResponseArgs.getInvokeId = 2

RegisterTerminal:
RegisterTerminalResponseArgs.getSignallingEncryption = challenge
RegisterTerminalResponseArgs.getCode = 1
RegisterTerminalResponseArgs.getReason = <null>
RegisterTerminalResponseArgs.getUserState = Soleo.AgentPlatform.Plugins.Avaya.Source.Servers.AsyncRequest.PhoneAPI.PhoneRegisterTerminal
RegisterTerminalResponseArgs.getError =
RegisterTerminalResponseArgs.getInvokeId = 5
RegisterTerminalResponseArgs.Phone.getMediaMode = NONE
RegisterTerminalResponseArgs.Phone.getRegistered = True
RegisterTerminalResponseArgs.Phone.Device.getPhone = Avaya.ApplicationEnablement.DMCC.Phone
RegisterTerminalResponseArgs.Phone.Device.getExtension = 40001
RegisterTerminalResponseArgs.Phone.Device.getDeviceIdAsString = 40001:cmsim:0.0.0.0:0
RegisterTerminalResponseArgs.Phone.Device.ServiceProvider.LicenseResult =
RegisterTerminalResponseArgs.Phone.Device.ServiceProvider.getActualProtocolVersion = http://www.ecma-international.org/standards/ecma-323/csta/ed3/priv5
RegisterTerminalResponseArgs.Phone.Device.ServiceProvider.getSessionId = 65C3B3FC3C8DAE6A72F05EB98D4026C1-17
RegisterTerminalResponseArgs.Phone.Device.ServiceProvider.getXmlProcessor = Avaya.ApplicationEnablement.DMCC.XmlProcessor
RegisterTerminalResponseArgs.Phone.Device.ServiceProvider.GetCallInformationLink = Avaya.ApplicationEnablement.DMCC.CallInformationLink
RegisterTerminalResponseArgs.Phone.Device.ServiceProvider.getThirdPartyCallController = Avaya.ApplicationEnablement.DMCC.ThirdPartyCallController
RegisterTerminalResponseArgs.Phone.getMedia = Avaya.ApplicationEnablement.DMCC.Media

SetAgentState sent:
2014-04-10 14:07:13.4108 | 22 | TRACE | Plugins.Avaya.InteractionModel.AvayaDn.MoveNext | LoginId: paul
2014-04-10 14:07:13.4264 | 22 | TRACE | Plugins.Avaya.Servers.RequestTelephony.MoveNext | Device: 40001:cmsim:0.0.0.0:0; RequestedAgentState: AM_LOG_IN; WorkMode: ManualIn; AgentId: paul; Group: 1; ReasonCode: 0; EnablePending: False

SetAgentState received:
<?xml version="1.0" encoding="UTF-8"?><CSTAErrorCode xmlns="http://www.ecma-international.org/standards/ecma-323/csta/ed3"><operation>invalidDeviceID</operation></CSTAErrorCode>
JohnBiggs
Joined: Jun 20, 2005
Messages: 1139
Location: Rural, Virginia
Offline
Posting the actual XML you are transmitting/the AE Services server is receiving is more helpful than the basic prints from the logs they are incomplete in the face of questions like this one.

Enabling TSAPI tracing and looking at the g3trace*trace.out file will help shed more light on what is occuring.
Enabling FINEST tracing (see information about enabling XML logging in the DMCC FAQs) will also provide more context information on what the problem is.

Given what you have said, your XML for set agent state should look like this (does it?):

<?xml version="1.0" encoding="utf-8"?>
<SetAgentState xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.ecma-international.org/standards/ecma-323/csta/ed3">
<device typeOfNumber="other" mediaClass="notKnown">40001:cmsim:0.0.0.0:0</device>
<requestedAgentState>loggedOn</requestedAgentState>
<agentID>50001</agentID>
<password></password>
<extensions>
<privateData>
<private>
<SetAgentStatePrivateData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.avaya.com/csta">
<workMode>autoIn</workMode>
</SetAgentStatePrivateData>
</private>
</privateData>
</extensions>
</SetAgentState>
PaulRinghof
Joined: Oct 7, 2008
Messages: 45
Offline
Hi John, thank you for the quick response. I added the DMCC.config file logging as you suggested. I am attaching the log file, but (I think) the SetAgentState XML looks looks similar to what you showed (see below). I see you have an agentID of 50001 whereas I just used "avaya". Do I need to create agent IDs? If so, can you point me towards some instructions?

2014-04-11 17:32:35,279 [12] INFO XML [(null)] <(null)> - internalInjectXml - before sendRequest lock acquire :
Thread Name:
XML Request: <?xml version="1.0" encoding="utf-8"?>
<SetAgentState xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.ecma-international.org/standards/ecma-323/csta/ed3">
<device typeOfNumber="other" mediaClass="notKnown">40001:cmsim:0.0.0.0:0</device>
<requestedAgentState>loggedOn</requestedAgentState>
<agentID>avaya</agentID>
<password></password>
<group typeOfNumber="other" mediaClass="notKnown">1</group>
<extensions>
<privateData>
<private>
<SetAgentStatePrivateData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.avaya.com/csta">
<workMode>manualIn</workMode>
</SetAgentStatePrivateData>
</private>
</privateData>
</extensions>
</SetAgentState>
2014-04-11 17:32:35,279 [12] INFO XML [(null)] <(null)> - internalInjectXml - before sendRequest lock acquire :
Thread Name:
XML Request: <?xml version="1.0" encoding="utf-8"?>
<SetAgentState xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.ecma-international.org/standards/ecma-323/csta/ed3">
<device typeOfNumber="other" mediaClass="notKnown">40001:cmsim:0.0.0.0:0</device>
<requestedAgentState>loggedOn</requestedAgentState>
<agentID>avaya</agentID>
<password></password>
<group typeOfNumber="other" mediaClass="notKnown">1</group>
<extensions>
<privateData>
<private>
<SetAgentStatePrivateData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.avaya.com/csta">
<workMode>manualIn</workMode>
</SetAgentStatePrivateData>
</private>
</privateData>
</extensions>
</SetAgentState>
2014-04-11 17:32:35,290 [12] INFO XML [(null)] <(null)> - Outgoing XML: Invoke Id: 7 Device Id:
XML: <?xml version="1.0" encoding="utf-8"?>
<SetAgentState xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.ecma-international.org/standards/ecma-323/csta/ed3">
<device typeOfNumber="other" mediaClass="notKnown">40001:cmsim:0.0.0.0:0</device>
<requestedAgentState>loggedOn</requestedAgentState>
<agentID>avaya</agentID>
<password></password>
<group typeOfNumber="other" mediaClass="notKnown">1</group>
<extensions>
<privateData>
<private>
<SetAgentStatePrivateData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.avaya.com/csta">
<workMode>manualIn</workMode>
</SetAgentStatePrivateData>
</private>
</privateData>
</extensions>
</SetAgentState>
2014-04-11 17:32:35,290 [12] INFO XML [(null)] <(null)> - Outgoing XML: Invoke Id: 7 Device Id:
XML: <?xml version="1.0" encoding="utf-8"?>
<SetAgentState xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.ecma-international.org/standards/ecma-323/csta/ed3">
<device typeOfNumber="other" mediaClass="notKnown">40001:cmsim:0.0.0.0:0</device>
<requestedAgentState>loggedOn</requestedAgentState>
<agentID>avaya</agentID>
<password></password>
<group typeOfNumber="other" mediaClass="notKnown">1</group>
<extensions>
<privateData>
<private>
<SetAgentStatePrivateData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.avaya.com/csta">
<workMode>manualIn</workMode>
</SetAgentStatePrivateData>
</private>
</privateData>
</extensions>
</SetAgentState>
2014-04-11 17:32:35,535 [11] INFO XML [(null)] <(null)> - Incoming XML Message. Device Id:
XML Message: <?xml version="1.0" encoding="UTF-8"?>
<CSTAErrorCode xmlns="http://www.ecma-international.org/standards/ecma-323/csta/ed3"><operation>invalidDeviceID</operation></CSTAErrorCode>
2014-04-11 17:32:35,535 [11] INFO XML [(null)] <(null)> - Incoming XML Message. Device Id:
XML Message: <?xml version="1.0" encoding="UTF-8"?>
<CSTAErrorCode xmlns="http://www.ecma-international.org/standards/ecma-323/csta/ed3"><operation>invalidDeviceID</operation></CSTAErrorCode>
Filename rolling-log.txt [Disk] Download
JohnBiggs
Joined: Jun 20, 2005
Messages: 1139
Location: Rural, Virginia
Offline
Indeed the problem is your choice of the agentID

Yours
<agentID>avaya</agentID>

AgentIDs are strictly digits. The SAT command 'list agent' will show you the provisioned ones. On BDE, they are 50001 - 50200 and then there are more that are 6 digits, and 7 digits long for testing purposes.

This will look nicer if you cut and paste it into something that does constant width fonts (e.g. notepad)

list agent-loginID Page 1
AGENT LOGINID
Login ID Name Extension Dir Agt AAS/AUD COR Ag Pr SO
Skil/Lv Skil/Lv Skil/Lv Skil/Lv Skil/Lv Skil/Lv Skil/Lv Skil/Lv

50001 Agent 50001 unstaffed 1 1 lvl
1/02 41/01 / / / / / /
50002 unstaffed 1 1 lvl
1/02 41/01 / / / / / /
50003 unstaffed 1 1 lvl
1/02 41/01 / / / / / /
50004 unstaffed 1 1 lvl
1/02 41/01 / / / / / /
50005 unstaffed 1 1 lvl
1/02 41/01 / / / / / /
50006 unstaffed 1 1 lvl
1/02 41/01 / / / / / /
50007 unstaffed 1 1 lvl
1/02 41/01 / / / / / /
50008 unstaffed 1 1 lvl
1/02 41/01 / / / / / /

PaulRinghof
Joined: Oct 7, 2008
Messages: 45
Offline
Thanks, John. I switched to using 50001 as the AgentID and was able to get past the SetAgentState command!] Making progress!! Is the SAT command accessible through the AES Browser interface? You said that AgentIDs are strictly digits so it sounds like a typical Windows User Name could not double for an Agent ID?
JohnBiggs
Joined: Jun 20, 2005
Messages: 1139
Location: Rural, Virginia
Offline
As I recall there is a section in the BDE installation guide (should have been emailed to you when you procured BDE) that covers how to access Communication Manager SAT...

http://www.devconnectprogram.com/fileMedia/download/5c5a2447-dabd-4c5a-a2a0-3100d431a71d

Search the document for "SAT" you will find basic instructions, but if you are not familiar with provisioning Communication Manager the methodology / structure of configuring Communication Manager will take some time to get familiar with. You can search www.avaya.com/support for documentation on Communication Manager. There is quite a bit of Communication Manager Administration documentation, you should start there.

PaulRinghof
Joined: Oct 7, 2008
Messages: 45
Offline
Thanks, John. You've been a great help!
Go to:   
Mobile view