(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: https://origsvn.digium.com/svn/asterisk/branches/1.4@159316 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Steve Murphy
2008-11-25 22:41:10 +00:00
parent 10e70eaecf
commit 141ab56b86
2 changed files with 10 additions and 0 deletions

View File

@@ -7534,6 +7534,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 */

View File

@@ -766,6 +766,9 @@ int ast_cdr_disposition(struct ast_cdr *cdr, int cause)
case AST_CAUSE_BUSY:
ast_cdr_busy(cdr);
break;
case AST_CAUSE_NO_ANSWER:
ast_cdr_noanswer(cdr);
break;
case AST_CAUSE_NORMAL:
break;
default: