[Freeswitch-svn] [commit] r6030 - in freeswitch/trunk: conf src/mod/applications/mod_voicemail
Freeswitch SVN
anthm at freeswitch.org
Tue Oct 23 11:07:14 EDT 2007
Author: anthm
Date: Tue Oct 23 11:07:14 2007
New Revision: 6030
Modified:
freeswitch/trunk/conf/directory.xml
freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c
Log:
merge MODAPP-40
Modified: freeswitch/trunk/conf/directory.xml
==============================================================================
--- freeswitch/trunk/conf/directory.xml (original)
+++ freeswitch/trunk/conf/directory.xml Tue Oct 23 11:07:14 2007
@@ -39,6 +39,9 @@
<!-- omit password for authless registration -->
<param name="password" value="1234"/>
<param name="vm-password" value="1234"/><!--if vm-password is omitted password param is used-->
+ <!--<param name="email-addr" value="me at mydomain.com"/>-->
+ <!--<param name="vm-delete-file" value="true"/>-->
+ <!--<param name="vm-attach-file" value="true"/>-->
<!--<param name="vm-mailto" value="me at mydomain.com"/>-->
<!--<param name="vm-email-all-messages" value="true"/>-->
<!-- optionally use this instead if you want to store the hash of user:domain:pass-->
Modified: freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c Tue Oct 23 11:07:14 2007
@@ -1062,7 +1062,6 @@
body = switch_channel_expand_variables(channel,profile->email_body);
}
- //TBD add better formatting to the body -- TRX done :)
switch_simple_email(cbt->email, from, headers, body, cbt->file_path);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Sending message to %s\n", cbt->email);
switch_safe_free(body);
@@ -1105,6 +1104,7 @@
int total_saved_urgent_messages = 0;
int heard_auto_saved = 0, heard_auto_new = 0;
char *email_vm = NULL;
+
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
@@ -1488,7 +1488,6 @@
vm_check_state = VM_CHECK_FOLDER_SUMMARY;
- //vm_check_state = VM_CHECK_MENU;
} else {
goto failed;
}
@@ -1542,6 +1541,9 @@
cc_t cc = { 0 };
char *read_flags = NORMAL_FLAG_STRING;
int priority = 3;
+ int email_attach = 1;
+ int email_delete = 1;
+
memset(&cbt, 0, sizeof(cbt));
if (!(profile = switch_core_hash_find(globals.profile_hash, profile_name))) {
@@ -1579,6 +1581,7 @@
int ok = 1;
char *xtra = switch_mprintf("mailbox=%s", id);
switch_xml_t x_domain, x_domain_root, x_user, x_params, x_param;
+ const char *email_addr = NULL;
assert(xtra);
x_user = x_domain = x_domain_root = NULL;
@@ -1591,12 +1594,22 @@
if (!strcasecmp(var, "vm-mailto")) {
email_vm = switch_core_session_strdup(session, val);
+ } else if (!strcasecmp(var, "email-addr")) {
+ email_addr = val;
} else if (!strcasecmp(var, "vm-email-all-messages")) {
send_mail = switch_true(val);
+ } else if (!strcasecmp(var, "vm-delete-file")) {
+ email_delete = switch_true(val);
+ } else if (!strcasecmp(var, "vm-attach-file")) {
+ email_attach = switch_true(val);
}
}
}
+ if (send_mail && switch_strlen_zero(email_vm) && !switch_strlen_zero(email_addr)) {
+ email_vm = switch_core_session_strdup(session, email_addr);
+ }
+
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "can't find user [%s@%s]\n", id, domain_name);
ok = 0;
@@ -1760,11 +1773,17 @@
body = switch_channel_expand_variables(channel,profile->email_body);
}
- //TBD add better formatting to the body -- TRX done :)
- switch_simple_email(email_vm, from, headers, body, file_path);
+ if(email_attach) {
+ switch_simple_email(email_vm, from, headers, body, file_path);
+ } else {
+ switch_simple_email(email_vm, from, headers, body, NULL);
+ }
+
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Sending message to %s\n", email_vm);
switch_safe_free(body);
- unlink(file_path);
+ if(email_delete) {
+ unlink(file_path);
+ }
}
switch_safe_free(file_path);
More information about the Freeswitch-svn
mailing list