Daylight savings Time (US)

Status
Not open for further replies.

kidjake28

Member
Nov 30, 2017
97
0
6
56
Figured it out for anyone wanting to know:

I had to create the following variables in the default settings:

yealink_dst_enable [numeric 1]
yealink_dst_type [numeric 1]
yealink_time_zone_start_time [text 3/2/7/2]
yealink_time_zone_end_time [text 11/1/7/2]

If you look at one of the provisioning files (i.e. y000000000046.cfg) you will see what these variables do and how to set them. I added this to my server and the settings flowed through to the device.
 

Mike Loiterman

New Member
Jan 23, 2018
23
1
3
47
Figured it out for anyone wanting to know:

I had to create the following variables in the default settings:

yealink_dst_enable [numeric 1]
yealink_dst_type [numeric 1]
yealink_time_zone_start_time [text 3/2/7/2]
yealink_time_zone_end_time [text 11/1/7/2]

If you look at one of the provisioning files (i.e. y000000000046.cfg) you will see what these variables do and how to set them. I added this to my server and the settings flowed through to the device.


This didn't work for me on my W52P. None of these variables were pushed to the configuration file. These yealink phones are incredibly frustrating to get provisioned correctly.
 

kidjake28

Member
Nov 30, 2017
97
0
6
56
Hey Mike,

I looked at the provisioning file y000000000025.cfg which is the provision file for the W52P and there seems to be some variables missing.

Please add in the following variables that are in red.


#Configure the update interval (in seconds) when using the NTP server. The default value is 1000.
local_time.interval = {$yealink_time_update}

#Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default);
local_time.summer_time = {$yealink_dst_enable}

#Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week;
local_time.dst_time_type = {$yealink_dst_type}

#Enable or disable the manual time; 0-NTP time, 1-manual time. The default value is 0.
local_time.manual_time_enable = 0
 

kidjake28

Member
Nov 30, 2017
97
0
6
56
Did you make the changes to the y000000000025.cfg file as I described above?

If you want to verify if your settings are flowing to your phone simply type in a browser http://yourdomain/app/provision/{ThePhonesMacAddress}.cfg

It should return back ALL the provision settings. There you can verify the time values.
 

Mike Loiterman

New Member
Jan 23, 2018
23
1
3
47
Did you make the changes to the y000000000025.cfg file as I described above?

If you want to verify if your settings are flowing to your phone simply type in a browser http://yourdomain/app/provision/{ThePhonesMacAddress}.cfg

It should return back ALL the provision settings. There you can verify the time values.


I think that's part of the problem. When I go to http://yourdomain/app/provision/{ThePhonesMacAddress}.cfg, it appears that only the contents of {$mac}.cfg are pushed. The contents of the y000000000025.cfg file don't appear to be part of what is pushed.
 

kidjake28

Member
Nov 30, 2017
97
0
6
56
Actually you are correct. The y000000000025.cfg files doesn't get pushed to the phone in that manner. I believe it picks it up before it gets the {mac}.cfg.

Try copying this to your y000000000025.cfg file:

Code:
#!version:1.0.0.1

##File header "#!version:1.0.0.1" can not be edited or deleted.##

#######################################################################################
##                                   Network                                         ##
#######################################################################################
#Configure the WAN port type; 0-DHCP(default), 1-PPPoE, 2-Static IP Address;
#Require reboot;
network.internet_port.type =

#Configure the static IP address, submask, gateway and DNS server.
#Require reboot;
network.internet_port.ip =
network.internet_port.mask =
network.internet_port.gateway =
network.primary_dns = {$dns_server_primary}
network.secondary_dns = {$dns_server_secondary}

#Configure the username and password for PPPOE connection.
#Require reboot;
network.pppoe.user =
network.pppoe.password =

#Enable or disable the VLAN of WAN port; 0-Disabled(default), 1-Enabled;
#Require reboot;
network.vlan.internet_port_enable = 0

