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/branches/1.4@158053
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
ast_log(LOG_DEBUG, "ast call on peer returned %d\n", res);
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "Couldn't call %s\n", numsubst);
+ if (tmp->chan->hangupcause) {
+ chan->hangupcause = tmp->chan->hangupcause;
+ }
ast_hangup(tmp->chan);
tmp->chan = NULL;
free(tmp);
AST_SCHED_DEL(sched, p->initid);
p->initid = ast_sched_add(sched, p->maxtime ? (p->maxtime * 4) : SIP_TRANS_TIMEOUT, auto_congest, p);
}
+ } else {
+ ast->hangupcause = AST_CAUSE_USER_BUSY;
}
return res;
}