several bug fixes, extensions.conf, admin.php, remote agents, CLI lead loader

git-svn-id: svn://192.168.202.10@777 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2008-02-14 06:46:49 +00:00
parent d82ee84736
commit 6cbd8ddf08
12 changed files with 414 additions and 338 deletions
@@ -620,6 +620,7 @@ $interrupt_digit = $AGI->stream_file("$prompt",'123456789');
$digits_being_entered=1;
$digit_loop_counter=0;
$digit_max_loop=0;
$totalDTMF='';
if ($interrupt_digit > 1)
{
@@ -638,7 +639,7 @@ if ($interrupt_digit > 1)
$digit_loop_counter++;
}
while ($digit_loop_counter < 1)
while ( ($digit_loop_counter < 1) && ($digit_max_loop < 4) )
{
$wait_ms = ($wait_sec * 1000);
$digit = chr($AGI->wait_for_digit("$wait_ms")); # wait number of milli-seconds for input
@@ -651,10 +652,17 @@ while ($digit_loop_counter < 1)
}
else
{
$digit_loop_counter=1;
$digit_loop_counter=-1;
}
$digit_max_loop++;
$digit_loop_counter++;
&get_time_now;
$length_in_sec = ($now_date_epoch - $start_epoch);
if ($length_in_sec > 3600)
{
exit;
}
}
}
##### END collect the response to a prompt #####################################
@@ -40,7 +40,7 @@
#exten => 1234,2,AGI(agi-VDAD_ALL_inbound.agi,CID-----LB-----INB-----7274515134-----Closer-----park----------999-----1-----OUTB)
#exten => 1234,3,Hangup
#
# Copyright (C) 2007 Matt Florell <vicidial@gmail.com> LICENSE: GPLv2
# Copyright (C) 2008 Matt Florell <vicidial@gmail.com> LICENSE: GPLv2
#
# changes:
# 70828-0924 - First Build
@@ -1112,9 +1112,10 @@ if ($agent_search_method =~ /^LO|^LB/)
if ($hold_message_counter > $prompt_interval)
{
$AGI->stream_file('sip-silence'); # stop music-on-hold process
$AGI->stream_file("$onhold_prompt_filename");
$AGI->stream_file("$onhold_prompt_filename"); # this prompt must be less than 10 seconds long
$hold_message_counter = 0;
$start_moh=1;
if ($drop_timer > 3) {$drop_timer = ($drop_timer + 5);} # add propmt play time to total queue time
}
else {$hold_message_counter++;}
if ($hold_tone_counter > 3)
@@ -19,7 +19,7 @@
# It is good practice to keep this program running by placing the associated
# KEEPALIVE script running every minute to ensure this program is always running
#
# Copyright (C) 2007 Matt Florell <vicidial@gmail.com> LICENSE: GPLv2
# Copyright (C) 2008 Matt Florell <vicidial@gmail.com> LICENSE: GPLv2
#
# CHANGELOG:
# 50215-0954 - First version of script
@@ -34,6 +34,7 @@
# 70214-1243 - Added queuemetrics_log_id field to queue_log logging
# 70222-1606 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL
# 70417-1346 - Fixed bug that would add unneeded simulated agent lines
# 80128-0105 - Fixed calls_today bug
#
### begin parsing run-time options ###
@@ -240,18 +241,20 @@ while($one_day_interval > 0)
&event_logger;
##### grab number of calls today in this campaign and increment
$stmt="SELECT calls_today FROM vicidial_live_agents WHERE extension LIKE \"R/%\";";
$rslt=mysql_query($stmt, $link);
if ($DB) {print "$stmt\n";}
$vla_cc_ct = mysql_num_rows($rslt);
$stmtA="SELECT calls_today FROM vicidial_live_agents WHERE extension LIKE \"R/%\";";
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$vla_cc_ct=$sthA->rows;
if ($vla_cc_ct > 0)
{
$row=mysql_fetch_row($rslt);
$calls_today =$row[0];
@aryA = $sthA->fetchrow_array;
$calls_today = "$aryA[0]";
$rec_count++;
}
else
{$calls_today ='0';}
$calls_today++;
$sthA->finish();
$stmtA = "UPDATE vicidial_live_agents set status='INCALL', last_call_time='$SQLdate',comments='REMOTE',calls_today='$calls_today' where server_ip='$server_ip' and status IN('QUEUE') and extension LIKE \"R/%\";";
$affected_rows = $dbhA->do($stmtA);
@@ -8,7 +8,7 @@
#
# It is recommended that you run this program on the local Asterisk machine
#
# Copyright (C) 2007 Matt Florell <vicidial@gmail.com> LICENSE: GPLv2
# Copyright (C) 2008 Matt Florell <vicidial@gmail.com> LICENSE: GPLv2
#
#
# CHANGES
@@ -25,6 +25,7 @@
# 70510-1518 - Added campaign and system duplicate check and phonecode override
# 70801-0912 - Added called count and status to import leads format (fields 24 and 25)
# 70815-2128 - Added entry_date to import leads format (field 26)
# 80128-0105 - Fixed bugs in file loading
#
$secX = time();
@@ -91,7 +91,7 @@ cd ../asterisk-1.2.24
*OPTIONAL*(1.2.14 thru 1.2.24) rewrite of waitforsilence
wget http://www.eflo.net/files/app_waitforsilence.c
mv app_waitforsilence.c apps/app_waitforsilence.c
mv -f app_waitforsilence.c apps/app_waitforsilence.c
*OPTIONAL* shorter enter and leave sounds for meetme
wget http://www.eflo.net/files/enter.h
@@ -267,7 +267,7 @@ use asterisk;
##### make sure on these queries that you change the server_ip "10.10.10.15"
##### to the server IP that you are using
insert into servers (server_id,server_description,server_ip,active,asterisk_version)values('TESTasterisk','Test install of Asterisk server', '10.10.10.15','Y','1.2.24');
insert into servers (server_id,server_description,server_ip,active,asterisk_version)values('TESTast','Test install of Asterisk server', '10.10.10.15','Y','1.2.26.2');
insert into server_updater values('10.10.10.15','');
@@ -550,8 +550,13 @@ PHASE 5: ADDING STARTUP ENTRIES FOR ASTGUICLIENT/VICIDIAL SCRIPTS
- vi /etc/rc.d/rc.local
- add the following entries(here's what we used):
### Path to local asterisk-perl_0.08 module if needed
PERL5LIB="/usr/share/astguiclient/libs"; export PERL5LIB
# OPTIONAL enable ip_relay(for same-machine trunking and blind monitoring)
# /usr/share/astguiclient/ip_relay/relay_control start 2>/dev/null 1>&2
# Disable console blanking and powersaving
setterm -blank
setterm -powersave off
setterm -powerdown
### start time server
/usr/local/bin/ntpdate -u 18.145.0.30
@@ -814,3 +819,24 @@ Also, check out our weblog: http://astguiclient.blogspot.com/
read the REQUIREMENTS.txt for a minimum requirements list. ***
End-user Manuals for Agents and Managers are available from http://www.eflo.net
PHASE 11: Security Hardening:
You may want to reduce the exposure of some of the elements of VICIDIAL. Here are some examples:
ln -s /dev/null /usr/local/apache2/htdocs/vicidial/project_auth_entries.txt
ln -s /dev/null /usr/local/apache2/htdocs/agc/project_auth_entries.txt
ln -s /dev/null /usr/local/apache2/htdocs/vicidial/admin_changes_log.txt
- Change the WWW writable in the admin.php server settings to "0"
- Change the default admin user "6666" or it's password from the default
- Change the Default secret(password) for the default SIP and IAX accounts that are set up with astGUIclient
- Possibly use static IP addresses for the IAX/SIP conf account entries
- Change the default port for Apache in httpd.conf from 80 to something else
- Change the default port for IAX in iax.conf from 4569 to something else
- Change the default control port for SIP in sip.conf from 5060 to something else
- Use a firewall to route access using different port numbers or restricting connection by VPN or set IP addresses
@@ -105,3 +105,32 @@ exten => _91999NXXXXXX,3,Hangup
exten => 999999999999,1,Answer
exten => 999999999999,2,Dial(${TESTSIPTRUNK}/${EXTEN},,tTo)
exten => 999999999999,2,Hangup
In the sip.conf file of the test server:
register => ASTtest2:test@10.10.10.16:5060
[VICItest]
disallow=all
allow=ulaw
type=friend
username=VICItest
secret=test
host=dynamic
dtmfmode=inband
defaultip=10.10.10.16
qualify=1000
In the sip.conf file of the control server:
[VICItest]
disallow=all
allow=ulaw
type=friend
username=VICItest
secret=test
host=dynamic
dtmfmode=inband
defaultip=10.10.10.16
qualify=1000
@@ -159,17 +159,17 @@ make install
cd /usr/local
wget http://ploticus.sourceforge.net/download/pl232src.tar.gz
gunzip pl232src.tar.gz
tar xvf pl232src.tar
cd pl232src/src/
wget http://superb-west.dl.sourceforge.net/sourceforge/ploticus/pl240src.tar.gz
gunzip pl240src.tar.gz
tar xvf pl240src.tar
cd pl240src/src/
make clean
make
make install
cd /usr/local
wget http://apache.secsup.org/dist/httpd/httpd-2.0.61.tar.gz
wget http://mirror.candidhosting.com/pub/apache/httpd/httpd-2.0.61.tar.gz
gunzip httpd-2.0.61.tar.gz
tar xvf httpd-2.0.61.tar
wget http://us2.php.net/distributions/php-4.4.7.tar.gz
@@ -288,16 +288,16 @@ make install
mkdir /usr/src/asterisk
cd /usr/src/asterisk
wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.2.24.tar.gz
wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.2.21.tar.gz
wget http://ftp.digium.com/pub/libpri/releases/libpri-1.2.5.tar.gz
gunzip asterisk-1.2.24.tar.gz
tar xvf asterisk-1.2.24.tar
gunzip zaptel-1.2.21.tar.gz
tar xvf zaptel-1.2.21.tar
gunzip libpri-1.2.5.tar.gz
tar xvf libpri-1.2.5.tar
cd ./zaptel-1.2.21
wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.2.26.2.tar.gz
wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.2.23.tar.gz
wget http://ftp.digium.com/pub/libpri/releases/libpri-1.2.7.tar.gz
gunzip asterisk-1.2.26.2.tar.gz
tar xvf asterisk-1.2.26.2.tar
gunzip zaptel-1.2.23.tar.gz
tar xvf zaptel-1.2.23.tar
gunzip libpri-1.2.7.tar.gz
tar xvf libpri-1.2.7.tar
cd ./zaptel-1.2.23
wget http://www.freedomphones.net/files/newt-0.51.6.tar.gz
gunzip newt-0.51.6.tar.gz
tar xvf newt-0.51.6.tar
@@ -311,11 +311,11 @@ make clean
make zttool
make
make install
cd ../libpri-1.2.5
cd ../libpri-1.2.7
make clean
make
make install
cd ../asterisk-1.2.24
cd ../asterisk-1.2.26.2
cd apps
wget http://www.eflo.net/files/app_amd2.c
mv app_amd2.c app_amd.c
@@ -354,7 +354,7 @@ patch -p1 < ./cli_chan_concise_delimiter.patch
wget http://www.eflo.net/files/app_waitforsilence.c
mv app_waitforsilence.c apps/app_waitforsilence.c
mv -f app_waitforsilence.c apps/app_waitforsilence.c
wget http://www.eflo.net/files/enter.h
wget http://www.eflo.net/files/leave.h
mv -f enter.h apps/enter.h
@@ -412,24 +412,24 @@ rm -f /usr/lib/asterisk/modules/pbx_functions.so
mkdir /usr/src/asterisk-1.4
cd /usr/src/asterisk-1.4
wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.4.14.tar.gz
wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.4.6.tar.gz
wget http://ftp.digium.com/pub/libpri/releases/libpri-1.4.2.tar.gz
gunzip asterisk-1.4.14.tar.gz
tar xvf asterisk-1.4.14.tar
gunzip zaptel-1.4.6.tar.gz
tar xvf zaptel-1.4.6.tar
gunzip libpri-1.4.2.tar.gz
tar xvf libpri-1.4.2.tar
cd ./zaptel-1.4.6
wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.4.17.tar.gz
wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.4.8.tar.gz
wget http://ftp.digium.com/pub/libpri/releases/libpri-1.4.3.tar.gz
gunzip asterisk-1.4.17.tar.gz
tar xvf asterisk-1.4.17.tar
gunzip zaptel-1.4.8.tar.gz
tar xvf zaptel-1.4.8.tar
gunzip libpri-1.4.3.tar.gz
tar xvf libpri-1.4.3.tar
cd ./zaptel-1.4.8
./configure
make
make install
cd ../libpri-1.4.2
cd ../libpri-1.4.3
make clean
make
make install
cd ../asterisk-1.4.14
cd ../asterisk-1.4.17
wget http://www.eflo.net/files/enter.h
wget http://www.eflo.net/files/leave.h
mv -f enter.h apps/enter.h
@@ -28,109 +28,109 @@ exten => 2020,2,Voicemail,u2000 ; Send to voicemail...
exten => 401,1,Dial,(IAX2/firefly01@firefly01/s)
exten => 401,2,Hangup
; extensions for other SIP and IAX call center phones
exten => 100,2,Dial,sip/cc100|20|to
exten => 101,2,Dial,sip/cc101|20|to
exten => 102,2,Dial,sip/cc102|20|to
exten => 103,2,Dial,sip/cc103|20|to
exten => 104,2,Dial,sip/cc104|20|to
exten => 105,2,Dial,sip/cc105|20|to
exten => 106,2,Dial,sip/cc106|20|to
exten => 107,2,Dial,sip/cc107|20|to
exten => 108,2,Dial,sip/cc108|20|to
exten => 109,2,Dial,sip/cc109|20|to
exten => 110,2,Dial,sip/cc110|20|to
exten => 111,2,Dial,sip/cc111|20|to
exten => 112,2,Dial,sip/cc112|20|to
exten => 113,2,Dial,sip/cc113|20|to
exten => 114,2,Dial,sip/cc114|20|to
exten => 115,2,Dial,sip/cc115|20|to
exten => 116,2,Dial,sip/cc116|20|to
exten => 117,2,Dial,sip/cc117|20|to
exten => 118,2,Dial,sip/cc118|20|to
exten => 119,2,Dial,sip/cc119|20|to
exten => 120,2,Dial,sip/cc120|20|to
exten => 121,2,Dial,sip/cc121|20|to
exten => 122,2,Dial,sip/cc122|20|to
exten => 123,2,Dial,sip/cc123|20|to
exten => 124,2,Dial,sip/cc124|20|to
exten => 125,2,Dial,sip/cc125|20|to
exten => 126,2,Dial,sip/cc126|20|to
exten => 127,2,Dial,sip/cc127|20|to
exten => 128,2,Dial,sip/cc128|20|to
exten => 129,2,Dial,sip/cc129|20|to
exten => 130,2,Dial,sip/cc130|20|to
exten => 131,2,Dial,sip/cc131|20|to
exten => 132,2,Dial,sip/cc132|20|to
exten => 133,2,Dial,sip/cc133|20|to
exten => 134,2,Dial,sip/cc134|20|to
exten => 135,2,Dial,sip/cc135|20|to
exten => 136,2,Dial,sip/cc136|20|to
exten => 137,2,Dial,sip/cc137|20|to
exten => 138,2,Dial,sip/cc138|20|to
exten => 139,2,Dial,sip/cc139|20|to
exten => 140,2,Dial,sip/cc140|20|to
exten => 141,2,Dial,sip/cc141|20|to
exten => 142,2,Dial,sip/cc142|20|to
exten => 143,2,Dial,sip/cc143|20|to
exten => 144,2,Dial,sip/cc144|20|to
exten => 145,2,Dial,sip/cc145|20|to
exten => 146,2,Dial,sip/cc146|20|to
exten => 147,2,Dial,sip/cc147|20|to
exten => 148,2,Dial,sip/cc148|20|to
exten => 149,2,Dial,sip/cc149|20|to
exten => 150,2,Dial,sip/cc150|20|to
exten => 100,1,Dial,sip/cc100|20|to
exten => 101,1,Dial,sip/cc101|20|to
exten => 102,1,Dial,sip/cc102|20|to
exten => 103,1,Dial,sip/cc103|20|to
exten => 104,1,Dial,sip/cc104|20|to
exten => 105,1,Dial,sip/cc105|20|to
exten => 106,1,Dial,sip/cc106|20|to
exten => 107,1,Dial,sip/cc107|20|to
exten => 108,1,Dial,sip/cc108|20|to
exten => 109,1,Dial,sip/cc109|20|to
exten => 110,1,Dial,sip/cc110|20|to
exten => 111,1,Dial,sip/cc111|20|to
exten => 112,1,Dial,sip/cc112|20|to
exten => 113,1,Dial,sip/cc113|20|to
exten => 114,1,Dial,sip/cc114|20|to
exten => 115,1,Dial,sip/cc115|20|to
exten => 116,1,Dial,sip/cc116|20|to
exten => 117,1,Dial,sip/cc117|20|to
exten => 118,1,Dial,sip/cc118|20|to
exten => 119,1,Dial,sip/cc119|20|to
exten => 120,1,Dial,sip/cc120|20|to
exten => 121,1,Dial,sip/cc121|20|to
exten => 122,1,Dial,sip/cc122|20|to
exten => 123,1,Dial,sip/cc123|20|to
exten => 124,1,Dial,sip/cc124|20|to
exten => 125,1,Dial,sip/cc125|20|to
exten => 126,1,Dial,sip/cc126|20|to
exten => 127,1,Dial,sip/cc127|20|to
exten => 128,1,Dial,sip/cc128|20|to
exten => 129,1,Dial,sip/cc129|20|to
exten => 130,1,Dial,sip/cc130|20|to
exten => 131,1,Dial,sip/cc131|20|to
exten => 132,1,Dial,sip/cc132|20|to
exten => 133,1,Dial,sip/cc133|20|to
exten => 134,1,Dial,sip/cc134|20|to
exten => 135,1,Dial,sip/cc135|20|to
exten => 136,1,Dial,sip/cc136|20|to
exten => 137,1,Dial,sip/cc137|20|to
exten => 138,1,Dial,sip/cc138|20|to
exten => 139,1,Dial,sip/cc139|20|to
exten => 140,1,Dial,sip/cc140|20|to
exten => 141,1,Dial,sip/cc141|20|to
exten => 142,1,Dial,sip/cc142|20|to
exten => 143,1,Dial,sip/cc143|20|to
exten => 144,1,Dial,sip/cc144|20|to
exten => 145,1,Dial,sip/cc145|20|to
exten => 146,1,Dial,sip/cc146|20|to
exten => 147,1,Dial,sip/cc147|20|to
exten => 148,1,Dial,sip/cc148|20|to
exten => 149,1,Dial,sip/cc149|20|to
exten => 150,1,Dial,sip/cc150|20|to
exten => 300,2,Dial,IAX2/cc300|20|to
exten => 301,2,Dial,IAX2/cc301|20|to
exten => 302,2,Dial,IAX2/cc302|20|to
exten => 303,2,Dial,IAX2/cc303|20|to
exten => 304,2,Dial,IAX2/cc304|20|to
exten => 305,2,Dial,IAX2/cc305|20|to
exten => 306,2,Dial,IAX2/cc306|20|to
exten => 307,2,Dial,IAX2/cc307|20|to
exten => 308,2,Dial,IAX2/cc308|20|to
exten => 309,2,Dial,IAX2/cc309|20|to
exten => 310,2,Dial,IAX2/cc310|20|to
exten => 311,2,Dial,IAX2/cc311|20|to
exten => 312,2,Dial,IAX2/cc312|20|to
exten => 313,2,Dial,IAX2/cc313|20|to
exten => 314,2,Dial,IAX2/cc314|20|to
exten => 315,2,Dial,IAX2/cc315|20|to
exten => 316,2,Dial,IAX2/cc316|20|to
exten => 317,2,Dial,IAX2/cc317|20|to
exten => 318,2,Dial,IAX2/cc318|20|to
exten => 319,2,Dial,IAX2/cc319|20|to
exten => 320,2,Dial,IAX2/cc320|20|to
exten => 321,2,Dial,IAX2/cc321|20|to
exten => 322,2,Dial,IAX2/cc322|20|to
exten => 323,2,Dial,IAX2/cc323|20|to
exten => 324,2,Dial,IAX2/cc324|20|to
exten => 325,2,Dial,IAX2/cc325|20|to
exten => 326,2,Dial,IAX2/cc326|20|to
exten => 327,2,Dial,IAX2/cc327|20|to
exten => 328,2,Dial,IAX2/cc328|20|to
exten => 329,2,Dial,IAX2/cc329|20|to
exten => 330,2,Dial,IAX2/cc330|20|to
exten => 331,2,Dial,IAX2/cc331|20|to
exten => 332,2,Dial,IAX2/cc332|20|to
exten => 333,2,Dial,IAX2/cc333|20|to
exten => 334,2,Dial,IAX2/cc334|20|to
exten => 335,2,Dial,IAX2/cc335|20|to
exten => 336,2,Dial,IAX2/cc336|20|to
exten => 337,2,Dial,IAX2/cc337|20|to
exten => 338,2,Dial,IAX2/cc338|20|to
exten => 339,2,Dial,IAX2/cc339|20|to
exten => 340,2,Dial,IAX2/cc340|20|to
exten => 341,2,Dial,IAX2/cc341|20|to
exten => 342,2,Dial,IAX2/cc342|20|to
exten => 343,2,Dial,IAX2/cc343|20|to
exten => 344,2,Dial,IAX2/cc344|20|to
exten => 345,2,Dial,IAX2/cc345|20|to
exten => 346,2,Dial,IAX2/cc346|20|to
exten => 347,2,Dial,IAX2/cc347|20|to
exten => 348,2,Dial,IAX2/cc348|20|to
exten => 349,2,Dial,IAX2/cc349|20|to
exten => 350,2,Dial,IAX2/cc350|20|to
exten => 300,1,Dial,IAX2/cc300|20|to
exten => 301,1,Dial,IAX2/cc301|20|to
exten => 302,1,Dial,IAX2/cc302|20|to
exten => 303,1,Dial,IAX2/cc303|20|to
exten => 304,1,Dial,IAX2/cc304|20|to
exten => 305,1,Dial,IAX2/cc305|20|to
exten => 306,1,Dial,IAX2/cc306|20|to
exten => 307,1,Dial,IAX2/cc307|20|to
exten => 308,1,Dial,IAX2/cc308|20|to
exten => 309,1,Dial,IAX2/cc309|20|to
exten => 310,1,Dial,IAX2/cc310|20|to
exten => 311,1,Dial,IAX2/cc311|20|to
exten => 312,1,Dial,IAX2/cc312|20|to
exten => 313,1,Dial,IAX2/cc313|20|to
exten => 314,1,Dial,IAX2/cc314|20|to
exten => 315,1,Dial,IAX2/cc315|20|to
exten => 316,1,Dial,IAX2/cc316|20|to
exten => 317,1,Dial,IAX2/cc317|20|to
exten => 318,1,Dial,IAX2/cc318|20|to
exten => 319,1,Dial,IAX2/cc319|20|to
exten => 320,1,Dial,IAX2/cc320|20|to
exten => 321,1,Dial,IAX2/cc321|20|to
exten => 322,1,Dial,IAX2/cc322|20|to
exten => 323,1,Dial,IAX2/cc323|20|to
exten => 324,1,Dial,IAX2/cc324|20|to
exten => 325,1,Dial,IAX2/cc325|20|to
exten => 326,1,Dial,IAX2/cc326|20|to
exten => 327,1,Dial,IAX2/cc327|20|to
exten => 328,1,Dial,IAX2/cc328|20|to
exten => 329,1,Dial,IAX2/cc329|20|to
exten => 330,1,Dial,IAX2/cc330|20|to
exten => 331,1,Dial,IAX2/cc331|20|to
exten => 332,1,Dial,IAX2/cc332|20|to
exten => 333,1,Dial,IAX2/cc333|20|to
exten => 334,1,Dial,IAX2/cc334|20|to
exten => 335,1,Dial,IAX2/cc335|20|to
exten => 336,1,Dial,IAX2/cc336|20|to
exten => 337,1,Dial,IAX2/cc337|20|to
exten => 338,1,Dial,IAX2/cc338|20|to
exten => 339,1,Dial,IAX2/cc339|20|to
exten => 340,1,Dial,IAX2/cc340|20|to
exten => 341,1,Dial,IAX2/cc341|20|to
exten => 342,1,Dial,IAX2/cc342|20|to
exten => 343,1,Dial,IAX2/cc343|20|to
exten => 344,1,Dial,IAX2/cc344|20|to
exten => 345,1,Dial,IAX2/cc345|20|to
exten => 346,1,Dial,IAX2/cc346|20|to
exten => 347,1,Dial,IAX2/cc347|20|to
exten => 348,1,Dial,IAX2/cc348|20|to
exten => 349,1,Dial,IAX2/cc349|20|to
exten => 350,1,Dial,IAX2/cc350|20|to
; extensions if using a T1 channelbank
exten => 1901,1,Dial,Zap/1|30|o
@@ -300,9 +300,9 @@ exten => _**3429,6,Voicemail,u2000
exten => _*NXXNXXXXXX*3429,1,Ringing
exten => _*NXXNXXXXXX*3429,2,AGI(agi://127.0.0.1:4577/call_log)
exten => _*NXXNXXXXXX*3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w)
exten => _*NXXNXXXXXX*3429,3,Answer
exten => _*NXXNXXXXXX*3429,4,Dial,sip/spa2000&sip/spa2001|30|to
exten => _*NXXNXXXXXX*3429,5,Voicemail,u2000
exten => _*NXXNXXXXXX*3429,4,Answer
exten => _*NXXNXXXXXX*3429,5,Dial,sip/spa2000&sip/spa2001|30|to
exten => _*NXXNXXXXXX*3429,6,Voicemail,u2000
; BE SURE TO CHANGE THESE FOR YOUR IP ADDRESS!
exten => _010*010*010*015*8600XXX,1,Goto(default,${EXTEN:16},1)
@@ -27,109 +27,109 @@ exten => 2020,2,Voicemail,u2000 ; Send to voicemail...
exten => 401,1,Dial,(IAX2/firefly01@firefly01/s)
exten => 401,2,Hangup
; extensions for other SIP and IAX call center phones
exten => 100,2,Dial,sip/cc100|20|to
exten => 101,2,Dial,sip/cc101|20|to
exten => 102,2,Dial,sip/cc102|20|to
exten => 103,2,Dial,sip/cc103|20|to
exten => 104,2,Dial,sip/cc104|20|to
exten => 105,2,Dial,sip/cc105|20|to
exten => 106,2,Dial,sip/cc106|20|to
exten => 107,2,Dial,sip/cc107|20|to
exten => 108,2,Dial,sip/cc108|20|to
exten => 109,2,Dial,sip/cc109|20|to
exten => 110,2,Dial,sip/cc110|20|to
exten => 111,2,Dial,sip/cc111|20|to
exten => 112,2,Dial,sip/cc112|20|to
exten => 113,2,Dial,sip/cc113|20|to
exten => 114,2,Dial,sip/cc114|20|to
exten => 115,2,Dial,sip/cc115|20|to
exten => 116,2,Dial,sip/cc116|20|to
exten => 117,2,Dial,sip/cc117|20|to
exten => 118,2,Dial,sip/cc118|20|to
exten => 119,2,Dial,sip/cc119|20|to
exten => 120,2,Dial,sip/cc120|20|to
exten => 121,2,Dial,sip/cc121|20|to
exten => 122,2,Dial,sip/cc122|20|to
exten => 123,2,Dial,sip/cc123|20|to
exten => 124,2,Dial,sip/cc124|20|to
exten => 125,2,Dial,sip/cc125|20|to
exten => 126,2,Dial,sip/cc126|20|to
exten => 127,2,Dial,sip/cc127|20|to
exten => 128,2,Dial,sip/cc128|20|to
exten => 129,2,Dial,sip/cc129|20|to
exten => 130,2,Dial,sip/cc130|20|to
exten => 131,2,Dial,sip/cc131|20|to
exten => 132,2,Dial,sip/cc132|20|to
exten => 133,2,Dial,sip/cc133|20|to
exten => 134,2,Dial,sip/cc134|20|to
exten => 135,2,Dial,sip/cc135|20|to
exten => 136,2,Dial,sip/cc136|20|to
exten => 137,2,Dial,sip/cc137|20|to
exten => 138,2,Dial,sip/cc138|20|to
exten => 139,2,Dial,sip/cc139|20|to
exten => 140,2,Dial,sip/cc140|20|to
exten => 141,2,Dial,sip/cc141|20|to
exten => 142,2,Dial,sip/cc142|20|to
exten => 143,2,Dial,sip/cc143|20|to
exten => 144,2,Dial,sip/cc144|20|to
exten => 145,2,Dial,sip/cc145|20|to
exten => 146,2,Dial,sip/cc146|20|to
exten => 147,2,Dial,sip/cc147|20|to
exten => 148,2,Dial,sip/cc148|20|to
exten => 149,2,Dial,sip/cc149|20|to
exten => 150,2,Dial,sip/cc150|20|to
exten => 100,1,Dial,sip/cc100|20|to
exten => 101,1,Dial,sip/cc101|20|to
exten => 102,1,Dial,sip/cc102|20|to
exten => 103,1,Dial,sip/cc103|20|to
exten => 104,1,Dial,sip/cc104|20|to
exten => 105,1,Dial,sip/cc105|20|to
exten => 106,1,Dial,sip/cc106|20|to
exten => 107,1,Dial,sip/cc107|20|to
exten => 108,1,Dial,sip/cc108|20|to
exten => 109,1,Dial,sip/cc109|20|to
exten => 110,1,Dial,sip/cc110|20|to
exten => 111,1,Dial,sip/cc111|20|to
exten => 112,1,Dial,sip/cc112|20|to
exten => 113,1,Dial,sip/cc113|20|to
exten => 114,1,Dial,sip/cc114|20|to
exten => 115,1,Dial,sip/cc115|20|to
exten => 116,1,Dial,sip/cc116|20|to
exten => 117,1,Dial,sip/cc117|20|to
exten => 118,1,Dial,sip/cc118|20|to
exten => 119,1,Dial,sip/cc119|20|to
exten => 120,1,Dial,sip/cc120|20|to
exten => 121,1,Dial,sip/cc121|20|to
exten => 122,1,Dial,sip/cc122|20|to
exten => 123,1,Dial,sip/cc123|20|to
exten => 124,1,Dial,sip/cc124|20|to
exten => 125,1,Dial,sip/cc125|20|to
exten => 126,1,Dial,sip/cc126|20|to
exten => 127,1,Dial,sip/cc127|20|to
exten => 128,1,Dial,sip/cc128|20|to
exten => 129,1,Dial,sip/cc129|20|to
exten => 130,1,Dial,sip/cc130|20|to
exten => 131,1,Dial,sip/cc131|20|to
exten => 132,1,Dial,sip/cc132|20|to
exten => 133,1,Dial,sip/cc133|20|to
exten => 134,1,Dial,sip/cc134|20|to
exten => 135,1,Dial,sip/cc135|20|to
exten => 136,1,Dial,sip/cc136|20|to
exten => 137,1,Dial,sip/cc137|20|to
exten => 138,1,Dial,sip/cc138|20|to
exten => 139,1,Dial,sip/cc139|20|to
exten => 140,1,Dial,sip/cc140|20|to
exten => 141,1,Dial,sip/cc141|20|to
exten => 142,1,Dial,sip/cc142|20|to
exten => 143,1,Dial,sip/cc143|20|to
exten => 144,1,Dial,sip/cc144|20|to
exten => 145,1,Dial,sip/cc145|20|to
exten => 146,1,Dial,sip/cc146|20|to
exten => 147,1,Dial,sip/cc147|20|to
exten => 148,1,Dial,sip/cc148|20|to
exten => 149,1,Dial,sip/cc149|20|to
exten => 150,1,Dial,sip/cc150|20|to
exten => 300,2,Dial,IAX2/cc300|20|to
exten => 301,2,Dial,IAX2/cc301|20|to
exten => 302,2,Dial,IAX2/cc302|20|to
exten => 303,2,Dial,IAX2/cc303|20|to
exten => 304,2,Dial,IAX2/cc304|20|to
exten => 305,2,Dial,IAX2/cc305|20|to
exten => 306,2,Dial,IAX2/cc306|20|to
exten => 307,2,Dial,IAX2/cc307|20|to
exten => 308,2,Dial,IAX2/cc308|20|to
exten => 309,2,Dial,IAX2/cc309|20|to
exten => 310,2,Dial,IAX2/cc310|20|to
exten => 311,2,Dial,IAX2/cc311|20|to
exten => 312,2,Dial,IAX2/cc312|20|to
exten => 313,2,Dial,IAX2/cc313|20|to
exten => 314,2,Dial,IAX2/cc314|20|to
exten => 315,2,Dial,IAX2/cc315|20|to
exten => 316,2,Dial,IAX2/cc316|20|to
exten => 317,2,Dial,IAX2/cc317|20|to
exten => 318,2,Dial,IAX2/cc318|20|to
exten => 319,2,Dial,IAX2/cc319|20|to
exten => 320,2,Dial,IAX2/cc320|20|to
exten => 321,2,Dial,IAX2/cc321|20|to
exten => 322,2,Dial,IAX2/cc322|20|to
exten => 323,2,Dial,IAX2/cc323|20|to
exten => 324,2,Dial,IAX2/cc324|20|to
exten => 325,2,Dial,IAX2/cc325|20|to
exten => 326,2,Dial,IAX2/cc326|20|to
exten => 327,2,Dial,IAX2/cc327|20|to
exten => 328,2,Dial,IAX2/cc328|20|to
exten => 329,2,Dial,IAX2/cc329|20|to
exten => 330,2,Dial,IAX2/cc330|20|to
exten => 331,2,Dial,IAX2/cc331|20|to
exten => 332,2,Dial,IAX2/cc332|20|to
exten => 333,2,Dial,IAX2/cc333|20|to
exten => 334,2,Dial,IAX2/cc334|20|to
exten => 335,2,Dial,IAX2/cc335|20|to
exten => 336,2,Dial,IAX2/cc336|20|to
exten => 337,2,Dial,IAX2/cc337|20|to
exten => 338,2,Dial,IAX2/cc338|20|to
exten => 339,2,Dial,IAX2/cc339|20|to
exten => 340,2,Dial,IAX2/cc340|20|to
exten => 341,2,Dial,IAX2/cc341|20|to
exten => 342,2,Dial,IAX2/cc342|20|to
exten => 343,2,Dial,IAX2/cc343|20|to
exten => 344,2,Dial,IAX2/cc344|20|to
exten => 345,2,Dial,IAX2/cc345|20|to
exten => 346,2,Dial,IAX2/cc346|20|to
exten => 347,2,Dial,IAX2/cc347|20|to
exten => 348,2,Dial,IAX2/cc348|20|to
exten => 349,2,Dial,IAX2/cc349|20|to
exten => 350,2,Dial,IAX2/cc350|20|to
exten => 300,1,Dial,IAX2/cc300|20|to
exten => 301,1,Dial,IAX2/cc301|20|to
exten => 302,1,Dial,IAX2/cc302|20|to
exten => 303,1,Dial,IAX2/cc303|20|to
exten => 304,1,Dial,IAX2/cc304|20|to
exten => 305,1,Dial,IAX2/cc305|20|to
exten => 306,1,Dial,IAX2/cc306|20|to
exten => 307,1,Dial,IAX2/cc307|20|to
exten => 308,1,Dial,IAX2/cc308|20|to
exten => 309,1,Dial,IAX2/cc309|20|to
exten => 310,1,Dial,IAX2/cc310|20|to
exten => 311,1,Dial,IAX2/cc311|20|to
exten => 312,1,Dial,IAX2/cc312|20|to
exten => 313,1,Dial,IAX2/cc313|20|to
exten => 314,1,Dial,IAX2/cc314|20|to
exten => 315,1,Dial,IAX2/cc315|20|to
exten => 316,1,Dial,IAX2/cc316|20|to
exten => 317,1,Dial,IAX2/cc317|20|to
exten => 318,1,Dial,IAX2/cc318|20|to
exten => 319,1,Dial,IAX2/cc319|20|to
exten => 320,1,Dial,IAX2/cc320|20|to
exten => 321,1,Dial,IAX2/cc321|20|to
exten => 322,1,Dial,IAX2/cc322|20|to
exten => 323,1,Dial,IAX2/cc323|20|to
exten => 324,1,Dial,IAX2/cc324|20|to
exten => 325,1,Dial,IAX2/cc325|20|to
exten => 326,1,Dial,IAX2/cc326|20|to
exten => 327,1,Dial,IAX2/cc327|20|to
exten => 328,1,Dial,IAX2/cc328|20|to
exten => 329,1,Dial,IAX2/cc329|20|to
exten => 330,1,Dial,IAX2/cc330|20|to
exten => 331,1,Dial,IAX2/cc331|20|to
exten => 332,1,Dial,IAX2/cc332|20|to
exten => 333,1,Dial,IAX2/cc333|20|to
exten => 334,1,Dial,IAX2/cc334|20|to
exten => 335,1,Dial,IAX2/cc335|20|to
exten => 336,1,Dial,IAX2/cc336|20|to
exten => 337,1,Dial,IAX2/cc337|20|to
exten => 338,1,Dial,IAX2/cc338|20|to
exten => 339,1,Dial,IAX2/cc339|20|to
exten => 340,1,Dial,IAX2/cc340|20|to
exten => 341,1,Dial,IAX2/cc341|20|to
exten => 342,1,Dial,IAX2/cc342|20|to
exten => 343,1,Dial,IAX2/cc343|20|to
exten => 344,1,Dial,IAX2/cc344|20|to
exten => 345,1,Dial,IAX2/cc345|20|to
exten => 346,1,Dial,IAX2/cc346|20|to
exten => 347,1,Dial,IAX2/cc347|20|to
exten => 348,1,Dial,IAX2/cc348|20|to
exten => 349,1,Dial,IAX2/cc349|20|to
exten => 350,1,Dial,IAX2/cc350|20|to
; extensions if using a T1 channelbank
exten => 1901,1,Dial,Zap/1|30|o
@@ -299,9 +299,9 @@ exten => _**3429,6,Voicemail,u2000
exten => _*NXXNXXXXXX*3429,1,Ringing
exten => _*NXXNXXXXXX*3429,2,AGI(agi://127.0.0.1:4577/call_log)
exten => _*NXXNXXXXXX*3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w)
exten => _*NXXNXXXXXX*3429,3,Answer
exten => _*NXXNXXXXXX*3429,4,Dial,sip/spa2000&sip/spa2001|30|to
exten => _*NXXNXXXXXX*3429,5,Voicemail,u2000
exten => _*NXXNXXXXXX*3429,4,Answer
exten => _*NXXNXXXXXX*3429,5,Dial,sip/spa2000&sip/spa2001|30|to
exten => _*NXXNXXXXXX*3429,6,Voicemail,u2000
; BE SURE TO CHANGE THESE FOR YOUR IP ADDRESS!
exten => _010*010*010*015*8600XXX,1,Goto(default,${EXTEN:16},1)
@@ -1,7 +1,7 @@
<?
# vdc_db_query.php
#
# Copyright (C) 2007 Matt Florell <vicidial@gmail.com> LICENSE: GPLv2
# Copyright (C) 2008 Matt Florell <vicidial@gmail.com> LICENSE: GPLv2
#
# This script is designed purely to send whether the meetme conference has live channels connected and which they are
# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table
@@ -140,10 +140,11 @@
# 71125-1751 - Added inbound-group default inbound group sending to vicidial.php
# 71129-2025 - restricted callbacks count and list to campaign only
# 71226-1117 - added option to kick all calls from conference upon logout
# 80128-1159 - fixed vicidial_log bugs
#
$version = '2.0.4-66';
$build = '71226-1117';
$version = '2.0.4-67';
$build = '80128-1159';
require("dbconnect.php");
@@ -1053,7 +1054,8 @@ if ($stage == "end")
if ($format=='debug') {echo "\n<!-- $stmt -->";}
$rslt=mysql_query($stmt, $link);
$row=mysql_fetch_row($rslt);
if ($row[0] > 0)
$check_inbound = $row[0];
if ($check_inbound > 0)
{
##### look for the start epoch in the vicidial_closer_log table
$stmt="SELECT start_epoch FROM vicidial_closer_log where phone_number='$phone_number' and lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;";
@@ -1076,11 +1078,8 @@ if ($stage == "end")
{
$length_in_sec = 0;
}
$stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';";
if ($format=='debug') {echo "\n<!-- $stmt -->";}
$rslt=mysql_query($stmt, $link);
$row=mysql_fetch_row($rslt);
if ( ($length_in_sec < 1) and ($row[0] > 0) )
if ( ($length_in_sec < 1) and ($check_inbound > 0) )
{
##### start epoch in the vicidial_log table, couldn't find one in vicidial_closer_log
$stmt="SELECT start_epoch FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';";
@@ -1101,15 +1100,20 @@ if ($stage == "end")
}
else {$length_in_sec = ($StarTtime - $start_epoch);}
$stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';";
if ($format=='debug') {echo "\n<!-- $stmt -->";}
$rslt=mysql_query($stmt, $link);
$row=mysql_fetch_row($rslt);
if ($row[0] > 0)
$closer_logged=0;
if ($check_inbound > 0)
{
$stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec' where lead_id='$lead_id' order by start_epoch desc limit 1;";
$four_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-4,date("i"),date("s"),date("m"),date("d"),date("Y")));
$stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec' where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by start_epoch desc limit 1;";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
$affected_rows = mysql_affected_rows($link);
if ($affected_rows > 0)
{
$closer_logged=1;
echo "$uniqueid\n$channel\n";
}
}
#############################################
@@ -1351,19 +1355,22 @@ if ($stage == "end")
}
}
##### look for the channel in the UPDATED vicidial_manager record of the call initiation
$stmt="UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
$affected_rows = mysql_affected_rows($link);
if ($closer_logged < 1)
{
##### update the duration and end time in the vicidial_log table
$stmt="UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
$affected_rows = mysql_affected_rows($link);
if ($affected_rows > 0)
{
echo "$uniqueid\n$channel\n";
}
else
{
echo "LOG NOT ENTERED\n\n";
if ($affected_rows > 0)
{
echo "$uniqueid\n$channel\n";
}
else
{
echo "LOG NOT ENTERED\n\n";
}
}
}
@@ -1646,41 +1653,69 @@ if ($ACTION == 'VDADcheckINCOMING')
$row=mysql_fetch_row($rslt);
$user_group = trim("$row[0]");
}
$stmt = "UPDATE vicidial_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' and uniqueid='$uniqueid';";
$stmt = "select campaign_id,phone_number,alt_dial,call_type from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
$stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';";
if ($format=='debug') {echo "\n<!-- $stmt -->";}
$rslt=mysql_query($stmt, $link);
$row=mysql_fetch_row($rslt);
if ($row[0] > 0)
$VDAC_cid_ct = mysql_num_rows($rslt);
if ($VDAC_cid_ct > 0)
{
### update the vicidial_closer_log user to INCALL
$stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;";
$row=mysql_fetch_row($rslt);
$VDADchannel_group =$row[0];
$dialed_number =$row[1];
$dialed_label =$row[2];
$call_type =$row[3];
}
else
{
if ($WeBRooTWritablE > 0)
{
$fp = fopen ("./vicidial_debug.txt", "a");
fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|\n");
fclose($fp);
}
}
if ( ($call_type=='OUT') or ($call_type=='OUTBALANCE') )
{
$stmt = "UPDATE vicidial_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' and uniqueid='$uniqueid';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
$stmt = "select campaign_id,phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;";
$stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$campaign';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
$VDIG_cid_ct = mysql_num_rows($rslt);
if ($VDIG_cid_ct > 0)
{
$row=mysql_fetch_row($rslt);
$VDCL_campaign_script = $row[0];
$VDCL_get_call_launch = $row[1];
$VDCL_xferconf_a_dtmf = $row[2];
$VDCL_xferconf_a_number = $row[3];
$VDCL_xferconf_b_dtmf = $row[4];
$VDCL_xferconf_b_number = $row[5];
}
echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|\n|\n";
$stmt = "select phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
$VDAC_cid_ct = mysql_num_rows($rslt);
if ($VDAC_cid_ct > 0)
{
$row=mysql_fetch_row($rslt);
$VDADchannel_group =$row[0];
$dialed_number =$row[1];
$dialed_label =$row[2];
}
else
{
if ($WeBRooTWritablE > 0)
{
$fp = fopen ("./vicidial_debug.txt", "a");
fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|\n");
fclose($fp);
}
$dialed_number =$row[0];
$dialed_label =$row[1];
}
}
else
{
### update the vicidial_closer_log user to INCALL
$stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
$stmt = "select count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';";
if ($DB) {echo "$stmt\n";}
@@ -1752,35 +1787,6 @@ if ($ACTION == 'VDADcheckINCOMING')
}
else {echo '|' . $tsr . "\n";}
}
else
{
$stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$campaign';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
$VDIG_cid_ct = mysql_num_rows($rslt);
if ($VDIG_cid_ct > 0)
{
$row=mysql_fetch_row($rslt);
$VDCL_campaign_script = $row[0];
$VDCL_get_call_launch = $row[1];
$VDCL_xferconf_a_dtmf = $row[2];
$VDCL_xferconf_a_number = $row[3];
$VDCL_xferconf_b_dtmf = $row[4];
$VDCL_xferconf_b_number = $row[5];
}
echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|\n|\n";
$stmt = "select phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
$VDAC_cid_ct = mysql_num_rows($rslt);
if ($VDAC_cid_ct > 0)
{
$row=mysql_fetch_row($rslt);
$dialed_number =$row[0];
$dialed_label =$row[1];
}
}
$comments = eregi_replace("\r",'',$comments);
$comments = eregi_replace("\n",'!N',$comments);
@@ -1,7 +1,7 @@
<?
# vicidial.php - the web-based version of the astVICIDIAL client application
#
# Copyright (C) 2007 Matt Florell <vicidial@gmail.com> LICENSE: GPLv2
# Copyright (C) 2008 Matt Florell <vicidial@gmail.com> LICENSE: GPLv2
#
# make sure you have added a user to the vicidial_users MySQL table with at least
# user_level 1 or greater to access this page. Also, you need to have the login
@@ -262,7 +262,7 @@ $volumecontrol_active = '1'; # set to 1 to allow agents to alter volume of chann
$PreseT_DiaL_LinKs = '1'; # set to 1 to show a DIAL link for Dial Presets
$LogiNAJAX = '1'; # set to 1 to do lookups
$HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from "session calls"
$LogouTKicKAlL = '0'; # set to 1 to hangup all calls in session upon agent logout
$LogouTKicKAlL = '1'; # set to 1 to hangup all calls in session upon agent logout
$TEST_all_statuses = '0'; # TEST variable allows all statuses in dispo screen
@@ -4140,7 +4140,9 @@ if ($ADD==11)
echo "<tr bgcolor=#B6D3FC><td align=right>Hopper Level: </td><td align=left><select size=1 name=hopper_level><option>1</option><option>5</option><option>10</option><option>20</option><option>50</option><option>100</option><option>200</option><option>500</option><option>1000</option><option>2000</option></select>$NWB#vicidial_campaigns-hopper_level$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>Auto Dial Level: </td><td align=left><select size=1 name=auto_dial_level><option selected>0</option><option>1</option><option>1.1</option><option>1.2</option><option>1.3</option><option>1.4</option><option>1.5</option><option>1.6</option><option>1.7</option><option>1.8</option><option>1.9</option><option>2.0</option><option>2.2</option><option>2.5</option><option>2.7</option><option>3.0</option><option>3.5</option><option>4.0</option></select>(0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>Next Agent Call: </td><td align=left><select size=1 name=next_agent_call><option >random</option><option>oldest_call_start</option><option>oldest_call_finish</option><option>overall_user_level</option><option>campaign_rank</option><option>fewest_calls</option></select>$NWB#vicidial_campaigns-next_agent_call$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>Local Call Time: </td><td align=left><select size=1 name=local_call_time><option>24hours</option><option>9am-9pm</option><option>9am-5pm</option><option>12pm-5pm</option><option>12pm-9pm</option><option>5pm-9pm</option></select>$NWB#vicidial_campaigns-local_call_time$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>Local Call Time: </td><td align=left><select size=1 name=local_call_time>";
echo "$call_times_list";
echo "</select>$NWB#vicidial_campaigns-local_call_time$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>Voicemail: </td><td align=left><input type=text name=voicemail_ext size=10 maxlength=10 value=\"$voicemail_ext\">$NWB#vicidial_campaigns-voicemail_ext$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>Script: </td><td align=left><select size=1 name=script_id>\n";
echo "$scripts_list";