";
echo " | ";
echo " Σύνδεση Error | ";
echo "
\n";
@@ -740,6 +771,10 @@ else
$DBX_pass=$row[58];
$DBX_port=$row[59];
+ if ($clientDST)
+ {
+ $local_gmt = ($local_gmt + $isdst);
+ }
if ($protocol == 'EXTERNAL')
{
$protocol = 'Local';
@@ -795,6 +830,11 @@ else
$session_rand = (rand(1,9999999) + 10000000);
$session_name = "$StarTtimE$US$session_ext$session_rand";
+ if ($webform_sessionname)
+ {$webform_sessionname = "&session_name=$session_name";}
+ else
+ {$webform_sessionname = '';}
+
$stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'vicidial';";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_query($stmt, $link);
@@ -1000,8 +1040,8 @@ $CTODAY = date("Y-m");
$CTODAYmday = date("j");
$CINC=0;
-$Cmonths = Array('January','February','March','April','May','June',
- 'July','August','September','October','November','December');
+$Cmonths = Array('Φεβρουάριος','February','Μάρτιος','Απρίλιος','Μάιος','Ιούνιος',
+ 'Ιούλιος','Αύγουστος','Σεπτέμβριος','Οκτώβριος','Νοέμβριος','Δεκέμβριος');
$Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
$CCAL_OUT = '';
@@ -1313,6 +1353,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var previous_called_count = '';
var hot_keys_active = 0;
var all_record = 'NO';
+ var all_record_count = 0;
var LeaDDispO = '';
var LeaDPreVDispO = '';
var AgaiNHanguPChanneL = '';
@@ -1320,8 +1361,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var AgainCalLSecondS = '';
var AgaiNCalLCID = '';
var CB_count_check = 60;
- var agentcallsstatus = ' echo $agentcallsstatus ?>';
- var campagentstatctmax = ' echo $campagentstatctmax ?>';
+ var agentcallsstatus = ' echo $agentcallsstatus ?>'
+ var campagentstatctmax = ' echo $campagentstatctmax ?>'
var campagentstatct = '0';
var manual_dial_in_progress = 0;
var auto_dial_alt_dial = 0;
@@ -1339,7 +1380,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var wrapup_message = ' echo $wrapup_message ?>';
var wrapup_counter = 0;
var wrapup_waiting = 0;
- var use_internal_dnc = ' echo $use_internal_dnc ?>'
+ var use_internal_dnc = ' echo $use_internal_dnc ?>';
+ var allcalls_delay = ' echo $allcalls_delay ?>';
+ var omit_phone_code = ' echo $omit_phone_code ?>';
+ var no_delete_sessions = ' echo $no_delete_sessions ?>';
+ var webform_session = ' echo $webform_sessionname ?>';
+ var local_consult_xfers = ' echo $local_consult_xfers ?>';
var DiaLControl_auto_HTML = "
";
var DiaLControl_auto_HTML_ready = "
";
var DiaLControl_auto_HTML_OFF = "
";
@@ -1480,18 +1526,26 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var manual_number = document.vicidial_form.xfernumber.value;
var manual_string = manual_number.toString();
}
- if (document.vicidial_form.xferoverride.checked==false)
+ var regXFvars = new RegExp("XFER","g");
+ if (manual_string.match(regXFvars))
{
- if (manual_string.length=='11')
- {manual_string = "9" + manual_string;}
- else
+ var donothing=1;
+ }
+ else
+ {
+ if (document.vicidial_form.xferoverride.checked==false)
{
- if (manual_string.length=='10')
- {manual_string = "91" + manual_string;}
+ if (manual_string.length=='11')
+ {manual_string = "9" + manual_string;}
else
{
- if (manual_string.length=='7')
- {manual_string = "9" + manual_string;}
+ if (manual_string.length=='10')
+ {manual_string = "91" + manual_string;}
+ else
+ {
+ if (manual_string.length=='7')
+ {manual_string = "9" + manual_string;}
+ }
}
}
}
@@ -1527,8 +1581,28 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
xmlhttp = new XMLHttpRequest();
}
if (xmlhttp)
- {
-
+ {
+ var regCXFvars = new RegExp("CXFER","g");
+ var tasknum_string = tasknum.toString();
+ if (tasknum_string.match(regCXFvars))
+ {
+ var Ctasknum = tasknum_string.replace(regCXFvars, '');
+ if (Ctasknum.length < 2)
+ {Ctasknum = '990009';}
+ var closerxfercamptail = '_L' + document.vicidial_form.xfercode.value;
+ tasknum = Ctasknum + "*CL_" + campaign + '' + closerxfercamptail + '**' + document.vicidial_form.lead_id.value + '**' + document.vicidial_form.phone_number.value + '*' + user + '*';
+ }
+ var regAXFvars = new RegExp("AXFER","g");
+ if (tasknum_string.match(regAXFvars))
+ {
+ var Ctasknum = tasknum_string.replace(regAXFvars, '');
+ if (Ctasknum.length < 2)
+ {Ctasknum = '83009';}
+ var closerxfercamptail = '_L' + document.vicidial_form.xfercode.value;
+ if (closerxfercamptail.length < 3)
+ {closerxfercamptail = 'IVR';}
+ tasknum = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '*';
+ }
if (taskprefix == 'NO') {var orig_prefix = '';}
else {var orig_prefix = agc_dial_prefix;}
if (taskreverse == 'YES')
@@ -1849,7 +1923,15 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var query_recording_exten = recording_exten;
var channelrec = "Local/" + conf_silent_prefix + '' + taskconfrec + "@" + ext_context;
var conf_rec_start_html = "
";
- document.getElementById("RecorDControl").innerHTML = conf_rec_start_html;
+
+ if (campaign_recording == 'ALLFORCE')
+ {
+ document.getElementById("RecorDControl").innerHTML = "
";
+ }
+ else
+ {
+ document.getElementById("RecorDControl").innerHTML = conf_rec_start_html;
+ }
}
if (taskconfrectype == 'StopMonitorConf')
{
@@ -1857,7 +1939,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var query_recording_exten = session_id;
var channelrec = "Local/" + conf_silent_prefix + '' + taskconfrec + "@" + ext_context;
var conf_rec_start_html = "
";
- document.getElementById("RecorDControl").innerHTML = conf_rec_start_html;
+ if (campaign_recording == 'ALLFORCE')
+ {
+ document.getElementById("RecorDControl").innerHTML = "
";
+ }
+ else
+ {
+ document.getElementById("RecorDControl").innerHTML = conf_rec_start_html;
+ }
}
confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&ext_priority=1";
xmlhttp.open('POST', 'manager_send.php');
@@ -1927,18 +2016,36 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
var queryCID = "XBvdcW" + epoch_sec + user_abb;
var blindxferdialstring = document.vicidial_form.xfernumber.value;
- if (document.vicidial_form.xferoverride.checked==false)
+ var regXFvars = new RegExp("XFER","g");
+ if (blindxferdialstring.match(regXFvars))
{
- if (blindxferdialstring.length=='11')
- {blindxferdialstring = dial_prefix + "" + blindxferdialstring;}
- else
+ var regAXFvars = new RegExp("AXFER","g");
+ if (blindxferdialstring.match(regAXFvars))
{
- if (blindxferdialstring.length=='10')
- {blindxferdialstring = dial_prefix + "1" + blindxferdialstring;}
+ var Ctasknum = blindxferdialstring.replace(regAXFvars, '');
+ if (Ctasknum.length < 2)
+ {Ctasknum = '83009';}
+ var closerxfercamptail = '_L' + document.vicidial_form.xfercode.value;
+ if (closerxfercamptail.length < 3)
+ {closerxfercamptail = 'IVR';}
+ blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '*';
+ }
+ }
+ else
+ {
+ if (document.vicidial_form.xferoverride.checked==false)
+ {
+ if (blindxferdialstring.length=='11')
+ {blindxferdialstring = dial_prefix + "" + blindxferdialstring;}
else
{
- if (blindxferdialstring.length=='7')
- {blindxferdialstring = dial_prefix + "" + blindxferdialstring;}
+ if (blindxferdialstring.length=='10')
+ {blindxferdialstring = dial_prefix + "1" + blindxferdialstring;}
+ else
+ {
+ if (blindxferdialstring.length=='7')
+ {blindxferdialstring = dial_prefix + "" + blindxferdialstring;}
+ }
}
}
}
@@ -1996,7 +2103,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var queryCID = "VXvdcW" + epoch_sec + user_abb;
var redirectdestination = "NEXTAVAILABLE";
var redirectXTRAvalue = XDchannel;
- xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectXtra&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue;
+ var redirecttype_test = document.vicidial_form.xfernumber.value;
+ var closerxfercamptail = '_L' + document.vicidial_form.xfercode.value;
+ var regRXFvars = new RegExp("CXFER","g");
+ if ( (redirecttype_test.match(regRXFvars)) && (local_consult_xfers > 0) )
+ {var redirecttype = 'RedirectXtraCX';}
+ else
+ {var redirecttype = 'RedirectXtra';}
+ xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&campaign=CL_" + campaign + '' + closerxfercamptail;
}
if (taskvar == 'ParK')
{
@@ -2136,7 +2250,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
if ( (taskMDstage != "start") && (VDstop_rec_after_each_call == 1) )
{
var conf_rec_start_html = "
";
- if (campaign_recording == 'NEVER')
+ if ( (campaign_recording == 'NEVER') || (campaign_recording == 'ALLFORCE') )
{
document.getElementById("RecorDControl").innerHTML = "
";
}
@@ -2527,6 +2641,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
function ManualDialNext(mdnCBid,mdnBDleadid,mdnDiaLCodE,mdnPhonENumbeR,mdnStagE)
{
all_record = 'NO';
+ all_record_count=0;
document.getElementById("DiaLControl").innerHTML = "
";
if (document.vicidial_form.LeadPreview.checked==true)
{
@@ -2562,7 +2677,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
if (xmlhttp)
{
- manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + dial_prefix + "&campaign_cid=" + campaign_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc ;
+ manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + dial_prefix + "&campaign_cid=" + campaign_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&omit_phone_code=" + omit_phone_code;
xmlhttp.open('POST', 'vdc_db_query.php');
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
xmlhttp.send(manDiaLnext_query);
@@ -2663,7 +2778,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
"&session_id=" + session_id +
"&phone=" + document.vicidial_form.phone_number.value +
"&parked_by=" + document.vicidial_form.lead_id.value +
- "&dispo=" + LeaDDispO;
+ "&dispo=" + LeaDDispO + '' +
+ webform_session;
// $VICIΚΛΗΣΗ_web_QUERY_STRING =~ s/ /+/gi;
// $VICIΚΛΗΣΗ_web_QUERY_STRING =~ s/\`|\~|\:|\;|\#|\'|\"|\{|\}|\(|\)|\*|\^|\%|\$|\!|\%|\r|\t|\n//gi;
@@ -2698,7 +2814,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.getElementById("HangupControl").innerHTML = "
";
- if (campaign_recording == 'ALLCALLS')
+ if ( (campaign_recording == 'ALLCALLS') || (campaign_recording == 'ALLFORCE') )
{all_record = 'YES';}
if ( (view_scripts == 1) && (campaign_script.length > 0) )
@@ -2837,6 +2953,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
function ManualDialOnly(taskaltnum)
{
all_record = 'NO';
+ all_record_count=0;
if (taskaltnum == 'ALTΤηλE')
{
var manDiaLonly_num = document.vicidial_form.alt_phone.value;
@@ -2876,7 +2993,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
if (xmlhttp)
{
- manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + dial_prefix + "&campaign_cid=" + campaign_cid;
+ manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + dial_prefix + "&campaign_cid=" + campaign_cid + "&omit_phone_code=" + omit_phone_code;
xmlhttp.open('POST', 'vdc_db_query.php');
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
xmlhttp.send(manDiaLonly_query);
@@ -2903,7 +3020,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.getElementById("HangupControl").innerHTML = "
";
- if (campaign_recording == 'ALLCALLS')
+ if ( (campaign_recording == 'ALLCALLS') || (campaign_recording == 'ALLFORCE') )
{all_record = 'YES';}
if ( (view_scripts == 1) && (campaign_script.length > 0) )
@@ -2999,11 +3116,75 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
+
+// ################################################################################
+// Check to see if there is a call being sent from the auto-dialer to agent conf
+ function ReChecKCustoMerChaN()
+ {
+ var xmlhttp=false;
+ /*@cc_on @*/
+ /*@if (@_jscript_version >= 5)
+ // JScript gives us Conditional compilation, we can cope with old IE versions.
+ // and security blocked creation of the objects.
+ try {
+ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
+ } catch (e) {
+ try {
+ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
+ } catch (E) {
+ xmlhttp = false;
+ }
+ }
+ @end @*/
+ if (!xmlhttp && typeof XMLHttpRequest!='undefined')
+ {
+ xmlhttp = new XMLHttpRequest();
+ }
+ if (xmlhttp)
+ {
+ recheckVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=VDADREcheckINCOMING" + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value;
+ xmlhttp.open('POST', 'vdc_db_query.php');
+ xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
+ xmlhttp.send(recheckVDAI_query);
+ xmlhttp.onreadystatechange = function()
+ {
+ if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
+ {
+ var recheck_incoming = null;
+ recheck_incoming = xmlhttp.responseText;
+ // alert(xmlhttp.responseText);
+ var recheck_VDIC_array=recheck_incoming.split("\n");
+ if (recheck_VDIC_array[0] == '1')
+ {
+ var reVDIC_data_VDAC=recheck_VDIC_array[1].split("|");
+ if (reVDIC_data_VDAC[3] == lastcustchannel)
+ {
+ // do nothing
+ }
+ else
+ {
+ // alert("Κανάλι has changed from:\n" + lastcustchannel + '|' + lastcustserverip + "\nto:\n" + reVDIC_data_VDAC[3] + '|' + reVDIC_data_VDAC[4]);
+ document.vicidial_form.callchannel.value = reVDIC_data_VDAC[3];
+ lastcustchannel = reVDIC_data_VDAC[3];
+ document.vicidial_form.callserverip.value = reVDIC_data_VDAC[4];
+ lastcustserverip = reVDIC_data_VDAC[4];
+ custchannellive = 1;
+ }
+ }
+ }
+ }
+ delete xmlhttp;
+ }
+ }
+
+
+
// ################################################################################
// Check to see if there is a call being sent from the auto-dialer to agent conf
function check_for_auto_incoming()
{
all_record = 'NO';
+ all_record_count=0;
document.vicidial_form.lead_id.value = '';
var xmlhttp=false;
/*@cc_on @*/
@@ -3197,7 +3378,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
"&session_id=" + session_id +
"&phone=" + document.vicidial_form.phone_number.value +
"&parked_by=" + document.vicidial_form.lead_id.value +
- "&dispo=" + LeaDDispO;
+ "&dispo=" + LeaDDispO + '' +
+ webform_session;
var regWFspace = new RegExp(" ","ig");
web_form_vars = web_form_vars.replace(regWF, '');
@@ -3213,7 +3395,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.getElementById("WebFormSpan").innerHTML = "
\n";
- if (campaign_recording == 'ALLCALLS')
+ if ( (campaign_recording == 'ALLCALLS') || (campaign_recording == 'ALLFORCE') )
{all_record = 'YES';}
if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) )
@@ -3303,7 +3485,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
"&session_id=" + session_id +
"&phone=" + document.vicidial_form.phone_number.value +
"&parked_by=" + document.vicidial_form.lead_id.value +
- "&dispo=" + LeaDDispO;
+ "&dispo=" + LeaDDispO + '' +
+ webform_session;
var regWFspace = new RegExp(" ","ig");
web_form_vars = web_form_vars.replace(regWF, '');
@@ -4174,7 +4357,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
if (xmlhttp)
{
- VDlogout_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=userLOGout&format=text&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol;
+ VDlogout_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=userLOGout&format=text&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&no_delete_sessions=" + no_delete_sessions;
xmlhttp.open('POST', 'vdc_db_query.php');
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
xmlhttp.send(VDlogout_query);
@@ -4487,7 +4670,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.vicidial_form.LeadLookuP.checked=true;
document.getElementById("sessionIDspan").innerHTML = session_id;
- if (campaign_recording == 'NEVER')
+ if ( (campaign_recording == 'NEVER') || (campaign_recording == 'ALLFORCE') )
{
document.getElementById("RecorDControl").innerHTML = "
";
}
@@ -4548,6 +4731,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
if (logout_stop_timeouts==1) {WaitingForNextStep=1;}
if ( (custchannellive < -30) && (lastcustchannel.length > 3) ) {CustomerChanneLGone();}
+ if ( (custchannellive < -10) && (lastcustchannel.length > 3) ) {ReChecKCustoMerChaN();}
if ( (nochannelinsession > 16) && (check_n > 15) ) {NoneInSession();}
if (wrapup_δευτερόλεπτα > 0)
{
@@ -4632,8 +4816,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
if (all_record == 'YES')
{
- conf_send_recording('MonitorConf',session_id ,'');
- all_record = 'NO';
+ if (all_record_count < allcalls_delay)
+ {all_record_count++;}
+ else
+ {
+ conf_send_recording('MonitorConf',session_id ,'');
+ all_record = 'NO';
+ all_record_count=0;
+ }
}
@@ -5073,7 +5263,7 @@ echo "\n";
(Αυτό είναι συνήθως ένα 1 στις ΗΠΑ) |
| Τηλ Number: |
- (10 ψηφία μόνο) |
+ (12 digits max - digits only) |
| Αναζήτηση Οδηγών: |
(Η επιλογή αυτή επιτρέπει να βρει τον αριθμό στο σύστημα προτού γίνει εισαγωγή ως νέος οδηγός) |
@@ -5336,7 +5526,7 @@ if ( ($alt_phone_dialing) and ($auto_dial_level==0) )



-
+
@@ -5372,7 +5562,7 @@ if ( ($alt_phone_dialing) and ($auto_dial_level==0) )
ID προμηθευτού: |
| Τηλ: |
- Κωδικός Κλήσης: Εναλ/κό Τηλ: |
+ Κωδικός Κλήσης: Εναλ/κό Τηλ: |
| Παρουσίαση: |
Ηλεκτρονικό ταχυδρομείο: |
diff --git a/agc_2-X/trunk/LANG_www/agc_el/voicemail_check.php b/agc_2-X/trunk/LANG_www/agc_el/voicemail_check.php
index fb48dfb4..fb64e8a9 100644
--- a/agc_2-X/trunk/LANG_www/agc_el/voicemail_check.php
+++ b/agc_2-X/trunk/LANG_www/agc_el/voicemail_check.php
@@ -21,6 +21,7 @@
# 50503-1241 - added session_name checking for extra security
# 50711-1201 - removed HTTP authentication in favor of user/pass vars
# 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES
+# 60619-1204 - Added variable filters to close security holes for login form
#
require("dbconnect.php");
@@ -39,11 +40,14 @@ if (isset($_GET["format"])) {$format=$_GET["format"];}
if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];}
elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];}
+$user=ereg_replace("[^0-9a-zA-Z]","",$user);
+$pass=ereg_replace("[^0-9a-zA-Z]","",$pass);
+
# default optional vars if not set
if (!isset($format)) {$format="text";}
-$version = '0.0.4';
-$build = '60421-1147';
+$version = '0.0.5';
+$build = '60619-1204';
$StarTtime = date("U");
$NOW_DATE = date("Y-m-d");
$NOW_TIME = date("Y-m-d H:i:s");
diff --git a/agc_2-X/trunk/LANG_www/agc_en/active_list_refresh.php b/agc_2-X/trunk/LANG_www/agc_en/active_list_refresh.php
index dd977642..7ea0bff0 100644
--- a/agc_2-X/trunk/LANG_www/agc_en/active_list_refresh.php
+++ b/agc_2-X/trunk/LANG_www/agc_en/active_list_refresh.php
@@ -37,6 +37,7 @@
# 50610-1155 - Added NULL check on MySQL results to reduced errors
# 50711-1209 - removed HTTP authentication in favor of user/pass vars
# 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES
+# 60619-1118 - Added variable filters to close security holes for login form
#
require("dbconnect.php");
@@ -79,6 +80,24 @@ if (isset($_GET["textareawidth"])) {$textareawidth=$_GET["textareawidth"];}
if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];}
elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];}
+### security strip all non-alphanumeric characters out of the variables ###
+ $user=ereg_replace("[^0-9a-zA-Z]","",$user);
+ $pass=ereg_replace("[^0-9a-zA-Z]","",$pass);
+ $ADD=ereg_replace("[^0-9]","",$ADD);
+ $order=ereg_replace("[^0-9a-zA-Z]","",$order);
+ $format=ereg_replace("[^0-9a-zA-Z]","",$format);
+ $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor);
+ $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor);
+ $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize);
+ $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize);
+ $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize);
+ $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext);
+ $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk);
+ $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal);
+ $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight);
+ $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth);
+ $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name);
+
# default optional vars if not set
if (!isset($ADD)) {$ADD="1";}
if (!isset($order)) {$order='desc';}
@@ -91,8 +110,8 @@ if (!isset($selectfontsize)) {$selectfontsize='10';}
if (!isset($textareaheight)) {$textareaheight='10';}
if (!isset($textareawidth)) {$textareawidth='20';}
-$version = '0.0.7';
-$build = '60421-1155';
+$version = '0.0.8';
+$build = '60619-1118';
$StarTtime = date("U");
$NOW_DATE = date("Y-m-d");
$NOW_TIME = date("Y-m-d H:i:s");
diff --git a/agc_2-X/trunk/LANG_www/agc_en/astguiclient.php b/agc_2-X/trunk/LANG_www/agc_en/astguiclient.php
index 6ce6b5d0..ac01f994 100644
--- a/agc_2-X/trunk/LANG_www/agc_en/astguiclient.php
+++ b/agc_2-X/trunk/LANG_www/agc_en/astguiclient.php
@@ -55,12 +55,11 @@
# 60112-1622 - Several formatting changes
# 60421-1357 - check GET/POST vars lines with isset to not trigger PHP NOTICES
# 60619-1103 - Added variable filters to close security holes for login form
+# 60829-1528 - Made compatible with WeBRooTWritablE setting in dbconnect.php
#
require("dbconnect.php");
-#require_once("htglobalize.php");
-
### If you have globals turned off uncomment these lines
if (isset($_GET["user"])) {$user=$_GET["user"];}
elseif (isset($_POST["user"])) {$user=$_POST["user"];}
@@ -88,8 +87,8 @@ $user_abb = "$user$user$user$user";
while ( (strlen($user_abb) > 4) and ($forever_stop < 200) )
{$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;}
-$version = '1.1.12';
-$build = '60619-1103';
+$version = '2.0.1';
+$build = '60829-1528';
### security strip all non-alphanumeric characters out of the variables ###
$DB=ereg_replace("[^0-9a-z]","",$DB);
@@ -124,7 +123,8 @@ $FILE_TIME = date("Ymd-His");
$US='_';
$CL=':';
-$fp = fopen ("./astguiclient_auth_entries.txt", "a");
+if ($WeBRooTWritablE > 0)
+ {$fp = fopen ("./astguiclient_auth_entries.txt", "a");}
$date = date("r");
$ip = getenv("REMOTE_ADDR");
$browser = getenv("HTTP_USER_AGENT");
@@ -183,13 +183,19 @@ echo " 0)
+ {
+ fwrite ($fp, "VICIDIAL|GOOD|$date|$user|$pass|$ip|$browser|$LOGfullname|\n");
+ fclose($fp);
+ }
}
else
{
- fwrite ($fp, "VICIDIAL|FAIL|$date|$user|$pass|$ip|$browser|\n");
- fclose($fp);
+ if ($WeBRooTWritablE > 0)
+ {
+ fwrite ($fp, "VICIDIAL|FAIL|$date|$user|$pass|$ip|$browser|$LOGfullname|\n");
+ fclose($fp);
+ }
}
}
diff --git a/agc_2-X/trunk/LANG_www/agc_en/call_log_display.php b/agc_2-X/trunk/LANG_www/agc_en/call_log_display.php
index 4abec74d..28d3ea87 100644
--- a/agc_2-X/trunk/LANG_www/agc_en/call_log_display.php
+++ b/agc_2-X/trunk/LANG_www/agc_en/call_log_display.php
@@ -27,6 +27,7 @@
# 50711-1202 - removed HTTP authentication in favor of user/pass vars
# 60323-1550 - added option for showing different number dialed in log
# 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES
+# 60619-1202 - Added variable filters to close security holes for login form
#
require("dbconnect.php");
@@ -47,6 +48,9 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];}
if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];}
elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];}
+$user=ereg_replace("[^0-9a-zA-Z]","",$user);
+$pass=ereg_replace("[^0-9a-zA-Z]","",$pass);
+
# default optional vars if not set
if (!isset($format)) {$format="text";}
if (!isset($in_limit)) {$in_limit="100";}
@@ -54,8 +58,8 @@ if (!isset($out_limit)) {$out_limit="100";}
$number_dialed = 'number_dialed';
#$number_dialed = 'extension';
-$version = '0.0.7';
-$build = '60421-1401';
+$version = '0.0.8';
+$build = '60619-1202';
$StarTtime = date("U");
$NOW_DATE = date("Y-m-d");
$NOW_TIME = date("Y-m-d H:i:s");
diff --git a/agc_2-X/trunk/LANG_www/agc_en/conf_exten_check.php b/agc_2-X/trunk/LANG_www/agc_en/conf_exten_check.php
index 1f93e8ec..8915d813 100644
--- a/agc_2-X/trunk/LANG_www/agc_en/conf_exten_check.php
+++ b/agc_2-X/trunk/LANG_www/agc_en/conf_exten_check.php
@@ -31,6 +31,7 @@
# 51121-1353 - Altered echo statements for several small PHP speed optimizations
# 60410-1424 - Added ability to grab calls-being-placed and agent status
# 60421-1405 - check GET/POST vars lines with isset to not trigger PHP NOTICES
+# 60619-1201 - Added variable filters to close security holes for login form
#
require("dbconnect.php");
@@ -59,13 +60,16 @@ if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"
if (isset($_GET["campagentstdisp"])) {$campagentstdisp=$_GET["campagentstdisp"];}
elseif (isset($_POST["campagentstdisp"])) {$campagentstdisp=$_POST["campagentstdisp"];}
+$user=ereg_replace("[^0-9a-zA-Z]","",$user);
+$pass=ereg_replace("[^0-9a-zA-Z]","",$pass);
+
# default optional vars if not set
if (!isset($format)) {$format="text";}
if (!isset($ACTION)) {$ACTION="refresh";}
if (!isset($client)) {$client="agc";}
-$version = '0.0.8';
-$build = '60421-1405';
+$version = '0.0.9';
+$build = '60619-1201';
$StarTtime = date("U");
$NOW_DATE = date("Y-m-d");
$NOW_TIME = date("Y-m-d H:i:s");
diff --git a/agc_2-X/trunk/LANG_www/agc_en/inbound_popup.php b/agc_2-X/trunk/LANG_www/agc_en/inbound_popup.php
index e26c4496..c92583de 100644
--- a/agc_2-X/trunk/LANG_www/agc_en/inbound_popup.php
+++ b/agc_2-X/trunk/LANG_www/agc_en/inbound_popup.php
@@ -29,6 +29,7 @@
# 50503-1244 - added session_name checking for extra security
# 50711-1203 - removed HTTP authentication in favor of user/pass vars
# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES
+# 60619-1205 - Added variable filters to close security holes for login form
#
require("dbconnect.php");
@@ -61,12 +62,14 @@ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$
if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);}
else {$local_web_callerID_URL = '';}
+$user=ereg_replace("[^0-9a-zA-Z]","",$user);
+$pass=ereg_replace("[^0-9a-zA-Z]","",$pass);
# default optional vars if not set
if (!isset($format)) {$format="text";}
-$version = '0.0.5';
-$build = '60421-1043';
+$version = '0.0.6';
+$build = '60619-1205';
$StarTtime = date("U");
$NOW_DATE = date("Y-m-d");
$NOW_TIME = date("Y-m-d H:i:s");
diff --git a/agc_2-X/trunk/LANG_www/agc_en/live_exten_check.php b/agc_2-X/trunk/LANG_www/agc_en/live_exten_check.php
index e0ca96c8..3dadf572 100644
--- a/agc_2-X/trunk/LANG_www/agc_en/live_exten_check.php
+++ b/agc_2-X/trunk/LANG_www/agc_en/live_exten_check.php
@@ -27,6 +27,8 @@
# 50711-1204 - removed HTTP authentication in favor of user/pass vars
# 60103-1541 - added favorite extens status display
# 60421-1359 - check GET/POST vars lines with isset to not trigger PHP NOTICES
+# 60619-1203 - Added variable filters to close security holes for login form
+# 60825-1029 - Fixed translation variable issue ChannelA
#
require("dbconnect.php");
@@ -51,11 +53,14 @@ if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count
if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];}
elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];}
+$user=ereg_replace("[^0-9a-zA-Z]","",$user);
+$pass=ereg_replace("[^0-9a-zA-Z]","",$pass);
+
# default optional vars if not set
if (!isset($format)) {$format="text";}
-$version = '1.1.11';
-$build = '60421-1359';
+$version = '2.0.1';
+$build = '60825-1029';
$StarTtime = date("U");
$NOW_DATE = date("Y-m-d");
$NOW_TIME = date("Y-m-d H:i:s");
@@ -141,8 +146,8 @@ echo "$row[0]|";
{
$loop_count++;
$row=mysql_fetch_row($rslt);
- $ChannelA[$loop_count] = "$row[0]";
- $ChannelB[$loop_count] = "$row[1]";
+ $ChanneLA[$loop_count] = "$row[0]";
+ $ChanneLB[$loop_count] = "$row[1]";
if ($format=='debug') {echo "\n";}
}
}
@@ -151,7 +156,7 @@ echo "$row[0]|";
while($loop_count > $counter)
{
$counter++;
- $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChannelA[$counter]';";
+ $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';";
if ($format=='debug') {echo "\n";}
$rslt=mysql_query($stmt, $link);
if ($rslt) {$trunk_count = mysql_num_rows($rslt);}
@@ -159,13 +164,13 @@ echo "$row[0]|";
{
$row=mysql_fetch_row($rslt);
echo "Conversation: $counter ~";
- echo "ChannelA: $ChannelA[$counter] ~";
- echo "ChannelB: $ChannelB[$counter] ~";
+ echo "ChannelA: $ChanneLA[$counter] ~";
+ echo "ChannelB: $ChanneLB[$counter] ~";
echo "ChannelBtrunk: $row[0]|";
}
else
{
- $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChannelA[$counter]';";
+ $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';";
if ($format=='debug') {echo "\n";}
$rslt=mysql_query($stmt, $link);
if ($rslt) {$trunk_count = mysql_num_rows($rslt);}
@@ -173,13 +178,13 @@ echo "$row[0]|";
{
$row=mysql_fetch_row($rslt);
echo "Conversation: $counter ~";
- echo "ChannelA: $ChannelA[$counter] ~";
- echo "ChannelB: $ChannelB[$counter] ~";
+ echo "ChannelA: $ChanneLA[$counter] ~";
+ echo "ChannelB: $ChanneLB[$counter] ~";
echo "ChannelBtrunk: $row[0]|";
}
else
{
- $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChannelB[$counter]%\";";
+ $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";";
if ($format=='debug') {echo "\n";}
$rslt=mysql_query($stmt, $link);
if ($rslt) {$trunk_count = mysql_num_rows($rslt);}
@@ -187,13 +192,13 @@ echo "$row[0]|";
{
$row=mysql_fetch_row($rslt);
echo "Conversation: $counter ~";
- echo "ChannelA: $ChannelA[$counter] ~";
- echo "ChannelB: $ChannelB[$counter] ~";
+ echo "ChannelA: $ChanneLA[$counter] ~";
+ echo "ChannelB: $ChanneLB[$counter] ~";
echo "ChannelBtrunk: $row[0]|";
}
else
{
- $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChannelB[$counter]%\";";
+ $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";";
if ($format=='debug') {echo "\n";}
$rslt=mysql_query($stmt, $link);
if ($rslt) {$trunk_count = mysql_num_rows($rslt);}
@@ -201,16 +206,16 @@ echo "$row[0]|";
{
$row=mysql_fetch_row($rslt);
echo "Conversation: $counter ~";
- echo "ChannelA: $ChannelA[$counter] ~";
- echo "ChannelB: $ChannelB[$counter] ~";
+ echo "ChannelA: $ChanneLA[$counter] ~";
+ echo "ChannelB: $ChanneLB[$counter] ~";
echo "ChannelBtrunk: $row[0]|";
}
else
{
echo "Conversation: $counter ~";
- echo "ChannelA: $ChannelA[$counter] ~";
- echo "ChannelB: $ChannelB[$counter] ~";
- echo "ChannelBtrunk: $ChannelA[$counter]|";
+ echo "ChannelA: $ChanneLA[$counter] ~";
+ echo "ChannelB: $ChanneLB[$counter] ~";
+ echo "ChannelBtrunk: $ChanneLA[$counter]|";
}
}
}
diff --git a/agc_2-X/trunk/LANG_www/agc_en/manager_send.php b/agc_2-X/trunk/LANG_www/agc_en/manager_send.php
index b934cbb8..5bfe93f1 100644
--- a/agc_2-X/trunk/LANG_www/agc_en/manager_send.php
+++ b/agc_2-X/trunk/LANG_www/agc_en/manager_send.php
@@ -12,7 +12,7 @@
# - $user
# - $pass
# optional variables:
-# - $ACTION - ('Originate','Redirect','Hangup','Command','Monitor','StopMonitor','SysCIDOriginate','RedirectName','RedirectNameVmail','MonitorConf','StopMonitorConf','RedirectXtra','RedirectVD','HangupConfDial')
+# - $ACTION - ('Originate','Redirect','Hangup','Command','Monitor','StopMonitor','SysCIDOriginate','RedirectName','RedirectNameVmail','MonitorConf','StopMonitorConf','RedirectXtra','RedirectXtraCX','RedirectVD','HangupConfDial')
# - $queryCID - ('CN012345678901234567',...)
# - $format - ('text','debug')
# - $channel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...)
@@ -58,6 +58,8 @@
# 51129-1253 - Fixed Hangups of other agents channels in VICIDIAL AD
# 60310-2022 - Fixed NEXTAVAILABLE bug in leave-3way-call redirect function
# 60421-1413 - check GET/POST vars lines with isset to not trigger PHP NOTICES
+# 60619-1158 - Added variable filters to close security holes for login form
+# 60809-1544 - Added direct transfers to leave-3ways in consultative transfers
#
require("dbconnect.php");
@@ -111,14 +113,22 @@ if (isset($_GET["call_server_ip"])) {$call_server_ip=$_GET["call_server_ip"];
elseif (isset($_POST["call_server_ip"])) {$call_server_ip=$_POST["call_server_ip"];}
if (isset($_GET["CalLCID"])) {$CalLCID=$_GET["CalLCID"];}
elseif (isset($_POST["CalLCID"])) {$CalLCID=$_POST["CalLCID"];}
+if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];}
+ elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];}
+if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];}
+ elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];}
+
+$user=ereg_replace("[^0-9a-zA-Z]","",$user);
+$pass=ereg_replace("[^0-9a-zA-Z]","",$pass);
+$secondS = ereg_replace("[^0-9]","",$secondS);
# default optional vars if not set
if (!isset($ACTION)) {$ACTION="Originate";}
if (!isset($format)) {$format="alert";}
if (!isset($ext_priority)) {$ext_priority="1";}
-$version = '0.0.23';
-$build = '60421-1413';
+$version = '0.0.25';
+$build = '60809-1544';
$StarTtime = date("U");
$NOW_DATE = date("Y-m-d");
$NOW_TIME = date("Y-m-d H:i:s");
@@ -391,7 +401,7 @@ if ($ACTION=="Hangup")
######################
-# ACTION=Redirect, RedirectName, RedirectNameVmail, RedirectToPark, RedirectFromPark, RedirectVD
+# ACTION=Redirect, RedirectName, RedirectNameVmail, RedirectToPark, RedirectFromPark, RedirectVD, RedirectXtra, RedirectXtraCX
# - insert Redirect Manager statement using extensions name
######################
if ($ACTION=="RedirectVD")
@@ -542,6 +552,115 @@ if ($ACTION=="RedirectNameVmail")
}
}
+if ($ACTION=="RedirectXtraCX")
+{
+ $row=''; $rowx='';
+ $channel_liveX=1;
+ $channel_liveY=1;
+ if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) )
+ {
+ $channel_liveX=0;
+ $channel_liveY=0;
+ echo "One of these variables is not valid:\n";
+ echo "Channel $channel must be greater than 2 characters\n";
+ echo "ExtraChannel $extrachannel must be greater than 2 characters\n";
+ echo "queryCID $queryCID must be greater than 14 characters\n";
+ echo "exten $exten must be set\n";
+ echo "ext_context $ext_context must be set\n";
+ echo "ext_priority $ext_priority must be set\n";
+ echo "\nRedirect Action not sent\n";
+ }
+ else
+ {
+ if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;}
+
+ $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';";
+ if ($format=='debug') {echo "\n";}
+ $rslt=mysql_query($stmt, $link);
+ $row=mysql_fetch_row($rslt);
+ if ($row[0]==0)
+ {
+ $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';";
+ if ($format=='debug') {echo "\n";}
+ $rslt=mysql_query($stmt, $link);
+ $rowx=mysql_fetch_row($rslt);
+ if ($rowx[0]==0)
+ {
+ $channel_liveX=0;
+ echo "Channel $channel is not live on $call_server_ip, Redirect command not inserted\n";
+ }
+ }
+ $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';";
+ if ($format=='debug') {echo "\n";}
+ $rslt=mysql_query($stmt, $link);
+ $row=mysql_fetch_row($rslt);
+ if ($row[0]==0)
+ {
+ $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';";
+ if ($format=='debug') {echo "\n";}
+ $rslt=mysql_query($stmt, $link);
+ $rowx=mysql_fetch_row($rslt);
+ if ($rowx[0]==0)
+ {
+ $channel_liveY=0;
+ echo "Channel $channel is not live on $server_ip, Redirect command not inserted\n";
+ }
+ }
+ if ( ($channel_liveX==1) && ($channel_liveY==1) )
+ {
+ $stmt="SELECT count(*) FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';";
+ if ($format=='debug') {echo "\n";}
+ $rslt=mysql_query($stmt, $link);
+ $rowx=mysql_fetch_row($rslt);
+ if ($rowx[0] < 1)
+ {
+ $channel_liveY=0;
+ echo "No Local agent to send call to, Redirect command not inserted\n";
+ }
+ else
+ {
+ $stmt="SELECT server_ip,conf_exten,user FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';";
+ if ($format=='debug') {echo "\n";}
+ $rslt=mysql_query($stmt, $link);
+ $rowx=mysql_fetch_row($rslt);
+ $dest_server_ip = $rowx[0];
+ $dest_session_id = $rowx[1];
+ $dest_user = $rowx[2];
+ $S='*';
+
+ $D_s_ip = explode('.', $dest_server_ip);
+ if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";}
+ if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";}
+ if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";}
+ if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";}
+ if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";}
+ if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";}
+ if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";}
+ if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";}
+ $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$dest_session_id$S$lead_id$S$dest_user$S$phone_code$S$phone_number$S$campaign$S";
+
+ $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');";
+ if ($format=='debug') {echo "\n";}
+ $rslt=mysql_query($stmt, $link);
+
+ $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','$queryCID','Channel: $extrachannel','','','','','','','','','');";
+ if ($format=='debug') {echo "\n";}
+ $rslt=mysql_query($stmt, $link);
+
+ echo "RedirectXtraCX command sent for Channel $channel on $call_server_ip and \nHungup $extrachannel on $server_ip\n";
+ }
+ }
+ else
+ {
+ if ($channel_liveX==1)
+ {$ACTION="Redirect"; $server_ip = $call_server_ip;}
+ if ($channel_liveY==1)
+ {$ACTION="Redirect"; $channel=$extrachannel;}
+
+ }
+ }
+}
+
if ($ACTION=="RedirectXtra")
{
if ($channel=="$extrachannel")
diff --git a/agc_2-X/trunk/LANG_www/agc_en/park_calls_display.php b/agc_2-X/trunk/LANG_www/agc_en/park_calls_display.php
index 246591b1..872f5780 100644
--- a/agc_2-X/trunk/LANG_www/agc_en/park_calls_display.php
+++ b/agc_2-X/trunk/LANG_www/agc_en/park_calls_display.php
@@ -21,6 +21,7 @@
# 50524-1515 - First build of script
# 50711-1208 - removed HTTP authentication in favor of user/pass vars
# 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES
+# 60619-1205 - Added variable filters to close security holes for login form
#
require("dbconnect.php");
@@ -41,12 +42,15 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];}
if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];}
elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];}
+$user=ereg_replace("[^0-9a-zA-Z]","",$user);
+$pass=ereg_replace("[^0-9a-zA-Z]","",$pass);
+
# default optional vars if not set
if (!isset($format)) {$format="text";}
if (!isset($park_limit)) {$park_limit="1000";}
-$version = '0.0.3';
-$build = '60421-1111';
+$version = '0.0.4';
+$build = '60619-1205';
$StarTtime = date("U");
$NOW_DATE = date("Y-m-d");
$NOW_TIME = date("Y-m-d H:i:s");
diff --git a/agc_2-X/trunk/LANG_www/agc_en/vdc_db_query.php b/agc_2-X/trunk/LANG_www/agc_en/vdc_db_query.php
index 40f6a5c5..866c0584 100644
--- a/agc_2-X/trunk/LANG_www/agc_en/vdc_db_query.php
+++ b/agc_2-X/trunk/LANG_www/agc_en/vdc_db_query.php
@@ -67,6 +67,8 @@
# - $recipient - ('ANYONE,'USERONLY')
# - $callback_id - ('12345','12346',...)
# - $use_internal_dnc - ('Y','N')
+# - $omit_phone_code - ('Y','N')
+# - $no_delete_sessions - ('0','1')
# changes
# 50629-1044 - First build of script
@@ -104,10 +106,11 @@
# 60609-1148 - Added ability to check for manual dial numbers in DNC
# 60619-1117 - Added variable filters to close security holes for login form
# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic
-#
+# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing
+# 60821-1647 - Added ability to not delete sessions at logout
-$version = '0.0.34';
-$build = '60623-1414';
+$version = '2.0.36';
+$build = '60821-1647';
require("dbconnect.php");
@@ -232,6 +235,8 @@ if (isset($_GET["callback_id"])) {$callback_id=$_GET["callback_id"];}
elseif (isset($_POST["callback_id"])) {$callback_id=$_POST["callback_id"];}
if (isset($_GET["use_internal_dnc"])) {$use_internal_dnc=$_GET["use_internal_dnc"];}
elseif (isset($_POST["use_internal_dnc"])) {$use_internal_dnc=$_POST["use_internal_dnc"];}
+if (isset($_GET["omit_phone_code"])) {$omit_phone_code=$_GET["omit_phone_code"];}
+ elseif (isset($_POST["omit_phone_code"])) {$omit_phone_code=$_POST["omit_phone_code"];}
$user=ereg_replace("[^0-9a-zA-Z]","",$user);
@@ -372,7 +377,7 @@ if ($ACTION == 'manDiaLnextCaLL')
$affected_rows=1;
$CBleadIDset=1;
- $stmt = "UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');";
+ $stmt = "UPDATE vicidial_callbacks set status='INACTIVE' where callback_id='$callback_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
}
@@ -534,9 +539,14 @@ if ($ACTION == 'manDiaLnextCaLL')
if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";}
else {$CIDstring = "$MqueryCID";}
+ ### whether to omit phone_code or not
+ if (eregi('Y',$omit_phone_code))
+ {$Ndialstring = "$Local_out_prefix$phone_number";}
+ else
+ {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";}
### insert the call action into the vicidial_manager table to initiate the call
# $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');";
- $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Local_out_prefix$phone_code$phone_number','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');";
+ $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
}
@@ -653,9 +663,14 @@ if ($ACTION == 'manDiaLonly')
if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";}
else {$CIDstring = "$MqueryCID";}
+ ### whether to omit phone_code or not
+ if (eregi('Y',$omit_phone_code))
+ {$Ndialstring = "$Local_out_prefix$phone_number";}
+ else
+ {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";}
### insert the call action into the vicidial_manager table to initiate the call
# $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');";
- $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Local_out_prefix$phone_code$phone_number','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');";
+ $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
@@ -943,6 +958,46 @@ if ($stage == "end")
}
+################################################################################
+### VDADREcheckINCOMING - for auto-dial VICIDiaL dialing this will recheck for
+### calls to see if the channel has updated
+################################################################################
+if ($ACTION == 'VDADREcheckINCOMING')
+{
+ $MT[0]='';
+ $row=''; $rowx='';
+ $channel_live=1;
+ if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || (strlen($lead_id)<1) )
+ {
+ $channel_live=0;
+ echo "0\n";
+ echo "Campaign $campaign is not valid\n";
+ echo "lead_id $lead_id is not valid\n";
+ exit;
+ }
+ else
+ {
+ ### grab the call and lead info from the vicidial_live_agents table
+ $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and lead_id='$lead_id';";
+ if ($DB) {echo "$stmt\n";}
+ $rslt=mysql_query($stmt, $link);
+ $queue_leadID_ct = mysql_num_rows($rslt);
+
+ if ($queue_leadID_ct > 0)
+ {
+ $row=mysql_fetch_row($rslt);
+ $lead_id =$row[0];
+ $uniqueid =$row[1];
+ $callerid =$row[2];
+ $channel =$row[3];
+ $call_server_ip =$row[4];
+ if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;}
+ echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n";
+ }
+ }
+}
+
+
################################################################################
### VDADcheckINCOMING - for auto-dial VICIDiaL dialing this will check for calls
### in the vicidial_live_agents table in QUEUE status, then
@@ -1183,7 +1238,7 @@ if ($ACTION == 'VDADcheckINCOMING')
### If CALLBK, change vicidial_callback record to INACTIVE
if (eregi("CALLBK|CBHOLD", $dispo))
{
- $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id';";
+ $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');";
if ($format=='debug') {echo "\n";}
$rslt=mysql_query($stmt, $link);
}
@@ -1220,11 +1275,14 @@ else
$rslt=mysql_query($stmt, $link);
$vul_insert = mysql_affected_rows($link);
- ##### Remove the reservation on the vicidial_conferences meetme room
- $stmt="UPDATE vicidial_conferences set extension='' where server_ip='$server_ip' and conf_exten='$conf_exten';";
- if ($DB) {echo "$stmt\n";}
- $rslt=mysql_query($stmt, $link);
- $vc_remove = mysql_affected_rows($link);
+ if ($no_delete_sessions < 1)
+ {
+ ##### Remove the reservation on the vicidial_conferences meetme room
+ $stmt="UPDATE vicidial_conferences set extension='' where server_ip='$server_ip' and conf_exten='$conf_exten';";
+ if ($DB) {echo "$stmt\n";}
+ $rslt=mysql_query($stmt, $link);
+ $vc_remove = mysql_affected_rows($link);
+ }
##### Delete the vicidial_live_agents record for this session
$stmt="DELETE from vicidial_live_agents where server_ip='$server_ip' and user ='$user';";
diff --git a/agc_2-X/trunk/LANG_www/agc_en/vicidial.php b/agc_2-X/trunk/LANG_www/agc_en/vicidial.php
index a6e01659..942bf92b 100644
--- a/agc_2-X/trunk/LANG_www/agc_en/vicidial.php
+++ b/agc_2-X/trunk/LANG_www/agc_en/vicidial.php
@@ -112,6 +112,18 @@
# 60609-1123 - Added add-number-to-DNC-list function and manual dial check DNC
# 60619-1047 - Added variable filters to close security holes for login form
# 60804-1710 - fixed scheduled CALLBK for other languages build
+# 60808-1145 - Added consultative transfers with customer data
+# 60808-2232 - Added campaign name to pulldown for login screen
+# 60809-1603 - Added option to locally transfer consult xfers
+# 60809-1732 - Added recheck of transferred channels before customer gone mesg
+# 60810-1011 - Fixed CXFER leave 3way call bugs
+# 60816-1602 - Added ALLCALLS recording delay option allcalls_delay
+# 60816-1716 - Fixed customer time display bug and client DST setting
+# 60821-1555 - Added option to omit phone_code on dialout of leads
+# 60821-1628 - Added ALLFORCE recording option
+# 60821-1643 - Added no_delete_sessions option to not delete sessions
+# 60822-0512 - Changed phone number fields to be maxlength of 12
+# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php
#
require("dbconnect.php");
@@ -157,8 +169,8 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];}
$forever_stop=0;
-$version = '1.1.86';
-$build = '60804-1710';
+$version = '2.0.97';
+$build = '60829-1531';
if ($force_logout)
{
@@ -166,6 +178,7 @@ if ($force_logout)
exit;
}
+$isdst = date("I");
$StarTtimE = date("U");
$NOW_TIME = date("Y-m-d H:i:s");
$tsNOW_TIME = date("YmdHis");
@@ -174,6 +187,7 @@ $CIDdate = date("ymdHis");
$month_old = mktime(0, 0, 0, date("m"), date("d")-2, date("Y"));
$past_month_date = date("Y-m-d H:i:s",$month_old);
+
$random = (rand(1000000, 9999999) + 10000000);
$conf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently
@@ -186,6 +200,11 @@ $view_scripts = '1'; # set to 1 to show the SCRIPTS tab
$dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo
$agentcallsstatus = '0'; # set to 1 to show agent status and call count
$campagentstatctmax = '0'; # Number of seconds for campaign call and agent stats
+$show_campname_pulldown = '1'; # set to 1 to show campaign name on login pulldown
+$webform_sessionname = '1'; # set to 1 to include the session_name in webform URL
+$local_consult_xfers = '1'; # set to 1 to send consultative transfers from original server
+$clientDST = '1'; # set to 1 to check for DST on server for agent time
+$no_delete_sessions = '0'; # set to 1 to not delete sessions at logout
$TEST_all_statuses = '0'; # TEST variable allows all statuses in dispo screen
@@ -223,7 +242,7 @@ if ($campaign_login_list > 0)
$camp_form_code = "\n";
@@ -261,7 +284,7 @@ echo "\n";
echo " | English  | \n";echo "Español  | \n";echo "
\n";
echo "