This is going to sound really stupid but I have tested this extensively, submitted a Jira on it months ago (was told FS 1.6.20 was no longer supported) and it's still an issue. Please do not take my word for this and create a ring group to test the delay settings with a stopwatch and you should see the real vs set delay discrepancy.
In FreeSWITCH (both on 1.6.20 and 1.8.5) when sending leg_delay_start values, for whatever reason the actual time is double the value sent. The result of this is that if you send 1000ms as leg_delay_start the actual time the call will be delayed is 2000ms.
Because of this bad behavior, ring group delay settings end up being exactly double what is set. e.g. if you set 10s, you will have to wait 20s for the call to be initiated on leg b.
The easiest way to fix this behavior is to simply multiply leg_delay_start by half as much to get the right "real" delay time. Ugly, I know... I'm not sure if leg_delay_start value is passed elsewhere, I'm thinking this behavior may also be present in find me/follow me. If this gets accepted I will look for other locations where this behavior occurs and submit separate PRs if I find any other instances of this.
When setting call_block_matching, the setting was not being evaluated as true because it was looking for 'call block' group when the actual name is 'call_block'.
Adding the underscore fixes this small syntax issue and the setting works correctly.
Previously, if a bridge statement was written with prepended variables to be passed, the gateway name would not be parsed and replaced. Additionally, if multiple bridges were used in failover in a single bridge statement separated by a pipe, only the first would be parsed and replaced.
I noticed this after upgrade to FreeSWITCH 1.8.5 (from 1.6.20) which changed failover behavior with multiple separate bridge statements. When network returns 486 BUSY, it will proceed to second bridge statement, initiating a second call. To allow failover and not have this behavior, you must write a single statement and separate your failover bridges with a pipe, this change allows the UI to show all gateway names on the line once saved.
Examples:
{fax_use_ecm=on}sofia/gateway/99b1234c-667c-4b31-9d2f-31d4f396abfa/$1
=> {fax_use_ecm=on}sofia/gateway/Gateway_Name/$1
sofia/gateway/0e70e123-00fd-4f0c-b525-bc7f6283cfa1/$1|sofia/gateway/99b1234c-667c-4b31-9d2f-31d4f396abfa/1$1
=> sofia/gateway/Gateway_One/$1|sofia/gateway/Gateway_Two/1$1
New variables for the DP750 to allow the following settings:
$grandstream_repeater_mode_enable
(Enables or disables repeater mode on DP750 base)
$grandstream_hanging_group_mode
(Allows users to set hanging group mode (e.g. ring handsets at the same time, sequentially, etc.)
$grandstream_handset_X_line_Y_enable
(Allows setting of handset to line assignment)
Add the following advanced SIP variable. Disabling this allows Yealink phones to display the SIP error reason in the format sent by the carrier rather than Q.850 format e.g. "User Busy" rather than "NORMAL_CLEARING"
sip.call_fail_use_reason.enable = {$yealink_sip_call_fail_use_reason_enable}
When re-recording the extension voice mail name the new recorded name is appended to the old recorded name file. The new recorded name should replace the old recorded name.
When re-recording the extension voice mail name the new recorded name is appended to the old recorded name file. The new recorded name should replace the old recorded name.
Similar to #3472 needed to allow up to 48 extension to be selectable and editable on the device_edit page.
Additionally, fixed sorting issue so line numbers are correctly sorted sequentially (line number is stored as text field so needed to change cast in SQL query).
* Add language, dialect and voice selection
This scans the FreeSWITCH sounds directory to find installed languages and then allows the user to select the language, dialect and voice from a dropdown. The selected option will then be built into the dialplan and saved in the database when saving the IVR.
This fixes many cases of inconsistent language problems with email templates, multilanguage voicemail support, etc. by setting an appropriate installed dialect and voice. This variable is then passed along to the next applications correctly rather than relying only on the default settings on the switch and creating inconsistent behaviors.
example of poor behavior before: Setting language to "fr" on the IVR with default switch settings as "en, us, callie" would set the language to fr-us callie which is an obviously incorrect configuration. By forcing all variables to be set to together in the IVR dialplan it avoids such inconsistent behaviors.
* Fix Yealink Programmable Key Template Conflicts
Some Yealink templates have both on the {$mac.cfg} files as well as the y000000000000.cfg files. This creates a conflict when configuring the pgorammable keys in the templates so all the programmable options have been removed from the {$mac.cfg} files to resolve the conflict.
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update {$mac}.cfg
* Update ivr_menu_edit.php
Adds yealink_language_gui variable to all Yealink templates.
Note: Some templates were forcing "English" through conditional statement or hard-coded.
Now, if no value is set, it will not set any value in the template. This should not hurt anything as default language on Yealink phones is "English"
* Add new Yealink MWI Subscribe Variable
Adds new variable in Yealink provisioning templates to allow control of MWI subscribe setting behavior on all accounts. Setting the new variable once affects all accounts.
New variable:
yealink_subscribe_mwi_to_vm.
Setting affected:
account.X.subscribe_mwi_to_vm setting
Phones affected:
T1x
T2x
T3x
T4x
May affect MWI subscription behavior. Yealink default is 0, many of the old templates hard coded 1. This change may affect MWI behavior for some users, so check to make sure the variable is added in FusionPBX to match your previous settings before upgrading.
* Add Yealink alert_info Distinctive Ring Variables
Adds new variables in Yealink provisioning templates to allow control of distinctive ring text and distinctive ringtone options.
New variables:
yealink_ring_text_X
yealink_ring_file_X
Setting affected:
distinctive_ring_tones.alert_info.X.text
distinctive_ring_tones.alert_info.X.ringer
Phones affected:
T1x
T2x
T3x
T4x
T5x
User Effect
This should not have any effect on existing provisioning settings unless the new variables are defined.
* Add files via upload
* Fix yealink_firmware_url
* Delete {$mac}.cfg
* Delete y000000000076.cfg
* Delete y000000000000.boot
* Add Yealink W60B Template
New template for Yealink W60b DECT handset.
* Add New Variables from T4x Templates + New Ones
Merged in all variables from the Yealink T4x templates to ensure the T54 phone provisions with similar settings to the T4x phones.
Notable changes include admin user login password is now correctly set, timezone settings get set and many other changes. No behaviors have been hardcoded/changed that don't already exist on T4x phones so should not break any existing configurations.
In addition, there are a ton of new variables that can be set in the Fusion GUI. All these new changes should probably also be backported to all the other Yealink templates as well.
* Add New Variables from T4x Templates + New Ones
Merged in all variables from the Yealink T4x templates to ensure the T54 phone provisions with similar settings to the T4x phones.
Notable changes include admin user login password is now correctly set, timezone settings get set and many other changes. No behaviors have been hardcoded/changed that don't already exist on T4x phones so should not break any existing configurations.
In addition, there are a ton of new variables that can be set in the Fusion GUI. All these new changes should probably also be backported to all the other Yealink templates as well.
* Add new Yealink MWI Subscribe Variable
Adds new variable in Yealink provisioning templates to allow control of MWI subscribe setting behavior on all accounts. Setting the new variable once affects all accounts.
New variable:
yealink_subscribe_mwi_to_vm.
Setting affected:
account.X.subscribe_mwi_to_vm setting
Phones affected:
T1x
T2x
T3x
T4x
May affect MWI subscription behavior. Yealink default is 0, many of the old templates hard coded 1. This change may affect MWI behavior for some users, so check to make sure the variable is added in FusionPBX to match your previous settings before upgrading.
* Add Yealink alert_info Distinctive Ring Variables
Adds new variables in Yealink provisioning templates to allow control of distinctive ring text and distinctive ringtone options.
New variables:
yealink_ring_text_X
yealink_ring_file_X
Setting affected:
distinctive_ring_tones.alert_info.X.text
distinctive_ring_tones.alert_info.X.ringer
Phones affected:
T1x
T2x
T3x
T4x
T5x
User Effect
This should not have any effect on existing provisioning settings unless the new variables are defined.
* Add files via upload
* Fix yealink_firmware_url
* Add new Yealink MWI Subscribe Variable
Adds new variable in Yealink provisioning templates to allow control of MWI subscribe setting behavior on all accounts. Setting the new variable once affects all accounts.
New variable:
yealink_subscribe_mwi_to_vm.
Setting affected:
account.X.subscribe_mwi_to_vm setting
Phones affected:
T1x
T2x
T3x
T4x
May affect MWI subscription behavior. Yealink default is 0, many of the old templates hard coded 1. This change may affect MWI behavior for some users, so check to make sure the variable is added in FusionPBX to match your previous settings before upgrading.
* Add Yealink alert_info Distinctive Ring Variables
Adds new variables in Yealink provisioning templates to allow control of distinctive ring text and distinctive ringtone options.
New variables:
yealink_ring_text_X
yealink_ring_file_X
Setting affected:
distinctive_ring_tones.alert_info.X.text
distinctive_ring_tones.alert_info.X.ringer
Phones affected:
T1x
T2x
T3x
T4x
T5x
User Effect
This should not have any effect on existing provisioning settings unless the new variables are defined.
Adds new variable in Yealink provisioning templates to allow control of MWI subscribe setting behavior on all accounts. Setting the new variable once affects all accounts.
New variable:
yealink_subscribe_mwi_to_vm.
Setting affected:
account.X.subscribe_mwi_to_vm setting
Phones affected:
T1x
T2x
T3x
T4x
May affect MWI subscription behavior. Yealink default is 0, many of the old templates hard coded 1. This change may affect MWI behavior for some users, so check to make sure the variable is added in FusionPBX to match your previous settings before upgrading.
* Add available translations for new language option
* Add language option to IVR menu editing page
Adds the option to define language on the IVR edit page. This is needed because when a phrase is selected in a language other than the default language, Freeswitch fails to load the file.