summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Bright <sean.bright@gmail.com>2017-02-13 17:50:41 -0500
committerJoshua Colp <jcolp@digium.com>2017-02-14 21:09:11 +0000
commit4c31e03e80e6de2beb4aae154d0fffd5307a26ff (patch)
tree49eb2efdb29b2563b583916ca677fc829de60ffc
parent500b02cb82059e52dd235d56ee31c13404d2a434 (diff)
app_voicemail: Allow 'Comedian Mail' branding to be overriden
Original patch by John Covert, slight modifications by me. ASTERISK-17428 #close Reported by: John Covert Patches: app_voicemail.c.patch (license #5512) patch uploaded by John Covert Change-Id: Ic3361b0782e5a5397a19ab18eb8550923a9bd6a6
-rw-r--r--CHANGES5
-rw-r--r--apps/app_voicemail.c14
-rw-r--r--configs/samples/voicemail.conf.sample7
3 files changed, 22 insertions, 4 deletions
diff --git a/CHANGES b/CHANGES
index d148f6bf6..00347f304 100644
--- a/CHANGES
+++ b/CHANGES
@@ -17,6 +17,11 @@ app_record
* Added new 'u' option to Record() application which prevents Asterisk from
truncating silence from the end of recorded files.
+app_voicemail
+------------------
+ * The 'Comedian Mail' prompts can now be overriden using the 'vm-login' and
+ 'vm-newuser' configuration options in voicemail.conf.
+
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 13.13.0 to Asterisk 13.14.0 ----------
------------------------------------------------------------------------------
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 5e4df8ea4..22e6b759c 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -1036,6 +1036,8 @@ static char listen_control_restart_key[12];
static char listen_control_stop_key[12];
/* custom password sounds */
+static char vm_login[80] = "vm-login";
+static char vm_newuser[80] = "vm-newuser";
static char vm_password[80] = "vm-password";
static char vm_newpassword[80] = "vm-newpassword";
static char vm_passchanged[80] = "vm-passchanged";
@@ -10406,7 +10408,7 @@ static int vm_instructions(struct ast_channel *chan, struct ast_vm_user *vmu, st
}
-static int vm_newuser(struct ast_channel *chan, struct ast_vm_user *vmu, struct vm_state *vms, char *fmtc, signed char record_gain)
+static int vm_newuser_setup(struct ast_channel *chan, struct ast_vm_user *vmu, struct vm_state *vms, char *fmtc, signed char record_gain)
{
int cmd = 0;
int duration = 0;
@@ -10996,7 +10998,7 @@ static int vm_authenticate(struct ast_channel *chan, char *mailbox, int mailbox_
adsi_begin(chan, &useadsi);
if (!skipuser && useadsi)
adsi_login(chan);
- if (!silent && !skipuser && ast_streamfile(chan, "vm-login", ast_channel_language(chan))) {
+ if (!silent && !skipuser && ast_streamfile(chan, vm_login, ast_channel_language(chan))) {
ast_log(AST_LOG_WARNING, "Couldn't stream login file\n");
return -1;
}
@@ -11493,9 +11495,9 @@ static int vm_execmain(struct ast_channel *chan, const char *data)
/* Check to see if this is a new user */
if (!strcasecmp(vmu->mailbox, vmu->password) &&
(ast_test_flag(vmu, VM_FORCENAME | VM_FORCEGREET))) {
- if (ast_play_and_wait(chan, "vm-newuser") == -1)
+ if (ast_play_and_wait(chan, vm_newuser) == -1)
ast_log(AST_LOG_WARNING, "Couldn't stream new user file\n");
- cmd = vm_newuser(chan, vmu, &vms, vmfmts, record_gain);
+ cmd = vm_newuser_setup(chan, vmu, &vms, vmfmts, record_gain);
if ((cmd == 't') || (cmd == '#')) {
/* Timeout */
ast_test_suite_event_notify("TIMEOUT", "Message: response from user timed out");
@@ -13912,6 +13914,10 @@ static int actual_load_config(int reload, struct ast_config *cfg, struct ast_con
}
/* load password sounds configuration */
+ if ((val = ast_variable_retrieve(cfg, "general", "vm-login")))
+ ast_copy_string(vm_login, val, sizeof(vm_login));
+ if ((val = ast_variable_retrieve(cfg, "general", "vm-newuser")))
+ ast_copy_string(vm_newuser, val, sizeof(vm_newuser));
if ((val = ast_variable_retrieve(cfg, "general", "vm-password")))
ast_copy_string(vm_password, val, sizeof(vm_password));
if ((val = ast_variable_retrieve(cfg, "general", "vm-newpassword")))
diff --git a/configs/samples/voicemail.conf.sample b/configs/samples/voicemail.conf.sample
index 248e142eb..1c91ffb34 100644
--- a/configs/samples/voicemail.conf.sample
+++ b/configs/samples/voicemail.conf.sample
@@ -333,6 +333,13 @@ sendvoicemail=yes ; Allow the user to compose and send a voicemail while inside
; 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"