diff --git a/main/cdr.c b/main/cdr.c index d19f6a8ad228c979ecc21aaa2d4c38e7aff737c5..11dbc56a99e6bd0df448c9b7cd117a5a821c5399 100644 --- a/main/cdr.c +++ b/main/cdr.c @@ -848,8 +848,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;