[asterisk-commits] trunk r25057 - in /trunk: ./ apps/ configs/ sounds/

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Mon May 8 04:11:05 MST 2006


Author: russell
Date: Fri May  5 16:22:50 2006
New Revision: 25057

URL: http://svn.digium.com/view/asterisk?rev=25057&view=rev
Log:
add support for having the user reminded that their temporary greeting
is still set (issue #6120, khaefner)

Added:
    trunk/sounds/vm-tempgreetactive.gsm   (with props)
Modified:
    trunk/apps/app_voicemail.c
    trunk/configs/voicemail.conf.sample
    trunk/sounds.txt

Modified: trunk/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_voicemail.c?rev=25057&r1=25056&r2=25057&view=diff
==============================================================================
--- trunk/apps/app_voicemail.c (original)
+++ trunk/apps/app_voicemail.c Fri May  5 16:22:50 2006
@@ -120,7 +120,7 @@
 #define VM_DELETE		(1 << 12)
 #define VM_ALLOCED		(1 << 13)
 #define VM_SEARCH		(1 << 14)
-
+#define VM_TEMPGREETWARN	(1 << 15)	/*!< Remind user tempgreeting is set */
 #define ERROR_LOCK_PATH		-100
 
 enum {
@@ -467,7 +467,9 @@
 	} else if (!strcasecmp(var,"sendvoicemail")){
 		ast_set2_flag(vmu, ast_true(value), VM_SVMAIL);	
 	} else if (!strcasecmp(var, "review")){
-		ast_set2_flag(vmu, ast_true(value), VM_REVIEW);	
+		ast_set2_flag(vmu, ast_true(value), VM_REVIEW);
+	} else if (!strcasecmp(var, "tempgreetwarn")){
+		ast_set2_flag(vmu, ast_true(value), VM_TEMPGREETWARN);	
 	} else if (!strcasecmp(var, "operator")){
 		ast_set2_flag(vmu, ast_true(value), VM_OPERATOR);	
 	} else if (!strcasecmp(var, "envelope")){
@@ -4058,10 +4060,19 @@
 }
 	
 /* Default English syntax */
-static int vm_intro_en(struct ast_channel *chan,struct vm_state *vms)
-{
+static int vm_intro_en(struct ast_channel *chan, struct ast_vm_user *vmu, struct vm_state *vms)
+ {
+	int res;
+	char prefile[256]="";
+
+	/* Notify the user that the temp greeting is set and give them the option to remove it */
+	snprintf(prefile, sizeof(prefile), "%s%s/%s/temp", VM_SPOOL_DIR, vmu->context, vms->username);
+	if (ast_test_flag(vmu, VM_TEMPGREETWARN)) {
+		if (ast_fileexists(prefile, NULL, NULL) > 0)
+			res = ast_play_and_wait(chan, "vm-tempgreetactive");
+	}
+
 	/* Introduce messages they have */
-	int res;
 	res = ast_play_and_wait(chan, "vm-youhave");
 	if (!res) {
 		if (vms->newmessages) {
@@ -4616,7 +4627,7 @@
 }
 
 
-static int vm_intro(struct ast_channel *chan,struct vm_state *vms)
+static int vm_intro(struct ast_channel *chan, struct ast_vm_user *vmu, struct vm_state *vms)
 {
 	/* Play voicemail intro - syntax is different for different languages */
 	if (!strcasecmp(chan->language, "de")) {	/* GERMAN syntax */
@@ -4642,7 +4653,7 @@
 	} else if (!strcasecmp(chan->language, "ru")) {   /* RUSSIAN syntax */
 		return vm_intro_ru(chan, vms);
 	} else {					/* Default to ENGLISH */
-		return vm_intro_en(chan, vms);
+		return vm_intro_en(chan, vmu, vms);
 	}
 }
 
@@ -5343,7 +5354,7 @@
 	if (play_auto) {
 		cmd = '1';
 	} else {
-		cmd = vm_intro(chan, &vms);
+		cmd = vm_intro(chan, vmu, &vms);
 	}
 
 	vms.repeats = 0;
@@ -5998,6 +6009,7 @@
 	char *send_voicemail;
 	char *astcallop;
 	char *astreview;
+	char *asttempgreetwarn;
 	char *astskipcmd;
 	char *asthearenv;
 	char *astsaydurationinfo;
@@ -6208,6 +6220,15 @@
 			astreview = "no";
 		}
 		ast_set2_flag((&globalflags), ast_true(astreview), VM_REVIEW);	
+
+		/*Temperary greeting reminder */
+		if (!(asttempgreetwarn = ast_variable_retrieve(cfg, "general", "tempgreetwarn"))) {
+			ast_log(LOG_DEBUG, "VM Temperary Greeting Reminder Option disabled globally\n");
+			asttempgreetwarn = "no";
+		} else {
+			ast_log(LOG_DEBUG, "VM Temperary Greeting Reminder Option enabled globally\n");
+		}
+		ast_set2_flag((&globalflags), ast_true(asttempgreetwarn), VM_TEMPGREETWARN);
 
 		if (!(astcallop = ast_variable_retrieve(cfg, "general", "operator"))){
 			ast_log(LOG_DEBUG,"VM Operator break disabled globally\n");

Modified: trunk/configs/voicemail.conf.sample
URL: http://svn.digium.com/view/asterisk/trunk/configs/voicemail.conf.sample?rev=25057&r1=25056&r2=25057&view=diff
==============================================================================
--- trunk/configs/voicemail.conf.sample (original)
+++ trunk/configs/voicemail.conf.sample Fri May  5 16:22:50 2006
@@ -201,7 +201,7 @@
 			;     greetings.  The default is "no".
 ; hidefromdir=yes	; Hide this mailbox from the directory produced by app_directory
 			;     The default is "no".
-
+;tempgreetwarn=yes	; Remind the user that their temporary greeting is set
 
 [default]
 ; Define maximum number of messages per folder for partcular context.

Modified: trunk/sounds.txt
URL: http://svn.digium.com/view/asterisk/trunk/sounds.txt?rev=25057&r1=25056&r2=25057&view=diff
==============================================================================
--- trunk/sounds.txt (original)
+++ trunk/sounds.txt Fri May  5 16:22:50 2006
@@ -220,6 +220,8 @@
 
 %vm-sorry.gsm%I'm sorry I did not understand your response.
 
+%vm-tempgreetactive.gsm%Your temporary greeting is currently active
+
 %vm-tempgreeting.gsm%press 1 to record your temporary greeting
 
 %vm-tempgreeting2.gsm%press 1 to record your temporary greeting, or press 2 to erase your temporary greeting

Added: trunk/sounds/vm-tempgreetactive.gsm
URL: http://svn.digium.com/view/asterisk/trunk/sounds/vm-tempgreetactive.gsm?rev=25057&view=auto
==============================================================================
Binary file - no diff available.

Propchange: trunk/sounds/vm-tempgreetactive.gsm
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream



More information about the asterisk-commits mailing list