From b11ecaf4d6b4b1d6aaf9b790d91211603c70e609 Mon Sep 17 00:00:00 2001
From: Mark Michelson <mmichelson@digium.com>
Date: Tue, 19 Aug 2008 23:19:40 +0000
Subject: [PATCH] Merged revisions 138942 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r138942 | mmichelson | 2008-08-19 18:17:17 -0500 (Tue, 19 Aug 2008) | 11 lines

Reset agent_pvt variables back to the values in agents.conf
(from what the corresponding channel variables were set to)
when the agent logs out.

(closes issue #13098)
Reported by: davidw
Patches:
      20080731__issue13098_agent_ackcall_not_reset.diff uploaded by bbryant (license 36)
Tested by: davidw


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@138943 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_agent.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index 632376d593..ee02f90218 100644
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -2001,6 +2001,8 @@ static int login_exec(struct ast_channel *chan, void *data)
 						p->ackcall = 0;
 					tmpoptions=pbx_builtin_getvar_helper(chan, "AGENTACKCALL");
 					ast_verb(3, "Saw variable AGENTACKCALL=%s, setting ackcall to: %d for Agent '%s'.\n", tmpoptions, p->ackcall, p->agent);
+				} else {
+					p->ackcall = ackcall;
 				}
 				if (!ast_strlen_zero(pbx_builtin_getvar_helper(chan, "AGENTAUTOLOGOFF"))) {
 					p->autologoff = atoi(pbx_builtin_getvar_helper(chan, "AGENTAUTOLOGOFF"));
@@ -2008,6 +2010,8 @@ static int login_exec(struct ast_channel *chan, void *data)
 						p->autologoff = 0;
 					tmpoptions=pbx_builtin_getvar_helper(chan, "AGENTAUTOLOGOFF");
 					ast_verb(3, "Saw variable AGENTAUTOLOGOFF=%s, setting autologff to: %d for Agent '%s'.\n", tmpoptions, p->autologoff, p->agent);
+				} else {
+					p->autologoff = autologoff;
 				}
 				if (!ast_strlen_zero(pbx_builtin_getvar_helper(chan, "AGENTWRAPUPTIME"))) {
 					p->wrapuptime = atoi(pbx_builtin_getvar_helper(chan, "AGENTWRAPUPTIME"));
@@ -2015,6 +2019,8 @@ static int login_exec(struct ast_channel *chan, void *data)
 						p->wrapuptime = 0;
 					tmpoptions=pbx_builtin_getvar_helper(chan, "AGENTWRAPUPTIME");
 					ast_verb(3, "Saw variable AGENTWRAPUPTIME=%s, setting wrapuptime to: %d for Agent '%s'.\n", tmpoptions, p->wrapuptime, p->agent);
+				} else {
+					p->wrapuptime = wrapuptime;
 				}
 				tmpoptions = pbx_builtin_getvar_helper(chan, "AGENTACCEPTDMTF");
 				if (!ast_strlen_zero(tmpoptions)) {
-- 
GitLab