diff options
-rw-r--r-- | apps/app_voicemail.c | 9 | ||||
-rw-r--r-- | configs/voicemail.conf.sample | 5 |
2 files changed, 13 insertions, 1 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 65ded5395..22322477d 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -237,6 +237,7 @@ struct ast_vm_user { char dialout[80]; char uniqueid[20]; /*!< Unique integer identifier */ char exit[80]; + char attachfmt[20]; /*!< Attachment format */ unsigned int flags; /*!< VM_ flags */ int saydurationm; int maxmsg; /*!< Maximum number of msgs per folder for this mailbox */ @@ -451,7 +452,9 @@ static void apply_option(struct ast_vm_user *vmu, const char *var, const char *v { int x; if (!strcasecmp(var, "attach")) { - ast_set2_flag(vmu, ast_true(value), VM_ATTACH); + ast_set2_flag(vmu, ast_true(value), VM_ATTACH); + } else if (!strcasecmp(var, "attachfmt")) { + ast_copy_string(vmu->attachfmt, value, sizeof(vmu->attachfmt)); } else if (!strcasecmp(var, "serveremail")) { ast_copy_string(vmu->serveremail, value, sizeof(vmu->serveremail)); } else if (!strcasecmp(var, "language")) { @@ -3292,6 +3295,10 @@ static int notify_new_message(struct ast_channel *chan, struct ast_vm_user *vmu, make_file(fn, sizeof(fn), todir, msgnum); snprintf(ext_context, sizeof(ext_context), "%s@%s", vmu->mailbox, vmu->context); + if (!ast_strlen_zero(vmu->attachfmt)) { + fmt = vmu->attachfmt; + } + /* Attach only the first format */ if ((fmt = ast_strdupa(fmt))) { stringp = fmt; diff --git a/configs/voicemail.conf.sample b/configs/voicemail.conf.sample index ba1834433..3c74e706b 100644 --- a/configs/voicemail.conf.sample +++ b/configs/voicemail.conf.sample @@ -162,6 +162,11 @@ european=Europe/Copenhagen|'vm-received' a d b 'digits/at' HM ; ; tz=central ; Timezone from zonemessages above. Irrelevant if envelope=no. ; 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] ; saycid=yes ; Say the caller id information before the message. If not described, ; or set to no, it will be in the envelope ; cidinternalcontexts=intern ; Internal Context for Name Playback instead of |