# ####################################################################
# General settings
# ####################################################################

# === passwords and access control ===
{if isset($admin_password)}admin password: {$admin_password}{"\n"}{/if}   # 22222 is the default
#user password: 123                 # default is blank
#web interface enabled: 1           # Enable/Disable Web UI
#options password enabled: 1        # default is 0 == not protected
#options simple menu: 1             # default is 0 == full options menu

tone set: UK                        # Australia, Europe (generic tones), France, Germany, Italy, UK, US (also used in Canada)

# === display date and time ===
#time format: 0                  # 1 for 24 hr format
#date format: 3                  # 0 == WWW MMM DD, 1 == DD-MMM-YY, 2 == YYYY-MM-DD, see reference for others
#time zone name: GB-London       # Check reference for list of named time zones on page A-27, or set offset below
#time zone code: GMT             # Check reference for list of named time zones on page A-27, or set offset below
#time zone minutes: 300         # Offset in minutes from GMT, 300 = GMT-5 = Eastern Standard Time, -120 = GMT+2 = Eastern European Time
{if isset($aastra_time_format)}time format: {$aastra_time_format}{"\n"}{/if}
{if isset($aastra_date_format)}date format: {$aastra_date_format}{"\n"}{/if}
{if isset($aastra_gmt_offset)}time zone minutes: {$aastra_gmt_offset}{"\n"}{/if}
dst config: 3                   # Day Light Savings, 0 == off, 1 == 30 min summertime, 2 == 1 hr summertime, 3 (default) == automatic
dst minutes: 60                 # amount of time to offset the clock in minutes
dst start relative date: 1      # Specifies how to interpret the start day, month, and week parameters, 0 - absolute, 1 - relative
dst end relative date: 1        # Specifies how to interpret the end day, month, and week parameters, 0 - absolute, 1 - relative
dst start month: {$daylight_savings_start_month}
{if isset($daylight_savings_start_day)}dst start week: {math equation="( x / 7 ) + 1" x=$daylight_savings_start_day format="%d"}{"\n"}{/if}
{if isset($daylight_savings_start_weekday)}dst start day: {math equation= "( x + 1 ) % 7" x=$daylight_savings_start_weekday}{"\n"}{/if}
dst start hour: {$daylight_savings_start_time}
dst end month: {$daylight_savings_stop_month}
{if isset($daylight_savings_stop_day)}dst end week: {math equation="( x / 7 ) + 1" x=$daylight_savings_stop_day format="%d"}{"\n"}{/if}
{if isset($daylight_savings_stop_weekday)}dst end day: {math equation= "( x + 1 ) % 7" x=$daylight_savings_stop_weekday}{"\n"}{/if}
dst end hour: {$daylight_savings_stop_time}

# === display backlight ===
backlight mode: 1  # 0 == off, 1 == auto to turn off after period of inactivity
#bl on time: 600  # time in seconds before backlight turns off if in auto

# ####################################################################
# Network Settings
# ####################################################################

# === IP network settings ===
# dhcp: 1
# ip: 192.168.1.100
# subnet mask: 255.255.255.0
# default gateway: 192.168.1.1
{if isset($dns_server_primary)}dns1: {$dns_server_primary}{"\n"}{/if}
{if isset($dns_server_secondary)}dns2: {$dns_server_secondary}{"\n"}{/if}

# === NTP time server settings ===
time server disabled: 0                      # 0 == enable time server    1 = disable time server
time server1: {$ntp_server_primary}
time server2: {$ntp_server_secondary}

# === Advanced Network Settings ===
upnp manager: 0                               # Enable/Disable Universal Plug and Play
lldp: 0                                       # Enable/Disable Link-Layer Discovery Protocol

# ####################################################################
# Provisioning Settings
# ####################################################################
# phone looks for configuration files in aastra.cfg followed by <MAC>.cfg, e.g. "00085D1610DE.cfg"
# HTTPS, TFTP and FTP also supported
download protocol: HTTP

# === HTTP Provisioning Settings ===
http server: {$domain_name}
#http port: 80
http path: /provision

# === FTP Provisioning Settings ===
#ftp server: {$domain_name}
#ftp username: {$ftp_auth_username}
#ftp password: {$ftp_auth_password}

# === TFTP Provisioning Settings ===
#tftp server: {$domain_name}
#tftp path: /provision/{$domain_name}

# === Provisioning Sync Settings ===
# Example below is for resyncing config (but not firmware) nightly at 2am
auto resync mode: 1
auto resync time: 02:00

# ####################################################################
# SIP settings
# ####################################################################

