cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1770
Views
5
Helpful
6
Replies

System reason code not being passed in jabber/finesse node subscription

gmoore
Level 1
Level 1

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

1 Accepted Solution

Accepted Solutions

dekwan
Cisco Employee
Cisco Employee

Hi Greg,

The list of possible states are:

  • READY
  • NOT_READY
  • LOGOUT
  • RESERVED
  • RESERVED_OUTBOUND
  • RESERVED_OUTBOUND_PREVIEW
  • TALKING
  • HOLD
  • WORK
  • WORK_READY

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


View solution in original post

6 Replies 6

dekwan
Cisco Employee
Cisco Employee

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

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

dekwan
Cisco Employee
Cisco Employee

Hi Greg,

The list of possible states are:

  • READY
  • NOT_READY
  • LOGOUT
  • RESERVED
  • RESERVED_OUTBOUND
  • RESERVED_OUTBOUND_PREVIEW
  • TALKING
  • HOLD
  • WORK
  • WORK_READY

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


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!

dekwan
Cisco Employee
Cisco Employee

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

Thanks Denise, you are awesome!