From 25c015126d87543fb968e982672b2568795e9c2c Mon Sep 17 00:00:00 2001 From: murf Date: Tue, 25 Nov 2008 23:03:01 +0000 Subject: 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/trunk@159360 f38db490-d61c-443f-a65b-d21fe96a405b --- channels/chan_iax2.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'channels') diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 38fb9983b..378550a99 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -8688,6 +8688,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 */ -- cgit v1.2.3