diff options
author | mvanbaak <mvanbaak@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-04-24 22:16:48 +0000 |
---|---|---|
committer | mvanbaak <mvanbaak@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-04-24 22:16:48 +0000 |
commit | 94979a8bde5da5087e67261a4ff435aaff6188e4 (patch) | |
tree | 2c247ba7f500b9bdc0fa9867d833b6af194d7139 /channels/chan_skinny.c | |
parent | e8d5948d534e44d389e8ceab04c6e1b007b8fd6d (diff) |
Pass the hangup cause all the way to the calling app/channel.
(closes issue #11328)
Reported by: rain
Patches:
20071207__pass_cause_in_hangup_control_frame.diff.txt uploaded by Corydon76 (license 14)
brought up-to-date to trunk by me
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@114637 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_skinny.c')
-rw-r--r-- | channels/chan_skinny.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c index c4458ba04..b60952709 100644 --- a/channels/chan_skinny.c +++ b/channels/chan_skinny.c @@ -4513,7 +4513,7 @@ static int handle_onhook_message(struct skinny_req *req, struct skinnysession *s if ((res = attempt_transfer(p)) < 0) { if (sub->next && sub->next->owner) { sub->next->alreadygone = 1; - ast_queue_hangup(sub->next->owner,1); + ast_queue_hangup(sub->next->owner, -1); } } else if (res) { ast_log(LOG_WARNING, "Transfer attempt failed\n"); @@ -4525,7 +4525,7 @@ static int handle_onhook_message(struct skinny_req *req, struct skinnysession *s /* If there is another active call, skinny_hangup will ring the phone with the other call */ if (sub->owner) { sub->alreadygone = 1; - ast_queue_hangup(sub->owner); + ast_queue_hangup(sub->owner, -1); } else { ast_log(LOG_WARNING, "Skinny(%s@%s-%d) channel already destroyed\n", l->name, d->name, sub->callid); @@ -5222,7 +5222,7 @@ static int handle_soft_key_event_message(struct skinny_req *req, struct skinnyse if ((res = attempt_transfer(p)) < 0) { if (sub->next && sub->next->owner) { sub->next->alreadygone = 1; - ast_queue_hangup(sub->next->owner, 1); + ast_queue_hangup(sub->next->owner, -1); } } else if (res) { ast_log(LOG_WARNING, "Transfer attempt failed\n"); @@ -5234,7 +5234,7 @@ static int handle_soft_key_event_message(struct skinny_req *req, struct skinnyse /* If there is another active call, skinny_hangup will ring the phone with the other call */ if (sub->owner) { sub->alreadygone = 1; - ast_queue_hangup(sub->owner); + ast_queue_hangup(sub->owner, -1); } else { ast_log(LOG_WARNING, "Skinny(%s@%s-%d) channel already destroyed\n", l->name, d->name, sub->callid); |