From: Mark Spencer Date: Fri, 25 Nov 2005 19:59:46 +0000 (+0000) Subject: Record DIALEDTIME on incomplete calls, update description (bug #5862) X-Git-Tag: 1.4.0-beta1~3259 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aab82dc3d2a46299224d741ea4756f63fed08686;p=thirdparty%2Fasterisk.git Record DIALEDTIME on incomplete calls, update description (bug #5862) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7198 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_dial.c b/apps/app_dial.c index ff940dd732..641e07e258 100755 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -75,7 +75,7 @@ static char *descrip = "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 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags 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 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags } 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 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags } 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)