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.