[Asterisk-Dev] call center - 1 phone ringing at a time

Mike Nugent mike at calltrex.com
Fri Dec 19 10:01:44 MST 2003


We had an issue with the way app_queue was ringing phones.  Apparently,
it rang a single phone and when another caller came in, the next phone
wouldn't ring until someone picked up the first one.

I made this small modification to change that.  If anyone knows why this
would cause a different problem, please tell us.

--- app_queue.orig.c    2003-12-19 08:56:43.000000000 -0800
+++ app_queue.c 2003-12-19 08:58:16.000000000 -0800
@@ -779,6 +779,9 @@
                to = -1;
        ring_one(qe, outgoing);
        ast_mutex_unlock(&qe->parent->lock);
+       /* mike nugent 12.15.03 - moved queue removal function to before
waiting for answer in order to ring multiple phones at once */
+       /* Drop out of the queue at this point, to prepare for next
caller */
+       leave_queue(qe);
        lpeer = wait_for_answer(qe, outgoing, &to, &allowredir_in,
&allowredir_out, &allowdisconnect, &digit);
        if (lpeer)
                peer = lpeer->chan;
@@ -840,8 +843,6 @@
                        ast_hangup(peer);
                        return -1;
                }
-               /* Drop out of the queue at this point, to prepare for
next caller */
-               leave_queue(qe);
                /* JDG: sendurl */
                if( url && strlen(url) &&
ast_channel_supports_html(peer) ) {
                        ast_log(LOG_DEBUG, "app_queue: sendurl=%s.\n",
url);



-- 
Mike Nugent
System Administrator
Calltrex




More information about the asterisk-dev mailing list