--- ../asterisk-10.4.0-rc1/apps/app_dial.c 2012-03-15 19:22:01.000000000 +0100 +++ apps/app_dial.c 2012-05-13 23:44:30.460820295 +0200 @@ -2954,7 +2950,7 @@ } ast_channel_early_bridge(chan, NULL); - hanguptree(outgoing, NULL, 0); /* In this case, there's no answer anywhere */ + hanguptree(outgoing, NULL, (ast_test_flag(chan, AST_FLAG_ANSWERED_ELSEWHERE) || chan->hangupcause == AST_CAUSE_ANSWERED_ELSEWHERE) ? 1 : 0); /* Forward 'answered elsewhere' if we received it */ pbx_builtin_setvar_helper(chan, "DIALSTATUS", pa.status); senddialendevent(chan, pa.status); ast_debug(1, "Exiting with DIALSTATUS=%s.\n", pa.status);