/*! \brief queues.conf [general] option */
static int log_caller_id_name;
+/*! \brief queues.conf [general] option */
+static int log_unpause_on_reason_change;
+
/*! \brief name of the ringinuse field in the realtime database */
static char *realtime_ringinuse_field;
if (mem->paused == paused) {
ast_debug(1, "%spausing already-%spaused queue member %s:%s\n",
(paused ? "" : "un"), (paused ? "" : "un"), q->name, mem->interface);
+ if (log_unpause_on_reason_change && paused) {
+ if (!ast_strings_equal(mem->reason_paused, reason)) {
+ ast_queue_log(q->name, "NONE", mem->membername, "UNPAUSE", "%s", "Auto-Unpause");
+ }
+ }
}
if (mem->realtime && !ast_strlen_zero(mem->rt_uniqueid)) {
negative_penalty_invalid = 0;
log_membername_as_agent = 0;
force_longest_waiting_caller = 0;
+ log_unpause_on_reason_change = 0;
}
/*! Set the global queue parameters as defined in the "general" section of queues.conf */
if ((general_val = ast_variable_retrieve(cfg, "general", "force_longest_waiting_caller"))) {
force_longest_waiting_caller = ast_true(general_val);
}
+ if ((general_val = ast_variable_retrieve(cfg, "general", "log_unpause_on_reason_change"))) {
+ log_unpause_on_reason_change = ast_true(general_val);
+ }
/* Apply log-caller-id-name in the same place as other global settings */
if ((general_val = ast_variable_retrieve(cfg, "general", "log-caller-id-name"))) {
log_caller_id_name = ast_true(general_val);