markjcrane
0f2b942781
Add a new setting transcribe_enabled to category call_recordings
2025-12-24 13:40:23 -07:00
markjcrane
1e515baa34
Update the translation conversation format
2025-12-24 12:32:26 -07:00
frytimo
75b5f00812
Fix network widget speed calculation ( #7679 )
...
- Fix the speed to calculate on bits instead of bytes so the speed transfer rates are more accurate
- Add PHPDoc blocks to the dashboard class (No code changes)
2025-12-24 09:48:15 -07:00
markjcrane
29e5d5d628
Add a missing permission check for call_center_announce_frequency
2025-12-23 16:02:18 -07:00
Alex
f3540a2546
Fix: Correctly find the next available voicemail greeting id ( #7678 )
...
when uploading to avoid using the same name as another greeting.
2025-12-23 14:22:59 -07:00
Alex
9f60bc2971
Fix password reset email domain name ( #7675 )
...
$domain_name is undefined since it was replaced with $password_reset_domain
2025-12-23 11:13:58 -07:00
markjcrane
bd9190ce38
Show the IVR Menu's extension in the Destination Select List
2025-12-23 09:51:39 -07:00
FusionPBX
9efe2a9a5b
Filter out recordings with hangup cause 'LOSE_RACE'
2025-12-23 09:18:47 -07:00
markjcrane
80fe26f4dc
Fix the file_type detection
...
- Get the default device template file ealier in the render method. This wil fix retreiving the file type.
- Rename the file variable to the device_file
- Pass in the domain_uuid, domain_name, and user_id when the object is initialized.
2025-12-22 21:09:36 -07:00
Alex
dfa0d4a215
Fix voicemail greeting format when using mp3 ( #7673 )
2025-12-22 16:11:22 -07:00
Alex
b8322fc07c
Fix deleting music on hold thats on a different domain ( #7670 )
2025-12-22 13:40:34 -07:00
markjcrane
4bc0fcb4ab
Fix domain_name for :port in the URL
...
- Account for the following URLs
- user:pass@domain_name:port
- user:pass@domain_name
- domain_name:port
2025-12-22 13:30:51 -07:00
markjcrane
12559fad46
Add a comment on the render method
...
- Removing deprecated code for the database save method
2025-12-22 13:16:23 -07:00
volga629-1
22800c74c0
Bug fix Remove port from domain_name in authentication ( #7662 )
...
* Remove port from domain_name in authentication
Update domain_name property after removing port.
Before
```
["domain_name"]=> string(10) "1.1.1.1:8080"
```
After
```
["domain_name"]=> string(10) "1.1.1.1"
```
2025-12-22 12:18:07 -07:00
Alex
52245de31e
Add music_on_hold_global permission ( #7669 )
...
* Add music_on_hold_global permission
* Update app_config.php
* Update music_on_hold.php
2025-12-22 12:05:20 -07:00
Alex
19e71e228f
Add missing label for global groups ( #7668 )
...
* Add missing label for global groups
* Update groups.php
2025-12-22 11:21:42 -07:00
markjcrane
abee34fced
Simplify the update_indexes
2025-12-21 00:21:01 -07:00
markjcrane
1afc1daa88
Use CREATE INDEX IF NOT EXISTS
2025-11-28 17:16:19 -07:00
markjcrane
a38161acba
Merge branch 'master' of https://github.com/fusionpbx/fusionpbx
2025-11-28 16:51:44 -07:00
FusionPBX
2cf0bdc2ce
Fixes a problem when text-to-speech provider uses mp3
...
- Get the greeting format to support mp3
- Fixes a problem when using elevenlabs
- Code assumed wav format
- Check class existence before instantiating objects
2025-12-18 15:57:10 -07:00
fusionate
fd36312abd
Voicemails - List: Adjust column widths.
2025-12-18 15:16:45 -07:00
denisent
a408596f26
Fix 1 missing empty line in ax86r template ( #7667 )
2025-12-18 14:47:41 -07:00
Alex
72dafd903d
Use the time_format default setting on more pages ( #7663 )
...
* Use the time_format default setting on more pages
* Update call_recordings.php
* Update devices.php
* Update email_queue.php
* Update emergency.php
* Update time formatting based on settings
* Update fax_logs.php
* Update fax_queue.php
* Update time_condition_edit.php
* Update xml_cdr_details.php
* Update xml_cdr_search.php
* Update xml_cdr_statistics_inc.php
* Update xml_cdr_statistics.php
* Update xml_cdr.php
* Update contact_edit.php
* Update contact_notes_view.php
* Update contact_notes.php
* Update contact_timer.php
* Update contact_times.php
* Update user_logs.php
* Update footer.php
* Update template.php
* Update fax_files.php
* Update recent_calls.php
* Update missed_calls.php
* Update recordings.php
* Update xml_cdr_statistics_inc.php
* Update xml_cdr_inc.php
* Update xml_cdr_inc.php
* Update recordings.php
* Update missed_calls.php
* Update call_block.php
* Update user_logs.php
* Update xml_cdr_inc.php
* Update xml_cdr_details.php
* Update recordings.php
* Update fax_queue.php
* Update fax_logs.php
* Update fax_files.php
* Update event_guard_logs.php
* Update emergency.php
* Update email_queue.php
* Update devices.php
* Update call_recordings.php
* Update time_condition_edit.php
* Update time_condition_edit.php
* Update call_block.php
* Update call_recordings.php
* Update devices.php
* Update email_queue.php
* Update emergency.php
* Update event_guard_logs.php
* Update fax_files.php
* Update fax_logs.php
* Update fax_queue.php
* Update recordings.php
* Update xml_cdr_inc.php
* Update user_logs.php
* Update destination_summary.php
* Update xml_cdr_extension_summary.php
* Update music_on_hold.php
* Update fax_send.php
* Update voicemail_greetings.php
* Update voicemail_greetings.php
* Update xml_cdr_inc.php
* Update xml_cdr_inc.php
* Update xml_cdr_inc.php
* Update xml_cdr_statistics_inc.php
* Update xml_cdr_statistics_inc.php
* Update xml_cdr_inc.php
* Update xml_cdr_extension_summary.php
* Update destination_summary.php
* Update xml_cdr_statistics_inc.php
* Update xml_cdr_inc.php
* Update xml_cdr_statistics_inc.php
* Update contact_edit.php
* Update css.php
* Update template.php
* Update fax_send.php
2025-12-18 09:52:49 -07:00
denisent
5ee6b1b0e9
Fix account 2 through 6 registering ( #7666 )
...
Fixes registrations for accounts 2 through 6
Accounts 7 - 16 are non defined in the template
2025-12-18 09:12:12 -07:00
markjcrane
374713e7c6
Call the update_indexes method when updating the Schema
2025-11-28 16:51:22 -07:00
markjcrane
73a85cf57f
Set the transcribe output_type
2025-11-27 08:14:30 -07:00
markjcrane
eb964855fe
Add methods get_database_indexes and update_indexes
2025-11-27 08:07:07 -07:00
denisent
389c47faf3
Fix new lines in ax83h and ax86r templates ( #7665 )
...
* fix new lines in ax83h template
phone does not provision without the extra lines
* fix new lines in ax86r template
phone does not provision without the extra lines
2025-12-17 01:31:57 -07:00
markjcrane
98e04da076
Format code with PHP Formatter - pretty-php
2025-11-26 07:19:30 -07:00
FusionPBX
ebbd7c9783
Add file_type user it to determine when to user xml::sanitize
2025-12-16 11:58:00 -07:00
FusionPBX
a4841da8b6
Fix the contact_extensions_filter_by value set it to call_group
2025-12-16 11:02:29 -07:00
FusionPBX
6d8618cb2f
Add sip_h_caller_destination to the dial_string if it has a value
2025-12-15 12:17:43 -07:00
FusionPBX
46bc156dc4
Predefine the subject and body variables
2025-12-15 10:45:28 -07:00
markjcrane
498fd29748
Username and password required only when register is true
2025-12-14 08:57:08 -07:00
markjcrane
fd039bd78c
Add new message-added_to_queue
2025-12-13 16:23:00 -07:00
fusionate
5de3e7a9d5
Fax Server - Advanced Settings: Add Test button to check email account connectivity.
2025-12-11 19:18:11 -07:00
markjcrane
793212ffd7
Add option to filter contact extension by call_group
...
- This is needed for polycoms for a large client
- So that it doesn't phone book limits on a Polycom
2025-12-11 17:45:48 -07:00
markjcrane
dcc78adcb5
Use PHP Formatter - pretty-php to format the code
2025-12-11 16:46:35 -07:00
FusionPBX
357bf650b5
Add ability to update the call recording transcription
2025-12-10 19:34:09 -07:00
FusionPBX
37c7e44146
Call record update record_stereo, and record_stereo_swap
2025-12-10 15:31:40 -07:00
FusionPBX
6250cc6d91
Change the method to transcribe_queue
2025-12-10 15:10:46 -07:00
frytimo
10868ec0cb
Set dialplan_detail_enabled to true when creating destination ( #7661 )
2025-12-10 14:11:24 -07:00
frytimo
2b483ef0cb
Fix event_message body always empty ( #7660 )
...
Message body was not checked. This will update the get and set methods to ensure if the body is present the body can be set and retrieved.
2025-12-10 14:10:05 -07:00
markjcrane
08a583473a
Use a left Join for the xml_cdr_transcripts
2025-12-10 13:49:29 -07:00
markjcrane
9c322f58e2
Remove deprecated view definitions in app_defaults.php
...
Views are being created by the database class views method.
2025-12-10 13:30:09 -07:00
markjcrane
c18117f8b5
Remove record_transcription replaced by transcript_json
2025-12-10 13:06:11 -07:00
markjcrane
d7127cd1a6
Replace create or replace with drop the view then create view.
2025-12-10 13:02:21 -07:00
FusionPBX
10629fbbf0
Call Recording Transcription multiple changes
...
- Use the new transcribe_queue class and method
- Move call recording transcription to xml_cdr_transcripts
- Remove transcribe_target table, keys and colum name
2025-12-10 12:08:34 -07:00
volga629-1
178f83d6be
View statements fixes ( #7657 )
...
* Missing open statement
Missing open statement
```
$view['sql'] .= "); \n";
```
* Double SELECT will break query
Double SELECT break query
* Forgot update version
Forgot update version
* No matching (
No matching opening
```
FROM
v_contacts as c
);
```
2025-12-10 11:24:34 -07:00
john doe
b2fc02f4a8
Replace CONCAT with indexable expressions and refactor using CTE ( #7647 )
...
Replaced unindexable CONCAT() with COALESCE(col, '') || ... and refactored dialplan lookup into a CTE with UNION to split destination-based and public-context paths.
CONCAT() is marked as STABLE in PostgreSQL and cannot be used in functional indexes, which forced sequential scans during dialplan lookups. To enable future indexing and improve query optimizability, we replace all CONCAT(a, b, c) calls with (COALESCE(a, '') || COALESCE(b, '') || COALESCE(c, '')), which is functionally equivalent for text columns (treating NULLs as empty) and composed only of IMMUTABLE operations.
Additionally, the query was refactored using a CTE with UNION to decompose a complex top-level OR condition into two independent branches:
1. Dialplans linked to matching destinations.
2. Public dialplans with domain_uuid IS NULL.
This structure allows the planner to optimize each path separately, avoid full-table scans, and leverage primary key lookups efficiently - even without additional indexes.
On a production dataset with 3kk records in v_dialplans, this change reduced dialplans query latency from ~1.5s to ~37ms (40.5x faster), with further gains possible via expression indexes.
2025-12-09 09:02:26 -07:00