diff --git a/cdr.c b/cdr.c index cedc4796420c514bdd876bc61a4176d995e0c3f6..7837f03ee2870f17f2f57e49014024bfc8998b36 100644 --- a/cdr.c +++ b/cdr.c @@ -691,12 +691,15 @@ int ast_cdr_setaccount(struct ast_channel *chan, const char *account) int ast_cdr_setamaflags(struct ast_channel *chan, const char *flag) { - struct ast_cdr *cdr = chan->cdr; + struct ast_cdr *cdr; int newflag; newflag = ast_cdr_amaflags2int(flag); - if (newflag) - cdr->amaflags = newflag; + if (newflag) { + for (cdr = chan->cdr; cdr; cdr = cdr->next) { + cdr->amaflags = newflag; + } + } return 0; }