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
96
|
<%
-- Linksys ATA Configuration File Template
local values = ...
--[[ -- Parameters
values["device"]["adminpassword"] = ""
values["device"]["digitmap"] = ""
values["device"]["mac"] = ""
values["device"]["musiconhold"] = ""
values["device"]["registrar"] = ""
values["device"]["sntpserver"] = ""
values["device"]["template"] = "/etc/provisioning/templates/linksysata-template.lua"
-- Unimplemented -- values["device"]["timezone"] = ""
values["regX"]["callerid"] = ""
values["regX"]["extension"] = ""
values["regX"]["forwardall"] = ""
values["regX"]["forwardallenable"] = false
values["regX"]["forwardbusy"] = ""
values["regX"]["forwardbusyenable"] = false
values["regX"]["forwardnoanswer"] = ""
values["regX"]["forwardnoanswerenable"] = false
values["regX"]["password"] = ""
-- Unimplemented -- values["services"]["callhistoryenable"] = true
values["services"]["callwaitingenable"] = true
values["services"]["forwarding"] = true
-- Unimplemented -- values["services"]["hotlineenable"] = false
-- Unimplemented -- values["services"]["mailbox"] = ""
-- Unimplemented -- values["services"]["speeddialenable"] = true
--]]
local function yesno ( bool )
if bool then
return "Yes"
else
return "No"
end
end
local function xml_elem(elem,value,permissions,i)
local e = elem
if i then e = elem.."_"..tostring(i).."_" end
local output = {"<", e, ' ua="'}
output[#output+1] = (permissions or "na")..'">'
if type(value) == "boolean" then
output[#output+1] = yesno(value)
elseif value then
output[#output+1] = value
end
output[#output+1] = "</"..e..">"
io.write(table.concat(output))
end
%>
<flat-profile>
<Admin_Passwd ua="na"><%= values.device.adminpassword %></Admin_Passwd>
<User_Password ua="na"><%= values.device.adminpassword %></User_Password>
<HostName ua="na"><%= values.reg1.extension %></HostName>
<Primary_NTP_Server ua="na"><%= values.device.sntpserver %></Primary_NTP_Server>
<% 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("Line_Enable", "Yes", "na", num)
xml_elem("MOH_Server", values.device.musiconhold, "na", num)
xml_elem("Proxy", values.device.registrar, "na", num)
xml_elem("Call_Waiting_Serv", (values.services and values.services.callwaitingenable), "na", num)
xml_elem("Dial_Plan", "( "..values.device.digitmap.." )", "na", num)
if pg_t.callerid == "" then
pg_t.callerid = pg_t.extension
end
xml_elem("Display_Name", pg_t.callerid, "na", num)
xml_elem("User_ID", pg_t.extension, "na", num)
xml_elem("Password", pg_t.password, "na", num)
local forwarding = { {param="forwardall", xml="Cfwd_All_Dest"},
{param="forwardbusy", xml="Cfwd_Busy_Dest"},
{param="forwardnoanswer", xml="Cfwd_No_Ans_Dest"} }
for i,f in ipairs(forwarding) do
if value.services.forwarding and pg_t[f.param.."enable"] then
xml_elem(f.xml, pg_t[f.param], "na", num)
else
xml_elem(f.xml, "", "na", num)
end
end
else
xml_elem("Line_Enable", "No", "na", num)
-- xml_elem("Cfwd_No_Ans_Delay", "0", "na", num)
end
end
end %>
</flat-profile>
|