#Configure the VLAN ID, it ranges from 1 to 4094, the default value is 1.
#Require reboot;
network.vlan.internet_port_vid =

#Configure the VLAN priority, it ranges from 0 (default) to 7.
#Require reboot;
network.vlan.internet_port_priority =

#Enable or disable the DHCP to obtain the information of the VLAN; 0-Disabled; 1-Enabled (default);
#Require reboot;
network.vlan.dhcp_enable =

#Configure the DHCP option to obtain the information of the VLAN. It ranges from 0 to 255.
#Multiple options separated by a comma. It supports up to 5 options in all.
#Require reboot;
network.vlan.dhcp_option =

#Configure the HTTP port (80 by default) and the HTTPS port (443 by default) of the web server. Both range from 1 to 65535.
#Require reboot;
network.port.http =
network.port.https =

#Configure the maximum local RTP port. It ranges from 0 to 65535, the default value is 12780.
#Require reboot;
network.port.max_rtpport =

#Configure the minimum local RTP port. It ranges from 0 to 65535, the default value is 11780.
#Require reboot;
network.port.min_rtpport =

#Configure the voice QOS. It ranges from 0 to 63, the default value is 40.
#Require reboot;
network.qos.rtptos =

#Configure the SIP QOS. It ranges from 0 to 63, the default value is 26.
#Require reboot;
network.qos.signaltos =

#Configure the 802.1x mode; 0-Disabled (default), 1-Enabled (EAP-MD5);
#Require reboot;
network.802_1x.mode =

#Configure the username and password for 802.1x authentication.
#Require reboot;
network.802_1x.identity =
network.802_1x.md5_password =

#Enable or disable the VPN feature; 0-Disabled (default), 1-Enabled;
#Require reboot;
network.vpn_enable =

#Enable or disable the LLDP feature; 0-Disabled, 1-Enabled (default);
#Require reboot;
network.lldp.enable =

#Configure the interval (in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60.
#Require reboot;
network.lldp.packet_interval =

#######################################################################################
##                                   Syslog Server                                   ##
#######################################################################################

#Configure the syslog mode; 0-Local, 1-Server,the default value is 0;
#Require reboot;
syslog.mode =

#Configure the IP address of the syslog server;
#Require reboot;
syslog.server =

#Configure the syslog level. It ranges from 0 to 6, the default value is 3.
#Require reboot;
syslog.log_level =

#######################################################################################
##                                   Auto Provisioning                               ##
#######################################################################################

#Enable or disable the Plug and Play feature; 0-Disabled, 1-Enabled(default);
auto_provision.pnp_enable = 1

#Enable or disable the phone to check new configuration when powered on; 0-Disabled, 1-Enabled (default);
auto_provision.mode = 1

#Enable or disable the phone to check the new configuration repeatedly; 0-Disabled (default), 1-Enabled;
auto_provision.repeat.enable = 1

#Configure the interval (in minutes) the phone repeatedly checks the new configuration. The default is 1440.
auto_provision.repeat.minutes =

#Enable or disable the phone to check the new configuration weekly; 0-Disabled (default), 1-Enabled;
auto_provision.weekly.enalbe =

#Configure the week time the phone checks the new configuration. Applicable when the auto provisioning mode is configured as weekly or power on + weekly.
auto_provision.weekly.mask =
auto_provision.weekly.begin_time =
auto_provision.weekly.end_time =

#Configure the URL of the auto provisioning server.
auto_provision.server.url = {$yealink_provision_url}

#Configure the username and password for downloading.
auto_provision.server.username = {$http_auth_username}
auto_provision.server.password = {$http_auth_password}

#Configure the domain name of the PNP server.
auto_provision.pnp_domain_name =

#Configure the PNP vendor information.
auto_provision.pnp_event_vendor =

#Configure the name of the Common configuration file.
auto_provision.common_file_name =

