2006-05-12 snapshot

git-svn-id: svn://192.168.202.10@7 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2006-07-07 15:21:52 +00:00
parent 2598ae9ec2
commit 487f7108d4
74 changed files with 10930 additions and 1055 deletions
+41 -86
View File
@@ -1,5 +1,5 @@
+------------------------------------------------------------------------------+
| Asterisk GUI client - TODO v.1.1.11 |
| Asterisk GUI client - TODO v.1.1.12 |
| |
| TODO file is a list of what is new from previous version as well a list of |
| features that are planned to be completed for future releases. HIGH priority |
@@ -10,118 +10,79 @@
| version your downloaded. |
+------------------------------------------------------------------------------+
- DONE Fix several errors in the install script. moving -R to before the chmod rwx settings. changing call_park_CID to park_CID.
- DONE Add ability in AST_CRON_mix_recordings_BASIC.pl and AST_CRON_mix_recordings.pl to mix gsm in and out audio files
- DONE Added option to manual dialing to allow lookup of existing vicidial_list lead by phone number. If found, would not insert a new lead.
- DONE Added deletion from hopper of inactive list leads. AST_VDhopper.pl
- DONE Add drop_call_seconds(TINYINT), safe_harbor_message(Y/N) and safe_harbor_exten(VARCHAR) to the vicidial_campaigns table to allow for the playing of the safe harbor message to outbound calls two seconds after customer completes greeting(average of 5 seconds from call pickup[definable by the safe_harbor_seconds variable]), also needs to be added to the vicidial/admin.php.
- DONE Create AGI script for customer entering PIN number. very limited use and difficult to setup, internal project. agi-VDADlisten_DTMF.agi
- DONE Modify all of the outbound AGI scripts to read the drop_call_seconds and safe_harbor_ fields and use them for DROP timeout as well as playing of the safe_harbor message if selected to do so.
- DONE Change the phone_codes_GMT.txt file to reflect Indiana's move to adopting Daylight Savings Time
- DONE Add drop_call_seconds(SMALLINT), drop_message(Y/N) and drop_exten(VARCHAR) to the vicidial_inbound_groups table to allow for the playing of drop call message to inbound calls a set number of seconds after customer calls in, also needs to be added to the vicidial/admin.php.
- DONE Add to update.sql script changes in Indiana's timezone data in database, and send out announcement to change production systems as of 2006-04-02
- DONE Modify all of the inbound(and closer) AGI scripts to read the drop_call_seconds and drop_ fields and use them for DROP timeout as well as playing of the drop message if selected to do so.
- DONE Alter AST_manager_listen.pl to work with new SVN manager output that includes a Timestamp field
- DONE Fix agentonly_callback checkbox not-defined bug in scheduled callbacks screen
- DONE change wording of vicidial.php disposition screen bottom phrases to be more clear
- DONE Fix alert message when transfer/conf is inactive for vicidial_user and they go to disposition a call the warning shows up even if they did not try to transfer/conf.
- DONE Alter list_id to be BIGINT(14) to allow for timestamped list_ids
- DONE Fix permissions issue in vicidial.php where vicidial_campaigns.auto_dial_level=0 and vicidial_user.manual_dial=0 the manual dial link still shows up.
- DONE Add notes to LOAD_BALANCING.txt file about which cron scripts only need to be run on one server.
- DONE Fix recording filename display when the filename is longer than the span supports. chop off the last few characters to make it fit should be acceptable. If over 25 characters, it will chop off the end to 22 characters and place ... at the end of the display filename. This does not effect the actualy recording filename.
- DONE Add a vicidial.php variable at the top of the script to allow for the change in behaviour of pausing after dispositioning of a call, something like $dispo_check_all_pause =1; If set to 1 then it will stay the way it is and pause after every call if checked once. if set to 0 (which will be the default) it will only pause once and uncheck the box for subsequent calls.
- DONE Added AST_timeonVDADall_SIPmonitor.php from Angelito Manansala that allows SIP listening of sessions through click on the campaign timeonVDAD script. Added link from server_stats.php page as well.
- DONE Add a WEB FORM submit link to the dispo screen that would dispo the call as well as open a web form link with the customer info and status dispod when clicked.
- DONE Add permissions to vicidial admin.php for admin interfaces to restrict going into the call times and deleting the call times records:
- DONE Add notice to a call that was CALLBK on the agent screen next time it is called so agent knows it was a scheduled callback. Positioned to the right of the customer info header.
- DONE Add validation to only allow one state_call_times record per state per call_times record
- DONE Add link to the dispo screen to allow the agent to try to hangup the call again if it did not hangup. Only can click it once per call then it disappears.
- DONE Add method for disabling the showing of the leads-able-to-be-dialed in the campaign screen of vicidial/admin.php. This will help to reduce load time of the page and reduce load on the database for systems with very large vicidial_list tables(several million records or more). This will mean adding another field to the vicidial_campaigns table. Default is to display the count.
- DONE Add link to "noone is in your session" window to call agent back and update status to PAUSE.
- DONE Add a popup link that would show the dialable leads count from the campaigns screen if the dialable leads count has been hidden.
- DONE Add a Hangup Customer link on the "Customer has hungup" popup to reduce the steps to dispo. options would now be "back to Main" and "Disposition and finish call"
- DONE Add link or form that would show the results and query of a filter in the filter modification page without making it the active filter.
- DONE Add display for agent status and number of calls being dialed to vicidial.php. $agentcallsstatus set to 1 activates the display below the SENDDTMF button, $campagentstatctmax sets the number of seconds delay between updates of that information
- DONE Add state to the vicidial_hopper for compatibility with the new local_call_times functions.
- DONE Fixed bug in AST_update.pl test section that would crash script when ** came through as extension on Asterisk 1.2.6 in certain circumstances.
- DONE Change local_call_time to allow for variable time ranges instead of the presets that are available in the current version. Allow definitions by days of the week as well as by state[state will be defined in another table and referenced in a many-to-many relationship through the ct_state_call_times field which will be pipe-delimited with a list of state_call_time_ids]. There would be a default time scheme for all calls not covered by state. This will require another new table and a new section under the vicidial/admin.php page.
- DONE Added status name to list modification screen in admin.php. Also consolidated called and not-called into one row for each status. Added status name to campaign dial_statuses select lists
- DONE For the call_times and state_call_times include some presets for records including several state restrictions on dialing hours and days in the United States(USA).
- DONE Second stage Scheduled-Callback functionality: add agent-specific callback status with date and time definition to vicidial.php. This second stage will allow a callback to be restricted to the specific agent that set the callback. There will need to be some other provisions in place on the vicidial.php to handle what are basically manual dial calls happening on an auto-dial session. Also, a counter on the vicidial.php page to show how many active or live callbacks the agent has and an interface for the agent to see and call back which callbacks are ready to be called back.
- DONE Fixed alt_number_dialing form element in admin.php campaign screen
- DONE Add the ability to manually dial a number from within vicidial.php. There will be an option to add the number as a new lead to the campaign the agent is logged into, or just call the number and go back to the main screen(the call would then need to be dropped from the CALLS IN THIS SESSION link at the bottom). This feature will only be enabled when the agent is paused and not on a call.
- DONE Add wrapup_seconds and wrapup_message fields to vicidial_campaigns along with a function to force a minimum wrapup time into vicidial.php after an Agent hangs up a call. The timer would start when the agent clicks on the HANGUP CUSTOMER button and if the agent dispositions the call before the wrapup time is up then they would see a screen blanking out the vicidial screen that would display the wrapup message until the timer ran out. If the wrapup timer runs out before the agent is finished dispositioning a call, nothing would happen, so the agent would not be able to move on to the next call until they selected a disposition. Wrapup time would not be in effect if the Agent uses HotKeys.
- DONE Fix "waiting for ring" bug with manual dial override in vicidial.php.
- DONE Change all vicidial stats and reports scripts to use UTF-8 instead of latin-english for multi-language support
- DONE Fixed manual dial lead preview bug. caused by undefined function variable created for manual dial override, just defined the variable in all function calls to fix it.
- DONE Fix admin pages SQL errors(vicidial campaign when no active lists present and astguiclient phone searches)
- DONE Add capability to allow manual dialing of an alt_phone or address3 phone number in vicidial.php in auto_dial mode. This required a lot of changes to the code where dial_level>0 for things to work correctly, but most of the changes were already done for the agent-only callbacks feature so it wasn't that difficult.
- DONE Rewrite the multi-language translations to use one file per language and to allow translation to be done on a single file at a time. es_language.txt and es_language_admin.txt would be the files used for Spanish. Also, the order of the translated lines in the files would be unimportant because the translation script would order the phrases by character length to ensure that larger phrases that could contain parts of smaller phrases would be translated correctly, this allows for comments to be placed in-line with new sections of phrases for newer versions making it easier to find new un-verified translations sections and submit changes to translations files.
- DONE Change the links at the top of the vicidial admin.php page to be color-coded sectional links with sub-link row below the main sections in the same color. This will make navigating the admin.php page easier. suggested by Mike Fedyk.
- DONE Create a table that will keep a current statistics cache for items like drop count and percentages per campaign per day(and for the future: last 1 minute/5 minutes/30 minutes) and dialable leads counts.
- DONE Added script name to campaign and in-group modification screens in admin.php.
- DONE Add number of leads in hopper, link to admin.php campaign modify screen(and link from admin to this screen) and hopper and leads stats as well as drops and drop percentage to the AST_timeonVDADall page.
- DONE add a field to vicidial_campaigns for alt_number_dialing. This would override the vicidial.php hard-coded variable and would allow it per campaign. The default will be to DISABLE alt_number_dialing.
- DONE add a permission field to vicidial_campaigns for scheduled_callbacks to allow an agent to dispo a lead as a callback and choose a callback date/time. The default will be to DISABLE scheduled callbacks. Both this and the vicidial_users field must be enabled for and agent to leave scheduled callbacks.
- DONE add a permission field to vicidial_users for scheduled_callbacks to allow an agent to dispo a lead as a callback and choose a callback date/time. The default will be to ENABLE scheduled callbacks.
- DONE add a permission field to vicidial_users for agentonly_callbacks to allow an agent to set a callback as USERONLY as well as call that lead back. The default will be to DISABLE USERONLY callbacks.
- DONE add a permission field to vicidial_users for agentcall_manual manual dialing within vicidial.php. The default will be to DISABLE manual dialing.
- DONE add a permission field to vicidial_users to restrict recording in vicidial.php per user. Default would be to ENABLE recording
- DONE add a permission field to vicidial_users to restrict transfers in vicidial.php per user. Default would be to ENABLE transfers
- DONE Add a FILTERS section to the vicidial admin screen and a FILTERS feature that would operate a lot like how the lead filters work in the GnuDialer project. It would be a way of defining SQL subsets on leads that the campaign would be dialing. You would create new filters in the ADD NEW FILTER section and a vicidial_campaign can only have one active FILTER at any one time. The Filter modification page would have something like a SQL builder that would let you select a parameter field(like called_count, state, postal_code, etc...) and then a value set, or you could directly edit the SQL it generates. This feature could make it rather easy to mess up dialing for a campaign since it lets managers directly edit the SQL statement that is used to put leads into the hopper. The SQL would only be SELECT based and would not effect the order that the leads are selected in. would require a new table(vicidial_filters) as well as a new field in vicidial_campaigns(filter_id).
create table vicidial_filters (
filter_id VARCHAR(10),
filter_name VARCHAR(30),
filter_comments VARCHAR(255),
filter_sqlTEXT);
- DONE Add auto-hopper-insertion to triggered ANYONE callbacks. This will need to check on campaign and list status before insertion. This is an option at the top of the script that can be disabled if you do not want this functionality: insert_auto_CB_to_hopper
- DONE For ANYONE callbacks, alter vdc_db_query.php script to update the vicidial_callback record to INACTIVE after it has been sent to an agent.
- DONE Need to prevent launching of a manual dial call or callback when in alt-dial-mode before finishing lead.
- DONE For USERONLY callbacks there will need to be an admin interface change necessary to be able to override this and a method to change a USERONLY callback to ANYONE. Allow the other-way-around as well.
- DONE change PHP variable checking and definitions at the top of php scripts to isset/elseif for all php scripts.
- DONE Fix alt_phone_dial disabled bug (no dispo when campaign alt_dial disabled and calling a callback or manual dial)
- DONE Fix default park hold exten 8303 to 8301 and added 8303 to SCRATCH_INSTALL.
- DONE end-user agent documentation - manual. Probably a free text-only manual and a full color print book available for sale as PDF and Hardcopy. Available at http://www.eflo.net/
- DONE Add "alter agent interface options" as option to vicidial_users table for admin.php permissions
- DONE separate agent interface options from admin options in the vicidial_users modification portion of admin.php
- DONE Add a closer blended default field to vicidial_users to allow setting the blended checkbox as checked upon CLOSER campaign login for a specific agent.
- DONE Fix phone search bug in astguiclient/admin.php.
- DONE Fix AST_VDauto_dial issue that causes continuous calls to be placed in blended campaigns if the closer campaign name didn't begin with CL.
- DONE Fix vdc_db_query issue with manager override of in-group choices for CLOSER campaign Agents
- DONE Fix VDAD inbound scripts to use status of "INBND" for new vicidial_list entries instead of "INBOUND" which is not compliant with the database schema.
- DONE Convert the AST_VDhopper.pl script to DBD::MySQL perl library in place of Net::MySQL. DBD::MySQL is faster because it uses the MySQL client libs on the machine. One problem is that you need the mysqlclientlibs installed on every Asterisk server and the default installation of only the MySQL client libs will result in having to do a force install of cpan DBD::MySQL(because it tries to test with the local DB). Not to mention all of the code changes that would need to be made. There are also MySQL client licensing issues for certain installation circumstances(Net::MySQL doesn't use mysql client libs so it doesn't have those issues) but I really don't want to get into that discussion. The reason for this change is that Net::MySQL is limiting in the capacity of the queries that you can use because of how it's connection to MySQL is used. DBI doesn't have those issues and is much better supported. This is the first script to be converted to DBI, you can find the Net version in the main directory and the DBI version in the new DBI-scripts directory.
- HIGH Add internal DNC list of phone numbers(vicidial_dnc table) that would be scrubbed against by the AST_VDhopper.pl script while putting leads into the hopper to be dialed and it would kick the internal DNC matches out with a special status as DNCL(Do-Not-Call-Load) so they would be in the system but unable to be dialed. Would need to add a mechanism to add a lead to this list upon agent-dispo of a call as DNC within vicidial.php. Would need to create a new admin page section to manually add leads to DNC list. Also, would add a parameter to vicidial_campaigns(dnc_list_enabled ENUM('Y','N')) where a campaign could be exempted from the system's DNC list restrictions(would be active by default 'Y').
- HIGH Add optional set of scripts for PRI system usage with VICIDIAL outbound to automatically grab Busy and disconnect information from PRI call termincation codes and use those for NA dispositions. The problem with these is that they are not 100% accurate.
- HIGH Add option for disposition-based lead recycling on an automated and timed basis per campaign. It will be some sort of method to be able to auto-insert Busy/Ring-no-answer/other-NA calls back into the hopper after a certain timeout. Not sure on a method or formula yet.
- HIGH Fix call_log entries for Zap client phones where call information is in different places than if calls are placed from SIP or IAX client phones. call_log AGI scripts.
- MEDIUM Add wrapup_seconds and wrapup_message fields to vicidial_campaigns along with a function to force a minimum wrapup time into vicidial.php after an Agent hangs up a call. The timer would start when the agent clicks on the HANGUP CUSTOMER button and if the agent dispositions the call before the wrapup time is up then they would see a screen blanking out the vicidial screen that would display the wrapup message until the timer ran out. If the wrapup timer runs out before the agent is finished dispositioning a call, nothing would happen, so the agent would not be able to move on to the next call until they selected a disposition.
- MEDIUM Add internal DNC list of phone numbers(vicidial_dnc table) that would be scrubbed against by the AST_VDhopper.pl script while putting leads into the hopper to be dialed and it would kick the internal DNC matches out with a special status as DNCL(Do-Not-Call-Load) so they would be in the system but unable to be dialed. Would need to add a mechanism to add a lead to this list upon agent-dispo of a call as DNC within vicidial.php. Would need to create a new admin page section to manually add leads to DNC list. Also, would add a parameter to vicidial_campaigns(dnc_list_enabled ENUM('Y','N')) where a campaign could be exempted from the system's DNC list restrictions(would be active by default 'Y').
- MEDIUM add option to disable detailed logging for VICIDIAL and astGUIclient server apps.
- MEDIUM add new ALLFORCE to recording method for campaigns. will force recording of all calls and disable the button for agents no matter their setting.
- MEDIUM add a basic predictive/adaptive algorithm to VICIDIAL to automatically speed-up and slow-down dialing by altering the dial_level at regular intervals. Would need more settings in the vicidial_campaigns table for adaptive like maximum lines per agent, dropped call ratio, dropped call rule to guide the predictive app. Would also need to change dial_level to be a DOUBLE or VARCHAR field to allow for different fractional increments. The admin.php page would have to be altered to ignore auto_dial_level changes when adaptive dialing is activated. The minimum dial_level would be set to '1' for adaptive dialing
auto_dial_level VARCHAR(6), # allow for just about anything. precision decimal too
@@ -130,13 +91,9 @@
adaptive_dropped_percentage SMALLINT(3), # percentage of accaptable dropped calls
adaptive_dropped_rule ENUM('HARD_LIMIT','TAPERED','AVERAGE'), # method for adhearing to % limit
- MEDIUM Add optional set of scripts for PRI system usage with VICIDIAL to automatically grab Busy and disconnect information from PRI call termincation codes and use those for NA dispositions. The problem with these is that they are not 100% accurate.
- MEDIUM Add some sort of method to be able to auto-insert Busy/Ring-no-answer/other-NA calls back into the hopper after a certain timeout. Not sure on a method or formula yet.
- MEDIUM Add optional field to phones table to allow for different recording file names in astguiclient.php, Similar to vicidial options.
- MEDIUM make 3rd party consultative transfers work for Local extensions, also for internal/local transfer to closers if possible.
- MEDIUM make 3rd party consultative transfers work for Local extensions, also for internal/local transfer to vicidial closers if possible.
- MEDIUM Add ChanSpy functionality to listen-in on VOIP channels in astguiclient.php. Maybe not since Chanspy can cause problems like crashing the Asterisk server.
@@ -148,7 +105,7 @@
- MEDIUM add new tab to astguiclient.php script to show status of Asterisk queues
- MEDIUM Convert scripts to DBD::MySQL perl library in place of Net::MySQL. DBD::MySQL is faster because it uses the MySQL client libs on the machine. One problem is that you need the mysqlclientlibs installed on every
- MEDIUM Convert all scripts to DBD::MySQL perl library in place of Net::MySQL. DBD::MySQL is faster because it uses the MySQL client libs on the machine. One problem is that you need the mysqlclientlibs installed on every
Asterisk server and the default installation of only the MySQL client libs will result in having to do a force install of cpan DBD::MySQL(because it tries to test with the local DB). Not to mention all of the code changes that would need to be made. There are also MySQL client licensing issues for certain installation circumstances(Net::MySQL doesn't use mysql client libs so it doesn't have those issues) but I really don't want to get into that discussion.
- MEDIUM add ability to call CLOSER campaigns "BLEND" or "INBND". would require many script changes from server side to client side, not set in stone yet, but considering it.
@@ -171,8 +128,6 @@ Asterisk server and the default installation of only the MySQL client libs will
- MEDIUM allow custom audio welcome message for vicidial campaigns.
- MEDIUM change local_call_time to allow for variable time ranges instead of the presets that are available in the current version
- MEDIUM create a cron script and method for creating new extensions in the sip.conf/iax.conf files as well as dialplan entries(extensions.conf). This will require more fields in the phones table to account for variables available to the protocols. The conf files would need to be altered before to have a flag for the beginning and ending of the auto-generated content. This would also necessitate a TEXT area for the extensions.conf content(that would be default generated but could be manually altered). The cron script would be run every 5 minutes or so to see if any phones had altered content, and if so generate new auto-content and do a 'reload' on the asterisk server to activate the new content.
- MEDIUM add a count-up-timer to active channels on the astguiclient MAIN screen(this may be an Asterisk 1.2+ required feature).