diff options
author | Mark Spencer <markster@digium.com> | 2005-11-25 19:59:46 +0000 |
---|---|---|
committer | Mark Spencer <markster@digium.com> | 2005-11-25 19:59:46 +0000 |
commit | aab82dc3d2a46299224d741ea4756f63fed08686 (patch) | |
tree | d10648493d1ca8ccb77b3ae6f738dd612880f622 | |
parent | f831c8906648478a0961c50c3719f94dd2d44719 (diff) |
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
-rwxr-xr-x | apps/app_dial.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c index ff940dd73..641e07e25 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) |