From c3acffc4f3a66ed0d1fe25f8a4f2dbd69598b92d Mon Sep 17 00:00:00 2001 From: mattf Date: Fri, 11 May 2007 19:45:53 +0000 Subject: [PATCH] FastAGI_log.pl script updated for better logging git-svn-id: svn://192.168.202.10@615 3d104415-ff17-0410-8863-d5cf3c621b8a --- bin/FastAGI_log.pl | 24 +++++++++++++++++++++++- docs/INBOUND-CLOSER_PROCESS.txt | 2 +- extras/upgrade_2.0.4.sql | 27 +++++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 2 deletions(-) diff --git a/bin/FastAGI_log.pl b/bin/FastAGI_log.pl index 8cb8de9a..b69c0e01 100644 --- a/bin/FastAGI_log.pl +++ b/bin/FastAGI_log.pl @@ -405,6 +405,28 @@ sub process_request { $extension = $SIP_ext; } + if ( ($callerid =~ /^V|^M/) && ($callerid =~ /\d\d\d\d\d\d\d\d\d/) && (length($number_dialed)<1) ) + { + $stmtA = "SELECT cmd_line_b,cmd_line_d FROM vicidial_manager where callerid='$callerid' limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $cmd_line_b = "$aryA[0]"; + $cmd_line_d = "$aryA[1]"; + $cmd_line_b =~ s/Exten: //gi; + $cmd_line_d =~ s/Channel: Local\/|@.*//gi; + $rec_count++; + } + $sthA->finish(); + if ($callerid =~ /^V/) {$number_dialed = "$cmd_line_d";} + if ($callerid =~ /^M/) {$number_dialed = "$cmd_line_b";} + $number_dialed =~ s/\D//gi; + if (length($number_dialed)<1) {$number_dialed=$extension;} + } $stmtA = "INSERT INTO call_log (uniqueid,channel,channel_group,type,server_ip,extension,number_dialed,start_time,start_epoch,end_time,end_epoch,length_in_sec,length_in_min,caller_code) values('$unique_id','$channel','$channel_group','$type','$VARserver_ip','$extension','$number_dialed','$now_date','$now_date_epoch','','','','','$callerid')"; if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} @@ -442,7 +464,7 @@ sub process_request { if ($AGILOG) {$agi_string = "QUERY done: start time = $start_time | sec: $length_in_sec | min: $length_in_min |"; &agi_output;} - $stmtA = "UPDATE call_log set end_time='$now_date',end_epoch='$now_date_epoch',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where uniqueid='$unique_id'"; + $stmtA = "UPDATE call_log set end_time='$now_date',end_epoch='$now_date_epoch',length_in_sec=$length_in_sec,length_in_min='$length_in_min',channel='$channel' where uniqueid='$unique_id'"; if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} $affected_rows = $dbhA->do($stmtA); diff --git a/docs/INBOUND-CLOSER_PROCESS.txt b/docs/INBOUND-CLOSER_PROCESS.txt index 9169b4a9..58d76a29 100644 --- a/docs/INBOUND-CLOSER_PROCESS.txt +++ b/docs/INBOUND-CLOSER_PROCESS.txt @@ -45,7 +45,7 @@ recording_id INT(10) UNSIGNED For the fronter/closer transfers some fields will need to be added to the vicidial_user groups table: allowable_xfer_inbound_groups TEXT -default_xfer_inbound_group VARCHAR(40) +default_xfer_inbound_group VARCHAR(20) diff --git a/extras/upgrade_2.0.4.sql b/extras/upgrade_2.0.4.sql index e69de29b..d5b8b92f 100644 --- a/extras/upgrade_2.0.4.sql +++ b/extras/upgrade_2.0.4.sql @@ -0,0 +1,27 @@ +THESE CHANGES ARE NOT FOR PRODUCTION USE YET, DO NOT APPLY THEM!!!!!!!!!!!!!!!!!!!!! + + + + + + + +ALTER TABLE vicidial_inbound_groups ADD moh_extension VARCHAR(20); +ALTER TABLE vicidial_inbound_groups ADD prompt_interval SMALLINT(5) UNSIGNED default '60'; +ALTER TABLE vicidial_inbound_groups ADD announce_place_in_line ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_inbound_groups ADD announce_estimate_hold_time ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_inbound_groups ADD allow_leave_queue_place ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_inbound_groups ADD allow_leave_queue_message ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_inbound_groups ADD callback_number_validation ENUM('6','7','8','9','10','11','12','13','14','NORTH_AMERICA','UK'); +ALTER TABLE vicidial_inbound_groups ADD call_time VARCHAR(20); +ALTER TABLE vicidial_inbound_groups ADD after_hours ENUM('HANGUP','VOICEMAIL','EXTENSION') default 'EXTENSION'; +ALTER TABLE vicidial_inbound_groups ADD after_hours_exten VARCHAR(20); + +ALTER TABLE servers ADD hold_queue_prompt_exten VARCHAR(20) default '8359'; + +ALTER TABLE vicidial_auto_calls ADD last_prompt_time DATETIME; +ALTER TABLE vicidial_auto_calls ADD random_id INT(9) UNSIGNED; +ALTER TABLE vicidial_auto_calls ADD recording_id INT(10) UNSIGNED; + +ALTER TABLE vicidial_user_groups ADD allowable_xfer_inbound_groups TEXT +ALTER TABLE vicidial_user_groups ADD default_xfer_inbound_group VARCHAR(20)