03-06-2008 11:50 PM - edited 03-14-2019 01:55 AM
CRS - 4.0 (Package: IP IVR)
ICM - 7.1.5
CCM - 4.1
Here is the problem:
When a call is placed in que i send it to external script(VRU) and play some promo messages.
The normal flow is when an agent becomes available the script interupts and sends the call to the agent.
But when the caller hangs up, the call stays in que untill the timeout set in the ICM pases. I have tryed different things to drop the call but it stays as long as the timeout is set. And meanwhile if an agent becomes available - he receives a reservation without a call.
Anyone knows some way to drop it or what is the reason for the missing abortion of the call.
I have tryed some things in CRS - to catch esceptions etc. but call can not be terminated or rejected.
03-07-2008 01:45 AM
Hi Chavdar,
from ICM Configuration Manager you need to mark your VRU script as interruptible, that should do.
Regards,
Riccardo
PS. Please remember to rate useful posts accordingly
03-07-2008 01:49 AM
It is marked interruptible. As you can read in my previous post - when agent becomes available it receives the call.
03-07-2008 02:22 AM
Hi Chavdar,
as soon as the media is disconnected the IPIVR should be notified via JTAPI, by the CallManager, only reason to keep playing the prompt was if it is marked uninterruptible on the IPIVR or ICM, since you confirm this not to be the case, you need to check on the MIVR/JTAPI traces if it is saying why the call disconnect event is not received or dealed with properly.
Do you see any exception there?
Regards,
Riccardo
03-07-2008 03:53 AM
I have debugged the IPIVR script and placed inside "On Exception go to" step with "ContactInactiveException" - the script catchs this exception (when the call is hanged up) so this means that the disconnect event presents, but the call contact continues to stay in the script without the Telephony part. When the timeout kicks, in the scripts exits from the failure branch (if no agent becomes avail).
I checked the MIVR logs and disconnect event is where it has to be.
03-07-2008 05:24 AM
Hi again,
Whenever the contact hangs up, there are 2 asynchronous events - ContactInactiveException
and ContactInactiveInterruption that get triggered which are to be handled by the workflow
task executor. If these happen to get generated one after the other instantly, one
consumes the other. But since they are asynchronous, if the ContactInactiveInterruption
comes in later, it throws a ContactInactiveException again - if this is not handled, the
call aborts.
You mentioned seeing a ContactInactiveInterruption in the debug.
Do you have a OnException Goto(ContactInactive Exception) step?
And how do you handle it? The Media of the Prompt will eventually played if the exception
occurs after the call was connected, but as soon as the exception is captured the
exception should prevail and the call get disconnected or to be trated like you
programmed in your script.
Regards,
Riccardo
03-07-2008 05:49 AM
Yes i have onException goto (com.cisco.contact.ContactInactiveException)
It goes to e different branch of the script where i tryed some methods to drop the call.
When there was no such thing like exception capturing the call stayed at the script for the period set as timeout.
The situation is same with the exception capturing.
When i try to terminate it - the debugger says "Contact is inactive when getting chanel"
I didnt found this "ContactInactiveInterruption".
The real problem is that the script dont terminates in normal ways when caller hangs up, so i tryed to make other branch where i want to put the contact on Delay (forbidden interuption).
The idea was to prevent agents receiving bogus calls. This didnt worked either (the script was set as overridable).
Now i have absolutly normal Que script:
*Accept step
*Set contact info (language)
*Get Enterprise call info (call.peripheralvariables)
*Create Generated Prompt (que lenght)
*Create Generated Prompt (time in que)
*Play Prompt (some media)
*End
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide