diff --git a/agc_2-X/trunk/UPGRADE b/agc_2-X/trunk/UPGRADE index f3899ff9..c02b77e1 100644 --- a/agc_2-X/trunk/UPGRADE +++ b/agc_2-X/trunk/UPGRADE @@ -93,6 +93,10 @@ NOTE: Upgrading from 1.1.12-3 to 2.0.1 is at the bottom 14. Changed Drop percentage to be out of Answered calls for FTC compliance. +15. Tested new asterisk-perl module (0.09) and found that it is NOT compatible. + Please make sure you use asterisk-perl-0.08 ONLY. + + diff --git a/agc_2-X/trunk/docs/ACQS.txt b/agc_2-X/trunk/docs/ACQS.txt index 9982fc63..050bcdf0 100644 --- a/agc_2-X/trunk/docs/ACQS.txt +++ b/agc_2-X/trunk/docs/ACQS.txt @@ -12,8 +12,6 @@ work with Asterisk. Scripts that are involved with the ACQS backend are: - - AST_SERVER_conf.pl - - - /etc/astguiclient.conf - file where you define your variables for the server apps + Must be present and configured through the install.pl script @@ -29,7 +27,7 @@ Scripts that are involved with the ACQS backend are: + Must be present in the /home/cron/ directory + Requires Net::Telnet, Net::MySQL perl Modules - - ADMIN_keepalive_AST_send_listen.pl - checks to see that ACQS is running + - ADMIN_keepalive_ALL.pl - checks to see that ACQS is running + Must put entry for this script in the cron as "* * * * * /path/script" - ADMIN_restart_roll_logs.pl - rolls logs over datestamp upon restart @@ -91,6 +89,5 @@ been up and running reliably on two separate Asterisk servers. Since we implemented ACQS we haven't had a single deadlock on either of these servers. If anyone has suggestions/praises/criticisms I would love to hear them. -To use, install the scripts listed above and set the $QUEUE_ACTION_enabled -variable in the client's libs/AST_VICI_conf.pl configuration file to 1 +To use, follow the instructions in the docs/SCRATCH_INSTALL.txt document. diff --git a/agc_2-X/trunk/docs/BASE_INSTALL.txt b/agc_2-X/trunk/docs/BASE_INSTALL.txt index ee0b65aa..ae60168a 100644 --- a/agc_2-X/trunk/docs/BASE_INSTALL.txt +++ b/agc_2-X/trunk/docs/BASE_INSTALL.txt @@ -87,7 +87,8 @@ cd ../asterisk-1.2.14 make clean make make install -make samples # this makes sample conf files +make samples # this makes sample conf files (only use for new installs) + - (1.2 tree) EXPERIMENTAL!!! If you want to use app_conference instead of meetme for VICIDIAL then follow these instructions cd /usr/src/asterisk @@ -181,12 +182,12 @@ VICIDIAL components to the system. There are two methods for downloading astGUIclient/VICIDIAL, a release and SVN 1. Go to http://astguiclient.sf.net/ and download the latest astguiclient -package(as of this writing it is 2.0.1) +package(as of this writing it is 2.0.2) - for 2.0.X release: mkdir /usr/src/astguiclient cd /usr/src/astguiclient - wget http://internap.dl.sourceforge.net/sourceforge/astguiclient/astguiclient_2.0.1.zip - unzip astguiclient_2.0.1.zip + wget http://internap.dl.sourceforge.net/sourceforge/astguiclient/astguiclient_2.0.2.zip + unzip astguiclient_2.0.2.zip perl install.pl - for SVN 2.0 trunk: mkdir /usr/src/astguiclient diff --git a/agc_2-X/trunk/docs/LOAD_BALANCING.txt b/agc_2-X/trunk/docs/LOAD_BALANCING.txt index 1a8d55a1..7ee98526 100644 --- a/agc_2-X/trunk/docs/LOAD_BALANCING.txt +++ b/agc_2-X/trunk/docs/LOAD_BALANCING.txt @@ -4,7 +4,7 @@ This document is meant to summarize the capabilities and setup of VICIDIAL in a Why Load Balance? -The primary reason to do load balancing, or clustering of multiple VICIDIAL servers, is to spread the calls taken in or the answered calls on an outbound campaign across all of the agents that are logged into a campaign no matter what server they are on. For instance, on an outbound campaign, you have 2 servers, server one has 20 agents logged in on a campaign and the other server(two) has 5 agents logged in on the same campaign. Lets say that the campaign is set to a dial_level of 3.0 so there are 60 active calls being placed on server one and 15 active calls being placed on server two. Then 23 of the calls on server one answer meaning that there are three calls too many for the agents available on that server. Under a load-balancing-overflow setup those three calls can travel over an IAX2 trunk directly to the agents on that server that are still available. This increased efficiency in both inbound and outbound environments as well as reducing on-hold times for customers and equalizing wait times for agents across all servers for a campaign. +The primary reason to do load balancing, or clustering of multiple VICIDIAL servers, is to spread the calls taken in or the answered calls on an outbound campaign across all of the agents that are logged into a campaign no matter what server they are on. For instance, on an outbound campaign, you have 2 servers, server one has 20 agents logged in on a campaign and the other server(two) has 5 agents logged in on the same campaign. Lets say that the campaign is set to a dial_level of 3.0 so there are 60 active calls being placed on server one and 15 active calls being placed on server two. Then 23 of the calls on server one answer, meaning that there are three calls too many for the agents available on that server. Under a load-balancing-overflow setup, those three calls can travel over an IAX2 trunk directly to the agents on that server that are still available. This increased efficiency in both inbound and outbound environments as well as reducing on-hold times for customers and equalizing wait times for agents across all servers for a campaign. Another reason for load balancing is the ability to use cheaper hardware on the server side. It is much cheaper and more fault-tolerant to buy four P4 2.0GHz 1U servers for $800 a piece than it is to buy a single 4U quad Xeon 3.2GHz server. The four 1U servers will have more total capacity, can be easily scaled and if one fails you've only lost 25% of capacity instead of everything. This philosophy has serverd our call center very well over the last two years. diff --git a/agc_2-X/trunk/docs/PREDICTIVE.txt b/agc_2-X/trunk/docs/PREDICTIVE.txt index 716b9543..6eadcb23 100644 --- a/agc_2-X/trunk/docs/PREDICTIVE.txt +++ b/agc_2-X/trunk/docs/PREDICTIVE.txt @@ -90,7 +90,8 @@ dial mode. Default is N. Drop Percentage Limit - This field is where you set the limit of the percentage of dropped calls you would like while using an adaptive-predictive dial method, -not MANUAL or RATIO. +not MANUAL or RATIO. Dropped calls percentage is measured out of the total +number of Answered calls for the campaign for the day. Maximum Adapt Dial Level - This field is where you set the limit of the limit to the numbr of lines you would like dialed per agent while using an diff --git a/agc_2-X/trunk/docs/README.txt b/agc_2-X/trunk/docs/README.txt index 3c6af96c..14327933 100644 --- a/agc_2-X/trunk/docs/README.txt +++ b/agc_2-X/trunk/docs/README.txt @@ -7,191 +7,23 @@ This suite of programs is designed to work with the Asterisk Open-source PBX (http://www.asterisk.org) as a cross-platform GUI client and the supporting server side applications necessary for the features of the GUI application to -work with Asterisk. The client-side GUI apps are available now as web pages -running AJAX scripted web pages(Firefox recommended) +work with Asterisk. The client-side GUI apps are available as web pages running +AJAX scripted web pages(Firefox recommended) End-user Manuals for Agents and Managers are available from http://www.eflo.net ***** Description, Notes and Changelog below ***** Included in this distribution of the Asterisk GUI client are: - - - README.txt - this file - - - SCRATCH_INSTALL.txt - detailed instructions of how to fully install Asterisk -with astguiclient from scratch. Also you could use this doc to install from -PHASE 6 of the document if you have an existing Asterisk installation you want -to put astguiclient onto. - - - ACQS.txt - Readme file describing the Asterisk Central Queue System - - - VICIDIAL.txt - Readme file describing the VICIDIAL auto-dialing system - - - REQUIREMENTS.txt - Basic requirements for running astGUIclient/VICIDIAL - - - LOAD_BALANCING.txt - Instructions for multi-server installations - - - LICENSE.txt - The license for this release GPLv2 - - - install.pl - perl script to put files in the right place on the -server. Run as "perl install.pl" - - - start_asterisk_boot.pl - starts asterisk through a screen, good for system -boot time startups of asterisk. - -- MySQL_AST_CREATE_tables.sql - used to create tables for astguiclient and -vicidial in your MySQL database - - - ADMIN_area_code_populate.pl - run once to update phone codes to database - - - AST_VICI_conf.pl - file where you define your variables for the client app - + Must be present in one of the libs_path folders - - - AST_update.pl - command line DB updater - + Ideally is run on the Asterisk server locally - + Requires Net::Telnet, Net::MySQL and Time::HiRes perl Modules - - - AST_vm_update.pl - command line DB voicemail count updater - + Ideally is run on the Asterisk server locally - + Requires Net::Telnet, Net::MySQL and Time::HiRes perl Modules - + place in the cron as "* * * * * /path/to/script" - -- AST_conf_update.pl - command line DB conference room reg validator - + Ideally is run on the Asterisk server locally - + Requires Net::Telnet, Net::MySQL and Time::HiRes perl Modules - + place in the cron as "* * * * * /path/to/script" - - - ADMIN_keepalive_AST_update.pl - checks to see that updater is running - + Must put entry for this script in the cron as "* * * * * /path/to/script" - - - AST_CRON_mix_recordings.pl - command line recording mixer to be put in cron - + Runs under UNIX CLI in the cron of the Asterisk Server - + Requires perl (Net::FTP and Net::Ping optional if FTPing to archive server) - - - AST_manager_listen.pl - listener for the Asterisk Central Queue System (ACQS) - + Must be present in the astguiclient directory - + Requires Net::Telnet, Net::MySQL and Time::HiRes perl Modules - - - AST_manager_send.pl - send-spawn for the ACQS - + Must be present in the astguiclient directory - + Requires Net::Telnet, Net::MySQL and Time::HiRes perl Modules - - - AST_send_action_child.pl - blind-send for the ACQS - + Must be present in the astguiclient directory - + Requires Net::Telnet, Net::MySQL perl Modules - - - ADMIN_keepalive_AST_send_listen.pl - checks to see that ACQS is running - + Must put entry for this script in the cron as "* * * * * /path/to/script" - - - AST_manager_kill_hung_congested.pl - kills CONGEST Local/ channels - + To be used with VICIDIAL - + Must put entry for this script in the cron as "* * * * * /path/to/script" - - - ADMIN_listener_restart.pl - automatically restart ACQS - + Assumes installation in astguiclient - - - ADMIN_restart_roll_logs.pl - rolls logs over datestamp upon restart - + put this script in your machine's startup routine - - - AST_reset_mysql_vars.pl - resets MySQL tables - + To be used with VICIDIAL - + put this script in your machine's startup routine - - - AST_flush_DBqueue.pl - streamlines DB on heavy volume VICIDIAL systems - + To be used with VICIDIAL - + put this script in the cron at a regular interval(once an hour or so) - - - AST_cleanup_agent_log.pl - cleans up agent log times in VICIDIAL systems - + To be used with VICIDIAL - + put this script in the cron at a regular interval(once an hour or so) - -- The following AGI scripts: - + Run on the Asterisk Server - + Must be present in the /var/lib/asterisk/agi-bin/ directory - + Require perl and Net::MySQL to run - - call_log.agi - AGI/perl program for call logging - - call_logCID.agi - AGI/perl program for call logging receiving CallerID - - call_inbound.agi - AGI/perl program for CallerID popup info (OPTIONAL) - - agi-dtmf.agi - AGI/perl program that plays DTMF tines for conferences - + Requires DTMF sounds to be copied to /var/lib/asterisk/sounds/ - - agi-VDADtransfer.agi - AGI/perl program that transfers calls to VICIDIAL reps - - agi-VDAD_LO_transfer.agi - transfers calls to VICIDIAL reps Load Balance Overflow - - agi-VDAD_LB_transfer.agi - transfers calls to VICIDIAL reps Load Balanced - - agi-VDADcloser.agi - AGI/perl program that takes calls from VICIDIAL reps - + Allows calls from internal or over Zap crossover or IAX from another server - - agi-VDAD_LO_closer.agi - calls from VICIDIAL front to CLOSERS Balance Overflow - - agi-VDAD_LB_closer.agi - calls from VICIDIAL front to CLOSERS Load Balanced - - agi-VDADcloser_inboundANI.agi - AGI/perl that takes calls from outside lines - + like agi-VDADcloser.agi except grabs ANI from robbed-bit T1 channel inbound - - agi-VDADcloser_inboundCID.agi - AGI/perl that takes calls from outside lines - + like agi-VDADcloser.agi except grabs CID from T1-PRI channel inbound - - agi-VDADcloser_inboundCIDlookup.agi - AGI/perl that takes calls from outside lines - + like agi-VDADcloser.agi except looks up CID in DB to display info - - agi-VDADcloser_inbound.agi - AGI/perl that takes calls from outside lines - + like agi-VDADcloser.agi except grabs 4-digit entered code as fronter # - - agi-VDAD_LO_closer_inbound.agi - Load-balance-overflow version - - agi-VDAD_LB_closer_inbound.agi - Load-balance version - - agi-VDADcloser_PHONE.agi - AGI/perl that takes calls from outside lines - + like agi-VDADcloser.agi except attempts to lookup the info from PHONE provided - - park_CID.agi - AGI/perl program to place the callID in the park entry - - call_park_I.agi and call_park_L.agi - AGI/perl script for handling inbound - + Used in conjunction with VICIDIAL closers - - - AST_VDauto_dial.pl - script to automatically call leads for VICIDIAL - + To be used with VICIDIAL - + kept running with the associated keepalive script in the cron - - - AST_VDremote_agents.pl - script to keep remote agents logged in - + To be used with VICIDIAL - + kept running with the associated keepalive script in the cron - - - AST_VDhopper.pl - script to keep leads in the VICIDIAL hopper - + To be used with VICIDIAL - + recommended to put into cron as "* * * * * /path/to/script" - - - AST_VDadapt.pl - controls predictive dialing call pacing - + Must be present in the astguiclient directory - - - ADMIN_keepalive_AST_VDautodial.pl - checks to see that VDAD is running - + Must put entry for this script in the cron as "* * * * * /path/to/script" - - - ADMIN_keepalive_AST_VDremote_agents.pl - keeps remote agents logged in - + Must put entry for this script in the cron as "* * * * * /path/to/script" - - - VICIDIAL_IN_new_leads_file.pl - script to load lead files into VICIDIAL - + To be used with VICIDIAL - - - AST_DB_optimize.pl - optimizes many heavily-used tables in the asterisk DB - + recommended to put into cron as "2 1 * * * /path/to/script" - - - ADMIN_adjust_GMTnow_on_leads.pl - adjusts the current GMT offset for leads - + recommended to put into cron as "3 1 * * * /path/to/script" - + should be run immediately after loading in new leads - + follows daylight saving rules for several countries including: - USA, Canada, Mexico, UK, Ireland, Australia, New Zealand, etc... - - - phone_codes_GMT.txt - file that contains all GMT offsets - + used by ADMIN_adjust_GMTnow_on_leads.pl script - + has over 1,000 entries for various areacode/country/GMT combinations - - - astGUIclient web-client pages - web-only client app in agc folder - + must be installed on machine with PHP and MySQL enabled - + must be able to read/write/update to asterisk MySQL database - + astguiclient.php - the client app - + vicidial.php - the VICIDIAL web-client app - + dbconnect.php - must set to database - + all other scripts are for use by the astguiclient.php script internally - - - VICIDIAL Web admin pages - administration for VICIDIAL campaigns - + must be installed on machine with PHP and MySQL enabled - + must be able to read/write/update to asterisk MySQL database - + welcome.php - just a welcome page - + admin.php - all admin functions for VICIDIAL - + user_stats.php - look at live user stats - + record_conf_1_hour.php - record a VICIDIAL conference for 1 hour - + closer.php - where closers log in to grab calls sent from fronters - + closer_popup.php - from closer page, sends call to closers phone - + closer_dispo.php - from closer_popup, allows dispositioning of call +- agi/ - the Asterisk agi-bin files needed for astguiclient +- bin/ - the astGUIclient server-side perl script applications +- docs/ - astGUIclient installation and other documentation +- docs/conf_examples/ - example Asterisk conf files for astGUIclient +- extras/ - data files, sql files and other extra files needed for astGUIclient +- LANG_www/ - astGUIclient admin and user web pages translated into other languages +- sounds/ - Asterisk sounds needed by astGUIclient +- translations/ - UTF8 language translation files for other language versions +- www/ - the pages and scripts of the user and admin astGUIclient web interface DESCRIPTION: @@ -199,7 +31,7 @@ This program was designed as a GUI client for the Asterisk PBX with Zaptel trunks or IAX or SIP VOIP trunks and SIP/IAX/Zap hard or softphones or devices as extensions, it could be adapted to other functions, but it was designed for Zap/IAX/SIP users. The client programs are web-based and will run on most -modern web browsers +modern web browsers. TO BE ADDED: @@ -708,14 +540,16 @@ UPGRADE NOTES: UPGRADE NOTES: * if upgrading from 1.1.12 you need to follow instructions in the UPGRADE doc -2.0.2 - Twenty-Seventh public release - 2006-1X-XX -- Added optional FastAGI replacement for call_log and VDhangup scripts +2.0.2 - Twenty-Seventh public release - 2006-12-22 +- Added FastAGI replacement for call_log and VDhangup scripts - Added new USA-Canada Daylight Savings time scheme and DST for Brazil - astguiclient/admin.php removed and merged into vicidial/admin.php - Ability for agent to alter volume levels of participants - Keepalives consolidated into single script - New all-active-campaigns realtime summary screen - New script added to make it easier to change IP address of servers in VICIDIAL +- Added ability to reserver trunk lines for specific VICIDIAL campaigns +- Added ability for balance dialing and dialing-only servers in VICIDIAL - Many other changes and bug fixes listed in the TODO Wiki webpage: http://www.eflo.net/VICIDIALwiki/index.php/TODO:2.0.2 UPGRADE NOTES: diff --git a/agc_2-X/trunk/docs/REQUIREMENTS.txt b/agc_2-X/trunk/docs/REQUIREMENTS.txt index b713a780..c4fed162 100644 --- a/agc_2-X/trunk/docs/REQUIREMENTS.txt +++ b/agc_2-X/trunk/docs/REQUIREMENTS.txt @@ -3,7 +3,7 @@ recommended that you read the SCRATCH_INSTALL doc for more information on installing the package properly. Requirements for installing astGUIclient/VICIDIAL on an Asterisk server: -- Asterisk 1.2.12.1 recommended but will work with older versions +- Asterisk 1.2.14 recommended but will work with most older Asterisk versions - Zap trunks(T1/E1 or PSTN lines), IAX2 trunks or SIP trunks required - If using VOIP trunks and VICIDIAL auto-dial, you must have trunks registered - You must have a zaptel timer like a PSTN/T1/E1 card or ztdummy @@ -18,6 +18,7 @@ Requirements for installing astGUIclient/VICIDIAL on an Asterisk server: - GNU screen 3.9.15 or greater must be installed - ntp must be installed and syncd to same time source as any other servers - Perl5 with several CPAN modules(Time::HiRes, DBD::mysql, Net::Telnet, etc) +- asterisk-per-0.08 perl module required (0.09 version does NOT work) - Access to MySQL server and mysqlclientlibs, must be version 4.0.X or higher - Access to Apache/PHP webserver - Several entries in the crontab for interval-running scripts and keepalives diff --git a/agc_2-X/trunk/docs/SCRATCH_INSTALL.txt b/agc_2-X/trunk/docs/SCRATCH_INSTALL.txt index 56bb1952..2db5d8d9 100644 --- a/agc_2-X/trunk/docs/SCRATCH_INSTALL.txt +++ b/agc_2-X/trunk/docs/SCRATCH_INSTALL.txt @@ -844,7 +844,8 @@ with the following patch: - make clean - make - make install - - make samples # this makes sample conf files + - make samples # this makes sample conf files (only use for new installs) + - (1.2 tree) EXPERIMENTAL!!! If you want to use app_conference instead of meetme for VICIDIAL then follow these instructions - cd /usr/src/asterisk @@ -1526,12 +1527,12 @@ SUBPHASE 6.0: putting the files in place There are two methods for downloading astGUIclient/VICIDIAL, a release and SVN 1. Go to http://astguiclient.sf.net/ and download the latest astguiclient -package(as of this writing it is 2.0.1) +package(as of this writing it is 2.0.2) - for 2.0.X release: - mkdir /usr/src/astguiclient - cd /usr/src/astguiclient - - wget http://internap.dl.sourceforge.net/sourceforge/astguiclient/astguiclient_2.0.1.zip - - unzip astguiclient_2.0.1.zip + - wget http://internap.dl.sourceforge.net/sourceforge/astguiclient/astguiclient_2.0.2.zip + - unzip astguiclient_2.0.2.zip - perl install.pl (make sure you are in the directory with the install.pl file) - for SVN 2.0 trunk: - mkdir /usr/src/astguiclient diff --git a/agc_2-X/trunk/docs/VICIDIAL.txt b/agc_2-X/trunk/docs/VICIDIAL.txt index 77592929..2831e5bb 100644 --- a/agc_2-X/trunk/docs/VICIDIAL.txt +++ b/agc_2-X/trunk/docs/VICIDIAL.txt @@ -48,11 +48,10 @@ Features: - 3rd party conferencing(with DTMF macros and number presets) - 3rd party blind call transfer - 3rd party conferencing with agent drop-off -- Ability to set user levels and permissions for certain features +- Ability to set user levels and permissions for certain features and campaigns - Ability for managers to listen-in on agent conversations - Ability for managers to enter conversations with agents and customers - Web-based administration -- Client web-app and admin web pages available in English, Spanish, Greek and German - Client web-app web pages available in English, Spanish, Greek, German, French, Italian, Polish, Portuguese and Brazillian Portuguese - Admin web pages available in English, Spanish, Greek and German