From 478474bcb1e4f388e59bec25920f75aaaad93260 Mon Sep 17 00:00:00 2001
From: Mark Spencer <markster@digium.com>
Date: Wed, 28 Apr 2004 04:33:16 +0000
Subject: [PATCH] Merge bug 1483 -- advanced voicemail options

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2792 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 apps/app_voicemail.c            | 791 ++++++++++++++++++++++++++++++--
 configs/voicemail.conf.sample   |  16 +-
 say.c                           |  15 +-
 sounds.txt                      |  50 ++
 sounds/vm-advopts.gsm           | Bin 0 -> 3828 bytes
 sounds/vm-calldiffnum.gsm       | Bin 0 -> 5115 bytes
 sounds/vm-dialout.gsm           | Bin 0 -> 3267 bytes
 sounds/vm-enter-num-to-call.gsm | Bin 0 -> 3399 bytes
 sounds/vm-from-extension.gsm    | Bin 0 -> 1650 bytes
 sounds/vm-from-phonenumber.gsm  | Bin 0 -> 1650 bytes
 sounds/vm-from.gsm              | Bin 0 -> 759 bytes
 sounds/vm-nobox.gsm             | Bin 0 -> 6864 bytes
 sounds/vm-nonumber.gsm          | Bin 0 -> 4257 bytes
 sounds/vm-num-i-have.gsm        | Bin 0 -> 2607 bytes
 sounds/vm-reachoper.gsm         | Bin 0 -> 4950 bytes
 sounds/vm-review.gsm            | Bin 0 -> 14487 bytes
 sounds/vm-star-cancel.gsm       | Bin 0 -> 3102 bytes
 sounds/vm-starmain.gsm          | Bin 0 -> 4620 bytes
 sounds/vm-then-pound.gsm        | Bin 0 -> 2178 bytes
 sounds/vm-tocallback.gsm        | Bin 0 -> 6204 bytes
 sounds/vm-tocallnum.gsm         | Bin 0 -> 4554 bytes
 sounds/vm-tocancelmsg.gsm       | Bin 0 -> 5445 bytes
 sounds/vm-toenternumber.gsm     | Bin 0 -> 4389 bytes
 sounds/vm-tohearenv.gsm         | Bin 0 -> 5346 bytes
 sounds/vm-tomakecall.gsm        | Bin 0 -> 5247 bytes
 sounds/vm-tooshort.gsm          | Bin 0 -> 2904 bytes
 sounds/vm-toreply.gsm           | Bin 0 -> 4422 bytes
 sounds/vm-torerecord.gsm        | Bin 0 -> 5379 bytes
 sounds/vm-unknown-caller.gsm    | Bin 0 -> 2277 bytes
 29 files changed, 815 insertions(+), 57 deletions(-)
 create mode 100755 sounds/vm-advopts.gsm
 create mode 100755 sounds/vm-calldiffnum.gsm
 create mode 100755 sounds/vm-dialout.gsm
 create mode 100755 sounds/vm-enter-num-to-call.gsm
 create mode 100755 sounds/vm-from-extension.gsm
 create mode 100755 sounds/vm-from-phonenumber.gsm
 create mode 100755 sounds/vm-from.gsm
 create mode 100755 sounds/vm-nobox.gsm
 create mode 100755 sounds/vm-nonumber.gsm
 create mode 100755 sounds/vm-num-i-have.gsm
 create mode 100755 sounds/vm-reachoper.gsm
 create mode 100755 sounds/vm-review.gsm
 create mode 100755 sounds/vm-star-cancel.gsm
 create mode 100755 sounds/vm-starmain.gsm
 create mode 100755 sounds/vm-then-pound.gsm
 create mode 100755 sounds/vm-tocallback.gsm
 create mode 100755 sounds/vm-tocallnum.gsm
 create mode 100755 sounds/vm-tocancelmsg.gsm
 create mode 100755 sounds/vm-toenternumber.gsm
 create mode 100755 sounds/vm-tohearenv.gsm
 create mode 100755 sounds/vm-tomakecall.gsm
 create mode 100755 sounds/vm-tooshort.gsm
 create mode 100755 sounds/vm-toreply.gsm
 create mode 100755 sounds/vm-torerecord.gsm
 create mode 100755 sounds/vm-unknown-caller.gsm

diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index c5db096e9f..8007587943 100755
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -84,7 +84,11 @@ static inline void sql_close(void) { }
 #define eol "\r\n"
 
 #define MAX_DATETIME_FORMAT	512
+#define MAX_NUM_CID_CONTEXTS 10
+
 #define DIGITS_DIR	AST_SOUNDS "/digits/"
+
+
 struct baseio {
 	int iocp;
 	int iolen;
@@ -104,8 +108,13 @@ struct ast_vm_user {
 	char serveremail[80];
 	char mailcmd[160];	/* Configurable mail command */
 	char zonetag[80];
+	char callback[80];
+	char dialout[80];
 	int attach;
 	int alloced;
+	int saycid;
+	int review;
+	int operator;
 	struct ast_vm_user *next;
 };
 
@@ -132,6 +141,11 @@ struct vm_state {
 	int starting;
 	int repeats;
 };
+static int advanced_options(struct ast_channel *chan, struct ast_vm_user *vmu, struct vm_state *vms, int msg, int option);
+static int dialout(struct ast_channel *chan, struct ast_vm_user *vmu, char *num, char *outgoing_context);
+static int play_record_review(struct ast_channel *chan, char *playfile, char *recordfile, int maxtime, char *fmt, int outsidecaller, struct ast_vm_user *vmu, int *duration);
+
+
 
 static char *tdesc = "Comedian Mail (Voicemail System)";
 
@@ -209,6 +223,15 @@ static int maxgreet;
 static int skipms;
 static int maxlogins;
 
+static int reviewvm;
+static int calloper;
+static int saycidinfo;
+static char dialcontext[80];
+static char callcontext[80];
+
+static char cidinternalcontexts[MAX_NUM_CID_CONTEXTS][64];
+
+
 static char *emailbody = NULL;
 static int pbxskip = 0;
 static char fromstring[100];
@@ -225,6 +248,16 @@ static void apply_options(struct ast_vm_user *vmu, char *options)
 	char *stringp = ast_strdupa(options);
 	char *s;
 	char *var, *value;
+	if (reviewvm)
+		vmu->review = 1;
+	if (calloper)
+		vmu->operator = 1;
+	if (saycidinfo)
+		vmu->saycid = 1;
+	if (callcontext)
+		strncpy(vmu->callback, callcontext, sizeof(vmu->callback) -1);
+	if (dialcontext)
+		strncpy(vmu->dialout, dialcontext, sizeof(vmu->dialout) -1);
 	while((s = strsep(&stringp, "|"))) {
 		value = s;
 		if ((var = strsep(&value, "=")) && value) {
@@ -237,6 +270,26 @@ static void apply_options(struct ast_vm_user *vmu, char *options)
 				strncpy(vmu->serveremail, value, sizeof(vmu->serveremail) - 1);
 			} else if (!strcasecmp(var, "tz")) {
 				strncpy(vmu->zonetag, value, sizeof(vmu->zonetag) - 1);
+			} else if (!strcasecmp(var, "saycid")){
+				if(ast_true(value))
+					vmu->saycid = 1;
+				else
+					vmu->saycid = 0;
+			} else if (!strcasecmp(var, "review")){
+				if(ast_true(value))
+					vmu->review = 1;
+				else
+					vmu->review = 0;
+			} else if (!strcasecmp(var, "operator")){
+				if(ast_true(value))
+					vmu->operator = 1;
+				else
+					vmu->operator = 0;
+			} else if (!strcasecmp(var, "callback")) {
+				strncpy(vmu->callback, value, sizeof(vmu->callback) -1);
+			} else if (!strcasecmp(var, "dialout")) {
+				strncpy(vmu->dialout, value, sizeof(vmu->dialout) -1);
+
 			}
 		}
 	}