#Enable or disable the DHCP option mode; 0-Disabled, 1-Enabled (default);
auto_provision.dhcp_enable =

#Configure the value (manufacturer of the device) of DHCP option 60.
auto_provision.dhcp_option.option60_value =

#Configure the custom DHCP option number. It ranges from 128 to 254.
auto_provision.dhcp_option.list_user_options =

#Configure AES key (16 characters) for decrypting the common CFG file.
auto_provision.aes_key_16.com =

#Configure AES key (16 characters) for decrypting the MAC-Oriented CFG file.
auto_provision.aes_key_16.mac =

#######################################################################################
##                                   Phone Features                                  ##
#######################################################################################

#Enable or disable the phone to keep sending the SIP messages to the outbound server; 0-Disabled, 1-Enabled (default);
sip.use_out_bound_in_dialog =

#Configure the registration random time (in seconds). It ranges from 0 (default) to 60.
sip.reg_surge_prevention =

#Enable or disable the transferee to display the missed call prompt when receiving a semi_attended transfer call;
#0-Disabled, 1-Enabled (default);
transfer.semi_attend_tran_enable =

#Enable or disable the phone to complete the blind or attended transfer through on-hook;
#0-Disabled (default), 1-Enabled;
transfer.blind_tran_on_hook_enable =
transfer.on_hook_trans_enable =

#Enable or disable to access the web user interface of phone using the http/https protocol;
#0-Disabled,1-Enabled (default);
#Require Reboot;
wui.https_enable =
wui.http_enable =

#Enable or disable the feature key synchronization, 0-Disabled (default), 1-Enabled;
bw.feature_key_sync =

#######################################################################################
##                                   Security Settings                               ##
#######################################################################################

#Enable or disable the phone to only accept the certificates in the Trusted Certificates list;
#0-Disabled, 1-Enabled (default);
security.trust_certificates = {if $trusted_cert_only == "false"}0{elseif $trusted_cert_only == "true"}1{/if}

#Set the password of the user or the administrator, the value format is: user:password or admin:password;
{if isset($user_name) }
security.user_name.user = {$user_name}
security.user_password = {$user_name}:{$user_password}
{/if}
{if isset($admin_name) }
security.user_name.admin = {$admin_name}
security.user_password = {$admin_name}:{$admin_password}
{/if}
{if isset($var_name) }
security.user_name.var = {$var_name}
security.user_password = {$var_name}:{$var_password}
{/if}

base.pin_code =

#######################################################################################
##                                   Language Settings                               ##
#######################################################################################

#Specify the web language, the valid values are: English, Chinese_S, German, Italian and Turkish;
lang.wui =

#######################################################################################
##                                   Time Settings                                   ##
#######################################################################################

#Configure the time zone and time zone name. The time zone ranges from -11 to +12, the default value is +8.
#The default time zone name is China(Beijing).
#local_time.time_zone = +8
#local_time.time_zone_name = China(Beijing)
local_time.time_zone = {$yealink_time_zone}
local_time.time_zone_name = {$yealink_time_zone_name}

#Configure the domain name or the IP address of the NTP server. The default value is cn.pool.ntp.org.
local_time.ntp_server1 = {$ntp_server_primary}
local_time.ntp_server2 = {$ntp_server_secondary}

#Configure the update interval (in seconds) when using the NTP server. The default value is 1000.
local_time.interval =

#Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default);
local_time.summer_time =

#Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week;
local_time.dst_time_type =

#Configure the start time of DST. The default value is 1/1/0.
#If the DST type is configured as By Date, the value format is Month/Day/Hour. For example, the value 5/20/10 means the start time is at 10:00 on May 20.
#If the DST type is configured as By Week, the value format is Month/Day of Week/Day of Week Last in Month/Hour of Day.
#For example, the value 1/4/2/5 means the start time is at 5 o'clock on Tuesday of the 4th week in January.
local_time.start_time = {$yealink_time_zone_start_time}

