app_voicemail: Add Mailbox Aliases

You can now define an "aliases" context in voicemail.conf
whose entries point to actual mailboxes.  These can be used anywhere
the mailbox is specified.

Example:
[general]
aliasescontext = myaliases

[default]
1234 = yadayada

[myaliases]
4321@devices = 1234@default

Now you can use 4321@devices to refer to the 1234@default mailbox.

This can be useful to provide channel drivers with constant
mailbox specifications such as <extension>@devices leaving
app_voicemail to control exactly which mailbox the alias points to.
Now, only voicemail has to be reloaded to make changes instead of
individual channel drivers which are usually more expensive to
reload.

Change-Id: I395b9205c91523a334fe971be0d1de4522067b04
This commit is contained in:
George Joseph
2018-12-10 06:20:06 -07:00
committed by Sean Bright
parent deffb8a6e0
commit c6980e32ae
3 changed files with 288 additions and 45 deletions

View File

@@ -73,6 +73,10 @@ maxlogins=3
;
;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.
@@ -233,7 +237,6 @@ pagerdateformat=%A, %B %d, %Y at %r
; 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
@@ -451,6 +454,13 @@ european=Europe/Copenhagen|'vm-received' a d b 'digits/at' HM
;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