Index: apps/app_queue.c =================================================================== --- apps/app_queue.c (revision 80089) +++ apps/app_queue.c (working copy) @@ -1120,6 +1120,25 @@ return q; } +static int update_realtime_member_field(struct member *mem, const char *queue_name, const char *field, const char *value) +{ + struct ast_variable *var; + int ret = -1; + + if(!(var = ast_load_realtime("queue_members", "interace", mem->interface, "queue_name", queue_name, NULL))) + return ret; + while (var) { + if(!strcmp(var->name, "uniqueid")) + break; + var = var->next; + } + if(var && !ast_strlen_zero(var->value)) { + if (ast_update_realtime("queue_members", "uniqueid", var->value, field, value, NULL)) + ret = 0; + } + return ret; +} + static void update_realtime_members(struct call_queue *q) { struct ast_config *member_config = NULL; @@ -2956,6 +2975,8 @@ if (queue_persistent_members) dump_queue_members(q); + update_realtime_member_field(mem, queuename, "paused", paused ? "1" : "0"); + ast_queue_log(q->name, "NONE", mem->membername, (paused ? "PAUSE" : "UNPAUSE"), "%s", ""); manager_event(EVENT_FLAG_AGENT, "QueueMemberPaused",