Commit Graph

306 Commits

Author SHA1 Message Date
Alex 98d5e4fd67
Dashboard - Added chart cutout and text size default settings (#6976) 2024-05-13 14:20:33 -06:00
fusionate 7556956763
CDR - Details: Mitigate PHP 8.x warnings. 2024-05-13 10:27:34 -06:00
Alex 301a1f69a0
Move dashboard defaults settings to theme (#6973) 2024-05-08 13:41:21 -06:00
Alex 66b57a7784
Dashboard - Add gradient background color settings (#6972)
* Dashboard - Add gradient background color setting
2024-05-08 09:54:18 -06:00
fusionate 58d2a9d754
CDR - Details: Mitigate PHP 8.x errors. 2024-05-02 15:42:47 -06:00
FusionPBX 55bebdec6d
Set the label_call_status to prevent a warning 2024-05-02 07:32:53 -06:00
FusionPBX d11308b844
New setting save_call_detail_record
If blocked by call block option to save the call detail record true or false.
2024-04-30 18:21:42 -06:00
Alex 5eead0d88a
Dashboard - Add disabled option to details state (#6962)
* Dashboard - Add disabled option to details state
2024-04-25 23:36:54 -06:00
Alex c38caaadc9
Update missed_calls.php (#6960) 2024-04-24 14:37:47 -06:00
Alex 28efea22fd
Dashboard - Add background color settings (#6959)
* Dashboard - Add background color settings

* Update missed_calls.php

* Update recent_calls.php

* Update app_languages.php

* Update app_config.php

* Update dashboard_edit.php

* Update index.php

* Update css.php

* Update system_status.php

* Update system_cpu_status.php

* Update system_counts.php

* Update system_counts.php

* Update switch_status.php

* Update index.php

* Update system_counts.php

* Update domain_limits.php

* Update call_forward.php

* Update caller_id.php

* Update ring_group_forward.php
2024-04-24 14:14:24 -06:00
FusionPBX 9e71d87012
Recent Calls hide Lose Race 2024-04-22 12:16:30 -06:00
Alex 19e21d9997
Update missed_calls.php (#6953)
* Update missed_calls.php

* Update recent_calls.php

* Update voicemails.php
2024-04-19 17:36:16 -06:00
Alex 808e2cbe66
Dashboard - Add chart type setting (#6951)
* Dashboard - Add chart type setting
2024-04-18 16:57:45 -06:00
Alex 1412ed7f68
Dashboard - Add text color settings (#6950)
* Dashboard - Add text color setting
2024-04-17 16:01:54 -06:00
FusionPBX e81d711a92
Update xml_cdr.php
- Initialize the database class in the constructor
- Improve efficiency by removing extra database instances
- Bug fix. If cc_queue has been provided and call_center_queue_uuid is empty. Then use it to get the call_center_queue_uuid
2024-04-16 09:54:27 -06:00
FusionPBX 179745f871
Make Call Center variables more robust 2024-04-09 17:20:38 -06:00
Andy-Seattle bbabb4f861
Handle ERR no such channel during call intercepts (#6943)
When call center is not enabled, during a standard call intercept sometimes we are seeing an error as follows:
call_center_queue_uuid=-ERR%20No%20such%20channel!%0A
cc_queue_joined_epoch=-ERR%20No%20such%20channel!%0A
Normally it returns call_center_queue_uuid=_undef_ but occasionally shows the ERR message.
When the epoch variable is set to this it causes the XML CDR service to continually stop and start at the same CDR which raises the CPU load on the server significantly until the CDR is deleted.
This code fix will handle the ERR message in the same way as _undef_.
2024-04-05 17:36:25 -06:00
FusionPBX e0f4309076
New setting call_log_enabled default false 2024-03-12 17:44:46 -06:00
FusionPBX e6ca01a7af
Add Call Logs and CDR JSON, and Call Flows.
Move the CDR JSON and and Call Flows data to their own tables and add a new table for the Call Log.
2024-03-11 18:51:36 -06:00
FusionPBX bb8c4c0e66
Include ORIGINATOR_CANCEL for missed calls 2024-03-01 14:08:47 -07:00
FusionPBX 4d9160b1cd
Extension summary add voicemail column and use the CDR status 2024-02-22 21:04:14 -07:00
FusionPBX 746413cbfe
Update recent_calls.php
- Simplify SQL time format
- Use SQL limit to be more efficient
- Use the call detail record status
2024-02-20 14:48:24 -07:00
FusionPBX cdee086045
Use SQL limit for missed calls 2024-02-20 14:16:53 -07:00
FusionPBX 61d40a62ee
Simplify the time format 2024-02-20 13:41:21 -07:00
FusionPBX 53f6f040c1
Update the URL to use status 2024-02-20 13:24:27 -07:00
FusionPBX 60d4a7c1be
Use the call status missed to find missed calls 2024-02-20 13:12:52 -07:00
FusionPBX dbc88b847a
Replace voicemail_answer_stamp with voicemail_message_seconds
The voicemail_answer_stamp value exists if the call reaches voicemail. The voicemail_message_seconds is set if the caller leaves a voicemail message.
2024-02-20 12:47:10 -07:00
FusionPBX 359a323c1f
Don't use voicemail_id to determine call status
This is an unreliable way to detect if the call when to voicemail.
2024-02-20 12:28:59 -07:00
FusionPBX bbb71439d0
Bug Fix: missed_call handling and voicemail status
Call going to voicemail for an extension was showing status answered instead of voicemail and missed call
2024-02-06 15:24:46 -07:00
FusionPBX 51fe5f1d4b
Update xml_cdr.php 2024-01-18 14:13:44 -07:00
FusionPBX 4e622d9b10
Handle no answer for unset status 2023-12-27 13:08:15 -07:00
FusionPBX 7de2ae0d23
Use last_bridge_hangup_cause to determine status 2023-12-27 11:37:36 -07:00
FusionPBX 4919633568
Create debian.service 2023-12-26 20:45:54 -07:00
FusionPBX 89ab37ce9d
Create xml_cdr.php 2023-12-26 20:43:59 -07:00
FusionPBX 7d819c4822
Use isset and if statements
Changed ifelse to if statement to make sure it evaluates each condition.
2023-12-20 13:59:33 -07:00
FusionPBX b9686aeae7
Set call center cancel call to missed 2023-12-20 13:49:48 -07:00
FusionPBX cea06a548e
Add provider_uuid to destinations dialplan xml and XML CDR 2023-12-09 23:07:36 -07:00
FusionPBX 65b6600e82
Changing format from 11/02 to 02 Nov
Reason for the change better worldwide support. Problem with numeric dates is that it can have a date 07/09 and does mean July 9 or September 7. In the US its standard month then day. However this isn't universal. This makes the dates confusing. So changed this to day and abbreviated month.
2023-11-02 12:45:38 -06:00
FusionPBX 12964eb83e
Prevent an error by casting to int 2023-10-30 20:29:56 -06:00
FusionPBX 3514a489d1
After application conference skip the row 2023-10-25 11:23:38 -06:00
FusionPBX 72fd0fe343
Move code for calculating the duration 2023-10-25 11:13:20 -06:00
FusionPBX cb65e7f66e
Prevent an warning by using preg_quote
This accounts for special characters like a * in the value.
2023-10-25 10:41:03 -06:00
FusionPBX 57d8d52336
Add Call Detail Record status no answer 2023-10-25 09:37:17 -06:00
FusionPBX d7e2ab900b
Call Detail Record add status and use billsec for the duration 2023-10-24 15:58:13 -06:00
FusionPBX f09b04eb01
Only add default value if application was not found 2023-10-23 16:13:07 -06:00
FusionPBX 1e06e3aa1c
Move the find_app method to the xml_cdr class 2023-10-23 15:15:58 -06:00
FusionPBX d6fb5ac7b8
Call Flow Summary add the IVR Menus status to routed 2023-10-21 20:57:11 -06:00
FusionPBX 115e9e0055
Use lower case status values to match the translation labels. 2023-10-21 13:26:26 -06:00
FusionPBX 026b2f4f44
CDR Call Flow Summary add a status for Call Flows 2023-10-21 10:40:31 -06:00
FusionPBX ea05178018
Add new rows when callee_id_number exists 2023-10-20 22:16:48 -06:00
FusionPBX 9fb99cc137
Add additional error handling 2023-10-19 20:02:55 -06:00
FusionPBX 8158518837
CDR call flow array add bridged_time, answer_time and update park 2023-10-19 19:49:51 -06:00
FusionPBX 6ce57690ee
Update the call_flow_summary array add a new row for inbound calls 2023-10-18 21:26:25 -06:00
FusionPBX 7c98190bde
Add new class methods called call_flow and call_flow_summary 2023-10-17 16:21:17 -06:00
FusionPBX 694d701757
Auto decode when urlencoding is detected 2023-10-16 09:55:20 -06:00
FusionPBX c7ae3b3a63
[SECURITY] Prevent showing Missed and Recent Calls to users that are not in xml_cdr_domain group and not assigned any extensions. 2023-10-13 14:25:02 -06:00
FusionPBX 09dd09305c
Fix CDR import for HTTP POST
Add syslog server messages with more details when sending access denied.
2023-09-25 12:55:20 -06:00
FusionPBX 24bdccdb0b
Use the settings class instead of the SESSION 2023-09-18 14:59:21 -06:00
FusionPBX 9684541dbe
PHP 8.1 end function requires array 2023-09-08 09:33:54 -06:00
FusionPBX 85f6793a41
Set bridge statements variables 2023-08-25 16:05:33 -06:00
FusionPBX e8e6673be8
Remove some redudant code for finding record_path and record_name 2023-08-10 09:05:42 -06:00
FusionPBX 0304dfffad
Use empty record_name
Recording call through a ring group its not setting the record_name variable this picks up the recording from the file system.
2023-08-04 13:53:37 -06:00
fusionate f61302190b
Dashboard - Missed Calls: Apply domain time zone. 2023-08-01 20:33:51 +00:00
fusionate d68f9826f1
Dashboard - Recent Calls: Apply domain time zone. 2023-08-01 20:33:39 +00:00
FusionPBX 49648e6655
Handle errors better for invalid xml with simplexml_load_string
When the XML object detects invalid XML move the file to the failed directory.

After reading and processing the XML save each call detail record to the database.
2023-06-29 17:25:20 -06:00
frytimo d7bbcd89f5
Use magic constant dir (#6711)
* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__ to load only functions.php

* replace spaces with tab character

* update dirname command to use levels instead of nesting

* use magic constant __DIR__

* update dirname command to use levels instead of nesting

* Update access_control_edit.php

* Update access_control_import.php

* Update access_controls.php

* Update dnd.php

* Update access_controls_reload.php

* Update call_center_agents.php

* Update call_center_agents.php

* Update fax_queue.php

* Update login.php

* Update pdo.php

* Update pdo_vm.php

* Update switch.php

* Update index.php

* Update css.php

* Update v_mailto.php

* Update fax_to_email.php

---------

Co-authored-by: FusionPBX <markjcrane@gmail.com>
2023-06-15 11:28:23 -06:00
FusionPBX 5759a636e6
Add missing cc_queue_joined_epoch variable 2023-06-08 18:47:17 -06:00
Alex 66e14c586c
Update xml_cdr.php (#6749) 2023-06-08 16:57:06 -06:00
Alex 22a01b147d
Fixed call center queue agents table (#6746)
* Update destination_edit.php

* Fixed php 8.1 errors

* Fixed cdr recording download not working

* Update call_center_queue_edit.php

* Update call_center_queue_edit.php

---------

Co-authored-by: FusionPBX <markjcrane@gmail.com>
2023-06-06 11:31:22 -06:00
fusionate 28ebdbc722
CDR: Restore call recording download. 2023-06-06 16:29:09 +00:00
fusionate 69900445b5
CDR: Updates for PHP 8.1 2023-06-01 22:55:19 +00:00
fusionate c4f44f9ad5
Dashboard - Recent Calls: Updates for PHP 8.1 2023-05-29 19:57:35 +00:00
fusionate c3fda2c09d
Dashboard - Missed Calls: Updates for PHP 8.1 2023-05-29 19:57:10 +00:00
fusionate 81d19fdce7
XML CDR [Class]: Updates for PHP 8.1 2023-05-29 18:30:07 +00:00
fusionate 9227344748
xml_cdr [Class]: Update for PHP 8.1 2023-05-23 20:20:40 +00:00
FusionPBX 62b95fa690
Handle call center variables with a value of _undef_ 2023-05-18 23:41:21 -06:00
markjcrane cf580e6c8c Move failed call detail records to a failed directory 2023-05-18 17:44:36 -06:00
FusionPBX eccae62149
Replace is_array with !empty 2023-05-10 22:25:10 -06:00
FusionPBX 020b1414aa
Use empty instead of is_array 2023-05-10 22:22:21 -06:00
fusionate 80ce576ea5
Dashboard - Missed Calls: Updates for PHP 8.1 2023-05-10 22:34:27 +00:00
fusionate c391faccfc
Dashboard - Recent Calls: Updates for PHP 8.1 2023-05-10 22:32:44 +00:00
frytimo fef8165be2
Frytimo pr patches for php8.1 (#6630)
* Passing null to parameter #2 ($string) of type string is deprecated

* Passing null to parameter #1 ($string) of type string is deprecated

* php 8.1 fixes

* php 8.1 fixes - replace strlen($var) > 0 with !empty($var)

* php 8.1 fixes - replace ${var} with {$var}

* php 8.1 fixes - replace ${var} with {$var}

* php 8.1 fixes - replace ${var} with {$var}

* php 8.1 fixes - replace ${var} with {$var}

* php 8.1 fixes - strlower with null

* php 8.1 fixes - strreplace with null

* php 8.1 fixes - passing null to base64_decode

* php 8.1 fixes - check for false and check for null on $this->dir

* php 8.1 fixes - remove assignment of $db variable to modules object

* php 8.1 fixes - avoid sending null to substr

* php 8.1 fixes - change ${var} to {$var}

* php 8.1 fixes - check for null before preg_replace

* php 8.1 fixes - remove setting db variable on domains object

* php 8.1 fixes - set empty string if $row['domain_setting_subcategory'] is null

* php 8.1 fixes - set empty string if $_REQUEST['show'] is not available

* php 8.1 fixes

* php 8.1 fixes - correct $_POST checking syntax

* php 8.1 fixes - correct $_POST variables

* php 8.1 fixes

* Use brackets consistently

* Update user_setting_edit.php

* Change to not empty

* Update device.php

* Update text.php

---------

Co-authored-by: Tim Fry <tim@voipstratus.com>
Co-authored-by: FusionPBX <markjcrane@gmail.com>
2023-05-05 10:46:37 -06:00
frytimo 69bd42af05
remove unneeded destruct methods as GC has higher performance (#6631)
Co-authored-by: Tim Fry <tim@voipstratus.com>
2023-04-27 20:18:53 -06:00
Finn 54be67935b
Improve error handling when a recording download fails (#6592) 2023-03-29 17:46:51 -06:00
FusionPBX e3696871c9
If record_length is not set then still set record path and name
This affected outbound calls in some cases.
2023-03-15 14:48:26 -06:00
fusionate f6b065085b
Dashboard - Missed & Recent Calls: Fix minor inconsistencies. 2023-02-23 14:50:16 +00:00
FusionPBX 67bfd31765
Fix syntax problem 2023-02-21 19:44:41 -07:00
demonspork 95579ca716
Fix cdr delete for recordings schema change and minor refactoring (#6532)
* Fix cdr delete for recordings schema change and minor refactoring

* Update changes to prevent losing changes.

Also remove trailing spaces

---------

Co-authored-by: FusionPBX <markjcrane@gmail.com>
2023-02-21 10:38:25 -07:00
Luis Daniel Lucio Quiroz 9aa88dc537
Make the XML CDR Importer more resilient (#6543)
So I discovered 2 things,

1. If a user adds the default config cdr-field-array with the content of a database field Let's pretend they want to show the xml_cdr_uuid column (for support purposes) - it could be any column, the SQL construction will fail as not Postgresql, Not MariaDB/MySQL allow having a column repeated twice. Adding array_unique() fixes this issue.

2. This one is for developers: If a developer wants to create more columns in the v_xml_cdr table and make them visible in the CDR app, common sense tells to add the default setting cdr-field-array to show it. As the code is now, this will look into the freeswitch variables and overwrite it with NULL. I am adding a condition that verifies if the value has been already assigned, if it is, it won't overwrite it. This allows any developer who may be interested in extending the CDR to simply extend the class without touching it; very handy to keep the original code untouched.
2023-02-08 18:43:25 -07:00
fusionate d04b6db96a
Dashboard: Call Forward widget, Edit position without reload, misc adjustments. 2023-01-31 00:19:09 +00:00
FusionPBX e3b600eaff
Exclude Call center agent as missed call
The call could have been answered by another call center agent.
2023-01-28 14:49:35 -07:00
fusionate b35aafc391
Dashboard: Click chart to expand/contract details. 2023-01-28 01:52:13 +00:00
demonspork a3811128af
Support upcoming change in freeswitch - bridge_uuid changes to bridge_uuids array (#6531) 2023-01-27 10:18:35 -07:00
FusionPBX cf69ee46dc
Use the call recordings view 2023-01-07 08:44:20 -07:00
Alex 37ab508d1b
Update chart.js v3 to v4 (#6529)
* Update chart.min.js

* Update missed_calls.php

* Update recent_calls.php

* Update system_counts.php

* Update system_cpu_status.php

* Update system_status.php

* Update domain_limits.php

* Update voicemails.php
2023-01-06 13:18:53 -07:00
FusionPBX bccc736fea
Update xml_cdr.php 2022-12-05 17:52:36 -07:00
FusionPBX 0f60b2b34d
Add record_length numeric
And remove call_recordings save
2022-12-03 18:36:42 -07:00
FusionPBX 88bc541d0d
Create database object if not set. (#6492)
* Create database object if not set.
2022-11-08 09:40:12 -07:00
markjcrane d50bcb476a Replace root.php 2022-10-10 16:35:14 -06:00
FusionPBX 0fce8ac1a5
Add more comments and is_array before foreach 2022-09-12 08:59:28 -06:00