summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorKevin P. Fleming <kpfleming@digium.com>2005-12-13 06:00:17 +0000
committerKevin P. Fleming <kpfleming@digium.com>2005-12-13 06:00:17 +0000
commitb7b2317d81f1f59fbc9bdb8257b2808d4eda17a3 (patch)
tree63d30fa6775847935ef9a59966b61fabb8b6d3f7 /channels
parentd37857c208ae7c9c8a4d882e4cde5577a873883f (diff)
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
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_agent.c2
-rw-r--r--channels/chan_sip.c3
2 files changed, 3 insertions, 2 deletions
diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index dfde90f0f..69d775c9a 100644
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -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";
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index b0108bd19..2f9e0958e 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -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) {