#Configure the end time of DST. The default value is 12/31/23. The value format is the same to the start time.
local_time.end_time = {$yealink_time_zone_end_time}

#Configure the offset time (in seconds). It ranges from -300 to 300, the default value is blank.
local_time.offset_time = {$yealink_offset_time}

#Configure the time format; 0-12 Hour, 1-24 Hour (default);
local_time.time_format = {$yealink_time_format}

#Configure the date format; 0-WWW MMM DD (default), 1-DD-MMM-YY, 2-YYYY-MM-DD, 3-DD/MM/YYYY, 4-MM/DD/YY, 5-DD MMM YYYY, 6-WWW DD MMM;
local_time.date_format = {$yealink_date_format}

#Enable or disable the DHCP Time; 0-Disabled (default), 1-Enabled;
local_time.dhcp_time = {$yealink_dhcp_time}

#Enable or disable the manual time; 0-NTP time, 1-manual time. The default value is 0.
local_time.manual_time_enable =

#######################################################################################
##                                   Dial Plan                                       ##
#######################################################################################

#Configure the area code.
dialplan.area_code.code =
dialplan.area_code.min_len = 1
dialplan.area_code.max_len = 15

#When applying the rule to multiple lines, each line ID separated by comma.
#e.g. dialplan.area_code.line_id = 1, 2, 3
dialplan.area_code.line_id =

#Configure the block out number. X ranges from 1 to 10.
#dialplan.block_out.number.x =
dialplan.block_out.number.1 =

#When applying the rule to multiple lines, each line ID separated by comma, e.g. 1,2,3.
#dialplan.block_out.line_id.x =
dialplan.block_out.line_id.1 =

#Configure the replace rule. X ranges from 1 to 10;
#dialplan.replace.prefix.x =
#dialplan.replace.replace.x =
#dialplan.replace.line_id.x =

dialplan.replace.prefix.1 =
dialplan.replace.replace.1 =
dialplan.replace.line_id.1 =

#######################################################################################
##                                   Phone Settings                                  ##
#######################################################################################

#Configure the return code when activating DND; 404-No Found, 480-Temporarily not available (default), 486-Busy here;
#features.dnd_refuse_code = 480

#Configure the return code when refusing a call. The valid values are 404, 480, 486 (default).
features.normal_refuse_code = 486

account.X.dnd.on_code =
account.X.dnd.off_code =

#Enable or disable the call waiting feature; 0-Disabled, 1-Enabled (default);
call_waiting.enable = {$yealink_call_waiting}

#Enable or disable the playing of call waiting tone; 0-Disabled, 1-Enabled (default);
call_waiting.tone =

#Enable or disable the phone to dial the IP address directly; 0-Disabled, 1-Enabled (default);
features.direct_ip_call_enable = 0
sip.trust_ctrl=1

#Enable or disable the phone to save the call history; 0-Disabled, 1-Enabled (default);
features.save_call_history =

#Configure the overtime (in minutes) of logging web user interface. It ranges from 1 to 1000, the default value is 5.
features.relog_offtime = 5

#Enable or disable the phone to deal the 180 SIP message after the 183 SIP message; 0-Disabled, 1-Enabled (default);
phone_setting.is_deal180 = 1

#Enable or disable the phone to automatically dial out the dialed digits in the pre-dial interface; 0-Disabled (default), 1-Enabled;
phone_setting.predial_autodial = 1

#######################################################################################
##                                   Base_Upgrade                                    ##
#######################################################################################
firmware.url = {$yealink_w52p_firmware_url}

#######################################################################################
##                                  Handset_upgrade                                            ##
#######################################################################################

over_the_air.url = {$yealink_w52p_handset_firmware_url}
over_the_air.base_trigger = 1
over_the_air.handset_tip = 1

#######################################################################################
##                                   Certificates                                    ##
#######################################################################################
trusted_certificates.url =

