# Changelog
All notable changes to this project will be documented in this file.

## [2.3.17] - 2026-02-25

### Added
- Added LDAPDEBUG option in config
- Added LDAP password verification to secure functions (requires ldap_host, ldap_port, ldap_domain, ldap_base_dn, ldap_bin_user, ldap_bind_pass)
- Added database migrations for LDAP user authentication
- Added new indexes to agent_activity table to improve performance
- Added configurable alerts_time_between setting (default 5 minutes)
- Added option to select Deepgram transcription model via transcriptions_deepgram_model keyword (Deepgram plugin 1.0.1)
- Added per-user plugin enable/disable capability
- Added logged_into field to realtime agent status view showing queues where agents are logged in
- Added translatable prompts for summarization plugin via setup/preferences (summarize_system_prompt, summarize_prompt_1, summarize_prompt_2)
- Added wkhtmltopdf_no_toc option to support unpatched wkhtmltopdf versions without TOC support
- Added AgentConnect UserEvent in extensions_custom_asternic_outbound

### Changed
- Increased recordings path timeout and ensured trailing slash to prevent errors on transcribe plugin
- Honor agent filter correctly in scheduled agent full reports
- Expanded scheduled report agent filter so “ALL” can be exploded into selectable individual agents
- Made scheduled reports and agent filtering compatible with PHP 5
- Updated summarize plugin minimum version to 1.0.1 so it appears in online plugins
- Updated multireport plugin minimum version to 1.0.2 so it appears in online plugins
- Updated reports by tag plugin to support Asternic 2.3.x
- Set ionCube loader support for PHP 8.2 in development

### Fixed
- Prevent fatal errors due to undefined AUTHVAR index in PHP 8.2
- Added LDAP module availability checks to prevent runtime errors
- Fixed duplicate CSV lines in agent full report export
- Fixed alerts behavior when selecting ALL queues
- Fixed PHP 8 errors when saving or editing alerts, including HTTP 500 errors
- Avoid PHP 8 deprecation warnings in custom formats
- Removed debug calls causing HTTP 500 errors in realtime view on PHP 8 environments
- Prevent errors caused by hardcoded alert interval (previously fixed at ~5 minutes)
- Various minor stability improvements and whitespace cleanup

## [2.3.16] - 2025-09-28

### Added
- New Queue Manager plugin to use with FOP2 Queue Login plugin
- Added proxy user/pass support using host:port:user:pass
- Added change password menu option, so users can change their passwords
- Added disable_apc setup as it seems php 8.2 might segfault breaking realtime in latest freepbx, with that we lose cache, but does not segfault

### Changed
- New feature, possibility on Filter by agent on scheduled reports.
- Added some indices to queue_stats_mv, improves performance
- Update extension custom plug sign to work without macros for latest asterisk
- Be sure to use unformatted values for extra fields in CSV export when drilling down on answered reports
- Modify the test_format to include an invisible value so CSV export shows something instead of an empty column if used
- Allow logout only if logged in, also sanitize redirect request to go to relative paths only

### Fixed
- Sanitize input variables in scheduled reports and other sections 
- Do not execute asterniclog plugins on queue_log lines if event is older than last event in DB. Fix potential 
  issues with reprocessing same log lines withing asterniclog plugins when starting the service
- Be sure to set apc_store functions. Fixed some errors on systems without apc module
- Fix export to CSV when format shows stars or some html, so it shows unformatted value instead
- Fix showing wrong date in license expiration in Setup/License in some systems with PHP 8.2
- Use preg_spit instead of split in api search as split is deprecated in PHP 8. Fixes search on PHP 8.

## [2.3.15] - 2025-04-23

### Added
- Add debug in realtime for easier troubleshooting
### Fixed
- Fix user administration page not redering on PHP 8
- Fix warning in Makefile when using chown with a dot separator between user and group
- Avoid collision in realtime reports between agent availability and queue summary so we can move queue summary to the bottom and get actual data
- Avoid js warning in some admin pages

### Changed
- Update extensions_custom_asternic_outbound_freepbx.conf so it does not use macros and works with Asterisk >=20
- Use lowercase for usernames on realtime_reports designer addition as users tend to use mixed case on login

## [2.3.14] - 2024-12-06

### Added
- Add dialed number to recording filename for manual outbound calls in the hotdesk version

### Fixed
- Make bitwise comparison with intval to avoid issues editing users (losing level) in modern php versions
- Avoid duplicate clid names in realtime if no channel can be assigned to agent. Fixes show of repeated clid on busy channels.
- Avoid warnings if user does not have queues or agents authorized
- Insert extra closing div for multi report in distribution, and remove it from multireport itself as outbound reports will break the div flow
- Do not export hold/wrapup if they are listed with mixed case

### Changed
- Remove trailing slash on void elements to prevent html validation errors
- Plugins compiled with PHP 8.2 ioncube
- Add empty default to info? fields on queue_stats table creation
- Use ~ instead of ; for INSERT and UPDATE for consistencty/match FREEUPDATE
- Change ; to , on the fields table for INSERT an UPDATE in asterniclog because AGI will change commas to pipes

## [2.3.13] - 2024-09-02

### Added
- Add export link to drill down in unanswered reports
- Track automatic campaigns from dialer

### Changed
- Do not allow view on edit users
- use set_debug instead of supress_errors in evalmath when debug is on
- Remove incorrect agentsandgroup view definition from mysql-tables.sql install file
- Make pagination %d to %d translatable

### Fixed
- Add set_debug function to evalmath class
- show export drill down link even when no pagination is set
- Fix full agent report in scheduled reports
- Make php 8 happy
- If table is queue_stats_mv set condition to real_uniqueid on UPDATE

## [2.3.12] - 2024-05-13

### Added
- Add fill_empty_queues option to include queues with no calls in reports 'by queue'
- Add start and end report dates in CSV filename in scheduled reports
- Support for FOP2 Dialer variables in outbound tracking dialplan. Add support for custom trunks. (hotdesk version)
- Add Summarize plugin

### Changed
- FIX ACL to check straight php files without the version tag (.8. .7. .5.) to not break old ACL
- Move outbound disposition events to event_unanswered instead of event_abandoned
- Update outbound tracking dialplan so tag calls work with dialer manual outbound calls
- Modify registration/license routines to be more robust and secure, using SSL
- Add NONE to ajax-search to not filter abandons and the like for users with agent limits
- Install some packages on debian targets via apt

### Fixed
- Make php 8.2 happy when editing users or any form with numerical values in a SELET
- Be sure to change working directory in sched_check to not include possible rogue include php files
- Fix outbound tracking context to work with PJSIP
- Fix search when user is using queue groups and has restricted set of queues instead of ALL
- Fix export to PDF when using pdfprint format on some plugins
- Fix whisper transcription on php5, only write debug if debug is enabled
- Force utf8 in mysql connection in update_mix_mixmonitor so we can have proper non ascii chars in recordings
- Fix displaying of license corrupt message when the actual problem is wrong  mysql credentials

## [2.3.11] - 2023-11-09

### Added
- New file extensions_custom_asternic version with plus sign for outbound dialing with + at the front
- Add chart_disable_tooltips setting to show chart values directly on graph instead of mouse over tooltips
- Add use_formatted_values_on_export to use formatted output in CSV and JSON (scheduled reports, api access)
- Add SEARCHDEBUG constant to config, to please PHP 8 in search tab
- Add distribution_detail_dates setting to show all dates in distribution detailed report
- Add check-version.php cli so we can verify version from the command line

### Changed
- Improved multi PHP version packaging. No need to reinstall when the PHP version changes on the system.
- Unlink uploaded csv file if it does not have valid fields to import. Security
- Update agent field to varchar(100) on update in qagent table
- Set the computed field on some events that were missing
- Check for apcu_xxx functions as in PHP8 it was renamed. The polyfill does not work on php8, the  module php-apcu must be installed on php8 for realtime to work

### Fixed
- Fixed critical security vulnerability that allowed remote code injection/upload for authenticated users on import function
- Modify .htaccess to prevent php files in uploads, previous one did not work with modern apache
- Code syntax changes to please PHP 8
- Add pjsip dial to extensions custom asternic outbound freepbx. Fixes outbound dialing on pjsip trunks when tracking outbound
- Fixed number of columns in agent availability report
- Added missing TOTAL_TRANSFERRED_RING_TIME to formula fields
- Fixes agent pause report that breaks in some cases when too many pause reasons are set


## [2.3.10] - 2023-07-05

### Added
- Add realtime_fop2_state to check for fop2state astdb entry, requires freepbx_device_user_mode to be enabled. Will count the fop2state as a pase in realtime
- Use dictionary pause in realtime agent status
- Add FREEINSERT and FREEUPDATE events in queue log for free form inserts and updates. Added computed field to agent activity sessions so if we compute a start session on outgoing call, we compute an end session on call complete. To do: end session on abandon

### Changed
- Use javascript and localstorage instead of cookies to store selected queues and agentes, as cookies are too small and php under fpm might crash when the cookie is large
- Escape double quotes on json export values
- Use klint debug for js console instead of html output
- Set computed bit to 1 for END PAUSES when hold event comes after complete. Add processing AGENT_ custom events in queue_log for future features (AGENT_COUNT to try to report on number of agentes available at any point in time)
- Use ENT_NOQUOTES on htmlspecialchars to preserve single quotes in queue/agent selection as php8 converts them by default and breaks the sql condition

