diff options
-rwxr-xr-x | channels/chan_agent.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/channels/chan_agent.c b/channels/chan_agent.c index da9d9d998..babb5c817 100755 --- a/channels/chan_agent.c +++ b/channels/chan_agent.c @@ -488,9 +488,16 @@ static int agent_hangup(struct ast_channel *ast) } else if (p->chan) { /* Not dead -- check availability now */ ast_mutex_lock(&p->lock); - /* check_availability(p, 1); */ - /* Store last disconnect time */ - gettimeofday(&p->lastdisc, NULL); + if (strlen(p->loginchan)) { + if (!p->wrapuptime) + check_availability(p, 1); + else { + /* XXX Need to add support for wrapuptime on callback agents */ + } + } else { + /* Store last disconnect time */ + gettimeofday(&p->lastdisc, NULL); + } ast_mutex_unlock(&p->lock); } return 0; |