Genesys CTI User Forum

Genesys CTI User Forum => Genesys CTI Technical Discussion => Topic started by: Remits on October 12, 2007, 07:14:39 PM

Title: Error message when mark process done
Post by: Remits on October 12, 2007, 07:14:39 PM
Hello All,

I was wondering if anyone else is experiencing issues with marking a call done.
I am using AIL 7.2.  Some of the agents after releasing a call and selects a call-result than goes to mark the call done using (markProcessed) generates an error with the following except message:  "Record must be opened to be updated".  This exception is sporadic and appears to only happen during high volume.  Some agents will get this message continuously and other will never. 

Does anyone have any ideas as to what might be going on?  Could it be a time issue? Client information is being release by OCS prematurely???

Thanks for your help,

Dave


Title: Re: Error message when mark process done
Post by: cavagnaro on October 12, 2007, 08:46:10 PM
RecordProcessed can only be send:
1. While agent is talking
2. While agent is on AfterCallWork

If something or somebody put the agent on Ready state again you can't send RecordProcess to that call as it was already closed, even if you have the data on your screen.
Title: Re: Error message when mark process done
Post by: Remits on October 15, 2007, 08:31:00 PM
Can you please clearify what you mean by talking.  Are you saying that I can only make record processed when the agent is still active with the client? 

Routine after client hangs up:
1. Receive idle event
2. I open a new window allowing the agent to select a call result.
3. After the agent has selected the call result they hit a button..which calls this method voiceOutbound.markProcessed();

Snippet of what I have in the markCallDone Button
  switch (callResult) {
      case 1:  outBoundRec.setCallResult(OutboundRecord.CallResult.UNKNOWN);
                  break;
      case 2:  outBoundRec.setCallResult(OutboundRecord.CallResult.OK);
                  break;
      case 3:  outBoundRec.setCallResult(OutboundRecord.CallResult.ABANDONED);
                  break;
      case 4:  outBoundRec.setCallResult(OutboundRecord.CallResult.ANSWER);
                  break;
      ......etc.
  }
 
  outBoundRec.update();  // I can probably remove this - wonder if this can cause
                                        problems
  markCallProcessed(voiceOutbound);

--------
  markCallProcessed(InteractionVoiceOutbound voiceOutbound) {
    voiceOutbound.markProcessed();
  }


Thanks for your help!










Title: Re: Error message when mark process done
Post by: cavagnaro on October 16, 2007, 04:05:32 AM
No, what i mean is:

TimeLine1-------AgentReceivesCall----AgentReschedule-----AgentSendRecordProcess----RecordIsClosed-----------AgentHangsUp--AftercallWork--AgentReady-------------- This is OK

TimeLine2-------AgentReceivesCall----AgentHangsUp----AfterCallWork----AgentReschedule-----AgentSendRecordProcess----RecordIsClosed------AgentReady---- This is OK

TimeLine3-------AgentReceivesCall----AgentHangsUp----AfterCallWork----AgentReschedule----AgentReady----RecordIsClosed---AgentSendRecordProcess--- This is OK but Record was already closed the the Ready action

TimeLine4-------AgentReceivesCall----AgentHangsUp----AfterCallWork----AgentReady--RecordIsClosed---AgentReschedule(Doesn't work)-----AgentSendRecordProcess(doesn't work)----This is KO as the record was closed when agent put himself on Ready

TimeLine5-------AgentReceivesCall----AgentHangsUp----AfterCallWork----AgentSendRecordProcessed--RecordIsClosed---AgentReschedule(Doesn't work)-------This is KO as the record was closed when agent send RecordProcessed and no further interaction with the RecordHandle was available

Hope this helps

Title: Re: Error message when mark process done
Post by: Remits on October 16, 2007, 12:30:15 PM
How about this time line?

AgentReceivesCall --- AgentHangsUP --- NotReady (soft) --- AgentSendsRecordProcess --- RecordIsClosed.

I believe this is the situation I am in or at least I think I am in...

Thanks,
Title: Re: Error message when mark process done
Post by: Seb Reeve on October 16, 2007, 01:45:48 PM
...depends on setting of OCS [outbound_release_action]

This setting defines what OCS assumes about the state of an agent after the release of a call  - if you're agent's actual (PBX) state is AfterCallwork after releasing a call then you should set this to soft-call-work ("soft" denotes OCS is assuming the PBX has already set the state of the agent).

Make sure your PBX state handling and the OCS settings match - otherwise OCS may decide your agent is ready and Process the record!

Seb