--- chan_agent.c 2005-02-17 10:42:17.763236304 +0000 +++ chan_agent.jmls.c 2005-02-17 10:14:23.791718656 +0000 @@ -1314,6 +1314,7 @@ { struct agent_pvt *p; char *agent = argv[2] + 6; + long logintime; if (argc < 3 || argc > 4) return RESULT_SHOWUSAGE; @@ -1330,6 +1331,19 @@ ast_softhangup(p->chan, AST_SOFTHANGUP_EXPLICIT); } } + + logintime = time(NULL) - p->loginstart; + p->loginstart = 0; + + manager_event(EVENT_FLAG_AGENT, "Agentcallbacklogoff", + "Agent: %s\r\n" + "Loginchan: %s\r\n" + "Logintime: %ld\r\n" + "Reason: Commandlogoff\r\n", + p->agent, p->loginchan, logintime); + + ast_queue_log("NONE", 0, agent, "AGENTCALLBACKLOGOFF", "%s|%ld|%s", p->loginchan, logintime, "CommandLogoff"); + p->loginchan[0] = '\0'; ast_cli(fd, "Logging out %s\n", agent); break;