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:
@@ -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";
|
||||
|
||||
Reference in New Issue
Block a user