From 9acfdee692a056bfa54d809ffdb475bc5dafbefb Mon Sep 17 00:00:00 2001 From: mattf Date: Sat, 27 Mar 2010 13:10:22 +0000 Subject: [PATCH] Fixed answering machine message issues(requires extensions.conf change) Fixed inbound next-call-route issue git-svn-id: svn://192.168.202.10@1387 3d104415-ff17-0410-8863-d5cf3c621b8a --- agc_2-X/branches/agc_2.2.0/UPGRADE | 5 +++ agc_2-X/branches/agc_2.2.0/agi/VD_amd.agi | 42 +++++++++++++------ .../agc_2.2.0/agi/agi-VDAD_ALL_inbound.agi | 4 +- .../docs/conf_examples/extensions.conf.sample | 2 + .../conf_examples/extensions.conf.sample-1.4 | 2 + .../agc_2.2.0/www/agc/manager_send.php | 41 ++---------------- .../agc_2.2.0/www/agc/vdc_db_query.php | 7 +++- .../branches/agc_2.2.0/www/agc/vicidial.php | 7 ++-- agc_2-X/trunk/UPGRADE | 5 +++ agc_2-X/trunk/agi/VD_amd.agi | 42 +++++++++++++------ agc_2-X/trunk/agi/agi-VDAD_ALL_inbound.agi | 4 +- .../trunk/docs/ALTERNATE_NUMBER_DIALING.txt | 6 +++ .../docs/conf_examples/extensions.conf.sample | 2 + .../conf_examples/extensions.conf.sample-1.4 | 2 + agc_2-X/trunk/www/agc/manager_send.php | 41 ++---------------- agc_2-X/trunk/www/agc/vdc_db_query.php | 5 +++ agc_2-X/trunk/www/agc/vicidial.php | 7 ++-- agc_2-X/trunk/www/vicidial/user_stats.php | 23 ++++++++++ 18 files changed, 138 insertions(+), 109 deletions(-) diff --git a/agc_2-X/branches/agc_2.2.0/UPGRADE b/agc_2-X/branches/agc_2.2.0/UPGRADE index bd997b9c..fba9070f 100644 --- a/agc_2-X/branches/agc_2.2.0/UPGRADE +++ b/agc_2-X/branches/agc_2.2.0/UPGRADE @@ -389,6 +389,11 @@ NOTE: Upgrading from 1.1.12-3 to 2.0.1 is at the bottom 94. Added carrier log display option to Real-time report to show the hangup causes for the last 24/6/1 hours and 15/5/1 minutes of outbound calls +95. Add the following lines to the extensions.conf to fix bug with manual dial + leave answering machine message(put in the default context): + exten => _8320*.,1,AGI(VD_amd.agi,${EXTEN}-----YES) + exten => _8320*.,2,Hangup + diff --git a/agc_2-X/branches/agc_2.2.0/agi/VD_amd.agi b/agc_2-X/branches/agc_2.2.0/agi/VD_amd.agi index 99042826..561df135 100644 --- a/agc_2-X/branches/agc_2.2.0/agi/VD_amd.agi +++ b/agc_2-X/branches/agc_2.2.0/agi/VD_amd.agi @@ -18,6 +18,8 @@ # # exten => 8320,1,AGI(VD_amd.agi,${EXTEN}-----YES) # exten => 8320,2,Hangup +# exten => _8320*.,1,AGI(VD_amd.agi,${EXTEN}-----YES) +# exten => _8320*.,2,Hangup # # Copyright (C) 2010 Matt Florell LICENSE: AGPLv2 # @@ -32,6 +34,7 @@ # 90916-1317 - Changed to audio file playback and TTS playback # 90924-1533 - Added answering machine message list_id override option # 100205-1025 - Fixed CPD send to message +# 100327-0819 - Fixed issue with Manual dial treansfers # $script = 'VD_amd.agi'; @@ -111,7 +114,7 @@ while ($sthArows > $rec_count) { $AGILOG = '0'; @aryA = $sthA->fetchrow_array; - $DBagi_output = "$aryA[0]"; + $DBagi_output = $aryA[0]; if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} @@ -119,7 +122,6 @@ while ($sthArows > $rec_count) } $sthA->finish(); - ### begin parsing run-time options ### if (length($ARGV[0])>1) { @@ -162,6 +164,17 @@ while() if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} } +# extension variables if set: 8320*TESTCAMP*1*9998888112*194239 +if ($extension =~ /\*/) + { + @EXT_vars = split(/\*/, $extension); + $referring_extension = $EXT_vars[0]; + $CLIcampaign_id = $EXT_vars[1]; + $CLIphone_code = $EXT_vars[2]; + $CLIphone_number = $EXT_vars[3]; + $CLIlead_id = $EXT_vars[4]; + } + if ( (length($callerid)>20) && ($callerid =~ /\"\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S/) ) { $callerid =~ s/^\"//gi; @@ -201,6 +214,7 @@ $callerid =~ s/\"//gi; $CIDlead_id = $callerid; $CIDlead_id = substr($CIDlead_id, 11, 9); $CIDlead_id = ($CIDlead_id + 0); +if ( ($CLIlead_id > 0) && ($CIDlead_id < 1) ) {$CIDlead_id = $CLIlead_id;} $VD_lead_id = $CIDlead_id; if ($AGILOG) {$agi_string = "+++++ VD amd START : |$CIDlead_id|$now_date|$AST_ver|$priority|$calleridname|"; &agi_output;} @@ -269,7 +283,7 @@ else while ($sthArows > $rec_count) { @aryA = $sthA->fetchrow_array; - $DBext_context = "$aryA[0]"; + $DBext_context = $aryA[0]; if ($DBext_context) {$ext_context = $DBext_context;} $rec_count++; } @@ -278,20 +292,24 @@ else ########## FIND vicidial_auto_calls record ########## $stmtA = "SELECT campaign_id,phone_code,phone_number FROM vicidial_auto_calls where callerid='$callerid' order by auto_call_id desc limit 1;"; - if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} $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) + if ($AGILOG) {$agi_string = "$sthArows|$stmtA|"; &agi_output;} + if ($sthArows > 0) { @aryA = $sthA->fetchrow_array; - $VD_campaign_id = "$aryA[0]"; - $VD_phone_code = "$aryA[1]"; - $VD_phone_number = "$aryA[2]"; - $rec_count++; + $VD_campaign_id = $aryA[0]; + $VD_phone_code = $aryA[1]; + $VD_phone_number = $aryA[2]; + $sthA->finish(); } - $sthA->finish(); + if ( (length($CLIcampaign_id) > 1) && (length($VD_campaign_id) < 1) ) + {$VD_campaign_id = $CLIcampaign_id;} + if ( (length($CLIphone_code) > 1) && (length($VD_phone_code) < 1) ) + {$VD_phone_code = $CLIphone_code;} + if ( (length($CLIphone_number) > 1) && (length($VD_phone_number) < 1) ) + {$VD_phone_number = $CLIphone_number;} if ($AMDSTATUS !~ /CPD/) { @@ -317,7 +335,7 @@ else while ($sthArows > $epc_countCUSTDATA) { @aryA = $sthA->fetchrow_array; - $VD_start_epoch = "$aryA[0]"; + $VD_start_epoch = $aryA[0]; $epc_countCUSTDATA++; } $sthA->finish(); diff --git a/agc_2-X/branches/agc_2.2.0/agi/agi-VDAD_ALL_inbound.agi b/agc_2-X/branches/agc_2.2.0/agi/agi-VDAD_ALL_inbound.agi index c6520090..bceaa786 100644 --- a/agc_2-X/branches/agc_2.2.0/agi/agi-VDAD_ALL_inbound.agi +++ b/agc_2-X/branches/agc_2.2.0/agi/agi-VDAD_ALL_inbound.agi @@ -1745,7 +1745,7 @@ while ( ($drop_timer <= $DROP_TIME) && ($wait_in_queue > 0) ) if ($sthArows > 0) { - $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today' WHERE user='$VDADuser' and group_id='$channel_group';"; + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today',last_call_time=NOW() WHERE user='$VDADuser' and group_id='$channel_group';"; $affected_rows = $dbhA->do($stmtA); $dbhP=$dbhA; $mysql_count='02050'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$VDADuser' and group_id='$channel_group';"; @@ -2158,7 +2158,7 @@ while ( ($drop_timer <= $DROP_TIME) && ($wait_in_queue > 0) ) if ($sthArows > 0) { - $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today' WHERE user='$VDADuser' and group_id='$channel_group';"; + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today',last_call_time=NOW() WHERE user='$VDADuser' and group_id='$channel_group';"; $affected_rows = $dbhA->do($stmtA); $dbhP=$dbhA; $mysql_count='02070'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$VDADuser' and group_id='$channel_group';"; diff --git a/agc_2-X/branches/agc_2.2.0/docs/conf_examples/extensions.conf.sample b/agc_2-X/branches/agc_2.2.0/docs/conf_examples/extensions.conf.sample index 8628fe98..e176f6bc 100644 --- a/agc_2-X/branches/agc_2.2.0/docs/conf_examples/extensions.conf.sample +++ b/agc_2-X/branches/agc_2.2.0/docs/conf_examples/extensions.conf.sample @@ -380,6 +380,8 @@ exten => 8307,3,Hangup ; this is used for playing a message to an answering machine forwarded from AMD in VICIDIAL exten => 8320,1,AGI(VD_amd.agi,${EXTEN}-----YES) exten => 8320,2,Hangup +exten => _8320*.,1,AGI(VD_amd.agi,${EXTEN}-----YES) +exten => _8320*.,2,Hangup ; use for selective CallerID hangup by area code(hard-coded) exten => 8352,1,AGI(agi-VDADselective_CID_hangup.agi,${EXTEN}) diff --git a/agc_2-X/branches/agc_2.2.0/docs/conf_examples/extensions.conf.sample-1.4 b/agc_2-X/branches/agc_2.2.0/docs/conf_examples/extensions.conf.sample-1.4 index 84a8fe96..7a214dca 100644 --- a/agc_2-X/branches/agc_2.2.0/docs/conf_examples/extensions.conf.sample-1.4 +++ b/agc_2-X/branches/agc_2.2.0/docs/conf_examples/extensions.conf.sample-1.4 @@ -384,6 +384,8 @@ exten => 8307,3,Hangup ; this is used for playing a message to an answering machine forwarded from AMD in VICIDIAL exten => 8320,1,AGI(VD_amd.agi,${EXTEN}-----YES) exten => 8320,2,Hangup +exten => _8320*.,1,AGI(VD_amd.agi,${EXTEN}-----YES) +exten => _8320*.,2,Hangup ; use for selective CallerID hangup by area code(hard-coded) exten => 8352,1,AGI(agi-VDADselective_CID_hangup.agi,${EXTEN}) diff --git a/agc_2-X/branches/agc_2.2.0/www/agc/manager_send.php b/agc_2-X/branches/agc_2.2.0/www/agc/manager_send.php index 40cf2dbd..afd9e2f2 100644 --- a/agc_2-X/branches/agc_2.2.0/www/agc/manager_send.php +++ b/agc_2-X/branches/agc_2.2.0/www/agc/manager_send.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2010 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -94,10 +94,10 @@ # 91112-1110 - Added CALLOUTBOUND value to QM entry lookup # 91205-2103 - Code cleanup # 91213-1208 - Added queue_position to queue_log COMPLETE... records -# +# 100327-0846 - Fix for list_id override answering machine message -$version = '2.2.0-46'; -$build = '91213-1208'; +$version = '2.2.0-47'; +$build = '100327-0846'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=85; $one_mysql_log=0; @@ -734,39 +734,6 @@ if ($ACTION=="RedirectVD") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02024',$user,$server_ip,$session_name,$one_mysql_log);} } - else - { - if (strlen($lead_id) > 1) - { - $list_id=''; - $stmt = "SELECT list_id FROM vicidial_list where lead_id='$lead_id';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02084',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $lio_ct = mysql_num_rows($rslt); - if ($lio_ct > 0) - { - $row=mysql_fetch_row($rslt); - $list_id = $row[0]; - - if (strlen($list_id) > 1) - { - $stmt = "SELECT am_message_exten_override FROM vicidial_lists where list_id='$list_id';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02085',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $lio_ct = mysql_num_rows($rslt); - if ($lio_ct > 0) - { - $row=mysql_fetch_row($rslt); - $am_message_exten_override = $row[0]; - if (strlen($am_message_exten_override) > 0) {$exten = "$am_message_exten_override";} - } - } - } - } - - } $ACTION="Redirect"; } } diff --git a/agc_2-X/branches/agc_2.2.0/www/agc/vdc_db_query.php b/agc_2-X/branches/agc_2.2.0/www/agc/vdc_db_query.php index dd5e6d12..2ed77a51 100644 --- a/agc_2-X/branches/agc_2.2.0/www/agc/vdc_db_query.php +++ b/agc_2-X/branches/agc_2.2.0/www/agc/vdc_db_query.php @@ -239,7 +239,7 @@ $version = '2.2.0-142'; $build = '100301-1342'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=309; +$mysql_log_count=310; $one_mysql_log=0; require("dbconnect.php"); @@ -4764,6 +4764,11 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00144',$user,$server_ip,$session_name,$one_mysql_log);} + $stmt = "UPDATE vicidial_live_inbound_agents set last_call_finish=NOW() where group_id='$stage' and user='$user' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00310',$user,$server_ip,$session_name,$one_mysql_log);} + $stmt = "SELECT dispo_call_url from vicidial_inbound_groups where group_id='$stage';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); diff --git a/agc_2-X/branches/agc_2.2.0/www/agc/vicidial.php b/agc_2-X/branches/agc_2.2.0/www/agc/vicidial.php index 29fb2d2b..10feb925 100644 --- a/agc_2-X/branches/agc_2.2.0/www/agc/vicidial.php +++ b/agc_2-X/branches/agc_2.2.0/www/agc/vicidial.php @@ -278,10 +278,11 @@ # 100301-1329 - Changed AGENTDIRECT user selection launching to AGENTS link next to number-to-dial field # 100309-1709 - small fix for IE CRM popup # 100315-1149 - fix for rare recording_log uniqueid issue on manual dial calls to same number +# 100327-0902 - fix for manual dial answering machine message # -$version = '2.2.0-256'; -$build = '100315-1149'; +$version = '2.2.0-257'; +$build = '100327-0902'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=64; $one_mysql_log=0; @@ -3885,7 +3886,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} no_delete_VDAC=0; if (taskvar == 'XfeRVMAIL') { - var blindxferdialstring = campaign_am_message_exten; + var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; no_delete_VDAC=1; } if (blindxferdialstring.length<'2') diff --git a/agc_2-X/trunk/UPGRADE b/agc_2-X/trunk/UPGRADE index 331f8402..a7fbf428 100644 --- a/agc_2-X/trunk/UPGRADE +++ b/agc_2-X/trunk/UPGRADE @@ -105,6 +105,11 @@ OTHER CHANGES: because you can set the call to go to a voicemail box in the selected in-group by using AGENTVMAIL in the voicemail field of the in-group. +22. Add the following lines to the extensions.conf to fix bug with manual dial + leave answering machine message(put in the default context): + exten => _8320*.,1,AGI(VD_amd.agi,${EXTEN}-----YES) + exten => _8320*.,2,Hangup + diff --git a/agc_2-X/trunk/agi/VD_amd.agi b/agc_2-X/trunk/agi/VD_amd.agi index 99042826..561df135 100644 --- a/agc_2-X/trunk/agi/VD_amd.agi +++ b/agc_2-X/trunk/agi/VD_amd.agi @@ -18,6 +18,8 @@ # # exten => 8320,1,AGI(VD_amd.agi,${EXTEN}-----YES) # exten => 8320,2,Hangup +# exten => _8320*.,1,AGI(VD_amd.agi,${EXTEN}-----YES) +# exten => _8320*.,2,Hangup # # Copyright (C) 2010 Matt Florell LICENSE: AGPLv2 # @@ -32,6 +34,7 @@ # 90916-1317 - Changed to audio file playback and TTS playback # 90924-1533 - Added answering machine message list_id override option # 100205-1025 - Fixed CPD send to message +# 100327-0819 - Fixed issue with Manual dial treansfers # $script = 'VD_amd.agi'; @@ -111,7 +114,7 @@ while ($sthArows > $rec_count) { $AGILOG = '0'; @aryA = $sthA->fetchrow_array; - $DBagi_output = "$aryA[0]"; + $DBagi_output = $aryA[0]; if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} @@ -119,7 +122,6 @@ while ($sthArows > $rec_count) } $sthA->finish(); - ### begin parsing run-time options ### if (length($ARGV[0])>1) { @@ -162,6 +164,17 @@ while() if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} } +# extension variables if set: 8320*TESTCAMP*1*9998888112*194239 +if ($extension =~ /\*/) + { + @EXT_vars = split(/\*/, $extension); + $referring_extension = $EXT_vars[0]; + $CLIcampaign_id = $EXT_vars[1]; + $CLIphone_code = $EXT_vars[2]; + $CLIphone_number = $EXT_vars[3]; + $CLIlead_id = $EXT_vars[4]; + } + if ( (length($callerid)>20) && ($callerid =~ /\"\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S/) ) { $callerid =~ s/^\"//gi; @@ -201,6 +214,7 @@ $callerid =~ s/\"//gi; $CIDlead_id = $callerid; $CIDlead_id = substr($CIDlead_id, 11, 9); $CIDlead_id = ($CIDlead_id + 0); +if ( ($CLIlead_id > 0) && ($CIDlead_id < 1) ) {$CIDlead_id = $CLIlead_id;} $VD_lead_id = $CIDlead_id; if ($AGILOG) {$agi_string = "+++++ VD amd START : |$CIDlead_id|$now_date|$AST_ver|$priority|$calleridname|"; &agi_output;} @@ -269,7 +283,7 @@ else while ($sthArows > $rec_count) { @aryA = $sthA->fetchrow_array; - $DBext_context = "$aryA[0]"; + $DBext_context = $aryA[0]; if ($DBext_context) {$ext_context = $DBext_context;} $rec_count++; } @@ -278,20 +292,24 @@ else ########## FIND vicidial_auto_calls record ########## $stmtA = "SELECT campaign_id,phone_code,phone_number FROM vicidial_auto_calls where callerid='$callerid' order by auto_call_id desc limit 1;"; - if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} $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) + if ($AGILOG) {$agi_string = "$sthArows|$stmtA|"; &agi_output;} + if ($sthArows > 0) { @aryA = $sthA->fetchrow_array; - $VD_campaign_id = "$aryA[0]"; - $VD_phone_code = "$aryA[1]"; - $VD_phone_number = "$aryA[2]"; - $rec_count++; + $VD_campaign_id = $aryA[0]; + $VD_phone_code = $aryA[1]; + $VD_phone_number = $aryA[2]; + $sthA->finish(); } - $sthA->finish(); + if ( (length($CLIcampaign_id) > 1) && (length($VD_campaign_id) < 1) ) + {$VD_campaign_id = $CLIcampaign_id;} + if ( (length($CLIphone_code) > 1) && (length($VD_phone_code) < 1) ) + {$VD_phone_code = $CLIphone_code;} + if ( (length($CLIphone_number) > 1) && (length($VD_phone_number) < 1) ) + {$VD_phone_number = $CLIphone_number;} if ($AMDSTATUS !~ /CPD/) { @@ -317,7 +335,7 @@ else while ($sthArows > $epc_countCUSTDATA) { @aryA = $sthA->fetchrow_array; - $VD_start_epoch = "$aryA[0]"; + $VD_start_epoch = $aryA[0]; $epc_countCUSTDATA++; } $sthA->finish(); diff --git a/agc_2-X/trunk/agi/agi-VDAD_ALL_inbound.agi b/agc_2-X/trunk/agi/agi-VDAD_ALL_inbound.agi index d0bfcc47..cb0d6de4 100644 --- a/agc_2-X/trunk/agi/agi-VDAD_ALL_inbound.agi +++ b/agc_2-X/trunk/agi/agi-VDAD_ALL_inbound.agi @@ -1863,7 +1863,7 @@ while ( ($drop_timer <= $DROP_TIME) && ($wait_in_queue > 0) ) if ($sthArows > 0) { - $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today' WHERE user='$VDADuser' and group_id='$channel_group';"; + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today',last_call_time=NOW() WHERE user='$VDADuser' and group_id='$channel_group';"; $affected_rows = $dbhA->do($stmtA); $dbhP=$dbhA; $mysql_count='02050'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$VDADuser' and group_id='$channel_group';"; @@ -2337,7 +2337,7 @@ while ( ($drop_timer <= $DROP_TIME) && ($wait_in_queue > 0) ) if ($sthArows > 0) { - $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today' WHERE user='$VDADuser' and group_id='$channel_group';"; + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today',last_call_time=NOW() WHERE user='$VDADuser' and group_id='$channel_group';"; $affected_rows = $dbhA->do($stmtA); $dbhP=$dbhA; $mysql_count='02070'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$VDADuser' and group_id='$channel_group';"; diff --git a/agc_2-X/trunk/docs/ALTERNATE_NUMBER_DIALING.txt b/agc_2-X/trunk/docs/ALTERNATE_NUMBER_DIALING.txt index 901781f4..1bbe7d98 100644 --- a/agc_2-X/trunk/docs/ALTERNATE_NUMBER_DIALING.txt +++ b/agc_2-X/trunk/docs/ALTERNATE_NUMBER_DIALING.txt @@ -6,6 +6,12 @@ ALTERNATE NUMBER DIALING Redesign 2008-08-20 As of the 2.2.0 version a lot of bugs have been fixed, and DNC statuses can now be used as auto-alt-dial triggering statuses +Some important rules: +- never duplicate the same number for the same lead in phone_number, alt_phone, address3 or any of the vicidial_list_alt_phones entries, doing so will mess up the auto-alt-dialing process causing numbers to be dialed many more times than they should +- make sure you do not have conflicting lead recycling and auto-alt-dial statuses, this can cause other duplicate dialing problems + + + In order to allow for more alt-numbers per lead to dial we built a new method of storing and dialing alt-numbers for leads. diff --git a/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample b/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample index 8628fe98..e176f6bc 100644 --- a/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample +++ b/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample @@ -380,6 +380,8 @@ exten => 8307,3,Hangup ; this is used for playing a message to an answering machine forwarded from AMD in VICIDIAL exten => 8320,1,AGI(VD_amd.agi,${EXTEN}-----YES) exten => 8320,2,Hangup +exten => _8320*.,1,AGI(VD_amd.agi,${EXTEN}-----YES) +exten => _8320*.,2,Hangup ; use for selective CallerID hangup by area code(hard-coded) exten => 8352,1,AGI(agi-VDADselective_CID_hangup.agi,${EXTEN}) diff --git a/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample-1.4 b/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample-1.4 index 9a78e4f0..3eb855fd 100644 --- a/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample-1.4 +++ b/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample-1.4 @@ -385,6 +385,8 @@ exten => 8307,3,Hangup ; this is used for playing a message to an answering machine forwarded from AMD in VICIDIAL exten => 8320,1,AGI(VD_amd.agi,${EXTEN}-----YES) exten => 8320,2,Hangup +exten => _8320*.,1,AGI(VD_amd.agi,${EXTEN}-----YES) +exten => _8320*.,2,Hangup ; use for selective CallerID hangup by area code(hard-coded) exten => 8352,1,AGI(agi-VDADselective_CID_hangup.agi,${EXTEN}) diff --git a/agc_2-X/trunk/www/agc/manager_send.php b/agc_2-X/trunk/www/agc/manager_send.php index 40cf2dbd..afd9e2f2 100644 --- a/agc_2-X/trunk/www/agc/manager_send.php +++ b/agc_2-X/trunk/www/agc/manager_send.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2010 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -94,10 +94,10 @@ # 91112-1110 - Added CALLOUTBOUND value to QM entry lookup # 91205-2103 - Code cleanup # 91213-1208 - Added queue_position to queue_log COMPLETE... records -# +# 100327-0846 - Fix for list_id override answering machine message -$version = '2.2.0-46'; -$build = '91213-1208'; +$version = '2.2.0-47'; +$build = '100327-0846'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=85; $one_mysql_log=0; @@ -734,39 +734,6 @@ if ($ACTION=="RedirectVD") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02024',$user,$server_ip,$session_name,$one_mysql_log);} } - else - { - if (strlen($lead_id) > 1) - { - $list_id=''; - $stmt = "SELECT list_id FROM vicidial_list where lead_id='$lead_id';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02084',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $lio_ct = mysql_num_rows($rslt); - if ($lio_ct > 0) - { - $row=mysql_fetch_row($rslt); - $list_id = $row[0]; - - if (strlen($list_id) > 1) - { - $stmt = "SELECT am_message_exten_override FROM vicidial_lists where list_id='$list_id';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02085',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $lio_ct = mysql_num_rows($rslt); - if ($lio_ct > 0) - { - $row=mysql_fetch_row($rslt); - $am_message_exten_override = $row[0]; - if (strlen($am_message_exten_override) > 0) {$exten = "$am_message_exten_override";} - } - } - } - } - - } $ACTION="Redirect"; } } 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 0490dd17..5f1c08af 100644 --- a/agc_2-X/trunk/www/agc/vdc_db_query.php +++ b/agc_2-X/trunk/www/agc/vdc_db_query.php @@ -4846,6 +4846,11 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00144',$user,$server_ip,$session_name,$one_mysql_log);} + $stmt = "UPDATE vicidial_live_inbound_agents set last_call_finish=NOW() where group_id='$stage' and user='$user' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00322',$user,$server_ip,$session_name,$one_mysql_log);} + $stmt = "SELECT dispo_call_url from vicidial_inbound_groups where group_id='$stage';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); diff --git a/agc_2-X/trunk/www/agc/vicidial.php b/agc_2-X/trunk/www/agc/vicidial.php index 2a9b7615..5e46e7ed 100644 --- a/agc_2-X/trunk/www/agc/vicidial.php +++ b/agc_2-X/trunk/www/agc/vicidial.php @@ -285,10 +285,11 @@ # 100313-0053 - Added display options for transfer/conf buttons # 100315-1148 - fix for rare recording_log uniqueid issue on manual dial calls to same number # 100317-1301 - Added agent_fullscreen User Group option +# 100327-0901 - fix for manual dial answering machine message # -$version = '2.4-263'; -$build = '100317-1301'; +$version = '2.4-264'; +$build = '100327-0901'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=64; $one_mysql_log=0; @@ -3999,7 +4000,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} no_delete_VDAC=0; if (taskvar == 'XfeRVMAIL') { - var blindxferdialstring = campaign_am_message_exten; + var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; no_delete_VDAC=1; } if (blindxferdialstring.length<'2') diff --git a/agc_2-X/trunk/www/vicidial/user_stats.php b/agc_2-X/trunk/www/vicidial/user_stats.php index 89aaf5e6..2fa101cb 100644 --- a/agc_2-X/trunk/www/vicidial/user_stats.php +++ b/agc_2-X/trunk/www/vicidial/user_stats.php @@ -698,6 +698,29 @@ if ($did < 1) $TOTALdeadSECONDS = ($TOTALdeadSECONDS + $dead_sec); $TOTALcustomerSECONDS = ($TOTALcustomerSECONDS + $customer_sec); + if ($DB > 0) + { + $DBtotal_sec = ($pause_sec + $wait_sec + $talk_sec + $dispo_sec); + $DBdatetime = explode(" ",$event_time); + $DBdate = explode("-",$DBdatetime[0]); + $DBtime = explode(":",$DBdatetime[1]); + + $DBcall_end_sec = mktime($DBtime[0], $DBtime[1], ($DBtime[2] + $DBtotal_sec), $DBdate[1], $DBdate[2], $DBdate[0]); + $DBcall_end = date("Y-m-d H:i:s",$DBcall_end_sec); + echo ""; + echo "  "; + echo "$DBcall_end"; + echo " $DBtotal_sec \n"; + echo "   \n"; + echo "   \n"; + echo "   \n"; + echo "   \n"; + echo "   \n"; + echo "   \n"; + echo "   \n"; + echo "   \n"; + echo "   \n"; + } $u++; echo "";