[asterisk] Add basic VM setup

This commit is contained in:
Correl Roush 2024-11-24 23:16:18 -05:00
parent e2073fbd30
commit 997da1686f
5 changed files with 612 additions and 4 deletions

View file

@ -1,2 +1,6 @@
- name: reload dialplan
command: asterisk -rx 'dialplan reload'
- name: reload sip
command: asterisk -rx 'pjsip reload'
- name: reload voicemail
command: asterisk -rx 'voicemail reload'

View file

@ -7,7 +7,14 @@
template:
src: sip.conf.j2
dest: /etc/asterisk/sip.conf
notify: reload sip
- name: Configure SIP clients
template:
src: pjsip.conf.j2
dest: /etc/asterisk/pjsip.conf
notify: reload sip
- name: Configure mailboxes
template:
src: voicemail.conf.j2
dest: /etc/asterisk/voicemail.conf
notify: reload voicemail

View file

@ -7,7 +7,13 @@ exten => 700,1,Answer()
same = n,Hangup()
; 3-digit extensions dial their associated devices
exten => _XXX,1,Dial(PJSIP/${EXTEN})
exten => _XXX,1,Dial(PJSIP/${EXTEN}, 15)
same = n,Voicemail(${EXTEN}@sailmaker)
same = n,Playback(vm-goodbye)
same = n,Hangup()
; Star plus 3-digit extensions dial their associated mailboxes
exten => _*XXX,1,VoiceMailMain(${EXTEN:1}@sailmaker)
same = n,Hangup()
; 7+ digit calls are routed outside via the PSTN

View file

@ -78,7 +78,7 @@ callerid="Correl" <100>
description=Correl
callgroup=1
pickupgroup=1
mailbox=100@default
mailbox=100@sailmaker
; Extensions that the phone is watching, they need to be configured in SEPMAC.cnf.xml as well
; subscribe=301
; subscribe=303
@ -90,7 +90,7 @@ callerid="Correl" <101>
description=Correl
callgroup=1
pickupgroup=1
mailbox=101@default
mailbox=100@sailmaker
; Extensions that the phone is watching, they need to be configured in SEPMAC.cnf.xml as well
; subscribe=301
; subscribe=303
@ -102,7 +102,7 @@ callerid="Conference" <102>
description=Conference
callgroup=1
pickupgroup=1
mailbox=102@default
mailbox=100@sailmaker
; Extensions that the phone is watching, they need to be configured in SEPMAC.cnf.xml as well
; subscribe=301
; subscribe=303

View file

@ -0,0 +1,591 @@
;
; 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
[sailmaker]
100 => 100,Correl Roush,