Commit Graph

9466 Commits

Author SHA1 Message Date
FusionPBX
07fb1c2dc6 Remove follow_me_caller_id_uuid field. 2021-03-06 09:12:39 -07:00
FusionPBX
297fea5d64 Remove the forward_caller_id_uuid field. 2021-03-06 09:06:31 -07:00
FusionPBX
75b38c9d7f Remove forward_caller_id_uuid field. 2021-03-06 09:05:32 -07:00
FusionPBX
4ccbebc9bc Remove forward_caller_id_uuid field. 2021-03-06 09:01:03 -07:00
FusionPBX
4f8413cc6a Remove forward_caller_id_uuid field. 2021-03-06 09:00:00 -07:00
FusionPBX
8e79821304 Remove forward_caller_id_uuid field. 2021-03-06 08:59:12 -07:00
FusionPBX
ee1e4727c6 Remove call_forward_caller_id permission. 2021-03-06 08:53:49 -07:00
FusionPBX
f82cdd4830 Remove follow_me_caller_id and field follow_me_caller_id_uuid. 2021-03-06 08:51:27 -07:00
FusionPBX
acbda27f4a Remove caller ID on follow me and call forward.
The caller ID is redundant as it is already set on the extension.
2021-03-06 08:47:10 -07:00
FusionPBX
7390f79ae0 Add destination order to the order by. 2021-03-06 08:16:30 -07:00
FusionPBX
70577ac83f Add destination order to the database and use it. 2021-03-06 08:14:54 -07:00
FusionPBX
c6707fc835 Add destination_order ot the destinations table. 2021-03-06 08:10:47 -07:00
FusionPBX
906b86d3dc Use elseif instead of a series of if statements.
Also replace strlen with isset.
2021-03-05 20:03:57 -07:00
FusionPBX
0b91af9f42 Add option to handle category: provision type: array 2021-03-05 12:09:26 -07:00
Andrew Querol
c7a35cc1ad Fix device MAC address imports not normalizing.
If it is not normalized you can get a not found error when provisioning since that is checking the database with a normalized MAC address
2021-03-04 17:33:25 -06:00
FusionPBX
46d13689fc Fix a duplicaiton problem when editing and saving extension settings. 2021-03-04 13:41:27 -07:00
emaktech
a0ab52d369 CDR - Don't Check Filesystem for Recording on Load
I have been debugging slow loading on our CDR pages for the last few days now.

One issue that we have encountered is that currently as the page loads, it checks the filesystem for each file one at a time. In our case, we move recordings to object storage after 1 week, so each time we check for a file it passes api calls which take over 1 second each to return a result. This causes this page to not load at all for us in many cases.

Regardless, this current method is unnecessarily I/O intensive and really page load is probably not the time to be checking for each file one by one.

So this PR is the simplest solution - remove the check entirely. I would contend that the administrator should remove the record_path from the database if the file was removed so this should be acceptable.

This solves this particular issue for us, but would need feedback from others if not checking for files makes sense.
2021-03-03 15:48:17 -05:00
demonspork
99fb4ae078 Grandstream: Hide BLF Remote Status And More Distinctive Ring
Hide the other connected party on the BLF of supported phones. When not hidden a busy BLF will show the other connected party/sttaus of the call by flashing back and forth between the BLF label and the caller ID.
It also impacts the park buttons, but they typically only show the word "park" because of the character limitations.
Also did more effective find/replace for the distnctive ring variables with regex!
2021-03-02 21:34:25 -06:00
Len
a021867008 Remove duplicate uuid/variables 2021-02-28 20:35:51 -05:00
FusionPBX
771b958ebe Reformat the status to show the reg expire seconds. 2021-02-27 10:08:41 -07:00
FusionPBX
d10ea48bee Get the domain name using the device. 2021-02-26 17:17:32 -07:00
demonspork
0f9098cfb4 Grandstream: Plantronics EHS and additional non-clobbering of settings
Grandstream template updates to support plantronics EHS via grandstream_headset_type and grandstream_headset_key_mode variables.
Also updated wallpaper and screensaver if/else statements to leave out the variables if they are not defined instead of clobbering the user setting. If you want to mandate a certain setting, just set the variable. If the variable is unset it will not overwrite on provision and allow the previous setting to remain.
2021-02-25 15:23:33 -06:00
FusionPBX
e69bebcbe8 Merge pull request #5778 from demonspork/cdr-stats-improvements
Improved Missed Call accuracy, cdr statistics, and hide duplicated CDRs from Enterprise Ring Groups
2021-02-24 17:37:27 -07:00
FusionPBX
fe92309901 Update index.lua 2021-02-23 21:00:56 -07:00
FusionPBX
d2ff58ee42 Update index.lua
Added a commented out resync option.
2021-02-23 20:56:37 -07:00
demonspork
c11589b1c3 Track Voicemail Message Success/Failure in CDR
Track whether or not a message was actually left in the voicemail box. Previously we only knew that voicemail answered, now we know whether the caller left a message.
Callers who didn't leave a message now show up in the "Cancelled" call filter in xml_cdr.php

