]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
app_voicemail: Allow 'Comedian Mail' branding to be overriden 40/4940/5
authorSean Bright <sean.bright@gmail.com>
Mon, 13 Feb 2017 22:50:41 +0000 (17:50 -0500)
committerJoshua Colp <jcolp@digium.com>
Tue, 14 Feb 2017 21:09:11 +0000 (21:09 +0000)
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

CHANGES
apps/app_voicemail.c
configs/samples/voicemail.conf.sample

diff --git a/CHANGES b/CHANGES
index d148f6bf6989577667d4e089bee035470961f210..00347f3043302d4d0a9e6cbf57a5594f0acd7c8e 100644 (file)
--- 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 ----------
 ------------------------------------------------------------------------------
index 5e4df8ea4df92faef03030c12472992bbeb2f1ac..22e6b759c06a003ccefdae860d060953dc1206d6 100644 (file)
@@ -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")))
index 248e142eb504ed0d6b21efc8c241757eee815193..1c91ffb34b957ae0acd9fe11108ec14a12a37769 100644 (file)
@@ -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"