Genesys CTI User Forum

Genesys CTI User Forum => Genesys CTI Technical Discussion => Topic started by: rajkishor09 on April 08, 2014, 09:05:21 AM

Title: Getting "No call found for the record handle" for predictive transferred calls o
Post by: rajkishor09 on April 08, 2014, 09:05:21 AM
I am getting "No call found for the record handle" error when I am sending "UpdateCallCompletionStats" after call is transferred. It works for same campaign in preview dialing mode but in predictive dialing mode I am getting above error.

I tried in with "AgentWorkMode" as "AutoIn" or "ManualIn" while logging in but result is same

In OCS I checked below options

outbound_release_action = soft-call-work
record_processed = true

Agent ACW is set to [b]untimed[/b]

This is what I am getting in our log.

[CODE]
'EventUserEvent' ('96')
message attributes:
Time            = ComplexClass(TimeStamp):
AttributeTimeinuSecs [int] = 921000
AttributeTimeinSecs [int] = 1396943304
CallHistory    = ComplexClass(CallHistoryInfo):
LastParty      = ComplexClass(LastRemoteParty):
FirstParty      = ComplexClass(FirstRemoteParty):
AttributeEventSequenceNumber [long] = 2296970
AttributeUserEvent [int] = 96
AttributeUserData [bstr] = KVList:
'GSW_AGENT_REQ_TYPE' [str] = "UpdateCallCompletionStats"
'GSW_RECORD_HANDLE' [int] = 89
'GSW_ERROR_NUMBER' [int] = 112
'GSW_ERROR' [str] = "No call found for the record handle"
'GSW_APPLICATION_ID' [int] = 113
'GSW_CAMPAIGN_NAME' [str] = "POC Test"
AttributeThisDN [str] = "8011"
[/CODE]
Title: Re: Getting "No call found for the record handle" for predictive transferred calls o
Post by: cavagnaro on April 08, 2014, 04:06:12 PM
For that to happen the agent went to Ready or a RecordProcess was called. Check your logs and follow the whole interaction.
Title: Re: Getting "No call found for the record handle" for predictive transferred calls o
Post by: rajkishor09 on April 08, 2014, 05:29:13 PM
sequence is, once call is transferred send "UpdateCallCompletionStats" and once I get acknowledment for "UpdateCallCompletionStats" then I send "recordProcessed" request.

I am not making agent to ready until I get recordProcessed acknowledge. I tried two step transfer also but result is same. I thing which I noticed in two step transfer is if I initiate transfer den I send "UpdateCallCompletionStats" and "recordProcessed" its works fine. If i complete transfer den it fails with above error.
Title: Re: Getting "No call found for the record handle" for predictive transferred calls o
Post by: cavagnaro on April 08, 2014, 05:55:15 PM
Logs my friend, logs. You may say many possible scenarios, but logs will show the real one happening and will explain the why
Title: Re: Getting "No call found for the record handle" for predictive transferred calls o
Post by: rajkishor09 on April 09, 2014, 09:24:33 AM
I checked logs too but didn't see any abnormality or didn't notice :P If you want I can share the log.
Title: Re: Getting "No call found for the record handle" for predictive transferred calls o
Post by: cavagnaro on April 09, 2014, 10:26:49 AM
That was the idea...we are no mind readers
Title: Re: Getting "No call found for the record handle" for predictive transferred calls o
Post by: rajkishor09 on April 09, 2014, 01:03:39 PM
please download it from Google drive