### Fixed
- Remove spaces and non alpha chars for pause reason for time_on_xxx variables to avoid errors with regular expressions
- URI Encode value when drilling down so plus signs are preserved and export to CSV works, mostly on distribution by did when the did has a plus sing
- Fix Agent Pause Detail report when there are Hold pauses as it was not removed from the title, breaking the table semantics
- Realtime answered calls column: do not count double if realqueue and dict_queue names are the same. Fix duplicated answered call counts when the queue name and queue number are the same
- Fix distribution drill down sometimes shrinking the view
- Fix custom drill down ajax script for distribution reports

## [2.3.9] - 2023-02-24

### Added
- Add audit_db setting to record audit activity into DB, menu to view audit from setup, add logout audit activity and some other audit fixes
- Export fields that have data-json without breaking the actual json
- Add initial PHP 8 support
- Add uniqueid on connect for dialer preview campaigns and scripter scripts in tracking outbound script

### Changed 
- Make PHP 8 function declarations changes and fixes
- Do not show wrapup or hold as pause reasons in report. 
- Asume local plugins can always be installed
- Custom json format in js updated for unified popover
- Modify popovers to work on focus (click to open , click out to dismiss) and unify popover setup on set_popovers function to change behavior in just one place
- Only show yearly support on perpetual licenses

### Fixed
- Collect all TIME_ON_XX from designer formulas. Fixes compute formula errors in some cases
- Show proper error instead of blank page when there are missing PHP modules on the server
- Fixes slow realtime updates because of lack of apc_fetch on FreePBX distro with PHP 7
- Add notification/error when online plugin repositories cannot be reached
- Reset realtime cache when loading realtime.php, keep call count per queue when grouped by group so Calls column on agent shows count in each queue regardless group
- Add csvseparator and quote to realtime to prevent warning on datatables
- Set correct search fields in admin audit page
- Fix realtime limit servers not being read properly
- Prevent warning undef variable session_start
- Set mysql reports off so php 8.1 does not crash on mysql warnings

## [2.3.8] - 2022-09-14

### Added
- Add installed and online versions in plugin administration page
- Add option ot upgrade plugins to new versions from plugins administration page
- Add wkhtmltopdf for Debian 11 to install script
- Add Agent Gantt Diagram plugin
- Add Transcription plugin via Deepgram
- Add Call notes plugin
- Add realtime_spy_leave_local_alone setting to not alter active channel on spy when its local, useful for systems with multiple pjsip devices with 98 and 99 prefix
- Add AGENT_ text variables to compute formula to avoid errors if using them
- Add COLUMN_REALTIME_AGENT support with variables to have custom agent availability reports fields:
  AGENT_CALLS_TAKEN,AGENT_CALLS_OFFERED,AGENT_CALLS_MISSED,AGENT_ACTIVE_CALL_DURATION,AGENT_ACTIVE_CALL_FROMQUEUE,
  AGENT_LASTCALL,AGENT_PAUSED_SINCE,AGENT_PAUSED,AGENT_PAUSE_REASON,AGENT_PENALTY,
  AGENT_QUEUENAME,AGENT_QUEUEMEMBER,AGENT_SESSION_START,AGENT_ACTIVE_CHANNEL,AGENT_CLID_NUMBER,AGENT_CLID_NAME,'NOW'
- Add {SINCE} format to use momentjs time ago for values with unix timestamps
- Add failed_calls and session_start to realtime agent status structure

### Changed
- Update menu for agent ranking , agent chart and multi report plugins
- do reload on admin plugin when enabling/disabling
- Create a polyfill for cache for system with no apc available
- Update Agent Ranking and Multireport plugins menu configs to match new version
- Updated bootstrap.css and boostrap.js to latest 3.x version available
- Remove defer pauses when closing session to avoid stray computed unpauses on the following day
- Use EffectiveConnected callerid num and names if available for realtime display
- Allow to add realtime agent status columns based only on the queue member struct variables returned (no formulas), we can show for example 'pausetype'. To do: improve to use full variables and formulas, perhaps add session info to struct to calculate times
- Update style on download/play and action buttons on ajax
- Update style on custom actions buttons, allowed to use fontawesome/tooltips, etc.
- Load enabled plugins plugin/plugin.js files automatically. This way we can have custom js code for plugins in an automated fashion

### Fixed
- Allow TIME_ON_XX to be used on formulas on Agent Availability report
- Fix several undfined variable warnings (not errors)
- Added missing dict_transfer description for Admin/Setup page
- Fix typo on setdate
- Allow password with ampersand and other symbols to be used (again)
- Fix drill down on reports group by CLID
- Fix drill down on multi report plugin
- Fix realtime when no apc cache is set
- Fix when loading license related pages in systems without plugins
- Fix on plugin administration page when using pagination

## [2.3.7] - 2022-06-29
### Added
- Add duplicate_import_field so we can do updates on CSV import, not just inserts
- Add agent groups administration, translations and selection
- Add -z (destructive reparse) to asterniclog to reparse deleting newer events from DB, something that is advisable on 2.3.x but requires having complete queue_logs since the moment you want to reprase
- Add realtime_spy_localmap setting to map Local/xxx active channels to SIP/xxx , PJSIP/xxx, etc
- Show subscription on license page
- Add support for scheduled reports with last X hours of data. Selection can be done between days or hours.
- Allow export on Admin/ACL and use the resource for duplicate key imports so we can safely export and import ACL sets

### Changed
- Sort pause reasons in agent pause details report
- Honour disabled agents on user edit/add page
- Do not connect to AMI in realtime if values are on APC cache, reduces AMI connection hammering on realtime. Also added MANAGERDEBUG config entry to log manager actions into /tmp/asmanager.log
- Do not allow view on admin queuegroup as dbgrid cannot show them properly (library bug). User can just edit to see if they want
- Update README.outbound documentation to log DialStatus disposition on failed calls instead of ABANDON

### Fixed
- Use dictionary queues on queue names in Alert mails
- Fix alert subject not being populated when editing entry in scheduled reports for alerts
- Fix show contents of url and did on CSV export on Answered Calls Details
- Be sure cronhour is large enough to be able to specify multiple hours separated by commans for the full day
- Add default values for datetimeconnect and datetimeend on queue_stats_mv schema to please strict mysql versions
- Update jquery.mark plugin so searches with plus sign do not break the search
- Fixed Alert Subject email not being honored in certain situations
- Fix session times for agent reports when using queue groups
- Be sure to not send disabled scheduled reports
- Fix some typos on mysql-tables.sql to please newer versions of MySQL and MariaDB that are stricter
- Do not try to install php562-pecl-apcu if FreePBX 16 that lacks that package and uses PHP 7. Fixed warning on make install
- Be sure to clear reports array so other jobs in same hour do not send previous reports

## [2.3.6] - 2022-02-17
### Added
- Add override_variables to distribution so we can create specific distribution reports with altered/modified variables
- Add subject to the grid list of scheduled reports to simplify identification
- Add sort for drill down tables on distribution tab, only for queue, agent and datetime fields
- Add primary key to all tables to please DB clustering solutions
- Add CSV export to answered drill down details
- Make last call format configurable via designer COLUMN_REALTIME_FORMAT[lastcall]
- Add configurable subject to scheduled email reports
- Add plugin support to alter queue_log fields, like using pauses for start/end sessions
- Add -o parameter to asterniclog to specify offset seconds, useful when monitoring multiple servers in one database to not lose events when restarting the service after a while
- Allow to specify custom script for drill down without making it serverside (used only on full agent reports)

### Changed
- Optimize search a little when using join didname
- Update offline agent check for FreePBX/Issabel with support for SIP and PJSIP agents

### Fixed
- Fix area code plugin join table to work with Asternic version 2.3.0
- Show correct support days left in license page, based on system clock instead of encoding time
- Fix sending multiple scheduled tasks that share hour and minute
- Specify table to avoid ambiguous field, fixes search not working in admin / users
- Fix lastdial from astdb and pause since from ami events on asterisk 16
- Make sure to compare numeric last call info. Fixed last call on realtime in some situations
- Fix typo in custom pause format in realtime that prevented absolute seconds from working
- Update help text to remove escaped quotes that confuses users
- Get correct table id for getting custom ajax script if set

## [2.3.5] - 2021-09-08
### Added
- Update asterniclog to handle INSERT from ivrflow
- Add Filter by DID on schedule DID reports
- Add unifyagents command line tool to help unify amibuguos agents in DB 
- Add support for COLUMN_SEARCH_FORMAT using javascript functions as defined in custom.js file
- Add more debug to scheduled reports
- Add variable so we can add a custom where condition to answer,unanswer and distribution queries. Used for filter by did on scheduled, could be use on future customizations or plugins
- Add complete audit activity including remote ip address

### Changed
- Make cache ami server aware to avoid collisions when multiple servers are used
- Set server on connect into config so we can read it and use it as key for apc realtime cache
- Change on agent name on realtime
- Do not requires basic auth if we have a valid web session for sending mails
- Do not paginate when exporting detailed reports in PDF format from scheduled
- Go back to html/wkhtmlpdf to detailed reports via mail/sched instead of tcpdf reserved for web
- Improvement over the larger callerid display, if there is a tie, compare priority , highest win.. if a tie again, do nothing

### Fixed
- Set column names on export on agent pauses report and honour call_time_format in agent full report
- Fix typo in css property causing bad rendering sometimes
- Be sure to populate correctly qagent ALL on purge, was causing missing ALL entry from agents
- Proper string comparing in update_mix_mixmonitor.pl, fixes issue where uniqueid has some letters due to asterisk system id set
- Do not fail to insert TRANSFER with empty position on strict mode mysql/mariadb