#trusted_certificates.delete = http://localhost/all,delete all the trusted certificates;
trusted_certificates.delete =

server_certificates.url =

#server_certificates.delete = http://localhost/all, delete the server certificate;
server_certificates.delete =

#######################################################################################
##                                   Local Contact/DST Time/Replace Rule             ##
#######################################################################################
auto_dst.url =
dialplan_replace_rule.url =
blacklist.url =
handset.X.contact_list.url =

#######################################################################################
##                                   Customized Factory Configurations               ##
#######################################################################################
#Configure the access URL for downloading the customized factory configurations;
custom_factory_configuration.url =

#######################################################################################
##                                   OpenVPN                                         ##
#######################################################################################
#Configure the access URL for downloading the open VPN tar;
openvpn.url =


#######################################################################################
##                 Remote Phonebook                                                     ##
#######################################################################################

#Configure the access URL and dispaly name of the remote phonebook. X ranges from 1 to 5.
remote_phonebook.display_name =

{if isset($yealink_remote_phonebook_1_name) }
remote_phonebook.data.1.name = {$yealink_remote_phonebook_1_name}
{else}
remote_phonebook.data.1.name = Users
{/if}
{if isset($yealink_remote_phonebook_1_url) }
remote_phonebook.data.1.url =  {$yealink_remote_phonebook_1_url}
{else}
remote_phonebook.data.1.url = http://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=users
{/if}

{if isset($yealink_remote_phonebook_2_name) }
remote_phonebook.data.2.name = {$yealink_remote_phonebook_2_name}
{else}
remote_phonebook.data.2.name = Groups
{/if}
{if isset($yealink_remote_phonebook_2_url) }
remote_phonebook.data.2.url =  {$yealink_remote_phonebook_2_url}
{else}
remote_phonebook.data.2.url = http://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=groups
{/if}

{if isset($yealink_remote_phonebook_3_name) }
remote_phonebook.data.3.name = {$yealink_remote_phonebook_3_name}
{else}
remote_phonebook.data.3.name = Extensions
{/if}
{if isset($yealink_remote_phonebook_3_url) }
remote_phonebook.data.3.url =  {$yealink_remote_phonebook_3_url}
{else}
remote_phonebook.data.3.url = http://{if isset($http_auth_username)}{$http_auth_username}:{$http_auth_password}@{/if}{$domain_name}/app/provision/?file=directory.xml&contacts=extensions
{/if}

remote_phonebook.data.4.name = {$yealink_remote_phonebook_4_name}
remote_phonebook.data.4.url =  {$yealink_remote_phonebook_4_url}

remote_phonebook.data.5.name = {$yealink_remote_phonebook_5_name}
remote_phonebook.data.5.url =  {$yealink_remote_phonebook_5_url}

#######################################################################################
##                                   Network Directory                               ##
#######################################################################################

#Configure the interval(in minutes) for the phone to update phonebook,(1440 by default);
directory.update_time_interval =

#Enable or disable the phone to match the incoming call with the contact in the remote phonebook; 0-Disabled, 1-Enabled(default);
directory.incoming_call_match_enable =

#Enable or disable the broadsoft directory; 0-Disabled (default), 1-Enabled;
bw.directory_enable =

#Network Phonebook
xsi.host =
xsi.user =
xsi.password =
bw_phonebook.group_enable = 1
bw_phonebook.group_common_enable = 0
bw_phonebook.enterprise_enable = 0
bw_phonebook.enterprise_common_enable = 0
bw_phonebook.personal_enable = 0
bw_phonebook.update_interval = 1440

#Network Call Log
bw_phonebook.call_log_enable = 0


#######################################################################################
##                                   Tone                                            ##
#######################################################################################
voice.tone.country = Custom
voice.tone.dial =
voice.tone.ring =
voice.tone.busy =
voice.tone.callwaiting =


