* Add Grandstream Headset/Speaker Ring
Add variable to choose whether the speaker rings with the headset.
* Add Speaker Only option
Add note that speaker only is supported with a value of 2.
There was an illogical if/else statement that the "else" condition would always set a null value, so it didn't really matter. Re-wrote it to properly filter if the transport is set to dns srv and not affix the SIP Port to the server address.
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!
Support enabling nway conference with Grandstream phones if nway_conference is set to true. If it is not true, it sets the conference URI back to blank to restore local conference
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.
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.