provisioner/Provisioner

Here is my new M7 (V70+) compatible template for Yealink T32G & T38G phones

lorn10 opened this issue · 1 comments

Hi there

Because the share function of OSS End Point Manager doesn't allow to add any comment I start here a thread.

After hours of testing I build a new 100% clean M7 compatible y0000000000$suffix.cfg template for Yealink T32G & T38G. This provision file works PERFECTLY with firmware 32.70.0.185 and 38.70.0.185. Please note that it is designed for EUROPE, - it has European Date, Time, and Daylight Saving parameters. Regarding these Daylight Saving parameters, the previous provision file newer worked for me.

The only bad thing is that the parameter local_time.time_zone_name can not be set globally in OSS End Point Manager. It would be great if someone can implement here a "dynamic link" like {$timezone_name} which will set it automatically in the corresponding configuration file.

Thanks!

Update 27.11.2014: add screen_saver.pic function
Update 25.02.2015: moved wallpaper_upload.url, phone_setting.backgrounds, phone_setting.screen_saver_time & screen_saver.pic.url to $mac.cfg config file.

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


# 
local_time.time_zone = {$timezone}
local_time.time_zone_name = 
local_time.ntp_server1 = {$network_time_server}
local_time.ntp_server2 = pool.ntp.org
local_time.interval = 1000
local_time.summer_time = 1
local_time.dst_time_type = 1
local_time.start_time = 3/5/7/1
local_time.end_time = 10/5/7/2
local_time.offset_time = 60
local_time.time_format = 1
local_time.date_format = 5
local_time.dhcp_time = 0
local_time.manual_time_enable = 1


# 
auto_provision.mode = 1
auto_provision.repeat.enable = 0
auto_provision.repeat.minutes = 1440
auto_provision.weekly.enable = 0
auto_provision.weekly.mask = 0123456
auto_provision.weekly.begin_time = 00:00
auto_provision.weekly.end_time = 00:00
auto_provision.server.url = tftp://{$server.ip.1}
auto_provision.dhcp_option.enable = 1


# 
telnet.enable = 0


# 
voice.cng = 0
voice.vad = 1
voice.side_tone = -30
voice.tone.country = {$tones_country}


# 
distinctive_ring_tones.alert_info.1.text = interal
distinctive_ring_tones.alert_info.1.ringer = 2
distinctive_ring_tones.alert_info.2.text = external
distinctive_ring_tones.alert_info.2.ringer = 5


# 
phone_setting.inter_digit_time = 4
phone_setting.flash_hook_timer = 1
phone_setting.lock = 0
phone_setting.phone_lock.unlock_pin = 10
phone_setting.phone_lock.lock_time_out = 10
phone_setting.ring_type = Busy.wav
phone_setting.active_backlight_level = 6
phone_setting.inactive_backlight_level = 0
phone_setting.backlight_time = 120
phone_setting.ring_for_tranfailed = Ring1.wav
phone_setting.logon_wizard = 0
phone_setting.predial_autodial = 0
phone_setting.is_deal180 = 1
phone_setting.dialnow_delay = {$dialnowdelay}
phone_setting.custom_softkey_enable = 0
phone_setting.theme = {$theme}
phone_setting.emergency.number = 000
phone_setting.sms_popup_enable = 1
phone_setting.common_power_led_enable = 0
phone_setting.mail_power_led_flash_enable = 0
phone_setting.mute_power_led_flash_enable = 0
phone_setting.hold_power_led_flash_enable = 0
phone_setting.voice_volume = 5


# 
dialplan_dialnow.url = tftp://{$server.ip.1}/dialnow.xml


# 
security.user_password = admin:{$adminpw}


# 
firmware.url = {$firmware_name}

Here follows the corresponding M7 $mac.cfg template, - it is tested with Yealink T32G & T38G firmware 3x.70.0.185 and 3x.70.1.33.

Note, - the line related settings are "static". Therefore it looks like: account.1.enable = 1
Actually it should be "dynamic", like account.{$line_m1}.enable = 1 But in my case, that did not work properly. The line related settings were taken with dynamic syntax not correctly / incomplete.

So be aware, because these line settings are fixed to 1, - there may be some problems with configurations which contains more than one phone line.

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