## [2.3.4] - 2021-06-14
### Added
- Support for queuemetrics info/tag events to work with reports by tag plugin
- Add did and url columns to callback report
- Add callback_dial_prefix setup for adding a dial prefix to callback reports. 

### Changed
- Prevent empty values in position integer value, to please strict mode versions of mysql
- Allow double quotes in csv field on export answered detail

### Fixed
- Fix callerid showing extension number instead of external number in realtime by comparing lenght of both local legs
- Fix extension and context on action callback
- Remove M() from DIAL_TRUNK_OPTION on track outbound context to avoid conflict with dialplan macros on trunk (set music on hold)
- Add QueueLog action to asmanager for callback plugin (regression)
- Fix REST search for including authorized queues and agentes correctly

## [2.3.3] - 2021-05-05
### Added
- Add issabel override context to catch transfers
- Allow realtime_reports in designer be user specific, so some users can see only a subset of realtime reports if neeeded
- Add dictionary transfer feature for showing friendly transfer locations

### Changed
- Use dictionary queues in full agent detail report
- If an unhold pause comes *After* a complete, insert it normally and remove from deferpause table to not carry on pausing at end of following calls
- Do not compute start pause if ringnoanswer comes before 30 seconds of session close
- Make tag popups for manually dialed calls work when using dialer/hotdesk track dialplan
- Update phpmailer to version 5.2.28. Security fixes

### Fixed 
- Make sure tag plugin inserts correct join on 2.3.x
- Prevent errors/warnings because undef or missing variables
- Use native db class methods instead of old compatibility functions. Fix rest auth on some scenarios
- Honor authorized queues and agents on search
- Be sure to name recordings out so they get processed by update_mix
- Prevent possible XSS
- Validate request input, prevent possible xss
- Replace strip_tags with htmlspecialchars, they say its better for preventing XSS

## [2.3.2] - 2021-02-03
### Added
- Released 2.3.x family Devel package
- old_mysql setting added for systems with really old MySQL servers that will fail when using subselects
- Auto detection of mysql server version to try to automatically set old_mysql if needed

### Changed
- Changed field type to timezon for datetime field on queue_stats_mv so timezone settings affect it as it should.
- Do not insert a computed start session if unpause is received within 30 seconds of logoff
- Changed replace for insert on duplicate key on update_mix_mixmonitor as replace is not performant when there are lots of records in oder mysql versions

### Fixed
- Fix XSS and CSRF vulnerabilities.
- Fix sql injection on rest authentication.
- Do not reset list of designer defaults if parameter is empty so we can set custom answered,unanswered and distribution reports.
- Fix timezone setting not affecting reports as datetime field must be set to timezone instead of datetime.
- Fix on scheduled report for distribution outbound.
- Fix PDF export on detailed distribution, answered and unanswered reports.
- Fix on reporting unanswered dispositions on overflow calls that end up other than timeout or abandon. So if you select only the timeout queue, it will report its disposition instead of the last queue disposition. As the change involves using subselects, old_mysql setting was added to disable this feature when using buggy and old mysql servers that cannot optimize subselects and freeze.


## [2.3.1] - 2020-12-01
### Added
- Modify makefile to parametrize mysql binary so we can quickly change in case of PBXware that needs the value /opt/pbxware/pw/sh/mysql, also update installation to recognize Pbxware. 
  Still, asterniclog needs to be packed/compiled.
- New settings realtime_astdb_agent_map_key AND realtime_astdb_queue_members.  With this settings we can configure ASTDB queries for Local/xxx agent and 
  real channel mapping, and also for queue membership when using AddQueueMember and agent is not logged in, so we can show it as logged off.
- Allow menu entries to be added when using parameters for like xxxxx_custom?field=xxx
- Add updated block to update cdr and cel (commented) if convert mp3 is set in update_mix_mixmonitor.pl
- Add mail_pdf_filename setting to give option to set the attachment filename for PDF
- Add 59 minute end interval, if the intervals are set to larger than one minute, otherwise we cannot select the whole day
- Add recordings_asterisk_spool setting for update_mix_mixmonitor.pl so we can have it fully working when convert to mp3 and move recording is enabled.
- Add updated block to update_mix_mixmonitor.pl to update cdr and cel (commented) if convert mp3 is set

### Changed
- Specify fields with table name prefix to avoid ambiguity issues if users decide to alter table schemas for some reason
- Set version 2.3.1 for intermediate/beta build
- Use dictionary agent on realtime agent status display
- Use dictionary agent on agent detail report
- Use dictionary agent on agent availability report
- Update qagent table schema in sql file
- Strip followme and other nuisances from local channel namings in order to try to find metadata correctly on realtime. Improves realtime channel mapping.
- Allow filtering by agent if all agents are allowed on rest answerd by agent
- If cron day month is 1 and last days is 30, run full past month disregarding 30/31,28 day length on scheduled reports
- Give priority to latest metadata when merging channel info on realtime 
- Unset callerid when finding active channel in realtime
- Do not insert ABANDON with agent other than none, honor notabandon from FOP2
- Do not use dictionary queue on rest realtime
- Use queue dictionary on rest realtime, and show agents per queue (instead of grouped)
- Specify fields with table name prefix to avoid ambiguity issues if users decide to alter table schemas for some reason

### Fixed
- Fix short_ringnoanswer check on agent reports
- Make clid in realtime work for chan_agent (Issabel CallCenter Community Module)
- Prevent undefined variable warnings
- Fix authorized agents in rest realtime
- Fix scheduled reports when some queues are selected instead of one or all
- Fix csv separator in agent detail report scheduled
- Fix on agent activity pauses where a computed unpause was causing repauses on following calls if there was a real unpause after the computed one. Also removes activity pause records on session end to avoid puase lingering and potential unintended repauses
- Fix short ringnoanswer on drill down agent detail
- Refactor asterniclog helper table creation using temporary tables and lef join as older mysql versions do not like subselects. Fixes asterniclog freezing on older MySQL versions
- Force utf8 and collation on union by queue groups to avoid issues on incorrect collation on some mysql installations
- Fix agent drill down sometimes shrinking or messing with the view/display of columns
- Fix realtime in non grouped mode, broken when making json modifications for REST
- Fix on asterniclog parsing ENTERQUEUE events with more than 3 info fields causing an error in log parsing
- Fixes improvements on the schedule report check: try to sched_check on script directory so relative paths work for attach image, also try to find wkhtmltopdf binary in /usr/local/bin if exists disregarding system path
- Fixes in update_mix_mixmonitor.pl script, more tolerant to on/true/enable settings
- Log parser: Make defer pause work for pauses with no reason also. Fix cases where agent pauses without reason just before finishing a call, that gets ignored otherwise

