Index: apps/app_queue.c =================================================================== --- apps/app_queue.c (revision 148990) +++ apps/app_queue.c (working copy) @@ -439,7 +439,7 @@ static AST_LIST_HEAD_STATIC(queues, call_queue); -static int set_member_paused(const char *queuename, const char *interface, int paused); +static int set_member_paused(const char *queuename, const char *interface, int paused, int from_where); static void queue_transfer_fixup(void *data, struct ast_channel *old_chan, struct ast_channel *new_chan); @@ -2062,7 +2062,7 @@ ast_verbose( VERBOSE_PREFIX_3 "Nobody picked up in %d ms\n", rnatime); ast_queue_log(qe->parent->name, qe->chan->uniqueid, membername, "RINGNOANSWER", "%d", rnatime); if (qe->parent->autopause) { - if (!set_member_paused(qe->parent->name, interface, 1)) { + if (!set_member_paused(qe->parent->name, interface, 1, 1)) { if (option_verbose > 2) ast_verbose( VERBOSE_PREFIX_3 "Auto-Pausing Queue Member %s in queue %s since they failed to answer.\n", interface, qe->parent->name); } else { @@ -3383,7 +3383,7 @@ return res; } -static int set_member_paused(const char *queuename, const char *interface, int paused) +static int set_member_paused(const char *queuename, const char *interface, int paused, int from_where) { int found = 0; struct call_queue *q; @@ -3403,6 +3403,8 @@ if (mem->paused == paused) ast_log(LOG_DEBUG, "%spausing already-%spaused queue member %s:%s\n", (paused ? "" : "un"), (paused ? "" : "un"), q->name, interface); mem->paused = paused; + + ast_log(LOG_DEBUG, "Setting member %s of queue %s to be %spaused. The order came from %d\n", interface, q->name, paused ? "" : "un", from_where); if (queue_persistent_members) dump_queue_members(q); @@ -3557,7 +3559,7 @@ return -1; } - if (set_member_paused(args.queuename, args.interface, 1)) { + if (set_member_paused(args.queuename, args.interface, 1, 2)) { ast_log(LOG_WARNING, "Attempt to pause interface %s, not found\n", args.interface); if (priority_jump || ast_opt_priority_jumping) { if (ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101)) { @@ -3610,7 +3612,7 @@ return -1; } - if (set_member_paused(args.queuename, args.interface, 0)) { + if (set_member_paused(args.queuename, args.interface, 0, 3)) { ast_log(LOG_WARNING, "Attempt to unpause interface %s, not found\n", args.interface); if (priority_jump || ast_opt_priority_jumping) { if (ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101)) { @@ -4823,7 +4825,7 @@ paused = abs(ast_true(paused_s)); - if (set_member_paused(queuename, interface, paused)) + if (set_member_paused(queuename, interface, paused, 4)) astman_send_error(s, m, "Interface not found"); else astman_send_ack(s, m, paused ? "Interface paused successfully" : "Interface unpaused successfully");