diff --git a/channels/chan_agent.c b/channels/chan_agent.c index da9d9d998c4a38e9aa6f53b3d5fb6f6cf3a7f57b..babb5c8172cf5c397cc020488d492ead003f3560 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;