Index: main/cdr.c =================================================================== --- main/cdr.c (revision 262098) +++ main/cdr.c (working copy) @@ -828,6 +828,10 @@ { /* Grab source from ANI or normal Caller*ID */ const char *num = S_OR(c->cid.cid_ani, c->cid.cid_num); + + /* Grab DNID */ + const char *dnid = S_OR(c->cid.cid_dnid, ""); + if (!cdr) return; if (!ast_strlen_zero(c->cid.cid_name)) { @@ -841,7 +845,7 @@ cdr->clid[0] = '\0'; } ast_copy_string(cdr->src, S_OR(num, ""), sizeof(cdr->src)); - ast_cdr_setvar(cdr, "dnid", S_OR(c->cid.cid_dnid, ""), 0); + ast_cdr_setvar(cdr, "dnid", dnid, 0); } int ast_cdr_setcid(struct ast_cdr *cdr, struct ast_channel *c)