diff --git a/UPGRADE b/UPGRADE
index 3bb158a4..a99764ad 100644
--- a/UPGRADE
+++ b/UPGRADE
@@ -498,6 +498,11 @@ OTHER CHANGES:
139. Added system setting to allow you to restrict Admin Phones display to a
set number of records per page.
+140. Added options at the campaign and in-group levels to allow you to play
+ alert sounds when a call arrives in the agent's session, in the agents'
+ web browser that they are logged into the agent screen with. Must be
+ enabled in system settings.
+
diff --git a/extras/MySQL_AST_CREATE_tables.sql b/extras/MySQL_AST_CREATE_tables.sql
index 1bc9cc1e..38a2b07c 100644
--- a/extras/MySQL_AST_CREATE_tables.sql
+++ b/extras/MySQL_AST_CREATE_tables.sql
@@ -1039,7 +1039,9 @@ dial_timeout_lead_container VARCHAR(40) default 'DISABLED',
amd_type ENUM('AMD','CPD','KHOMP') default 'AMD',
vmm_daily_limit TINYINT(3) UNSIGNED default '0',
opensips_cid_name VARCHAR(15) default '',
-amd_agent_route_options ENUM('ENABLED','DISABLED','PENDING') default 'DISABLED'
+amd_agent_route_options ENUM('ENABLED','DISABLED','PENDING') default 'DISABLED',
+browser_alert_sound VARCHAR(20) default '---NONE---',
+browser_alert_volume TINYINT(3) UNSIGNED default '50'
) ENGINE=MyISAM;
CREATE TABLE vicidial_lists (
@@ -1324,7 +1326,9 @@ cid_cb_reenter_filename TEXT,
cid_cb_error_filename TEXT,
place_in_line_caller_number_filename TEXT,
place_in_line_you_next_filename TEXT,
-ingroup_script_two VARCHAR(20) default ''
+ingroup_script_two VARCHAR(20) default '',
+browser_alert_sound VARCHAR(20) default '---NONE---',
+browser_alert_volume TINYINT(3) UNSIGNED default '50'
) ENGINE=MyISAM;
CREATE TABLE vicidial_stations (
@@ -1850,7 +1854,8 @@ opensips_cid_name ENUM('0','1') default '0',
require_password_length TINYINT(3) UNSIGNED default '0',
user_account_emails ENUM('DISABLED','SEND_NO_PASS','SEND_WITH_PASS') DEFAULT 'DISABLED',
outbound_cid_any ENUM('DISABLED','API_ONLY') DEFAULT 'DISABLED',
-entries_per_page SMALLINT(5) UNSIGNED DEFAULT '0'
+entries_per_page SMALLINT(5) UNSIGNED DEFAULT '0',
+browser_call_alerts ENUM('0','1','2') DEFAULT '0'
) ENGINE=MyISAM;
CREATE TABLE vicidial_campaigns_list_mix (
@@ -4595,4 +4600,4 @@ INSERT INTO vicidial_settings_containers(container_id,container_notes,container_
UPDATE system_settings set vdc_agent_api_active='1';
-UPDATE system_settings SET db_schema_version='1591',db_schema_update_date=NOW(),reload_timestamp=NOW();
+UPDATE system_settings SET db_schema_version='1592',db_schema_update_date=NOW(),reload_timestamp=NOW();
diff --git a/extras/upgrade_2.14.sql b/extras/upgrade_2.14.sql
index 9a3ad722..5de0946a 100644
--- a/extras/upgrade_2.14.sql
+++ b/extras/upgrade_2.14.sql
@@ -1189,3 +1189,13 @@ UPDATE system_settings SET db_schema_version='1590',db_schema_update_date=NOW()
ALTER TABLE system_settings ADD entries_per_page SMALLINT(5) UNSIGNED DEFAULT '0';
UPDATE system_settings SET db_schema_version='1591',db_schema_update_date=NOW() where db_schema_version < 1591;
+
+ALTER TABLE system_settings ADD browser_call_alerts ENUM('0','1','2') DEFAULT '0';
+
+ALTER TABLE vicidial_campaigns ADD browser_alert_sound VARCHAR(20) default '---NONE---';
+ALTER TABLE vicidial_campaigns ADD browser_alert_volume TINYINT(3) UNSIGNED default '50';
+
+ALTER TABLE vicidial_inbound_groups ADD browser_alert_sound VARCHAR(20) default '---DISABLED---';
+ALTER TABLE vicidial_inbound_groups ADD browser_alert_volume TINYINT(3) UNSIGNED default '50';
+
+UPDATE system_settings SET db_schema_version='1592',db_schema_update_date=NOW() where db_schema_version < 1592;
diff --git a/www/agc/sounds/bark_dog.mp3 b/www/agc/sounds/bark_dog.mp3
new file mode 100644
index 00000000..f989b034
Binary files /dev/null and b/www/agc/sounds/bark_dog.mp3 differ
diff --git a/www/agc/sounds/beep_double.mp3 b/www/agc/sounds/beep_double.mp3
new file mode 100644
index 00000000..bfddfef2
Binary files /dev/null and b/www/agc/sounds/beep_double.mp3 differ
diff --git a/www/agc/sounds/beep_five.mp3 b/www/agc/sounds/beep_five.mp3
new file mode 100644
index 00000000..96a3b82f
Binary files /dev/null and b/www/agc/sounds/beep_five.mp3 differ
diff --git a/www/agc/sounds/beep_up.mp3 b/www/agc/sounds/beep_up.mp3
new file mode 100644
index 00000000..5bc7e7a7
Binary files /dev/null and b/www/agc/sounds/beep_up.mp3 differ
diff --git a/www/agc/sounds/bell_double.mp3 b/www/agc/sounds/bell_double.mp3
new file mode 100644
index 00000000..479e50d2
Binary files /dev/null and b/www/agc/sounds/bell_double.mp3 differ
diff --git a/www/agc/sounds/bell_school.mp3 b/www/agc/sounds/bell_school.mp3
new file mode 100644
index 00000000..958ff34d
Binary files /dev/null and b/www/agc/sounds/bell_school.mp3 differ
diff --git a/www/agc/sounds/bird.mp3 b/www/agc/sounds/bird.mp3
new file mode 100644
index 00000000..3c97ad57
Binary files /dev/null and b/www/agc/sounds/bird.mp3 differ
diff --git a/www/agc/sounds/blaster1.mp3 b/www/agc/sounds/blaster1.mp3
new file mode 100644
index 00000000..1b303fca
Binary files /dev/null and b/www/agc/sounds/blaster1.mp3 differ
diff --git a/www/agc/sounds/blaster2.mp3 b/www/agc/sounds/blaster2.mp3
new file mode 100644
index 00000000..9ea0a306
Binary files /dev/null and b/www/agc/sounds/blaster2.mp3 differ
diff --git a/www/agc/sounds/buzz1.mp3 b/www/agc/sounds/buzz1.mp3
new file mode 100644
index 00000000..eb394208
Binary files /dev/null and b/www/agc/sounds/buzz1.mp3 differ
diff --git a/www/agc/sounds/buzz2.mp3 b/www/agc/sounds/buzz2.mp3
new file mode 100644
index 00000000..59922cea
Binary files /dev/null and b/www/agc/sounds/buzz2.mp3 differ
diff --git a/www/agc/sounds/cash_register.mp3 b/www/agc/sounds/cash_register.mp3
new file mode 100644
index 00000000..faaf15c6
Binary files /dev/null and b/www/agc/sounds/cash_register.mp3 differ
diff --git a/www/agc/sounds/close_encounter.mp3 b/www/agc/sounds/close_encounter.mp3
new file mode 100644
index 00000000..c3b3878e
Binary files /dev/null and b/www/agc/sounds/close_encounter.mp3 differ
diff --git a/www/agc/sounds/confirmation.mp3 b/www/agc/sounds/confirmation.mp3
new file mode 100644
index 00000000..ded4f766
Binary files /dev/null and b/www/agc/sounds/confirmation.mp3 differ
diff --git a/www/agc/sounds/ding.mp3 b/www/agc/sounds/ding.mp3
new file mode 100644
index 00000000..5d54cc18
Binary files /dev/null and b/www/agc/sounds/ding.mp3 differ
diff --git a/www/agc/sounds/droplet.mp3 b/www/agc/sounds/droplet.mp3
new file mode 100644
index 00000000..4b71476f
Binary files /dev/null and b/www/agc/sounds/droplet.mp3 differ
diff --git a/www/agc/sounds/droplet_double.mp3 b/www/agc/sounds/droplet_double.mp3
new file mode 100644
index 00000000..5529ce32
Binary files /dev/null and b/www/agc/sounds/droplet_double.mp3 differ
diff --git a/www/agc/sounds/elephant.mp3 b/www/agc/sounds/elephant.mp3
new file mode 100644
index 00000000..f00f6cf5
Binary files /dev/null and b/www/agc/sounds/elephant.mp3 differ
diff --git a/www/agc/sounds/hold_tone.mp3 b/www/agc/sounds/hold_tone.mp3
new file mode 100644
index 00000000..8a149edb
Binary files /dev/null and b/www/agc/sounds/hold_tone.mp3 differ
diff --git a/www/agc/sounds/horn_bike.mp3 b/www/agc/sounds/horn_bike.mp3
new file mode 100644
index 00000000..9f51b416
Binary files /dev/null and b/www/agc/sounds/horn_bike.mp3 differ
diff --git a/www/agc/sounds/horn_car.mp3 b/www/agc/sounds/horn_car.mp3
new file mode 100644
index 00000000..a0cd4457
Binary files /dev/null and b/www/agc/sounds/horn_car.mp3 differ
diff --git a/www/agc/sounds/horn_car_triple.mp3 b/www/agc/sounds/horn_car_triple.mp3
new file mode 100644
index 00000000..0f0852e6
Binary files /dev/null and b/www/agc/sounds/horn_car_triple.mp3 differ
diff --git a/www/agc/sounds/horn_clown.mp3 b/www/agc/sounds/horn_clown.mp3
new file mode 100644
index 00000000..4223c652
Binary files /dev/null and b/www/agc/sounds/horn_clown.mp3 differ
diff --git a/www/agc/sounds/horn_double.mp3 b/www/agc/sounds/horn_double.mp3
new file mode 100644
index 00000000..75f60fda
Binary files /dev/null and b/www/agc/sounds/horn_double.mp3 differ
diff --git a/www/agc/sounds/horn_train.mp3 b/www/agc/sounds/horn_train.mp3
new file mode 100644
index 00000000..78afb4f5
Binary files /dev/null and b/www/agc/sounds/horn_train.mp3 differ
diff --git a/www/agc/sounds/meow_cat.mp3 b/www/agc/sounds/meow_cat.mp3
new file mode 100644
index 00000000..051f73a5
Binary files /dev/null and b/www/agc/sounds/meow_cat.mp3 differ
diff --git a/www/agc/sounds/scream_wilhelm.mp3 b/www/agc/sounds/scream_wilhelm.mp3
new file mode 100644
index 00000000..55228ed9
Binary files /dev/null and b/www/agc/sounds/scream_wilhelm.mp3 differ
diff --git a/www/agc/sounds/silence_quick.mp3 b/www/agc/sounds/silence_quick.mp3
new file mode 100644
index 00000000..cba04756
Binary files /dev/null and b/www/agc/sounds/silence_quick.mp3 differ
diff --git a/www/agc/sounds/siren.mp3 b/www/agc/sounds/siren.mp3
new file mode 100644
index 00000000..4d90300a
Binary files /dev/null and b/www/agc/sounds/siren.mp3 differ
diff --git a/www/agc/sounds/slide_down.mp3 b/www/agc/sounds/slide_down.mp3
new file mode 100644
index 00000000..7b9e5883
Binary files /dev/null and b/www/agc/sounds/slide_down.mp3 differ
diff --git a/www/agc/sounds/slide_up.mp3 b/www/agc/sounds/slide_up.mp3
new file mode 100644
index 00000000..ed20dfed
Binary files /dev/null and b/www/agc/sounds/slide_up.mp3 differ
diff --git a/www/agc/sounds/swish.mp3 b/www/agc/sounds/swish.mp3
new file mode 100644
index 00000000..bad4d52e
Binary files /dev/null and b/www/agc/sounds/swish.mp3 differ
diff --git a/www/agc/sounds/teleport1.mp3 b/www/agc/sounds/teleport1.mp3
new file mode 100644
index 00000000..d91906c4
Binary files /dev/null and b/www/agc/sounds/teleport1.mp3 differ
diff --git a/www/agc/sounds/teleport2.mp3 b/www/agc/sounds/teleport2.mp3
new file mode 100644
index 00000000..ebd1e05e
Binary files /dev/null and b/www/agc/sounds/teleport2.mp3 differ
diff --git a/www/agc/sounds/whip.mp3 b/www/agc/sounds/whip.mp3
new file mode 100644
index 00000000..a6c450fa
Binary files /dev/null and b/www/agc/sounds/whip.mp3 differ
diff --git a/www/agc/sounds/whoosh.mp3 b/www/agc/sounds/whoosh.mp3
new file mode 100644
index 00000000..dd1dbc5f
Binary files /dev/null and b/www/agc/sounds/whoosh.mp3 differ
diff --git a/www/agc/sounds/xylophone1.mp3 b/www/agc/sounds/xylophone1.mp3
new file mode 100644
index 00000000..4538bf2a
Binary files /dev/null and b/www/agc/sounds/xylophone1.mp3 differ
diff --git a/www/agc/sounds/xylophone2.mp3 b/www/agc/sounds/xylophone2.mp3
new file mode 100644
index 00000000..172965ab
Binary files /dev/null and b/www/agc/sounds/xylophone2.mp3 differ
diff --git a/www/agc/sounds/xylophone3.mp3 b/www/agc/sounds/xylophone3.mp3
new file mode 100644
index 00000000..0ef00c5d
Binary files /dev/null and b/www/agc/sounds/xylophone3.mp3 differ
diff --git a/www/agc/sounds/xylophone4.mp3 b/www/agc/sounds/xylophone4.mp3
new file mode 100644
index 00000000..78e09135
Binary files /dev/null and b/www/agc/sounds/xylophone4.mp3 differ
diff --git a/www/agc/vdc_db_query.php b/www/agc/vdc_db_query.php
index f59f61f8..0818c4c8 100644
--- a/www/agc/vdc_db_query.php
+++ b/www/agc/vdc_db_query.php
@@ -489,10 +489,11 @@
# 200122-1847 - Added code for CID Group auto-rotate feature
# 200310-1117 - Added manual_dial_cid AGENT_PHONE_OVERRIDE option
# 200403-1601 - Added option for forced outbound CID through API
+# 200407-2036 - Added option for browser alert sounds
#
-$version = '2.14-382';
-$build = '200403-1601';
+$version = '2.14-383';
+$build = '200407-2036';
$php_script = 'vdc_db_query.php';
$mel=1; # Mysql Error Log enabled = 1
$mysql_log_count=824;
@@ -5234,7 +5235,7 @@ if ($ACTION == 'manDiaLnextCaLL')
}
##### END if NOT preview dialing, send the call #####
- $stmt = "SELECT campaign_script,campaign_script_two from vicidial_campaigns where campaign_id='$campaign';";
+ $stmt = "SELECT campaign_script,campaign_script_two,browser_alert_sound,browser_alert_volume from vicidial_campaigns where campaign_id='$campaign';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00623',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -5242,8 +5243,10 @@ if ($ACTION == 'manDiaLnextCaLL')
if ($VC_script_ct > 0)
{
$row=mysqli_fetch_row($rslt);
- $VDCL_campaign_script = $row[0];
- $VDCL_campaign_script_two = $row[1];
+ $VDCL_campaign_script = $row[0];
+ $VDCL_campaign_script_two = $row[1];
+ $VDCL_browser_alert_sound = $row[2];
+ $VDCL_browser_alert_volume = $row[3];
}
##### find if script contains recording fields
@@ -5472,6 +5475,8 @@ if ($ACTION == 'manDiaLnextCaLL')
$LeaD_InfO .= $default_xfer_group . "\n";
$LeaD_InfO .= $VDCL_campaign_script_two . "\n";
$LeaD_InfO .= $VDCL_ingroup_script_color_two . "\n";
+ $LeaD_InfO .= $VDCL_browser_alert_sound . "\n";
+ $LeaD_InfO .= $VDCL_browser_alert_volume . "\n";
echo $LeaD_InfO;
}
@@ -9194,7 +9199,7 @@ if ($ACTION == 'VDADcheckINCOMING')
$script_recording_delay = $row[0];
}
- $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination,web_form_address_three,status_group_id,inbound_survey,ingroup_script_two from vicidial_inbound_groups where group_id='$VDADchannel_group';";
+ $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination,web_form_address_three,status_group_id,inbound_survey,ingroup_script_two,browser_alert_sound,browser_alert_volume from vicidial_inbound_groups where group_id='$VDADchannel_group';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00119',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -9231,10 +9236,12 @@ if ($ACTION == 'VDADcheckINCOMING')
$VDCL_group_web_three = stripslashes($row[26]);
$VDCL_inbound_survey = $row[28];
$VDCL_ingroup_script_two = $row[29];
+ $VDCL_browser_alert_sound = $row[30];
+ $VDCL_browser_alert_volume = $row[31];
$status_group_gather_data = status_group_gather($row[27],'INGROUP');
- $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination,default_xfer_group,campaign_script_two from vicidial_campaigns where campaign_id='$campaign';";
+ $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination,default_xfer_group,campaign_script_two,browser_alert_sound,browser_alert_volume from vicidial_campaigns where campaign_id='$campaign';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00181',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -9272,6 +9279,11 @@ if ($ACTION == 'VDADcheckINCOMING')
{$VDCL_timer_action_destination = $row[14];}
if ( (strlen($row[15]) > 0) and (!preg_match("/---NONE---/",$row[15])) )
{$VDCL_default_xfer_group = $row[15];}
+ if ( (strlen($VDCL_browser_alert_sound) < 1) or (preg_match("/---DISABLED---/",$VDCL_browser_alert_sound)) )
+ {
+ $VDCL_browser_alert_sound = $row[17];
+ $VDCL_browser_alert_volume = $row[18];
+ }
if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) )
{
@@ -9358,7 +9370,7 @@ if ($ACTION == 'VDADcheckINCOMING')
}
else
{
- $stmt = "SELECT campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination,campaign_script_two from vicidial_campaigns where campaign_id='$VDADchannel_group';";
+ $stmt = "SELECT campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination,campaign_script_two,browser_alert_sound,browser_alert_volume from vicidial_campaigns where campaign_id='$VDADchannel_group';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00121',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -9383,6 +9395,8 @@ if ($ACTION == 'VDADcheckINCOMING')
$VDCL_xferconf_e_number = $row[14];
$VDCL_timer_action_destination = $row[15];
$VDCL_ingroup_script_two = $row[16];
+ $VDCL_browser_alert_sound = $row[17];
+ $VDCL_browser_alert_volume = $row[18];
}
$script_recording_delay=0;
@@ -9526,8 +9540,8 @@ if ($ACTION == 'VDADcheckINCOMING')
}
### if web form is set then send on to vicidial.php for override of WEB_FORM address
- if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|$VDCL_group_web_three|$VDCL_ingroup_script_color|$VDCL_inbound_survey|$VDCL_survey_participate|$VDCL_ingroup_script_two|$VDCL_ingroup_script_color_two|\n";}
- else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|$VDCL_group_web_three|$VDCL_ingroup_script_color|$VDCL_inbound_survey|$VDCL_survey_participate|$VDCL_ingroup_script_two|$VDCL_ingroup_script_color_two|\n";}
+ if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|$VDCL_group_web_three|$VDCL_ingroup_script_color|$VDCL_inbound_survey|$VDCL_survey_participate|$VDCL_ingroup_script_two|$VDCL_ingroup_script_color_two|$VDCL_browser_alert_sound|$VDCL_browser_alert_volume|\n";}
+ else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|$VDCL_group_web_three|$VDCL_ingroup_script_color|$VDCL_inbound_survey|$VDCL_survey_participate|$VDCL_ingroup_script_two|$VDCL_ingroup_script_color_two|$VDCL_browser_alert_sound|$VDCL_browser_alert_volume|\n";}
$stmt = "SELECT full_name from vicidial_users where user='$tsr';";
if ($DB) {echo "$stmt\n";}
@@ -9682,6 +9696,8 @@ if ($ACTION == 'VDADcheckINCOMING')
$LeaD_InfO .= $call_date . "\n";
$LeaD_InfO .= $VDCL_ingroup_script_two . "\n";
$LeaD_InfO .= $VDCL_ingroup_script_color_two . "\n";
+ $LeaD_InfO .= $VDCL_browser_alert_sound . "\n";
+ $LeaD_InfO .= $VDCL_browser_alert_volume . "\n";
echo $LeaD_InfO;
@@ -10620,7 +10636,7 @@ if ($ACTION == 'VDADcheckINCOMINGother')
$row=mysqli_fetch_row($rslt);
$VDCL_front_VDlog =$row[0];
}
- $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination,web_form_address_three,status_group_id,ingroup_script_two from vicidial_inbound_groups where group_id='$VDADchannel_group';";
+ $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination,web_form_address_three,status_group_id,ingroup_script_two,browser_alert_sound,browser_alert_volume from vicidial_inbound_groups where group_id='$VDADchannel_group';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00500',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -10656,10 +10672,12 @@ if ($ACTION == 'VDADcheckINCOMINGother')
$VDCL_timer_action_destination = $row[25];
$VDCL_group_web_three = stripslashes($row[26]);
$VDCL_ingroup_script_two = $row[28];
+ $VDCL_browser_alert_sound = $row[29];
+ $VDCL_browser_alert_volume = $row[30];
$status_group_gather_data = status_group_gather($row[27],'INGROUP');
- $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination,campaign_script_two from vicidial_campaigns where campaign_id='$campaign';";
+ $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination,campaign_script_two,browser_alert_sound,browser_alert_volume from vicidial_campaigns where campaign_id='$campaign';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00501',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -11010,6 +11028,8 @@ if ($ACTION == 'VDADcheckINCOMINGother')
$LeaD_InfO .= $call_date . "\n";
$LeaD_InfO .= $VDCL_ingroup_script_two . "\n";
$LeaD_InfO .= $VDCL_ingroup_script_color_two . "\n";
+ $LeaD_InfO .= $VDCL_browser_alert_sound . "\n";
+ $LeaD_InfO .= $VDCL_browser_alert_volume . "\n";
echo $LeaD_InfO;
@@ -11747,7 +11767,7 @@ if ($ACTION == 'LeaDSearcHSelecTUpdatE')
$script_recording_delay = $row[0];
}
- $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination,web_form_address_three,status_group_id,ingroup_script from vicidial_inbound_groups where group_id='$VDADchannel_group';";
+ $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination,web_form_address_three,status_group_id,ingroup_script,browser_alert_sound,browser_alert_volume from vicidial_inbound_groups where group_id='$VDADchannel_group';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00468',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -11783,10 +11803,12 @@ if ($ACTION == 'LeaDSearcHSelecTUpdatE')
$VDCL_timer_action_destination = $row[25];
$VDCL_group_web_three = stripslashes($row[26]);
$VDCL_ingroup_script_two = $row[28];
+ $VDCL_browser_alert_sound = $row[29];
+ $VDCL_browser_alert_volume = $row[30];
$status_group_gather_data = status_group_gather($row[27],'INGROUP');
- $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination,campaign_script_two from vicidial_campaigns where campaign_id='$campaign';";
+ $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination,campaign_script_two,browser_alert_sound,browser_alert_volume from vicidial_campaigns where campaign_id='$campaign';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00469',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -11822,6 +11844,11 @@ if ($ACTION == 'LeaDSearcHSelecTUpdatE')
{$VDCL_xferconf_e_number = $row[13];}
if (strlen($VDCL_timer_action_destination) < 1)
{$VDCL_timer_action_destination = $row[14];}
+ if ( (strlen($VDCL_browser_alert_sound) < 1) or (preg_match("/---DISABLED---/",$VDCL_browser_alert_sound)) )
+ {
+ $VDCL_browser_alert_sound = $row[16];
+ $VDCL_browser_alert_volume = $row[17];
+ }
if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) )
{
@@ -11971,8 +11998,8 @@ if ($ACTION == 'LeaDSearcHSelecTUpdatE')
}
### if web form is set then send on to vicidial.php for override of WEB_FORM address
- if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|$VDCL_group_web_three|$VDCL_ingroup_script_color|$VDCL_ingroup_script_two|$VDCL_ingroup_script_color_two|\n";}
- else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|$VDCL_group_web_three|$VDCL_ingroup_script_color|$VDCL_ingroup_script_two|$VDCL_ingroup_script_color_two|\n";}
+ if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|$VDCL_group_web_three|$VDCL_ingroup_script_color|$VDCL_ingroup_script_two|$VDCL_ingroup_script_color_two|$VDCL_browser_alert_sound|$VDCL_browser_alert_volume|\n";}
+ else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|$VDCL_group_web_three|$VDCL_ingroup_script_color|$VDCL_ingroup_script_two|$VDCL_ingroup_script_color_two|$VDCL_browser_alert_sound|$VDCL_browser_alert_volume|\n";}
$stmt = "SELECT full_name from vicidial_users where user='$tsr';";
if ($DB) {echo "$stmt\n";}
@@ -12138,6 +12165,8 @@ if ($ACTION == 'LeaDSearcHSelecTUpdatE')
$LeaD_InfO .= $call_date . "\n";
$LeaD_InfO .= $VDCL_ingroup_script_two . "\n";
$LeaD_InfO .= $VDCL_ingroup_script_color_two . "\n";
+ $LeaD_InfO .= $VDCL_browser_alert_sound . "\n";
+ $LeaD_InfO .= $VDCL_browser_alert_volume . "\n";
echo $LeaD_InfO;
diff --git a/www/agc/vicidial.php b/www/agc/vicidial.php
index 19408397..4da134b0 100644
--- a/www/agc/vicidial.php
+++ b/www/agc/vicidial.php
@@ -634,10 +634,11 @@
# 200403-1539 - Added Manual Dial API outbound_cid function
# 200406-0949 - Fix for manual dial box with no phone number, Issue #1188
# 200406-1205 - Fix for gender custom field population, Issue #1205
+# 200407-1822 - Added Agent Browser Call Alert Sounds
#
-$version = '2.14-603c';
-$build = '200406-1205';
+$version = '2.14-604c';
+$build = '200407-1822';
$mel=1; # Mysql Error Log enabled = 1
$mysql_log_count=91;
$one_mysql_log=0;
@@ -752,7 +753,7 @@ if ($sl_ct > 0)
#############################################
##### START SYSTEM_SETTINGS LOOKUP #####
-$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit,qc_features_active,allow_emails,callback_time_24hour,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename,enable_third_webform,default_language,active_modules,allow_chats,chat_url,default_phone_code,agent_screen_colors,manual_auto_next,agent_xfer_park_3way,admin_web_directory,agent_script,agent_push_events,agent_push_url,agent_logout_link,agentonly_callback_campaign_lock,manual_dial_validation,mute_recordings,enable_second_script,enable_first_webform,recording_buttons,outbound_cid_any FROM system_settings;";
+$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit,qc_features_active,allow_emails,callback_time_24hour,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename,enable_third_webform,default_language,active_modules,allow_chats,chat_url,default_phone_code,agent_screen_colors,manual_auto_next,agent_xfer_park_3way,admin_web_directory,agent_script,agent_push_events,agent_push_url,agent_logout_link,agentonly_callback_campaign_lock,manual_dial_validation,mute_recordings,enable_second_script,enable_first_webform,recording_buttons,outbound_cid_any,browser_call_alerts FROM system_settings;";
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01001',$VD_login,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
@@ -802,6 +803,7 @@ if ($qm_conf_ct > 0)
$SSenable_first_webform = $row[39];
$SSrecording_buttons = $row[40];
$SSoutbound_cid_any = $row[41];
+ $SSbrowser_call_alerts = $row[42];
}
else
{
@@ -907,6 +909,8 @@ $SSalt_row1_background='BDFFBD';
$SSalt_row2_background='99FF99';
$SSalt_row3_background='CCFFCC';
+$browser_alert_sounds_list = 'bark_dog,beep_double,beep_five,beep_up,bell_double,bell_school,bird,blaster1,blaster2,buzz1,buzz2,cash_register,chat_alert,close_encounter,confirmation,ding,droplet,droplet_double,elephant,email_alert,hold_tone,horn_bike,horn_car,horn_car_triple,horn_clown,horn_double,horn_train,meow_cat,scream_wilhelm,silence_quick,siren,slide_down,slide_up,swish,teleport1,teleport2,whip,whoosh,xylophone1,xylophone2,xylophone3,xylophone4';
+
if ($agent_screen_colors != 'default')
{
$stmt = "SELECT menu_background,frame_background,std_row1_background,std_row2_background,std_row3_background,std_row4_background,std_row5_background,alt_row1_background,alt_row2_background,alt_row3_background,web_logo FROM vicidial_screen_colors where colors_id='$agent_screen_colors';";
@@ -1963,7 +1967,7 @@ else
$HKstatusnames = substr("$HKstatusnames", 0, -1);
##### grab the campaign settings
- $stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,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,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,use_campaign_dnc,three_way_call_cid,dial_method,three_way_dial_prefix,web_form_target,vtiger_screen_login,agent_allow_group_alias,default_group_alias,quick_transfer_button,prepopulate_transfer_preset,view_calls_in_queue,view_calls_in_queue_launch,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,manual_preview_dial,api_manual_dial,manual_dial_call_time_check,my_callback_option,per_call_notes,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_pause_precall_code,auto_resume_precall,manual_dial_cid,custom_3way_button_transfer,callback_days_limit,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,pllb_grouping,pllb_grouping_limit,in_group_dial,in_group_dial_select,pause_after_next_call,owner_populate,manual_dial_lead_id,dead_max,dispo_max,pause_max,dead_max_dispo,dispo_max_dispo,max_inbound_calls,manual_dial_search_checkbox,hide_call_log_info,timer_alt_seconds,wrapup_bypass,wrapup_after_hotkey,callback_active_limit,callback_active_limit_override,comments_all_tabs,comments_dispo_screen,comments_callback_screen,qc_comment_history,show_previous_callback,clear_script,manual_dial_search_filter,web_form_address_three,manual_dial_override_field,status_display_ingroup,customer_gone_seconds,agent_display_fields,manual_dial_timeout,manual_auto_next,manual_auto_show,allow_required_fields,dead_to_dispo,agent_xfer_validation,ready_max_logout,callback_display_days,three_way_record_stop,hangup_xfer_record_start,max_inbound_calls_outcome,manual_auto_next_options,agent_screen_time_display,pause_max_dispo,script_top_dispo,routing_initiated_recordings,dead_trigger_seconds,dead_trigger_action,dead_trigger_repeat,dead_trigger_filename,scheduled_callbacks_force_dial,callback_hours_block,callback_display_days,scheduled_callbacks_timezones_container,three_way_volume_buttons,manual_dial_validation,mute_recordings,leave_vm_no_dispo,leave_vm_message_group_id,campaign_script_two FROM vicidial_campaigns where campaign_id = '$VD_campaign';";
+ $stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,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,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,use_campaign_dnc,three_way_call_cid,dial_method,three_way_dial_prefix,web_form_target,vtiger_screen_login,agent_allow_group_alias,default_group_alias,quick_transfer_button,prepopulate_transfer_preset,view_calls_in_queue,view_calls_in_queue_launch,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,manual_preview_dial,api_manual_dial,manual_dial_call_time_check,my_callback_option,per_call_notes,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_pause_precall_code,auto_resume_precall,manual_dial_cid,custom_3way_button_transfer,callback_days_limit,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,pllb_grouping,pllb_grouping_limit,in_group_dial,in_group_dial_select,pause_after_next_call,owner_populate,manual_dial_lead_id,dead_max,dispo_max,pause_max,dead_max_dispo,dispo_max_dispo,max_inbound_calls,manual_dial_search_checkbox,hide_call_log_info,timer_alt_seconds,wrapup_bypass,wrapup_after_hotkey,callback_active_limit,callback_active_limit_override,comments_all_tabs,comments_dispo_screen,comments_callback_screen,qc_comment_history,show_previous_callback,clear_script,manual_dial_search_filter,web_form_address_three,manual_dial_override_field,status_display_ingroup,customer_gone_seconds,agent_display_fields,manual_dial_timeout,manual_auto_next,manual_auto_show,allow_required_fields,dead_to_dispo,agent_xfer_validation,ready_max_logout,callback_display_days,three_way_record_stop,hangup_xfer_record_start,max_inbound_calls_outcome,manual_auto_next_options,agent_screen_time_display,pause_max_dispo,script_top_dispo,routing_initiated_recordings,dead_trigger_seconds,dead_trigger_action,dead_trigger_repeat,dead_trigger_filename,scheduled_callbacks_force_dial,callback_hours_block,callback_display_days,scheduled_callbacks_timezones_container,three_way_volume_buttons,manual_dial_validation,mute_recordings,leave_vm_no_dispo,leave_vm_message_group_id,campaign_script_two,browser_alert_sound,browser_alert_volume FROM vicidial_campaigns where campaign_id = '$VD_campaign';";
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01013',$VD_login,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
@@ -2129,6 +2133,8 @@ else
$leave_vm_no_dispo = $row[158];
$leave_vm_message_group_id = $row[159];
$campaign_script_two = $row[160];
+ $browser_alert_sound = $row[161];
+ $browser_alert_volume = $row[162];
if ($leave_vm_no_dispo == 'ENABLED')
{$leave_vm_no_dispo = 'VMNOHANG';}
@@ -4972,6 +4978,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var SSenable_second_script='';
var SSoutbound_cid_any='';
var NeWManuaLDiaLBox_open=0;
+ var SSbrowser_call_alerts='';
+ var CAMPbrowser_alert_sound='';
+ var CAMPbrowser_alert_volume='';
+ var browser_alert_sound='';
+ var browser_alert_volume='';
var DiaLControl_auto_HTML = "
\" border=\"0\" alt=\"You are paused\" />";
var DiaLControl_auto_HTML_ready = "
\" border=\"0\" alt=\"You are active\" />";
var DiaLControl_auto_HTML_OFF = "
\" border=\"0\" alt=\"pause button disabled\" />";
@@ -5151,6 +5162,21 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
}
+// ################################################################################
+// Play MP3 audio file upon call arriving in agent screen, if enabled in system settings and campaign/in-group
+ function play_browser_sound(temp_sound,temp_volume)
+ {
+ if ( (temp_sound != '---NONE---') && (temp_sound != '---DISABLED---') && (temp_sound != '') )
+ {
+ var temp_selected_element = 'BAS_' + temp_sound;
+ var temp_audio = document.getElementById(temp_selected_element);
+ var temp_js_volume = (temp_volume * .01);
+ temp_audio.volume = temp_js_volume;
+ // alert(temp_selected_element + ' ' + temp_js_volume);
+ temp_audio.play();
+ }
+ }
+
// ################################################################################
// Send volume control command for meetme participant
function volume_control(taskdirection,taskvolchannel,taskagentmute)
@@ -8194,6 +8220,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
{CalL_ScripT_id_two = change_data[36];}
if (change_data[37].length > 0)
{CalL_ScripT_color_two = change_data[37];}
+ if (change_data[38].length > 0)
+ {
+ browser_alert_sound = change_data[38];
+ browser_alert_volume = change_data[39];
+ }
document.vicidial_form.lead_id.value = VDIC_data_VDAC[0];
LeaDPreVDispO = change_array[6];
@@ -9167,6 +9198,15 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
{
MDcheck_for_answer=1;
}
+
+ if (SSbrowser_call_alerts > 0)
+ {
+ if ( (browser_alert_sound != '') && (browser_alert_sound != '---NONE---') && (browser_alert_sound != '---DISABLED---') )
+ {
+ button_click_log = button_click_log + "" + SQLdate + "-----MANplay_browser_sound---" + browser_alert_sound + " " + browser_alert_volume + "|";
+ play_browser_sound(browser_alert_sound,browser_alert_volume);
+ }
+ }
}
}
}
@@ -9680,7 +9720,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
{
var MDnextResponse = null;
// alert(manDiaLnext_query + "\n" + xmlhttp.responseText);
- // document.getElementById("debugbottomspan").innerHTML = manDiaLnext_query + "\n" + xmlhttp.responseText;
+ // document.getElementById("debugbottomspan").innerHTML = manDiaLnext_query + "\n\n" + xmlhttp.responseText;
MDnextResponse = xmlhttp.responseText;
if (active_ingroup_dial.length > 0)
@@ -9844,6 +9884,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
LIVE_default_xfer_group = MDnextResponse_array[60];
CalL_ScripT_id_two = MDnextResponse_array[61];
CalL_ScripT_color_two = MDnextResponse_array[62];
+ browser_alert_sound = MDnextResponse_array[63];
+ browser_alert_volume = MDnextResponse_array[64];
// build statuses list for disposition screen
VARstatuses = [];
@@ -11102,7 +11144,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
CFAI_sent=0;
check_incoming = xmlhttprequestcheckauto.responseText;
// alert(checkVDAI_query);
- // document.getElementById("debugbottomspan").innerHTML = checkVDAI_query + "\n" + xmlhttp.responseText;
+ // document.getElementById("debugbottomspan").innerHTML = checkVDAI_query + "\n" + xmlhttprequestcheckauto.responseText;
var check_VDIC_array=check_incoming.split("\n");
if (check_VDIC_array[0] == '1')
{
@@ -11216,6 +11258,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
{CalL_ScripT_id_two = VDIC_data_VDIG[38];}
if (VDIC_data_VDIG[39].length > 0)
{CalL_ScripT_color_two = VDIC_data_VDIG[39];}
+ if (VDIC_data_VDIG[40].length > 0)
+ {
+ browser_alert_sound = VDIC_data_VDIG[40];
+ browser_alert_volume = VDIC_data_VDIG[41];
+ }
var VDIC_data_VDFR=check_VDIC_array[3].split("|");
if ( (VDIC_data_VDFR[1].length > 1) && (VDCL_fronter_display == 'Y') )
@@ -11838,6 +11885,14 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
}
}
+ if (SSbrowser_call_alerts > 0)
+ {
+ if ( (browser_alert_sound != '') && (browser_alert_sound != '---NONE---') && (browser_alert_sound != '---DISABLED---') )
+ {
+ button_click_log = button_click_log + "" + SQLdate + "-----AUTOplay_browser_sound---" + browser_alert_sound + " " + browser_alert_volume + "|";
+ play_browser_sound(browser_alert_sound,browser_alert_volume);
+ }
+ }
if (alert_enabled=='ON')
{
var callnum = dialed_number;
@@ -14577,6 +14632,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
CalL_ScripT_color='';
CalL_ScripT_id_two='';
CalL_ScripT_color_two='';
+ browser_alert_sound = CAMPbrowser_alert_sound;
+ browser_alert_volume = CAMPbrowser_alert_volume;
callback_gmt_offset='';
callback_timezone='';
document.getElementById("SBC_timezone_span").innerHTML = '...';
@@ -21817,11 +21874,27 @@ if ($agent_display_dialable_leads > 0)
+ 0)
+ {
+ $bas=0; $bas_embed_output='';
+ $browser_alert_sounds_listARY = explode(',',$browser_alert_sounds_list);
+ $browser_alert_sounds_listARY_ct = count($browser_alert_sounds_listARY);
+ while ($browser_alert_sounds_listARY_ct > $bas)
+ {
+ $bas_embed_output .= "\n";
+ $bas++;
+ }
+ echo "$bas_embed_output";
+ echo "\n";
+ }
+?>
+