--- apps/app_dial.c~ 2009-03-19 14:33:19.000000000 -0600 +++ apps/app_dial.c 2009-05-01 11:27:52.000000000 -0600 @@ -491,7 +491,9 @@ static void do_forward(struct chanlist * char *stuff; char *tech; int cause; + char diverted_by[256]; + ast_copy_string(diverted_by, original->name, sizeof(diverted_by)); ast_copy_string(tmpchan, c->call_forward, sizeof(tmpchan)); if ((stuff = strchr(tmpchan, '/'))) { *stuff++ = '\0'; @@ -531,6 +533,8 @@ static void do_forward(struct chanlist * char *new_cid_num, *new_cid_name; struct ast_channel *src; + pbx_builtin_setvar_helper(c, "DIVERTED_BY", diverted_by); + ast_rtp_make_compatible(c, in, single); if (ast_test_flag64(o, OPT_FORCECLID)) { new_cid_num = ast_strdup(S_OR(in->macroexten, in->exten));