[url=https://drive.google.com/folderview?id=0B-kNggamQyx_aG9QTzlHX3o1ZGc&usp=sharing]https://drive.google.com/folderview?id=0B-kNggamQyx_aG9QTzlHX3o1ZGc&usp=sharing[/url]
Title: Re: Getting "No call found for the record handle" for predictive transferred calls o
Post by: cavagnaro on April 09, 2014, 01:20:54 PM
Mister...please at least try to explain what was used on your tests, which agent, connid, transfer to whom....come on!
Title: Re: Getting "No call found for the record handle" for predictive transferred calls o
Post by: rajkishor09 on April 09, 2014, 01:51:12 PM
I am very sorry.

Extension is 8011
Conn ID : 00a10243bc9c3245
Other Dn : 7812489873988
Agent ID : 30620
Title: Re: Getting "No call found for the record handle" for predictive transferred calls o
Post by: Fra on April 09, 2014, 04:36:19 PM
The sequence of events is:
[list]
[li]the call transferred[/li][/list]
[font=times new roman][size=8pt]
12:18:54.031 Trc 04541 RequestSingleStepTransfer received from [788] (000000b3 AgentDesktop_Br_Domestic 10.225.220.132:55025)
message RequestSingleStepTransfer
AttributeReferenceID 6
AttributeUserData [1653] 00 01 00 00..
'Response' xxx
AttributeOtherDN 'xxx'
AttributeConnID 00a10243bc9c3245
AttributeThisDN '8011'
[/size][/font]
[list][li]the agent becomes not ready[/li][/list]
[font=times new roman][size=8pt]
@12:18:57.2810 8.0.200.34 distribute_event: message EventAgentNotReady
AttributeExtensions [108] 00 03 00 00..
'WrapUpTime' 'untimed'
'ReasonCode' 'ManualSetACWPeriod'
'AgentSessionID' 'HOPL35B35P41DAU7T75QLUL07O00DL14'
AttributeEventSequenceNumber 00000000002308c7
AttributeTimeinuSecs 281000
AttributeTimeinSecs 1396939737 (12:18:57)
AttributeAgentWorkMode 3 (AfterCallWork)
AttributeAgentID '30620'
AttributeThisDN '8011'
[/size][/font]

[list][li]the call is released[/li][/list]
[font=times new roman][size=8pt]
@12:18:57.2960 8.0.200.34 distribute_response: message EventReleased
AttributeEventSequenceNumber 00000000002308c8
AttributeTimeinuSecs 296000
AttributeTimeinSecs 1396939737 (12:18:57)
AttributeExtensions [23] 00 01 01 00..
'BusinessCall' 1
AttributeReferenceID 6
AttributeCause 11
AttributeOtherDNRole 2
AttributeOtherDN '7812489873993'
AttributeThirdPartyDNRole 2
AttributeThirdPartyDN '7812489873988'
AttributeThisQueue '89006'
AttributeThisDNRole 1
AttributeAgentID '30620'
AttributeThisDN '8011'
[/size][/font]
[list][li]The agent desktop tries to update the record[/li][/list]
[font=times new roman][size=8pt]
12:19:39.515 Trc 04541 RequestDistributeUserEvent received from [788] (000000b3 AgentDesktop_Br_Domestic 10.225.220.132:55025)
message RequestDistributeUserEvent
AttributeReferenceID 7
AttributeUserData [456] 00 0F 00 00..
'GSW_AGENT_REQ_TYPE' 'UpdateCallCompletionStats'
'GSW_RECORD_HANDLE' 86
'GSW_CHAIN_ATTR' 'AllChain'
'GSW_CALLING_LIST' 'tblTSTARCRTSDev'
'cti_ListName' 'tblTSTARCRTSDev'
'GSW_ATTEMPTS' 3
'GSW_CALL_RESULT' 33
'cti_LastResult' 'ECNH'
'cti_IsCallable' 0
'cti_IsComplete' 1
'cti_PassCount' 2
'cti_TimeZone' 149
'GSW_CALL_ATTEMPT_GUID' '31KDPGG6EH6JF14R4GETK8VED4003G2F'
'GSW_APPLICATION_ID' 113
'GSW_CAMPAIGN_NAME' 'POC TSTAR Sales force'
AttributeThisDN '8011'
AttributeCommunicationDN '8011'
[/size][/font]

At that OCS returns the error you've mentioned, however, this is as per design. From the documentation, in fact, when record_processed is set to true:
[font=arial]
===
If an agent changes his or her state (such as EventAgentReady or
EventAgentLogout), OCS treats the agent state as ReleaseNextCall
or LoggedOut. The change in agent state informs OCS that the
agent has finished with this call record, and that OCS can update
the database with the final information about the call record. OCS
can change an internal agent state after it receives EventReleased
from the T-Server.
===
[/font]

Fra
Title: Re: Getting "No call found for the record handle" for predictive transferred calls o
Post by: rajkishor09 on April 10, 2014, 06:09:53 AM
Hi Fra,

This application is still in development and I am not setting agent to ready. Do you see such request from desktop?
Title: Re: Getting "No call found for the record handle" for predictive transferred calls o
Post by: Kubig on April 10, 2014, 07:18:47 AM
The NotReady state is started by SIP server based on ACW configuration for particular DN
Title: Re: Getting "No call found for the record handle" for predictive transferred calls o
Post by: rajkishor09 on April 10, 2014, 01:55:48 PM
But why record handle is getting closed. Is my approach wrong to transfer a call?
Title: Re: Getting "No call found for the record handle" for predictive transferred calls o
Post by: Fra on April 10, 2014, 02:09:30 PM
OCS interprets the agent status change as an indication that the agent has finished processing the call:
===
If an agent changes his or her state (such as EventAgentReady or
EventAgentLogout), OCS treats the agent state as ReleaseNextCall
or LoggedOut. [b]The change in agent state informs OCS that the
agent has finished with this call record, and that OCS can update
the database with the final information about the call record.  OCS
can change an internal agent state after it receives EventReleased
from the T-Server. [/b]
===
Hence you need to send the Updates / RecordProcessed prior to transferring the call.

Fra
Title: Re: Getting "No call found for the record handle" for predictive transferred calls o
Post by: Fra on April 15, 2014, 03:22:50 PM
rajkishor09,

I hadn't noticed that your softphone actually sends a RequestNotReady, workmode ACW, prior to transferring the call, which is the good practise to ensure that the record doesn't get processed by OCS upon releasing the call.
Can you please just check the ACW configuration for the DN you used? As the request to set the agent to ACW had already been accepted by SIPS, I believe that's not needed and may be triggering a weird behaviour in OCS.
Also, can you check what value the OCS option outbound_answer_action is set to?

Fra
Title: Re: Getting "No call found for the record handle" for predictive transferred calls o
Post by: rajkishor09 on May 28, 2014, 07:50:53 AM
Hello everyone,

Sorry for late reply, this issue was killing  :'(

Finally I had to change call flow as suggested by FRA. And now flow looks like below.
[list type=decimal]
[li]UpdateCallCompletionStats[/li]
[li]RecordProcessed[/li]
[li]RequestSingleStepTransfer[/li]
[/list]

But If its to another agent then I am not sending "RecordProcessed". In that case sequence is below and other agent is going to send "RecordProcessed" on call finish.

[list type=decimal]
[li]UpdateCallCompletionStats[/li]
[li]RequestSingleStepTransfer[/li]
[li]RequestAgentReady[/li]
[/list]

Do you see any issue with above approach?