Author Topic: Call stuck in inbound queue  (Read 5272 times)

Michael Swann

  • Newbie
  • *
  • Posts: 3
  • Karma: 0
    • View Profile
Call stuck in inbound queue
« on: July 22, 2009, 15:11:10 »
Hi

The problem I am faced with is that sometime ago my asterisk server changed its date to a date in the future. The date was changed to 19/01/2038. I know this because the recordings have been setup to use LocalFilesByDay and in my recordings file there is recordings for that day.

The problem is there is a call stuck in the inbound queue.

This is what is in the Calls been processed in the Real Time Monitor view:

Queue       Caller               Entered       Waiting             Duration       Agent       Srv     
 300    0239483555    16:10:12     -3546294 s       -    

What I think happen is this call was placed in the queue, but before it was answered the date was reverted back to the present day.

How do I go about removing this entry from the queue?

I am using Queuemetrics 1.5.2

marcos

  • Loway
  • Full Member
  • *
  • Posts: 138
  • Karma: 3
    • View Profile
Re: Call stuck in inbound queue
« Reply #1 on: July 23, 2009, 10:47:13 »
Hi,

I think the only way you have to delete this record is to work directly with the database.
Do you have access on it?
The call data are stored on the queue_log table. You need to filter out for that particular queue, caller, time and for the verb "ENTERQUEUE". You have to delete the related row.

Hope this helps!

Regards,
Marco Signorini.


Michael Swann

  • Newbie
  • *
  • Posts: 3
  • Karma: 0
    • View Profile
Re: Call stuck in inbound queue
« Reply #2 on: July 24, 2009, 12:06:22 »
Thanks Marco

Well here is my solution.

mySQL is your friend in this solution. Access the asteriskcdr and use the following command:

 SELECT * FROM cdr WHERE duration < 0;

 This will return all the negative call durations of all the calls that where ever made. Take down the unique callerID, mine was 1251814212.2597.

 Access the queuemetrics database and issue the following command:
         > SELECT * FROM queue_log where call_id = "1251814212.2597";

 This will display the queue_log disposition of the call.
 
Remove the entries from the database:
          > DELETE FROM queue_log WHERE call_id = "1251814212.2597";

If your queuemetrics is set to use the queue_log file found in /var/log/asterisk/queue_log, the entries in this log file will also need to be removed.
 Make sure no calls are currently been made as soon as a call is made through a queue it is written to this file.
           $ asterisk -rx "show channels",
           should see 0 channels.

 vi /var/log/asterisk/queue_log and search for the unique callID.
 
Once you have found the unique callID remove all the entries found in the queue_log.
Check in the realtime monitor in queuemetrics to see if the call has been removed from inbound call waiting list.

QueueMetrics

  • Loway
  • Hero Member
  • *
  • Posts: 2999
  • Karma: 39
    • View Profile
    • QueueMetrics
Re: Call stuck in inbound queue
« Reply #3 on: August 17, 2009, 10:46:44 »
That's cool!  ;D