@@ -780,7 +833,7 @@ static int sendmail(char *srcemail, struct ast_vm_user *vmu, int msgnum, char *m
 		fprintf(p, "Message-ID: <Asterisk-%d-%s-%d@%s>\n", msgnum, mailbox, getpid(), host);
 		fprintf(p, "MIME-Version: 1.0\n");
 		if (attach_user_voicemail) {
-			// Something unique.
+			/* Something unique. */
 			snprintf(bound, sizeof(bound), "Boundary=%d%s%d", msgnum, mailbox, getpid());
 
 			fprintf(p, "Content-Type: MULTIPART/MIXED; BOUNDARY=\"%s\"\n\n\n", bound);
@@ -1020,7 +1073,7 @@ static int play_and_prepend(struct ast_channel *chan, char *playfile, char *reco
 		}
 	}
 	
-	sildet = ast_dsp_new(); //Create the silence detector
+	sildet = ast_dsp_new(); /* Create the silence detector */
 	if (!sildet) {
 		ast_log(LOG_WARNING, "Unable to create silence detector :(\n");
 		return -1;
@@ -1190,12 +1243,12 @@ static int play_and_record(struct ast_channel *chan, char *playfile, char *recor
 	int totalsilence = 0;
 	int dspsilence = 0;
 	int gotsilence = 0;		/* did we timeout for silence? */
-	int rfmt=0;	
-	
+	int rfmt=0;
+
 	ast_log(LOG_DEBUG,"play_and_record: %s, %s, '%s'\n", playfile ? playfile : "<None>", recordfile, fmt);
 	snprintf(comment,sizeof(comment),"Playing %s, Recording to: %s on %s\n", playfile ? playfile : "<None>", recordfile, chan->name);
 
-	if (playfile) {	
+	if (playfile) {
 		d = play_and_wait(chan, playfile);
 		if (d > -1)
 			d = ast_streamfile(chan, "beep",chan->language);
@@ -1204,14 +1257,14 @@ static int play_and_record(struct ast_channel *chan, char *playfile, char *recor
 		if (d < 0)
 			return -1;
 	}
-	
+
 	fmts = ast_strdupa(fmt);
-	
+
 	stringp=fmts;
 	strsep(&stringp, "|");
-	ast_log(LOG_DEBUG,"Recording Formats: sfmts=%s\n", fmts);	
+	ast_log(LOG_DEBUG,"Recording Formats: sfmts=%s\n", fmts);
 	sfmt[0] = ast_strdupa(fmts);
-	
+
 	while((fmt = strsep(&stringp, "|"))) {
 		if (fmtcnt > MAX_OTHER_FORMATS - 1) {
 			ast_log(LOG_WARNING, "Please increase MAX_OTHER_FORMATS in app_voicemail.c\n");
@@ -1225,19 +1278,19 @@ static int play_and_record(struct ast_channel *chan, char *playfile, char *recor
 	for (x=0;x<fmtcnt;x++) {
 		others[x] = ast_writefile(recordfile, sfmt[x], comment, O_TRUNC, 0, 0700);
 		ast_verbose( VERBOSE_PREFIX_3 "x=%i, open writing:  %s format: %s, %p\n", x, recordfile, sfmt[x], others[x]);
-			
+
 		if (!others[x]) {
 			break;
 		}
 	}
-	
-	sildet = ast_dsp_new(); //Create the silence detector
+
+	sildet = ast_dsp_new(); /* Create the silence detector */
 	if (!sildet) {
 		ast_log(LOG_WARNING, "Unable to create silence detector :(\n");
 		return -1;
 	}
 	ast_dsp_set_threshold(sildet, silencethreshold);
-	
+
 	if (maxsilence > 0) {
 		rfmt = chan->readformat;
 		res = ast_set_read_format(chan, AST_FORMAT_SLINEAR);
@@ -1246,7 +1299,7 @@ static int play_and_record(struct ast_channel *chan, char *playfile, char *recor
 			return -1;
 		}
 	}
-						
+
 	if (x == fmtcnt) {
 	/* Loop forever, writing the packets we read to the writer(s), until
 	   we read a # or get a hangup */
@@ -1262,7 +1315,7 @@ static int play_and_record(struct ast_channel *chan, char *playfile, char *recor
 					res = -1;
 				}
 			}
-			
+
 			if (res < 0) {
 				f = NULL;
 				break;
@@ -1275,7 +1328,7 @@ static int play_and_record(struct ast_channel *chan, char *playfile, char *recor
 				for (x=0;x<fmtcnt;x++) {
 					res = ast_writestream(others[x], f);
 				}
-				
+
 				/* Silence Detection */
 				if (maxsilence > 0) {
 					dspsilence = 0;
@@ -1284,7 +1337,7 @@ static int play_and_record(struct ast_channel *chan, char *playfile, char *recor
 						totalsilence = dspsilence;
 					else
 						totalsilence = 0;
-					
+
 					if (totalsilence > maxsilence) {
 					/* Ended happily with silence */
 					ast_frfree(f);
@@ -1304,7 +1357,7 @@ static int play_and_record(struct ast_channel *chan, char *playfile, char *recor
 				ast_writestream(others[0], f);
 			} else if (f->frametype == AST_FRAME_DTMF) {
 				if (f->subclass == '#') {
-					if (option_verbose > 2) 
+					if (option_verbose > 2)
 						ast_verbose( VERBOSE_PREFIX_3 "User ended message by pressing %c\n", f->subclass);
 					res = '#';
 					outmsg = 2;
@@ -1312,6 +1365,15 @@ static int play_and_record(struct ast_channel *chan, char *playfile, char *recor
 					break;
 				}
 			}
+				if (f->subclass == '0') {
+				/* Check for a '0' during message recording also, in case caller wants operator */
+					if (option_verbose > 2)
+						ast_verbose(VERBOSE_PREFIX_3 "User cancelled by pressing %c\n", f->subclass);
+					res = '0';
+					outmsg = 0;
+					ast_frfree(f);
+					break;
+				}
 			if (maxtime) {
 				time(&end);
 				if (maxtime < (end - start)) {
@@ -1325,13 +1387,13 @@ static int play_and_record(struct ast_channel *chan, char *playfile, char *recor
 			ast_frfree(f);
 		}
 		if (!f) {
-			if (option_verbose > 2) 
+			if (option_verbose > 2)
 				ast_verbose( VERBOSE_PREFIX_3 "User hung up\n");
 			res = -1;
 			outmsg=1;
 		}
 	} else {
-		ast_log(LOG_WARNING, "Error creating writestream '%s', format '%s'\n", recordfile, sfmt[x]); 
+		ast_log(LOG_WARNING, "Error creating writestream '%s', format '%s'\n", recordfile, sfmt[x]);
 	}
 
 	for (x=0;x<fmtcnt;x++) {
@@ -1351,13 +1413,12 @@ static int play_and_record(struct ast_channel *chan, char *playfile, char *recor
 	}
 	if (outmsg) {
 		if (outmsg > 1) {
-		/* Let them know it worked */
-			ast_streamfile(chan, "vm-msgsaved", chan->language);
+		/* Let them know recording is stopped */
+			ast_streamfile(chan, "auth-thankyou", chan->language);
 			ast_waitstream(chan, "");
 		}
-	}	
+	}
 
-	
 	return res;
 }
 
@@ -1384,6 +1445,7 @@ static void run_externnotify(char *context, char *extension, int numvoicemails)
 	}
 }
 
+
 static int leave_voicemail(struct ast_channel *chan, char *ext, int silent, int busy, int unavail)
 {
 	char comment[256];
@@ -1392,6 +1454,7 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, int silent, int
 	int res = 0;
 	int msgnum;
 	int fd;
+	int duration = 0;
 	char date[256];
 	char dir[256];
 	char fn[256];
@@ -1405,7 +1468,8 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, int silent, int
 	char tmp[256] = "";
 	struct ast_vm_user *vmu;
 	struct ast_vm_user svm;
-	
+
+
 	strncpy(tmp, ext, sizeof(tmp) - 1);
 	ext = tmp;
 	context = strchr(tmp, '@');
@@ -1432,12 +1496,12 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, int silent, int
 		if (mkdir(dir, 0700) && (errno != EEXIST))
 			ast_log(LOG_WARNING, "mkdir '%s' failed: %s\n", dir, strerror(errno));
 		if (ast_exists_extension(chan, strlen(chan->macrocontext) ? chan->macrocontext : chan->context, "o", 1, chan->callerid))
-			ecodes = "#0";
+			ecodes = "#0*";
 		/* Play the beginning intro if desired */
 		if (strlen(prefile)) {
 			if (ast_fileexists(prefile, NULL, NULL) > 0) {
 				if (ast_streamfile(chan, prefile, chan->language) > -1) 
-				    res = ast_waitstream(chan, "#0");
+				    res = ast_waitstream(chan, "#0*");
 			} else {
 				ast_log(LOG_DEBUG, "%s doesn't exist, doing what we can\n", prefile);
 				res = invent_message(chan, vmu->context, ext, busy, ecodes);
@@ -1462,8 +1526,19 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, int silent, int
 				res = 0;
 			}
 		}
+		/* Check for a '*' here in case the caller wants to escape from voicemail to something
+		other than the operator -- an automated attendant or mailbox login for example */
+		if (res == '*') {
+			strncpy(chan->exten, "a", sizeof(chan->exten) - 1);
+			if (strlen(chan->macrocontext))
+				strncpy(chan->context, chan->macrocontext, sizeof(chan->context) - 1);
+			chan->priority = 0;
+			free_user(vmu);
+			return 0;
+		}
 		/* Check for a '0' here */
 		if (res == '0') {
+		transfer:
 			strncpy(chan->exten, "o", sizeof(chan->exten) - 1);
 			if (strlen(chan->macrocontext))
 				strncpy(chan->context, chan->macrocontext, sizeof(chan->context) - 1);
@@ -1508,6 +1583,7 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, int silent, int
 "[message]\n"
 "origmailbox=%s\n"
 "context=%s\n"
+"macrocontext=%s\n"
 "exten=%s\n"
 "priority=%d\n"
 "callerchan=%s\n"
@@ -1516,6 +1592,7 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, int silent, int
 "origtime=%ld\n",
 	ext,
 	chan->context,
+	chan->macrocontext, 
 	chan->exten,
 	chan->priority,
 	chan->name,
@@ -1524,7 +1601,9 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, int silent, int
 					fclose(txt);
 				} else
 					ast_log(LOG_WARNING, "Error opening text file for output\n");
-				res = play_and_record(chan, NULL, fn, vmmaxmessage, fmt);
+				res = play_record_review(chan, NULL, fn, vmmaxmessage, fmt, 1, vmu, &duration);
+				if (res == '0')
+					goto transfer;
 				if (res > 0)
 					res = 0;
 				fd = open(txtfile, O_APPEND | O_WRONLY);
@@ -1532,7 +1611,7 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, int silent, int
 					txt = fdopen(fd, "a");
 					if (txt) {
 						time(&end);
-						fprintf(txt, "duration=%ld\n", (long)(end-start));
+						fprintf(txt, "duration=%ld\n", (long)(duration));
 						fclose(txt);
 					} else
 						close(fd);
@@ -1551,7 +1630,7 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, int silent, int
 						attach_user_voicemail = vmu->attach;
 					if (strlen(vmu->serveremail))
 						myserveremail = vmu->serveremail;
-					sendmail(myserveremail, vmu, msgnum, ext, chan->callerid, fn, fmt, end - start, attach_user_voicemail);
+						sendmail(myserveremail, vmu, msgnum, ext, chan->callerid, fn, fmt, end - start, attach_user_voicemail);
 				}
 				if (strlen(vmu->pager)) {
 					char *myserveremail = serveremail;
@@ -2418,31 +2497,18 @@ static int wait_file(struct ast_channel *chan, struct vm_state *vms, char *file)
 	return res;
 }
 
-static int play_message_datetime(struct ast_channel *chan, struct ast_vm_user *vmu, struct vm_state *vms)
+static int play_message_datetime(struct ast_channel *chan, struct ast_vm_user *vmu, char *origtime, char *filename)
 {
 	int res = 0;
-	char filename[256], *origtime;
 	struct vm_zone *the_zone = NULL;
-	struct ast_config *msg_cfg;
 	time_t t;
 	long tin;
 
-	make_file(vms->fn2, sizeof(vms->fn2), vms->curdir, vms->curmsg); 
-	snprintf(filename,sizeof(filename), "%s.txt", vms->fn2);
-	msg_cfg = ast_load(filename);
-	if (!msg_cfg) {
-		ast_log(LOG_WARNING, "No message attribute file?!! (%s)\n", filename);
-		return 0;
-	}
-
-	if (!(origtime = ast_variable_retrieve(msg_cfg, "message", "origtime")))
-		return 0;
 	if (sscanf(origtime,"%ld",&tin) < 1) {
 		ast_log(LOG_WARNING, "Couldn't find origtime in %s\n", filename);
 		return 0;
 	}
 	t = tin;
-	ast_destroy(msg_cfg);
 
 	/* Does this user have a timezone specified? */
 	if (strlen(vmu->zonetag)) {
@@ -2485,9 +2551,78 @@ static int play_message_datetime(struct ast_channel *chan, struct ast_vm_user *v
 	return res;
 }
 
+
+
+static int play_message_callerid(struct ast_channel *chan, struct vm_state *vms, char *cid, char *context, int callback)
+{
+	int res = 0;
+	int i;
+	char *callerid, *name;
+	char prefile[256]="";
+	
+
+	/* If voicemail cid is not enabled, or we didn't get cid or context from the attribute file, leave now. */
+	/* BB: Still need to change this so that if this function is called by the message envelope (and someone is explicitly requesting to hear the CID), it does not check to see if CID is enabled in the config file */
+	if((cid == NULL)||(context == NULL))
+		return res;
+
+	/* Strip off caller ID number from name */
+	ast_log(LOG_DEBUG, "VM-CID: composite caller ID received: %s, context: %s\n", cid, context);
+	ast_callerid_parse(cid, &name, &callerid);
+	if((callerid != NULL)&&(!res)&&(strlen(callerid))){
+		/* Check for internal contexts and only */
+		/* say extension when the call didn't come from an internal context in the list */
+		for(i = 0 ; i < MAX_NUM_CID_CONTEXTS ; i++){
+			ast_log(LOG_DEBUG, "VM-CID: comparing internalcontext: %s\n", cidinternalcontexts[i]);
+			if((strcmp(cidinternalcontexts[i], context) == 0))
+				break;
+		}
+		if(i != MAX_NUM_CID_CONTEXTS){ /* internal context? */
+			if(!res) {
+				snprintf(prefile, sizeof(prefile), "voicemail/%s/%s/greet", context, callerid);
+				if (strlen(prefile)) {
+				/* See if we can find a recorded name for this person instead of their extension number */
+					if (ast_fileexists(prefile, NULL, NULL) > 0) {
+						ast_verbose(VERBOSE_PREFIX_3 "Playing envelope info: CID number '%s' matches mailbox number, playing recorded name\n", callerid);
+						if (!callback)
+							res = wait_file2(chan, vms, "vm-from");
+						res = ast_streamfile(chan, prefile, chan->language) > -1;
+						res = ast_waitstream(chan, "");
+					} else {
+						ast_verbose(VERBOSE_PREFIX_3 "Playing envelope info: message from '%s'\n", callerid);
+						/* BB: Say "from extension" as one saying to sound smoother */
+						if (!callback)
+							res = wait_file2(chan, vms, "vm-from-extension");
+						res = ast_say_digit_str(chan, callerid, "", chan->language);
+					}
+				}
+			}
+		}
+
+		else if (!res){
+			ast_log(LOG_DEBUG, "VM-CID: Numeric caller id: (%s)\n",callerid);
+			/* BB: Since this is all nicely figured out, why not say "from phone number" in this case" */
+			if (!callback)
+				res = wait_file2(chan, vms, "vm-from-phonenumber");
+			res = ast_say_digit_str(chan, callerid, AST_DIGIT_ANY, chan->language);
+		}
+	}
+	else{
+		/* Number unknown */
+		ast_log(LOG_DEBUG, "VM-CID: From an unknown number");
+		if(!res)
+			/* BB: Say "from an unknown caller" as one phrase - it is already recorded by "the voice" anyhow */
+			res = wait_file2(chan, vms, "vm-unknown-caller");
+	}
+	return res;                                                               
+}
+
 static int play_message(struct ast_channel *chan, struct ast_vm_user *vmu, struct vm_state *vms, int msg)
 {
 	int res = 0;
+	char filename[256],*origtime, *cid, *context;
+	struct ast_config *msg_cfg;
+
 	vms->starting = 0; 
 	make_file(vms->fn, sizeof(vms->fn), vms->curdir, msg);
 	adsi_message(chan, vms->curbox, msg, vms->lastmsg, vms->deleted[msg], vms->fn);
@@ -2503,8 +2638,32 @@ static int play_message(struct ast_channel *chan, struct ast_vm_user *vmu, struc
 		}
 	}
 
+	/* Retrieve info from VM attribute file */
+
+        make_file(vms->fn2, sizeof(vms->fn2), vms->curdir, vms->curmsg);
+        snprintf(filename,sizeof(filename), "%s.txt", vms->fn2);
+        msg_cfg = ast_load(filename);
+        if (!msg_cfg) {
+                ast_log(LOG_WARNING, "No message attribute file?!! (%s)\n", filename);
+                return 0;
+        }
+                                                                                                                                 
+        if (!(origtime = ast_variable_retrieve(msg_cfg, "message", "origtime")))
+                return 0;
+                                                                                                                                 
+        cid = ast_variable_retrieve(msg_cfg, "message", "callerid");
+
+        context = ast_variable_retrieve(msg_cfg, "message", "context");
+	if(!strncasecmp("macro",context,5)) /* Macro names in contexts are useless for our needs */
+		context = ast_variable_retrieve(msg_cfg, "message","macrocontext");
+
 	if (!res)
-		res = play_message_datetime(chan,vmu,vms);
+		res = play_message_datetime(chan, vmu, origtime, filename);
+
+	if ((!res)&&(vmu->saycid))
+		res = play_message_callerid(chan, vms, cid, context, 0);
+
+	ast_destroy(msg_cfg);
 
 	if (!res) {
 		make_file(vms->fn, sizeof(vms->fn), vms->curdir, msg);
@@ -2622,6 +2781,8 @@ static int vm_instructions(struct ast_channel *chan, struct vm_state *vms)
 		} else {
 			if (vms->curmsg)
 				res = play_and_wait(chan, "vm-prev");
+			if (!res)
+				res = play_and_wait(chan, "vm-advopts");
 			if (!res)
 				res = play_and_wait(chan, "vm-repeat");
 			if (!res && (vms->curmsg != vms->lastmsg))
@@ -2676,15 +2837,15 @@ static int vm_options(struct ast_channel *chan, struct ast_vm_user *vmu, struct
 		switch (cmd) {
 		case '1':
 			snprintf(prefile,sizeof(prefile),"voicemail/%s/%s/unavail",vmu->context, vms->username);
-			cmd = play_and_record(chan,"vm-rec-unv",prefile, maxgreet, fmtc);
+			cmd = play_record_review(chan,"vm-rec-unv",prefile, maxgreet, fmtc, 0, vmu, 0);
 			break;
 		case '2': 
 			snprintf(prefile,sizeof(prefile),"voicemail/%s/%s/busy",vmu->context, vms->username);
-			cmd = play_and_record(chan,"vm-rec-busy",prefile, maxgreet, fmtc);
+			cmd = play_record_review(chan,"vm-rec-busy",prefile, maxgreet, fmtc, 0, vmu, 0);
 			break;
 		case '3': 
 			snprintf(prefile,sizeof(prefile),"voicemail/%s/%s/greet",vmu->context, vms->username);
-			cmd = play_and_record(chan,"vm-rec-name",prefile, maxgreet, fmtc);
+			cmd = play_record_review(chan,"vm-rec-name",prefile, maxgreet, fmtc, 0, vmu, 0);
 			break;
 		case '4':
 			newpassword[1] = '\0';
@@ -2751,6 +2912,7 @@ static int vm_execmain(struct ast_channel *chan, void *data)
 	int logretries = 0;
 	struct ast_vm_user *vmu = NULL, vmus;
 	char *context=NULL;
+	int silentexit = 0;
 
 	LOCAL_USER_ADD(u);
 	memset(&vms, 0, sizeof(vms));
@@ -2922,6 +3084,90 @@ static int vm_execmain(struct ast_channel *chan, void *data)
 					cmd = play_and_wait(chan, "vm-messages");
 				vms.starting = 1;
 				break;
+			case '3': /* Advanced options */
+				cmd = 0;
+				vms.repeats = 0;
+				while((cmd > -1) && (cmd != 't') && (cmd != '#')) {
+					switch(cmd) {
+					case '1': /* Reply */
+						if(vms.lastmsg > -1)
+							cmd = advanced_options(chan, vmu, &vms, vms.curmsg, 1);
+						else
+							cmd = play_and_wait(chan, "vm-sorry");
+						cmd = 't';
+						break;
+					case '2': /* Callback */
+						ast_verbose( VERBOSE_PREFIX_3 "Callback Requested\n");
+						if (strlen(vmu->callback) && vms.lastmsg > -1) {
+							cmd = advanced_options(chan, vmu, &vms, vms.curmsg, 2);
+							if (cmd == 9) {
+								silentexit = 1;
+								goto out;
+							}
+						}
+						else 
+							cmd = play_and_wait(chan, "vm-sorry");
+						cmd = 't';
+						break;
+					case '3': /* Envelope */
+						if(vms.lastmsg > -1)
+							cmd = advanced_options(chan, vmu, &vms, vms.curmsg, 3);
+						else
+							cmd = play_and_wait(chan, "vm-sorry");
+						cmd = 't';
+						break;
+					case '4': /* Dialout */
+						if (strlen(vmu->dialout)) {
+							cmd = dialout(chan, vmu, NULL, vmu->dialout);
+							if (cmd == 9) {
+								silentexit = 1;
+								goto out;
+							}
+						}
+						else 
+							cmd = play_and_wait(chan, "vm-sorry");
+						cmd = 't';
+						break;
+
+					case '*': /* Return to main menu */
+						cmd = 't';
+						break;
+
+					default:
+						cmd = 0;
+						if (!vms.starting) {
+							cmd = play_and_wait(chan, "vm-toreply");
+						}
+						if (strlen(vmu->callback) && !vms.starting && !cmd) {
+							cmd = play_and_wait(chan, "vm-tocallback");
+						}
+
+						if (!cmd && !vms.starting) {
+							cmd = play_and_wait(chan, "vm-tohearenv");
+						}
+						if (strlen(vmu->dialout) && !cmd) {
+							cmd = play_and_wait(chan, "vm-tomakecall");
+						}
+						if (!cmd)
+							cmd = play_and_wait(chan, "vm-starmain");
+						if (!cmd)
+							cmd = ast_waitfordigit(chan,6000);
+						if (!cmd)
+							vms.repeats++;
+						if (vms.repeats > 3)
+							cmd = 't';
+					}
+				}
+				if (cmd == 't') {
+					cmd = 0;
+					vms.repeats = 0;
+				}
+				break;
+
+
+
+
+
 			case '4':
 				if (vms.curmsg) {
 					vms.curmsg--;
@@ -3017,7 +3263,10 @@ out:
 		ast_stopstream(chan);
 		adsi_goodbye(chan);
 		if(valid) {
-			res = play_and_wait(chan, "vm-goodbye");
+			if (silentexit)
+				res = play_and_wait(chan, "vm-dialout");
+			else 
+				res = play_and_wait(chan, "vm-goodbye");
 			if (res > 0)
 				res = 0;
 		}
@@ -3286,13 +3535,18 @@ static int load_config(void)
 	struct ast_variable *var;
 	char *notifystr = NULL;
 	char *astattach;
+	char *astsaycid;
+	char *astcallop;
+	char *astreview;
 	char *silencestr;
 	char *thresholdstr;
 	char *fmt;
 	char *astemail;
  	char *astmailcmd = SENDMAIL;
-	char *s;
-
+	char *s,*q,*stringp;
+	char *dialoutcxt = NULL;
+	char *callbackcxt = NULL;	
+	
 	int x;
 
 	cfg = ast_load(VOICEMAIL_CONFIG);
@@ -3401,6 +3655,54 @@ static int load_config(void)
 			}
 		}
 
+		if ((s = ast_variable_retrieve(cfg, "general", "cidinternalcontexts"))){
+			ast_log(LOG_DEBUG,"VM_CID Internal context string: %s\n",s);
+			stringp = ast_strdupa(s);
+			for (x = 0 ; x < MAX_NUM_CID_CONTEXTS ; x++){
+				if ((stringp)&&(strlen(stringp))){
+					q = strsep(&stringp,",");
+					while ((*q == ' ')||(*q == '\t')) /* Eat white space between contexts */
+						q++;
+					strcpy(cidinternalcontexts[x],q);
+					ast_log(LOG_DEBUG,"VM_CID Internal context %d: %s\n", x, cidinternalcontexts[x]);
+				} else {
+					cidinternalcontexts[x][0] = '\0';
+				}
+			}
+		}
+		reviewvm = 0;
+		if (!(astreview = ast_variable_retrieve(cfg, "general", "review"))){
+			ast_log(LOG_DEBUG,"VM Review Option disabled globally\n");
+			astreview = "no";
+		}
+		reviewvm = ast_true(astreview);
+
+		calloper = 0;
+		if (!(astcallop = ast_variable_retrieve(cfg, "general", "operator"))){
+			ast_log(LOG_DEBUG,"VM Operator break disabled globally\n"); 								     	     astcallop = "no";
+		}
+		calloper = ast_true(astcallop);
+
+		saycidinfo = 0;
+		if (!(astsaycid = ast_variable_retrieve(cfg, "general", "saycid"))) {
+			ast_log(LOG_DEBUG,"VM CID Info before msg disabled globally\n");
+			astsaycid = "no";
+		} 
+		saycidinfo = ast_true(astsaycid);
+		
+		if ((dialoutcxt = ast_variable_retrieve(cfg, "general", "dialout"))) {
+                        strncpy(dialcontext, dialoutcxt, sizeof(dialcontext) - 1);
+                        ast_log(LOG_DEBUG, "found dialout context: %s\n", dialcontext);
+                } else {
+                        dialcontext[0] = '\0';
+                }
+	 		
+		if ((callbackcxt = ast_variable_retrieve(cfg, "general", "callback"))) {
+			strncpy(callcontext, callbackcxt, sizeof(callcontext) -1);
+			ast_log(LOG_DEBUG, "found callback context: %s\n", callcontext);
+		} else {
+			callcontext[0] = '\0';
+		}
 #ifdef USEMYSQLVM
 		if (!(s=ast_variable_retrieve(cfg, "general", "dbuser"))) {
 			strcpy(dbuser, "test");
@@ -3582,6 +3884,387 @@ char *description(void)
 	return tdesc;
 }
 
+static int dialout(struct ast_channel *chan, struct ast_vm_user *vmu, char *num, char *outgoing_context) 
+{
+	int cmd = 0;
+	char destination[80] = "";
+	int retries = 0;
+
+	if (!num) {
+		ast_verbose( VERBOSE_PREFIX_3 "Destination number will be entered manually\n");
+		while (retries < 3 && cmd != 't') {
+			destination[1] = '\0';
+			destination[0] = cmd = play_and_wait(chan,"vm-enter-num-to-call");
+			if (!cmd)
+				destination[0] = cmd = play_and_wait(chan, "vm-then-pound");
+			if (!cmd)
+				destination[0] = cmd = play_and_wait(chan, "vm-star-cancel");
+			if (!cmd) {
+				cmd = ast_waitfordigit(chan, 6000);
+				if (cmd)
+					destination[0] = cmd;
+			}
+			if (!cmd) {
+				retries++;
+			} else {
+
+				if (cmd < 0)
+					return 0;
+				if (cmd == '*') {
+					ast_verbose( VERBOSE_PREFIX_3 "User hit '*' to cancel outgoing call\n");
+					return 0;
+				}
+				if ((cmd = ast_readstring(chan,destination + strlen(destination),sizeof(destination)-1,6000,10000,"#")) < 0) 
+					retries++;
+				else
+					cmd = 't';
+			}
+		}
+		if (retries >= 3) {
+			return 0;
+		}
+		
+	} else {
+		ast_verbose( VERBOSE_PREFIX_3 "Destination number is CID number '%s'\n", num);
+		strncpy(destination, num, sizeof(destination) -1);
+	}
+
+	if (strlen(destination)) {
+		if (destination[strlen(destination) -1 ] == '*')
+			return 0; 
+		ast_verbose( VERBOSE_PREFIX_3 "Placing outgoing call to extension '%s' in context '%s' from context '%s'\n", destination, outgoing_context, chan->context);
+		strncpy(chan->exten, destination, sizeof(chan->exten) - 1);
+		strncpy(chan->context, outgoing_context, sizeof(chan->context) - 1);
+		chan->priority = 0;
+		return 9;
+	}
+	return 0;
+}
+
+static int advanced_options(struct ast_channel *chan, struct ast_vm_user *vmu, struct vm_state *vms, int msg, int option)
+{
+	int res = 0;
+	char filename[256],*origtime, *cid, *context, *name, *num;
+	struct ast_config *msg_cfg;
+	int retries = 0;
+
+	vms->starting = 0; 
+	make_file(vms->fn, sizeof(vms->fn), vms->curdir, msg);
+
+	/* Retrieve info from VM attribute file */
+
+        make_file(vms->fn2, sizeof(vms->fn2), vms->curdir, vms->curmsg);
+        snprintf(filename,sizeof(filename), "%s.txt", vms->fn2);
+        msg_cfg = ast_load(filename);
+        if (!msg_cfg) {
+                ast_log(LOG_WARNING, "No message attribute file?!! (%s)\n", filename);
+                return 0;
+        }
+                                                                                                                                 
+        if (!(origtime = ast_variable_retrieve(msg_cfg, "message", "origtime")))
+                return 0;
+                                                                                                                                 
+        cid = ast_variable_retrieve(msg_cfg, "message", "callerid");
+
+        context = ast_variable_retrieve(msg_cfg, "message", "context");
+	if(!strncasecmp("macro",context,5)) /* Macro names in contexts are useless for our needs */
+		context = ast_variable_retrieve(msg_cfg, "message","macrocontext");
+
+	if (option == 3) {
+
+		if (!res)
+			res = play_message_datetime(chan, vmu, origtime, filename);
+		if (!res)
+			res = play_message_callerid(chan, vms, cid, context, 0);
+	} else if (option == 2) { /* Call back */
+
+		if (strlen(cid)) {
+			ast_callerid_parse(cid, &name, &num);
+			while ((res > -1) && (res != 't')) {
+				switch(res) {
+					case '1':
+						if (num) {
+							/* Dial the CID number */
+							res = dialout(chan, vmu, num, vmu->callback);
+							if (res)
+								return 9;
+						} else {
+							res = '2';
+						}
+						break;
+
+					case '2':
+						/* Want to enter a different number, can only do this if there's a dialout context for this user */
+						if (strlen(vmu->dialout)) {
+							res = dialout(chan, vmu, NULL, vmu->dialout);
+							if (res)
+								return 9;
+						} else {
+							ast_verbose( VERBOSE_PREFIX_3 "Caller can not specify callback number - no dialout context available\n");
+							res = play_and_wait(chan, "vm-sorry");
+						}
+						return res;
+					case '*':
+						res = 't';
+						break;
+					case '3':
+					case '4':
+					case '5':
+					case '6':
+					case '7':
+					case '8':
+					case '9':
+					case '0':
+
+						res = play_and_wait(chan, "vm-sorry");
+						retries++;
+						break;
+					default:
+						if (num) {
+							ast_verbose( VERBOSE_PREFIX_3 "Confirm CID number '%s' is number to use for callback\n", num);
+							res = play_and_wait(chan, "vm-num-i-have");
+							if (!res)
+								res = play_message_callerid(chan, vms, num, vmu->context, 1);
+							if (!res)
+								res = play_and_wait(chan, "vm-tocallnum");
+							/* Only prompt for a caller-specified number if there is a dialout context specified */
+							if (strlen(vmu->dialout)) {
+								if (!res)
+									res = play_and_wait(chan, "vm-calldiffnum");
+							}
+						} else  {
+							res = play_and_wait(chan, "vm-nonumber");
+							if (strlen(vmu->dialout)) {
+								if (!res)
+									res = play_and_wait(chan, "vm-toenternumber");
+							}
+						}
+						if (!res)
+							res = play_and_wait(chan, "vm-star-cancel");
+						if (!res)
+							res = ast_waitfordigit(chan, 6000);
+						if (!res)
+							retries++;
+						if (retries > 3)
+							res = 't';
+							break; 
+
+						}
+					if (res == 't')
+						res = 0;
+					else if (res == '*')
+						res = -1;
+				}
+			}
+
+	}
+	else if (option == 1) { /* Reply */
+              		/* Send reply directly to sender */
+		if (strlen(cid)) {
+			ast_callerid_parse(cid, &name, &num);
+			if (!num) {
+				ast_verbose(VERBOSE_PREFIX_3 "No CID number available, no reply sent\n");
+				if (!res)
+					res = play_and_wait(chan, "vm-nonumber");
+				return res;
+			} else {
+				if (find_user(NULL, vmu->context, num)) {
+					ast_verbose(VERBOSE_PREFIX_3 "Leaving voicemail for '%s' in context '%s'\n", num, vmu->context);
+					leave_voicemail(chan, num, 1, 0, 1);
+					res = 't';
+					return res;
+				}
+              				else {
+					ast_verbose( VERBOSE_PREFIX_3 "No mailbox number '%s' in context '%s', no reply sent\n", num, vmu->context);
+                      				/* Sender has no mailbox, can't reply */
+                      				play_and_wait(chan, "vm-nobox");
+                      				res = 't';
+					return res;
+				}
+			} 
+			res = 0;
+		}
+	}
+
+	ast_destroy(msg_cfg);
+
+	if (!res) {
+		make_file(vms->fn, sizeof(vms->fn), vms->curdir, msg);
+		vms->heard[msg] = 1;
+		res = wait_file(chan, vms, vms->fn);
+	}
+	return res;
+}
+
+
+
+
+
+
+ 
+ 
+static int play_record_review(struct ast_channel *chan, char *playfile, char *recordfile, int maxtime, char *fmt, int outsidecaller, struct ast_vm_user *vmu, int *duration)
+{
+	/* Record message & let caller review or re-record it, or set options if applicable */
+ 	int res = 0;
+ 	int cmd = 0;
+ 	int max_attempts = 3;
+ 	int attempts = 0;
+ 	int recorded = 0;
+ 	time_t start = 0;
+ 	time_t end = 0;
+ 	int message_exists = 0;
+ 	/* Note that urgent and private are for flagging messages as such in the future */
+ 
+ 	cmd = '3';	 /* Want to start by recording */
+ 
+        	while((cmd >= 0) && (cmd != 't')) {
+        		switch (cmd) {
+ 	       	case '1':
+ 			if (!message_exists) {
+ 				/* In this case, 1 is to record a message */
+ 				cmd = '3';
+ 				break;
+ 			} else {
+ 				/* Otherwise 1 is to save the existing message */
+ 				ast_verbose(VERBOSE_PREFIX_3 "Saving message as is\n");
+ 				ast_streamfile(chan, "vm-msgsaved", chan->language);
+ 				ast_waitstream(chan, "");
+ 				cmd = 't';
+ 				return res;
+ 			}
+ 		case '2':
+ 			/* Review */
+ 			ast_verbose(VERBOSE_PREFIX_3 "Reviewing the message\n");
+ 			ast_streamfile(chan, recordfile, chan->language);
+ 			cmd = ast_waitstream(chan, AST_DIGIT_ANY);
+ 			break;
+ 		case '3':
+ 			message_exists = 0;
+ 			/* Record */
+ 			ast_verbose(VERBOSE_PREFIX_3 "Re-recording the message\n");
+ 			if (recorded && outsidecaller) {
+ 				cmd = play_and_wait(chan, INTRO);
+ 				cmd = play_and_wait(chan, "beep");
+ 			}
+ 			recorded = 1;
+ 			/* After an attempt has been made to record message, we have to take care of INTRO and beep for incoming messages, but not for greetings */
+			/* twisted says: don't touch the pointer if it's null! */
+			if (duration) *duration = 0;
+ 			time(&start);
+ 			cmd = play_and_record(chan, playfile, recordfile, maxtime, fmt);
+ 			time(&end);
+			/* twisted says: don't touch the pointer if it's null! */
+			if (duration) *duration = end - start;
+ 			if (cmd == -1)
+ 			/* User has hung up, no options to give */
+ 				return res;
+ 			if (cmd == '0') {
+ 				/* Erase the message if 0 pushed during playback */
+ 				play_and_wait(chan, "vm-deleted");
+ 			 	ast_filedelete(recordfile, NULL);
+ 			} else if (cmd == '*') {
+ 				break;
+ 			} 
+#if 0			
+ 			else if (vmu->review && ((int)&end - (int)&start < 5)) {
+ 				/* Message is too short */
+ 				ast_verbose(VERBOSE_PREFIX_3 "Message too short\n");
+				cmd = play_and_wait(chan, "vm-tooshort");
+ 				cmd = ast_filedelete(recordfile, NULL);
+ 				break;
+ 			}
+ 			else if (vmu->review && (cmd == 2 && duration < (maxsilence + 3))) {
+ 				/* Message is all silence */
+ 				ast_verbose(VERBOSE_PREFIX_3 "Nothing recorded\n");
+ 				cmd = ast_filedelete(recordfile, NULL);
+	                        cmd = play_and_wait(chan, "vm-nothingrecorded");
+                                if (!cmd)
+ 					cmd = play_and_wait(chan, "vm-speakup");
+ 				break;
+ 			}
+#endif
+ 			else {
+ 				/* If all is well, a message exists */
+ 				message_exists = 1;
+				cmd = 0;
+ 			}
+ 			break;
+ 		case '4':
+ 		case '5':
+ 		case '6':
+ 		case '7':
+ 		case '8':
+ 		case '9':
+		case '*':
+		case '#':
+ 			cmd = play_and_wait(chan, "vm-sorry");
+ 			break;
+#if 0 
+/*  XXX Commented out for the moment because of the dangers of deleting
+    a message while recording (can put the message numbers out of sync) */
+ 		case '*':
+ 			/* Cancel recording, delete message, offer to take another message*/
+ 			cmd = play_and_wait(chan, "vm-deleted");
+ 			cmd = ast_filedelete(recordfile, NULL);
+ 			if (outsidecaller) {
+ 				res = vm_exec(chan, NULL);
+ 				return res;
+ 			}
+ 			else
+ 				return 1;
+#endif
+ 		case '0':
+ 			if (outsidecaller && vmu->operator) {
+ 				if (message_exists)
+ 					play_and_wait(chan, "vm-msgsaved");
+ 				return cmd;
+ 			} else
+ 				cmd = play_and_wait(chan, "vm-sorry");
+ 			break;
+ 		default:
+			/* If the caller is an ouside caller, and the review option is enabled,
+			   allow them to review the message, but let the owner of the box review
+			   their OGM's */
+			if (outsidecaller && !vmu->review)
+				return cmd;
+ 			if (message_exists) {
+ 				cmd = play_and_wait(chan, "vm-review");
+ 			}
+ 			else {
+ 				cmd = play_and_wait(chan, "vm-torerecord");
+ 				if (!cmd)
+ 					cmd = ast_waitfordigit(chan, 600);
+ 			}
+ 			
+ 			if (!cmd && outsidecaller && vmu->operator) {
+ 				cmd = play_and_wait(chan, "vm-reachoper");
+ 				if (!cmd)
+ 					cmd = ast_waitfordigit(chan, 600);
+ 			}
+#if 0
+			if (!cmd)
+ 				cmd = play_and_wait(chan, "vm-tocancelmsg");
+#endif
+ 			if (!cmd)
+ 				cmd = ast_waitfordigit(chan, 6000);
+ 			if (!cmd) {
+ 				attempts++;
+ 			}
+ 			if (attempts > max_attempts) {
+ 				cmd = 't';
+ 			}
+ 		}
+ 	}
+ 	if (outsidecaller)  
+ 		play_and_wait(chan, "vm-goodbye");
+ 	if (cmd == 't')
+ 		cmd = 0;
+ 	return cmd;
+ }
+ 
+
+
 int usecount(void)
 {
 	int res;
@@ -3593,3 +4276,9 @@ char *key()
 {
 	return ASTERISK_GPL_KEY;
 }
+
+
+
+	
+
+
diff --git a/configs/voicemail.conf.sample b/configs/voicemail.conf.sample
index 3a97fbd54c..37648accb5 100755
--- a/configs/voicemail.conf.sample
+++ b/configs/voicemail.conf.sample
@@ -86,12 +86,26 @@ central24=America/Chicago|'vm-received' q 'digits/at' H 'digits/hundred' M 'hour
 ; if the e-mail is specified, a message will be sent when a message is
 ; received, to the given mailbox. If pager is specified, a message will be sent there as well.
 ;
+; Advanced options example is extension 4069
+; NOTE: All options can be expressed globally in the general section, and overriden in the per-mailbox settings.
+; 
+; tz=central (timezone from zonemessages above)
+; attach=yes (attach the voicemail to the notification email *NOT* the pager email)
+; saycid=yes (say the caller id information before the message. If not described, or set to no, it will be in the envelope)
+; dialout=fromvm (context to dial out from [option 4 from the advanced menu]; if not listed, dialing out will not be permitted)
+; callback=fromvm (context to call back from; if not listed, calling the sender back will not be permitted) 
+; review=yes (allow sender to review/rerecord their message before saving it)
+; operator=yes (allow sender to hit 0 after leaving a voicemail to reach an operator)
+; 
+
+
 [default]
 1234 => 4242,Example Mailbox,root@localhost
 ;4200 => 9855,Mark Spencer,markster@linux-support.net,mypager@digium.com,attach=no|serveremail=myaddy@digium.com|tz=central
 ;4300 => 3456,Ben Rigas,ben@american-computer.net
 ;4310 => 5432,Sales,sales@marko.net
-;4069 => 6522,Matt Brooks,matt@marko.net
+;4069 => 6522,Matt Brooks,matt@marko.net,,|tz=central|attach=yes|saycid=yes|dialout=fromvm|callback=fromvm|review=yes|operator=
+yes 
 ;4110 => 3443,Rob Flynn,rflynn@blueridge.net
 
 ;
diff --git a/say.c b/say.c
index 2ca660500d..07b5844e9c 100755
--- a/say.c
+++ b/say.c
@@ -34,6 +34,7 @@ int ast_say_digit_str(struct ast_channel *chan, char *fn2, char *ints, char *lan
 	int num = 0;
 	int res = 0;
 	while(fn2[num] && !res) {
+		fn[0] = '\0';
 		switch (fn2[num]) {
 			case ('*'):
 				snprintf(fn, sizeof(fn), "digits/star");
@@ -42,12 +43,16 @@ int ast_say_digit_str(struct ast_channel *chan, char *fn2, char *ints, char *lan
 				snprintf(fn, sizeof(fn), "digits/pound");
 				break;
 			default:
-				snprintf(fn, sizeof(fn), "digits/%c", fn2[num]);
+				if((fn2[num] >= '0') && (fn2[num] <= '9')){ /* Must be in {0-9} */	 
+					snprintf(fn, sizeof(fn), "digits/%c", fn2[num]);
+				}
 			}
-		res = ast_streamfile(chan, fn, lang);
-		if (!res) 
-			res = ast_waitstream(chan, ints);
-		ast_stopstream(chan);
+		if(strlen(fn)){ /* if length == 0, then skip this digit as it is invalid */
+			res = ast_streamfile(chan, fn, lang);
+			if (!res) 
+				res = ast_waitstream(chan, ints);
+			ast_stopstream(chan);
+		}
 		num++;
 	}
 	return res;
diff --git a/sounds.txt b/sounds.txt
index 1bbfbef059..c056fca430 100755
--- a/sounds.txt
+++ b/sounds.txt
@@ -426,3 +426,53 @@
  message without prepending
 
 %vm-mailboxfull.gsm%sorry but the users mail box can't accept more messages
+
+%vm-tocancelmsg.gsm%press star to cancel this message
+
+%vm-from.gsm%from
+
+%vm-from-extension.gsm%from extension
+
+%vm-from-phonenumber.gsm%from phone number
+
+%vm-unknown-caller.gsm%from an unknown caller
+
+%vm-advopts.gsm%press 3 for advanced options
+
+%vm-toreply.gsm%press 1 to send a reply
+
+%vm-tocallback.gsm%press 2 to call the person who sent this message
+
+%vm-tohearenv.gsm%press 3 to hear the message envelope
+
+%vm-tomakecall.gsm%press 4 to place an outgoing call
+
+%vm-starmain.gsm%press star to return to the main menu
+
+%vm-dialout.gsm%please wait while i connect your call
+
+%vm-enter-num-to-call.gsm%please enter the number you wish to call
+
+%vm-then-pound.gsm%then press pound
+
+%vm-star-cancel.gsm%press star to cancel
+
+%vm-num-i-have.gsm%the number i have is
+
+%vm-tocallnum.gsm%press 1 to call this number
+
+%vm-calldiffnum.gsm%press 2 to enter a different number
+
+%vm-nonumber.gsm%i'm afraid i don't know who sent this message
+
+%vm-toenternumber.gsm%press 1 to enter a number
+
+%vm-nobox.gsm%you cannot reply to this message because the sender does not have a mailbox
+
+%vm-review.gsm%press 1 to accept this recording press 2 to listen to it press 3 to rerecord your message
+
+%vm-torerecord.gsm%press 3 to rerecord your message
+
+%vm-reachoper.gsm%press 0 to reach an operator
+
+%vm-tooshort.gsm%your message is too short 
diff --git a/sounds/vm-advopts.gsm b/sounds/vm-advopts.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..4305ed49de5e0228805564876c0583b3ae3cdc59
GIT binary patch
literal 3828
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

literal 0
HcmV?d00001

diff --git a/sounds/vm-calldiffnum.gsm b/sounds/vm-calldiffnum.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..b874d58939a4d96590d6c9c07758a5fd0eb4ea8d
GIT binary patch
literal 5115
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

literal 0
HcmV?d00001

diff --git a/sounds/vm-dialout.gsm b/sounds/vm-dialout.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..406215e2f5402edb5dfddbffa656d615b70d8c5a
GIT binary patch
literal 3267
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
BV4(m2

literal 0
HcmV?d00001

diff --git a/sounds/vm-enter-num-to-call.gsm b/sounds/vm-enter-num-to-call.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..30292703f53eb36dea70910303e5166bdfd2513d
GIT binary patch
literal 3399
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

literal 0
HcmV?d00001

diff --git a/sounds/vm-from-extension.gsm b/sounds/vm-from-extension.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..1666b015a5b8fb702a18a029d688a9a7f1022614
GIT binary patch
literal 1650
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

literal 0
HcmV?d00001

diff --git a/sounds/vm-from-phonenumber.gsm b/sounds/vm-from-phonenumber.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..1666b015a5b8fb702a18a029d688a9a7f1022614
GIT binary patch
literal 1650
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

literal 0
HcmV?d00001

diff --git a/sounds/vm-from.gsm b/sounds/vm-from.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..1f396327f42fba7305d995018fbb7da5091a6df1
GIT binary patch
literal 759
zcmV<T0to%sD5EJOPyop!pC=q+!shaA^vqO)JKJt-oKOHnWRasJ)!TaP^Rl7G8eGtk
zQv$lHik_=bq`2c|YvYs1IM7;49@Fb<E!tU!T@+;XqFClhBVbD|v1ip?jS<;d$h9Pq
z*9O$;Tq)RBCmYqaMUY*^@zqq+>01ecd6lZ;y9rcN=3^w(?Q|*7y9p;!PpfOYC|aaN
z4(+`NIb&_6$6ZAK9q#6t)bM;U$YJF1C2b`jVI|i`wnl5iDO8(-$m3(jNY$9}V%05z
zu2^M8#_Fv&L&*eTbJ498$wd~hmP;MV<uJ%KU8U74q3M{+#z$LG1?10T*CcI9m}!FV
z4q_opX+)@~>e(OFaDnC_)dGl7QZp6m!wqY2mcZEphUV{f^>1dj(dt<o)oZDt*>OUc
z*=;vEhNXWRskU3(!<p>$*y7%!B@%7g{naJHRaxC-*%WCspW>s5aIL2kaRKpd$K>bU
zqd3cEGuG9c%V1fB0-RK7Fq_{&kC&NRQ{chM;}zxemf}2SMV1@Y+Hsj1@S|9~c|_cJ
zq7>o(UX<Q}1TnNAl8l3YByC33)mUlR^JxMIlR9X$Zo-)vbtvEGLOkQa($wh!!(8e|
z4b_-xS)*p+CyFUcr{;nv;*H8+?E^`8kx1ii!m#1<FBR1kf?^}vBGlCpxZT}DE@X|z
zQ*NR)-j3#L)`A)ucFWz>7HXxW(!to#rKIQ8LY~!8#?EMh86UOdnpa{W0<S#Y)s%82
zY-XVd%miCG(&9?2CKV50f>q6`MHyuw`J+~>V${}p<|ELfK_<=DRAizUh0`5mvq85+
zmC4Vt!m3*}*nHL(dS&BNVsTP&+U2C7td$BZ&+g)LTNPJs=E6kqjz?qH-I^g9<iXKW
zdB>Z;f)>J(Oq`5hM%#(H<=kLM+ljj6&|sqBTJQi@EN(?(Pyk6Jk~t($07)d0NhDAJ
pNhFd<B+#3h;3HH3NhFd<Bv1fJB$7!aPyk6Jl1U^`07)d0NhI?@fF1w<

literal 0
HcmV?d00001

diff --git a/sounds/vm-nobox.gsm b/sounds/vm-nobox.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..e4c69372f769978caccf6bf29d8f378cb3a83361
GIT binary patch
literal 6864
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

literal 0
HcmV?d00001

diff --git a/sounds/vm-nonumber.gsm b/sounds/vm-nonumber.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..7c99e6d5c6c4e59ad7694981754202c9e8f3c4ca
GIT binary patch
literal 4257
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

literal 0
HcmV?d00001

diff --git a/sounds/vm-num-i-have.gsm b/sounds/vm-num-i-have.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..9ba87bc6a323e626481024d6b40676aa633d6783
GIT binary patch
literal 2607
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
R;s7}#jkeqFfJrNDw%dmpHIx7V

literal 0
HcmV?d00001

diff --git a/sounds/vm-reachoper.gsm b/sounds/vm-reachoper.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..208daa5919e4b1324134b7be7f5d676036066e01
GIT binary patch
literal 4950
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

literal 0
HcmV?d00001

diff --git a/sounds/vm-review.gsm b/sounds/vm-review.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..e49768d62512af700e7fbd6946a333a179a845a9
GIT binary patch
literal 14487
zcmeI3S5#B^`|eS36m=Y>s5A{JbaX6q9Vr145T%6{P$0BWq69$^kzN84ArzGWh7>v|
z2%%X5p@lZ2k_JKwNORPg(HUpv_dER8I_KitoVCvVT<!I)^?dhQ`(nTEvp?^%g^E^T
zxfj4jj<J$N0&I1$)_TPNH{H@n#RrF-%1SPz)PxXX9c<(TICxUU8dOe~gsHenuy9>J
zfVD2hRU$G}L<P+`*eLL}pge#znBWHT33JmcXMr#~w@n%Vi;Sk0<*5#CV7xW>R+g0l
zYpsh1z(IJJWZc13j)5bEw2CO;D8p5eYO5PavIJvbl2=(a6oM;J0N6QYMH4oX>jFtx
z7o@2INifL-SUyF$OR^$YyMa0x&@H^NLP#M-A>U+K>JVJ&ycjTEqfO`CEL&~#(@UKs
z*XQs-xsXO)K~+0kkm1lke3pG^+Gy}cMo3MHz1b5|ntqXuLa3++s_|l&X}X9dQw)C}
zdRr}N*_fH+Vu&TdQQfgp;j<i(_8`d^gweLlVIWR+TKQ!$+^N_KN-e|cH^SZ{LerN5
zowYC)cz|W;{n1Lw*0T38JL`%G0Oz@G{UMv;3gZ_eBARE4sHH4O*p__=dva{D7~om2
z(H_m}di^=kVZnlrL3<TLn}eUcD=r3=CR{rGs*(2e^0!^}&3^`;xtGXqfs4=O#|$2E
zV`a=wo*ONB=j$CiI-S`dmR}v0XSC??<Dj(Vte?Sz&u~y>sbTr&3DDF1h7*H@L<QdF
z8NpUp5C?4}t#6)R#HGsX+BGkBT_k&de<7W4QQ}>&|M#RW!-Z(S8z(-sd>8Mlz2rM(
zWY_Hyf@mrFqqv#chR(W^+y`8Mgans&v_?M1TN07RtE_@M=spvruIKTs8|y7PEwBDq
z2#X5d&uFoCNpd(8e&{k7JuXGT>2Fi|w4#im$%K1)3pXN<%}=YvMw$6a#Oowk*D*=F
z(O(6}AOsH1l~~`RD-84X(22z%w3Ey(zRw4174POsOkU@=pbX;HN2S-{z5+SASR!17
z@hsZ!%T#~km1vGA8qaUHf8PAC*3*ie9Tk%Ajj)q*i=%%yF_YRnFxWocDtq4}qTeHu
zb9=JFUNkKjq)nVy&Cg_)MYbxG%yWMSo6Glf%_K%O-XAaEV=NEy-=Tkw5Gt+zP6=#_
zR?=&KLg>dS5xQ4UzpakaFCbo23Iak7#z)I<hFlsQn_=ePXc?d~C|1qhiyBkp2WW4*
zA>ktS$jdR{`#Qu6WR&6$MPguetgLSdUE3^*JRkiAtR;?nXrlXaHBj#9k=9RfRXct0
z+xXaq?3m8BA62_{9F!+EpP|LSp~j(uVJE2aX@08Ty<0K{X0TfJX4H8zagHZ8TkJ^i
zq3-)3QBF)?F6^rDZ>a)a+02J5NtwXBIfhc)G4qM$NB**cS@WzNX?c)T&*Sbs5LSr1
zf^z=#3c)5$oG|;@LO}Lih1uo{hs6rQZCwA#fK6~v<^7ys&|{uVw5gO?bdJRK7ki)s
zhXpP8NvKb@NbYnwJbLAlrT0FhIDXM&t0r3jPWC9?$j0eK*wVuq219(TCMJhN_i4TI
z5Xa4)O$Zwf{0(c&naK{kTP@^%91b{v6@jZ6qGF6|wYZ%xs^1v4*2GD?BS=m0rn6dc
z41eOt!vu!Pbb7I2l{lIyiVFb*`E#s5?J6c3-E_&6%1)zkt>^(<*un&X#cOSqvhFNH
zV)+DUYNxd%PJot{;ixWKWQdBDg5WL}8*{7Bw*an^QkE{=!Ag#?4e@fY2H~wi#Q-ZM
z)&neV9a6*v0&Mk4$E6Afn4DlE*~+rj!%l$109HGvz?_xV7MT~oo>o4-Ud}M_L$h?^
z!)zhNeW8evegy$~gxy$aND0nA-IGcu2Quxc$Hrwnc~(uSCb~!vn3%DUFuzr4sSMq<
zT7$h69^TLjx)XHxwbNM<ZXLv+y8euZfY?o(Xl`gu-@TAPAEd0mv#F>f6zIVJc6h1R
z<wC`qhEJSle`j|GK)h;v)6BdfrcB_bZ@>X}V&Wf&I*(MU$4ev+^lkTxy0-Tht_@TY
z+dhU}PiTB>rdrZHVY8AzJBfW`!TXh=PF}pyd@+NsR^C>KV)FnCGYb~B$I?n$`Li~D
zbG)q=hB)?>lp6DR^Aa=D;A_)hcD&|9b-$!!s^8qw1I%0RKMiM_es4jzKq&Ee9bfvy
zzO;G2tZGhDVrnNdzmv>UyfDSFJzTl^VhZ2m!n<UM$0O4VLv-_s^6@#8?T{8v(H!kA
zii<HT?O7;~w?(!z4ocvIb)HR%#iDRz62FZfRc6Yn+TU^@>iVn4XdjXNDV?V+?3$X>
zC?c$Qx;{|BTO5vH)tQ=dGhpORW4KO8=TnNIVE(n|p{D3bM{(*hU$5&ryJcLmw<8%G
zus=v0UN?u#*Hv#7pAH3oYeyUYz`Ic-*B)$4`J>YcIAp|n!gd3`g~BIRTc4u#HZI0o
zujAG}k+WvTdWh!`e@*6Unf~B|nWDJark>ZI+npQxc$318s`;xpI>%7z@<LhbAbtd-
zx(i9PXxeMU>dIhcate@bNWAA0%a|#MBNK0tehEQ0k1uDta{6M4%ggjOn}dn$*xL`B
zwz5{mr7nIOjQn<vThNE)UfrC5PCAJXDr&4{uZ3hfZmWz()tG3d0}j*~+O|I0<)@cq
zqsVY*GVC3c&aXYZ>~JfqN0LZg6*8tmO9#N2Ds;uY$@-63T8AEiD|ZAx;T~j#Zfend
zvKT!Q{Cb2}mU%^zx^EVPm0W5gW<!W{PGMM|F5aW|-tvfSXSnZF(Q}Z9yCjG<&QH!Z
zeE5?ni*$of>?gs6^=Uo|<i1cbltV|vStN_sy>LCY-1o9}PL>k~(H65riVI4dK2R7I
zU@8tIH<ON02yS3D?cxJbDF6-1Z_(>#*y<&+QXZ<n#GZ6TCBuqV!_s3@eeD{&ND$q`
z3&bpv2c+AT_<&)xV>c3>Fl;0kYh4c2^gru&R4yn8u&sN`)?oNCg+IU}s&v5Yc9yN~
zRXB>jZi7M<Fl=>7VX|71tzI=U@{I#blEeaK?FjI$3Q>Dh!;IJev;sI70f0vmJQ9)3
zJ8fd}TVlR)5xB8i)KhU-;x%z&cK{rj3Jpc!%@*33RI`plyaf5B@H90$q3P}$Z4^V)
z{y8}~j5@M$)Ali8ba2w-#x?><3|7nR<vqLDG~EF{IHK|oxi(jVyb`7Rk-2#yam{;+
zIo$wDkK>T*fy;<J(-Dye`n)NDQv5Sr??^aOEoISnudW%avxh_Ncy`v8DX%(0tM;XI
zKmv6@2x>dISgr^dGkhWA13A=A-L3#t%;%piRf3@Qg3jWRuH3Tg+T-_;`6gq<c6{z4
zhA2lW>6ZtzZ-u&5Q&-ME2!-4_=dN8cP?&LqO~1`Q>9QsZjjoIIrVfT0Zai9_WDV>;
z`KxcA-cS_o*|li7U|I8*uAx|~7=P>Tp~fWL_$G}TN)uCehwU3K2kY~JR3TXPX3`Dl
zy_s&sp|?gR&r2<nqrU3^YQQA1)Gv)^4;~aOA9@zDg}VRiRcOr;FuM&42hWE)sXGo?
zDpVGJ@+V8Uwf@-hd&`mUp8Lxb%TXZ@^WH9HS@_flnZcyjs7D?;!rOJh%)}A;BA*l*
zJ~@$#8Lz#w1=r26>bTwHn%|8r7k1Vz>1M%CZ=+`o#7+Aa{ihW5GOxO1EfWU0yYsdR
zMEHRkq)<@CHIUBgWz@-U_)W8J#nrDr4zQ)<5%hRgiKw$mU2iGpz-{=1jxhVLM~iNl
z(cu9(b{XU+v(&qG<)kR_b`@{Fp?(6<p@<$PzBCSy_^cHF-Z{O9A3?;F8!JV>R0`Au
z!-OTz{UH%KzPpo}4$?>ZYU};ByjFg#(GqY(U6u7A1uKoiKdzqK8kscXFBtkXd_6m4
ztmHK`u9Ush<b_?iUMXw<!l!89bOUtcM4xR;xa*>AzjuqvfJJHJHLlSE(}#$-KxwH#
zZ+Y>gvh-}^W23b$^x^A7*A5SAY61_P(%`uU6KO`q$9umYl)F)Dy{BxbHybyfHQUfS
z!v5l!j|Js;$Fg+xz0>jC&j&f)Y4t8V2u^j=^B%?4;fpyuGk%rRvwi*w^PrHrXqOX7
zo2NEidymw9Q>?l8O-{2w+?F2PL%HFAYLb8ZJ7aeW*-dvba>y9tul5K`JbjEY%Qdd8
zb`&Z@^KnLg%iz0I?`DP2(U9}9MSBv^xEVTK%x&YVt4me7KRuXHQXPhTyRAVzfGZ_+
zG>`%SlXj^}xGS>)?>ZF_3Qd=8Ff75|3sEGJcH;JITul}{^o3L+Y!0apsb`45xGTkZ
zjGi_Cy)NE>21;bvdaWFiV4)Q}8SVQ1T9qa;(O)?SNKg`{qc<GT9RY52TL46Os*$ch
znJ~+ZTs9_l9n0}y&?}n<D<c`BG~DEB6M4dX#QFh042mJg>}q7*H2<9LWFM3>r%V_b
z8*dH4^}@_<CzdC2QK@!L=|#bH&8l=9_^&eaYmafz(MSI5)>-HtK~G#Ur>Xw;9NeD#
zjOuepoSeMnjgidmnP@lo3dVtgRL;$8?+CEFW}V9Hez`bbIN2|0wFTfPk#Q~k-)1T1
zt++R}9Lnp}J+pEI`J!L}r)tOeyl}q|dKCM(2sg3&A!c0`&WWgt^BG^A_RC&~$_F;w
zExEKOFZbSwm;TCe`B|;r>2QJmMKWSuQL~1x7Ji`24&i88_ea)FQ!Gt5!^LrFTn}L*
zN^8bH`*T&X3vD?9OsSX%ni=k2tP|AChC5$K^nEJY&i%e(a`=bDA0_&^yRYf1|I|M1
z1Tv|4z5AgI{P{kwLi8EyU6*dyUt8y<Kjd;85<WnCuqRUkKH5%YGJWuTfT*)XOJint
zz>P;Ses>*b-t`*ke{?kJiBeX??24T-*Gb^ZuT0gU432TJEFc@uaqt}ECW0KK*D*&$
zH64d^^%QWM6R*c*x=Ij}MIG6Yq2yg1b<BNY24)SCJ84KQ7e3}gJb~-kMYu>TC?tDq
z0t{*c4UgIE!%oa+GDpXr_m%MtJb^DVRYla^qqMgmHFVsRKZEH2)L%R~3Rcg169nQ#
zc%C8&c9p$Lwu~$=Fan|ApmB#kpxxHJA61&#(7_eFh)9_+HOqf-o}&I>*;?bQErde~
zP^Ax%r*_86V>yc7+gqc_W6+iCeq79iEeLyECmi}V82#o^1hp}NzlYE7X%~RAn7d9l
z3q-9<{q*uq@tSdrZ|)tBuzhb2U|sb1HYJWvi$<M!mczjxon7MnRvs3QPDrweXR?X{
z*`A@la&BTdn+17*qmS=|;3LhhkGMic_VoWrQ2&-2v4Gq&md;7BYvg9C+GbY;>A&5r
z8eh^B^oHrCUs@>7bRGyX8_?%k`hd`x%+@gs5|~Nd1Nx%yNr&{&y3{l?B4!w$5GmZ-
zX-l7n<bBAFKh-iQwioLfG&2-%gHStVdd}g-)F)=#AKT{A(sRx2N`02oRDVY_Scmq4
z?(KQ(TlP}*iL!MR#Qm{$8vat@C8!E6*+vO!e`{Xpq6A34UuxZqs1`pz9m%zLIN_Xv
zD%hAEk9tp?Ko$jsCNteQgh9JxCw=>z{PSEzN>xO%JWAUhzmi<&cge^47`7<LECFpU
zhc@aDL}v?b=x>l$zFVtpF(4-u1epf8{+;A{cnb^V$qHh(BHBVk#s^}e6l>5DHY;$1
zGVz;LuR0I-r~ZuElo0e5mr<A^xS{oHC6@ejBQEf-vf-)Zn}nz>X1-M{EhcTk`pBpE
zJ^W{$pVd=J3~C91C29Mg*A?YkWx#_cD<&|RiJ$~LY+eAc{B|(c{I0yJ5nG5hyRCM+
zep+oBoe2HLDf&;5`k6=k>#kT;5iC!TI^43{a_r~wfd<9o_ytT`@cR~jL-z>^AL;U0
z)pxJI-!+;=v(mwJYT#0Us*Ay4XL;9NOO5aaQ+}=fXVvbp`$Y8j6(RY;zkJTs1<MAv
z*8|mFQBLV`1m6}K_8N|`oC{C+P6UN9FZhPPvqU*JnJ3L$lVx+0E?2>Xr&Qba#8M3O
zQf8DKgDNke%Wa<HCaP%k;D)2w&6jKH99_It?N$y{^QtIeKI@;zDpxr#%;x7mffK8{
ztmL2EY3zn}K|FSOD){D@*(Zm|t?UWYRg$*+tg=PM5TFooRCeUcr;;U-CGBB>T~^kt
zev@THDv2(^rz$!DE(R{t8g?u}BvE8#3JREhH^T<09`J~p0DELqwWklsv+1VsGCL-H
zMV>=C;IsC7=v{{Xc)p9~Ez+Vs-gP5q*|j!!Ld;$(sR}M)^qF}-k;G+9M6$;zw@7|K
z+e;WJ2^CTfIl(c^WgC<+Sm(Q4CHEOlq&UmX{IJN{q<&cr2@+2as^mb5MY8t*=ch%+
z(k+tzubmS*wIrL!ig?3~We;7?MmYyq5e~Y|u=m5Tf|p2ODF(JZzr(t4jl9)mYlE)-
zMb1jLcGtZue<D60vWVn{>U7iHU|8?iMfvIu085<E<DJU!3;M{glXeC{?yEo*SX)pI
z04l-S$d`858OBD!m!ty$uXessOD8~EDsH-XIM_=C4&Je!|NA2R7rXt7-TuXH|6;d)
zvD^O>y9t-Nmm9oP&ZD@d(r|}p)Vh=0YiCdpj9I@d$2Ioa)JS4qnS!deY!veE+<ksb
z3qnj0i`y>ua$E`X&_WHsxozoLZi|UxW+J3xNql|ABmwdkewS7GdyD&@FPfver%vZf
zu>4T+(#&8TTaD=78dv<fom|^$dvb4l!K;=NKizH6mz>TSuFYfhE?x;Rc+-MFmD1mB
zyoYfzAZM1h#^olLU-KWkU@2ZR0*3>c<f8Y3_5LcqjBK4yMoE5PwD)OaLCOWGUJNJ`
z=NBLU8klZoQ#d#VOfNdTX=ay{-V6=B4c8Ms(*&6f(1Lw`YQB};?hLMCeV5TZ$uH~N
z&NMlA;-}b?!m#tlWts0AtGarP-aa$}B@U?OzBjNh7{lZj{?L6+AmB?pK@EkiP@d<{
z(>P<*S~|<);WnC@*z;J>aY`2t?%^&cy!0+NI+=i@B}yRW<`%Znswm<S_gV2fw@IEG
zi^!EDpU<!C6YxCRrE-XI+fSwnrSpY^&EpUvQ|I~Flhs^Ox?D)ytNHZvxZ;^1^&Q?C
z`LVh2S*oqxr?JVcbEl=;;HrRS1PpQtVGp7}UWU9twId+sWE-x3H$l5m7o&gYED;x4
zI#ku&thiMHOb<Z6n9>D>Ethv%c8{4*oUArElp18qkn`Qk4u>dxC?SzwV2cE;pGpZ(
zA3#kFcJ<3Sk*xtAhk#>RmnLgb&eYne<ghT=wA#_6r7)RsDyh(f6I-Lv!jP@;QaQy1
zOuM(eMyQyG>d!AvhoZyBIUQqb9MsI!)_A9pt<qu&dw1`GPrp1in-HFPy_z@7KLYO?
z;-Gl$a>eiqCC;EyvfFg1Yyo&n2IdBcJb5D?zDYg09E(<s6{XW1VCm>mYF72kPYaqK
z7~_6vz}gQaDeb3LUyk{R%q&|)?Blzgmboji*-KcH>*yx!MCcYb*lb4i_i+-swYMHS
zy6b!IJz2B^1&jZR=xp$tw}2^d4*e$yEg>9C85dRHsL9{i$`KehM;`I~@XJx9iQXrx
zNfUZKePB*}3nvmsYF3>61%Y#znKq<zvmH2n10KLaK#67v<a<s6?x?a*g>PCm8Cfvw
zD#d)0<ShrQn!?x*mwTf>OlYu8x|Z6DNX{T{GtCkQYbPz%`8>vXKa1ISqggJ-=;qe>
z4Z<0DQI@qS=e2Gl0E8}^*_<Z@B(Nt@%M7cn#GjO$n85gmR+5{pt96t=BPt|OD9s_c
z>G`-T`$?vJ%mj#UjPq{GB3;<RdYC6Ltm-h<;15}_9jhkwQgH+Am?7c1uMWt|0S+!7
zR|IGMk3Wh;$mp9)wa)=A-XWtjim2!1oaO_{Sc2HDsh{kU!#-^LW~7$8`E>XD{3?iB
zuM>ay(DTsbJxzy}#*Vg*bp+3!`%(fH;+o^%j*S<y=hpUe8luk}%!L~OyQYt36~-zt
z{^zr!9Q|mluwhpOV2-oOSxI?Tk*#>iYr0a933Xd%H$XC>qrW*1RK6aIeup(N<pS?Z
z3^JJg+q6E_*N~eJA0B#}0p16&`2fy{)|kVIi#W>k#!ne}cYN+ZBQl_ly>U+-&$R>{
zsfI(w^8w96B0Uc16)0q!mTQgiH_4*8`}Ws&<~tuJ-3SSZp!pw0TFKe#?J{Z}^-%j&
zSRvDq_Go&)Zw|T1+)1A|k`oWZD^GHoqA=dMdmxBG-pDZ3<}VuUST?lR%%}sJIUXH=
zHwoi|BHP^4;D?l{PI|qCzwl{luTsXun;zBdWL)YZdIHQ}_BAR=-naTxho#Z>{?rtX
z`CHOnTO?|_ttr|$vRZSH2Z+S-X<!ed@0NKYmqAlZ>_U809WnPMmOnO!LI^s!k*F_H
z^uFVo<kSr`7@JagRp-rwl&d|fGcU)Vj)TtepT*ZmmzgdnT0aP6c}1JEyo7GDKP5Z)
z>1ghhe$s-ba5KGJB5_{OD-E(8RgTJ^G9*dBFAWw`>y6Aqkm?F^QNly9u6Q?HVdA1H
z%>E74iYh7_nP`h2iYbt%`$<F*qBHkHdC}RdOBP4S^oWW>_n;(_%vPiL!pFA}Vqvsf
zgUF(UKm7@8qmG?x#Ve*Senx2{BbA$-jSgOUYu_HS`~>ej$kayW*@UiE#hVDjlw_B%
zo)P|WA3B=_?X$d%TjP*R<22%36b!5cmAbcCiT5+_QNlV<6Y80&*XL))Uvo@qG0s`c
z3M5_xXl0IWeW4r7j9ht+&q2)RATCwr(b#9F8-Qgi@6MWBtPl@>^~PfBD;rwNvE#4h
zyC!}5jO^KGMj<-N@N*}zkD}@v0ftsTL~k3A>wTU+^IB2Y$T;<U{u2)@rZ!NS$)FAd
zAcwip^G^Wa3%o=4E&%X;%G;x2eoKl*1sT8z-gN161C7_X!GpmK?(aC7vWQ{0Sq;6C
z9sQElhH@ZF`>dkIN#tP8_nUMQ{kLLk<J#evb9Yx?3S({~@}je~X@X<9X=5gaXqt6-
zqwx$b;6}*!cU3R_)J5IpQ=>hK$(YpRX76)<c@|EoF3VdtHMchs=kF(C2K+=flX9-|
z<PkL2rYFxKtqPBeTKB1XBZ>YWy2lqZ)ZV>XXxwwA);k8qF;_G4V*WyL+@t8G>GwDo
zSp~S-Uc#NI;ns)VVRl6Y#gz7H_Arg5i<*_)OgZw-?aG&V2gSYiKu%P~S107|5x$On
z)C;*`{)pfM5_O^0<AAIW_{Va&<roLmE}yy)VUcjw06*j;mdyDqhm#NS3bpk_dyceA
zXfzHw_e@*_*~k6rHLWp&wOf#?<59bcdtOu_Ck&1+`KJ_fVu@y^lMTxY89}RPptFzq
zMP3xpL)Y73bB65qPg&o7PF(t#ve<^_6rcC}IT<~mYb=uO*n~{@PsA*6Ko{?_i_=7T
zrp7h+6wGfkLpxhp^zOWDPFMWgQ{tj!8`RPsCvJU}?rsb@{T$ZBOyb!1eU+>}X;`FM
z%0kqP49NXm**s~&+U}I_4wDb=O)E||#5nHfcLq!RQbYfx9F**--3DJ8as#^J$a(BD
z5tlUFFG)P@Up<l{Nuvj?I6=fyfr|o#{mtD<gGnL^(Ju#H<WYM_x3kau_Q+YGAVZ6;
z$LKFanQl6z04J56UG_VhUH%sO;O&Ny!cA+tjg|N0(*6Gk!t9@4scnc^a*izD7$$Lh
zk!BwoI*_+sbfy{jo+<A$6`)Mxxer!Ud+?V$9%hX$nmI*Q1IEBrHnndYY-PO=Jzi~c
zOOQCsRe>Lu3mF&WbZZ|U2Z&xWTK5IR@?=_HFh^1uMf4(Fs3uHA)T%(G7!m6BvYTGV
zf*GA*C&$|A@q}^8n!64#ZZS+U?_dp1?3YkgY;_a+bR&0iAQ&q-_X)P{Y2MD_c4u~k
zF#Hue>!sTyR|&yd*U!OC57P%08b<*ShBMi|<t)wU9PpPIRdI-l>{(e^;|oBWnZU0{
zbZ3O4xolvkzz38rt@uk1n;pnCfMc+d?dFDop0uC+L<!mWJZZx|AdXIK2dMrv0-|sn
z`nL%|Jx@p$=4f$+(8N(WF9R4)#reyGDpuUCM&%U1S}$oL;jRi?KZynA6JfRNk193_
zf~$f9utt@#G?sU$0Copg{LfQZgM<;`rrMJ#wqSzo|G@$O!hwG?IsayI{>|k4o5}hA
z$>fO5l`WB84t?M*hYIhopS!)m)_%jWlqBQNc?}VgYD+)y_UjhC?C{5i4Pz0x+1E{e
zYcdESn<ZcIFcmo)#d~=~iMM7Uk#C*8cZ!$MLPlKwe(w82ozoL);3wq**h`TV*eKqn
z25w+!yqe8pwGm9QewRq+l>)Xo;~|ob9pCayDHa=6@Z-wX?2SA76@IyGf$<)}+mS8=
zpZh;@6ljjo98?rh5+0XDv*jVI&lFP$4=(i=M&?WRyzS<);#oRa!3}XN5)t{lUH8Zb
z|Ld5N<D-pNq@9I(UCLM?TeF6;$M+`%@4ah!*1a{~@C^z1UTMLp^y)`P0(1D4L*-{i
zskqY?f&{qCybNyy_H>h1mPE5Lmra+Z42hOsk+O|Z_RoW@yqI`H>Qfgdty4&jTve%k
zEnsTJ<-71r7H|bZTk`9Nao3UO%opR~=6I_GQ45ooG%hXQCzU21U07(e)QbIek&m|f
zVpd9P3W5JqS~_XP%lL#S&F>yq=dG7)G|IYd78Z=`kK2_rYcF?PxKz@XT8lFh|9p_<
z3%=7{f;RSgzGf&?sGi$k!-2s6ny#}q>NngcrKJaAHW9ok?g8ZYX|&_Ql|w^8rN%Cy
z(1s6>_HC4zox07B?Jk@9CKtKoTpO~Ji3|?)Rf^n!<^p?Q#rTo<w10FLjnxvlLdTV&
z-#wm=L4?bDu{@<(DUblJf9i67B$b-6w*M|O^<3k646nUh^Kaqx!&VjBprQxV9D|Rm
ze<s8pjiKZnX!jh@^^Huoz-5ICo}PYC-11#oT{&0~p!(IZhO8F=`Wi9_hBqtLf4S$M
zC3s?GM|=)aTUwGdbWy=>R&J@ilp~Q?_s!6i1EH8d0m8+-4=CYOyS$@TYcc!&*n)jm
z7Y;$ct{QhA9qYUE9~f7pzxVRw<fyt|db-~XQ?oYFZEa4*bia6EjGOb*Q(&QmC`9$G
zFn*;E>IuIk+Jk^vKrB8`?ghh-c-$PO+-R|`5K8viNs^rq+UozH@XQNhmBtDs@KQ&s
z|Hz${=z{JO2vMl&7v3-7PKWSio|_SizhddN8QI@zQWkWRojijMPZkMl_GV^fIC>_d
z$IR2ih8nLJU0xcok8pRN%nqA)@JByasQumLUAG&4jKm#@!R-o$c7W;mDg}s_p}-tQ
zKMqX=iuCs0Bjzv9W_0zyG8@zhu9j9fQqRj>8^f7dMRI&UaYt|(l@`|Hu-9f+#)=7$
z=wF^`U<7{qUYg`EB?735h1#kQYBK?1c^BCIBZ+nzANt$7ut~8CZ2o50bd8!VL>RPZ
z2q^+A#>E+PX911e(t%5yENX=dT#**GsC^YG76$LJ<|-X7E3xCmC<i+0s!+P-01km0
zy+Q%t2@BG7A#zW;$41t1y*u%skECNn^tAc=EVLQMo$}GaSW?9TiKBKk5@WO6%t|M8
zKL7$H*s&18PPRE|QqfBC&@G+t6P<t9DEA86v1*}oZ<2)m-+vOlR2Dl3R`QMrt4+W2
z>mp3t6308A9J8L^<+YdedlC!v3V3*fZbP1Pf)P@t(nUAn#kFrEj^AvZF#H74)!FEM
z)TLU5ObUG8YY5bMyQwA!-<v$`9r>NlowpxC^1rM3Y76>61G^GV(Y>8>fM1$=_);sg
zVT3Cg`x&m|ZD@6_+D`h+xyMX&oAwE8_v4321V7Z(Nc<_vP_uVaA3>fhFMG4u!t?-r
zZ}(S++}2{H{~2c)PXQu95G~sN&~941e%Ap-AFxEDhHM!cF&6#Eric^OA^sy2C{I|j
z*$8!fa=(17ZouhC^9T4T<nDg9?N>0zh&H{9bZjLR2-!Ui?Ol$~<9cLf=IG;!kl{Y_
z@)xu0&f1#hPy<Uswg2oOsqTlhAj+HJ6ZJp68hF+4yKi(8kxlCmwc;CMP;ga+*fCu1
zX-_c0;gN;U&nO0?nq4m2W*c{eZSum#+tAw4aU{QXaVt^GINli-bwNsU(}-qqIK~g_
z&o728fRgAXD_Ij}-J7Vy<wjx$;(CmMiH1u+9!GZb<h?{0g726giUP3`I?s&<0b45R
zQw(ID(GGn(vJkm<Q-qkH-h2a=BHZ?OR0Rb$<r!$j>3s7B6W$SEauH_F4dSygXaL7G
zZkzSp*OtB$PdD5WuEHKYHa*^+L_aDr-w`~5zeC}{b)~KTi-}*TCCw%p*O6wkYla!!
zYd$*y3Mu!Xh9+mSAk&1{k#s2Kb=<0ON~D+WeqO5=Rw#^BeU|j{fI(XClf@LbHsRDp
z^z#E%p<OV$wF8opTzf2679#jN3GM(+g%L4%A6IPF&7@6cZr)ZK8T;3%M@!8()V%BV
zm5Mj2_7^{6N8~r%okJ8(f{RC=7b|xEq5D(eQ;rE;2X#AJbBJ!d^4`F<Au%exb-6X}
zQ?K^&$`u(JS;tMVN0}_{20zRU%t;1bLqh*-Pjc?Rh8>Gdp$WGR4@(8nm)yB2ES_9{
z(>ED68Yut;-hrcY+V9*>F)<3{yboB|053>>nW>=_tmb80eSNIs&{p=LiMBm$=40On
zI!@c71Qd&B+`<ESz?wlW4imVAZP_Q-`uY2I3RqZ@@jb2a29F%|4q7=b3M)QtzOhFF
zQimTMM+H&wBS+^PTVnq5VewZkJ`Rc)KCVC5r`7G))0h)<e$>%oITh|-u<N=c&UBIA
zQ(I&3VK_*q1Lz@;8{J03vLj{hyi;Fj`NCLG&lw88?_oXij=Syjqei?B_*=<;pqvM&
z1m!o#?PbTFKijM~_`mjwHDxmQr}5uwNGWu}9y-~J>E@H+kD!mD5UqPJ^3ds?;7Gas
zS$E;W427k;t&Qj(V+9w%)_kbbYB2k^985NQ>!Dmz7=GtdCDqn1e&CRp(!ZWD7+(=_
z?p>z|nq$#jZ7QZT_R!%+%0}u!38Q<sPy}VJA-c4{Rtp1?ab7g=f8~xF)tcM^m&S;8
zr-;s%z+AO3_F$ZAKBW^j!udo9`dk=&$E+K8jumsg?ct&JLRDqRu7JpC$fQ@N#E|pR
zPh)BtQf*%i_bYVz<`W0$nO1!wDeaq^W{z?npG@K=xSX0V1jQD0cp9<x8v5%XxGbpN
zrM3(ClS)ZsbBP5Pg;AH~kFw01t`hTCgNs8OSMwnk@(21rxlwzz6J4|UA(kLQA#)LY
z_=}==%we;%?kp!q`$Ivo_cCyebGBd3*N1#P(9g8usilJyGIJL5w|DYAMo#gHUn};)
zMyn_Egob;K{1zL@l}no^5Ndh9bo)CzQe5io!2R&ZH8b(n?mG*Ly+(xc(dJ^z+hvKd
zE7$!-aFwg2y6;`?J6D_ecTgf1^k5@w#n`Ii+<%dktJHHf)4C6fpujs8C<&}<D)BEM
zXT8+_qgU%$X?LKwwxFD{y-~BduTW>hfAg8)L+Z4z9(UV={G<0+2u*ux(tBUMGR|M}
zEaslVzj59hvT1l6EabH#!@HkR-J8yIPkFOafW7@3V(YiMYqr{TCMSNaaxLVUBTY@~
zq6c_W=kBc=+4ANt#669<xRls{QcO&K@!nO(wSY!6C}i?)56uTwfqkv>rWabB253bN
zwe2IXQxlHVu@h(}ab9H4zOpJaLXOs*Qo~R6!;g|35yTJVQwc6EM7DV^q{Z7QCep$q
z&^tWcBySz)>lo7ti}I)K>g-7vl(Nm*J7awv&6X_c&1eSBZLJ2S2!md5x8@MSG5TiD
zIT`PrN0Ua-nEwYlba#N^P-HiB9?|p#OE+}%?zl_4Y9$c>?Khl#4@j+jT<0mc_J5MB
zR=i`sreI(r4Y6N-KQ~p(qlC0Le~Ln1@|i07Wv|*vtjoc=*vYN({>N)>zUfcKnS7A>
zX^+au7U@h+(o*wt{d`)Dbo>t1C033fy9tZ@*`Eiz(!HnDD4L4?BZX~r{KNxdP(fq+
z$?nyi7Wg=I_Jkf!?$J9nyT1u_rb>}T6T6zGo850ZG~4ZWzQ3SP+V1|07n5g^lLlS@
z&{(w}^N;G#Cw0<5_1pQ*Lw6$XmYn>=<%cEL7x$tX|5Ka~yhq7A20XsmLpGnv`LpEJ
z2*%<}{bx~o`Yf-+*<NGfmi7eH_rEY}Q?EP`^qBR_=5ZUdq%lL`dn8^rhk2y-d9G%U
z{Hw;bHr<d>*k*zC;s;sZ@y@PLVYDwnFGBX};Ug%p&sqD&<vvJtP9>$w>F1G=j@{L%
zE5aD(W8kpdH{0%R6cliB2yaArPoAS<q;YdOx@lwJb^+jg95puk*Wk1I$J@z2s8(p}
zk2ENM>}ghF^Xz0Unfe^lp7j#1@e8VNkr4&Vd`V}9?$jz?;qz798}dlAl_%i>^ShW{
zWB5h<Ixqmd_js3B7U}|ckkSzxit>Z{FIe&;EbVp=$@i8gN#8{@UgVW({uvH(zYyQ^
zJ_fjcDcLA&hwQy{o*%cW{A?S~1rasc;RFmNK$2<%mjK5Vol}1<G#-tgSz=DAS7^mc
z48A0!5-zSdHEv;E=__Q%602<G{6)Jq!fmpJt|!iPhV1rJs+gDtR5MBnrfiJ3Zsysy
z3Z9*78{W#cFudB#`;h%&o6QRTCENy?5Rg){;#t<;T+X|Gk<PlCJ#0p|*H6v%lNJq8
zKagJ6B~8|TU{HHH(|mc-^YO#k20pTK+s%8+#|hbO-`#Z}hgKs&d1011o@I4xV8>^*
zha?uYYeMff$;9_6j8ep~Qk3=+w-_cN_yFX5i!!`Cl>t-0S>}wLm<|>u`9K2KRk6Si
z7%+L9v4U;zx`j*43PA4cEsII#4XXVW_m{0BlO{CBvjWUhCb#$@=R^5;hMP9{X*6nh
zQj+T7QW!?`!NRuhhMiGGYaS3t&4P(@i~-Aqph_<i)#<8;dcz<fq}!00?5KuV=hTR3
z@VO9QgMrFcC=d}LGRHLjku!3SkM_{72}k3KE$bv0?1=gZ*<KGPvPU?z2AkR{6Ncsc
z(O==|PA-w<sv(lIZBD^G*-gJun=X6hd=a7Df6p5Jb@yX<Ew3S8-!@h(NuJ#$^L2cz
zS><E-q2aC6oxtkb-KP`TqrT?Y?ypmIO7gOYr4uF_R}6-HRgC<3A3N=_u&ZSS*N2GC
zKH@|zIxK!ZT~P6AxQEnP^BL1{?L0nBd&cn}&^>|2hC%c^g6b@4f<GEjsF2H(=!;7Z
z_9x5N&#gLmn4d%H2*Y3;Y(G&@tuq%+{~!JeH=NHh-3i)9@*G?x<>TTUfWM-gF6S*c
z=?CRF*n<=4lJOnrS<ceqsn~+>EWKco8#vWU!4sqEh=W->KNVVo{%`jAzpMWRiT2lM

literal 0
HcmV?d00001

diff --git a/sounds/vm-star-cancel.gsm b/sounds/vm-star-cancel.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..0b7cfd603f895924d4e54d3c9b037f7ce103c740
GIT binary patch
literal 3102
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

literal 0
HcmV?d00001

diff --git a/sounds/vm-starmain.gsm b/sounds/vm-starmain.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..71461eade9c6a6245ad6525084fe34e526221650
GIT binary patch
literal 4620
zcmWldX;>17_QuVcJ1zg37OfO56;M&z%oJ?XR0ORi7gR)21XMI|T&Egq+(+C>)Z7gb
z+_mezwcrLS+9>;GA&a{$*QT0j?!ABSr}N>w=XuYk-}Ah$jM!yrd@BsDEJP@h=`aJ@
z1(QM*3{=z)h@!(46eoZj+`^AmsV)HH;fe?sCty5cqr>b1pkNSKtp_uqK(%sKH!Et5
z4b>FMfP_@2g63g*mkrla`?TY9M{OZOBaf!Z7%yF5AQ}>&N`-+6287*gFJ)0Pz*i56
zDV+kyqZu;kLpIDLZc<T_>Zpwy(4^C$+M)s7hMqS#9*LI|hbtJIRH$%!LrF#GC{_S}
zwiAfVHBQ!Z!cbr!nRa@Sp*9QBP!P&#GpMqiqnu2I0pdM?g>)p4+N6|)wSpE$*|3nL
zz74XOXGuJ~DlF9#M4Hx;!cZm!14}X%4;$WVhS0<ftXHbw!oopJ107LCg8*-{;S0$T
z7>NnB+U}#Cw|$YPVGi5FFyTBPfR3^gty@f)9Ww1lv`W<s5yqG8bR-*dYSyJ(8#km8
zx%9Tu5ZWl!BrmQXC<V1>E1u{%vuHy#C3NQv8!+aD3;Ir%lg%@ivvR6+s|-BrQ^%sq
zK-AucjWZlY4GkN3@FzvG<AQJFN`G5>mvlw<hCa}M_F29()H78PQ}8cwZqEM4;Lndj
ztsS2ht&NJb>ECT;Sj93wjE+6YF1*y#nfr8)BJ5rhcoX>ve8b96u#7)9Pp3wMg#V~)
zwf>8_(WmxXZeh$jKlbxZUJtMq2({RNu)yiRwMo-jbYsI~O2$`Ac7DW_et#^d^}q=a
zOOb{UfDT=|;79(d!%Z3*<d6vQlXEpk54z(U^5&XLzKQ9CCsLwSz11_IkY^18WcW$v
zr<Y#Xdv)Jxvg757TqKLvtE?q?P2b{!#boYl^?q>5f_225A3-j$Rxbx>|0k3z`f(RE
zo)&ZO`m~8t&a9hOCo{8;(q?L0S5`{j6bu@OPlP`*kF|vO<_hG}23$*$qe4A?s^)Q0
z`LCeey3a#unOS<KVgc_N1uK%Rjd?xaIDP)-oy;=oBfr(1$U+%(MBdorUsbBV>^5Zk
ze2F1^{FuHqpq8vhZP=`-y$Y_JU6+&FWPqw`Yx}*+I_@zv-618ypWS`iI$+1|r<3O|
zE!fLh!#dnrI?|*s@E;xN($!Yp4`kO0Ox(%9jBrkCQL~jiMp!2u)SofUs!)Cy9sf_#
zWH)suT;emdvFQd(8Vy;Oug~b3F`yC4!~4c>u?7Q2djDt#9kP-^j7l<R_|IB+iZd_5
z&t{KZ1r=ZTA!oD+wKZz+Aw3lB<=^ml@vgSS%0^+EF>f>DQk_Yo+Lok>;^Uz4@9Hc!
zeUPd&SF6M#Yptw4J*pz!Y;uu26*K8FXo2ce%+X^kv9oTGdfk}W0ik@QdO?a+NtnHX
zaU`wf2J-h~*o^@tqwG$^tR%=+VkfN3T&9=g3?E7ze9+YBJ{d?NyqiG?h+71ooLA}8
zuebSX-trzlNQB5kqGloZjR!7=pqi{}eD~}^c{zcJjvs{dZfsEC?*SSL^zAKb9`BLa
zj=<){t`4p@n({|@JX|iMq+7ZK+Bu2ioq+8K{a*u0wC#}=7iWd5t$W~p>qww5!MP`|
z`5*rC*clee1F9Jv1T_PvvZ4~~n?WWt+kTD6;ch1nm9?@#nE8TQ2@H=)vPUgD))()c
zM=_I}OIw7Zb2*H|&0btkLBmkss*?$MU@%ZC&$qF;-)b4RMdm0(=gKAe?YfwN!v0V+
z{6HcFs(6O57%uGxU_85?1~&qP@6t|;^xD8_DdKueR9|(>3sC<aN6k&orO>@xU_swo
z;Rjzb^$urQKl`j7uA$G)7Xld5ryBkJ<vQ2HSrh+NDLNCrIy%c0SQNwmB)P39(`M{q
zm=KQ(ZZRTvl+SG+wb;R%>?2`LLC_W)ZKkIpi{2f#<cz(tTM@S;ZKXM?#9jWD2Wj~1
zYvw}-lOPu~T?oZ{qOFqtYnhbeEVyxFRJ`S0i%w%Y+VhZ(1z>}SSVT}>PI4>F$>cXM
z#4i7bc8NX6*hc04rrNB+He+INXpf^JBVrr4J(pX6inmPv{bFmoVAZb-HET-weWJF)
zCJxm2a3{4+Mq_PgXpi1boD{QcBF`s`i3{zm&aP{gFH*;m@uU41c@pro>)~RLfmuOC
zFeUMEnn2OXnR$nE{Np!M!<VUfMqc$63FhwWWqWYq6C?|xfz(Rb+|-@qy1UgrrQ0Bt
zwH5~AC-nlxU(d)CNle6Ad*h@w9+nl<HXx6`Iqy5sZur^rM6OmEl(1!}IR6|)5|9!{
zzd&k3ckk97nx*D8omLn8Zt=|asEq9WN`B|u^j4tVHy`(j&0EdabUs%;)lzf%4Nj8Z
zt(Tn-#~u+ZJcw^$HYK+b^uMqp6{Ow!L$Tl0$K}IM;@~NSn+{=oNbyqV?TowsErXB0
z+10bPIgDq!<?!E+Z;XwKP8Q%(1h!Fs-686mhmftm=K*il$Mq<A`t_1_(NP|dDO;ap
z@}o0ee2P?Cd`j!=jMQG&j5>ZH>OUG-I$lr2SC}>^JO$R5uQ+fsa%85_wRnx6!Qf8^
z@x*5#HocBS@K9ts3(a5h|Mv%cX5r-ny+(LKBXnih8izl?Q%oEmapxIEW7heE?DJ-?
z#@J8WU^`y9VNVtuPQd|Ble>3?O4VFTnJ89hbjdkxW=AG2!rOAg)xR}j-vg=nuCjaM
z<6)|=0{dZz=+L*z2~X%O(`@IKY4(o~<A4bSm4|J+IJiXBwAQ<%lXun6G9ss;3i7LB
zAM0GC1Pu(UA3k2b&zRjPv>i(Hmw&_*1*3Hvb?xUCe<A+noC65_DVtGUiab-g!J&~W
zu1YQTE-KNGkXdA&n67In{f-*SY>twV?cX*xCTfe^n}yYvPT%u^U;{fE#(f$;RBZ;v
z_#q;?JB`EqsP{p!REB_oj}G%AC4ovUix@3ei8P1Yk2cSU6nDN4@{3)7lb3MWPFGPk
zmH6qjC*VDI)$|9qa-Us){wuMG{Z#i`es;u)D9XUbYcuP>MsrYA4fVdZfTOO-1o{Pd
zL)VcvfYcs|0Cc@2cN5gXB6t102|oQM8tAwQE?<c6zf_a;TQm*1m%kW7DOw+`*<TDj
zUSk!|>eHyMVh(&wKrokgL4NY7?d6*n|Al$NY|YL5q|s`U>%9?P+Og!y2f{}hyswhy
z3YtI1JQea5r*{E!vrk#aj1pmNq@#v0h4RNmqmh6(PUHN!tUFpsnkC~=-)ez*5P7yB
zMzG@;1+iLL;2Jf`4@j9mpTD6H;JUivUNQuAkg<-ig@Q2I+9Oc#_II_t`ntI--fHx=
zxTn`(`EhFLLMGQv&Yn>2GdlgsRbifPgq2&8m<k_`H{Q(Zp`TW~``Is{b*+W)n}e19
zpjkXgzfEBsMyT&_yZefnN|1A|Qm!AK^&@$eP;7q;j2x(Gvv?*}*u|KyHod)b8l+vz
zK0`~lh+WV6YsPl)QU%xR%&BHO(Q)`2Tn)HMnKm0*v(r%9;^{_bQmZ}sHK_0_t={S5
zeB+L$e|4mPdr=CK^|{`NY0NSl9~rcAA5e2rC!V#eu;#<7UK;a9j&q{9D!fZw^i<R@
z5vp$nNr<XRx+GxJS}mweX<T_*=N#_%>pOHd^816uKL$oS*|ztDqAl|<e=@s-YVR|1
zp$#u>qpdr!Sud_qhWFq&C*;XJSp0V=TcW8#P>=5q;(~uDy4MxK1)aK$0xKd3P79O^
z*qO|H(3vwVJ}BX@s3^v`)~KmX8$NQ1JWwTMa9)rgfJoPdBelVxx%WM!^4E*dMfaii
zAI#7Dp9Y~{FB0Xx?op($fs2)%uje*-aq}d-JXD?H3ZGtmKMwjM**s?NyE0>eYMPLJ
zv0PYvec3uTLt=>JeZgIuqC#8_gk}^-KX>m4+~)*~4_1ogsI}af$N&a*Z8@eP=PkUx
zD?*!e)@MA8)JS+vg8{@C5BprfZ!r8nKWhXG$GT$9Ld=A-qR9K0VCN5)?i&Iml@41w
zNDQxA3uk*G8M#$$!<QoQ(h_o48Hu%9kPBBxqz<2{M9YS6U0zkZdf{{1{V3v?gO=3E
z!0+;dc{x;wE9@R3rqT<U!B${AnCo0Lq?j1JaROz%3#Wm~8-A{oR(<DK9=gkjR`>W7
zZUWs^^yKM_%$5ICJU7HLT|;KY^P=Ndg8_rP98TPqYX>yhH~EdEfsDIY_{B90<0;;w
zA26?GEi$m0dqz=kUWocuZM#En-^lx%pADwa*Fqg{PV(nAv@9G3x38x0KD9U8$byQE
z>NbZHlDbcH*F_QojIPgZC?R#|wC3QZ>v#-qDwsI6-fhm&6)>N6n@0(IyQp)UV;?Iq
z?2l(>r-v|g$1I_q)!30|kcKt}R*#?hGO=)ObNCP1;D}YoWm^DtN0Q%-i^;?0y`ocY
zr?4(kPK8Cn+=ieX7n=5e%((Lgq3nsWd#K+-&3E6pPpHM=+}r@(CL*Qp$@7sM__SWu
zLrhyTYw*~yTkU_u%ue%f&kUFMa@u6&moUL&HaQEcfrrQPOvWPuJMpU!+PxQgVJkXx
z2*^|LHsc){pHri4pH7@`Kj8fO+SbI*h(`C*K@;HdRTB4&@Cj2_JTZ=24FK=u62YM8
zIVpZm5-@I3NSx@;)_53;ic6cvh&xZOW&MXZ<tB`TRZ^z(ZS7WrjCjE7uWl^G@Fk`1
zya;2o>gO{XlcQCKu`~J83}n@*!1ULPFL<3a<$TR6i#%1jwQlob!dz;Z`MH1lydJr(
zEnrcEbweRkj$*D|sXG#p1|b(c1HNWA5USv_Gjy>EDeL~-jD@+?Af9Vi=#E5&aVy(x
z<dH7i3q2D+Vwld?cj557*;EL5%t26gyFD*<M7&P?rx)6SdUe$sK(>Gx4U38Mbt~Ym
z^9)hN(PkhCH{k$pm=x6AXfKEs#o$V6`k{@YQKT{X?|h*#9E^_{x$I88+nTKYZ_7<z
zbMlDsn_MJVqz-5+viu;BU^h!*7<b?FB04DP``))8ix%_|yaY|v0&WyV1~!R~U3MN@
zNdK%W@>+`>kv1F}c%9$|$!O+A$L$cDhg>(51nhU@C0Nv)v>D#3sjDu_*z$`F#~dkf
zn2RMOYD)XTV#CXQ*L2}<#it-mQrh?7xl>1<jNZ<~Ss{|l$N6nr7ljhC?#QOA_)qfC
z(+?xitplEiJ~E&>R4wlpHN3t6p%NK|$SZ!S`-_!0Y<N!}vg_Y6{Kp-cRlR++zqm%D
zVjb%Q65^5Q2Rm5Ar$*rWX=SEat|1T1*oGg=MGst`s6Vb6h{dL}8}+WG`*V6h{^@5#
zHsY4F9pw!EO*|v53G@5z8GcPkuI<A#WMto<*PFWLy*Gw0O}hwNPic0fx$w@U_|Nez
zS`V$g3tOx@K)Rio`gPc{NxPBCC{1|q&pi4>MM~2PzU9!wW{PU{PGPxxT-E2-xo|&)
zzM>>!_C91!u8G=&e7hpA3*o6t>yII(QK@GFZ^^}JdXt2t>5WXbm`3vto{#PnpNe%s
zp@w9K(%FP~3OXWL<%K1;`jykq{@op-nU89z=+31(qx{EHwol(|Qz?@jmCu(_LfDSg
zRAKHsVPv5#%`B?H87hco8}6lX59g#_s`i-xC#y&pv{NwOyi;y3rTZ#xqDxZD5Q2CQ
zgZxyONwSr}oZ0sPij#>@vF($~hAZ2-b}!9f#y2FU;i<601zcd7p0_Q<K_RZ?9apQ^
zFhGarsbKn1Mf;#hJ{?+Zk5I}}p_(Uy0Lks*gNxN{D_|iKpGk)R3MLgfY$srsr6$76
zQ4u#;FD2v=j*PRBzygj|?t)O#kjA&R8<9dMz!DvyAoqi0peh`?hwTB18wB2Rao5m1
zLD??b?FhU|ZiY}7!j8z)t#(H5=$-%?R8i>S1SsMHR>I(l?P!w1{$F0v$W|*i56ksn
zz(P-8$aZx>gDPL@Ar$d2lS(tFc3USW-($|}TwvQoP~__&swpsF7#qHwx|BgGYh@hQ
iL>fx+@x8C-1f)5EYF&`qbqpwk{l5Y9OWk(rQ~W>Ca8EM;

literal 0
HcmV?d00001

diff --git a/sounds/vm-then-pound.gsm b/sounds/vm-then-pound.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..2261fb6b316247be94b829617984659c53110050
GIT binary patch
literal 2178
zcmV-|2z~e1-+9<lPyjaDZN}qN05;rmNZeFFIOL7U<Wc}P9C9|?(Wbm9n!aF3Ba%qt
zS3pMFakk`8z&6u)xwTP1w3)F>B+&1qt<qT_<YaC)9a%wGYi-Eov0%(3X^&g2Als>O
zCT7sC)N$HWptr0_w#TlZ)NUqN(pJFe<Z4Kn;K1KpYE;_L>clPDQlQCPu{heqz?-bP
zB;#DbrnPd(*<^r7O-pGc(;i#p+RnhYSP3O>cA;%+X(ZdZp{DJUzT9Wx$=YI;@717O
zXVX*X$mEj@U{I#EGn&rhcTJ(C&QBXvEP*VNJsj0vRPU2tFeKk@I~-L`s#j{qEK@3+
z!{$e$r%Nsp?Kh*;;bpQ*rz?*HI>y{nXgCSw=HH^~s6g%ME$pkOLOo2b)F6E>M4Lzq
zqUmL7=LZ_+sn=rS>LcTl)|lApjU9HfVAUaAY6;T}c<WXo+=)r-CWNfD$qJ=v3puNS
zNa7YxyCBsfWUh(6$sFI7z-)abi{62^EPDnW1FFL-w#7I#GR5Q4;)M2!#zLBJg(#H9
z0s9k$Ic2KBi5fe%TkHX?7NNOg(kZPoA$Y+?Ox0|Re!#gmA~jstp=RM(x~5p62`!Ez
zoYE_ebz6I3AtSa%lX+ozD=v1cWk9Iz4+Sn|VLFVFOqS9!tR-z?pqHDim7J2HSj*Pf
z%V9vvq((PmVL+$cjj3JH^TVbzkwCQFW;HLqpur-O!5UuRyvvSCV%*@?@=mDo(k<Ms
zE9$_<C3(iH&f$9_Y1?C9proUjn3SBL#+y?(+|p;fVRDi{IM!0RRo);Z<ZZ_#-XKQn
za<t@Lz)K^NIcw75yyY5{pgCl2Ib^<|MB|CJ<BlLl8;&-coFGLTak(PcFPzs*>&!;v
zk~!K?3li^1HCt8$sPwZv+qA{wGk7;0*KNMiiq@plP6<~ckj2LkQWli#B*Y=HS<`-m
zxc<{nt<>jK50bEk?{-N^Y;L5e+<CVI=*Fp>r9^yk#H|Bn_<hu*Ow$^71_u?*$eim2
zFNKZ9w0Py@*p@pNtfhe^mP!NFX<eHDc}Q2Ii3u;Y>8O!bdZc-1g!R?d2X}^vHhF=B
z)n|s60(%Knph`U^c`U>uc1sX@3HL3vqU5<KIp9LgCe~tR7K6J<qGVbtLVZZ;Hd>Z?
ze@Wc4C}k{tX-Lp{T<z7NU7AC`2NXJe)M0-Jcr{8UrN0LJ)NPKZ!zf6at@`WLo?Kso
zg9sGsdN)wTM{%t-5$VSWO$3N;XM-p;P_e$<)8Ay{3WDe%8<!gqtf@sF(nb@+=Di!N
zNUg@E$m9`AF4UWBn-heF8A7UAlgQ)+Mb5=5)FV7EawCl9qf0V~M<?0oV~x_xf!S-6
z&wR+jSlg3S*zV%1DuT9ET*9pxf$V14C~J|My1}^6@ZBneA%u=kQqk5y!(`@C<GO-d
zJhm&I*XMiEic+E1Bu!Sl)}auZROZQlA;Of<aWr1zCoN4i5ZGyJN?nZxDfVf}BW$QC
zWROWER-&G`vmgxGf;}B8xe(ZBi%Oj6K&>KmsM+2ixh-}0-q0XVB(`gA$Uqewnpj-d
zsDqcw$e>lW+PLh{z{w+NCX&18w%cvbj8cdY_Ad<0*X)YZ5_}?|Z`g)S#6#<B(6F2C
zA{NV$J{GeDwHUDW>(}T?nhJ8~M;&@YAc-dIr&1Emj_EyWh$iNZNZln#hnCl4GTu{;
z=Pyh_M>?XZxP?bOYKW)Snl)c7%F4D{mGxoOpd;o~+{i+Dxz!TiCO$rewqw}J%DZwH
z%+V-C<d~K+)E`XZ6puz{s-bLNoQl<3DoFa$$aI=<UZ#ymme(FRS<~WWT?~l^q^R9p
zSkFkryppz)&d4ub%@K-?#+zJCaV^uLZB-kKM!QTBAC}W+GX{@GD$^yXB|67p)kqA_
zk>;S&;Z;@B)n<pIoTwp>2InP_C_Irx_iIg$B-v!Ci(=P!(_~ED%h@CDODfsU+2pqH
zdb!EjNVNuzNaK@Z5P90!8q(%m*~^nAK{>h06PG6+6p^@^mZn;~k~GlcW+!8j#?R8}
zO&tTB2BX}OwvC%cy(Mutk5Z<OU2!xWQ6sM;jkLtls!U}|qh;FUjkcep#4FsjHiK0|
zVcU{Mm{%d$Jf}g3(yd#m396+d<L*f0u_34>zPjpLA+lJp`5e1K7{iV`9MUghS=nBq
zNmPNeGr*y`-BKj*z=8WKu9~C7!MHT9IONjrVck>E;W1lc^K5TGi`;Zphk~HJ>~+}E
zaDb+Xw%eZ4Yic3V;GoGHi4~jKAo{ItQsi?0rr#a6Ds-UMqKT@m(&B?kBY>c{*sTc>
z=;0^U%2um*prYcEG_#DLTAh-jv(adSu3>(FvZJ=SBXWRRo=&7@jKDWc&A8(3z}8i6
z#^lkYi)vwXphaSelGM<kZDr}XEbhP~5IWCYj-W#s(YAxpX1nR4e!w|<S2rqx;7ZbL
zTI!a-JmqRy)rBA?oohuR(I~8Kp@hIl-Eo$QhM+}hl~|mF;7J^5w>5@<Icl-V8_{O1
zVVQ=&HkOvVT(rPM<cc(lfgndJna1RV;7ZMESDMkIohc!fpjw?WtrK{FLXnrJ<8;7P
z9FazmjDR}qb}H4;VYMYA;6O(sNhxHSz(pdpOB;ruHyVmLBaYxXTXHvB(jcs*E9f97
z+>%=sV1PE;t;XbJpf@Cqw%gbMIU8-qB-W`^<^)urNh6X;H=Bjdno>s`PynV9k-KZs
zAky4%xgFPNR4zj7Kq+gCGULeLxm$7P9KgW0T(Vtdc)-V^mL{Xt=v(edWWXwIMYOBb
z04R%P6*ImdB{FsD)Qmty9Ff*r)?j;OQF?$U9C0}#>_AA|k;yE4KuIi;$t+x;Htcb>
E<Yrn|Qvd(}

literal 0
HcmV?d00001

diff --git a/sounds/vm-tocallback.gsm b/sounds/vm-tocallback.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..ec5f1f813a4651b7db19e2fb9575bb12c50ac0e2
GIT binary patch
literal 6204
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

literal 0
HcmV?d00001

diff --git a/sounds/vm-tocallnum.gsm b/sounds/vm-tocallnum.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..ae07c3da189ebe4fab72958fcb9bf10a897a4e8b
GIT binary patch
literal 4554
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
IE&nh4AGJjmBLDyZ

literal 0
HcmV?d00001

diff --git a/sounds/vm-tocancelmsg.gsm b/sounds/vm-tocancelmsg.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..5c7d80a5ac108c795c56b872f96da18aa721702e
GIT binary patch
literal 5445
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
G=>G@kqyJd|

literal 0
HcmV?d00001

diff --git a/sounds/vm-toenternumber.gsm b/sounds/vm-toenternumber.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..44f3e5f1f9b9f87aca3f182bcf164aa42a80cb42
GIT binary patch
literal 4389
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
SZ9Z**0m?DJ{~zmrkN*QAtJ>QD

literal 0
HcmV?d00001

diff --git a/sounds/vm-tohearenv.gsm b/sounds/vm-tohearenv.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..5ddef223dc6d3d1fff9614666548a73cabe0bdd1
GIT binary patch
literal 5346
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
K+?>t-|M@?qb&#$A

literal 0
HcmV?d00001

diff --git a/sounds/vm-tomakecall.gsm b/sounds/vm-tomakecall.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..5449e9a7a2db676f5f00ff6135866ae74f60cb7d
GIT binary patch
literal 5247
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
Wg0s8;%SN#ue}j-6AQC`8LjE5bPn1dk

literal 0
HcmV?d00001

diff --git a/sounds/vm-tooshort.gsm b/sounds/vm-tooshort.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..4038c2bed8b6b7f04346008b8ffad539c5ec1bfa
GIT binary patch
literal 2904
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
Cjl-h=

literal 0
HcmV?d00001

diff --git a/sounds/vm-toreply.gsm b/sounds/vm-toreply.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..e770846b6e686b28d6985cd39e1d4d4bef1b4de2
GIT binary patch
literal 4422
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

literal 0
HcmV?d00001

diff --git a/sounds/vm-torerecord.gsm b/sounds/vm-torerecord.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..e48397e4483bbd9255a5ef7a0b9d441b01727367
GIT binary patch
literal 5379
zcmY+IXH*l0*M}Y8s<tQ~vMMAY?6xw((#i}8h$TQ+2^t710b&UP0uDen5+w|k0EP@U
zSTKg+3OivbNeEdWBmrdBRae`8U%tMd?z!jue)r>Z?s>$jR&lw%k)x6TkwqIh=@T6c
zN{qbq%ebm-*PRWb6w_<a<ak#{B^eIl?s5Q@vt^iFP#F=fA7td9Pk_oKU{y@mw5y|v
z<OIw!asZLNfdLqAgK{2_uyZ!K4<s=iUsR^KdV@#~px?70Dx!lv$p{W4!DOSZP$dD5
z5;H4e0K*)pD$Pkhlxhzmz+_Le9qD8!MP#(of-uF6w7O7gww*jpBnzjS1IowgSEvwL
zwKuSn<GD#PQ;F%67}WD@dp)vOoj(UAY;^3rlI^66yMLyW3VjIgSBjamC2X~;ouU{A
zAZ5EmWDJMD<)CX)T`ccWGYpFyRbo{|SdBl&Qp-y!8|MTEu-j^>i)KT~USJ{>j_r<@
ziy!1lbo;4hK!UD)E(iHzCnPAF<HI0U&}%u6k7RWXvBe{i-YSL%>f_lX-a_Ov+AaZ>
zr=WxoP#$#ii(*_LPMD91YMv}&l<`b3n=a@X?g+QU$gf_rJ(kz??0u5!ob@aL=U?L4
z9DeV0NeQql@yt(88=3dde%oE&{5AaN%%s^CxYQ;;u3y8OckLC|X1MfqAR>Nv;zom1
zd45!Rt;Jv#@5x-uehDJKhXX6iz~%49fcFo8$NCE?Dw5*^vXj0D@7YLQ+pwK4PE*#k
zYn|>oO+y^9%OanaAqo!smD~lMiw(MX;$6$Wgh1Vez;RROZZ9;lrRYmZGouZcou1MI
zm@`3#mv^*AKP1^xP-ZK<f^=Mu`Le#B&gR9n7QL3IU*<3|;RiS^E?&v5ha(T41>r{J
zSUCGdYL9k|nP&<)(_rpm^zl~{2jgQb17*@Rs-o+-EWz~eg5xG+ele6%-=Z(Z1p4a5
z7bA6(El<D62Wgk=5y;G+<+oss@oU5K3-CaZ5?3M<ufT-X?N=3QABCk_gQ`Z`t@igD
z+pDZr;?%I1mN__+a<e4%hZB=&&3*mtqpgZJED1Z4Lc7Vz#{AJVXPhy1VkQ5^%$?{~
z)$)+dKjBu&y<L+@F^yM83uX!S-_5?py^InsJN%Ox+7`RauKg8hh+jtPpTmA!8D`rd
z|ELs&pubCqRbE1$86KG&%D>ps$KcQ*&4_u;aoTkp!ug4Ko~ZF?1n{N~`3EXS^+lBw
zS{<+GS-{mcOQLOKpM$ie_*>@sk5)pJe!dyKbm+mKPJbI6Syvp_+X`an){X-6q*jy6
zgy#%AE*y4(p`4ga3(EXm!6EclE1nN~Y$Qz!rIzy@i2;oLKO`wBi9>U{Yl2&<0OvOH
zO%~)sfV^qWvb1CJ9W#jbX^F7vS3B5pJ-J>e*mDR|h&qS$_;8Nwh?gc#y|)(80#{&8
z`QiboihQ}acd5@YJgo9+ZaDC+P$Ah^R#<lq#`l)^;z9>REhMgIK#oM|el{|8>5M&M
zKT4V~Z@yWRBLb!PmaOL#8$>y=F%A9b0LU13AY#AvQ(q~5>Qo|TAoL^Aj6azZdZk({
zcsmesf+zu1b0j4MXtlI`R#Lw{;Gk73Lqt)V5-g^)@tk1F;H^Z?u8FJ?aFsN6NP<Tj
zg$45=!1i6{n%!*K_^ut$Kr2{AcAJDSkaV@JQqi3arj(BX$9K?@GzMH)gk!s$Q0QF{
z71>8AH4{|fem8>3%6R&0SBR3}g!XrJ0FoSlB}R~CqAy6=`b32fHF7d28<neEVM?;2
zY%|-*fH(%i7(sSgAgR@IOSHdh52(wv0)ctijQ}|W4aC!v&EDrVM9He{gQQ!}S`2a`
z?}8gfqHg9~F#p(OjHX$pob$Dic$g;m`^HE&r%a+>xF2y(P%zPh(0?8V{!r(Bj}iKA
zc@E^SN)Bz5ZZSgFiA-V5#_`&yA*o@PMDM8zwlV1|QH<zp`lXgg!4<RkJF6~coxQ4{
zn{A;9zTsQZUgUtQzwlK!zUj25B&swLpUrd<A{~A%VUVw%=`D=Tm+yViE#M{a^oXL1
z(s&dy`eD1i#&+-pLaEMh<2iX}p}N-{9(r>MthjrXD|&;dVXYywp3j2G`TiN<Y3%CT
z8lkzfl~2ll9%dB(WGzaBE3EF2OhJC$%F5E%8NykMg>f*&{xeFkK0NcXzf~BQ0A}3x
za@RhI;w#mbb$<&PU-H@)xxoW0nJ^cEdSQY!l#SJV0^EuOnUk~(36n?V<@@FGq@#0l
zjrQ8{ALeIq&YvvHm`!N-zhz}yi16AwWLbW9-<oi(biGm0?Kn4Q>Z0RZ+N`_SVRxpq
zEv>fLRQmEeW*{iNy%cBW|8Ny7R;k&n&%gnI|18#K*6Y`Oxbm_?aT`csmEaKSNCs0!
zyma_USecnuglEI{?fvU_EKgpZjqkoQ{Y@$H&i(C)vqEBgxTjL$1F#ag04hc`5;FeP
zpEo<0BoMnT75(LVf5b$*s7@3vA1niqLG|~&t`4R#uB{%pGL&Z1xE3dDFW34<eBpaY
z#TKyWIwRNk?aJ50_@i<3yhH7NefojXS=Pnbk)r!QT`y_bmr+*^5{0OJcB`QogaALI
z`$6z#)!Lt#!P%mF5NFCm;K79jSwj~C<PGsodra4eCi-kdEFFp<d^Hl!t6!%_GMw{{
zLRRDUf7yiXtBW+jJ*yh^86N3L{~t^sF;qXx<qjVU%E}6w9MY;y@?M=*4Edb48xiFG
zdLK||EkUcj5GO44c>2MAm+VD)TANsJ(=)^28orkX=oecYD#S8%XIY9nQuo-uSkjQ4
zbXQ}=GT=-{Yw%$DQfxu@38W-K?UV4&NcY2}JANBc^B;)p+G{!AYEtL)Q{4T+zULN+
zYt(OKUvu+I!HrmDVV*ReGd;U7=o01Q!_C2rUH{T65bN$cyZds(FVV#samBmCJv%_`
z{9OgeM-hNrPH!=e0gxD|XHxPPr>=FeU^g0$k)igGVk+y=?)8Bi*+oiHFJ&k26E*|G
za#eTSeQn7cKnX6tVQdO|@kXBPIxaC%lZtiKuGii$k}A7EK5wbapGXlOUt_pZFW9R~
zn2DN$PA1~8y-!dQqj@~uOfY5CC@AYY!_Q_^c)?W}n0ejvo>Fo6UI)Rl>)B=EC?&>~
z%{woaueyTJaMPz)BY5JRd`*nno8`Nntz(d$0DMb5PQguBy~)N|5`5@yUCm@wJfJjY
zcOxY}+uO2iOn=)bR7M;@lXw28WUi`}>Z@Ni79_E~)u{BxIDyC!Yy?%t{_o!;|6TJP
zWQejO3bGMoyCxyv7x;*LTHIQGm%lpouVfzfDd78cwj*uY9Y#(a&yrk%m(;$9(z(<+
z27U+B*IR#lyGyMKl^pu!F&LovV&kAFQaxn?5xp-U{lzvqe_zdKC*U>{1SOwjBRp~e
zpPE>+a){*s5=tY!hwCB05Swae`2!D@rQ|a69mx5YZ7y;)0%|IK7X#LMykUr>am(*K
z-)I@~1s-w!yF=+@z0~`Fzeu73P(TxH=7ETAW`beYAyp5cRI`R=9}zVYd)u*yAJZZI
z5&=*qE;z17xZS&2zFODkuF<>=KZ)AYJLB{j#5ZM5ETY_6sRiO0RzrK2+e17{VQGca
zQK1KVtjhnGn(3^qX^t?qCszkg^;7G9SPi2;A2?C}>(joc4Sxm3Hc@7n9g<d3LmU>a
zrjoiv8r)}vlU;9H2fV~`IMp-dime&54$OuSGunpJjm1-g+NG@&DMzOhA7dw{dTYk=
z_<XZl^|tevIbbrobSZnxvU>xYwAe`LKwgM5HrMnD$>S?7{g|1gK+d}5M__@x#7>*h
zFhENsdz^#HGnIEDHRht#Hzde0#--;VInw(;M^#vOQ=YLlUhf+MM1D<%DJ6ux7by=$
zJVW?U{1$KD=a!xm_t(7>&%<utwa{r#W*?PU?F4SaUt>w2y0X^b`J_*b(q?nb3n<H}
zRq(a$)qtG<oqF>-O)WmR;D$M+Bl&RZGyIBpTw;*rW2^lbRw#~FdyxF-ka5Q2d-JK@
zZQ}9u*oTLzBD!GCtA}KzH(iJV1zPk^GTarE2BQ%2-Yz+=S<0I%y%CW0YX{aCN6Rev
zjJyjjm8$1zE~noU2bGt6JkTn4(dnZPOH_Nl=>J-HpKs3A!(PtOdcrnadSmR=kQ9^9
zy4Z?;_gHsv>6`+GsuLu-V9n?EfNtFg%}oLPhVuN{p6t>48*wB)l_}o*en2jYJ>w%t
z<q4IB8-Xds!_gvOXgVC1+n#<o)!a0c|0ZN^9W*EVbFzk6u#$J}{Ila7hc|N$kG1V>
zvl=-P>Neqo716C92nrA70c!dM#e~pJV#|Kf=F21Pbdb38+7V{sMIkNbwP)q11XH48
zwZ2ydJO)2HiVb6s29Hj=wZ#1$z?)q<eK#y>K*zAZN4wjN)tDP*JM3n?m<A6n*nL5U
zx0s)0)z%nq4}|G;0DMJC)5|zmPPF1RBJB_DKp4-{Z<0RSbE_Ve?&CCZyO9(C`d0cs
zPyTgm;_^3>%ZqNTuWb(NvmYKywG;}U`w2%h<#aZAFPr8+<Q;G=7|9;SB3so@3vpR~
zplGGbDIf9NB%P<frHkwx;e{8$Rs$Fl2VpKR_=KF9&09(>ab)_tN`_NVLf>I2y?5<e
ze?mo+&FfBc9N)UT+CoZiWU=8IcLwVs$isUDo=Ez1Lu^@rlQsdU;Q!Gu`#~^jT5FyT
zDvOisNtM`^!l2p&7f>-YpWX=@<i8__y)TSSx9kSk@Zv7C-8$S}sJ4vW9TGiZ!u9Wz
zf%$KPG{+}Qs$Ht#L51$$0`MlR3AKB&vYzRQp<%(@ACm=%UMF7_0^^H1{7iZ3;9xzZ
zfahs&rp+#&yDW=tF0~e53C9%q!#qp(^OXFR@REqem3$Ms{JtLG&6vGgNzj~Gv^|hq
zI5ZFX{*$U?#C4;r?i4>)ce|hju?Se@pXyc48k&4Q)H?(b9?Sx&6jr>UkFS+`P2Cez
zA1c&g!_{L3Vz9bt(0n7Ua$(~H@?hSd-NCN6Rc9V|6#sA=dL!xgJ?V2QbyITraB~Ua
z#iGm%D)6}&UIn#37I;PQ8tVA!wI@XYyuOZEGJ{mu{D-PsVc676=-(>x1f*MIWw5UC
zq`v|DwX)#1{;j9v-J#Ojf^z!Sdd<fELcR6ijR)XcjEO)4!Im%W7sLpfsXNX^?5|(O
z2g@GBWvYT3Um;93z&aqYupJfI{ea=q^mF$(f|m+-+{>r5eyjV<Nw?1Y#D^+qq0kCt
zVNn;`CmgrQTr+hNPTS${$DLkCYQU<-xStTa>jc)GQ4K1E^4l$|z7;@E>njVpR`)(;
zk!x-H;Ip(ujk=jcra9i9=GSwl%95O`on8ihS3ht&#SKZ>rkzam@}kUGJvM1UxW`3X
z`-UPSv&{3>0D*3Ct+1G2=I%~bV!wRGvb{4t(9Lqey55p$?9tY0T!u7$4C>Z;f^>_$
z#IjKcU;8#`hK&Sovpx5OfS*Knd%i+8eIl~KZitR6%<~YL2;j2r5qL=M5CDBeFK+)g
z8M1_k|C~yI4K~Do`pag#L`X-sc)W|joe3B(`cwVjk3_HU>f*VZ<-K=Ty#urEjSkHM
zt$y;Y<hIBsS;-5{4-NB~HS*DPqF20<G;#?R{W4exIM=<m%rusP`;t0is&nExC9I&a
z{m1T=9R%J@n>t}2RQf(1pE}Tl{kck&&6GkdvMjGQ9iHkAvh6MCk+=Ii5XR+M=VpNB
zjF`OIxA{l)*j&8~VEtCU$CLD^E2Tfa6U<^#>PsGD8~<0556Gn7I1bR+V9~6`bHA28
z9VA%)T>oCuo;4*b^>EP~`(1a;Gw?r{gN1*d#PhhrqvlaZ%j6NT_zjArpF5;c`|zd~
zOZi#zw>EwBFl?j1VSZcDqtn?HA&w0s8$>Cd-n#7x=<(3~WwFPkI=7PE<^FPTuwzek
z+LAcV<2VR&^ZAyKHysP$J|UUX-_WKR1UY^>S3hF})Gjiz#WUh_K7^k#)M=;vpjM%4
zIM}fK3#)mVnCGnUx?#w-V6Bz<kJ_odKt&Y{<;yy+>5s3FQ~{rlAxv&-wF+edKz`Sd
z{|ITGv<3(Psq1t}6%k%W*Hb&fBd|f9!E^SrQTEPzo+#DJljX0Y8cz$$w7y0Hee4og
zZ{h%JXHrZtB8<x;k5{9R%J)tQ0w6`R9Zn|DLu6^Da2a4!)j9rkuJLHX<iZg5ScP_i
z%=lAc8u|2+d*deIsi8`7JgLe_IXmy%M!rn5*7qy6n523CnkJ=W01lcahtt;wp&NNF
zt)d4uZ3CM**5LEa!tI<twq|(Ye?~f@5<^mJmi+GYHkS)8oM!W`<P2D{T@2H5g5*U{
z7~9lmb;;b?Z4QIgnGq<I+a?U;7zZfIoi;KTb;vnw`>wdsBC1iqJdC}b-<`S{K*#%o
zx2QZu*O<X&s(Ijf7`=!CQI+*lHaX^KQV8l*%W`CS8V9C=^Q<^KPK*eXZBs#YRXosj
z4orzRQ_UDZYY{NALr^3KR0-AAxH?#Mb<rU@c}#0GJH#rLyE%)tjhH2IymdkMW3dBV
zS(>j`A%+q_gl%2H{H%u4IwX=?hEt|FefD!<mHt$Q`*{iDqHzei8$6Wab`ZJ7uaPj}
z)966szRFfl05VEqMQHqzJD53(^EIrA#1)s=*U1RP!DE9o7lUGn3(~zc+`?%&aX@(h
z_Zgn$?iF3GhL)Xba}Q_bG<{?=o%PTCB*FRol|Arb&s}(}up!^jDPAf|ncA%gbi1on
z6=1*J@IvlG=Jo99(TipsTXky>)~h-xd&J`DVHBgPe)MP6;Mc3f3E#QhElb5c$k-eW
zcSh0o(uWfT6;B6P)XtjsgofX2Ng2A6ZvO%^MZW9Cv9FK}4@ndJ_MmDPtvs1Mzu@Zf
zWBHoRimR`c4N6apf$@pG6j8O_bR?S-tRlm~ud*#<$-HQxD^ylKD$O+tR+Y1r!Z~-t
zuv}LcP!d}<x}yurc?QB=PCydRAe`zAN`t6`QfwWiKYK@DIspB5!9hD7^Z$?k1KR$p
A_W%F@

literal 0
HcmV?d00001

diff --git a/sounds/vm-unknown-caller.gsm b/sounds/vm-unknown-caller.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..693664d7c36d415357f0e8b2f25233c1de68c8d5
GIT binary patch
literal 2277
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

literal 0
HcmV?d00001

-- 
GitLab