From c6df8954a9127ccb9d44624cf70141dbe4f4f435 Mon Sep 17 00:00:00 2001 From: mattf Date: Fri, 31 Aug 2012 21:19:27 +0000 Subject: [PATCH] Added vicidial_dial_log outbound call logging git-svn-id: svn://192.168.202.10@1854 3d104415-ff17-0410-8863-d5cf3c621b8a --- agc_2-X/trunk/UPGRADE | 2 + agc_2-X/trunk/bin/ADMIN_archive_log_tables.pl | 102 +++++++++++++++++- agc_2-X/trunk/bin/AST_VDauto_dial.pl | 9 +- agc_2-X/trunk/bin/AST_VDauto_dial_FILL.pl | 17 ++- .../trunk/extras/MySQL_AST_CREATE_tables.sql | 19 +++- agc_2-X/trunk/extras/upgrade_2.6.sql | 19 ++++ agc_2-X/trunk/www/agc/manager_send.php | 13 ++- agc_2-X/trunk/www/agc/vdc_db_query.php | 19 +++- agc_2-X/trunk/www/vicidial/admin.php | 11 +- agc_2-X/trunk/www/vicidial/non_agent_api.php | 8 +- agc_2-X/trunk/www/vicidial/send_CID_call.php | 7 +- 11 files changed, 207 insertions(+), 19 deletions(-) diff --git a/agc_2-X/trunk/UPGRADE b/agc_2-X/trunk/UPGRADE index f91fbcf2..fd051755 100644 --- a/agc_2-X/trunk/UPGRADE +++ b/agc_2-X/trunk/UPGRADE @@ -89,6 +89,8 @@ OTHER CHANGES: 13. Added non-loading webphone options and API agent call and webphone url functions +14. Added outbound call logging in vicidial_dial_log table + diff --git a/agc_2-X/trunk/bin/ADMIN_archive_log_tables.pl b/agc_2-X/trunk/bin/ADMIN_archive_log_tables.pl index b02cd4f2..81ca9041 100644 --- a/agc_2-X/trunk/bin/ADMIN_archive_log_tables.pl +++ b/agc_2-X/trunk/bin/ADMIN_archive_log_tables.pl @@ -35,6 +35,7 @@ # 110808-0055 - Added vicidial_log_noanswer process # 110822-1257 - Added did_agent_log process # 120402-2144 - Added "--daily" flag that will archive call_log and vicidial_log_extended logs past 24 hours +# 120831-1536 - Added rolling of vicidial_dial_log entries # ### begin parsing run-time options ### @@ -50,7 +51,7 @@ if (length($ARGV[0])>1) if ($args =~ /--help/i) { print "allowed run time options:\n"; - print " [--daily] = only archives call_log and vicidial_log_extended tables, only last 24 hours kept\n"; + print " [--daily] = only archives call_log, vicidial_log_extended and vicidial_dial_log tables, only last 24 hours kept\n"; print " [--months=XX] = number of months to archive past, must be 12 or less, default is 2\n"; print " [--closer-log] = archive vicidial_closer_log records\n"; print " [--queue-log] = archive QM queue_log records\n"; @@ -200,7 +201,7 @@ if (!$T) { if ($daily > 0) { - # The --daily option was added because these two tables(call_log and + # The --daily option was added because these two tables(call_log, vicidial_dial_log and # vicidial_log_extended) are not used for any processes or reports past # 24 hours, and on systems dialing 500,000 calls per day or more, this # can lead to system delay issues even if the 1-month archive process is @@ -300,6 +301,53 @@ if (!$T) ##### END vicidial_log_extended DAILY processing ##### + ##### BEGIN vicidial_dial_log DAILY processing ##### + $stmtA = "SELECT count(*) from vicidial_dial_log;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $vicidial_dial_log_count = $aryA[0]; + } + $sthA->finish(); + + $stmtA = "SELECT count(*) from vicidial_dial_log_archive;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $vicidial_dial_log_archive_count = $aryA[0]; + } + $sthA->finish(); + + if (!$Q) {print "\nProcessing vicidial_dial_log table... ($vicidial_dial_log_count|$vicidial_dial_log_archive_count)\n";} + $stmtA = "INSERT IGNORE INTO vicidial_dial_log_archive SELECT * from vicidial_dial_log;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + + $sthArows = $sthA->rows; + if (!$Q) {print "$sthArows rows inserted into vicidial_dial_log_archive table \n";} + + $rv = $sthA->err(); + if (!$rv) + { + $stmtA = "DELETE FROM vicidial_dial_log WHERE call_date < '$del_time';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows = $sthA->rows; + if (!$Q) {print "$sthArows rows deleted from vicidial_dial_log table \n";} + + $stmtA = "optimize table vicidial_dial_log;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + } + ##### END vicidial_dial_log DAILY processing ##### + + ### calculate time to run script ### $secY = time(); $secZ = ($secY - $secX); @@ -593,6 +641,56 @@ if (!$T) } + ##### vicidial_dial_log + $stmtA = "SELECT count(*) from vicidial_dial_log;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $vicidial_dial_log_count = $aryA[0]; + } + $sthA->finish(); + + $stmtA = "SELECT count(*) from vicidial_dial_log_archive;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $vicidial_dial_log_archive_count = $aryA[0]; + } + $sthA->finish(); + + if (!$Q) {print "\nProcessing vicidial_dial_log table... ($vicidial_dial_log_count|$vicidial_dial_log_archive_count)\n";} + $stmtA = "INSERT IGNORE INTO vicidial_dial_log_archive SELECT * from vicidial_dial_log;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + + $sthArows = $sthA->rows; + if (!$Q) {print "$sthArows rows inserted into vicidial_dial_log_archive table \n";} + + $rv = $sthA->err(); + if (!$rv) + { + $stmtA = "DELETE FROM vicidial_dial_log WHERE call_date < '$del_time';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows = $sthA->rows; + if (!$Q) {print "$sthArows rows deleted from vicidial_dial_log table \n";} + + $stmtA = "optimize table vicidial_dial_log;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + + $stmtA = "optimize table vicidial_dial_log_archive;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + } + + ##### vicidial_log_noanswer $stmtA = "SELECT count(*) from vicidial_log_noanswer;"; diff --git a/agc_2-X/trunk/bin/AST_VDauto_dial.pl b/agc_2-X/trunk/bin/AST_VDauto_dial.pl index ba8b7066..ab2b51f2 100644 --- a/agc_2-X/trunk/bin/AST_VDauto_dial.pl +++ b/agc_2-X/trunk/bin/AST_VDauto_dial.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl # -# AST_VDauto_dial.pl version 2.4 +# AST_VDauto_dial.pl version 2.6 # # DESCRIPTION: # Places auto_dial calls on the VICIDIAL dialer system @@ -25,7 +25,7 @@ # It is good practice to keep this program running by placing the associated # KEEPALIVE script running every minute to ensure this program is always running # -# Copyright (C) 2011 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2012 Matt Florell LICENSE: AGPLv2 # # CHANGELOG: # 50125-1201 - Changed dial timeout to 120 seconds from 180 seconds @@ -108,6 +108,7 @@ # 110901-1125 - Added campaign areacode cid function # 110922-1202 - Added logging of last calltime to campaign # 120403-1839 - Changed auto-alt-dial multi-lead processing to use server max recording time value for time +# 120831-1503 - Added vicidial_dial_log outbound call logging # @@ -1225,6 +1226,10 @@ while($one_day_interval > 0) $stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type,alt_dial,queue_priority,last_update_time) values('$DBIPaddress[$user_CIPct]','$DBIPcampaign[$user_CIPct]','SENT','$lead_id','$VqueryCID','$phone_code','$phone_number','$SQLdate','OUT','$alt_dial','$DBIPqueue_priority[$user_CIPct]','$SQLdate')"; $affected_rows = $dbhA->do($stmtA); + ### insert log record into vicidial_dial_log table + $stmtA = "INSERT INTO vicidial_dial_log SET caller_code='$VqueryCID',lead_id='$lead_id',server_ip='$DBIPaddress[$user_CIPct]',call_date='$SQLdate',extension='$VDAD_dial_exten',channel='$local_DEF$Ndialstring$local_AMP$ext_context',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + $affected_rows = $dbhA->do($stmtA); + ### sleep for a five hundredths of a second to not flood the server with new calls # usleep(1*50*1000); usleep(1*$per_call_delay*1000); diff --git a/agc_2-X/trunk/bin/AST_VDauto_dial_FILL.pl b/agc_2-X/trunk/bin/AST_VDauto_dial_FILL.pl index afe1fd56..679a05a7 100644 --- a/agc_2-X/trunk/bin/AST_VDauto_dial_FILL.pl +++ b/agc_2-X/trunk/bin/AST_VDauto_dial_FILL.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl # -# AST_VDauto_dial_FILL.pl version 2.4 +# AST_VDauto_dial_FILL.pl version 2.6 # # DESCRIPTION: # Places auto_dial calls on the VICIDIAL dialer system across all servers only @@ -12,7 +12,7 @@ # # Should only be run on one server in a multi-server Asterisk/VICIDIAL cluster # -# Copyright (C) 2011 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2012 Matt Florell LICENSE: AGPLv2 # # CHANGELOG: # 61115-1246 - First build, framework setup, non-functional @@ -32,6 +32,7 @@ # 101207-0713 - Added more info to Originate for rare VDAC issue # 110901-1127 - Added campaign areacode cid function # 110922-1203 - Added logging of last calltime to campaign +# 120831-1502 - Added vicidial_dial_log outbound call logging # ### begin parsing run-time options ### @@ -820,6 +821,10 @@ while($one_day_interval > 0) $stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type,alt_dial,queue_priority) values('$DB_camp_server_server_ip[$server_CIPct]','$DBfill_campaign[$camp_CIPct]','SENT','$lead_id','$VqueryCID','$phone_code','$phone_number','$SQLdate','OUTBALANCE','$alt_dial','$DBIPqueue_priority[$camp_CIPct]')"; $affected_rows = $dbhA->do($stmtA); $calls_placed++; + + ### insert log record into vicidial_dial_log table + $stmtA = "INSERT INTO vicidial_dial_log SET caller_code='$VqueryCID',lead_id='$lead_id',server_ip='$DB_camp_server_server_ip[$server_CIPct]',call_date='$SQLdate',extension='$VDAD_dial_exten',channel='$local_DEF$Ndialstring$local_AMP$ext_context',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + $affected_rows = $dbhA->do($stmtA); } else { @@ -830,6 +835,8 @@ while($one_day_interval > 0) $st_logged[$staggered_ct] = "$phone_number|$DBfill_campaign[$camp_CIPct]|$VqueryCID|$gmt_offset_now|$alt_dial|"; + $vddl_inserts[$staggered_ct] = "INSERT INTO vicidial_dial_log SET caller_code='$VqueryCID',lead_id='$lead_id',server_ip='XXXXXXXXXXXXXXX',call_date='$SQLdate',extension='$VDAD_dial_exten',channel='$local_DEF$Ndialstring$local_AMP$ext_context',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + $calls_placed++; $staggered_ct++; } @@ -930,18 +937,21 @@ while($one_day_interval > 0) $TEMP_vac_insert = $vac_inserts[$staggered_fill]; $TEMP_vl_update = $vl_updates[$staggered_fill]; $TEMP_st_logged = $st_logged[$staggered_fill]; + $TEMP_vddl_inserts = $vddl_inserts[$staggered_fill]; $TEMP_vm_insert =~ s/XXXXXXXXXXXXXXX/$TEMP_server_ip/gi; $TEMP_vac_insert =~ s/XXXXXXXXXXXXXXX/$TEMP_server_ip/gi; + $TEMP_vddl_inserts =~ s/XXXXXXXXXXXXXXX/$TEMP_server_ip/gi; if (length($TEMP_vm_insert) > 20) { $affected_rows_vl = $dbhA->do($TEMP_vl_update); $affected_rows_vm = $dbhA->do($TEMP_vm_insert); $affected_rows_vac = $dbhA->do($TEMP_vac_insert); + $affected_rows_vddl = $dbhA->do($TEMP_vddl_inserts); } - $event_string = "| number call stagger dialed|$TEMP_server_ip|$staggered_fill|$staggered_ct|$affected_rows_vm|$affected_rows_vac|$affected_rows_vl $TEMP_st_logged"; + $event_string = "| number call stagger dialed|$TEMP_server_ip|$staggered_fill|$staggered_ct|$affected_rows_vm|$affected_rows_vac|$affected_rows_vl|$affected_rows_vddl $TEMP_st_logged"; &event_logger; ### sleep for 2.5 hundredths of a second to not flood the server with new calls @@ -964,6 +974,7 @@ while($one_day_interval > 0) @vac_inserts=@MT; @vl_updates=@MT; @st_logged=@MT; + @vddl_inserts=@MT; ############################################################################### ###### END - experimental balanced FILL dialing ($staggered) ############################################################################### diff --git a/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql b/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql index b04571f3..7bfd965a 100644 --- a/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql +++ b/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql @@ -2673,6 +2673,20 @@ webphone_url TEXT, agent_login_call TEXT ); +CREATE TABLE vicidial_dial_log ( +caller_code VARCHAR(30) NOT NULL, +lead_id INT(9) UNSIGNED default '0', +server_ip VARCHAR(15), +call_date DATETIME, +extension VARCHAR(100) default '', +channel VARCHAR(100) default '', +context VARCHAR(100) default '', +timeout MEDIUMINT(7) UNSIGNED default '0', +outbound_cid VARCHAR(100) default '', +index (caller_code), +index (call_date) +); + ALTER TABLE vicidial_campaign_server_stats ENGINE=MEMORY; @@ -2829,7 +2843,10 @@ CREATE TABLE vicidial_log_noanswer_archive LIKE vicidial_log_noanswer; CREATE TABLE vicidial_did_agent_log_archive LIKE vicidial_did_agent_log; CREATE UNIQUE INDEX vdala on vicidial_did_agent_log_archive (uniqueid,call_date,did_route); -UPDATE system_settings SET db_schema_version='1325',db_schema_update_date=NOW(); +CREATE TABLE vicidial_dial_log_archive LIKE vicidial_dial_log; +CREATE UNIQUE INDEX vddla on vicidial_dial_log_archive (caller_code,call_date); + +UPDATE system_settings SET db_schema_version='1326',db_schema_update_date=NOW(); GRANT RELOAD ON *.* TO cron@'%'; GRANT RELOAD ON *.* TO cron@localhost; diff --git a/agc_2-X/trunk/extras/upgrade_2.6.sql b/agc_2-X/trunk/extras/upgrade_2.6.sql index ea947479..d32d4b03 100644 --- a/agc_2-X/trunk/extras/upgrade_2.6.sql +++ b/agc_2-X/trunk/extras/upgrade_2.6.sql @@ -46,3 +46,22 @@ agent_login_call TEXT ); UPDATE system_settings SET db_schema_version='1325',db_schema_update_date=NOW() where db_schema_version < 1325; + +CREATE TABLE vicidial_dial_log ( +caller_code VARCHAR(30) NOT NULL, +lead_id INT(9) UNSIGNED default '0', +server_ip VARCHAR(15), +call_date DATETIME, +extension VARCHAR(100) default '', +channel VARCHAR(100) default '', +context VARCHAR(100) default '', +timeout MEDIUMINT(7) UNSIGNED default '0', +outbound_cid VARCHAR(100) default '', +index (caller_code), +index (call_date) +); + +CREATE TABLE vicidial_dial_log_archive LIKE vicidial_dial_log; +CREATE UNIQUE INDEX vddla on vicidial_dial_log_archive (caller_code,call_date); + +UPDATE system_settings SET db_schema_version='1326',db_schema_update_date=NOW() where db_schema_version < 1326; diff --git a/agc_2-X/trunk/www/agc/manager_send.php b/agc_2-X/trunk/www/agc/manager_send.php index 6ac4b2ec..64ca9d3f 100644 --- a/agc_2-X/trunk/www/agc/manager_send.php +++ b/agc_2-X/trunk/www/agc/manager_send.php @@ -110,12 +110,13 @@ # 110224-1710 - Added compatibility with QM phone environment logging # 110626-2320 - Added qm_extension # 120810-0030 - Added external_recording +# 120831-1458 - Added vicidial_dial_log outbound call logging # -$version = '2.6-57'; -$build = '120810-0030'; +$version = '2.6-58'; +$build = '120831-1458'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=118; +$mysql_log_count=119; $one_mysql_log=0; require("dbconnect.php"); @@ -463,6 +464,12 @@ if ($ACTION=="Originate") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02007',$user,$server_ip,$session_name,$one_mysql_log);} echo "Originate command sent for Exten $exten Channel $channel on $server_ip |$account|$variable|\n"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$queryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$exten',channel='$channel',timeout='0',outbound_cid='$outCID',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02119',$user,$server_ip,$session_name,$one_mysql_log);} + if ($agent_dialed_number > 0) { if (strlen($lead_id)<1) {$lead_id='0';} diff --git a/agc_2-X/trunk/www/agc/vdc_db_query.php b/agc_2-X/trunk/www/agc/vdc_db_query.php index 4fcbeeb1..a750c288 100644 --- a/agc_2-X/trunk/www/agc/vdc_db_query.php +++ b/agc_2-X/trunk/www/agc/vdc_db_query.php @@ -311,12 +311,13 @@ # 120514-0934 - Added Dial In-group cid-override # 120619-0616 - Corrected xfer_log logging of manual preview dialed calls # 120731-1205 - Small fix for vendor_lead_code population on new lead during manual dial +# 120831-1438 - Added vicidial_dial_log logging of outbound phone calls # -$version = '2.6-209'; -$build = '120731-1205'; +$version = '2.6-210'; +$build = '120831-1438'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=441; +$mysql_log_count=443; $one_mysql_log=0; require("dbconnect.php"); @@ -2494,6 +2495,12 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00033',$user,$server_ip,$session_name,$one_mysql_log);} + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$dial_channel', timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00442',$user,$server_ip,$session_name,$one_mysql_log);} + ### Skip logging and list overrides if dial in-group is used if (strlen($dial_ingroup) < 1) { @@ -3085,6 +3092,12 @@ if ($ACTION == 'manDiaLonly') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00044',$user,$server_ip,$session_name,$one_mysql_log);} + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$local_DEF$conf_exten$local_AMP$ext_context$Local_persist',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00443',$user,$server_ip,$session_name,$one_mysql_log);} + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); diff --git a/agc_2-X/trunk/www/vicidial/admin.php b/agc_2-X/trunk/www/vicidial/admin.php index 9245167c..898bd206 100644 --- a/agc_2-X/trunk/www/vicidial/admin.php +++ b/agc_2-X/trunk/www/vicidial/admin.php @@ -3141,12 +3141,13 @@ else # 120713-2123 - Added max stats download link and extended_vl option # 120810-1018 - Added Admin List Counts system settings option # 120820-1104 - Added is_webphone option Y_API_LAUNCH +# 120831-1523 - Added vicidial_dial_log outbound call logging # # make sure you have added a user to the vicidial_users MySQL table with at least user_level 8 to access this page the first time -$admin_version = '2.6-374a'; -$build = '120820-1104'; +$admin_version = '2.6-375a'; +$build = '120831-1523'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); @@ -7272,6 +7273,8 @@ if ($ADD==99999)
  • Email Address
  • Security Phrase
  • Comments +
  • Rank +
  • Owner
    NOTES: The Excel Lead loader functionality is enabled by a series of perl scripts and needs to have a properly configured /etc/astguiclient.conf file in place on the web server. Also, a couple perl modules must be loaded for it to work as well - OLE-Storage_Lite and Spreadsheet-ParseExcel. You can check for runtime errors in these by looking at your apache error_log file. Also, for duplication checks against gampaign lists, the list that has new leads going into it does need to be created in the system before you start to load the leads. @@ -14824,6 +14827,10 @@ if ($ADD==41) $stmtC = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type,alt_dial,queue_priority) values('$SSactive_voicemail_server','$campaign_id','SENT','$lead_id','$VqueryCID','$phone_code','$phone_number','$SQLdate','OUT','MAIN','99')"; $rslt=mysql_query($stmtC, $link); + ### insert a record in the vicidial_dial_log table + $stmtD = "INSERT INTO vicidial_dial_log SET caller_code='$VqueryCID',lead_id='$lead_id',server_ip='$SSactive_voicemail_server',call_date='$SQLdate',extension='$VDAD_dial_exten',channel='$local_DEF$Ndialstring$local_AMP$ext_context',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + $rslt=mysql_query($stmtD, $link); + ### LOG INSERTION Admin Log Table, for campaign ### $SQL_log = "$stmtA|$stmtB|$stmtC|"; $SQL_log = ereg_replace(';','',$SQL_log); diff --git a/agc_2-X/trunk/www/vicidial/non_agent_api.php b/agc_2-X/trunk/www/vicidial/non_agent_api.php index 587f7091..b325c249 100644 --- a/agc_2-X/trunk/www/vicidial/non_agent_api.php +++ b/agc_2-X/trunk/www/vicidial/non_agent_api.php @@ -66,10 +66,11 @@ # 120315-1537 - Added filter for single-quotes and backslashes on custom field data # 120326-1317 - Added agent_stats_export function # 120810-0859 - Added add_group_alias function, altered agent_stats_export function +# 120831-1529 - Added vicidial_dial_log outbound call logging # -$version = '2.6-44'; -$build = '120810-0859'; +$version = '2.6-45'; +$build = '120831-1529'; $api_url_log = 0; $startMS = microtime(); @@ -1458,6 +1459,9 @@ if ($function == 'blind_monitor') { $man_id = mysql_insert_id($link); + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$BMquery',lead_id='0',server_ip='$monitor_server_ip',call_date='$NOW_TIME',extension='$dialplan_number',channel='Local/$monitor_dialstring$stage$session_id@default',timeout='0',outbound_cid='\"VC Blind Monitor\" <$outbound_cid>',context='default';"; + $rslt=mysql_query($stmt, $link); + $result = 'SUCCESS'; $result_reason = "blind_monitor HAS BEEN LAUNCHED"; echo "$result: $result_reason - $phone_login|$monitor_dialstring$stage$session_id|$dialplan_number|$session_id|$man_id|$user\n"; diff --git a/agc_2-X/trunk/www/vicidial/send_CID_call.php b/agc_2-X/trunk/www/vicidial/send_CID_call.php index 8549f6a3..3eb286be 100644 --- a/agc_2-X/trunk/www/vicidial/send_CID_call.php +++ b/agc_2-X/trunk/www/vicidial/send_CID_call.php @@ -3,11 +3,12 @@ # # Send calls with custom callerID numbers from web form # -# Copyright (C) 2009 Matt Florell LICENSE: GPLv2 +# Copyright (C) 2012 Matt Florell LICENSE: GPLv2 # # CHANGES # # 90714-1355 - First Build +# 120831-1527 - Added vicidial_dial_log logging # require("dbconnect.php"); @@ -123,6 +124,10 @@ else if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='TESTCIDCALL098765432',lead_id='0',server_ip='$server_ip',call_date='$NOW_TIME',extension='91$receiver',channel='Local/91$sender$Local_end',timeout='$Local_dial_timeout',outbound_cid='\"$cid_number\" <$cid_number>',context='default';"; + $rslt=mysql_query($stmt, $link); + + echo "Call sent from $sender to $receiver using CIDnumber: $cid_number"; }