summaryrefslogtreecommitdiff
path: root/apps/app_dial.c
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2005-11-25 19:59:46 +0000
committerMark Spencer <markster@digium.com>2005-11-25 19:59:46 +0000
commitaab82dc3d2a46299224d741ea4756f63fed08686 (patch)
treed10648493d1ca8ccb77b3ae6f738dd612880f622 /apps/app_dial.c
parentf831c8906648478a0961c50c3719f94dd2d44719 (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
Diffstat (limited to 'apps/app_dial.c')
-rwxr-xr-xapps/app_dial.c13
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)