diff --git a/main/cdr.c b/main/cdr.c index f5693e6c68..54aab40a5f 100644 --- a/main/cdr.c +++ b/main/cdr.c @@ -845,8 +845,11 @@ int ast_cdr_setamaflags(struct ast_channel *chan, const char *flag) struct ast_cdr *cdr; int newflag = ast_cdr_amaflags2int(flag); if (newflag) { - for (cdr = chan->cdr; cdr; cdr = cdr->next) - cdr->amaflags = newflag; + for (cdr = chan->cdr; cdr; cdr = cdr->next) { + if (!ast_test_flag(cdr, AST_CDR_FLAG_LOCKED)) { + cdr->amaflags = newflag; + } + } } return 0;