diff --git a/agi/agi-VDAD_ALL_outbound.agi b/agi/agi-VDAD_ALL_outbound.agi index c8de01bf..a3a5eba1 100644 --- a/agi/agi-VDAD_ALL_outbound.agi +++ b/agi/agi-VDAD_ALL_outbound.agi @@ -14,6 +14,7 @@ # ; - TEST - For performance testing only # ; - BROADCAST - For no-agent broadcast dialing # ; - SURVEY - For survery question then on to agent +# ; - SURVEYCAMP - For survery question using campaign settings # ; - REMINDER - Reminder campaign # ; - REMINDX - Reminder with transfer to agent # ; 2. the method of searching for an available agent: @@ -37,7 +38,7 @@ #exten => 8368,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) #exten => 8368,5,Hangup # -# ;outbound VICIDIAL calls: +# ;outbound VICIDIAL SURVEY calls: #exten => 8366,1,AGI(agi://127.0.0.1:4577/call_log) #exten => 8366,2,AGI(agi-VDAD_ALL_outbound.agi,SURVEY-----LB-----US_pol_survey_hello-----1238-----8-----US_pol_survey_transfer-----US_thanks_no_contact-----OPTOUT-----DNC) #exten => 8366,3,AGI(agi-VDAD_ALL_outbound.agi,SURVEY-----LB-----US_pol_survey_hello-----1238-----8-----US_pol_survey_transfer-----US_thanks_no_contact-----OPTOUT-----DNC) @@ -51,6 +52,7 @@ # 80302-0232 - added drop_action and transfer to in-group # 80430-1144 - added term_reason to vicidial_log, QUEUETIMEOUT # 80520-0059 - added SURVEY ability and digit maps +# 80527-2329 - added SURVEYCAMP ability to pull settings from database # $script = 'agi-VDAD_ALL_outbound.agi'; @@ -58,6 +60,7 @@ $AGILOG = '0'; $DROP_TIME = 9; ### default number of seconds to wait until you drop a waiting call $at='@'; +$US='_'; ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); @@ -65,7 +68,7 @@ $year = ($year + 1900); $mon++; if ($mon < 10) {$mon = "0$mon";} if ($mday < 10) {$mday = "0$mday";} -if ($hour < 10) {$Fhour = "0$hour";} +if ($hour < 10) {$hour = "0$hour";} if ($min < 10) {$min = "0$min";} if ($sec < 10) {$sec = "0$sec";} @@ -76,6 +79,7 @@ $start_time_epoch = $now_date_epoch; $start_time=$now_date; $CIDdate = "$mon$mday$hour$min$sec"; $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $filedate = "$US$year-$mon-$mday$US$hour$min$sec"; $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; $SQLdateBEGIN = $SQLdate; @@ -198,15 +202,15 @@ if (length($ARGV[0])>1) ### list of command-line array arguments: @ARGV_vars = split(/-----/, $ARGV[0]); - $call_handle_method = $ARGV_vars[0]; - $agent_search_method = $ARGV_vars[1]; - $playback_message = $ARGV_vars[2]; - $digit_map = $ARGV_vars[3]; - $opt_out_digit = $ARGV_vars[4]; - $opt_in_message = $ARGV_vars[5]; - $opt_out_message = $ARGV_vars[6]; - $opt_inout = $ARGV_vars[7]; - $opt_out_status = $ARGV_vars[8]; + $call_handle_method = $ARGV_vars[0]; + $agent_search_method = $ARGV_vars[1]; + $survey_first_audio_file = $ARGV_vars[2]; + $survey_dtmf_digits = $ARGV_vars[3]; + $survey_ni_digit = $ARGV_vars[4]; + $survey_opt_in_audio_file = $ARGV_vars[5]; + $survey_ni_audio_file = $ARGV_vars[6]; + $survey_no_response_action =$ARGV_vars[7]; + $survey_ni_status = $ARGV_vars[8]; } if ($call_handle_method !~ /NORMAL|TEST|BROADCAST|SURVEY|REMIND/) {$call_handle_method='NORMAL';} @@ -454,6 +458,7 @@ if ($affected_rows > 0) } +################################################################################ ##### PLAY REMINDER MESSAGE ##### if ($call_handle_method =~ /REMIND/) { @@ -461,10 +466,15 @@ if ($call_handle_method =~ /REMIND/) $affected_rows = $dbhA->do($stmtA); if ($AGILOG) {$agi_string = "-- VDAC posttime record: |$affected_rows|$FDtsSQLdate|$callerid|"; &agi_output;} - $AGI->stream_file("$playback_message"); + $AGI->stream_file("$survey_first_audio_file"); } -##### DO THE SURVEY ##### + + + + +################################################################################ +##### START DO THE SURVEY ##### if ($call_handle_method =~ /SURVEY/) { $AGI->stream_file('sip-silence'); @@ -473,12 +483,50 @@ if ($call_handle_method =~ /SURVEY/) $affected_rows = $dbhA->do($stmtA); if ($AGILOG) {$agi_string = "-- VDAC posttime record: |$affected_rows|$FDtsSQLdate|$callerid|"; &agi_output;} - # play the message and let them press a number - $opt_code = enter_pin_number($playback_message,$digit_map); + ### check to see if the SURVEY settings should be pulled from the campaign settings in the database + if ($call_handle_method =~ /SURVEYCAMP/) + { + $stmtA = "SELECT survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir FROM vicidial_campaigns where campaign_id='$VDADcampaign';"; + $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; + $survey_first_audio_file = "$aryA[0]"; + $survey_dtmf_digits = "$aryA[1]"; + $survey_ni_digit = "$aryA[2]"; + $survey_opt_in_audio_file = "$aryA[3]"; + $survey_ni_audio_file = "$aryA[4]"; + $survey_method = "$aryA[5]"; + $survey_no_response_action = "$aryA[6]"; + $survey_ni_status = "$aryA[7]"; + $survey_response_digit_map = "$aryA[8]"; + $survey_xfer_exten = "$aryA[9]"; + $survey_camp_record_dir = "$aryA[10]"; + + @digit_map = split(/\|/,$survey_response_digit_map); + + $rec_count++; + } + $sthA->finish(); + } + + # play the message and let them press a number + $opt_code = enter_pin_number($survey_first_audio_file,$survey_dtmf_digits); if (length($opt_code) < 1) {$opt_code = 'X';} + $opt_description = $opt_code; + + $w=0; + foreach (@digit_map) + { + if ($digit_map[$w] =~ /^$opt_code/) {$opt_description = $digit_map[$w]} + $w++; + } + # record what they entered - $stmtA = "UPDATE vicidial_list set security_phrase='$opt_code' where lead_id = '$CIDlead_id';"; + $stmtA = "UPDATE vicidial_list set security_phrase='$opt_description' where lead_id = '$CIDlead_id';"; if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } $affected_rows = $dbhA->do($stmtA); if ($AGILOG) @@ -488,11 +536,11 @@ if ($call_handle_method =~ /SURVEY/) } # they opted out - if ("$opt_code" eq "$opt_out_digit") + if ("$opt_code" eq "$survey_ni_digit") { - if ( $opt_out_message ne "") + if ( $survey_ni_audio_file ne "") { - $AGI->stream_file($opt_out_message); + $AGI->stream_file($survey_ni_audio_file); } $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; @@ -507,25 +555,25 @@ if ($call_handle_method =~ /SURVEY/) $Euniqueid =~ s/\.\d+//gi; $now_date_epoch = time(); $drop_seconds = $now_date_epoch - $start_time_epoch; - $stmtA = "UPDATE vicidial_log FORCE INDEX(lead_id) set status='$opt_out_status', end_epoch='$now_date_epoch', length_in_sec='$drop_seconds', term_reason='CALLER' where lead_id = '$CIDlead_id' and uniqueid LIKE \"$Euniqueid%\";"; + $stmtA = "UPDATE vicidial_log FORCE INDEX(lead_id) set status='$survey_ni_status', end_epoch='$now_date_epoch', length_in_sec='$drop_seconds', term_reason='CALLER' where lead_id = '$CIDlead_id' and uniqueid LIKE \"$Euniqueid%\";"; if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } $affected_rows = $dbhA->do($stmtA); if ($AGILOG) { - $agi_string = "-- VDAD vicidial_log update: $opt_out_status|$affected_rows|$uniqueid"; + $agi_string = "-- VDAD vicidial_log update: $survey_ni_status|$affected_rows|$uniqueid|$drop_seconds|"; &agi_output; } - $stmtA = "UPDATE vicidial_list set status='$opt_out_status' where lead_id = '$CIDlead_id';"; + $stmtA = "UPDATE vicidial_list set status='$survey_ni_status' where lead_id = '$CIDlead_id';"; if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } $affected_rows = $dbhA->do($stmtA); if ($AGILOG) { - $agi_string = "-- VDAD vicidial_list update: $opt_out_status|$affected_rows|$CIDlead_id"; + $agi_string = "-- VDAD vicidial_list update: $survey_ni_status|$affected_rows|$CIDlead_id"; &agi_output; } - if (($use_internal_dnc =~ /Y/) && ($opt_out_status eq "DNC")) + if (($use_internal_dnc =~ /Y/) && ($survey_ni_status eq "DNC")) { $stmtA = "INSERT INTO vicidial_dnc set phone_number='$VDADphone';"; if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } @@ -544,7 +592,7 @@ if ($call_handle_method =~ /SURVEY/) else { # they opted in - if ( ($opt_code =~ /\d/) || ($opt_inout =~ /OPTOUT/) ) + if ( ($opt_code =~ /\d/) || ($survey_no_response_action =~ /OPTOUT/) ) { $now_date_epoch = time(); $FDtarget = ($now_date_epoch + 60); @@ -562,9 +610,139 @@ if ($call_handle_method =~ /SURVEY/) $affected_rows = $dbhA->do($stmtA); if ($AGILOG) {$agi_string = "-- VDAC posttime record: |$affected_rows|$FDtsSQLdate|$callerid|"; &agi_output;} - if ( $opt_in_message ne "") + if ( $survey_opt_in_audio_file ne "") { - $AGI->stream_file($opt_in_message); + $AGI->stream_file($survey_opt_in_audio_file); + } + + if ($survey_method =~ /VOICEMAIL|EXTENSION|HANGUP/) + { + $DROPexten=''; + if ($survey_method =~ /VOICEMAIL/) + { + $survey_status='SVYVM'; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + } + if ($survey_method =~ /EXTENSION/) + { + $survey_status='SVYEXT'; + if (length($survey_xfer_exten)>0) + {$DROPexten = "$survey_xfer_exten";} + } + if ($survey_method =~ /HANGUP/) + { + $survey_status='SVYHU'; + } + + $Euniqueid=$uniqueid; + $Euniqueid =~ s/\.\d+//gi; + $now_date_epoch = time(); + $drop_seconds = $now_date_epoch - $start_time_epoch; + $stmtA = "UPDATE vicidial_log FORCE INDEX(lead_id) set status='$survey_status', end_epoch='$now_date_epoch', length_in_sec='$drop_seconds', term_reason='CALLER' where lead_id = '$CIDlead_id' and uniqueid LIKE \"$Euniqueid%\";"; + if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) + { + $agi_string = "-- VDAD vicidial_log update: $survey_status|$affected_rows|$uniqueid|$drop_seconds|"; + &agi_output; + } + + $stmtA = "UPDATE vicidial_list set status='$survey_status' where lead_id = '$CIDlead_id';"; + if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) + { + $agi_string = "-- VDAD vicidial_list update: $survey_status|$affected_rows|$CIDlead_id"; + &agi_output; + } + + if (length($DROPexten) > 0) + { + if ($AGILOG) {$agi_string = "exiting the VDAD SURVEY app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + + if ($survey_method =~ /HANGUP/) + { + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) + { + $agi_string = "-- VDAD vac record deleted: |$affected_rows|$VDADcampaign|"; + &agi_output; + } + + $AGI->hangup(); + } + } + + if ($survey_method =~ /CAMPREC/) + { + if ($survey_method =~ /60/) + {$timeout=60000;} + if ($survey_method =~ /WAV/) + {$format='WAV';} + if ($survey_method =~ /GSM/) + {$format='GSM';} + + $survey_status='SVYREC'; + + $Euniqueid=$uniqueid; + $Euniqueid =~ s/\.\d+//gi; + $now_date_epoch = time(); + $drop_seconds = $now_date_epoch - $start_time_epoch; + $stmtA = "UPDATE vicidial_log FORCE INDEX(lead_id) set status='$survey_status', end_epoch='$now_date_epoch', length_in_sec='$drop_seconds', term_reason='CALLER' where lead_id = '$CIDlead_id' and uniqueid LIKE \"$Euniqueid%\";"; + if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) + { + $agi_string = "-- VDAD vicidial_log update: $survey_status|$affected_rows|$uniqueid|$drop_seconds|"; + &agi_output; + } + + $stmtA = "UPDATE vicidial_list set status='$survey_status' where lead_id = '$CIDlead_id';"; + if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) + { + $agi_string = "-- VDAD vicidial_list update: $survey_status|$affected_rows|$CIDlead_id"; + &agi_output; + } + + if ( -e ('$survey_camp_record_dir/$VDADcampaign')) + {$do_nothing=1;} + else + {`mkdir -p --mode=0666 $survey_camp_record_dir/$VDADcampaign`;} + + $AGI->stream_file('beep'); + + $interrupt_digit = $AGI->record_file("$survey_camp_record_dir/$VDADcampaign/$VDADphone$filedate", "$format", '123456789*#', "$timeout", 1); + if ($AGILOG) + { + $agi_string = "RECORDING FINISHED: $interrupt_digit|$survey_camp_record_dir/$VDADcampaign/$VDADphone$filedate|"; + &agi_output; + } + + $now_date_epoch = time(); + $drop_seconds = $now_date_epoch - $start_time_epoch; + $stmtA = "UPDATE vicidial_log FORCE INDEX(lead_id) set status='$survey_status', end_epoch='$now_date_epoch', length_in_sec='$drop_seconds', term_reason='CALLER' where lead_id = '$CIDlead_id' and uniqueid LIKE \"$Euniqueid%\";"; + if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) + { + $agi_string = "-- VDAD vicidial_log update: $survey_status|$affected_rows|$uniqueid|$drop_seconds|"; + &agi_output; + } + + $AGI->hangup(); + + exit; } } else @@ -575,6 +753,11 @@ if ($call_handle_method =~ /SURVEY/) } } } +################################################################################ +##### END DO THE SURVEY ##### + + + $drop_timer=0; @@ -1074,7 +1257,7 @@ sub enter_pin_number { $sound = $_[0]; -$digit_map = $_[1]; +$survey_dtmf_digits = $_[1]; $digits_to_collect =~ s/DIGITID//gi; @@ -1086,7 +1269,7 @@ undef $digit; $interrupt_digit=''; undef $interrupt_digit; -$interrupt_digit = $AGI->stream_file("$sound","$digit_map"); +$interrupt_digit = $AGI->stream_file("$sound","$survey_dtmf_digits"); if ($AGILOG) {$agi_string = "interrupt_digit |$interrupt_digit|"; &agi_output;} diff --git a/docs/TIMECLOCK_PROCESS.txt b/docs/TIMECLOCK_PROCESS.txt index d9b1ae22..b8cda65b 100644 --- a/docs/TIMECLOCK_PROCESS.txt +++ b/docs/TIMECLOCK_PROCESS.txt @@ -30,7 +30,46 @@ More to come... +New associated features: +VICIDIAL Administrator Log: +The admin log will replace the older flat-file log of administrator and manager activity. This log will allow for much easier viewing of the changes that have taken place for a specific record and other activities that managers and administrators do from the VICIDIAL administration interface. There will be event types and record IDs that identify the kind of record and the specific record worked with by a specific administrator. This table will be utilized at first only by the timeclock apps, but as the code is developed it will fully replace the admin log file. + +Administrator Sections: +USER +TIMECLOCK +CAMPAIGN +CAMPAIGN DIAL STATUS +CAMPAIGN HOPPER +CAMPAIGN STATUS +CAMPAIGN HOTKEY +CAMPAIGN RECYCLE +CAMPAIGN AUTO-ALT-DIAL +CAMPAIGN PAUSE CODE +CAMPAIGN LIST MIX +CAMPAIGN QC +LIST +LIST DNC +SCRIPT +FILTER +IN-GROUP +USER GROUP +REMOTE AGENT +PHONE +PHONE ALIAS +CALLTIME +STATE CALLTIME +SHIFT +CONFERENCE +VICIDIAL CONFERENCE +SERVER +SERVER TRUNK +SYSTEM SETTINGS +SYSTEM STATUS +STATUS CATEGORY +QC STATUS +REPORT +OTHER The Database Changes: @@ -103,3 +142,23 @@ index (user) # system settings added fields to define the time when all logged-in agents are to be auto-logged out ALTER TABLE system_settings ADD timeclock_end_of_day VARCHAR(4) default '0000'; ALTER TABLE system_settings ADD timeclock_last_reset_date DATE; + +# vicidial_users added fields for permissions to allow users to edit timeclock_log records +ALTER TABLE vicidial_users ADD add_timeclock_log ENUM('1','0') default '0' +ALTER TABLE vicidial_users ADD modify_timeclock_log ENUM('1','0') default '0' +ALTER TABLE vicidial_users ADD delete_timeclock_log ENUM('1','0') default '0' + +# added new table for administrator activity log + CREATE TABLE vicidial_admin_log ( +admin_log_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +event_date DATETIME NOT NULL, +user VARCHAR(20) NOT NULL, +ip_address VARCHAR(15) NOT NULL, +event_section VARCHAR(30) NOT NULL, +event_type ENUM('ADD','COPY','LOAD','RESET','MODIFY','DELETE','SEARCH','LOGOUT','CLEAR','OTHER') default 'OTHER', +record_id VARCHAR(50) NOT NULL, +event_code VARCHAR(255) NOT NULL, +event_sql TEXT, +index (user), +index (record_id) +); diff --git a/extras/MySQL_AST_CREATE_tables.sql b/extras/MySQL_AST_CREATE_tables.sql index 6ec753eb..40212056 100644 --- a/extras/MySQL_AST_CREATE_tables.sql +++ b/extras/MySQL_AST_CREATE_tables.sql @@ -451,9 +451,13 @@ qc_enabled ENUM('1','0') default '0', qc_user_level INT(2) default '1', qc_pass ENUM('1','0') default '0', qc_finish ENUM('1','0') default '0', -qc_commit ENUM('1','0') default '0' +qc_commit ENUM('1','0') default '0', +add_timeclock_log ENUM('1','0') default '0', +modify_timeclock_log ENUM('1','0') default '0', +delete_timeclock_log ENUM('1','0') default '0' ); + CREATE UNIQUE INDEX user ON vicidial_users (user); CREATE TABLE vicidial_user_log ( @@ -555,9 +559,23 @@ campaign_shift_start_time VARCHAR(4) default '0900', campaign_shift_length VARCHAR(5) default '16:00', campaign_day_start_time VARCHAR(4) default '0100', qc_web_form_address VARCHAR(255), -qc_script VARCHAR(10) +qc_script VARCHAR(10), +survey_first_audio_file VARCHAR(50) default 'US_pol_survey_hello', +survey_dtmf_digits VARCHAR(16) default '1238', +survey_ni_digit VARCHAR(1) default '8', +survey_opt_in_audio_file VARCHAR(50) default 'US_pol_survey_transfer', +survey_ni_audio_file VARCHAR(50) default 'US_thanks_no_contact', +survey_method ENUM('AGENT_XFER','VOICEMAIL','EXTENSION','HANGUP','CAMPREC_60_WAV') default 'AGENT_XFER', +survey_no_response_action ENUM('OPTIN','OPTOUT') default 'OPTIN', +survey_ni_status VARCHAR(6) default 'NI', +survey_response_digit_map VARCHAR(255) default '1-DEMOCRAT|2-REPUBLICAN|3-INDEPENDANT|8-OPTOUT|X-NO RESPONSE|', +survey_xfer_exten VARCHAR(20) default '8300', +survey_camp_record_dir VARCHAR(255) default '/home/survey' ); + + + CREATE TABLE vicidial_lists ( list_id BIGINT(14) UNSIGNED PRIMARY KEY NOT NULL, list_name VARCHAR(30), @@ -1126,6 +1144,20 @@ event_datestamp TIMESTAMP NOT NULL, tcid_link INT(9) UNSIGNED, index (timeclock_id), index (user) +); + + CREATE TABLE vicidial_admin_log ( +admin_log_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +event_date DATETIME NOT NULL, +user VARCHAR(20) NOT NULL, +ip_address VARCHAR(15) NOT NULL, +event_section VARCHAR(30) NOT NULL, +event_type ENUM('ADD','COPY','LOAD','RESET','MODIFY','DELETE','SEARCH','LOGOUT','CLEAR','OTHER') default 'OTHER', +record_id VARCHAR(50) NOT NULL, +event_code VARCHAR(255) NOT NULL, +event_sql TEXT, +index (user), +index (record_id) ); ALTER TABLE vicidial_campaign_server_stats ENGINE=HEAP; @@ -1177,5 +1209,5 @@ INSERT INTO vicidial_state_call_times SET state_call_time_id='utah',state_call_t INSERT INTO vicidial_state_call_times SET state_call_time_id='washington',state_call_time_state='WA',state_call_time_name='Washington 8am',sct_default_start='800',sct_default_stop='2100'; INSERT INTO vicidial_state_call_times SET state_call_time_id='wyoming',state_call_time_state='WY',state_call_time_name='Wyoming 8am-8pm',sct_default_start='800',sct_default_stop='2000'; -UPDATE system_settings SET db_schema_version='1090'; +UPDATE system_settings SET db_schema_version='1091'; diff --git a/extras/first_server_install.sql b/extras/first_server_install.sql index ebc9dbd8..2cfbb16a 100644 --- a/extras/first_server_install.sql +++ b/extras/first_server_install.sql @@ -1,238 +1,242 @@ -insert into servers (server_id,server_description,server_ip,active,asterisk_version)values('TESTast','Test install of Asterisk server', '10.10.10.15','Y','1.2.26.2'); +INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version)values('TESTast','Test install of Asterisk server', '10.10.10.15','Y','1.2.26.2'); -insert into server_updater values('10.10.10.15',''); +INSERT INTO server_updater values('10.10.10.15',''); -insert into phones (extension, dialplan_number, voicemail_id, phone_ip, computer_ip, server_ip, login, pass, status, active, phone_type, fullname, company, picture, messages, old_messages, protocol) values('gs102','102','102','10.10.10.16','10.10.9.16','10.10.10.15','gs102','test', 'ADMIN','Y','Grandstream BT 102','Test Admin Phone','TEST','','0','0','SIP'); +INSERT INTO phones (extension, dialplan_number, voicemail_id, phone_ip, computer_ip, server_ip, login, pass, status, active, phone_type, fullname, company, picture, messages, old_messages, protocol) values('gs102','102','102','10.10.10.16','10.10.9.16','10.10.10.15','gs102','test', 'ADMIN','Y','Grandstream BT 102','Test Admin Phone','TEST','','0','0','SIP'); -insert into vicidial_users (user,pass,full_name,user_level,user_group,load_leads,campaign_detail,ast_admin_access,modify_users) values('6666','1234','Admin','9','ADMIN','1','1','1','1'); +INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,load_leads,campaign_detail,ast_admin_access,modify_users) values('6666','1234','Admin','9','ADMIN','1','1','1','1'); -insert into conferences values('8600001','10.10.10.15',''); -insert into conferences values('8600002','10.10.10.15',''); -insert into conferences values('8600003','10.10.10.15',''); -insert into conferences values('8600004','10.10.10.15',''); -insert into conferences values('8600005','10.10.10.15',''); -insert into conferences values('8600006','10.10.10.15',''); -insert into conferences values('8600007','10.10.10.15',''); -insert into conferences values('8600008','10.10.10.15',''); -insert into conferences values('8600009','10.10.10.15',''); -insert into conferences values('8600010','10.10.10.15',''); -insert into conferences values('8600011','10.10.10.15',''); -insert into conferences values('8600012','10.10.10.15',''); -insert into conferences values('8600013','10.10.10.15',''); -insert into conferences values('8600014','10.10.10.15',''); -insert into conferences values('8600015','10.10.10.15',''); -insert into conferences values('8600016','10.10.10.15',''); -insert into conferences values('8600017','10.10.10.15',''); -insert into conferences values('8600018','10.10.10.15',''); -insert into conferences values('8600019','10.10.10.15',''); -insert into conferences values('8600020','10.10.10.15',''); -insert into conferences values('8600021','10.10.10.15',''); -insert into conferences values('8600022','10.10.10.15',''); -insert into conferences values('8600023','10.10.10.15',''); -insert into conferences values('8600024','10.10.10.15',''); -insert into conferences values('8600025','10.10.10.15',''); -insert into conferences values('8600026','10.10.10.15',''); -insert into conferences values('8600027','10.10.10.15',''); -insert into conferences values('8600028','10.10.10.15',''); -insert into conferences values('8600029','10.10.10.15',''); -insert into conferences values('8600030','10.10.10.15',''); -insert into conferences values('8600031','10.10.10.15',''); -insert into conferences values('8600032','10.10.10.15',''); -insert into conferences values('8600033','10.10.10.15',''); -insert into conferences values('8600034','10.10.10.15',''); -insert into conferences values('8600035','10.10.10.15',''); -insert into conferences values('8600036','10.10.10.15',''); -insert into conferences values('8600037','10.10.10.15',''); -insert into conferences values('8600038','10.10.10.15',''); -insert into conferences values('8600039','10.10.10.15',''); -insert into conferences values('8600040','10.10.10.15',''); -insert into conferences values('8600041','10.10.10.15',''); -insert into conferences values('8600042','10.10.10.15',''); -insert into conferences values('8600043','10.10.10.15',''); -insert into conferences values('8600044','10.10.10.15',''); -insert into conferences values('8600045','10.10.10.15',''); -insert into conferences values('8600046','10.10.10.15',''); -insert into conferences values('8600047','10.10.10.15',''); -insert into conferences values('8600048','10.10.10.15',''); -insert into conferences values('8600049','10.10.10.15',''); +INSERT INTO conferences values('8600001','10.10.10.15',''); +INSERT INTO conferences values('8600002','10.10.10.15',''); +INSERT INTO conferences values('8600003','10.10.10.15',''); +INSERT INTO conferences values('8600004','10.10.10.15',''); +INSERT INTO conferences values('8600005','10.10.10.15',''); +INSERT INTO conferences values('8600006','10.10.10.15',''); +INSERT INTO conferences values('8600007','10.10.10.15',''); +INSERT INTO conferences values('8600008','10.10.10.15',''); +INSERT INTO conferences values('8600009','10.10.10.15',''); +INSERT INTO conferences values('8600010','10.10.10.15',''); +INSERT INTO conferences values('8600011','10.10.10.15',''); +INSERT INTO conferences values('8600012','10.10.10.15',''); +INSERT INTO conferences values('8600013','10.10.10.15',''); +INSERT INTO conferences values('8600014','10.10.10.15',''); +INSERT INTO conferences values('8600015','10.10.10.15',''); +INSERT INTO conferences values('8600016','10.10.10.15',''); +INSERT INTO conferences values('8600017','10.10.10.15',''); +INSERT INTO conferences values('8600018','10.10.10.15',''); +INSERT INTO conferences values('8600019','10.10.10.15',''); +INSERT INTO conferences values('8600020','10.10.10.15',''); +INSERT INTO conferences values('8600021','10.10.10.15',''); +INSERT INTO conferences values('8600022','10.10.10.15',''); +INSERT INTO conferences values('8600023','10.10.10.15',''); +INSERT INTO conferences values('8600024','10.10.10.15',''); +INSERT INTO conferences values('8600025','10.10.10.15',''); +INSERT INTO conferences values('8600026','10.10.10.15',''); +INSERT INTO conferences values('8600027','10.10.10.15',''); +INSERT INTO conferences values('8600028','10.10.10.15',''); +INSERT INTO conferences values('8600029','10.10.10.15',''); +INSERT INTO conferences values('8600030','10.10.10.15',''); +INSERT INTO conferences values('8600031','10.10.10.15',''); +INSERT INTO conferences values('8600032','10.10.10.15',''); +INSERT INTO conferences values('8600033','10.10.10.15',''); +INSERT INTO conferences values('8600034','10.10.10.15',''); +INSERT INTO conferences values('8600035','10.10.10.15',''); +INSERT INTO conferences values('8600036','10.10.10.15',''); +INSERT INTO conferences values('8600037','10.10.10.15',''); +INSERT INTO conferences values('8600038','10.10.10.15',''); +INSERT INTO conferences values('8600039','10.10.10.15',''); +INSERT INTO conferences values('8600040','10.10.10.15',''); +INSERT INTO conferences values('8600041','10.10.10.15',''); +INSERT INTO conferences values('8600042','10.10.10.15',''); +INSERT INTO conferences values('8600043','10.10.10.15',''); +INSERT INTO conferences values('8600044','10.10.10.15',''); +INSERT INTO conferences values('8600045','10.10.10.15',''); +INSERT INTO conferences values('8600046','10.10.10.15',''); +INSERT INTO conferences values('8600047','10.10.10.15',''); +INSERT INTO conferences values('8600048','10.10.10.15',''); +INSERT INTO conferences values('8600049','10.10.10.15',''); -insert into vicidial_conferences values('8600051','10.10.10.15',''); -insert into vicidial_conferences values('8600052','10.10.10.15',''); -insert into vicidial_conferences values('8600053','10.10.10.15',''); -insert into vicidial_conferences values('8600054','10.10.10.15',''); -insert into vicidial_conferences values('8600055','10.10.10.15',''); -insert into vicidial_conferences values('8600056','10.10.10.15',''); -insert into vicidial_conferences values('8600057','10.10.10.15',''); -insert into vicidial_conferences values('8600058','10.10.10.15',''); -insert into vicidial_conferences values('8600059','10.10.10.15',''); -insert into vicidial_conferences values('8600060','10.10.10.15',''); -insert into vicidial_conferences values('8600061','10.10.10.15',''); -insert into vicidial_conferences values('8600062','10.10.10.15',''); -insert into vicidial_conferences values('8600063','10.10.10.15',''); -insert into vicidial_conferences values('8600064','10.10.10.15',''); -insert into vicidial_conferences values('8600065','10.10.10.15',''); -insert into vicidial_conferences values('8600066','10.10.10.15',''); -insert into vicidial_conferences values('8600067','10.10.10.15',''); -insert into vicidial_conferences values('8600068','10.10.10.15',''); -insert into vicidial_conferences values('8600069','10.10.10.15',''); -insert into vicidial_conferences values('8600070','10.10.10.15',''); -insert into vicidial_conferences values('8600071','10.10.10.15',''); -insert into vicidial_conferences values('8600072','10.10.10.15',''); -insert into vicidial_conferences values('8600073','10.10.10.15',''); -insert into vicidial_conferences values('8600074','10.10.10.15',''); -insert into vicidial_conferences values('8600075','10.10.10.15',''); -insert into vicidial_conferences values('8600076','10.10.10.15',''); -insert into vicidial_conferences values('8600077','10.10.10.15',''); -insert into vicidial_conferences values('8600078','10.10.10.15',''); -insert into vicidial_conferences values('8600079','10.10.10.15',''); -insert into vicidial_conferences values('8600080','10.10.10.15',''); -insert into vicidial_conferences values('8600081','10.10.10.15',''); -insert into vicidial_conferences values('8600082','10.10.10.15',''); -insert into vicidial_conferences values('8600083','10.10.10.15',''); -insert into vicidial_conferences values('8600084','10.10.10.15',''); -insert into vicidial_conferences values('8600085','10.10.10.15',''); -insert into vicidial_conferences values('8600086','10.10.10.15',''); -insert into vicidial_conferences values('8600087','10.10.10.15',''); -insert into vicidial_conferences values('8600088','10.10.10.15',''); -insert into vicidial_conferences values('8600089','10.10.10.15',''); -insert into vicidial_conferences values('8600090','10.10.10.15',''); -insert into vicidial_conferences values('8600091','10.10.10.15',''); -insert into vicidial_conferences values('8600092','10.10.10.15',''); -insert into vicidial_conferences values('8600093','10.10.10.15',''); -insert into vicidial_conferences values('8600094','10.10.10.15',''); -insert into vicidial_conferences values('8600095','10.10.10.15',''); -insert into vicidial_conferences values('8600096','10.10.10.15',''); -insert into vicidial_conferences values('8600097','10.10.10.15',''); -insert into vicidial_conferences values('8600098','10.10.10.15',''); -insert into vicidial_conferences values('8600099','10.10.10.15',''); -insert into vicidial_conferences values('8600100','10.10.10.15',''); -insert into vicidial_conferences values('8600101','10.10.10.15',''); -insert into vicidial_conferences values('8600102','10.10.10.15',''); -insert into vicidial_conferences values('8600103','10.10.10.15',''); -insert into vicidial_conferences values('8600104','10.10.10.15',''); -insert into vicidial_conferences values('8600105','10.10.10.15',''); -insert into vicidial_conferences values('8600106','10.10.10.15',''); -insert into vicidial_conferences values('8600107','10.10.10.15',''); -insert into vicidial_conferences values('8600108','10.10.10.15',''); -insert into vicidial_conferences values('8600109','10.10.10.15',''); -insert into vicidial_conferences values('8600110','10.10.10.15',''); -insert into vicidial_conferences values('8600111','10.10.10.15',''); -insert into vicidial_conferences values('8600112','10.10.10.15',''); -insert into vicidial_conferences values('8600113','10.10.10.15',''); -insert into vicidial_conferences values('8600114','10.10.10.15',''); -insert into vicidial_conferences values('8600115','10.10.10.15',''); -insert into vicidial_conferences values('8600116','10.10.10.15',''); -insert into vicidial_conferences values('8600117','10.10.10.15',''); -insert into vicidial_conferences values('8600118','10.10.10.15',''); -insert into vicidial_conferences values('8600119','10.10.10.15',''); -insert into vicidial_conferences values('8600120','10.10.10.15',''); -insert into vicidial_conferences values('8600121','10.10.10.15',''); -insert into vicidial_conferences values('8600122','10.10.10.15',''); -insert into vicidial_conferences values('8600123','10.10.10.15',''); -insert into vicidial_conferences values('8600124','10.10.10.15',''); -insert into vicidial_conferences values('8600125','10.10.10.15',''); -insert into vicidial_conferences values('8600126','10.10.10.15',''); -insert into vicidial_conferences values('8600127','10.10.10.15',''); -insert into vicidial_conferences values('8600128','10.10.10.15',''); -insert into vicidial_conferences values('8600129','10.10.10.15',''); -insert into vicidial_conferences values('8600130','10.10.10.15',''); -insert into vicidial_conferences values('8600131','10.10.10.15',''); -insert into vicidial_conferences values('8600132','10.10.10.15',''); -insert into vicidial_conferences values('8600133','10.10.10.15',''); -insert into vicidial_conferences values('8600134','10.10.10.15',''); -insert into vicidial_conferences values('8600135','10.10.10.15',''); -insert into vicidial_conferences values('8600136','10.10.10.15',''); -insert into vicidial_conferences values('8600137','10.10.10.15',''); -insert into vicidial_conferences values('8600138','10.10.10.15',''); -insert into vicidial_conferences values('8600139','10.10.10.15',''); -insert into vicidial_conferences values('8600140','10.10.10.15',''); -insert into vicidial_conferences values('8600141','10.10.10.15',''); -insert into vicidial_conferences values('8600142','10.10.10.15',''); -insert into vicidial_conferences values('8600143','10.10.10.15',''); -insert into vicidial_conferences values('8600144','10.10.10.15',''); -insert into vicidial_conferences values('8600145','10.10.10.15',''); -insert into vicidial_conferences values('8600146','10.10.10.15',''); -insert into vicidial_conferences values('8600147','10.10.10.15',''); -insert into vicidial_conferences values('8600148','10.10.10.15',''); -insert into vicidial_conferences values('8600149','10.10.10.15',''); -insert into vicidial_conferences values('8600150','10.10.10.15',''); -insert into vicidial_conferences values('8600151','10.10.10.15',''); -insert into vicidial_conferences values('8600152','10.10.10.15',''); -insert into vicidial_conferences values('8600153','10.10.10.15',''); -insert into vicidial_conferences values('8600154','10.10.10.15',''); -insert into vicidial_conferences values('8600155','10.10.10.15',''); -insert into vicidial_conferences values('8600156','10.10.10.15',''); -insert into vicidial_conferences values('8600157','10.10.10.15',''); -insert into vicidial_conferences values('8600158','10.10.10.15',''); -insert into vicidial_conferences values('8600159','10.10.10.15',''); -insert into vicidial_conferences values('8600160','10.10.10.15',''); -insert into vicidial_conferences values('8600161','10.10.10.15',''); -insert into vicidial_conferences values('8600162','10.10.10.15',''); -insert into vicidial_conferences values('8600163','10.10.10.15',''); -insert into vicidial_conferences values('8600164','10.10.10.15',''); -insert into vicidial_conferences values('8600165','10.10.10.15',''); -insert into vicidial_conferences values('8600166','10.10.10.15',''); -insert into vicidial_conferences values('8600167','10.10.10.15',''); -insert into vicidial_conferences values('8600168','10.10.10.15',''); -insert into vicidial_conferences values('8600169','10.10.10.15',''); -insert into vicidial_conferences values('8600170','10.10.10.15',''); -insert into vicidial_conferences values('8600171','10.10.10.15',''); -insert into vicidial_conferences values('8600172','10.10.10.15',''); -insert into vicidial_conferences values('8600173','10.10.10.15',''); -insert into vicidial_conferences values('8600174','10.10.10.15',''); -insert into vicidial_conferences values('8600175','10.10.10.15',''); -insert into vicidial_conferences values('8600176','10.10.10.15',''); -insert into vicidial_conferences values('8600177','10.10.10.15',''); -insert into vicidial_conferences values('8600178','10.10.10.15',''); -insert into vicidial_conferences values('8600179','10.10.10.15',''); -insert into vicidial_conferences values('8600180','10.10.10.15',''); -insert into vicidial_conferences values('8600181','10.10.10.15',''); -insert into vicidial_conferences values('8600182','10.10.10.15',''); -insert into vicidial_conferences values('8600183','10.10.10.15',''); -insert into vicidial_conferences values('8600184','10.10.10.15',''); -insert into vicidial_conferences values('8600185','10.10.10.15',''); -insert into vicidial_conferences values('8600186','10.10.10.15',''); -insert into vicidial_conferences values('8600187','10.10.10.15',''); -insert into vicidial_conferences values('8600188','10.10.10.15',''); -insert into vicidial_conferences values('8600189','10.10.10.15',''); -insert into vicidial_conferences values('8600190','10.10.10.15',''); -insert into vicidial_conferences values('8600191','10.10.10.15',''); -insert into vicidial_conferences values('8600192','10.10.10.15',''); -insert into vicidial_conferences values('8600193','10.10.10.15',''); -insert into vicidial_conferences values('8600194','10.10.10.15',''); -insert into vicidial_conferences values('8600195','10.10.10.15',''); -insert into vicidial_conferences values('8600196','10.10.10.15',''); -insert into vicidial_conferences values('8600197','10.10.10.15',''); -insert into vicidial_conferences values('8600198','10.10.10.15',''); -insert into vicidial_conferences values('8600199','10.10.10.15',''); -insert into vicidial_conferences values('8600200','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600051','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600052','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600053','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600054','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600055','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600056','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600057','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600058','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600059','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600060','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600061','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600062','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600063','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600064','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600065','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600066','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600067','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600068','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600069','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600070','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600071','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600072','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600073','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600074','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600075','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600076','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600077','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600078','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600079','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600080','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600081','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600082','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600083','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600084','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600085','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600086','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600087','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600088','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600089','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600090','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600091','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600092','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600093','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600094','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600095','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600096','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600097','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600098','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600099','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600100','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600101','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600102','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600103','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600104','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600105','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600106','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600107','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600108','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600109','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600110','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600111','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600112','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600113','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600114','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600115','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600116','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600117','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600118','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600119','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600120','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600121','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600122','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600123','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600124','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600125','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600126','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600127','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600128','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600129','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600130','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600131','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600132','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600133','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600134','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600135','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600136','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600137','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600138','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600139','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600140','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600141','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600142','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600143','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600144','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600145','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600146','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600147','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600148','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600149','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600150','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600151','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600152','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600153','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600154','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600155','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600156','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600157','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600158','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600159','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600160','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600161','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600162','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600163','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600164','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600165','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600166','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600167','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600168','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600169','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600170','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600171','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600172','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600173','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600174','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600175','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600176','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600177','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600178','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600179','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600180','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600181','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600182','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600183','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600184','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600185','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600186','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600187','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600188','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600189','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600190','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600191','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600192','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600193','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600194','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600195','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600196','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600197','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600198','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600199','10.10.10.15',''); +INSERT INTO vicidial_conferences values('8600200','10.10.10.15',''); -insert into vicidial_list values('','2004-01-06','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead01','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0'); -insert into vicidial_list values('','2004-01-06','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead02','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0'); -insert into vicidial_list values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead03','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0'); -insert into vicidial_list values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead04','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0'); -insert into vicidial_list values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead05','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0'); -insert into vicidial_list values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead06','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0'); -insert into vicidial_list values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead07','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0'); +INSERT INTO vicidial_list values('','2004-01-06','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead01','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0'); +INSERT INTO vicidial_list values('','2004-01-06','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead02','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0'); +INSERT INTO vicidial_list values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead03','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0'); +INSERT INTO vicidial_list values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead04','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0'); +INSERT INTO vicidial_list values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead05','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0'); +INSERT INTO vicidial_list values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead06','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0'); +INSERT INTO vicidial_list values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead07','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0'); -insert into vicidial_statuses values('NEW','New Lead','N','N','UNDEFINED'); -insert into vicidial_statuses values('QUEUE','Lead To Be Called','N','N','UNDEFINED'); -insert into vicidial_statuses values('INCALL','Lead Being Called','N','N','UNDEFINED'); -insert into vicidial_statuses values('DROP','Agent Not Available','N','Y','UNDEFINED'); -insert into vicidial_statuses values('XDROP','Agent Not Available IN','N','Y','UNDEFINED'); -insert into vicidial_statuses values('NA','No Answer AutoDial','N','N','UNDEFINED'); -insert into vicidial_statuses values('CALLBK','Call Back','Y','Y','UNDEFINED'); -insert into vicidial_statuses values('CBHOLD','Call Back Hold','N','Y','UNDEFINED'); -insert into vicidial_statuses values('A','Answering Machine','Y','N','UNDEFINED'); -insert into vicidial_statuses values('AA','Answering Machine Auto','N','N','UNDEFINED'); -insert into vicidial_statuses values('AM','Answering Machine Sent to Mesg','N','N','UNDEFINED'); -insert into vicidial_statuses values('AL','Answering Machine Msg Played','N','N','UNDEFINED'); -insert into vicidial_statuses values('B','Busy','Y','N','UNDEFINED'); -insert into vicidial_statuses values('DC','Disconnected Number','Y','N','UNDEFINED'); -insert into vicidial_statuses values('DEC','Declined Sale','Y','Y','UNDEFINED'); -insert into vicidial_statuses values('DNC','DO NOT CALL','Y','Y','UNDEFINED'); -insert into vicidial_statuses values('SALE','Sale Made','Y','Y','UNDEFINED'); -insert into vicidial_statuses values('N','No Answer','Y','N','UNDEFINED'); -insert into vicidial_statuses values('NI','Not Interested','Y','Y','UNDEFINED'); -insert into vicidial_statuses values('NP','No Pitch No Price','Y','Y','UNDEFINED'); -insert into vicidial_statuses values('XFER','Call Transferred','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('NEW','New Lead','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('QUEUE','Lead To Be Called','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('INCALL','Lead Being Called','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('DROP','Agent Not Available','N','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('XDROP','Agent Not Available IN','N','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('NA','No Answer AutoDial','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('CALLBK','Call Back','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('CBHOLD','Call Back Hold','N','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('A','Answering Machine','Y','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('AA','Answering Machine Auto','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('AM','Answering Machine Sent to Mesg','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('AL','Answering Machine Msg Played','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('B','Busy','Y','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('DC','Disconnected Number','Y','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('DEC','Declined Sale','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('DNC','DO NOT CALL','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('SALE','Sale Made','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('N','No Answer','Y','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('NI','Not Interested','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('NP','No Pitch No Price','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('XFER','Call Transferred','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('SVYEXT','Survey sent to Extension','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('SVYVM','Survey sent to Voicemail','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('SVYHU','Survey Hungup','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('SVYREC','Survey sent to Record','N','N','UNDEFINED'); diff --git a/extras/upgrade_2.0.5.sql b/extras/upgrade_2.0.5.sql index dff56882..59189c1c 100644 --- a/extras/upgrade_2.0.5.sql +++ b/extras/upgrade_2.0.5.sql @@ -219,3 +219,39 @@ ALTER TABLE system_settings ADD timeclock_last_reset_date DATE; UPDATE system_settings SET db_schema_version='1090'; +ALTER TABLE vicidial_campaigns ADD survey_first_audio_file VARCHAR(50) default 'US_pol_survey_hello'; +ALTER TABLE vicidial_campaigns ADD survey_dtmf_digits VARCHAR(16) default '1238'; +ALTER TABLE vicidial_campaigns ADD survey_ni_digit VARCHAR(1) default '8'; +ALTER TABLE vicidial_campaigns ADD survey_opt_in_audio_file VARCHAR(50) default 'US_pol_survey_transfer'; +ALTER TABLE vicidial_campaigns ADD survey_ni_audio_file VARCHAR(50) default 'US_thanks_no_contact'; +ALTER TABLE vicidial_campaigns ADD survey_method ENUM('AGENT_XFER','VOICEMAIL','EXTENSION','HANGUP','CAMPREC_60_WAV') default 'AGENT_XFER'; +ALTER TABLE vicidial_campaigns ADD survey_no_response_action ENUM('OPTIN','OPTOUT') default 'OPTIN'; +ALTER TABLE vicidial_campaigns ADD survey_ni_status VARCHAR(6) default 'NI'; +ALTER TABLE vicidial_campaigns ADD survey_response_digit_map VARCHAR(255) default '1-DEMOCRAT|2-REPUBLICAN|3-INDEPENDANT|8-OPTOUT|X-NO RESPONSE|'; +ALTER TABLE vicidial_campaigns ADD survey_xfer_exten VARCHAR(20) default '8300'; +ALTER TABLE vicidial_campaigns ADD survey_camp_record_dir VARCHAR(255) default '/home/survey'; + +INSERT INTO vicidial_statuses values('SVYEXT','Survey sent to Extension','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('SVYVM','Survey sent to Voicemail','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('SVYHU','Survey Hungup','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('SVYREC','Survey sent to Record','N','N','UNDEFINED'); + +ALTER TABLE vicidial_users ADD add_timeclock_log ENUM('1','0') default '0'; +ALTER TABLE vicidial_users ADD modify_timeclock_log ENUM('1','0') default '0'; +ALTER TABLE vicidial_users ADD delete_timeclock_log ENUM('1','0') default '0'; + + CREATE TABLE vicidial_admin_log ( +admin_log_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +event_date DATETIME NOT NULL, +user VARCHAR(20) NOT NULL, +ip_address VARCHAR(15) NOT NULL, +event_section VARCHAR(30) NOT NULL, +event_type ENUM('ADD','COPY','LOAD','RESET','MODIFY','DELETE','SEARCH','LOGOUT','CLEAR','OTHER') default 'OTHER', +record_id VARCHAR(50) NOT NULL, +event_code VARCHAR(255) NOT NULL, +event_sql TEXT, +index (user), +index (record_id) +); + +UPDATE system_settings SET db_schema_version='1091'; diff --git a/translations/raw_translation_files/TO_BE_TRANSLATED_2.0.5.txt b/translations/raw_translation_files/TO_BE_TRANSLATED_2.0.5.txt index aeeac2d8..f2ab6679 100644 --- a/translations/raw_translation_files/TO_BE_TRANSLATED_2.0.5.txt +++ b/translations/raw_translation_files/TO_BE_TRANSLATED_2.0.5.txt @@ -158,6 +158,38 @@ Timeclock End Of Day -<\/B> This setting defines when all users are to be auto l Timeclock Last Auto Logout -<\/B> This field displays the date of the last auto-logout|| Timeclock Last Auto Logout: || Timeclock End Of Day: || +SURVEY SETTINGS FOR THIS CAMPAIGN:|| +Modify Campaign Survey|| +Survey First Audio File -<\/B> This is the audio filename that is played as soon as the customer picks up the phone when running a survey campaign.|| +Survey DTMF Digits -<\/B> This field is where you define the digits that a customer can press as an option on a survey campaign. valid dtmf digits are || +Survey Not Interested Digit -<\/B> This field is where you define the customer digit pressed that will show they are Not Interested.|| +Survey Not Interested Status -<\/B> This field is where you select the status to be used for Not Interested. If DNC is used and the campaign is set to use DNC then the phone number will be automatically added to the VICIDIAL internal DNC list.|| +Survey Opt-in Audio File -<\/B> This is the audio filename that is played when the customer has opted-in to the survey, not opted-out or not responded if the no-response-action is set to OPTOUT. After this audio file is played, the Survey Method action is taken.|| +Survey Not Interested Audio File -<\/B> This is the audio filename that is played when the customer has opted-out of the survey, not opted-in or not responded if the no-response-action is set to OPTIN. After this audio file is played, the call will be hung up|| +Survey Method -<\/B> This option defines what happens to a call after the customer has opted-in. AGENT_XFER will send the call to the next available agent. VOICEMAIL will send the call to the voicemail box that is specified in the Voicemail field. EXTENSION will send the customer to the extension defined in the Survey Xfer Extension field. HANGUP will hang up the customer. CAMPREC_60_WAV will send the customer to have a recording made with their response, this recording will be placed in a folder named as the campaign inside of the Survey Campaign Recording Directory.|| +Survey No-Response Action -<\/B> This is where you define what will happen if there is no response to the survey question. OPTIN will only send the call on to the Survey Method if the customer presses a dtmf digit. OPTOUT will send the customer on to the Survey Method even if they do not press a dtmf digit.|| +Survey Response Digit Map -<\/B> This is the section where you can define a description to go with each dtmf digit option that the customer may select.|| +Survey Xfer Extension -<\/B> If the Survey Method of EXTENSION is selected then the customer call would be directed to this dialplan extension|| +Survey Campaign Recording Directory -<\/B> If the Survey Method of CAMPREC_60_WAV is selected then the customer response will be recorded and placed in a directory named after the campaign inside of this directory.|| +SURVEY SETTINGS NOT MODIFIED|| +SURVEY SETTINGS MODIFIED|| +Survey First Audio File|| +Survey DTMF Digits|| +Survey Not Interested Digit|| +Survey Not Interested Status|| +Survey Opt-in Audio File|| +Survey Not Interested Audio File|| +Survey Method|| +Survey No-Response Action|| +Survey Response Digit Map|| +Survey Xfer Extension|| +Survey Campaign Recording Directory|| +Add Timeclock Log Record -<\/B> This option allows the user to add records to the timeclock log|| +Modify Timeclock Log Record -<\/B> This option allows the user to modify records in the timeclock log|| +Delete Timeclock Log Record -<\/B> This option allows the user to delete records in the timeclock log|| +Add Timeclock Log Record|| +Modify Timeclock Log Record|| +Delete Timeclock Log Record|| ############################################################ CLIENT diff --git a/www/vicidial/admin.php b/www/vicidial/admin.php index 8552937a..7350d024 100644 --- a/www/vicidial/admin.php +++ b/www/vicidial/admin.php @@ -729,7 +729,34 @@ if (isset($_GET["group_shifts"])) {$group_shifts=$_GET["group_shifts"];} elseif (isset($_POST["group_shifts"])) {$group_shifts=$_POST["group_shifts"];} if (isset($_GET["timeclock_end_of_day"])) {$timeclock_end_of_day=$_GET["timeclock_end_of_day"];} elseif (isset($_POST["timeclock_end_of_day"])) {$timeclock_end_of_day=$_POST["timeclock_end_of_day"];} - +if (isset($_GET["survey_first_audio_file"])) {$survey_first_audio_file=$_GET["survey_first_audio_file"];} + elseif (isset($_POST["survey_first_audio_file"])) {$survey_first_audio_file=$_POST["survey_first_audio_file"];} +if (isset($_GET["survey_dtmf_digits"])) {$survey_dtmf_digits=$_GET["survey_dtmf_digits"];} + elseif (isset($_POST["survey_dtmf_digits"])) {$survey_dtmf_digits=$_POST["survey_dtmf_digits"];} +if (isset($_GET["survey_ni_digit"])) {$survey_ni_digit=$_GET["survey_ni_digit"];} + elseif (isset($_POST["survey_ni_digit"])) {$survey_ni_digit=$_POST["survey_ni_digit"];} +if (isset($_GET["survey_opt_in_audio_file"])) {$survey_opt_in_audio_file=$_GET["survey_opt_in_audio_file"];} + elseif (isset($_POST["survey_opt_in_audio_file"])) {$survey_opt_in_audio_file=$_POST["survey_opt_in_audio_file"];} +if (isset($_GET["survey_ni_audio_file"])) {$survey_ni_audio_file=$_GET["survey_ni_audio_file"];} + elseif (isset($_POST["survey_ni_audio_file"])) {$survey_ni_audio_file=$_POST["survey_ni_audio_file"];} +if (isset($_GET["survey_method"])) {$survey_method=$_GET["survey_method"];} + elseif (isset($_POST["survey_method"])) {$survey_method=$_POST["survey_method"];} +if (isset($_GET["survey_no_response_action"])) {$survey_no_response_action=$_GET["survey_no_response_action"];} + elseif (isset($_POST["survey_no_response_action"])) {$survey_no_response_action=$_POST["survey_no_response_action"];} +if (isset($_GET["survey_ni_status"])) {$survey_ni_status=$_GET["survey_ni_status"];} + elseif (isset($_POST["survey_ni_status"])) {$survey_ni_status=$_POST["survey_ni_status"];} +if (isset($_GET["survey_response_digit_map"])) {$survey_response_digit_map=$_GET["survey_response_digit_map"];} + elseif (isset($_POST["survey_response_digit_map"])) {$survey_response_digit_map=$_POST["survey_response_digit_map"];} +if (isset($_GET["survey_xfer_exten"])) {$survey_xfer_exten=$_GET["survey_xfer_exten"];} + elseif (isset($_POST["survey_xfer_exten"])) {$survey_xfer_exten=$_POST["survey_xfer_exten"];} +if (isset($_GET["survey_camp_record_dir"])) {$survey_camp_record_dir=$_GET["survey_camp_record_dir"];} + elseif (isset($_POST["survey_camp_record_dir"])) {$survey_camp_record_dir=$_POST["survey_camp_record_dir"];} +if (isset($_GET["add_timeclock_log"])) {$add_timeclock_log=$_GET["add_timeclock_log"];} + elseif (isset($_POST["add_timeclock_log"])) {$add_timeclock_log=$_POST["add_timeclock_log"];} +if (isset($_GET["modify_timeclock_log"])) {$modify_timeclock_log=$_GET["modify_timeclock_log"];} + elseif (isset($_POST["modify_timeclock_log"])) {$modify_timeclock_log=$_POST["modify_timeclock_log"];} +if (isset($_GET["delete_timeclock_log"])) {$delete_timeclock_log=$_GET["delete_timeclock_log"];} + elseif (isset($_POST["delete_timeclock_log"])) {$delete_timeclock_log=$_POST["delete_timeclock_log"];} if (isset($script_id)) {$script_id= strtoupper($script_id);} if (isset($lead_filter_id)) {$lead_filter_id = strtoupper($lead_filter_id);} @@ -889,10 +916,18 @@ $campaign_shift_start_time = ereg_replace("[^0-9]","",$campaign_shift_start_time $campaign_day_start_time = ereg_replace("[^0-9]","",$campaign_day_start_time); $shift_start_time = ereg_replace("[^0-9]","",$shift_start_time); $timeclock_end_of_day = ereg_replace("[^0-9]","",$timeclock_end_of_day); +$survey_xfer_exten = ereg_replace("[^0-9]","",$survey_xfer_exten); +$add_timeclock_log = ereg_replace("[^0-9]","",$add_timeclock_log); +$modify_timeclock_log = ereg_replace("[^0-9]","",$modify_timeclock_log); +$delete_timeclock_log = ereg_replace("[^0-9]","",$delete_timeclock_log); ### DIGITS and COLONS $shift_length = ereg_replace("[^\:0-9]","",$shift_length); +### DIGITS and HASHES and STARS +$survey_dtmf_digits = ereg_replace("[^\#\*0-9]","",$survey_dtmf_digits); +$survey_ni_digit = ereg_replace("[^\#\*0-9]","",$survey_ni_digit); + ### DIGITS and DASHES $group_rank = ereg_replace("[^-0-9]","",$group_rank); $campaign_rank = ereg_replace("[^-0-9]","",$campaign_rank); @@ -946,6 +981,8 @@ $after_hours_exten = ereg_replace("[^0-9a-zA-Z]","",$after_hours_exten); $after_hours_voicemail = ereg_replace("[^0-9a-zA-Z]","",$after_hours_voicemail); $qc_script = ereg_replace("[^0-9a-zA-Z]","",$qc_script); $code = ereg_replace("[^0-9a-zA-Z]","",$code); +$survey_no_response_action = ereg_replace("[^0-9a-zA-Z]","",$survey_no_response_action); +$survey_ni_status = ereg_replace("[^0-9a-zA-Z]","",$survey_ni_status); ### DIGITS and Dots $server_ip = ereg_replace("[^\.0-9]","",$server_ip); @@ -1037,6 +1074,10 @@ $afterhours_xfer_group = ereg_replace("[^-\_0-9a-zA-Z]","",$afterhours_xfer_grou $after_hours_action = ereg_replace("[^-\_0-9a-zA-Z]","",$after_hours_action); $alias_id = ereg_replace("[^-\_0-9a-zA-Z]","",$alias_id); $shift_id = ereg_replace("[^-\_0-9a-zA-Z]","",$shift_id); +$survey_first_audio_file = ereg_replace("[^-\_0-9a-zA-Z]","",$survey_first_audio_file); +$survey_opt_in_audio_file = ereg_replace("[^-\_0-9a-zA-Z]","",$survey_opt_in_audio_file); +$survey_ni_audio_file = ereg_replace("[^-\_0-9a-zA-Z]","",$survey_ni_audio_file); +$survey_method = ereg_replace("[^-\_0-9a-zA-Z]","",$survey_method); ### ALPHA-NUMERIC and underscore and dash and comma $logins_list = ereg_replace("[^-\,\_0-9a-zA-Z]","",$logins_list); @@ -1103,6 +1144,8 @@ $campaign_shift_length = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$campaign_shi ### remove semi-colons ### $lead_filter_sql = ereg_replace(";","",$lead_filter_sql); $list_mix_container = ereg_replace(";","",$list_mix_container); +$survey_response_digit_map = ereg_replace(";","",$survey_response_digit_map); +$survey_camp_record_dir = ereg_replace(";","",$survey_camp_record_dir); ### VARIABLES TO BE mysql_real_escape_string ### # $web_form_address @@ -1259,11 +1302,13 @@ $list_mix_container = ereg_replace(";","",$list_mix_container); # 80505-0333 - Added phones_alias sections to allow for load-balanced-phone-logins # 80512-1529 - Added auto-generate of User ID feature # 80515-1345 - Added Shifts sub-section to Admin section +# 80528-0001 - Added campaign survey sub-section +# 80528-1102 - Added user timeclock edit options # # 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.0.5-130'; -$build = '80515-1345'; +$admin_version = '2.0.5-131'; +$build = '80528-0001'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); @@ -1418,8 +1463,8 @@ if ($ADD==12111111111) {$hh='admin'; $sh='phones'; echo "ADD NEW PHONE ALIAS";} if ($ADD==111111111111) {$hh='admin'; $sh='server'; echo "ADD NEW SERVER";} if ($ADD==1111111111111) {$hh='admin'; $sh='conference'; echo "ADD NEW CONFERENCE";} if ($ADD==11111111111111) {$hh='admin'; $sh='conference'; echo "ADD NEW VICIDIAL CONFERENCE";} -if ($ADD=="2") {$hh='users'; echo "New User Addition";} -if ($ADD=="2A") {$hh='users'; echo "New Copied User Addition";} +if ($ADD=='2') {$hh='users'; echo "New User Addition";} +if ($ADD=='2A') {$hh='users'; echo "New Copied User Addition";} if ($ADD==20) {$hh='campaigns'; $sh='basic'; echo "New Copied Campaign Addition";} if ($ADD==21) {$hh='campaigns'; $sh='basic'; echo "New Campaign Addition";} if ($ADD==22) {$hh='campaigns'; $sh='status'; echo "New Campaign Status Addition";} @@ -1460,6 +1505,7 @@ if ($ADD==31) if ($SUB==27) {echo " - Agent Pause Codes";} if ($SUB==28) {echo " - QC";} if ($SUB==29) {echo " - List Mixes";} + if ($SUB=='20A') {echo " - Survey";} } if ($ADD==34) { @@ -1471,6 +1517,7 @@ if ($ADD==34) if ($SUB==27) {echo " - Agent Pause Codes";} if ($SUB==28) {echo " - QC";} if ($SUB==29) {echo " - List Mixes";} + if ($SUB=='20A') {echo " - Survey";} } if ($ADD==32) {$hh='campaigns'; $sh='status'; echo "Campaign Statuses";} if ($ADD==33) {$hh='campaigns'; $sh='hotkey'; echo "Campaign HotKeys";} @@ -1509,6 +1556,7 @@ if ($ADD==45) {$hh='campaigns'; $sh='recycle'; echo "Modify Campaign Lead Recy if ($ADD==47) {$hh='campaigns'; $sh='pause'; echo "Modify Agent Pause Code";} if ($ADD==48) {$hh='campaigns'; $sh='qc'; echo "Modify Campaign QC Settings";} if ($ADD==49) {$hh='campaigns'; $sh='listmix'; echo "Modify Campaign List Mix";} +if ($ADD=='40A') {$hh='campaigns'; $sh='survey'; echo "Modify Campaign Survey";} if ($ADD==411) {$hh='lists'; echo "Modify List";} if ($ADD==4111) {$hh='ingroups'; echo "Modify In-Group";} if ($ADD==41111) {$hh='remoteagent'; echo "Modify Remote Agents";} @@ -2312,6 +2360,22 @@ echo "\n"; echo "\n"; echo "\n"; - echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + echo "
QC Record Commit - This option allows the agent to specify that a record has been committed in QC. It can no longer be modified by anyone. +
+ +
+Add Timeclock Log Record - This option allows the user to add records to the timeclock log. + +
+
+
+Modify Timeclock Log Record - This option allows the user to modify records in the timeclock log. + +
+
+
+Delete Timeclock Log Record - This option allows the user to delete records in the timeclock log. + + @@ -2705,6 +2769,63 @@ echo "\n"; echo "\n"; echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; } - echo "\n"; + echo "\n"; echo "
QC Script - This is the script that can be used by QC agents in the SCRIPT tab in the QC screen. +
+ +
+Survey First Audio File - This is the audio filename that is played as soon as the customer picks up the phone when running a survey campaign. + +
+
+
+Survey DTMF Digits - This field is where you define the digits that a customer can press as an option on a survey campaign. valid dtmf digits are 0123456789*# + +
+
+
+Survey Not Interested Digit - This field is where you define the customer digit pressed that will show they are Not Interested. + +
+
+
+Survey Not Interested Status - This field is where you select the status to be used for Not Interested. If DNC is used and the campaign is set to use DNC then the phone number will be automatically added to the VICIDIAL internal DNC list. + +
+
+
+Survey Opt-in Audio File - This is the audio filename that is played when the customer has opted-in to the survey, not opted-out or not responded if the no-response-action is set to OPTOUT. After this audio file is played, the Survey Method action is taken. + +
+
+
+Survey Not Interested Audio File - This is the audio filename that is played when the customer has opted-out of the survey, not opted-in or not responded if the no-response-action is set to OPTIN. After this audio file is played, the call will be hung up. + +
+
+
+Survey Method - This option defines what happens to a call after the customer has opted-in. AGENT_XFER will send the call to the next available agent. VOICEMAIL will send the call to the voicemail box that is specified in the Voicemail field. EXTENSION will send the customer to the extension defined in the Survey Xfer Extension field. HANGUP will hang up the customer. CAMPREC_60_WAV will send the customer to have a recording made with their response, this recording will be placed in a folder named as the campaign inside of the Survey Campaign Recording Directory. + +
+
+
+Survey No-Response Action - This is where you define what will happen if there is no response to the survey question. OPTIN will only send the call on to the Survey Method if the customer presses a dtmf digit. OPTOUT will send the customer on to the Survey Method even if they do not press a dtmf digit. + +
+
+
+Survey Response Digit Map - This is the section where you can define a description to go with each dtmf digit option that the customer may select. + +
+
+
+Survey Xfer Extension - If the Survey Method of EXTENSION is selected then the customer call would be directed to this dialplan extension. + +
+
+
+Survey Campaign Recording Directory - If the Survey Method of CAMPREC_60_WAV is selected then the customer response will be recorded and placed in a directory named after the campaign inside of this directory. + + + @@ -5462,7 +5583,7 @@ if ($ADD=="2A") $rslt=mysql_query($stmt, $link); } - $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit from vicidial_users where user=\"$source_user_id\";"; + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log from vicidial_users where user=\"$source_user_id\";"; $rslt=mysql_query($stmt, $link); $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; @@ -5566,7 +5687,7 @@ if ($ADD==20) { echo "
CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id\n"; - $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,campaign_shift_start_time,campaign_shift_length,campaign_day_start_time,qc_web_form_address,qc_script) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,campaign_shift_start_time,campaign_shift_length,campaign_day_start_time,qc_web_form_address,qc_script from vicidial_campaigns where campaign_id='$source_campaign_id';"; + $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,campaign_shift_start_time,campaign_shift_length,campaign_day_start_time,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,campaign_shift_start_time,campaign_shift_length,campaign_day_start_time,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir from vicidial_campaigns where campaign_id='$source_campaign_id';"; $rslt=mysql_query($stmt, $link); $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; @@ -6702,7 +6823,7 @@ if ($ADD=="4A") { echo "
USER MODIFIED - ADMIN: $user\n"; - $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit' where user='$user';"; + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log' where user='$user';"; $rslt=mysql_query($stmt, $link); @@ -7219,6 +7340,46 @@ $ADD=31; # go to campaign modification form below } +###################### +# ADD=40A modify campaign survey settings in the system +###################### + +if ($ADD=='40A') +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
SURVEY SETTINGS NOT MODIFIED - Please go back and look at the data you entered\n"; + } + else + { + echo "
SURVEY SETTINGS MODIFIED: $campaign_id\n"; + + $stmt="UPDATE vicidial_campaigns SET survey_first_audio_file='$survey_first_audio_file',survey_dtmf_digits='$survey_dtmf_digits',survey_ni_digit='$survey_ni_digit',survey_opt_in_audio_file='$survey_opt_in_audio_file',survey_ni_audio_file='$survey_ni_audio_file',survey_method='$survey_method',survey_no_response_action='$survey_no_response_action',survey_ni_status='$survey_ni_status',survey_response_digit_map='$survey_response_digit_map',survey_xfer_exten='$survey_xfer_exten',survey_camp_record_dir='$survey_camp_record_dir',voicemail_ext='$voicemail_ext' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CAMP SV SETTING|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$SUB='20A'; +$ADD=31; # go to campaign modification form below +} + + ###################### # ADD=49 modify campaign list mix in the system ###################### @@ -7508,8 +7669,8 @@ if ($ADD==411) if ($reset_list == 'Y') { echo "
RESETTING LIST-CALLED-STATUS\n"; - $stmt="UPDATE vicidial_list set called_since_last_reset='N' where list_id='$list_id';"; - $rslt=mysql_query($stmt, $link); + $stmtB="UPDATE vicidial_list set called_since_last_reset='N' where list_id='$list_id';"; + $rslt=mysql_query($stmtB, $link); ### LOG RESET TO LOG FILE ### if ($WeBRooTWritablE > 0) @@ -7522,15 +7683,15 @@ if ($ADD==411) if ($campaign_id != "$old_campaign_id") { echo "
REMOVING LIST HOPPER LEADS FROM OLD CAMPAIGN HOPPER ($old_campaign_id)\n"; - $stmt="DELETE from vicidial_hopper where list_id='$list_id' and campaign_id='$old_campaign_id';"; - $rslt=mysql_query($stmt, $link); + $stmtC="DELETE from vicidial_hopper where list_id='$list_id' and campaign_id='$old_campaign_id';"; + $rslt=mysql_query($stmtC, $link); } ### LOG CHANGES TO LOG FILE ### if ($WeBRooTWritablE > 0) { $fp = fopen ("./admin_changes_log.txt", "a"); - fwrite ($fp, "$date|MODIFY LIST INFO |$PHP_AUTH_USER|$ip|list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description' where list_id='$list_id'|\n"); + fwrite ($fp, "$date|MODIFY LIST INFO |$PHP_AUTH_USER|$ip|$stmt|$stmtB|$stmtC|\n"); fclose($fp); } } @@ -9840,6 +10001,9 @@ if ($ADD==3) $qc_pass = $row[48]; $qc_finish = $row[49]; $qc_commit = $row[50]; + $add_timeclock_log = $row[51]; + $modify_timeclock_log = $row[52]; + $delete_timeclock_log = $row[53]; if ( ($user_level >= $LOGuser_level) and ($LOGuser_level < 9) ) @@ -9961,8 +10125,12 @@ if ($ADD==3) echo "
Modify Call Times: $NWB#vicidial_users-modify_call_times$NWE
Delete Call Times: $NWB#vicidial_users-delete_call_times$NWE
Modify Servers: $NWB#vicidial_users-modify_sections$NWE
Add Timeclock Log Record: $NWB#vicidial_users-add_timeclock_log$NWE
Modify Timeclock Log Record: $NWB#vicidial_users-modify_timeclock_log$NWE
Delete Timeclock Log Record: $NWB#vicidial_users-delete_timeclock_log$NWE
\n"; if ($LOGdelete_users > 0) @@ -10085,6 +10253,17 @@ if ($ADD==31) $campaign_day_start_time = $row[76]; $qc_web_form_address = $row[77]; $qc_script = $row[78]; + $survey_first_audio_file = $row[79]; + $survey_dtmf_digits = $row[80]; + $survey_ni_digit = $row[81]; + $survey_opt_in_audio_file = $row[82]; + $survey_ni_audio_file = $row[83]; + $survey_method = $row[84]; + $survey_no_response_action = $row[85]; + $survey_ni_status = $row[86]; + $survey_response_digit_map = $row[87]; + $survey_xfer_exten = $row[88]; + $survey_camp_record_dir = $row[89]; if (ereg("DISABLED",$list_order_mix)) {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} @@ -10136,13 +10315,25 @@ if ($ADD==31) $statuses_list=''; $dial_statuses_list=''; $qc_statuses_list=''; + $survey_ni_status_list=''; $o=0; while ($statuses_to_print > $o) { $rowx=mysql_fetch_row($rslt); $statuses_list .= "\n"; - if ($rowx[0] != 'CBHOLD') {$dial_statuses_list .= "\n";} + if ($rowx[0] != 'CBHOLD') + { + $dial_statuses_list .= "\n"; + if ($survey_ni_status == $rowx[0]) + { + $survey_ni_status_list .= "\n"; + } + else + { + $survey_ni_status_list .= "\n"; + } + } $statname_list["$rowx[0]"] = "$rowx[1]"; $LRstatuses_list .= "\n"; if (eregi("Y",$rowx[2])) @@ -10259,6 +10450,8 @@ if ($ADD==31) else {$camp_qc_color=$campaigns_color;} if ($SUB==29) {$camp_listmix_color=$subcamp_color;} else {$camp_listmix_color=$campaigns_color;} + if ($SUB=='20A') {$camp_survey_color=$subcamp_color;} + else {$camp_survey_color=$campaigns_color;} echo "\n"; echo ""; echo ""; @@ -10270,6 +10463,7 @@ if ($ADD==31) echo ""; echo ""; echo ""; + echo ""; echo "\n"; echo "
$row[0]: Basic Pause CodesQCList MixSurvey Real-Time
\n"; @@ -10875,12 +11069,39 @@ if ($ADD==31) echo "
Campaign Shift Start Time: $NWB#vicidial_campaigns-campaign_shift_start_time$NWE
Campaign Shift Length: $NWB#vicidial_campaigns-campaign_shift_length$NWE
Campaign Day Start Time: $NWB#vicidial_campaigns-campaign_day_start_time$NWE
QC WebForm: $NWB#vicidial_campaigns-qc_web_form_address$NWE
QC Script: $NWB#vicidial_campaigns-qc_script$NWE
\n"; + echo "

\n"; + } + + ##### CAMPAIGN SURVEY SETTINGS ##### + if ($SUB=='20A') + { + + echo "

SURVEY SETTINGS FOR THIS CAMPAIGN:
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; echo "
\n"; + echo "\n"; + + echo "
Survey First Audio File: $NWB#vicidial_campaigns-survey_first_audio_file$NWE
Survey DTMF Digits: $NWB#vicidial_campaigns-survey_dtmf_digits$NWE
Survey Not Interested Digit: $NWB#vicidial_campaigns-survey_ni_digit$NWE
Survey Opt-in Audio File: $NWB#vicidial_campaigns-survey_opt_in_audio_file$NWE
Survey Not Interested Audio File: $NWB#vicidial_campaigns-survey_ni_audio_file$NWE
Survey Method: $NWB#vicidial_campaigns-survey_method$NWE
Survey No-Response Action: $NWB#vicidial_campaigns-survey_no_response_action$NWE
Survey Not Interested Status: $NWB#vicidial_campaigns-survey_ni_status$NWE
Survey Response Digit Map: $NWB#vicidial_campaigns-survey_response_digit_map$NWE
Survey Survey Xfer Extension: $NWB#vicidial_campaigns-survey_xfer_exten$NWE
Survey Campaign Recording Directory: $NWB#vicidial_campaigns-survey_camp_record_dir$NWE
Voicemail: $NWB#vicidial_campaigns-voicemail_ext$NWE
\n"; echo "

\n"; } diff --git a/www/vicidial/user_stats.php b/www/vicidial/user_stats.php index c5b9072f..f7aff095 100644 --- a/www/vicidial/user_stats.php +++ b/www/vicidial/user_stats.php @@ -136,7 +136,7 @@ echo "
\n"; ##### vicidial agent talk time and status ##### -echo "TALK TIME AND STATUS:\n"; +echo "VICIDIAL TALK TIME AND STATUS:\n"; echo "
\n"; echo "\n"; @@ -273,6 +273,9 @@ echo "
STATUSCOUNTHOURS:MINUTES
$total_login_hours_int:$total_login_minutes_ echo "
\n"; + + + ##### vicidial_timeclock log records for user ##### $SQday_ARY = explode('-',$begin_date); @@ -285,10 +288,10 @@ echo "

\n"; echo "
\n"; echo "TIMECLOCK LOGIN/LOGOUT TIME:\n"; -echo "\n"; -echo "\n"; +echo "
EVENT DATE IP ADDRESS GROUPHOURS:MINUTES
\n"; +echo "\n"; - $stmt="SELECT event,event_epoch,user_group,login_sec,ip_address from vicidial_timeclock_log where user='" . mysql_real_escape_string($user) . "' and event_epoch >= '$SQepoch' and event_epoch <= '$EQepoch';"; + $stmt="SELECT event,event_epoch,user_group,login_sec,ip_address,timeclock_id,manager_user from vicidial_timeclock_log where user='" . mysql_real_escape_string($user) . "' and event_epoch >= '$SQepoch' and event_epoch <= '$EQepoch';"; if ($DB>0) {echo "|$stmt|";} $rslt=mysql_query($stmt, $link); $events_to_print = mysql_num_rows($rslt); @@ -304,10 +307,15 @@ echo ""; + echo ""; + echo ""; + echo ""; echo "\n"; echo "\n"; echo "\n"; @@ -324,7 +332,9 @@ echo ""; + echo ""; + echo ""; + echo ""; echo "\n"; echo "\n"; echo "\n"; @@ -345,10 +355,11 @@ $total_login_minutes = ($total_login_minutes * 60); $total_login_minutes_int = round($total_login_minutes, 0); if ($total_login_minutes_int < 10) {$total_login_minutes_int = "0$total_login_minutes_int";} -echo ""; +echo ""; echo "\n"; echo "\n"; echo "\n"; +echo "\n"; echo "\n"; echo "
ID EDIT EVENT DATE IP ADDRESS GROUPHOURS:MINUTES
EVENT DATE0) {$manager_edit = ' * ';} + if (ereg("LOGIN", $row[0])) { $login_sec=''; - echo "
$row[0]
$row[5]$manager_edit$row[0] $TC_log_date $row[4] $row[2]
EVENT DATE$row[0]
$row[5]$manager_edit$row[0] $TC_log_date $row[4] $row[2]
TOTAL
TOTAL $total_login_hours_int:$total_login_minutes_int
\n";