https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r158053 | mmichelson | 2008-11-20 11:33:06 -0600 (Thu, 20 Nov 2008) | 12 lines
Make sure to set the hangup cause on the calling channel in the case
that ast_call() fails. For incoming SIP channels, this was causing
us to send a 603 instead of a 486 when the call-limit was reached on
the destination channel.
(closes issue #13867)
Reported by: still_nsk
Patches:
13867.diff uploaded by putnopvut (license 60)
Tested by: blitzrage
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158066
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
/* Again, keep going even if there's an error */
ast_debug(1, "ast call on peer returned %d\n", res);
ast_verb(3, "Couldn't call %s\n", numsubst);
+ if (tc->hangupcause) {
+ chan->hangupcause = tc->hangupcause;
+ }
ast_hangup(tc);
tc = NULL;
ast_free(tmp);
res = update_call_counter(p, INC_CALL_RINGING);
- if (res == -1)
+ if (res == -1) {
return res;
+ } else {
+ ast->hangupcause = AST_CAUSE_USER_BUSY;
+ }
p->callingpres = ast->cid.cid_pres;
p->jointcapability = ast_translate_available_formats(p->capability, p->prefcodec);