[Asterisk-code-review] app_queue: Add LoginTime field for member in a queue: (asterisk[master])
Rodrigo Ramirez Norambuena
asteriskteam at digium.com
Wed Aug 25 12:22:36 CDT 2021
Rodrigo Ramirez Norambuena has uploaded this change for review. ( https://gerrit.asterisk.org/c/asterisk/+/16355 )
Change subject: app_queue: Add LoginTime field for member in a queue:
......................................................................
app_queue: Add LoginTime field for member in a queue:
Add a time_t logintime to storage a time when a member is added into a
queue.
Also, includes show this time (in seconds) using a 'queue show' command
and the field LoginTime for response for AMI events.
ASTERISK-16394 #close
Change-Id: Ied6c3a300f78d78eebedeb3e16a1520fc3fff190
---
M apps/app_queue.c
1 file changed, 13 insertions(+), 2 deletions(-)
git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/55/16355/1
diff --git a/apps/app_queue.c b/apps/app_queue.c
index fdc5211..25e97df 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -1080,6 +1080,9 @@
<parameter name="LastPause">
<para>The time when started last paused the queue member.</para>
</parameter>
+ <parameter name="LoginTime">
+ <para>The time when a member login into the queue.</para>
+ </parameter>
<parameter name="InCall">
<para>Set to 1 if member is in call. Set to 0 after LastCall time is updated.</para>
<enumlist>
@@ -1615,6 +1618,7 @@
time_t starttime; /*!< The time at which the member answered the current caller. */
time_t lastcall; /*!< When last successful call was hungup */
time_t lastpause; /*!< When started the last pause */
+ time_t logintime; /*!< The time when started the login */
struct call_queue *lastqueue; /*!< Last queue we received a call */
unsigned int dead:1; /*!< Used to detect members deleted in realtime */
unsigned int delme:1; /*!< Flag to delete entry on reload */
@@ -2263,7 +2267,7 @@
static struct ast_json *queue_member_blob_create(struct call_queue *q, struct member *mem)
{
- return ast_json_pack("{s: s, s: s, s: s, s: s, s: s, s: i, s: i, s: i, s: i, s: i, s: i, s: i, s: s, s: i, s: i}",
+ return ast_json_pack("{s: s, s: s, s: s, s: s, s: s, s: i, s: i, s: i, s: i, s: i, s: i, s: i, s: i, s: s, s: i, s: i}",
"Queue", q->name,
"MemberName", mem->membername,
"Interface", mem->interface,
@@ -2273,6 +2277,7 @@
"CallsTaken", mem->calls,
"LastCall", (int)mem->lastcall,
"LastPause", (int)mem->lastpause,
+ "LoginTime", (int)mem->logintime,
"InCall", mem->starttime ? 1 : 0,
"Status", mem->status,
"Paused", mem->paused,
@@ -2701,6 +2706,7 @@
if (paused) {
time(&cur->lastpause); /* Update time of last pause */
}
+ time(&cur->logintime);
ast_copy_string(cur->interface, interface, sizeof(cur->interface));
if (!ast_strlen_zero(state_interface)) {
ast_copy_string(cur->state_interface, state_interface, sizeof(cur->state_interface));
@@ -9735,6 +9741,10 @@
} else {
ast_str_append(&out, 0, " has taken no calls yet");
}
+ ast_str_append(&out, 0, " %s(login was %ld secs ago)%s",
+ ast_term_color(COLOR_BROWN, COLOR_BLACK),
+ (long) (now - mem->logintime),
+ ast_term_reset());
do_print(s, fd, ast_str_buffer(out));
ao2_ref(mem, -1);
}
@@ -10177,6 +10187,7 @@
"CallsTaken: %d\r\n"
"LastCall: %d\r\n"
"LastPause: %d\r\n"
+ "LoginTime: %d\r\n"
"InCall: %d\r\n"
"Status: %d\r\n"
"Paused: %d\r\n"
@@ -10185,7 +10196,7 @@
"%s"
"\r\n",
q->name, mem->membername, mem->interface, mem->state_interface, mem->dynamic ? "dynamic" : "static",
- mem->penalty, mem->calls, (int)mem->lastcall, (int)mem->lastpause, mem->starttime ? 1 : 0, mem->status,
+ mem->penalty, mem->calls, (int)mem->lastcall, (int)mem->lastpause, (int)mem->logintime, mem->starttime ? 1 : 0, mem->status,
mem->paused, mem->reason_paused, mem->wrapuptime, idText);
++q_items;
}
--
To view, visit https://gerrit.asterisk.org/c/asterisk/+/16355
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Change-Id: Ied6c3a300f78d78eebedeb3e16a1520fc3fff190
Gerrit-Change-Number: 16355
Gerrit-PatchSet: 1
Gerrit-Owner: Rodrigo Ramirez Norambuena <a at rodrigoramirez.com>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20210825/a5cdf095/attachment.html>
More information about the asterisk-code-review
mailing list