1) Revised a lot of wording
2) Set default for SMTP authentication to off so the interface is cleaner to begin with (when not configured).
This commit is contained in:
parent
3c3e3128bb
commit
1c2449394d
6 changed files with 47 additions and 49 deletions
|
@ -32,8 +32,8 @@ m = Map (modulename, translate("Voicemail Setup"),
|
||||||
translate("Here you can configure a global voicemail for this PBX. Since this system is \
|
translate("Here you can configure a global voicemail for this PBX. Since this system is \
|
||||||
intended to run on embedded systems like routers, there is no local storage of voicemail - \
|
intended to run on embedded systems like routers, there is no local storage of voicemail - \
|
||||||
it must be sent out by email. Therefore you need to configure an outgoing mail (SMTP) server \
|
it must be sent out by email. Therefore you need to configure an outgoing mail (SMTP) server \
|
||||||
(for example the SMTP server your ISP provides, or GMail), and provide a list of addresses the \
|
(for example your ISP's, Google's, or Yahoo's SMTP server), and provide a list of \
|
||||||
voicemail will be sent to."))
|
addresses that receive recorded voicemail."))
|
||||||
|
|
||||||
-- Recreate the config, and restart services after changes are commited to the configuration.
|
-- Recreate the config, and restart services after changes are commited to the configuration.
|
||||||
function m.on_after_commit(self)
|
function m.on_after_commit(self)
|
||||||
|
@ -45,19 +45,19 @@ end
|
||||||
----------------------------------------------------------------------------------------------------
|
----------------------------------------------------------------------------------------------------
|
||||||
s = m:section(NamedSection, "global_voicemail", "voicemail", translate("Global Voicemail Setup"),
|
s = m:section(NamedSection, "global_voicemail", "voicemail", translate("Global Voicemail Setup"),
|
||||||
translate("When you enable voicemail, you will have the opportunity to specify \
|
translate("When you enable voicemail, you will have the opportunity to specify \
|
||||||
email addresses which receive the message. You must also set up an SMTP server below."))
|
email addresses that receive recorded voicemail. You must also set up an SMTP server below."))
|
||||||
s.anonymous = true
|
s.anonymous = true
|
||||||
|
|
||||||
enable = s:option(ListValue, "enabled", translate("Enabled"))
|
enable = s:option(ListValue, "enabled", translate("Enable Voicemail"))
|
||||||
enable:value("yes", translate("Yes"))
|
enable:value("yes", translate("Yes"))
|
||||||
enable:value("no", translate("No"))
|
enable:value("no", translate("No"))
|
||||||
enable.default = "no"
|
enable.default = "no"
|
||||||
|
|
||||||
emails = s:option(DynamicList, "global_email_addresses",
|
emails = s:option(DynamicList, "global_email_addresses",
|
||||||
translate("Email addresses to forward voicemail to"))
|
translate("Email Addresses that Receive Voicemail"))
|
||||||
emails:depends("enabled", "yes")
|
emails:depends("enabled", "yes")
|
||||||
|
|
||||||
savepath = s:option(Value, "global_save_path", translate("Directory to save voicemail into"),
|
savepath = s:option(Value, "global_save_path", translate("Local Storage Directory"),
|
||||||
translate("You can also retain copies of voicemail messages on the device running \
|
translate("You can also retain copies of voicemail messages on the device running \
|
||||||
your PBX. The path specified here will be created if it doesn't exist. \
|
your PBX. The path specified here will be created if it doesn't exist. \
|
||||||
Beware of limited space on embedded devices like routers, and enable this \
|
Beware of limited space on embedded devices like routers, and enable this \
|
||||||
|
@ -85,27 +85,27 @@ end
|
||||||
s = m:section(NamedSection, "voicemail_smtp", "voicemail", translate("Outgoing mail (SMTP) Server"),
|
s = m:section(NamedSection, "voicemail_smtp", "voicemail", translate("Outgoing mail (SMTP) Server"),
|
||||||
translate("In order for this PBX to send emails containing voicemail recordings, you need to \
|
translate("In order for this PBX to send emails containing voicemail recordings, you need to \
|
||||||
set up an SMTP server here. Your ISP usually provides an SMTP server for that purpose. \
|
set up an SMTP server here. Your ISP usually provides an SMTP server for that purpose. \
|
||||||
You can also set up a GMail, Yahoo, or other 3rd party SMTP server."))
|
You can also set up a third party SMTP server such as the one provided by Google or Yahoo."))
|
||||||
s.anonymous = true
|
s.anonymous = true
|
||||||
|
|
||||||
serv = s:option(Value, "smtp_server", translate("SMTP server hostname or IP address"))
|
serv = s:option(Value, "smtp_server", translate("SMTP Server Hostname or IP Address"))
|
||||||
serv.datatype = "host"
|
serv.datatype = "host"
|
||||||
|
|
||||||
port = s:option(Value, "smtp_port", translate("SMTP port number"))
|
port = s:option(Value, "smtp_port", translate("SMTP Port Number"))
|
||||||
port.datatype = "port"
|
port.datatype = "port"
|
||||||
port.default = "25"
|
port.default = "25"
|
||||||
|
|
||||||
tls = s:option(ListValue, "smtp_tls", translate("Secure connection using TLS"))
|
tls = s:option(ListValue, "smtp_tls", translate("Secure Connection Using TLS"))
|
||||||
tls:value("on", translate("Yes"))
|
tls:value("on", translate("Yes"))
|
||||||
tls:value("off", translate("No"))
|
tls:value("off", translate("No"))
|
||||||
tls.default = "on"
|
tls.default = "on"
|
||||||
|
|
||||||
auth = s:option(ListValue, "smtp_auth", translate("SMTP server authentication"))
|
auth = s:option(ListValue, "smtp_auth", translate("SMTP Server Authentication"))
|
||||||
auth:value("on", translate("Yes"))
|
auth:value("on", translate("Yes"))
|
||||||
auth:value("off", translate("No"))
|
auth:value("off", translate("No"))
|
||||||
auth.default = "on"
|
auth.default = "off"
|
||||||
|
|
||||||
user = s:option(Value, "smtp_user", translate("SMTP user name"))
|
user = s:option(Value, "smtp_user", translate("SMTP User Name"))
|
||||||
user:depends("smtp_auth", "on")
|
user:depends("smtp_auth", "on")
|
||||||
|
|
||||||
pwd = s:option(Value, "smtp_password", translate("SMTP Password"),
|
pwd = s:option(Value, "smtp_password", translate("SMTP Password"),
|
||||||
|
@ -130,8 +130,7 @@ function pwd.write(self, section, value)
|
||||||
end
|
end
|
||||||
|
|
||||||
----------------------------------------------------------------------------------------------------
|
----------------------------------------------------------------------------------------------------
|
||||||
s = m:section(NamedSection, "voicemail_log", "voicemail",
|
s = m:section(NamedSection, "voicemail_log", "voicemail", translate("Last Sent Voicemail Log"))
|
||||||
translate("Last Sent Voicemail Log"))
|
|
||||||
s.anonymous = true
|
s.anonymous = true
|
||||||
|
|
||||||
s:option (DummyValue, "vmlog")
|
s:option (DummyValue, "vmlog")
|
||||||
|
|
|
@ -199,7 +199,7 @@ function maintain_firewall_rules()
|
||||||
end
|
end
|
||||||
|
|
||||||
m = Map (modulename, translate("Advanced Settings"),
|
m = Map (modulename, translate("Advanced Settings"),
|
||||||
translate("This section contains settings which do not need to be changed under \
|
translate("This section contains settings that do not need to be changed under \
|
||||||
normal circumstances. In addition, here you can configure your system \
|
normal circumstances. In addition, here you can configure your system \
|
||||||
for use with remote SIP devices, and resolve call quality issues by enabling \
|
for use with remote SIP devices, and resolve call quality issues by enabling \
|
||||||
the insertion of QoS rules."))
|
the insertion of QoS rules."))
|
||||||
|
@ -247,7 +247,7 @@ s:tab("qos", translate("QoS Settings"),
|
||||||
QoS configuration page (Network->QoS) to configure other critical QoS settings like Download \
|
QoS configuration page (Network->QoS) to configure other critical QoS settings like Download \
|
||||||
and Upload speed."))
|
and Upload speed."))
|
||||||
|
|
||||||
ringtime = s:taboption("general", Value, "ringtime", translate("Number of seconds to ring"),
|
ringtime = s:taboption("general", Value, "ringtime", translate("Number of Seconds to Ring"),
|
||||||
translate("Set the number of seconds to ring users upon incoming calls before hanging up \
|
translate("Set the number of seconds to ring users upon incoming calls before hanging up \
|
||||||
or going to voicemail, if the voicemail is installed and enabled."))
|
or going to voicemail, if the voicemail is installed and enabled."))
|
||||||
ringtime.default = 30
|
ringtime.default = 30
|
||||||
|
@ -274,7 +274,7 @@ p.datatype = "port"
|
||||||
|
|
||||||
p = s:taboption("remote_usage", Value, "rtpstart", translate("RTP Port Range Start"),
|
p = s:taboption("remote_usage", Value, "rtpstart", translate("RTP Port Range Start"),
|
||||||
translate("RTP traffic carries actual voice packets. This is the start of the port range \
|
translate("RTP traffic carries actual voice packets. This is the start of the port range \
|
||||||
which will be used for setting up RTP communication. It's usually OK to leave this \
|
that will be used for setting up RTP communication. It's usually OK to leave this \
|
||||||
at the default value."))
|
at the default value."))
|
||||||
p.datatype = "port"
|
p.datatype = "port"
|
||||||
p.default = defaultrtpstart
|
p.default = defaultrtpstart
|
||||||
|
|
|
@ -49,7 +49,7 @@ end
|
||||||
|
|
||||||
m = Map (modulename, translate("Call Routing"),
|
m = Map (modulename, translate("Call Routing"),
|
||||||
translate("This is where you indicate which Google/SIP accounts are used to call what \
|
translate("This is where you indicate which Google/SIP accounts are used to call what \
|
||||||
country/area codes, which users can use which SIP/Google accounts, how incoming \
|
country/area codes, which users can use what SIP/Google accounts, how incoming \
|
||||||
calls are routed, what numbers can get into this PBX with a password, and what \
|
calls are routed, what numbers can get into this PBX with a password, and what \
|
||||||
numbers are blacklisted."))
|
numbers are blacklisted."))
|
||||||
|
|
||||||
|
@ -127,7 +127,7 @@ if nallvalidaccounts == 0 then
|
||||||
elseif nvalidoutaccounts == 0 then
|
elseif nvalidoutaccounts == 0 then
|
||||||
text = translate("NOTE: There are no Google or SIP provider accounts enabled for outgoing calls.")
|
text = translate("NOTE: There are no Google or SIP provider accounts enabled for outgoing calls.")
|
||||||
else
|
else
|
||||||
text = translate("If you have more than one account which can make outgoing calls, you \
|
text = translate("If you have more than one account that can make outgoing calls, you \
|
||||||
should enter a list of phone numbers and prefixes in the following fields for each \
|
should enter a list of phone numbers and prefixes in the following fields for each \
|
||||||
provider listed. Invalid prefixes are removed silently, and only 0-9, X, Z, N, #, *, \
|
provider listed. Invalid prefixes are removed silently, and only 0-9, X, Z, N, #, *, \
|
||||||
and + are valid characters. The letter X matches 0-9, Z matches 1-9, and N matches 2-9. \
|
and + are valid characters. The letter X matches 0-9, Z matches 1-9, and N matches 2-9. \
|
||||||
|
@ -155,7 +155,7 @@ for k,v in pairs(validoutaccounts) do
|
||||||
value = self.map:get(section, self.option)
|
value = self.map:get(section, self.option)
|
||||||
|
|
||||||
if value == nil then
|
if value == nil then
|
||||||
return {translate("Dials any number")}
|
return {translate("Used for numbers unmatched elsewhere")}
|
||||||
else
|
else
|
||||||
return value
|
return value
|
||||||
end
|
end
|
||||||
|
@ -184,9 +184,9 @@ if nallvalidaccounts == 0 then
|
||||||
elseif nvalidinaccounts == 0 then
|
elseif nvalidinaccounts == 0 then
|
||||||
text = translate("NOTE: There are no Google or SIP provider accounts enabled for incoming calls.")
|
text = translate("NOTE: There are no Google or SIP provider accounts enabled for incoming calls.")
|
||||||
else
|
else
|
||||||
text = translate("For each provider that receives calls, here you can restrict which users to ring \
|
text = translate("For each provider enabled for incoming calls, here you can restrict which users to\
|
||||||
on incoming calls. If the list is empty, the system will indicate that all users \
|
ring on incoming calls. If the list is empty, the system will indicate that all users \
|
||||||
which are enabled for incoming calls will ring. Invalid usernames will be rejected \
|
enabled for incoming calls will ring. Invalid usernames will be rejected \
|
||||||
silently. Also, entering a username here overrides the user's setting to not receive \
|
silently. Also, entering a username here overrides the user's setting to not receive \
|
||||||
incoming calls. This way, you can make certain users ring only for specific providers. \
|
incoming calls. This way, you can make certain users ring only for specific providers. \
|
||||||
Entries can be made in a space-separated list, and/or one per line by hitting enter after \
|
Entries can be made in a space-separated list, and/or one per line by hitting enter after \
|
||||||
|
@ -236,13 +236,13 @@ if nallvalidusers == 0 then
|
||||||
elseif nvalidoutusers == 0 then
|
elseif nvalidoutusers == 0 then
|
||||||
text = translate("NOTE: There are no local user accounts enabled for outgoing calls.")
|
text = translate("NOTE: There are no local user accounts enabled for outgoing calls.")
|
||||||
else
|
else
|
||||||
text = translate("If you would like, you could restrict which providers users are allowed to use for \
|
text = translate("For each user enabled for outgoing calls you can restrict what providers the user \
|
||||||
outgoing calls. By default all users can use all providers. To show up in the list below the user \
|
can use for outgoing calls. By default all users can use all providers. To show up in the list \
|
||||||
should be allowed to make outgoing calls in the \"User Accounts\" page. Enter VoIP providers in the \
|
below the user should be allowed to make outgoing calls in the \"User Accounts\" page. Enter VoIP \
|
||||||
format username@some.host.name, as listed in \"Outgoing Calls\" above. It's easiest to copy and \
|
providers in the format username@some.host.name, as listed in \"Outgoing Calls\" above. It's \
|
||||||
paste the providers from above. Invalid entries, including providers not enabled for outgoing \
|
easiest to copy and paste the providers from above. Invalid entries, including providers not \
|
||||||
calls, will be rejected silently. Entries can be made in a space-separated list, and/or one per \
|
enabled for outgoing calls, will be rejected silently. Entries can be made in a space-separated \
|
||||||
line by hitting enter after every one.")
|
list, and/or one per line by hitting enter after every one.")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
@ -288,7 +288,7 @@ end
|
||||||
|
|
||||||
----------------------------------------------------------------------------------------------------
|
----------------------------------------------------------------------------------------------------
|
||||||
s = m:section(TypedSection, "callthrough_numbers", translate("Call-through Numbers"),
|
s = m:section(TypedSection, "callthrough_numbers", translate("Call-through Numbers"),
|
||||||
translate("Designate numbers which will be allowed to call through this system and which user's \
|
translate("Designate numbers that are allowed to call through this system and which user's \
|
||||||
privileges it will have."))
|
privileges it will have."))
|
||||||
s.anonymous = true
|
s.anonymous = true
|
||||||
s.addremove = true
|
s.addremove = true
|
||||||
|
@ -336,9 +336,8 @@ end
|
||||||
----------------------------------------------------------------------------------------------------
|
----------------------------------------------------------------------------------------------------
|
||||||
s = m:section(NamedSection, "blacklisting", "call_routing", translate("Blacklisted Numbers"),
|
s = m:section(NamedSection, "blacklisting", "call_routing", translate("Blacklisted Numbers"),
|
||||||
translate("Enter phone numbers that you want to decline calls from automatically. \
|
translate("Enter phone numbers that you want to decline calls from automatically. \
|
||||||
You should probably omit the country code and any leading \
|
You should probably omit the country code and any leading zeroes, but please \
|
||||||
zeroes, but please experiment to make sure you are blocking numbers from your \
|
experiment to make sure you are blocking numbers from your desired area successfully."))
|
||||||
desired area successfully."))
|
|
||||||
s.anonymous = true
|
s.anonymous = true
|
||||||
|
|
||||||
b = s:option(DynamicList, "blacklist1", translate("Dynamic List of Blacklisted Numbers"),
|
b = s:option(DynamicList, "blacklist1", translate("Dynamic List of Blacklisted Numbers"),
|
||||||
|
|
|
@ -37,7 +37,7 @@ m = Map (modulename, translate("Google Accounts"),
|
||||||
|
|
||||||
-- Recreate the config, and restart services after changes are commited to the configuration.
|
-- Recreate the config, and restart services after changes are commited to the configuration.
|
||||||
function m.on_after_commit(self)
|
function m.on_after_commit(self)
|
||||||
-- Create a field "name" for each account which identifies the account in the backend.
|
-- Create a field "name" for each account that identifies the account in the backend.
|
||||||
commit = false
|
commit = false
|
||||||
m.uci:foreach(modulename, "gtalk_jabber",
|
m.uci:foreach(modulename, "gtalk_jabber",
|
||||||
function(s1)
|
function(s1)
|
||||||
|
@ -85,7 +85,7 @@ end
|
||||||
|
|
||||||
|
|
||||||
p = s:option(ListValue, "register",
|
p = s:option(ListValue, "register",
|
||||||
translate("Enable Incoming Calls (See Status, Message below)"),
|
translate("Enable Incoming Calls (set Status below)"),
|
||||||
translate("When somebody starts voice chat with your GTalk account or calls the GVoice, \
|
translate("When somebody starts voice chat with your GTalk account or calls the GVoice, \
|
||||||
number (if you have Google Voice), the call will be forwarded to any users \
|
number (if you have Google Voice), the call will be forwarded to any users \
|
||||||
that are online (registered using a SIP device or softphone) and permitted to \
|
that are online (registered using a SIP device or softphone) and permitted to \
|
||||||
|
@ -105,14 +105,14 @@ p:value("yes", translate("Yes"))
|
||||||
p:value("no", translate("No"))
|
p:value("no", translate("No"))
|
||||||
p.default = "yes"
|
p.default = "yes"
|
||||||
|
|
||||||
st = s:option(ListValue, "status", translate("Account Status"))
|
st = s:option(ListValue, "status", translate("Google Talk Status"))
|
||||||
st:depends("register", "yes")
|
st:depends("register", "yes")
|
||||||
st:value("dnd", translate("Do Not Disturb"))
|
st:value("dnd", translate("Do Not Disturb"))
|
||||||
st:value("away", translate("Away"))
|
st:value("away", translate("Away"))
|
||||||
st:value("available", translate("Available"))
|
st:value("available", translate("Available"))
|
||||||
st.default = defaultstatus
|
st.default = defaultstatus
|
||||||
|
|
||||||
stm = s:option(Value, "statusmessage", translate("Account Status Message"),
|
stm = s:option(Value, "statusmessage", translate("Google Talk Status Message"),
|
||||||
translate("Avoid using anything but alpha-numeric characters, space, comma, and period."))
|
translate("Avoid using anything but alpha-numeric characters, space, comma, and period."))
|
||||||
stm:depends("register", "yes")
|
stm:depends("register", "yes")
|
||||||
stm.default = defaultstatusmessage
|
stm.default = defaultstatusmessage
|
||||||
|
|
|
@ -31,10 +31,10 @@ modulenameadvanced = "pbx-advanced"
|
||||||
|
|
||||||
|
|
||||||
m = Map (modulename, translate("User Accounts"),
|
m = Map (modulename, translate("User Accounts"),
|
||||||
translate("Here you must configure at least one SIP account, which you \
|
translate("Here you must configure at least one SIP account, that you \
|
||||||
will use to register with this service. Use this account either in an analog telephony \
|
will use to register with this service. Use this account either in an Analog Telephony \
|
||||||
adapter (ATA), or in a SIP softphone like CSipSimple, Linphone, or Sipdroid on your \
|
Adapter (ATA), or in a SIP software like CSipSimple, Linphone, or Sipdroid on your \
|
||||||
Android smartphone, or X-lite or Ekiga on your computer. By default, all SIP accounts \
|
smartphone, or Ekiga, Linphone, or X-Lite on your computer. By default, all SIP accounts \
|
||||||
will ring simultaneously if a call is made to one of your VoIP provider accounts or GV \
|
will ring simultaneously if a call is made to one of your VoIP provider accounts or GV \
|
||||||
numbers."))
|
numbers."))
|
||||||
|
|
||||||
|
@ -79,11 +79,11 @@ end
|
||||||
if bindport ~= nil then
|
if bindport ~= nil then
|
||||||
s:option(DummyValue, "bindport", translate("Port Setting for SIP Devices"),
|
s:option(DummyValue, "bindport", translate("Port Setting for SIP Devices"),
|
||||||
translatef("If setting Server/Registrar to %s or %s does not work for you, try setting \
|
translatef("If setting Server/Registrar to %s or %s does not work for you, try setting \
|
||||||
it to %s or %s and entering this port number in a separate field which specifies the \
|
it to %s or %s and entering this port number in a separate field that specifies the \
|
||||||
Server/Registrar port number. Beware that some devices have a confusing \
|
Server/Registrar port number. Beware that some devices have a confusing \
|
||||||
setting which sets the port where SIP requests originate from on the SIP \
|
setting that sets the port where SIP requests originate from on the SIP \
|
||||||
device itself (bind port). The port specified on this page is NOT this bind port \
|
device itself (the bind port). The port specified on this page is NOT this bind port \
|
||||||
but the this service listens on.",
|
but the port this service listens on.",
|
||||||
ipaddr, externhost, just_ipaddr, just_externhost)).default = bindport
|
ipaddr, externhost, just_ipaddr, just_externhost)).default = bindport
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ m = Map (modulename, translate("SIP Accounts"),
|
||||||
-- Recreate the config, and restart services after changes are commited to the configuration.
|
-- Recreate the config, and restart services after changes are commited to the configuration.
|
||||||
function m.on_after_commit(self)
|
function m.on_after_commit(self)
|
||||||
commit = false
|
commit = false
|
||||||
-- Create a field "name" for each account which identifies the account in the backend.
|
-- Create a field "name" for each account that identifies the account in the backend.
|
||||||
m.uci:foreach(modulename, "voip_provider",
|
m.uci:foreach(modulename, "voip_provider",
|
||||||
function(s1)
|
function(s1)
|
||||||
if s1.defaultuser ~= nil and s1.host ~= nil then
|
if s1.defaultuser ~= nil and s1.host ~= nil then
|
||||||
|
|
Loading…
Reference in a new issue