diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-04-15 22:32:23 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-04-15 22:32:23 +0000 |
commit | 52c8b6fe516b886b9d615fad9161167ac7fa2ec4 (patch) | |
tree | 1d45c96bd18f6ac095fb871067c98e0e5dd87ef7 | |
parent | f6d50e26aa2cc6c479c1b88565cc5954b5ba19ef (diff) |
add the ability to turn off the feature that allows agents to end calls
by pressing '*'. This is still on by default. (issue #6897)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@20328 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r-- | channels/chan_agent.c | 6 | ||||
-rw-r--r-- | configs/agents.conf.sample | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/channels/chan_agent.c b/channels/chan_agent.c index 46cce1f87..c36be2d7a 100644 --- a/channels/chan_agent.c +++ b/channels/chan_agent.c @@ -156,6 +156,7 @@ static ast_group_t group; static int autologoff; static int wrapuptime; static int ackcall; +static int endcall; static int multiplelogin = 1; static int autologoffunavail = 0; @@ -498,7 +499,7 @@ static struct ast_frame *agent_read(struct ast_channel *ast) p->acknowledged = 1; ast_frfree(f); f = &answer_frame; - } else if (f->subclass == '*') { + } else if (f->subclass == '*' && endcall) { /* terminates call */ ast_frfree(f); f = NULL; @@ -988,6 +989,7 @@ static int read_agent_config(void) autologoff = 0; wrapuptime = 0; ackcall = 0; + endcall = 1; cfg = ast_config_load(config); if (!cfg) { ast_log(LOG_NOTICE, "No agent configuration found -- agent support disabled\n"); @@ -1032,6 +1034,8 @@ static int read_agent_config(void) ackcall = 1; else ackcall = 0; + } else if (!strcasecmp(v->name, "endcall")) { + endcall = ast_true(v->value); } else if (!strcasecmp(v->name, "wrapuptime")) { wrapuptime = atoi(v->value); if (wrapuptime < 0) diff --git a/configs/agents.conf.sample b/configs/agents.conf.sample index 4eca6bfc5..4145d709a 100644 --- a/configs/agents.conf.sample +++ b/configs/agents.conf.sample @@ -41,6 +41,11 @@ persistentagents=yes ; ;ackcall=no ; +; Define endcall to allow an agent to hangup a call by '*'. +; Default is "yes". Set this to "no" to ignore '*'. +; +;endcall=yes +; ; Define wrapuptime. This is the minimum amount of time when ; after disconnecting before the caller can receive a new call ; note this is in milliseconds. |