[Asterisk-cvs] asterisk/apps app_dial.c,1.189,1.190

markster markster
Fri Nov 25 15:11:09 CST 2005


Update of /usr/cvsroot/asterisk/apps
In directory mongoose.digium.com:/tmp/cvs-serv27120/apps

Modified Files:
	app_dial.c 
Log Message:
Record DIALEDTIME on incomplete calls, update description (bug #5862)


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)




More information about the svn-commits mailing list