mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-03 03:20:57 +00:00
This commit adds a new voicemail.conf option 'odbc_audio_on_disk'
which when set causes the ODBC variant of app_voicemail to leave
the message and greeting audio files on disk and only store the
message metadata in the database. This option came from a concern
that the database could grow to large and cause remote access
and/or replication to become slow. In a clustering situation
with this option, all asterisk instances would share the same
database for the metadata and either use a shared filesystem
or other filesystem replication service much more suitable
for synchronizing files.
The changes to app_voicemail to implement this feature were actually
quite small but due to the complexity of the module, the actual
source code changes were greater. They fall into the following
categories:
* Tracing. The module is so complex that it was impossible to
figure out the path taken for various scenarios without the addition
of many SCOPE_ENTER, SCOPE_EXIT and ast_trace statements, even in
code that's not related to the functional change. Making this worse
was the fact that many "if" statements in this module didn't use
braces. Since the tracing macros add multiple statements, many "if"
statements had to be converted to use braces.
* Excessive use of PATH_MAX. Previous maintainers of this module
used PATH_MAX to allocate character arrays for filesystem paths
and SQL statements as though they cost nothing. In fact, PATH_MAX
is defined as 4096 bytes! Some functions had (and still have)
multiples of these. One function has 7. Given that the vast
majority of installations use the default spool directory path
`/var/spool/asterisk/voicemail`, the actual path length is usually
less than 80 bytes. That's over 4000 bytes wasted. It was the
same for SQL statement buffers. A 4K buffer for statement that
only needed 60 bytes. All of these PATH_MAX allocations in the
ODBC related code were changed to dynamically allocated buffers.
The rest will have to be addressed separately.
* Bug fixes. During the development of this feature, several
pre-existing ODBC related bugs were discovered and fixed. They
had to do with leaving orphaned files on disk, not preserving
original message ids when moving messages between folders,
not honoring the "formats" config parameter in certain circumstances,
etc.
UserNote: This commit adds a new voicemail.conf option
'odbc_audio_on_disk' which when set causes the ODBC variant of
app_voicemail_odbc to leave the message and greeting audio files
on disk and only store the message metadata in the database.
Much more information can be found in the voicemail.conf.sample
file.
(cherry picked from commit 59ed64627c
)
589 lines
30 KiB
Plaintext
589 lines
30 KiB
Plaintext
;
|
|
; Voicemail Configuration
|
|
;
|
|
|
|
; ********* NOTICE ************************************************************
|
|
;
|
|
; NOTE: Asterisk has to edit this file to change a user's password, so
|
|
; do not use realtime static configuration with this file.
|
|
; To avoid requiring config updates on password updates, you could use the
|
|
; passwordlocation option to store passwords separately.
|
|
;
|
|
; If your "source of truth" for voicemail passwords is elsewhere, you should
|
|
; use the externpassnotify option to notify whatever stores the passwords
|
|
; (e.g. external database) when there are changes, to keep it synchronized.
|
|
;
|
|
; NOTE: Mailboxes defined by app_voicemail MUST be referenced by the rest
|
|
; of the system as mailbox@context. The rest of the system cannot add
|
|
; @default to mailbox identifiers for app_voicemail that do not specify a
|
|
; context any longer. It is a mailbox identifier format that should only
|
|
; be interpreted by app_voicemail.
|
|
;
|
|
; ********* NOTICE ************************************************************
|
|
|
|
[general]
|
|
; Formats for writing Voicemail. Note that when using IMAP storage for
|
|
; voicemail, only the first format specified will be used.
|
|
;format=g723sf|wav49|wav
|
|
format=wav49|gsm|wav
|
|
;
|
|
; WARNING:
|
|
; If you change the list of formats that you record voicemail in
|
|
; when you have mailboxes that contain messages, you _MUST_ absolutely
|
|
; manually go through those mailboxes and convert/delete/add the
|
|
; the message files so that they appear to have been stored using
|
|
; your new format list. If you don't do this, very unpleasant
|
|
; things may happen to your users while they are retrieving and
|
|
; manipulating their voicemail.
|
|
;
|
|
; In other words: don't change the format list on a production system
|
|
; unless you are _VERY_ sure that you know what you are doing and are
|
|
; prepared for the consequences.
|
|
;
|
|
; Who the e-mail notification should appear to come from
|
|
serveremail=asterisk
|
|
;serveremail=asterisk@linux-support.net
|
|
; Should the email contain the voicemail as an attachment
|
|
attach=yes
|
|
; Maximum number of messages per folder. If not specified, a default value
|
|
; (100) is used. Maximum value for this option is 9999. If set to 0, a
|
|
; mailbox will be greetings-only.
|
|
;maxmsg=100
|
|
; Maximum length of a voicemail message in seconds
|
|
;maxsecs=180
|
|
; Minimum length of a voicemail message in seconds for the message to be kept
|
|
; The default is no minimum.
|
|
;minsecs=3
|
|
; Maximum length of greetings in seconds
|
|
;maxgreet=60
|
|
; How many milliseconds to skip forward/back when rew/ff in message playback
|
|
skipms=3000
|
|
; How many seconds of silence before we end the recording
|
|
maxsilence=10
|
|
; Silence threshold (what we consider silence: the lower, the more sensitive)
|
|
silencethreshold=128
|
|
; Max number of failed login attempts
|
|
maxlogins=3
|
|
;
|
|
; Move heard messages to the 'Old' folder automagically. Defaults to on.
|
|
;moveheard=yes
|
|
;
|
|
; Forward an urgent message as an urgent message. Defaults to no so
|
|
; sender can set the urgency on the envelope of the forwarded message.
|
|
;forward_urgent_auto=no
|
|
;
|
|
; User context is where entries from users.conf are registered. The
|
|
; default value is 'default'
|
|
;
|
|
;userscontext=default
|
|
;
|
|
; Aliases allow a mailbox to be referenced by an alias. The aliases are
|
|
; specified in the special context named here. There is no default.
|
|
;aliasescontext=myaliases
|
|
;
|
|
; If you need to have an external program, i.e. /usr/bin/myapp
|
|
; called when a voicemail is left, delivered, or your voicemailbox
|
|
; is checked, uncomment this.
|
|
;externnotify=/usr/bin/myapp
|
|
|
|
; If you would also like to enable SMDI notification then set smdienable to yes.
|
|
; You will also need to make sure smdiport is set to a valid port as specified in
|
|
; smdi.conf.
|
|
;smdienable=yes
|
|
;smdiport=/dev/ttyS0
|
|
|
|
; If you need to have an external program, i.e. /usr/bin/myapp
|
|
; called when a voicemail password is changed, uncomment this. The
|
|
; arguments passed to the application are: <context> <mailbox> <newpassword>
|
|
; Note: If this is set, the password will NOT be changed in voicemail.conf
|
|
; If you would like to also change the password in voicemail.conf, use
|
|
; the externpassnotify option below instead.
|
|
;externpass=/usr/bin/myapp
|
|
;externpassnotify=/usr/bin/myapp
|
|
|
|
; If you would like to have an external program called when a user changes the
|
|
; voicemail password for the purpose of doing validation on the new password,
|
|
; then use this option. The script can decide whether or not the new password
|
|
; meets minimum password strength requirements before the Voicemail application
|
|
; accepts the password. If the script decides that the password is not acceptable,
|
|
; the user will be informed that the new password does not meet minimum password
|
|
; requirements, and they will be asked to enter another password.
|
|
;
|
|
; The arguments passed to this script are <mailbox> <context> <old pw> <new pw>.
|
|
;
|
|
; The script should print "VALID" to stdout to indicate that the new password
|
|
; is acceptable. If the password is considered too weak, the script should print
|
|
; "INVALID" to stdout.
|
|
;
|
|
; There is an example script in the contrib/scripts/ directory, voicemailpwcheck.py,
|
|
; which implements some basic password checking, and can be used as a starting point
|
|
; for use with this option.
|
|
;
|
|
;externpasscheck=/usr/local/bin/voicemailpwcheck.py
|
|
|
|
; For the directory, you can override the intro file if you want
|
|
;directoryintro=dir-intro
|
|
; The character set for voicemail messages can be specified here
|
|
; default: ISO-8859-1
|
|
;charset=UTF-8
|
|
; The ADSI feature descriptor number to download to
|
|
;adsifdn=0000000F
|
|
; The ADSI security lock code
|
|
;adsisec=9BDBF7AC
|
|
; The ADSI voicemail application version number.
|
|
;adsiver=1
|
|
; Skip the "[PBX]:" string from the message title
|
|
;pbxskip=yes
|
|
; Change the From: string
|
|
;fromstring=The Asterisk PBX
|
|
; Permit finding entries for forward/compose from the directory
|
|
;usedirectory=yes
|
|
|
|
; -----------------------------------------------------------------------------
|
|
; ODBC storage configuration
|
|
; -----------------------------------------------------------------------------
|
|
; Voicemail can be stored in a database using the ODBC driver.
|
|
;
|
|
: Storage database:
|
|
; The value of odbcstorage is the database connection configured in
|
|
; res_odbc.conf. This may be different from the name of the ODBC DSN
|
|
; in /etc/odbc.ini which, in turn, may be different from the name of the
|
|
; actual database. If you used the voicemail.ini.sample alembic script
|
|
; located in contrib/ast-db-manage to create the database, the database
|
|
; name is 'voicemail' and the table name is 'voicemail_messages' so you'd
|
|
; need to ensure that /etc/odbc.ini has a DSN entry that points to that
|
|
; database and res_odbc.conf has an entry that points to that ODBC DSN.
|
|
; For historical compatibility, the default value of odbcstorage is
|
|
; actually 'asterisk' because originally voicemail messages were stored
|
|
; in the same database as the rest of the Asterisk configuration.
|
|
|
|
;odbcstorage = voicemail
|
|
|
|
; Storage table:
|
|
; The name of the table in which voicemail messages are stored.
|
|
; If you used the voicemail.ini.sample alembic script located in
|
|
; contrib/ast-db-manage to create the database, the table name
|
|
; is 'voicemail_messages'. For historical compatibility however,
|
|
; the default value of odbctable is 'voicemessages' because originally
|
|
; voicemail messages were stored in that table in the same database
|
|
; as the rest of the Asterisk configuration.
|
|
|
|
;odbctable = voicemail_messages
|
|
|
|
; Audio storage location:
|
|
; By default, voicemail and prompt audio files are stored as BLOBs
|
|
; in the database along with the message metadata. If you would
|
|
; prefer to store the audio files on disk and only store the message
|
|
; metadata in the database, set the following option to 'yes'.
|
|
; This can be advantageous in some scenarios, such as when the
|
|
; database is on a separate server from the Asterisk server and
|
|
; network latency and size is a concern or when the database is
|
|
; not well-suited for storing large binary objects. It can also
|
|
; be useful when you want to use the same voicemail storage
|
|
; configuration for multiple Asterisk servers. In this situation
|
|
; you can have all the servers use a single shared network file
|
|
; system to store the audio files and use the same database for fast
|
|
; access to the message metadata.
|
|
|
|
; If you set this option to "yes", new messages and greetings will
|
|
; have their audio kept on disk but the audio for existing messages
|
|
; and greetings will remain in the database until the next time
|
|
; they are played. At that time, the audio will be moved to disk
|
|
; and erased from the database.
|
|
|
|
; If you set this option to "no" after you've already stored messages
|
|
; or greetings with it set to "yes", new messages and greetings will
|
|
; have their audio stored in the database but the audio for existing
|
|
; messages and greetings will remain on disk until the next time they
|
|
; are played. At that time, the audio will be moved to the database
|
|
; and erased from the disk.
|
|
|
|
; WARNING: Before changing this option from "yes" to "no" or vice
|
|
; versa make sure you have complete backups of your voicemail
|
|
; database and audio files.
|
|
|
|
; WARNING: If you set this option to "yes" and then later set it
|
|
; to "no", you must ensure that the audio files are not deleted
|
|
; from the disk until you are certain that they have been moved
|
|
; to the database. If you delete the audio files before they are
|
|
; moved to the database, the messages will be lost.
|
|
|
|
; WARNING: YOU MUST NOT DOWNGRADE ASTERISK TO A VERSION THAT DOESN'T
|
|
; UNDERSTAND THIS OPTION if you've set this option to "yes" previously
|
|
; and there are audio files stored on disk. If those files are
|
|
; accessed by a version of Asterisk that doesn't understand this
|
|
; option, the files will be corrupted and the messages will be lost.
|
|
; If you do need to downgrade in this situation, you'll have to write
|
|
; your own script to move the audio files back into the 'recording'
|
|
; column of the database table. If you record multiple formats,
|
|
; the file to write to the 'recording' column will be the first format
|
|
; listed in the 'format' option in this config file. If the first
|
|
; format is 'wav49', the file to add to the database will be the one
|
|
; with the 'WAV' extension.
|
|
|
|
; odbc_audio_on_disk = no
|
|
|
|
; -----------------------------------------------------------------------------
|
|
|
|
;
|
|
; Change the from, body and/or subject, variables:
|
|
; VM_NAME, VM_DUR, VM_MSGNUM, VM_MAILBOX, VM_CALLERID, VM_CIDNUM,
|
|
; VM_CIDNAME, VM_DATE
|
|
; Additionally, on forwarded messages, you have the variables:
|
|
; ORIG_VM_CALLERID, ORIG_VM_CIDNUM, ORIG_VM_CIDNAME, ORIG_VM_DATE
|
|
; You can select between two variables by using dialplan functions, e.g.
|
|
; ${IF(${ISNULL(${ORIG_VM_DATE})}?${VM_DATE}:${ORIG_VM_DATE})}
|
|
;
|
|
; Note: The emailbody config row can only be up to 8190 characters due to a
|
|
; limitation in the Asterisk configuration subsystem. If compiled with
|
|
; LOW_MEMORY the limit is 510 characters.
|
|
;emailsubject=[PBX]: New message ${VM_MSGNUM} in mailbox ${VM_MAILBOX}
|
|
; The following definition is very close to the default, but the default shows
|
|
; just the CIDNAME, if it is not null, otherwise just the CIDNUM, or "an unknown
|
|
; caller", if they are both null.
|
|
;emailbody=Dear ${VM_NAME}:\n\n\tjust wanted to let you know you were just left a ${VM_DUR} long message (number ${VM_MSGNUM})\nin mailbox ${VM_MAILBOX} from ${VM_CALLERID}, on ${VM_DATE}, so you might\nwant to check it when you get a chance. Thanks!\n\n\t\t\t\t--Asterisk\n
|
|
;
|
|
; Note: ${IF()} strips spacing at the beginning and end of its true and false
|
|
; values, so a newline cannot be placed at either location. The word 'so' is
|
|
; therefore duplicated, in order for the newline to be interpreted correctly.
|
|
;emailbody=Dear ${VM_NAME}:\n\n\tjust wanted to let you know you were just ${IF($["${VM_CIDNUM}" = "${ORIG_VM_CIDNUM}"]?left:forwarded)} a ${VM_DUR} long message (number ${VM_MSGNUM})\nin mailbox ${VM_MAILBOX} from ${VM_CALLERID}, on ${VM_DATE},\n${IF($["${VM_CIDNUM}" = "${ORIG_VM_CIDNUM}"]?so:(originally sent by ${ORIG_VM_CALLERID} on ${ORIG_VM_DATE})\nso)} you might want to check it when you get a chance. Thanks!\n\n\t\t\t\t--Asterisk\n
|
|
;
|
|
; You can also change the Pager From: string, the pager body and/or subject.
|
|
; The above defined variables also can be used here
|
|
;pagerfromstring=The Asterisk PBX
|
|
;pagersubject=New VM
|
|
;pagerbody=New ${VM_DUR} long msg in box ${VM_MAILBOX}\nfrom ${VM_CALLERID}, on ${VM_DATE}
|
|
;
|
|
; Set the date format on outgoing mails. Valid arguments can be found on the
|
|
; strftime(3) man page
|
|
;
|
|
; Default
|
|
emaildateformat=%A, %B %d, %Y at %r
|
|
; 24h date format
|
|
;emaildateformat=%A, %d %B %Y at %H:%M:%S
|
|
;
|
|
; Default for pager use
|
|
pagerdateformat=%A, %B %d, %Y at %r
|
|
; Short 24h date format for pager use
|
|
;pagerdateformat=%T %D
|
|
;
|
|
; Using the mailcmd option, you can specify what command is called for
|
|
; outbound E-mail. The default is shown below.
|
|
;
|
|
;mailcmd=/usr/sbin/sendmail -t
|
|
;
|
|
;pollmailboxes=no ; If mailboxes are changed anywhere outside of app_voicemail,
|
|
; ; then this option must be enabled for MWI to work. This
|
|
; ; enables polling mailboxes for changes. Normally, it will
|
|
; ; expect that changes are only made when someone called in
|
|
; ; to one of the voicemail applications.
|
|
; ; Examples of situations that would require this option are
|
|
; ; web interfaces to voicemail or an email client in the case
|
|
; ; of using IMAP storage.
|
|
; ; Default: no
|
|
;pollfreq=30 ; If the "pollmailboxes" option is enabled, this option
|
|
; ; sets the polling frequency. The default is once every
|
|
; ; 30 seconds.
|
|
;
|
|
|
|
; -----------------------------------------------------------------------------
|
|
; IMAP configuration settings only
|
|
; These settings are only applicable when Asterisk is compiled with IMAP support.
|
|
;
|
|
;imapgreetings=no ; If using IMAP storage, specify whether voicemail greetings
|
|
; should be stored via IMAP. If no, then greetings are stored
|
|
; as if IMAP storage were not enabled.
|
|
;greetingsfolder=INBOX ; If imapgreetings=yes, then specify which folder to store
|
|
; your greetings in. If you do not specify a folder, then INBOX
|
|
; will be used
|
|
;imapparentfolder=INBOX ; Some IMAP server implementations store folders under INBOX
|
|
; instead of using a top level folder (ex. INBOX/Friends). In
|
|
; this case, user imapparentfolder to set the parent folder. For
|
|
; example, Cyrus IMAP does NOT use INBOX as the parent. Default
|
|
; is to have no parent folder set.
|
|
;imapserver=localhost ; The address of the IMAP server
|
|
;imapport=143 ; The port of the IMAP server
|
|
;imapflags=ssl ; Optional flags to pass to the IMAP server in the IMAP mailbox
|
|
; name. For example, setting this to 'ssl' will enable OpenSSL
|
|
; encryption, assuming the IMAP libraries were compiled with
|
|
; OpenSSL support.
|
|
;imapfolder=INBOX ; The folder in which to store voicemail messages on the IMAP
|
|
; server. By default, they are stored in INBOX.
|
|
;authuser=user ; The master user to use for connecting to the IMAP server, if
|
|
; the server is configured with a single user that has access to
|
|
; all mailboxes
|
|
;authpassword=password ; The password for the authuser, if used
|
|
;imapopentimeout=60 ; The TCP open timeout (in seconds)
|
|
;imapclosetimeout=60 ; The TCP close timeout (in seconds)
|
|
;imapreadtimeout=60 ; The TCP read timeout (in seconds)
|
|
;imapwritetimeout=60 ; The TCP write timeout (in seconds)
|
|
;imap_poll_logout=no ; If pollmailboxes=yes, then specify whether need to
|
|
; disconnect from the IMAP server after polling.
|
|
; Default: no
|
|
|
|
; -----------------------------------------------------------------------------
|
|
|
|
; Each mailbox is listed in the form <mailbox>=<password>,<name>,<email>,<pager_email>,<options>
|
|
; If email is specified, a message will be sent when a voicemail is received, to
|
|
; the given mailbox, for each address listed (separated by |, ex. alice@foo.com|bob@foo.com).
|
|
; If pager is specified, a message will be sent there as well. If the password
|
|
; is prefixed by '-', then it is considered to be unchangeable.
|
|
;
|
|
; Advanced options example is extension 4069
|
|
; NOTE: All options can be expressed globally in the general section, and
|
|
; overridden in the per-mailbox settings, unless listed otherwise.
|
|
;
|
|
; tz=central ; Timezone from zonemessages below. Irrelevant if envelope=no.
|
|
; locale=de_DE.UTF-8 ; set the locale for generation of the date/time strings (make
|
|
; sure the locales are installed in your operating system; e.g
|
|
; on Debian Linux you can use "dpkg-reconfigure locales").
|
|
; If you use UTF-8 locales, make sure to set the "charset" option
|
|
; to UTF-8 too. If you mix different locales for different users
|
|
; you should avoid words in the emaildateformat specification, e.g.:
|
|
; emaildateformat=%A, %d %B %Y, %H:%M:%S
|
|
; attach=yes ; Attach the voicemail to the notification email *NOT* the pager email
|
|
; attachfmt=wav49 ; Which format to attach to the email. Normally this is the
|
|
; first format specified in the format parameter above, but this
|
|
; option lets you customize the format sent to particular mailboxes.
|
|
; Useful if Windows users want wav49, but Linux users want gsm.
|
|
; [per-mailbox only]
|
|
; attachextrecs=no ; Whether to attach recordings that are externally added to mailboxes,
|
|
; such as through MixMonitor. Default is no.
|
|
; saycid=yes ; Say the caller id information before the message. If not described,
|
|
; or set to no, it will be in the envelope. When enabled, if a recorded file
|
|
; with the same name as the caller id exists in
|
|
; <astspooldir>/recordings/callerids, then that file will be played as a name
|
|
; rather than saying each digit as a phone number.
|
|
; cidinternalcontexts=intern ; Internal Context for Name Playback instead of
|
|
; extension digits when saying caller id.
|
|
; sayduration=no ; Turn on/off the duration information before the message. [ON by default]
|
|
; saydurationm=2 ; Specify the minimum duration to say. Default is 2 minutes
|
|
; dialout=fromvm ; Context to dial out from [option 4 from mailbox's advanced menu].
|
|
; If not specified, option 4 will not be listed and dialing out
|
|
; from within VoiceMailMain() will not be permitted.
|
|
sendvoicemail=yes ; Allow the user to compose and send a voicemail while inside
|
|
; VoiceMailMain() [option 5 from mailbox's advanced menu].
|
|
; If set to 'no', option 5 will not be listed.
|
|
; searchcontexts=yes ; Current default behavior is to search only the default context
|
|
; if one is not specified. The older behavior was to search all contexts.
|
|
; This option restores the old behavior [DEFAULT=no]
|
|
; Note: If you have this option enabled, then you will be required to have
|
|
; unique mailbox names across all contexts. Otherwise, an ambiguity is created
|
|
; since it is impossible to know which mailbox to retrieve when one is requested.
|
|
; callback=fromvm ; Context to call back from
|
|
; if not listed, calling the sender back will not be permitted
|
|
; exitcontext=fromvm ; Context to go to on user exit such as * or 0
|
|
; The default is the current context.
|
|
; review=yes ; Allow sender to review/rerecord their message before saving it [OFF by default]
|
|
; leaveurgent=yes ; Allow senders to leave messages that are marked as 'Urgent' [ON by default]
|
|
; operator=yes ; Allow sender to hit 0 before/after/during leaving a voicemail to
|
|
; reach an operator. This option REQUIRES an 'o' extension in the
|
|
; same context (or in exitcontext, if set), as that is where the
|
|
; 0 key will send you. [OFF by default]
|
|
; envelope=no ; Turn on/off envelope playback before message playback. [ON by default]
|
|
; This does NOT affect option 3,3 from the advanced options menu
|
|
; delete=yes ; After notification, the voicemail is deleted from the server. [per-mailbox only]
|
|
; This is intended for use with users who wish to receive their
|
|
; voicemail ONLY by email. Note: "deletevoicemail" is provided as an
|
|
; equivalent option for Realtime configuration.
|
|
; alias=Bongo ; Use this additional string for comparison while looking
|
|
; for a match in the Directory application. This option
|
|
; may be specified multiple times to specify additional
|
|
; strings [per-mailbox only]
|
|
; volgain=0.0 ; Emails bearing the voicemail may arrive in a volume too
|
|
; quiet to be heard. This parameter allows you to specify how
|
|
; much gain to add to the message when sending a voicemail.
|
|
; NOTE: sox must be installed for this option to work.
|
|
; nextaftercmd=yes ; Skips to the next message after hitting 7 or 9 to delete/save current message.
|
|
; forcename=yes ; Forces a new user to record their name. A new user is
|
|
; determined by the password being the same as
|
|
; the mailbox number. The default is "no".
|
|
; forcegreetings=no ; This is the same as forcename, except for recording
|
|
; greetings. The default is "no".
|
|
; hidefromdir=yes ; Hide this mailbox from the directory produced by app_directory
|
|
; The default is "no".
|
|
; tempgreetwarn=yes ; Remind the user that their temporary greeting is set
|
|
|
|
; passwordlocation=spooldir
|
|
; Usually the voicemail password (vmsecret) is stored in
|
|
; this configuration file. By setting this option you can
|
|
; specify where Asterisk should read/write the vmsecret.
|
|
; Supported options:
|
|
; voicemail.conf:
|
|
; This is the default option. The secret is read from
|
|
; and written to voicemail.conf (or users.conf).
|
|
; spooldir:
|
|
; The secret is stored in a separate file in the user's
|
|
; voicemail spool directory in a file named secret.conf.
|
|
; Please ensure that normal Linux users are not
|
|
; permitted to access Asterisk's spool directory as the
|
|
; secret is stored in plain text. If a secret is not
|
|
; found in this directory, the password in
|
|
; voicemail.conf (or users.conf) will be used.
|
|
; Note that this option does not affect password storage for
|
|
; realtime users, which are still stored in the realtime
|
|
; backend.
|
|
; messagewrap=no ; Enable next/last message to wrap around to
|
|
; first (from last) and last (from first) message
|
|
; The default is "no".
|
|
; minpassword=0 ; Enforce minimum password length
|
|
|
|
; vm-login=custom_sound
|
|
; Customize which sound file is used instead of the default
|
|
; prompt that says: "Comedian Mail. Mailbox?"
|
|
; vm-newuser=custom_sound
|
|
; Customize which sound file is used instead of the default
|
|
; prompt that says: "Welcome to Comedian Mail. First, I will
|
|
; guide you through a short setup process."
|
|
; vm-password=custom_sound
|
|
; Customize which sound file is used instead of the default
|
|
; prompt that says: "password"
|
|
; vm-newpassword=custom_sound
|
|
; Customize which sound file is used instead of the default
|
|
; prompt that says: "Please enter your new password followed by
|
|
; the pound key."
|
|
; vm-passchanged=custom_sound
|
|
; Customize which sound file is used instead of the default
|
|
; prompt that says: "Your password has been changed."
|
|
; vm-reenterpassword=custom_sound
|
|
; Customize which sound file is used instead of the default
|
|
; prompt that says: "Please re-enter your password followed by
|
|
; the pound key"
|
|
; vm-mismatch=custom_sound
|
|
; Customize which sound file is used instead of the default
|
|
; prompt that says: "The passwords you entered and re-entered
|
|
; did not match."
|
|
; vm-invalid-password=custom_sound
|
|
; Customize which sound file is used instead of the default
|
|
; prompt that says: ...
|
|
; vm-pls-try-again=custom_sound
|
|
; Customize which sound file is used instead of the
|
|
; default prompt that says "Please try again."
|
|
; vm-prepend-timeout=custom_sound
|
|
; Customize which sound file is used when the user
|
|
; times out while recording a prepend message instead
|
|
; of the default prompt that says "then press pound"
|
|
; note that this will currently follow vm-pls-try-again.
|
|
; this behavior is subject to change in the near future.
|
|
; listen-control-forward-key=# ; Customize the key that fast-forwards message playback
|
|
; listen-control-reverse-key=* ; Customize the key that rewinds message playback
|
|
; listen-control-pause-key=0 ; Customize the key that pauses/unpauses message playback
|
|
; listen-control-restart-key=2 ; Customize the key that restarts message playback
|
|
; listen-control-stop-key=13456789 ; Customize the keys that interrupt message playback, probably all keys not set above
|
|
|
|
; Maximum number of messages allowed in the 'Deleted' folder. If set to 0
|
|
; or no then no deleted messages will be moved. If non-zero (max 9999) then up
|
|
; to this number of messages will be automagically saved when they are
|
|
; 'deleted' on a FIFO basis.
|
|
; defaults to being off
|
|
; backupdeleted=100
|
|
|
|
; Asterisk Task Processor Queue Size
|
|
; On heavy loaded system you may need to increase 'app_voicemail' taskprocessor queue.
|
|
; If the taskprocessor queue size reached high water level, the alert is triggered.
|
|
; If the alert is set then some modules (for example pjsip) slow down its production
|
|
; until the alert is cleared.
|
|
; The alert is cleared when taskprocessor queue size drops to the low water clear level.
|
|
; The next options set taskprocessor queue levels for this module.
|
|
; tps_queue_high=500 ; Taskprocessor high water alert trigger level.
|
|
; tps_queue_low=450 ; Taskprocessor low water clear alert level.
|
|
; The default is -1 for 90% of high water level.
|
|
|
|
[zonemessages]
|
|
; Users may be located in different timezones, or may have different
|
|
; message announcements for their introductory message when they enter
|
|
; the voicemail system. Set the message and the timezone each user
|
|
; hears here. Set the user into one of these zones with the tz= attribute
|
|
; in the options field of the mailbox. Of course, language substitution
|
|
; still applies here so you may have several directory trees that have
|
|
; alternate language choices.
|
|
;
|
|
; Look in /usr/share/zoneinfo/ for names of timezones.
|
|
; Look at the manual page for strftime for a quick tutorial on how the
|
|
; variable substitution is done on the values below.
|
|
;
|
|
; Supported values:
|
|
; 'filename' filename of a soundfile (single ticks around the filename
|
|
; required)
|
|
; ${VAR} variable substitution
|
|
; A or a Day of week (Saturday, Sunday, ...)
|
|
; B or b or h Month name (January, February, ...)
|
|
; d or e numeric day of month (first, second, ..., thirty-first)
|
|
; Y Year
|
|
; I or l Hour, 12 hour clock
|
|
; H Hour, 24 hour clock (single digit hours preceded by "oh")
|
|
; k Hour, 24 hour clock (single digit hours NOT preceded by "oh")
|
|
; M Minute, with 00 pronounced as "o'clock"
|
|
; N Minute, with 00 pronounced as "hundred" (US military time)
|
|
; P or p AM or PM
|
|
; Q "today", "yesterday" or ABdY
|
|
; (*note: not standard strftime value)
|
|
; q "" (for today), "yesterday", weekday, or ABdY
|
|
; (*note: not standard strftime value)
|
|
; R 24 hour time, including minute
|
|
;
|
|
eastern=America/New_York|'vm-received' Q 'digits/at' IMp
|
|
central=America/Chicago|'vm-received' Q 'digits/at' IMp
|
|
central24=America/Chicago|'vm-received' q 'digits/at' H N 'hours'
|
|
military=Zulu|'vm-received' q 'digits/at' H N 'hours' 'phonetic/z_p'
|
|
european=Europe/Copenhagen|'vm-received' a d b 'digits/at' HM
|
|
|
|
|
|
|
|
[default]
|
|
; Note: The rest of the system must reference mailboxes defined here as mailbox@default.
|
|
|
|
1234 => 4242,Example Mailbox,root@localhost
|
|
;4200 => 9855,Mark Spencer,markster@linux-support.net,mypager@digium.com,attach=no|serveremail=myaddy@digium.com|fromstring=MySystem|tz=central|maxmsg=10
|
|
;4300 => 3456,Ben Rigas,ben@american-computer.net
|
|
;4310 => -5432,Sales,sales@marko.net
|
|
;4069 => 6522,Matt Brooks,matt@marko.net,,|tz=central|attach=yes|saycid=yes|dialout=fromvm|callback=fromvm|review=yes|operator=yes|envelope=yes|moveheard=yes|sayduration=yes|saydurationm=1
|
|
;4073 => 1099,Bianca Paige,bianca@biancapaige.com,,delete=1|emailsubject=You have a new voicemail.|emailbody=Click on the attachment to listen.|rip=2010-06-04
|
|
;4110 => 3443,Rob Flynn,rflynn@blueridge.net
|
|
;4235 => 1234,Jim Holmes,jim@astricon.ips,,Tz=european
|
|
|
|
;
|
|
; Aliases allow alternate references to mailboxes. See the "aliasescontext"
|
|
; parameter in the "general" section.
|
|
;
|
|
[myaliases]
|
|
1234@devices => 1234@default
|
|
;6200@devices => 4200@default
|
|
|
|
;
|
|
; Mailboxes may be organized into multiple contexts for
|
|
; voicemail virtualhosting
|
|
;
|
|
|
|
[other]
|
|
;The intro can be customized on a per-context basis
|
|
;directoryintro=dir-company2
|
|
1234 => 5678,Company2 User,root@localhost
|
|
|
|
; example for our acme compartmentalized company
|
|
;
|
|
; Pete telecommutes from Chicago, so we'll customize timestamps for him.
|
|
;
|
|
;[acme]
|
|
;111 => 7383,Pete,pete@acme-widgets.com,,tz=central
|
|
;112 => 6262,Nancy,nancy@acme-widgets.com
|
|
;
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; IMAP user settings and overrides. These are only applicable when Asterisk is
|
|
; compiled with IMAP support.
|
|
;
|
|
; imapuser=username ; The IMAP username of the mailbox to access
|
|
; imappassword=password ; The IMAP password of the user
|
|
; imapvmshareid=xxxx ; A shared mailbox ID to use for the IMAP mailbox
|
|
; login, as opposed to the mailbox dialed
|
|
; imapfolder ; Overrides the global imapfolder setting
|
|
; imapserver ; Overrides the global imapserver setting
|
|
; imapport ; Overrides the global imapport setting
|
|
; imapflags ; Overrides the global imapflags setting
|
|
|
|
;
|
|
;[imapvm]
|
|
;4324 => 7764,Ellis Redding,red@buxton.us,,imapuser=eredding|imappassword=g3tbusy|imapfolder=notinbox
|
|
;4325 => 2392,Andrew Dufresne,andy@dufresne.info,,imapuser=adufresne|imappassword=rockh@mmer
|