mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-14 16:33:34 +00:00
Merged revisions 7448-7449,7451,7453 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r7448 | kpfleming | 2005-12-12 22:25:14 -0600 (Mon, 12 Dec 2005) | 2 lines use the stream's current point when pausing/unpausing, instead of elapsed time (which doesn't work when the stream has been skipped forward or backward) (issue #5897) ........ r7449 | kpfleming | 2005-12-12 22:43:38 -0600 (Mon, 12 Dec 2005) | 2 lines only report AGENT_IDLE for callback mode agents when they are actually idle (issue #5902) ........ r7451 | kpfleming | 2005-12-12 23:14:27 -0600 (Mon, 12 Dec 2005) | 2 lines ensure that hangups while incoming calls are in early state are handled properly (issue #5919) ........ r7453 | kpfleming | 2005-12-12 23:53:00 -0600 (Mon, 12 Dec 2005) | 2 lines restore ability of caller to hangup calls that are still ringing (issue #5839) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7457 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1417,7 +1417,7 @@ static int action_agents(struct mansession *s, struct message *m)
|
||||
/* Set a default status. It 'should' get changed. */
|
||||
status = "AGENT_UNKNOWN";
|
||||
|
||||
if (!ast_strlen_zero(p->loginchan)) {
|
||||
if (!ast_strlen_zero(p->loginchan) && !p->chan) {
|
||||
loginChan = p->loginchan;
|
||||
talkingtoChan = "n/a";
|
||||
status = "AGENT_IDLE";
|
||||
|
@@ -2279,6 +2279,7 @@ static int hangup_sip2cause(int cause)
|
||||
/* Possible values taken from causes.h */
|
||||
|
||||
switch(cause) {
|
||||
case 603: /* Declined */
|
||||
case 403: /* Not found */
|
||||
return AST_CAUSE_CALL_REJECTED;
|
||||
case 404: /* Not found */
|
||||
@@ -2458,7 +2459,7 @@ static int sip_hangup(struct ast_channel *ast)
|
||||
if (ast->hangupcause && ((res = hangup_cause2sip(ast->hangupcause)))) {
|
||||
transmit_response_reliable(p, res, &p->initreq, 1);
|
||||
} else
|
||||
transmit_response_reliable(p, "403 Forbidden", &p->initreq, 1);
|
||||
transmit_response_reliable(p, "603 Declined", &p->initreq, 1);
|
||||
}
|
||||
} else { /* Call is in UP state, send BYE */
|
||||
if (!p->pendinginvite) {
|
||||
|
Reference in New Issue
Block a user