Index: app_dial.c =================================================================== RCS file: /usr/cvsroot/asterisk/apps/app_dial.c,v retrieving revision 1.189 retrieving revision 1.190 diff -u -d -r1.189 -r1.190 --- app_dial.c 25 Nov 2005 14:13:54 -0000 1.189 +++ app_dial.c 25 Nov 2005 19:59:46 -0000 1.190 @@ -75,7 +75,7 @@ "continue if no requested channels can be called, or if the timeout expires.\n\n" " This application sets the following channel variables upon completion:\n" " DIALEDTIME - This is the time from dialing a channel until when it\n" -" answers.\n" +" is disconnected.\n" " ANSWEREDTIME - This is the amount of time for actual call.\n" " DIALSTATUS - This is the status of the call:\n" " CHANUNAVAIL | CONGESTION | NOANSWER | BUSY | ANSWER | CANCEL\n" @@ -735,6 +735,7 @@ char numsubst[AST_MAX_EXTENSION]; char restofit[AST_MAX_EXTENSION]; char cidname[AST_MAX_EXTENSION]; + char toast[80]; char *newnum; char *l; int privdb_val=0; @@ -1513,8 +1514,6 @@ } if (!res) { - char toast[80]; - memset(&config,0,sizeof(struct ast_bridge_config)); if (play_to_caller) ast_set_flag(&(config.features_caller), AST_FEATURE_PLAY_WARNING); @@ -1558,13 +1557,15 @@ } res = ast_bridge_call(chan,peer,&config); time(&end_time); - snprintf(toast, sizeof(toast), "%ld", (long)(end_time - start_time)); - pbx_builtin_setvar_helper(chan, "DIALEDTIME", toast); snprintf(toast, sizeof(toast), "%ld", (long)(end_time - answer_time)); pbx_builtin_setvar_helper(chan, "ANSWEREDTIME", toast); - } else + } else { + time(&end_time); res = -1; + } + snprintf(toast, sizeof(toast), "%ld", (long)(end_time - start_time)); + pbx_builtin_setvar_helper(chan, "DIALEDTIME", toast); if (res != AST_PBX_NO_HANGUP_PEER) { if (!chan->_softhangup)