When creating a new extension/voicemail box it can have a global/domain default setting for whether to enable transcription.
`transcription_enabled_default` default setting that determines what status transcription should be for all new extensions/voicemails.
Add the ability for the "History" to show the original caller ID when picking up parked/intercepted calls instead of the history showing the dial code that was used to pick up the call. The Call History on the phones would show park+*5901 after using a button to pick up a parked call. The Caller's name would display properly during the call but wasn't in the history unless this variable is set.
This adds emergency_caller_id_select permissions. and an "Emergency" checkbox to destinations. When emergency_caller_id_select permssion is added, the "Emergency Caller ID number" and name become a dropdown in the Extension and only show Destinations that have the "Emergency" checkbox selected to indicate they are valid for emergency calls.
Bring the ring_group_caller_id_name and number fields and permissions in line with the prefix permissions so that users without permission don't overwrite those those fields by hitting save.
Extension searches would fail if an extension limit was set. This is because the unset($parameters) that was used at the end of the query that counts the extensions is also unsetting the "search" parameter that was set previously. I moved the //get total extension count for domain query to happen before the search parameter is added to fix it.
the *_setting_order was missing from the SELECT queries for all 3 places I could find that use this mechanism. The device settings don't seem to use it.
Various basic variables were missing like transport type and sip_port and basic things were wrong like Accept Incoming SIP from Proxy Only was disabled.
This template P codes are almost identical to the GXP16XX except that the loops for button programming doesn't seem to work with it at least with my limited testing, so they are left out for now.
Tested and working with firmware 1.0.1.89
Fix config URL so that the phones don't get an invalid URL when $domain_name is unset. They would previously receive `/app/provision` with no domain/ip included, which makes the phone unable to provision again once they have been added to the Devices page without manually re-setting the config URL or factory defaulting the device.
The alternative solution is that the PHP code could always ensure that the $domain_name variable is set even if the device doesn't exist. My suggestion is to see if it can be set to the same domain/IP as the original provision request from this unconfigured device
Excludes the P8352 value if the default setting grandstream_speaker_ring_volume is unset. Depends on PR #5522
Before anyone asks, Mandatory just means that the variable must be valid, not that it must be included in every XML download. The phone already has a valid value in its internal settings, so as long as we stay safe from setting it to an empty value or outside of the range of 0-7, we are safe. Excluding it is a valid option, which is also true for all settings labelled Mandatory in the Grandstream templates.