--- apps/app_queue.c.orig 2010-05-26 20:21:10.000000000 +0200 +++ apps/app_queue.c 2010-07-01 16:09:10.000000000 +0200 @@ -574,6 +574,7 @@ struct member *member; struct ao2_iterator mem_iter; enum queue_member_status result = QUEUE_NO_MEMBERS; + int allpaused = 1; ao2_lock(q); mem_iter = ao2_iterator_init(q->members, 0); @@ -587,6 +588,9 @@ ao2_ref(member, -1); continue; } + else { + allpaused = 0; + } switch (member->status) { case AST_DEVICE_INVALID: @@ -605,6 +609,10 @@ } ao2_iterator_destroy(&mem_iter); ao2_unlock(q); + + if (allpaused) { + result = QUEUE_NO_REACHABLE_MEMBERS; + } return result; }