Genesys CTI User Forum
Genesys CTI User Forum => Genesys CTI Technical Discussion => Topic started 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]
-
For that to happen the agent went to Ready or a RecordProcess was called. Check your logs and follow the whole interaction.
-
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.
-
Logs my friend, logs. You may say many possible scenarios, but logs will show the real one happening and will explain the why
-
I checked logs too but didn't see any abnormality or didn't notice :P If you want I can share the log.
-
That was the idea...we are no mind readers
-
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]
-
Mister...please at least try to explain what was used on your tests, which agent, connid, transfer to whom....come on!
-
I am very sorry.
Extension is 8011
Conn ID : 00a10243bc9c3245
Other Dn : 7812489873988
Agent ID : 30620
-
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
-
Hi Fra,
This application is still in development and I am not setting agent to ready. Do you see such request from desktop?
-
The NotReady state is started by SIP server based on ACW configuration for particular DN
-
But why record handle is getting closed. Is my approach wrong to transfer a call?
-
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
-
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
-
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?