# === Global ===
# most can be overridden per line; see below
sip vmail: {$voicemail_number}              # Voice Mail Extenstion

sip transport protocol: 1       # 0 - UDP and TCP; 1 - UDP; 2 - TCP
sip use basic codecs: 1         # 0 - Disable; 1 - Enable
sip customized codec: payload=0;ptime=20;silsupp=off,payload=8;ptime=20;silsup=off  #see page A-59
sip out-of-band dtmf: 1         # 0 - Disable; 1 - Enable
sip dtmf method: 1              # 0 - RTP; 1 - SIP INFO; 2 - BOTH

# ####################################################################
# SIP settings - per-line
# ####################################################################
{foreach $lines as $row}
sip line{$row.line_number} screen name: {$row.display_name}
sip line{$row.line_number} user name: {$row.user_id}  # used in SIP URI
sip line{$row.line_number} password: {$row.password}
sip line{$row.line_number} auth name: {$row.user_id}  # used in Authorization header field of SIP REGISTER request
sip line{$row.line_number} registrar ip: {$row.server_address}
{if isset($row.sip_port) }
sip line{$row.line_number} registrar port: {$row.sip_port}
{else}
sip line{$row.line_number} registrar port: {$line_sip_port}
{/if}
sip line{$row.line_number} proxy ip: {$row.server_address}
{if isset($row.sip_port) }
sip line{$row.line_number} proxy port: {$row.sip_port}
{else}
sip line{$row.line_number} proxy port: {$line_sip_port}
{/if}
{if isset($row.register_expires) }
sip line{$row.line_number} registration period: {$row.register_expires}    # requested registration period, defaults to 0
{else}
sip line{$row.line_number} registration period: {$line_register_expires}    # requested registration period, defaults to 0
{/if}
{/foreach}

# ####################################################################
# Key assignment types blf, blfxfer, park, speeddial, dnd
# ####################################################################

{foreach $keys["line"] as $row}
topsoftkey{$row.device_key_id} type: {$row.device_key_type}
topsoftkey{$row.device_key_id} line: {$row.device_key_line}
topsoftkey{$row.device_key_id} value: {$row.device_key_value}
topsoftkey{$row.device_key_id} label: {$row.device_key_label}

{/foreach}

{foreach $keys["memory"] as $row}
softkey{$row.device_key_id} type: {$row.device_key_type}
softkey{$row.device_key_id} line: {$row.device_key_line}
softkey{$row.device_key_id} value: {$row.device_key_value}
softkey{$row.device_key_id} label: {$row.device_key_label}

{/foreach}

{foreach $keys["programmable"] as $row}
prgkey{$row.device_key_id} type: {$row.device_key_type}
prgkey{$row.device_key_id} line: {$row.device_key_line}
prgkey{$row.device_key_id} value: {$row.device_key_value}

{/foreach}

{foreach $keys["expansion"] as $row}
{if $row.device_key_category == "expansion" && $row.device_key_id <= 60}
expmod1 key{$row.device_key_id} type: {$row.device_key_type}
expmod1 key{$row.device_key_id} line: {$row.device_key_line}
expmod1 key{$row.device_key_id} value: {$row.device_key_value}
expmod1 key{$row.device_key_id} label: {$row.device_key_label}
{elseif $row.device_key_category == "expansion" && $row.device_key_id <= 120}
expmod2 key{$row.device_key_id-60} type: {$row.device_key_type}
expmod2 key{$row.device_key_id-60} line: {$row.device_key_line}
expmod2 key{$row.device_key_id-60} value: {$row.device_key_value}
expmod2 key{$row.device_key_id-60} label: {$row.device_key_label}
{elseif $row.device_key_category == "expansion" && $row.device_key_id <= 180}
expmod3 key{$row.device_key_id-120} type: {$row.device_key_type}
expmod3 key{$row.device_key_id-120} line: {$row.device_key_line}
expmod3 key{$row.device_key_id-120} value: {$row.device_key_value}
expmod3 key{$row.device_key_id-120} label: {$row.device_key_label}
{elseif $row.device_key_category == "expansion"}
expmod4 key{$row.device_key_id-180} type: {$row.device_key_type}
expmod4 key{$row.device_key_id-180} line: {$row.device_key_line}
expmod4 key{$row.device_key_id-180} value: {$row.device_key_value}
expmod4 key{$row.device_key_id-180} label: {$row.device_key_label}
{/if}

{/foreach}

# #################
# Reference Documenation
# #################
# https://www.mitel.com/open-solutions-documents/480i