Bonus: Fixed a bug with the originating_leg_uuid that was breaking extension summary from a previous commit and some other minor bugs/typos.
2021-02-21 21:09:37 -06:00
demonspork
0ef2551698 Exclude cc_side agent legs from missed_call
Excluded cc_side = agent calls from being marked as missed_call = true

Fixed the previous performance issue with adding the cc_side != 'agent' to the SQL and removed its filter from the rendering loop for the xml_cdr.
2021-02-21 18:26:24 -06:00
demonspork
b5272984d1 Don't filter LOSE_RACE of already filtering originating_leg_uuid
It is redundant to filter out LOSE_RACE when originating_leg_uuid is also filtered, there is an overlap where every call with LOSE_RACE also has an originating_leg.
2021-02-20 11:51:24 -06:00
demonspork
77974b71dc Fix Query performance for cc_side agent
For some unexplained reason, including the `"and cc_side != 'agent'` in the WHERE tanks the query performance from seconds to minutes on Postgres 9.4. It runs great on Postgresql 13. Reverting to the "blank content while writing the page content" approach for this value unless I can find the source of the problem. - Oh, also removed an unnecessary condition that prevents you from filtering by LOSE_RACE.
2021-02-20 11:51:24 -06:00
demonspork
92dc62a7b4 Fix TTA display bug in Export CDR PDF
Same thing as in the xml_cdr.php page display. If the call is answered instantly, less than a second, then the difference is 0s, and the 0s is a visual indicator that the call was answered, it just took less than a second. Calls that didn't get answered have a large negative number stored in the TTA field, 0 is an answered call.
2021-02-20 11:51:24 -06:00
demonspork
d150f16b9d Fixed "Failed" call status in CDR
Re-implemented the commented out "Failed" call status SQL filter. It was no different than leaving the "Call status" search box empty. Removed the send_refuse restriction.
2021-02-20 11:51:24 -06:00
demonspork
56a318b2f0 Fix TTA display bug
If the TTA is 0 because the call was answered in less than a second (so that the answer_epoch and start_epoch are in the same second), it would not display the TTA at all. This is safe to include 0 because "unanswered" calls are going to have a TTA that is is the negative value of the start time, significantly lower than 0.
2021-02-20 11:51:24 -06:00
demonspork
ef38b15cdc Add new missed call rules to HTTP CDR Imports
Add new missed call rules to HTTP CDR Imports. They had only been added to the xml_cdr class used by the file import.
2021-02-20 11:51:24 -06:00
demonspork
1a1edf1195 Improved Missed Call accuracy, cdr statistics, and hide duplicated CDRs from Enterprise Ring Groups
Changes
--------
  - Improve CDR Import Logic so that missed_call column is more accurate to the "missed" status. It would previously mark unanswered outbound calls as "missed". These are their own category of call.
  - Don't mark the CDRs of the "legs" of an Enterprise Ring Group call as missed, only the originating_leg will be marked (one missed call per call) - We could also just "skip" importing these call legs. Simultaneous ring groups don't have these duplicated CDRs for every ringing phone. The "Skip" approach might make most of the rest of this work irrelevant.
  - Create `originating_leg_uuid` column in v_xml_cdr and import it into the database during CDR imports so it is available for filtering Enterprise Ring Group calls out of CDRs and reports.
  - Move logic that hides the agent leg of CC calls, LOSE_RACE calls, and the Enterprise Leg hiding code from xml_cdr.php into xml_cdr_inc.php into the SQL query WHERE clause so the CDR page looks more consistent. The logic is the same, but these calls are now excluded from the query result entirely instead of having to "skip" rendering them in the list on the xml_cdr.php page.
  - Improved CDR statistics page to use the missed_call variable instead of relying upon billsec and answer_stamp/answer_epoch. Added the same logic as the xml_cdr pages to the query so it excludes enterprise ring group call legs.
  - Laid the query groundwork in xml_cdr_statistics to report on Average TTA (No UI changes yet to include that statistic)