#######################################################################################
##                                   Number Assignment                               ##
#######################################################################################
#The line accept to incoming(1,2,3,4,5);X ranges from 1 to 5
#handset.X.incoming_lines = 1,2,3,4

handset.1.incoming_lines =

#The line accept to call out(1,2,3,4,5)
#handset.X.dial_out_lines = 1,2,5
#handset.X.dial_out_default_line = 1

handset.1.dial_out_lines =
handset.1.dial_out_default_line =

handset.1.name =

#######################################################################################
##                                   Auto Provisioning Code                          ##
#######################################################################################

#This feature allows user to trigger the auto provisioning by pressing a predefined string on the phone.
#Require reboot;
#"X" ranges from 1 to 50

#Configure the auto provisioning name.
#The valid value is a string, the maximum length is 100.
#autoprovision.X.name =

#Configure the auto provisioning code;
#The valid value is a string, the maximum length is 100.
#autoprovision.X.code =

#Configure the URL of the auto provisioning server.
#The valid value is a string, the maximum length is 256.
#autoprovision.X.url =

#Configure the username and password for downloading.
#The valid value is a string, the maximum length is 100.
#autoprovision.X.user =
#autoprovision.X.password =

#Configure AES key (16 characters) for decrypting the common CFG file and MAC-Oriented CFG file.
#autoprovision.X.com_aes =
#autoprovision.X.mac_aes =

autoprovision.1.name =
autoprovision.1.code =
autoprovision.1.url =
autoprovision.1.user =
autoprovision.1.password =
autoprovision.1.com_aes =
autoprovision.1.mac_aes =


#######################################################################################
##                                   TR069                                           ##
#######################################################################################
#The TR069 feature is only applicable to some designated firmware version.
#All settings of TR069 require reboot.
#Enable or disable the TR069 feature; 0-Disabled (default), 1-Enabled;

managementserver.enable =
managementserver.username =
managementserver.password =
managementserver.url =
managementserver.periodic_inform_enable =
managementserver.periodic_inform_interval =
managementserver.connection_request_username =
managementserver.connection_request_password =


#######################################################################################
##                                   SNMP                                            ##
#######################################################################################
#Enable or disable the SNMP feature; 0-Disabled (default), 1-Enabled;
#Require reboot;
network.snmp.enable =
network.snmp.port =

#Configure the IP address(es) of the trusted SNMP server,multiple IP addresses must be separated by a space.
#Require reboot;
network.snmp.trust_ip =
 

Mike Loiterman

New Member
Jan 23, 2018
23
1
3
47
Actually you are correct. The y000000000025.cfg files doesn't get pushed to the phone in that manner. I believe it picks it up before it gets the {mac}.cfg.

Try copying this to your y000000000025.cfg file:

Code:
#!version:1.0.0.1

##File header "#!version:1.0.0.1" can not be edited or deleted.##
...

That looks like the default y000000000025.cfg file...which is what I have. But my phone W52p, won't pick it up, or it's not getting pushed.
 

kidjake28

Member
Nov 30, 2017
97
0
6
56
It has the changes that I was talking about. Well at this point I don't think I can help any further as it seems that you've tried everything.
 

Craig Fox

New Member
Mar 21, 2018
26
3
3
53
My experience required that I only create the yealink_dst_enable variable. The other settings flowed through to the variables defined in the provisioning files some other way. Does anyone know how those other yealink variables get created/defined? The standard DST variables are mapped, but I couldn't find out how. You can see the cfg file used by connecting to your provisioning server (https://{SERVERNAME}/apps/provision/y0000000000XX.cfg?mac=xxxxxxxxxx)

Also, mysteriously , while yealink_start_time and yealink_end_time were defined and used, the yealink_dst_enable variable never showed when I viewed the file manually. Thought the affect on the phones is obvious (they show the correct time). Thoughts?
 

vin3

New Member
Jul 17, 2019
6
1
3
47
While this did correct the issue, is there anything in the works that will fix this year after year?
 
Status
Not open for further replies.