diff options
author | murf <murf@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-11-25 23:09:11 +0000 |
---|---|---|
committer | murf <murf@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-11-25 23:09:11 +0000 |
commit | ef241af39726a93ab3b5a2cbcae94a1bed7fab8d (patch) | |
tree | 0a499c756a774f581674f232f1d42673ac33546c /channels/chan_iax2.c | |
parent | d53a2b0239419735827c2eb7cea1a7c8494b2528 (diff) |
Merged revisions 159360 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r159360 | murf | 2008-11-25 16:03:01 -0700 (Tue, 25 Nov 2008) | 23 lines
Merged revisions 159316 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r159316 | murf | 2008-11-25 15:41:10 -0700 (Tue, 25 Nov 2008) | 15 lines
(closes issue #12694)
Reported by: yraber
Patches:
12694.2nd.diff uploaded by murf (license 17)
Tested by: murf, laurav
Thanks to file (Joshua Colp) for his IAX fix.
the change to cdr.c allows no-answer to percolate
up into CDR's, and feels like the right place to
locate this fix; if BUSY is done here, no-answer
should be, too.
........
................
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@159374 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_iax2.c')
-rw-r--r-- | channels/chan_iax2.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 06914322e..36d8aae43 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -8439,6 +8439,13 @@ retryowner: iaxs[fr->callno]->videoformat = f.subclass & ~0x1; } } + if (f.frametype == AST_FRAME_CONTROL && iaxs[fr->callno]->owner) { + if (f.subclass == AST_CONTROL_BUSY) { + iaxs[fr->callno]->owner->hangupcause = AST_CAUSE_BUSY; + } else if (f.subclass == AST_CONTROL_CONGESTION) { + iaxs[fr->callno]->owner->hangupcause = AST_CAUSE_CONGESTION; + } + } if (f.frametype == AST_FRAME_IAX) { AST_SCHED_DEL(sched, iaxs[fr->callno]->initid); /* Handle the IAX pseudo frame itself */ |