## [2.3.0] - 2020-09-09
### Added
- Ability to select attachment format on scheduled reports: CSV and PDF
- Add agent administration page. Gives administrators the ability to disable agents from reports
- Add 'buttons' and 'list' view modes to realtime agent status page. New setting: realtime_view_mode setting. Default to 'list'
- Add combined_waittime_on_overflow setting, enabled by default, to show combined wait time in reports and search instead of last queue wait time
- Add config option freepbx_sync_queue_names to set dictionary queues automatically on Issabel/FreePBX systems
- Add custom.css support for overriding css styles and create themes. Included custom.sample.css 
- Add custom fields on search tab, allowing to search on custom fields
- Add date to report title on PDF export
- Add session times chart on agent availability reports
- Add support for DESTDIR enviornment variable for Makefil/install script to install on a different location than /var/www/html/stats
- Add hide queue summary option in realtime view, improve hide/show response in realtime. 
- Add missing translation for several prompts/strings
- Add multi server support in realtime. Added new admin section for add/remove/edit realtime servers. Regular license allows one realtime server.
- Add new CHART_AGENT to designer so a chart can be added to agent reports. Works for availability for now.
- Add new settings for scheduled emails: mail_body with parameter 'report' or 'alert' to customize mail text
- Add new TIME_ON_XXX to designer, so you can add specific reason pauses columns on agent availability reports. Example TIME_ON_BREAK
- Add 'pdf' target to makefile to download/install wkhtmltopdf
- Add percentage migration indication and better descriptive steps on asterniclog so user knows progress when upgrading data from older versions
- Add realtime-show-clid ACL entry to allow hide/show of clid on realtime views
- Add replay_queuelog tool to replay a queue_log file at the same pace it was procuded, useful for testing load
- Add restart on failure to systemd unit, so asterniclog service restarts if it exit with error for some reason
- Add RINGCANCELED event as noanswer for agent reports
- Add settings for post call recording script: recordings_move, recordings_move_destination, recor1dings_convert_mp3. 
- Add short_ringnoanswer_threshold to preferences to be able to filter out ringnoanswers based on duration
- Add status for API realtime response to know if manager connection was successful or not directly on JSON response
- Add uninstall target to Makefile to allow uninstallation of the software (it won't remove the database)
- Add WRAPUP_REASON in designer so we can configure the pause reason for Wrapup, by default is set to 'wrapup', same reason as the auto wrapup FOP2 plugin default
- Add HOLD_REASON in designer so we can configure the pause reason for Hold, by default is set to 'hold', same reason as the auto wrapup FOP2 plugin default
- Allow PDF scheduled reports options using wkhtmltopdf that can be installed from Makefile with target pdf
- Improvde debug for troubleshoting realtime actions
- Improved installation script that caters most centos/debian based setups, adds custom.css and custom.js files and installs for specific PHP version
- Install script asks for admin password during installation, no more default password 'admin'
- Make queue selection in admin schedule honour user filter/restrictions
- Make realtime agent availability columns configurable via designer REALTIME_DISPLAY_ROWS/agent_availability
- Set random password for REST user on install
- Update realtime actions to return proper js/browser notifications 
- Use js debugger (Developer console in browser instead of echo on page) 

### Changed
- Add a little more verbose error on eval math for simpler troubleshooting on designer formulas
- Add footer to PDF export and set page size to legal when in landscape
- Add qagent_view table for improved searches with dictionary agent
- Add report columns for the CLID plugin in report designer
- Add server side processing for agent detailed report
- Agent activity is now processed/materialized via triggers, no need to process during query, making it much faster/responsive
- Agent pause reports shows reasons in an horizontal form with ability to switch between count/time via view button
- Alerts in scheduled reports will check fields only for the realtime queue summary page instead of any report
- Allow trial licenses to be revoked, so a user can upgrade to paid version by revoking via Setup/License page
- Changed toggle switches on realtime view to yes/no so they can be translated
- Change 'Outbound Call' text to 'Non Queue Call' in realtime display
- Check agent names with no accents in real time view to avoid filter out agents with similar names
- Deprecate asterisk_12 and asterisk_18 settings. Settle for old_asterisk
- Deprecate ignore_none_abandons, search_without_subquery,agent_pause_breakdown from setup
- Deprecate save.php
- Do not allow drill down on ADD/REMOVE events in distribution detail report
- Do not insert info5 on queue_stats_mv for transfer events so it does not interfere with tag queue calls
- Do not install asterniclog if /var/log/asterisk is not found
- Do not show empty plugins in license page
- Easier to read color for pauses on agent reports
- Fix heading style on realtime waiting calls for 2nd and up tables
- Fix JSON export for agent disposition, pauses and availability using integer instad of string type where appropriate
- Ignore entries with  no datetime set in queue_stats_mv as it causes incorrect durations and wait time calculations
- Improve asterniclog agent activity processing tenfold by using helper tables. Update agent availability report for failed out calls counting
- Increase max execution time in potentially long queries
- Insall plugins from repository will look for the corresponding php version
- Last run set for to one hour for reports, 5 minutes for alerts 
- Make agent_row_color toggle on/off for simpler setup
- Make area code plugin to work with 2.3.0 schema
- Modify change of idle time formula to show zero instead of negative if session time is not set
- Modify pause color so it has better contrast on white background on agent reports
- Only output to error_log for asmanager events if DEBUG is true
- Pass version to apli.js to avoid caching issues when upgrading
- Remove logins/logoff for distribution by url/did/tag and add answered display rows for tag
- Remove pauses with 0 duration from agent activity results
- Rename lighter_ami setting to realtime_chan_agent
- Restart asterniclog after make upgrade
- Schema changes are done when doing make upgrade instaed of browsing the home/index page after upgrade
- Set default paused color in realtime to grey
- Set proper ringnoanswer default value if not set
- Set sensible default on timeframe_interval if user sets an incorrect value. Prevents infinite loops
- Simplify cron configuration for scheduled report/alerts by using PHP cli, avoiding complex wget line with user/password authentication
- Specify only UTF8 and no collation on queue_stats_mv table creationg. Set character set client to UTF8
- Stop wav reproduction on Player modal close
- Update CSS styles to be more consistent
- Updated realtime_agent_sort in realtime: possible values are name, status and penalty
- Updated sql definition, do not specify engine so it uses the system default, avoiding possible collation issues
- Update js notifications in callback plugin actions responses, also strip +1 if it is there in the number to dial
- Update jquery to version 3.5.1 and jquery-ui to version 1.12.1 and add compatibility js files
- Update area code plugin to work with asternic 2.3.0
- Use 5 decimals on percentage session formula to avoid rounding errores in column total
- Use chartjs instead of jqPlot as chart library
- Use designer events for search instead of hardcoded ones
- Use materialized queries by default, improving trigger, and with individual records per overflow
- Use pausereason and time from Asterisk 16 if available, no need for realtime_custom_pauses any longer!
- Use pointer cursor style in menus now that we removed the empty anchor
- Use truncate table on purge instead of delete as its faster
- When removing agents in realtime while grouped by agent, it will remove them from all queues.
- When using group filtering, realtime_alarm_xxx setups must be set by group name instead of queue

### Fixed

- Added all fields on CSV export for agent dispositions report
- Add mising chosen (select boxes) sprite x2
- Add pause reason on END PAUSE event that happened in some situations
- Do not show cookie agents in home agent selection if they are not really available in DB
- Fix drill down distribution by URL
- Fix drill down in most plugin reports
- Fixes on group filtering in the realtime view
- Fix filtering on search page when selecting groups on home page
- Fix search for outbound calls with dispositions other than 'ABANDON'
- Fix sorting of agent availability on time columns where format is hh:mm:ss
- Fix steal and pickup calls from realtime page for Asterisk 16
- Honour dictionary queue and agent names on searches
- Make datatables CSV export respect csv_separator and csv_quote preferences
- Shows correct expiration info on license page
- MultiReport Plugin drill down pagination respects filter/condition
- Outbound fail dipsosition is now set correctly on install
- Pause since time not shown if not resent in asterisk events and PAUSECUSTOM is not set
- Remove several undefined variable warnings
- Search on russian language does not break by escaping proper characters
- Search works when there are no plugins for url, did or tag installed
- Several fixes to avoid warnings on PHP 7 installations
- Tweak search presentation style to avoid extra space on date field when csv exporting
- Update asterisk manager library to work better with Asterisk 16 and up
- Update REST call endpoint to use mysqli driver so it works with PHP 7
- Update sql definitions to work with recent MySQL/MariaDB and strict mode


Version 2.2.7

date:        Fri Sep 27 18:47:37 2019 -0300
summary:     Use last agent on unanswered distribution drill down query as there is no guarantee of order by using regular group by and some abandon events might get assigned to an agent instead of none

date:        Wed Sep 25 20:32:15 2019 -0300
summary:     Add csv_skip_summary setup keyword to avoid adding the report summary (date range, queues selection) on Scheduled Rerpots CSV files

date:        Mon Sep 23 16:47:22 2019 -0300
summary:     Make exclude logins work on distribution and use group_concat agents instead of long string

date:        Mon Sep 23 10:21:58 2019 -0300
summary:     Add audit funcionatlity for successful and failed logins, keyword audit_log

date:        Fri Sep 20 15:50:48 2019 -0300
summary:     Remove stray completeXX events from when attended and blind transfer events are involved

date:        Wed Sep 11 11:03:25 2019 -0300
summary:     Left join on agent queries by group. 

date:        Wed Sep 11 10:45:57 2019 -0300
summary:     Add fill_empty_days check on distribution report to fill days with empty/zero data when set to 1. 

date:        Wed Sep 11 10:40:33 2019 -0300
summary:     When using groups on agent reports, join by first entry on field if list of comma separated, to avoid excluding pause records on multiple queues from showing. Left to do something similar with unpause that has the queue field empty in some cases

date:        Thu Aug 29 19:57:54 2019 -0300
summary:     Fix admin users for php 7.1 complaining about incorrect number of parameters in function

date:        Mon Aug 26 13:07:23 2019 -0300
summary:     Add CANCEL for outbound as valid event, use designer EVENT_OUTBOUND for it

date:        Tue Jul 30 15:54:19 2019 -0300
summary:     Fix typo on clid plugin comment

date:        Mon Jul 29 20:25:36 2019 -0300
summary:     Set info4 for DID in trigger scripts for Asterniclog

date:        Thu Jul 25 13:15:46 2019 -0300
summary:     FIX bad clock on realtime showing always UTC time

date:        Wed Jul 24 12:11:19 2019 -0300
summary:     Add a shell script for agent activity table processing from cron

date:        Wed Jul 24 12:07:21 2019 -0300
summary:     Do not require auth for process agent activity

date:        Mon Jul 22 16:51:54 2019 -0300
summary:     Fix missing comma on last JSON element for realtime rest agent status

date:        Mon Jul 22 16:50:21 2019 -0300
summary:     Fix rest API realtime agent filtering

date:        Mon Jul 22 16:24:23 2019 -0300
summary:     Make sure to set thousand separator on number_format otherwise float numbers will appear empty on csv or json/rest export

date:        Tue Jun 25 19:47:34 2019 -0300
summary:     Fix group not showing queues when user has ALL on index, Fix realtime waiting call queue name when group selected

date:        Fri Jun 21 12:01:30 2019 -0300
summary:     Set manager password in config.php taken from issabel.conf

date:        Thu Jun 20 15:34:00 2019 -0300
summary:     Fix group filter on realtime, 2nd pass

date:        Tue Jun 18 10:38:45 2019 -0300
summary:     Search for config.php in reports directory if update_mix has incorrect credentials set infile

date:        Tue Jun 18 10:35:20 2019 -0300
summary:     Add support for plugins to update_mix_mixmonitor.pl

date:        Thu Jun 13 16:52:47 2019 -0300
summary:     Update customm outbound dialplan for queuelogin/callcenter pro

date:        Thu Jun 13 16:26:11 2019 -0300
summary:     Fix buildrpm hardcoded version in scp

date:        Wed Jun 12 16:00:13 2019 -0300
summary:     Encode URL parameters on sched_createcsv for queues with spaces or symbols in names

date:        Tue Jun 11 15:34:42 2019 -0300
summary:     Add rpm build and supported files

date:        Mon Jun 10 17:27:28 2019 -0300
summary:     Add port support in host string for MySQL connection

date:        Fri Jun 07 10:48:10 2019 -0300
summary:     Add pause reason on computed unpause if login/logout, format fixes

date:        Fri Jun 07 09:45:21 2019 -0300
summary:     Be sure to get reason in lowercase for matching wrapup or similar

date:        Fri Jun 07 09:34:46 2019 -0300
summary:     Prevent negative call times if call duration is zero

date:        Mon May 27 16:14:50 2019 -0300
summary:     Honour user filter for group names in realtime

date:        Wed May 22 20:06:33 2019 -0300
summary:     Fix typo Procensing

date:        Wed May 22 15:28:33 2019 -0300
summary:     Prevent negative talk times on date rollover

date:        Wed May 22 14:22:59 2019 -0300
summary:     Remove unused variable

date:        Tue May 21 15:39:10 2019 -0300
summary:     Add support for URL event in Asterniclog to store a URL variable as DID before the ENTERQUEUE takes place, like for capturing info on IVR, etc

date:        Sun May 19 19:05:18 2019 -0300
summary:     Disable realtime_agent_availability_override function by returning earlier. Do not update current_timestamp on update for queue_stats_mv definition

date:        Wed May 15 11:15:10 2019 -0300
summary:     Check on agent activity computed close session for today, if timestamp is lower than last db entry (should never ever happen, but life is strange), then equal them to avoid negative session times

date:        Mon May 13 15:13:55 2019 -0300
summary:     Fix database name in general settings in update_mix script

date:        Tue Apr 23 15:03:12 2019 -0300
summary:     Return after UPDATE and INSERT so we do not pollute the real queue_stats or queue_stats_mv tables

date:        Tue Apr 23 14:51:53 2019 -0300
summary:     Add UPDATE and INSERT event processing where queue field is the table, agent is the table field and info1 the value to either INSERT or UPDATE

date:        Thu Apr 04 17:56:01 2019 -0300
summary:     Update agent_activity create schema

date:        Thu Apr 04 17:46:34 2019 -0300
summary:     Reset timezone on process agent_activity to mantain same time even if user has timezone configuration set

date:        Thu Apr 04 17:46:15 2019 -0300
summary:     Change agent_activity datetime field to timestamp so it follows timezone config.

date:        Thu Apr 04 17:45:07 2019 -0300
summary:     Fix search date range query for max values

date:        Mon Apr 01 17:47:25 2019 -0300
summary:     Fix base href on plugins

date:        Thu Mar 28 22:15:51 2019 -0300
summary:     Add missing semicolon on Makefile that generated some error at perlfinal stage

date:        Mon Mar 18 09:28:38 2019 -0300
summary:     Limit by position/number of agents for Issabel Call Center Edition

date:        Sun Mar 17 18:21:09 2019 -0300
summary:     Update sql definition for queue_stats_mv on sql dir


Version 2.2.6


date:        Fri Mar 15 19:26:55 2019 -0300
summary:     Clear realtime cache when using actions for faster status update after performing actions

date:        Fri Mar 15 19:18:32 2019 -0300
summary:     Cancel timeout when performing actions in realtime, fix realtime being heavy after actions are performed

date:        Thu Mar 14 19:38:15 2019 -0300
summary:     Clear vars on realtime agent status so metadta won't 'leak' for subsequent agents.

date:        Thu Mar 14 19:25:18 2019 -0300
summary:     Fix waiting calls display in realtime when group filter is set

date:        Fri Mar 08 19:38:08 2019 -0300
summary:     Add realtime_hide_agent_unauthorized_queue: will not show status and metadata on agents that are busy on a different queue if that queue is not authorized for the user

date:        Tue Feb 26 20:42:17 2019 -0300
summary:     Fix waiting calls and max wait time in realtime queue summary when groups are selected

date:        Tue Feb 26 00:01:09 2019 -0300
summary:     Fix agent queries when using queue groups and user has limited queue views

date:        Mon Feb 25 19:18:24 2019 -0300
summary:     Fix permissions display when groups are selected but user has limited queue access on distribution, answered, unanswered and search

date:        Mon Feb 25 16:20:10 2019 -0300
summary:     Fix realtime view when group queues are selected, stats in summary show correct now

date:        Fri Feb 22 19:17:08 2019 -0300
summary:     Fix drill down distribution on plugin/extra fields

date:        Fri Feb 22 19:02:19 2019 -0300
summary:     Fix drill down on distribution when using queue groups

date:        Wed Feb 20 14:57:59 2019 -0300
summary:     Set label to None when empty in charts, to avoid using 1 instead

date:        Wed Feb 20 12:43:33 2019 -0300
summary:     Split join_table for comman using negative lookahead so we do not split on commas inside mysql IF() statements if they exist

date:        Wed Feb 20 12:02:21 2019 -0300
summary:     Change parameter in designer table to be varchar 250 for longer table_joins

date:        Tue Feb 19 18:02:21 2019 -0300
summary:     Do not use formated value in charts if format is not numeric

date:        Tue Feb 19 17:15:17 2019 -0300
summary:     Update did plugin to use new updateConfig function to enable / disable showing of DID field when plugin is enabled or disabled

date:        Tue Feb 19 17:12:45 2019 -0300
summary:     Add function to update config entries, used by plugins

date:        Tue Feb 19 17:05:01 2019 -0300
summary:     Format fixes. Prevent warning

date:        Tue Feb 19 12:45:08 2019 -0300
summary:     Avoid warnings

date:        Tue Feb 19 12:43:28 2019 -0300
summary:     Remove whitespace

date:        Tue Feb 19 12:42:19 2019 -0300
summary:     Allow having more than one field in parameter inside JOIN_TABLE like 'field AS RATING1, otherfield AS RATING2' to get more than one extra variable in CUSTOM_ reports, good for using with multi questions quality surveys

date:        Tue Feb 19 12:36:54 2019 -0300
summary:     Be sure to load custom reports with field=xx correctly

date:        Tue Feb 19 12:18:20 2019 -0300
summary:     Do not add plugin to menu if its already set on designer

date:        Tue Feb 19 12:17:09 2019 -0300
summary:     Allow to use answered_calls_by_custom.php and friends to work by passing a ?field=xxx to them, and set them up directly on desginer answered_reports and friends, so no actual code modifications are needed when adding table_joins for adding extra fields to reports

date:        Tue Feb 19 12:15:32 2019 -0300
summary:     Add decimail point setup

date:        Tue Feb 19 12:13:13 2019 -0300
summary:     Use trunk suffix on failover outbound dialplan

date:        Tue Feb 19 12:12:03 2019 -0300
summary:     Check for transfer recordings in update mix post processing

date:        Fri Feb 08 10:40:25 2019 -0300
summary:     Add apc cache to realtime

date:        Fri Feb 08 09:30:57 2019 -0300
summary:     Install php apc on Makeffile

date:        Fri Feb 08 09:29:27 2019 -0300
summary:     Update INSTALL

date:        Fri Feb 08 09:26:41 2019 -0300
summary:     Add cache to realtime AMI variables

date:        Fri Feb 08 08:43:02 2019 -0300
summary:     whitespace format fix

date:        Thu Feb 07 14:21:39 2019 -0300
summary:     Fix Makefile error while using systemctl at final step

date:        Wed Jan 16 09:57:23 2019 -0300
summary:     Format fixes

date:        Wed Jan 16 09:49:27 2019 -0300
summary:     Add mail_smtp_selfsigned preference to allow self signed certificates in SMTP connections

date:        Tue Jan 15 21:29:56 2019 -0300
summary:     Change on agent report to not count pauses when a call is active to avoid overlap times on pause and talk time that might lead to negative idle times. Whenever an agent pauses during a call, that pause time will count only *after* the active call finishes

date:        Tue Jan 15 19:07:11 2019 -0300
summary:     Add queue NONE on agent activity so AgentLogin events are ack

date:        Thu Jan 10 13:23:43 2019 -0300
summary:     Track real disposition for outbound failed calls in macro. Fire userevent for dialer also

date:        Thu Jan 10 13:21:58 2019 -0300
summary:     Prevent warnings on dbgrid

date:        Thu Jan 10 13:21:28 2019 -0300
summary:     Force addition of abandoned events for outbound failed calls if not present

date:        Wed Jan 09 17:32:04 2019 -0300
summary:     Prevent warnings on agent ranking plugin

date:        Wed Jan 09 17:31:29 2019 -0300
summary:     Use all enumerated queues for pause events, so if a report includes only one queue of many for pause, event still shows

date:        Wed Jan 09 17:30:43 2019 -0300
summary:     Prevent warnings on agent ranking


Version 2.2.5

date:        Tue Jan 08 11:52:36 2019 -0300
summary:     Change uniqueid on TRANSFER events to discern from 2nd part of the call and account for them

date:        Tue Jan 08 10:43:32 2019 -0300
summary:     Do not use info2 as duration on TRANSFER events as BLINDTRANSFER and ATTENDEDTRANSFER use info2 for different purposes. Fix problem with high talk duration on attended or blind transfer events

date:        Mon Jan 07 18:15:56 2019 -0300
summary:     Dissallow some extensions from download to prevent leaks in case of misconfigured recordings_path setting

date:        Mon Jan 07 13:17:59 2019 -0300
summary:     Prevent undefined variable warning

date:        Mon Jan 07 13:17:14 2019 -0300
summary:     Fix XSS in login page

date:        Thu Dec 27 11:29:42 2018 -0300
summary:     Prevent warnings on agent page for undeclared variables

date:        Wed Nov 14 09:11:00 2018 -0300
summary:     Replace pause_name and penalty_name for generic dictionary calls

date:        Wed Nov 14 09:03:26 2018 -0300
summary:     Use generic dictionary function for dictionary entries, extend dictionary for did and url so now dict_did and dict_url are valid keyword setups

date:        Mon Oct 22 12:48:35 2018 -0300
summary:     Update makefile to start systemctl or init scripts

date:        Mon Oct 22 12:48:21 2018 -0300
summary:     Create temp dir if it does not exists for scheduled reports (fixes missing attachment in installs with no temp dir)

date:        Wed Oct 03 19:40:34 2018 -0300
summary:     Update makefile to use systemctl if available

date:        Wed Oct 03 19:39:23 2018 -0300
summary:     Add systemd redhat/centos unit file

date:        Wed Oct 03 19:37:32 2018 -0300
summary:     Rename debian system unit file

date:        Wed Oct 03 19:37:00 2018 -0300
summary:     Fix asterisk_12 or old_asterisk check

date:        Wed Oct 03 19:36:48 2018 -0300
summary:     remove comments from unit file

date:        Thu Aug 16 12:54:52 2018 -0300
summary:     search by agent name in ajax

date:        Wed Aug 15 14:33:17 2018 -0300
summary:     Add lighter_ami to setup/preferences

date:        Thu Aug 09 17:57:35 2018 -0300
summary:     Be sure to filter agents by dict agent name on search

date:        Thu Aug 09 17:30:02 2018 -0300
summary:     Create qagent_view and do search joining with that view so we can search by dict_agent

date:        Mon Aug 06 12:32:35 2018 -0300
summary:     Remove chgrp to fop2 directory on Makefile

date:        Fri Jul 27 14:35:09 2018 -0300
summary:     Update relatime to use old_asterisk and manager_show_channels_command to play with different asterisk versions core show channels concise field order and command, replacing asterisk_12, asterisk_16 and asterisk_18 keywords

date:        Fri Jul 27 14:34:26 2018 -0300
summary:     Change CANCEL to REJECT for Ring no answer calls to not collide with outbound CANCEL disposition

date:        Thu Jul 19 22:00:17 2018 -0300
summary:     Update manager library for Asterisk 15 command output

date:        Fri Jun 22 17:34:49 2018 -0300
summary:     Unanswered calls on distribution queries has now an agent filter listing all agents and the none agent

date:        Fri Jun 22 17:30:55 2018 -0300
summary:     Count cancel and failed on agent activity individually and after each subsequent event

date:        Fri Jun 22 17:27:36 2018 -0300
summary:     Update asterniclog trigger to store outbound dispositions

date:        Tue Jun 19 19:59:07 2018 -0300
summary:     Add OUT_FAILED_CALLS and TOTAL_OUT_FAILED calls to agent availability reports and column failed out calls to agent disposition reports

date:        Tue Jun 19 19:49:28 2018 -0300
summary:     Set color for agent detail report for start call always instead of inherit last color

date:        Tue Jun 19 19:41:19 2018 -0300
summary:     Add autocomplete TOTAL_COLUMN_AGENT to designer

date:        Tue Jun 19 19:18:59 2018 -0300
summary:     Remove debug line

date:        Tue Jun 19 18:24:35 2018 -0300
summary:     Add extra events from event_* configs to agent activity reports, to catch cases of outbound tracking with actual disposition like BUSY, CONGESTION, etc. Shows in details and drill down, it does not count in summary yet

date:        Tue Jun 12 20:52:25 2018 -0300
summary:     Fix multireport drill down calling the ajax filter to plugin directory

date:        Tue Jun 12 20:47:21 2018 -0300
summary:     Update multireport plugin to make it work with 2.2.4

date:        Tue Jun 12 20:15:46 2018 -0300
summary:     Add ajax. detai script for multireport plugin

date:        Mon Jun 04 16:47:29 2018 -0300
summary:     Fix realtime view of agents with single quotes in them

date:        Mon Jun 04 16:30:42 2018 -0300
summary:     Fix drill down on agents with single quote in their name


Version 2.2.4

date:        Wed Jan 24 20:13:44 2018 -0300
summary:     Add realtime_invert_clid setting to setup

date:        Wed Jan 24 20:11:54 2018 -0300
summary:     Big updates in realtime, check for hints to map agents with state interface hint, try to merge all metadata and set callerid number and names, also adding the realtime_invert_clid setting to invert between connected line number/name vs callerid number/name. Should make it work with completepbx/ombutel

date:        Wed Jan 24 20:08:35 2018 -0300
summary:     Show realtime agent summary head even if there are no agents on display so we can switch toggled hide or group

date:        Wed Jan 24 19:58:51 2018 -0300
summary:     Prevent missing timezone config warnings

date:        Wed Jan 24 19:56:04 2018 -0300
summary:     Write license.txt file if it does not exists with the license name

date:        Wed Jan 24 19:54:17 2018 -0300
summary:     Fix license name display on footer for devel versions

date:        Wed Jan 24 19:36:05 2018 -0300
summary:     Public static declarations on evalmath to avoid php warnings

date:        Wed Jan 24 19:28:58 2018 -0300
summary:     Return unix timestamp with DateTime object if avaialble, to make it work with php 7 and avoid php warnings on >5.4

date:        Tue Jan 23 16:26:50 2018 -0300
summary:     Fixes on rest realtime to display stats values correctly instead of zero on regular and materialized views (missing global)

date:        Mon Jan 22 18:14:02 2018 -0300
summary:     Some realtime updates for correct callerid on asterisk11 vs asterisk13

date:        Fri Jan 19 12:01:53 2018 -0300
summary:     Disable max execution time when doing agent activity full, as if it aborts due to max execution time, it will lead to incomplete agent_activity data that
 won't be reinserted on the next run

date:        Wed Jan 17 13:14:03 2018 -0300
summary:     Be sure to respect end reprocess HOUR by parameter so rest retrieves full day report for one day

date:        Tue Jan 16 12:49:17 2018 -0300
summary:     Fix visibility/opacity of spy when busy/not in use

Version 2.2.3

date:        Fri Dec 22 10:35:12 2017 -0300
summary:     Simplify logic for agent_activity table on demand generation. Fixes bug where certain days were skipped from agent_activity leading to missing/incorrect data in the Agent reports

date:        Fri Dec 22 10:27:06 2017 -0300
summary:     Save agent and queue selection in cookie for remembering on next login

date:        Wed Nov 29 16:32:59 2017 -0300
summary:     Add some debug to truncate in asterniclog

date:        Wed Nov 29 10:09:32 2017 -0300
summary:     Truncate agent_activity when purge

date:        Wed Nov 29 10:07:03 2017 -0300
summary:     Do not update datetime on materialized when updating did or tag queue call as it will break wait times

date:        Tue Nov 28 15:20:33 2017 -0300
summary:     Do not take into account daylight savings on return_timestamp as it will calculate an extra day in periods sometimes

date:        Sat Nov 11 21:38:49 2017 -0300
summary:     Fix possible unaccounted unanswered calls if they have a ringnoanswer disposition at the same moment than abandon or timeout

date:        Wed Nov 01 09:26:35 2017 -0300
summary:     Update debug style on queries

date:        Tue Oct 31 23:33:30 2017 -0300
summary:     Add discrete_transfer setting to bring back old transfer report functionality if only some queues are selected in distribution reports

date:        Tue Oct 31 23:24:38 2017 -0300
summary:     Add discrete_transfer setting to bring back old transfer report functionality if only some queues are selected in answer reports

date:        Mon Oct 30 13:20:01 2017 -0300
summary:     Leave space after comma so css words wrap on queue names agent reports

date:        Mon Oct 30 12:27:09 2017 -0300
summary:     Make action buttons to spy visible but disabled if agent is free or not available


Version 2.2.2

date:        Sat Oct 28 12:03:04 2017 -0300
summary:     Fix duplicate menu shown for plugins

date:        Fri Oct 27 15:55:07 2017 -0300
summary:     Do not output js code on realtime agent status if type is not html (polutes json/rest)

date:        Wed Oct 25 15:59:23 2017 -0300
summary:     Update trigger for UPDATETRANSFER support in materialized tables

date:        Wed Oct 25 15:20:09 2017 -0300
summary:     Add modified macro-user-callerid for Issabel/FPBX so it catches transfers on Asterisk 11

date:        Wed Oct 25 15:17:55 2017 -0300
summary:     Add UPDATETRANSFER event support for fixing missing transfer events on Asterisk 11 blind transfers, when using helper dialplan

date:        Wed Oct 25 09:14:07 2017 -0300
summary:     Use db wrapper instead of direct mysql calls in callback plugin

date:        Wed Oct 18 08:58:39 2017 -0300
summary:     Populate setup menus in index just in case its an upgrade

date:        Tue Oct 17 19:36:19 2017 -0300
summary:     Honor agent restriction in agent report (computed values were inserting non allowed agentes into report)

date:        Fri Oct 13 17:18:51 2017 -0300
summary:     Separate languages in mysql-tables in one per line without primary index

date:        Fri Oct 13 16:50:38 2017 -0300
summary:     Set automatic queue names (dict_queue entries) in FPBX/Issabel based systems

date:        Fri Oct 13 15:34:41 2017 -0300
summary:     Automatic dict_queue for FPBX/Issabel

date:        Fri Oct 13 15:25:33 2017 -0300
summary:     Add grant on asterisk.queues_config so we can set automatically dict agent entries with qstatsUser

date:        Fri Oct 13 14:50:32 2017 -0300
summary:     Add license menu in mysql table definition

date:        Fri Oct 13 14:16:35 2017 -0300
summary:     Update Makefile to support issabel and fix typo when backing up custom.php


Version 2.2.1

date:        Fri Oct 13 13:56:26 2017 -0300
summary:     Bump version to 2.2.1

date:        Fri Oct 13 13:56:09 2017 -0300
summary:     Update style for registration tabs

date:        Fri Oct 13 13:53:31 2017 -0300
summary:     Improve license process and allow to activate on a trial basis automatically

date:        Fri Oct 13 10:22:59 2017 -0300
summary:     Improve realtime agent status styles, more consistent with 2.2.0

date:        Fri Oct 13 10:14:00 2017 -0300
summary:     Do not select by value in multi select grid component because on large systems index could match value and show ghost selections

date:        Fri Oct 13 10:12:42 2017 -0300
summary:     Close html/table on each queue in realtime agent status

date:        Wed Oct 11 09:30:28 2017 -0300
summary:     wordwrap on debug pre css change

date:        Wed Oct 11 09:10:32 2017 -0300
summary:     Improved detection of user running web server on makefile to properly chown on install

date:        Mon Oct 09 23:28:57 2017 -0300
summary:     Filter search query for export on queue in subselect

date:        Mon Oct 09 23:10:25 2017 -0300
summary:     Force show url or not when enabling/disabling url plugin

date:        Mon Oct 09 20:15:22 2017 -0300
summary:     Make search work with groups

date:        Mon Oct 09 18:48:23 2017 -0300
summary:     Do queue filter on search on the subquery, to differentiate transfers from final dispo when only transfer queue is selected

date:        Mon Oct 09 17:09:57 2017 -0300
summary:     Prettier warnging/errors when licensing

date:        Fri Oct 06 15:35:44 2017 -0300
summary:     Add devel version special files

date:        Fri Oct 06 09:27:36 2017 -0300
summary:     Remove did and url reports from designer default sql definitions, as they are not handled by plugins

date:        Sun Sep 10 16:56:52 2017 -0300
summary:     Remove stray/old report file distribution by clid that is now a plugin

date:        Thu Aug 31 11:07:01 2017 -0300
summary:     Fix global polution of queue on agent reports

date:        Thu Aug 31 10:45:16 2017 -0300
summary:     Be sure to create agent_activity tables and others as UTF8

date:        Wed Aug 30 19:22:16 2017 -0300
summary:     Update Makefile to chown html directory to the correct web server user, trying with asterisk, apache and www-data

date:        Tue Aug 29 20:01:49 2017 -0300
summary:     Fix typo in dbbrid 


Version 2.2.0

date:        Fri Aug 25 19:46:12 2017 -0300
summary:     Honour time ranges in distribution and unanswered queries when not materialized is set

date:        Fri Aug 25 18:41:33 2017 -0300
summary:     Fix css styles in notices

date:        Fri Aug 25 18:36:53 2017 -0300
summary:     Show days to support expiration in license page

date:        Fri Aug 25 10:58:33 2017 -0300
summary:     Make sure idle time formula is no lower than zero, needed if a report with a limited time frame is selected leaving out session login and logout events thus not able to compute session time to derive idle time

date:        Fri Aug 25 10:32:56 2017 -0300
summary:     Populate queue_stats_mv from asterniclog if it does not exists when asterniclog starts

date:        Thu Aug 24 17:10:19 2017 -0300
summary:     Fix direct login to realtime using user/pass get request

date:        Thu Aug 24 17:09:01 2017 -0300
summary:     Remove empty queue or agent from selections

date:        Wed Aug 23 09:45:32 2017 -0300
summary:     Add some REST connection check to schedule admin page to notify user if there is a misconfiguration and the cause (bad auth or bad url/network)

date:        Tue Aug 22 20:57:48 2017 -0300
summary:     Bug fixes in agent reports. Pause show dictionary, time format correct, drill down on call disposition, etc

date:        Tue Aug 22 08:16:15 2017 -0300
summary:     Add alternate realtime agent status report with different styling

date:        Tue Aug 22 08:14:34 2017 -0300
summary:     Do not insert computed events into agent_activity as they will ruin stats for future days if they are not complete at time of event insertion

date:        Tue Aug 22 08:10:42 2017 -0300
summary:     Fix pagination on distribution reports (updated numrows function)

date:        Tue Aug 22 08:10:13 2017 -0300
summary:     Try to fix drill down if element id is numeric

date:        Tue Aug 22 08:10:01 2017 -0300
summary:     Make unanswered events configurable via designer

date:        Wed Aug 16 17:06:59 2017 -0300
summary:     Hide global search field in search page, use only column filters

date:        Wed Aug 16 16:57:29 2017 -0300
summary:     Do not save state on search, simpler and more logical

date:        Wed Aug 16 16:51:21 2017 -0300
summary:     Remove debug to temp file

date:        Mon Aug 14 22:37:31 2017 -0300
summary:     Fix queue listing in rest, that affected queue selection in scheduled reports

date:        Thu Aug 03 22:27:48 2017 -0300
summary:     Fix on search sliders max values when changing date range

date:        Thu Aug 03 17:36:43 2017 -0300
summary:     Fix search query when short abandon is set

date:        Tue Jun 06 10:52:07 2017 -0300
summary:     Exclude DID event from search ajax to get the correct ENTERQUEUE info2 fields as first appeareance for callerid extraction

date:        Sat Jun 03 13:47:59 2017 -0300
summary:     Fix importing from CSV on grid component

date:        Fri May 19 19:08:18 2017 -0300
summary:     Fix datatables drill down on columns like 00009 so they are not treated as numbers (9) for ajax requests

date:        Thu May 11 16:03:05 2017 -0300
summary:     Add Answered calls designer for agent reports

date:        Thu May 11 15:35:35 2017 -0300
summary:     Fix drill down on agent report

date:        Wed May 10 09:06:50 2017 -0300
summary:     Add start_reprocess and end_reprocess parameters to get_agent_Activity_full_exec

date:        Wed Apr 26 08:37:58 2017 -0300
summary:     Update tag report plugin name for consistency with others

date:        Wed Apr 26 08:35:44 2017 -0300
summary:     Add plugins to extend functionality to online repository

date:        Tue Apr 25 15:08:08 2017 -0300
summary:     Add default translations to main code so they get inserted if missing

date:        Tue Apr 25 15:07:32 2017 -0300
summary:     update swfobject to latest available version

date:        Tue Apr 25 15:06:07 2017 -0300
summary:     Add some translation to admin designer

date:        Tue Apr 25 15:05:54 2017 -0300
summary:     Add some new setup values to admin

date:        Tue Apr 25 09:19:59 2017 -0300
summary:     Show custom action in realtime agent status

date:        Tue Apr 25 09:19:34 2017 -0300
summary:     Update admin-designer to add agent reports

date:        Tue Apr 25 09:19:10 2017 -0300
summary:     Add custom actions in realtime. Add translations for designer. Check acl playrec and downloadrec for file actions.

date:        Mon Apr 24 23:52:35 2017 -0300
summary:     Update admin-designer to filter, import and export report designs

date:        Mon Apr 24 20:18:38 2017 -0300
summary:     Add boostrap select

date:        Mon Apr 24 16:25:47 2017 -0300
summary:     Add custom.js loading to htmlheader

date:        Fri Apr 21 10:47:41 2017 -0300
summary:     Add reparse option to init script for redhat

date:        Fri Apr 21 10:45:53 2017 -0300
summary:     Do not daemonize asterniclog if called with reparse command line option

date:        Fri Apr 21 10:32:04 2017 -0300
summary:     Update debian init script with status, purge and reparse

date:        Wed Apr 19 13:53:19 2017 -0300
summary:     Update compat dblib because new dblib

date:        Wed Apr 19 13:52:22 2017 -0300
summary:     Some fixes on plugin handling and menu

date:        Wed Apr 19 13:51:55 2017 -0300
summary:     Some fixes on realtime

date:        Wed Apr 19 13:51:11 2017 -0300
summary:     Update dblib to use mysqli and support for sqlite

date:        Wed Apr 19 13:49:47 2017 -0300
summary:     Use row names instead of index on query auth

date:        Wed Apr 19 13:47:38 2017 -0300
summary:     Update asterniclog to make infox fields not null

date:        Wed Apr 19 13:47:22 2017 -0300
summary:     Update mysql table definition to now allow null on infox fields

date:        Mon Apr 17 19:09:11 2017 -0300
summary:     Update dbgrid form controls for datetime and time

date:        Mon Apr 17 15:52:47 2017 -0300
summary:     Ignore index on distribution query to make it faster

date:        Mon Apr 17 15:52:17 2017 -0300
summary:     Fix position in answered query materialized=2

date:        Mon Apr 17 15:51:19 2017 -0300
summary:     Format fixes on agent realtime

date:        Mon Apr 17 15:50:32 2017 -0300
summary:     Update db calls for updated mysqli dbi

date:        Mon Apr 17 15:49:17 2017 -0300
summary:     Added column_distribution_style in designer

date:        Mon Apr 17 15:48:16 2017 -0300
summary:     Update db calls for updated mysqli dbi

date:        Mon Apr 17 15:47:45 2017 -0300
summary:     Added sla_10,_20 variables and updated agent activity reports

date:        Tue Mar 28 18:43:12 2017 -0300
summary:     Update script update_mix_mixmonitor.pl to try to read config.php if connection to mysql fails with configured user/pass

date:        Tue Mar 28 18:42:47 2017 -0300
summary:     Update script update_mix_mixmonitor.pl to try to read config.php if connection to mysql fails with configured user/pass

date:        Mon Mar 20 17:24:53 2017 -0300
summary:     remove default 0000-00 from mysql datetime definition as recent mariadb complains about invalid datetime value

date:        Fri Mar 17 12:38:40 2017 -0300
summary:     Update Makefile so it detects 32 or 64 bits better using uname -m only

date:        Wed Feb 22 10:35:42 2017 -0300
summary:     Add sample functions for filtering clid on realtime on custom.php

date:        Wed Feb 22 10:35:14 2017 -0300
summary:     Add use of realtime_clidnum_filter and realtime_clidname_filter for realtime agent displays, that can be set as functions in custom.php

date:        Wed Feb 22 10:34:19 2017 -0300
summary:     Be sure to add new agent report columns for setdesignerdefault on upgraded systems

date:        Wed Feb 22 10:33:40 2017 -0300
summary:     Update makefile to not overwrite config.php or custom.php on make webfiles, make upgrade

date:        Fri Jan 27 13:26:01 2017 -0300
summary:     Fix typo in init script that referred to fop2 in help

date:        Fri Jan 27 13:25:42 2017 -0300
summary:     Update Makefile to install 'at' as it does not come by default in freepbx distro

date:        Mon Jan 23 10:50:05 2017 -0300
summary:     Add queue_stats_full view to mysql-tables.sql definition

date:        Mon Dec 26 15:55:35 2016 -0300
summary:     Realtime ajax call works both in devel and pro with no mod

date:        Mon Dec 26 11:06:23 2016 -0300
summary:     Update phpmailer to fix security vulnerability

date:        Mon Dec 26 11:03:17 2016 -0300
summary:     Agent activity table fields reduce so index can fit

date:        Wed Dec 14 12:35:13 2016 -0300
summary:     Look for DEVICE/xxx/user to try to map device user mode channels and queue members, so outbound call can show metadata duration and dialed number

date:        Fri Dec 02 10:11:01 2016 -0300
summary:     Show only duration and total timer in wav player

date:        Thu Dec 01 17:39:26 2016 -0300
summary:     Add duration on wave surfer plugin

date:        Thu Dec 01 17:07:01 2016 -0300
summary:     In answered detail, if event is not in event answered array, skip it

date:        Fri Nov 18 19:01:03 2016 -0300
summary:     More fixes to make new agent reports work in REST, including agent_detail

date:        Fri Nov 18 18:12:42 2016 -0300
summary:     Fix sched report update of repots and queues on new chosen version. Added agent_availability via rest

date:        Fri Nov 18 13:12:12 2016 -0300
summary:     Update sql to show designable agent columns and fix agent activity definition with queue field

date:        Wed Nov 16 09:22:30 2016 -0300
summary:     Improve on agent reports, redone to make it designable

date:        Fri Nov 11 10:42:14 2016 -0300
summary:     Improve search, add searchv for url, did, tag. Do changes on REST also for search by all fields

date:        Fri Nov 11 10:41:53 2016 -0300
summary:     Allow asterniclog to run even if its already running if passed the reparse -r command line parameter

date:        Wed Nov 09 20:26:19 2016 -0300
summary:     Add url and did to search, improve plugin setup and license management

date:        Wed Oct 26 10:45:24 2016 -0300
summary:     Update plugins and admin to not create tables unless is installed, add some table definitions to mysqltables

date:        Mon Oct 24 16:26:52 2016 -0300
summary:     Fix chosen update for new version on date selection

date:        Fri Oct 14 19:10:25 2016 -0300
summary:     Set default date format to north america standard

date:        Fri Oct 14 16:09:33 2016 -0300
summary:     Add dateconvert script to convert unix timestamp to human readable dates via command line

date:        Fri Oct 14 16:08:46 2016 -0300
summary:     Update chosen to latest version and add boostrap theme to it

date:        Thu Oct 13 19:52:24 2016 -0300
summary:     Limit search subquery on time ranges to avoid full table scann

date:        Fri Oct 07 15:25:18 2016 -0300
summary:     Remove unused js component

date:        Fri Oct 07 15:24:52 2016 -0300
summary:     Fix dist per month chart with momentjs naming

date:        Fri Oct 07 13:03:05 2016 -0300
summary:     Update plugins check of license and enabled

date:        Fri Oct 07 13:02:24 2016 -0300
summary:     Fix realtime in new table layout

date:        Fri Oct 07 13:01:52 2016 -0300
summary:     Fix header report to show extra information in new layout for realtime hide loggedof and server time. Also add function to check if plugin is licensed

date:        Fri Oct 07 12:25:05 2016 -0300
summary:     More verbose descrition on upgrade for admin-license.php

date:        Fri Oct 07 12:24:44 2016 -0300
summary:     Add more settings type in settings

date:        Wed Oct 05 21:19:43 2016 -0300
summary:     Add plugins menu.php files

date:        Wed Oct 05 21:17:43 2016 -0300
summary:     Fix alert classes, allow secure to load admin-license if license is expired

date:        Wed Oct 05 21:16:55 2016 -0300
summary:     If new resource in check acl has admin, only grant to token 2 (admin)

date:        Wed Oct 05 21:16:18 2016 -0300
summary:     Fix alert classes for bootstrap 3

date:        Wed Oct 05 21:15:28 2016 -0300
summary:     Make setup menu sorted

date:        Wed Oct 05 21:14:53 2016 -0300
summary:     Add admin license page that shows details for license and allows to enter upgrade codes

date:        Wed Oct 05 21:14:17 2016 -0300
summary:     Add auto_display setting so home page is auto selected with all queues and agents for today automatically

date:        Wed Oct 05 21:13:25 2016 -0300
summary:     Add make upgrade to just replace parselog and webfiles and not install ioncube or create database

date:        Fri Sep 30 09:33:06 2016 -0300
summary:     Update on plugin license check and shown, shows disabled if it has price and has no license in plugins page

date:        Thu Sep 29 17:46:07 2016 -0300
summary:     Use bootstrap 3

date:        Thu Sep 22 16:30:04 2016 -0300
summary:     Add check for default values in table definitions for alter in asterniclog

date:        Thu Sep 22 16:08:05 2016 -0300
summary:     Make asterniclog update queue_stats_mv for did

date:        Tue Aug 23 18:50:42 2016 -0300
summary:     Fix typo in asterniclog

date:        Tue Aug 23 18:24:56 2016 -0300
summary:     Update realtime functions to detect asterisk 13 and show callerid correctly on asterisk 13 via bridgedto id fixes

date:        Wed Aug 17 15:00:56 2016 -0300
summary:     Add suffix support for outbound track calls in freepbx, so PJSIP trunks with suffix work

date:        Mon Aug 08 17:55:42 2016 -0300
summary:     Use dict agent names in agent detail reports on export and json

date:        Mon Aug 01 13:19:45 2016 -0300
summary:     Fix waittime, talktime in csv export in search

date:        Wed Jul 27 14:11:11 2016 -0300
summary:     Add includetoday to sched reports so it includes the same day today date if you run a report at the end of the day. selecting 5 days including today on a friday night will send reports from monday to friday

date:        Sat Jul 16 13:10:37 2016 -0300
summary:     Be sure to translate extra fields via join table so we can change the name to something pretty via translation tool

date:        Sat Jul 16 10:52:04 2016 -0300
summary:     Be sure links to reports are set to a lowercase id in their href so scroll spy does not fail and breaks playing of recordings down the javascript pipe

date:        Tue Jul 12 21:04:23 2016 -0300
summary:     Update dbgrid for translation stuff, allow help to be a callable function

date:        Tue Jul 12 21:03:29 2016 -0300
summary:     set dict agent name for answer by agent

date:        Tue Jul 12 20:59:20 2016 -0300
summary:     Reduce font for distribution by hour charts and add ringcancel to csv export in agent export

date:        Tue Jul 12 20:22:08 2016 -0300
summary:     Create agent and queue tables from updates on dict_ entries in index

date:        Tue Jul 12 20:20:57 2016 -0300
summary:     Fill untranslated strings to english on admin language

date:        Tue Jul 12 20:19:47 2016 -0300
summary:     Create agent and queue tables from updates on dict_ entries in setup

date:        Tue Jul 12 15:41:01 2016 -0300
summary:     Fix typo in mysql-tables

date:        Fri Jul 08 15:10:25 2016 -0300
summary:     Be sure to show entitified or not in language admin page

date:        Fri Jul 08 15:10:00 2016 -0300
summary:     set update timestamp for language table

date:        Fri Jul 08 15:09:42 2016 -0300
summary:     Update dbgrid to remove magic quotes in runtime and to encode/decode htmlentitites, saving entified and showing unentified, so translations will look good an quotes shouldn't be a problem

date:        Mon Jul 04 20:17:29 2016 -0300
summary:     More comments in update_mix with more one liners to process old files

date:        Wed Jun 29 17:50:49 2016 -0300
summary:     Update trigger and show ringtime on materialized using info1 field. Triggers now populate info1 to info5 for last event

date:        Wed Jun 29 17:49:55 2016 -0300
summary:     Add realtime-spy , realtime-coach and realtime-steal ACL entries

date:        Wed Jun 29 08:24:30 2016 -0300
summary:     Regular ANSWERED query will count the wait time from the first ENTERQUEUE always, so results will match with materialized and count complete wait when failover is in action. Also answered calls in distribution with materialized 1 will show connect time as the date of the call, as the answered report does

date:        Tue Jun 28 12:59:21 2016 -0300
summary:     Fix on queries to make groups work on materialized view 2, also change Queue header to Group header when groups are showing


Version 1.9.2

date:        Fri Mar 09 12:03:13 2012 -0300
summary:     Add sla_steps setup parameter to define number of steps in sla and abandon rate reports