{line_loop}
account.1.enable = 1
account.1.label = {$displayname}
account.1.display_name = {$displayname}
account.1.user_name = {$username}
account.1.auth_name = {$authname}
account.1.password = {$secret}
account.1.sip_server_host = {$server_host}
account.1.sip_server_port = {$server_port}
account.1.sip_listen_port = {$server_port|5060}
account.1.expires = 3600
account.1.outbound_proxy_enable = {$enable_outbound_proxy_server}
account.1.outbound_host = {$outbound_proxy_server}
account.1.outbound_port = {$outbound_proxy_server_port}
account.1.backup_outbound_host = {$bk_outbound_proxy_server}
account.1.backup_outbound_port = {$bk_outbound_proxy_server_port}
voice_mail.number.1 = {$voicemail_number|*97}
account.1.proxy_require = 
account.1.ptime = 20
account.1.srtp_encryption = 0
account.1.100rel_enable = 0
account.1.precondition = 0
account.1.subscribe_register = 1
account.1.cid_source = 0
account.1.session_timer.enable = 0
account.1.session_timer.expires = 
account.1.session_timer.refresher = 0
account.1.enable_user_equal_phone = 0
account.1.blf_list_code = 
account.1.subscribe_mwi = {$subscribe_mwi|1}
account.1.anonymous_call = 0
account.1.reject_anonymous_call = 0
account.1.transport = {$transport}
account.1.shared_line = 
account.1.dialoginfo_callpickup = 1
account.1.auto_answer = {$auto_answer|0}
account.1.missed_calllog = {$missed_call_log|0}
account.1.anonymous_call_oncode = 
account.1.anonymous_call_offcode = 
account.1.anonymous_reject_oncode = 
account.1.anonymous_reject_offcode = 
account.1.bla_number = 
account.1.subscribe_mwi_expires = 3600
account.1.ringtone.ring_type = Ring2.wav
account.1.dtmf.type = 1
account.1.dtmf.dtmf_payload = 101
account.1.dtmf.info_type = 0
account.1.nat.nat_traversal = {$nat_trans}
account.1.nat.stun_server = {$stun_server}
account.1.nat.stun_port = {$stun_server_port}
account.1.nat.udp_update_enable = 1
account.1.nat.udp_update_time = 30
account.1.nat.rport = 0
account.1.advanced.timer_t1 = 0.5
account.1.advanced.timer_t2 = 4
account.1.advanced.timer_t4 = 5
account.1.blf.subscribe_period = 360
{/line_loop}


sip.rfc2543_hold = 0
sip.use_out_bound_in_dialog = 1
sip.reg_surge_prevention = 60
transfer.blind_tran_on_hook_enable = 1
transfer.on_hook_trans_enable = 1
wallpaper_upload.url = {$logo_url}
phone_setting.backgrounds = {$uselogo}
phone_setting.screen_saver_time = {$screensaverdelay}
screen_saver.pic.url = 


{loop_remotephonebook}
remote_phonebook.data.{$count}.url = {$url}
remote_phonebook.data.{$count}.name = {$name}
{/loop_remotephonebook}


{loop_memkey}
memorykey.{$number}.line = {$line}
memorykey.{$number}.value = {$value}
memorykey.{$number}.pickup_value = {$pickup_value}
memorykey.{$number}.type = {$type} 
memorykey.{$number}.xml_phonebook =   
{/loop_memkey}


{loop_linekey}
linekey.{$count}.line = {$line}  
linekey.{$count}.value = {$value}
linekey.{$count}.pickup_value = {$pickup_value}
linekey.{$count}.type = {$type}
linekey.{$count}.xml_phonebook =
linekey.{$count}.label = {$label}
{/loop_linekey}             


{loop_softkey}
#softkey {$number}
programablekey.{$number}.type = {$type}
programablekey.{$number}.line = 0
programablekey.{$number}.value = {$value}
programablekey.{$number}.xml_phonebook =
programablekey.{$number}.history_type =
programablekey.{$number}.label = {$label}
{/loop_softkey}


# 
programablekey.5.type = {$hardkey_up_type}
programablekey.5.line = {$hardkey_up_line}
programablekey.5.value = {$hardkey_up_value}
programablekey.5.xml_phonebook = 
programablekey.6.type = {$hardkey_down_type}
programablekey.6.line = {$hardkey_down_line}
programablekey.6.value = {$hardkey_down_value}
programablekey.6.xml_phonebook = 
programablekey.7.type = {$hardkey_left_type}
programablekey.7.line = {$hardkey_left_line}
programablekey.7.value = {$hardkey_left_value}
programablekey.7.xml_phonebook = 
programablekey.8.type = {$hardkey_right_type}
programablekey.8.line = {$hardkey_right_line}
programablekey.8.value = {$hardkey_right_value}
programablekey.8.xml_phonebook = 
programablekey.9.type = {$hardkey_ok_type}
programablekey.9.line = {$hardkey_ok_line}
programablekey.9.value = {$hardkey_ok_value}
programablekey.9.xml_phonebook = 
programablekey.10.type = {$hardkey_cancel_type}
programablekey.10.line = {$hardkey_cancel_line}
programablekey.10.value = {$hardkey_cancel_value}
programablekey.10.xml_phonebook = 
programablekey.14.type = {$hardkey_fwd_type}
programablekey.14.line = {$hardkey_fwd_line}
programablekey.14.value = {$hardkey_fwd_value}
programablekey.14.xml_phonebook = 


{loop_sdext38}
expansion_module.1.key.{$count}.type = {$type}
expansion_module.1.key.{$count}.line = 0
expansion_module.1.key.{$count}.value = {$value}
expansion_module.1.key.{$count}.pickup_value = {$pickup_value}
expansion_module.1.key.{$count}.label = {$label}
{/loop_sdext38}