Retroactive Changes
---------------------
There are a few changes going back in time to bring everything in line with this better reporting accuracy:
  - If you want the populated the `originating_leg_uuid column` in `v_xml_cdr`, it will rely upon having the `json` column and not having deleted the data from it like I know some people do for space saving.
  - If you don't have the json column,  you are mostly out of luck for hiding the duplicate legs of Enterprise ring group calls. It might be possible, but it isn't going to be easy.
  - On Newer Versions of postgres, this works:
```
UPDATE v_xml_cdr SET originating_leg_uuid = (json->'variables'->>'originating_leg_uuid')::uuid WHERE json->'variables'->>'originating_leg_uuid' IS NOT NULL;
```
  - For some reason on postgres 9.4, I had to UPDATE every single record because I couldn't get it to allow the json syntax properly after the WHERE. This is fine, it doesn't change the end result it just means it has to run the UPDATE on every record, which will take a while
```
UPDATE v_xml_cdr SET originating_leg_uuid = (json->'variables'->>'originating_leg_uuid')::uuid;
```
  - To remove the `missed_call = true` on all your previous outbound records so that they don't show up when you filter on missed (outbound unanswered calls can be accurately listed with TTA max 0 and direction outbound)
```
UPDATE v_xml_cdr SET missed_call = false WHERE direction = 'outbound' AND missed_call = true;
```
2021-02-20 11:51:24 -06:00
Len
e7c55ccc1d Duplicate variable yealink_ringtone_url and uuid
Duplicate variable yealink_ringtone_url and uuid 7af991ec-ddb9-4942-a05d-d1acc529fef5
2021-02-18 18:29:33 -05:00
FusionPBX
71b10db150 Merge pull request #5770 from konradSC/patch-90
Add Toll Allow to Call Broadcast
2021-02-17 14:01:49 -07:00
chansizzle
91719cc374 added pin lock vars 2021-02-17 13:14:49 -07:00
konradSC
a55b9a6377 Add toll allow 2021-02-17 10:51:42 -05:00
konradSC
e4212fa335 Add toll allow 2021-02-17 10:51:11 -05:00
konradSC
7ae966efc6 Add Toll Allow to Broadcast 2021-02-17 10:49:22 -05:00
demonspork
202bc7363e Fixed "Missed" link and exclude LOSE_RACE from CDR stats
Simple change to exclude lose_race and fix a URL change for the xml_cdr page.
2021-02-16 21:21:59 -06:00
Andrew Querol
b92ed17f17 Fix app_config typo for recordings.
storage_type was never initialized as a setting in the database due to the y counter being reset to 0 after it. This was causing the storage_type setting to not show up in the UI.
2021-02-15 13:53:37 -06:00
FusionPBX
43735a93e9 Update the URL from type to import_type 2021-02-11 15:33:11 -07:00
FusionPBX
b5f9db0bd2 Update the URL from type to import_type 2021-02-11 15:32:19 -07:00
agree
74c7f236ff Follow me fix call recording 2021-02-11 12:59:34 -05:00
FusionPBX
449f6ab872 Remove the cdata seems to cause problems rather than help. 2021-02-11 03:35:16 -07:00
chansizzle
691dee7353 yealink cp920 firmware path 2021-02-10 14:43:34 -07:00
FusionPBX
2ca45d4cf2 Add elseif and improve indentation. 2021-02-10 12:38:18 -07:00
FusionPBX
0fbd90899a Merge pull request #5760 from daniel-lucio/patch-183
More DB compatibility
2021-02-10 12:36:17 -07:00
FusionPBX
3b4cc55671 Move the extension settings button. 2021-02-10 00:42:08 -07:00