From 70190e54e41ce5c64bf895e18492df1c4f83ab2f Mon Sep 17 00:00:00 2001 From: Leonardo Arena Date: Wed, 8 Jun 2011 07:46:05 +0000 Subject: Add preliminary template for SNOMs --- templates/snom-template.lua | 95 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 templates/snom-template.lua diff --git a/templates/snom-template.lua b/templates/snom-template.lua new file mode 100644 index 0000000..7ac4542 --- /dev/null +++ b/templates/snom-template.lua @@ -0,0 +1,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\n') + elseif v == false then + io.write('<'..elem..' perm="'..p..'">off\n') + else + io.write('<'..elem..' perm="'..p..'">'..tostring(v)..'\n') + end + else + if v == true then + io.write('<'..elem..' idx="'..i..'" perm="'..p..'">on\n') + elseif v == false then + io.write('<'..elem..' idx="'..i..'" perm="'..p..'">off\n') + else + io.write('<'..elem..' idx="'..i..'" perm="'..p..'">'..tostring(v)..'\n') + end + end +end +%> + + + + + <% io.write(values.device.adminpassword) %> + 184 + <% if values.device.dateformat == string.lower("mm/dd/yyyy") then + io.write('on') + else + io.write('off') + end %> + on + 60 + <% xml_elem('eth_pc',values.device.pcportenable,'R') %> + <% io.write(values.device.adminpassword) %> + admin + on + <% xml_elem('language',values.device.uilanguage,'RW') %> + <% io.write(values.device.sntpserver) %> + off + on + 7200 + 184 + <% xml_elem('time_24_format',values.device.timeformat24h,'RW') %> + + + auto_update + off + <% +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 + %> + + -- cgit v1.2.3