summaryrefslogtreecommitdiffstats
path: root/templates/snom-template.lua
blob: 7ac4542ac71f48e59a8f3bf59b862384af98798d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<%
local values = ...

local function xml_elem(t,v,p,i)
  local elem = t
  if i == nil then
    if v == true then
      io.write('<'..elem..' perm="'..p..'">on</'..elem..'>\n')
    elseif v == false then
      io.write('<'..elem..' perm="'..p..'">off</'..elem..'>\n')
    else
      io.write('<'..elem..' perm="'..p..'">'..tostring(v)..'</'..elem..'>\n')
    end
  else
    if v == true then
      io.write('<'..elem..' idx="'..i..'" perm="'..p..'">on</'..elem..'>\n')
    elseif v == false then
      io.write('<'..elem..' idx="'..i..'" perm="'..p..'">off</'..elem..'>\n')
    else
      io.write('<'..elem..' idx="'..i..'" perm="'..p..'">'..tostring(v)..'</'..elem..'>\n')
    end
  end
end
%>

<?xml version="1.0" encoding="utf-8"?>
<settings>
  <phone-settings>
    <admin_mode_password perm="R"><% io.write(values.device.adminpassword) %></admin_mode_password>
    <codec_tos perm="RW">184</codec_tos>
    <% if values.device.dateformat == string.lower("mm/dd/yyyy") then 
         io.write('<date_us_format perm="RW">on</date_us_format>')
       else
         io.write('<date_us_format perm="RW">off</date_us_format>')
       end %>
    <dhcp perm="RW">on</dhcp>
    <dim_timer perm="R">60</dim_timer>
    <% xml_elem('eth_pc',values.device.pcportenable,'R') %>
    <http_pass perm="R"><% io.write(values.device.adminpassword) %></http_pass>
    <http_user perm="R">admin</http_user>
    <ignore_security_warning perm="R">on</ignore_security_warning>
    <% xml_elem('language',values.device.uilanguage,'RW') %>
    <ntp_server perm="RW"><% io.write(values.device.sntpserver) %></ntp_server>
    <publish_presence perm="R">off</publish_presence>
    <refer_brackets perm="R">on</refer_brackets>
    <settings_refresh_timer perm="RW">7200</settings_refresh_timer>
    <signaling_tos perm="RW">184</signaling_tos>
    <% xml_elem('time_24_format',values.device.timeformat24h,'RW') %>
    <!--<timezone perm="RW">ITA+1</timezone>  http://wiki.snom.com/Settings/timezone -->
    <!--<tone_scheme perm="RW">ITA</tone_scheme>  http://wiki.snom.com/wiki/index.php/Settings/tone_scheme -->
    <update_policy perm="R">auto_update</update_policy>
    <use_hidden_tags perm="RW">off</use_hidden_tags>
    <%
for pg, pg_t in pairs(values) do

  -- Is it of the form regX ?
  local num = string.match(pg, 'reg(%d+)')
  if num then
    if pg_t.extension ~= "" then
      xml_elem('record_dialed_calls', pg_t.callhistoryenable, 'R', num)
      xml_elem('record_missed_calls', pg_t.callhistoryenable, 'R', num)
      xml_elem('record_received_calls', pg_t.callhistoryenable, 'R', num)
      -- SNOMs do not support per-line forwarding
      xml_elem('redirect_allways',pg_t.forwardallenable,'RW')
      xml_elem('redirect_number',pg_t.forwardall,'RW')
      xml_elem('redirect_on_busy',pg_t.forwardbusyenable,'RW')
      xml_elem('redirect_busy_number',pg_t.forwardbusy,'RW')
      xml_elem('redirect_on_timeout',pg_t.forwardnoanswerenable,'RW')
      xml_elem('redirect_time_number',pg_t.forwardnoanswer,'RW')
      xml_elem('redirect_time','20','RW') 
      xml_elem('retry_after_failed_subscribe', '30', 'R', num)
      xml_elem('user_active', 'on', 'RW', num )
      xml_elem('user_host', values.device.registrar, 'R', num )
      xml_elem('user_hold_inactive', 'off', 'R', num)
      xml_elem('user_moh', values.device.musiconhold, 'R', num)
      xml_elem('user_name', pg_t.extension, 'R', num)
      xml_elem('user_outbound', values.device.registrar, 'R', num)
      xml_elem('user_pass', pg_t.password, 'R', num)
      xml_elem('user_publish_presence_bootup', 'off', 'R', num)
      xml_elem('user_ringer', 'Ringer'..pg_t.ringtone, '!', num)
      xml_elem('user_shared_line',pg_t.sharedlineenable, 'R', num) 
      xml_elem('user_srtp', 'off', 'R', num)
      xml_elem('user_subscription_expiry', '120', 'R', num)		-- by default SNOMs re-register after *half* of this time have passed
      -- Caller ID string
      if string.len(pg_t.callerid) == 0 then
        xml_elem( 'user_realname', pg_t.extension,'R', num)
      else
        xml_elem( 'user_realname', pg_t.callerid,'R', num)
      end
    end
  end
end
    %>
  </phone-settings>
</settings>