Skip Busy Agents causing dropped calls on transfer


We have a number of phones in a queue, the phones all have Call Waiting enabled and the queue has the Skip Busy Agents function activated.

If I answer a call and transfer the call to a phone that is currently on another call, the call I transfer is dropped. Turning off the Skip Busy Agents function means that the calls are not dropped.

We have tested this a few times, changing only that setting and each time it’s on, the transfered call is dropped.

I’ve tried looking to debug this but I’m hitting a wall. We are working around it by leaving that setting off, but it means that multiple call presentations are offered for the queue which makes things messy.

All help gratefully accepted.

No one else has seen this happen or can replicate it?

The skip busy agents option is a new addition in 2.4, I’d expect that it’s possible for it to have a bug or two; but this is a service affecting issue, calls being disconnected on transfer is a bad thing!

Our current workaround is to just turn it off, but this causes problems of it’s own.

you’ll have to post some traces to see what is happening. The only thing that happens when you set this, iirc, is that it ignores the server side CW setting of the target phone and treats it as if server side CW was disabled. So if calls are being dropped, you should be able to disabled server side CW on that phone and achieve the same results. I suspect there is something else going on (still may be a bug…). Maybe a trace would reveal something.

Thanks Philippe, I can test that reasonably easily.

I’ll get some testing and some logs together soon, I’m also dealing with asterisk segfaulting, which is taking a priority right now!

That’s not a freepbx issue though so nothing to worry about here. As soon as I get the server stabilised, I’ll test the queue’s.

Well, Between having the fault and being now able to test it in a controlled manner, I cant replicate it.

I’ve set up a new queue and tried many permutations of queue configurations and various transfers and no calls were dropped. The problem may have been phone firmware related (cant check, rebooted the PoE switch which will mean all phones will have checked for and upgraded their firmware if necessary) or something really odd in the old installation that is not in the new one.

On the plus side, at least I now understand how this new function operates, which is nice. :slight_smile:

yes it is really quite simple:

    if ($cwignore) {
      $exthascw  = 0;
    } else {
      $exthascw  = $AGI->database_get('CW', $extnum);
      $exthascw  = $exthascw['data']? 1:0;