04-28-2017 12:32 PM
Hello all,
This is my first post on DevNet (yay)! Here is my problem, though, it's very possible that I am doing something wrong.
I've written a windows service that starts up and subscribes to a number of nodes related to finesse. My issue is that upon a successful subscription with the following XML:
<iq to='pubsub.POST-CCX-1.post.edu' from='blah@domain.com/593e01aa' id='sub1' type='set'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<subscribe xmlns='http://jabber.org/protocol/pubsub' node='/finesse/api/Team/11/Users' jid='blah@domain.com/593e01aa'/>
</pubsub>
</iq>
when an agent status is changed from "Ready" to "Reserved" to "Not Ready" because the agent doesn't answer an incoming call, I would expect that the reason code of 32763 would be passed along in XML response, it does not. The following XML is what I receive:
<Update>
<data>
<user>
<dialogs>/finesse/api/User/testagent2/Dialogs</dialogs>
<extension>4400</extension>
<firstName>Test</firstName>
<lastName>Agent2</lastName>
<loginId>testagent2</loginId>
<pendingState></pendingState>
<state>NOT_READY</state>
<stateChangeTime>2017-04-28T18:59:00.381Z</stateChangeTime>
<uri>/finesse/api/User/testagent2</uri>
</user>
</data>
<event>PUT</event>
<requestId></requestId>
<source>/finesse/api/User/testagent2</source>
</Update>
Here is the XML that I get back when an agent manually changes their status to "Not Ready - Ticket Work" (this is a custom code (206)):
<Update>
<data>
<user>
<dialogs>/finesse/api/User/testagent2/Dialogs</dialogs>
<extension>4400</extension>
<firstName>Test</firstName>
<lastName>Agent2</lastName>
<loginId>testagent2</loginId>
<pendingState></pendingState>
<reasonCode>
<category>NOT_READY</category>
<code>206</code>
<forAll>false</forAll>
<id>9</id>
<label>Mainline Call</label>
<uri>/finesse/api/ReasonCode/9</uri>
</reasonCode>
<state>NOT_READY</state>
<stateChangeTime>2017-04-28T19:12:33.657Z</stateChangeTime>
<uri>/finesse/api/User/testagent2</uri>
</user>
</data>
<event>PUT</event>
<requestId>7b611f85-b1e2-4207-bd2b-60daa6479532</requestId>
<source>/finesse/api/User/testagent2</source>
</Update>
Any help would be greatly appreciated!
Thanks,
Greg
Solved! Go to Solution.
05-01-2017 09:17 AM
Hi Greg,
The list of possible states are:
See the User—Change Agent State page for more details.
In Finesse 11.5, the system defined reason codes are not listed to be selected, only custom ones are. Therefore, you will not see them in the XMPP notifications.
The feature for system defined reason codes will most likely come in 11.6.
Thanx,
Denise
04-28-2017 02:39 PM
Hi Greg,
I'm glad you decided to join the forum and post your question!
The behavior you describe is by design. If you go from Not Ready (Reason code 1) to ready, the reason code resets back to not being selected. So when the agent goes ring no answer, it will set the agent to Not Ready without a reason code.
If the agent is Not Ready (Reason code 1), receives a direct call and the caller hangs up, the state never changes so will remain as Not Ready (Reason code 1).
Thanx,
Denise
05-01-2017 06:12 AM
Denise,
Thank you for the reply. I just want to make sure I understand.
These are the possible agent states as I understand them (xml element <Update><data><user><state>):
LOGIN
NOT_READY
READY
RESERVED
TALKING
WORK
LOGOUT
I would expect to see the following system defined reason codes per the ccx 11.5 documentation in the <Update><data><user><reasonCode><code> element:
AGT_RELOGIN = 32767
CLOSE_CAD = 32766
CONNECTION_DOWN = 32765
CRS_FAILURE = 32764
AGT_RNA = 32763
AGT_OFFHOOK = 32762
AGT_RCV_NON_ICD = 32761
AGT_LOGON = 32760
PHONE_DOWN = 327659
WORK_TIMER_EXP = 327658
CM_FAILOVER = 327657
PHONE_UP = 327656
CALL_ENDED = 327655
DEVICE_RESTRICTED = 32754
LINE_RESTRICTED = 32753
CANCEL_RESERVATION = 32752
AGENT_SKIPS = 32751
AGT_IPCC_EXT_CHANGED = 32750
CANCEL_FEATURE = 32749
SUP_AGT_TO_NOTREADY = 33
SUP_AGT_TO_LOGOUT = 22
Right now I only care about the two bold reason codes (AGT_RNA and AGT_LOGON) and in the XMPP notification, I don't ever see those codes, I only see the custom reason codes when they are selected by the agent.
As I understand it, the AGT_RNA reason code will be set with a NOT_READY state if the agent (whom was in the READY state) receives an incoming call and doesn't answer it. The AGT_LOGON reason code will be set with a NOT_READY state upon agent logon.
My issue is that the XMPP notification service is NOT providing either of these reason codes even though they are set in the system for the agent in question. The finesse "Agent Team Summary Report" gadget shows the reason code of 32760 and 32763 so the data is certainly obtainable (via CUIC live data?) but I really need it from the XMPP notification.
Are you saying that by design, that data isn't sent out on the XMPP notification channel?
Thanks,
~Greg
05-01-2017 09:17 AM
Hi Greg,
The list of possible states are:
See the User—Change Agent State page for more details.
In Finesse 11.5, the system defined reason codes are not listed to be selected, only custom ones are. Therefore, you will not see them in the XMPP notifications.
The feature for system defined reason codes will most likely come in 11.6.
Thanx,
Denise
05-01-2017 09:57 AM
Thanks a lot, in the meantime, I have a workaround, but I will be very interested if 11.6 adds this functionality.
Is there a place that I can vote this up as a needed additional feature?
Thanks!
05-02-2017 09:15 AM
Hi Greg,
I spoke with the Finesse product owner and he had confirmed that system generated not-ready reason codes will be in 11.6.
Thanx,
Denise
05-02-2017 09:40 AM
Thanks Denise, you are awesome!
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide