PureConnect

 View Only

Discussion Thread View
Expand all | Collapse all

Further callback ado... how to associate a system placed call with a callback?

  • 1.  Further callback ado... how to associate a system placed call with a callback?

    Posted 10-12-2017 20:16
    So as of now I have a handler that checks whether a callback has been accepted by an agent, and if so makes a PlaceCall on the agent's behalf in order to bypass the agent having to click the call button in the Desktop Callback controls. (the callback is generated by the caller in and IVR requesting a call back instead of waiting on hold) However, I still need to associate the call with the callback in order to have it properly represented in the system. How are callback calls associated with the callback itself? I assumed it would be some kind of interaction attribute, but I'm not seeing anything obvious so either I'm blind to it or there's something else I'm unaware of ... [puppy dog eyes]


  • 2.  RE: Further callback ado... how to associate a system placed call with a callback?

    Posted 10-12-2017 20:26
    Here's a blog post that I wrote not too long ago that addresses this question: http://cpi.solutions/2017/enhanced-callback-reporting-in-genesys-pureconnectcic/ The problem I ran into is that to link the original call, the callback request, and the outbound call together requires the call ID key - not just the call ID. The base attributes that Genesys uses only include the simple call ID which doesn't allow unique matches to the other interactions. My solution was to write an attribute on the callback request with the call ID key of the inbound call as the request enters the queue (CustomAcdInitiateProcessin), and then modify CustomCallDisconnect and handle the disconnect event for the callback request object and grab the call ID key of the outbound call. In both cases, I used the simple call ID to look a the call object (if still allocated in the system) and grab its call ID key. The main problem is that if the agent fails to click the Complete or Failed buttons on the callback request object immediately after completing the outbound call, then the outbound call will have already been deallocated.


  • 3.  RE: Further callback ado... how to associate a system placed call with a callback?

    Posted 10-13-2017 17:11
    Originally posted by dcurrier;36007
    Here's a blog post that I wrote not too long ago that addresses this question: http://cpi.solutions/2017/enhanced-callback-reporting-in-genesys-pureconnectcic/ The problem I ran into is that to link the original call, the callback request, and the outbound call together requires the call ID key - not just the call ID. The base attributes that Genesys uses only include the simple call ID which doesn't allow unique matches to the other interactions. My solution was to write an attribute on the callback request with the call ID key of the inbound call as the request enters the queue (CustomAcdInitiateProcessin), and then modify CustomCallDisconnect and handle the disconnect event for the callback request object and grab the call ID key of the outbound call. In both cases, I used the simple call ID to look a the call object (if still allocated in the system) and grab its call ID key. The main problem is that if the agent fails to click the Complete or Failed buttons on the callback request object immediately after completing the outbound call, then the outbound call will have already been deallocated.
    Thanks David! We've actually got that aspect handled in a very similar way already. I think I didn't get my point across clearly: in Desktop, the callback comes in and we make the outbound call on behalf of the agent in CustomPostACDAlertInteraction. However, this forced call (a) doesn't appear as a child item of the Callback in the Desktop interactions pane and (b) doesn't trigger the Desktop callback tool to enable the disabled buttons so that the agent can otherwise handle that callback thru the system as normal. What I'm looking for is how to associate that forced PlaceCall with the Callback as if the agent had used the Desktop callback tool by clicking the "Pickup" button. [ATTACH]886[/ATTACH] I was hoping that there were call attributes I might use for that such as Eic_CallbackAssociatedCallId, but some experimenting has yielded bupkiss so far alas - hence my desperate cry here on the forum :)


  • 4.  RE: Further callback ado... how to associate a system placed call with a callback?

    Posted 10-13-2017 17:26
    That's beyond what I have attempted with callback interactions. Based on what I've seen, I'm afraid some of those capabilities are tucked away in the client/telephony services code.


  • 5.  RE: Further callback ado... how to associate a system placed call with a callback?

    Posted 10-13-2017 17:27
    Originally posted by dcurrier;36024
    That's beyond what I have attempted with callback interactions. Based on what I've seen, I'm afraid some of those capabilities are tucked away in the client/telephony services code.
    Yah, that's what I'm afraid of, and where some kind of documentation would be reaaaaally nice... :P


  • 6.  RE: Further callback ado... how to associate a system placed call with a callback?

    GENESYS
    Posted 10-13-2017 17:43
    Digging through old SCRs, I see one which mentions "Eic_CallbackAssociatedCallId exists on the outbound call..." If you set that attribute on your outbound call with the ID from the callback you want associated, does that solve anything?


  • 7.  RE: Further callback ado... how to associate a system placed call with a callback?

    Posted 10-13-2017 18:24
    Originally posted by GGanahl;36026
    Digging through old SCRs, I see one which mentions "Eic_CallbackAssociatedCallId exists on the outbound call..." If you set that attribute on your outbound call with the ID from the callback you want associated, does that solve anything?
    I did try that actually, as I spotted it going thru the attributes dictionary searching for "callback" and sadly it doesn't seem to do anything :( [ATTACH]887[/ATTACH] I captured the attributes on a Callback-initiated call to see if that would help, but didn't see anything useful: CallId:3099960085 CallLog:12:59:14: Initializing 12:59:39: Disconnected [Remote Disconnect] Eic_AcdWorkgroup:zTtylerTest Eic_AnswerTime:20171012T195926.784Z Eic_CallClassification:Long Distance Eic_CallDirection:O Eic_CallId:3099960085 Eic_CallIdKey:309996008530171012 Eic_CallState:Disconnected Eic_CallStateString:%12307% [%12251%] Eic_CallType:E Eic_ConnectDurationTime:13 Eic_ConnectEvtTime:10/12/2017 12:59:26 Eic_ConnectTime:20171012T195926.784Z Eic_InitialConnectTime:20171012T195926.784Z Eic_InitiationTime:20171012T195914.427Z Eic_InteractionUuid:a04227f5-1bc7-c511-8914-003099960085 Eic_IpInfo:Disconnected. Eic_IRAttrWatches:FFN_SettlementId|FFN_ClientId|FFN_CallTagCallType Eic_IRCandidateRecordingId: Eic_IRIntxState:2 Eic_IRRecordingFlags:10 Eic_IRRecordingId:01ebec14-1577-d091-8e82-f980a6cd0001 Eic_IRRecordingInitiatedFor:tuser Eic_IRRecordingIntx:3099960087 Eic_IRSnippet_Participants:ep;!:m;o(saf8/f]as`q^2,zTtylerTest,2017-10-12 19:59:26.0,:4\,si/1*?qn*&o:=-d9e3,0000000000000000000002,Phoenix AZ,false,+16025454637,,true|ep;!:m;o(saf8/f]as`q^2,zTtylerTest,2017-10-12 19:59:26.0,z8$at/yp*g*c6h;^w=z^i3,\{a}e\vd(^aqhc


  • 8.  RE: Further callback ado... how to associate a system placed call with a callback?

    GENESYS
    Posted 10-13-2017 19:28
    Reading more SCRs, I think I have that backward. I think you need to add the CallID from the outbound call to that attribute on the Callback object. 'Set an attribute on the callback interaction that contains the interaction ID that was dialed as a result of hitting "Make Call" in the callback interaction UI. – the interaction being set is: "Eic_CallbackAssociatedCallId"'


  • 9.  RE: Further callback ado... how to associate a system placed call with a callback?

    Posted 10-13-2017 20:25
    Ok, maybe from the outfield and perhaps not a flyer, but have you considered using ICELib to write a plugin/extension to the client? I’m thinking that since what you are essentially wanting to do is automate what would normally be done by the agent in the client.... Just a thought!


  • 10.  RE: Further callback ado... how to associate a system placed call with a callback?

    Posted 10-13-2017 22:06
    Originally posted by Wierdbeard65;36029
    Ok, maybe from the outfield and perhaps not a flyer, but have you considered using ICELib to write a plugin/extension to the client? I’m thinking that since what you are essentially wanting to do is automate what would normally be done by the agent in the client.... Just a thought!
    Thanks, it's a good thought and that would work... but addins are not a good fit for our environment plus we are migrating to the web client in 2018Q2 anyway so it would be wasted effort :P


  • 11.  RE: Further callback ado... how to associate a system placed call with a callback?

    Posted 10-14-2017 19:21
    Originally posted by samandiriel;36030
    Thanks, it's a good thought and that would work... but addins are not a good fit for our environment plus we are migrating to the web client in 2018Q2 anyway so it would be wasted effort :P
    Now you are just being difficult :p Let me see if I can dig up any information on what the options are for an equivalent in Interaction Connect (the web client).


  • 12.  RE: Further callback ado... how to associate a system placed call with a callback?

    Posted 10-17-2017 15:31
    Originally posted by Wierdbeard65;36032
    Now you are just being difficult :p Let me see if I can dig up any information on what the options are for an equivalent in Interaction Connect (the web client).
    I'm not difficult - I'm just channeling my user base :D I appreciate the effort! I think we are going to have to go with a custom solution where we manage callbacks with pseudo-callbacks (objects) with actual callbacks going to a dummy queue, then modifying the actual callbacks using handlers depending on what happens with the dummy callback objects in order to keep reporting inside the native framework (if that won't work, I'd love to know why in advance!)


  • 13.  RE: Further callback ado... how to associate a system placed call with a callback?

    Posted 10-18-2017 22:36
    Thanks for everyone's advice - we've decided to shelve this for now, as it's more effort than it's worth at this point in our road map :)


  • 14.  RE: Further callback ado... how to associate a system placed call with a callback?

    Posted 10-13-2017 22:50
    Originally posted by GGanahl;36028
    Reading more SCRs, I think I have that backward. I think you need to add the CallID from the outbound call to that attribute on the Callback object. 'Set an attribute on the callback interaction that contains the interaction ID that was dialed as a result of hitting "Make Call" in the callback interaction UI. – the interaction being set is: "Eic_CallbackAssociatedCallId"'
    Doesn't seem to work, either way :( Also, something I just noticed is that the Place Call doesn't work right, either. Even tho I pick up on the far end, the Desktop UI just shows "dialing" even tho the two phones are connected. It then disconnects after 30s and the call log shows that the eic call state string is "Disconnected [No Ringback]" :( :(


Need Help finding something?

Check out the Genesys Knowledge Network - your all-in-one access point for Genesys resources