diff --git a/file.c b/file.c
index e38a4afb5aaaa161d3d17ae76cd8dcaa3476c2f7..1753f45b8cfa548c814583019c1cc92fe9a089fb 100755
--- a/file.c
+++ b/file.c
@@ -146,7 +146,7 @@ int ast_stopstream(struct ast_channel *tmp)
 	if (!tmp->stream) 
 		return 0;
 	tmp->stream->fmt->close(tmp->stream);
-	if (ast_set_write_format(tmp, tmp->oldwriteformat))
+	if (tmp->oldwriteformat && ast_set_write_format(tmp, tmp->oldwriteformat))
 		ast_log(LOG_WARNING, "Unable to restore format back to %d\n", tmp->oldwriteformat);
 	return 0;
 }
@@ -192,6 +192,45 @@ int ast_writestream(struct ast_filestream *fs, struct ast_frame *f)
 	}
 }
 
+static int copy(char *infile, char *outfile)
+{
+	int ifd;
+	int ofd;
+	int res;
+	int len;
+	char buf[4096];
+	if ((ifd = open(infile, O_RDONLY)) < 0) {
+		ast_log(LOG_WARNING, "Unable to open %s in read-only mode\n", infile);
+		return -1;
+	}
+	if ((ofd = open(outfile, O_WRONLY | O_TRUNC | O_CREAT, 0600)) < 0) {
+		ast_log(LOG_WARNING, "Unable to open %s in write-only mode\n", outfile);
+		close(ifd);
+		return -1;
+	}
+	do {
+		len = read(ifd, buf, sizeof(buf));
+		if (len < 0) {
+			ast_log(LOG_WARNING, "Read failed on %s: %s\n", infile, strerror(errno));
+			close(ifd);
+			close(ofd);
+			unlink(outfile);
+		}
+		if (len) {
+			res = write(ofd, buf, len);
+			if (res != len) {
+				ast_log(LOG_WARNING, "Write failed on %s (%d of %d): %s\n", outfile, res, len, strerror(errno));
+				close(ifd);
+				close(ofd);
+				unlink(outfile);
+			}
+		}
+	} while(len);
+	close(ifd);
+	close(ofd);
+	return 0;
+}
+
 static char *build_filename(char *filename, char *ext)
 {
 	char *fn;
@@ -210,6 +249,7 @@ static char *build_filename(char *filename, char *ext)
 #define ACTION_DELETE 2
 #define ACTION_RENAME 3
 #define ACTION_OPEN   4
+#define ACTION_COPY   5
 
 static int ast_filehelper(char *filename, char *filename2, char *fmt, int action)
 {
@@ -265,6 +305,16 @@ static int ast_filehelper(char *filename, char *filename2, char *fmt, int action
 							} else
 								ast_log(LOG_WARNING, "Out of memory\n");
 							break;
+						case ACTION_COPY:
+							nfn = build_filename(filename2, ext);
+							if (nfn) {
+								res = copy(fn, nfn);
+								if (res)
+									ast_log(LOG_WARNING, "copy(%s,%s) failed: %s\n", fn, nfn, strerror(errno));
+								free(nfn);
+							} else
+								ast_log(LOG_WARNING, "Out of memory\n");
+							break;
 						case ACTION_OPEN:
 							if ((ret < 0) && ((chan->writeformat & f->format))) {
 								ret = open(fn, O_RDONLY);
@@ -343,6 +393,11 @@ int ast_filerename(char *filename, char *filename2, char *fmt)
 	return ast_filehelper(filename, filename2, fmt, ACTION_RENAME);
 }
 
+int ast_filecopy(char *filename, char *filename2, char *fmt)
+{
+	return ast_filehelper(filename, filename2, fmt, ACTION_COPY);
+}
+
 int ast_streamfile(struct ast_channel *chan, char *filename, char *preflang)
 {
 	/* This is a fairly complex routine.  Essentially we should do 
diff --git a/include/asterisk/file.h b/include/asterisk/file.h
index 5e424358bbd986cad6536a1a919682174ad9dc4f..95c77f6b7e5358552173d23a96b8f23a47840524 100755
--- a/include/asterisk/file.h
+++ b/include/asterisk/file.h
@@ -59,6 +59,9 @@ int ast_filerename(char *oldname, char *newname, char *fmt);
 /* Delete a given file in a given format, or if fmt is NULL, then do so for all */
 int ast_filedelete(char *filename, char *fmt);
 
+/* Copy a given file in a given format, or if fmt is NULL, then do so for all */
+int ast_filecopy(char *oldname, char *newname, char *fmt);
+
 /* Wait for a stream to stop or for any one of a given digit to arrive,  Returns
    0 if the stream finishes, the character if it was interrupted, and -1 on error */
 char ast_waitstream(struct ast_channel *c, char *breakon);
diff --git a/sounds/vm-Family.gsm b/sounds/vm-Family.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..0e64ea6be43fad20bd130878ad4c4d6801f32053
--- /dev/null
+++ b/sounds/vm-Family.gsm
@@ -0,0 +1,8 @@
+ج���PbD���Ua��ȹ����D��AǓHO֝�!���:�Q�b�x�m��V�կ��ƢW@”���a��0v)�q�J,�[s�֜�G
+�A��ȑ���a��Ybo�\ā��i��l�'	i��`��Y��d� �Z���l훐ؒndF,���~�[g��"أ�5cn�f�9k�F��Vc�G$�H<TI
f�Y�נ�]�A�b�5�B��>����a��&ށ��_Kק��ơ�l��]Ţ��xv^�����T��w&I6�ע������K�[�V�D�m��`�6������ӁJ��_���Ƣ;h6���F�O��~�DŠ‹���*NIJأ�Z���u�<�聖�`�{�A�$�������Y���i��8�m�X���b�n�	�E�|º\�#d�扞��f6�MͽV�&c���a�[DV�,�&�nTO�$�&����Squ�o�RZ�s�
+���sH��FA]����u�
+l�p�u��'��esh�و��uG�*����r���K7��'sJ�ԥ��x�Gc�4��LM��;$�brj�s�C�N���H��HNW�+^v���I s*اy޵�;^
+D{qLJ�h�q�F��8���Gr4{�'��nqj$�H�qf�'p��(�$���():�֢r��r�
+�����I$F.z�Ƴ[~X(f��Až��s�#�gܐ�c��#�����d�nM|ߣ!sMs���|(#q$i{�[����̺�ES�q�.q��;W"��l,jq�C��( qDS`�ٮq��䕹$q��cO���Z�����$�Ƨ��w��g��=�9Zq�:뮉#�a���q&���mq&�eJ�c�G��V���%�2(�֠��;��t����s�M
�U�s��S:0qe��
+8��"d<s���ώ��%.�Dvs�PܕFg�f���"Zb��J�mȥ�ʘ�nUOtɘea��sJ�E1�
+�[L:"��5]���p��k�G4���p�U�G#��kؘS��sc����s���/I#�Dgqh���#asZx��k���\p
��D��=:#�"��QM��&�uf��q����@�ub:��1���+�ʭ��Ti7.��s���Yl�Ńs!��F�*sAĹ�Yz�K,����{�aq"��L�	�J�#܁�{'\�P�k��V������X۵���U
CSe���,�F���L�74������c�6������u��@�zt�a��R"ٞ�*a�b�d�ʠ���%��[t�Y��֢��Q�=�a��P��#g��� 9�$�r@F�m��� F�m��
\ No newline at end of file
diff --git a/sounds/vm-Friends.gsm b/sounds/vm-Friends.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..45ea8b7da643234bfe6fc1a1e89f93253f351f37
--- /dev/null
+++ b/sounds/vm-Friends.gsm
@@ -0,0 +1,4 @@
+�)��`PC[uo��[�ԝ�H-^����,�e�bh��ע��[��UCi�ۘ��k��s �j�Gl�M�֜��ٶ��3]���A��y�q�B�Ӓ8��alՆ[/�[������7#�B5Ri��Z�="�I[؁q��֘q��y6��Z���t婽d��f�-p�⁧�tYU����V����Z�k�k�Q#���baH9P���$��V#��˛�ށ��CV��B$[�U�"��HKP�ٚږA�\�)+v�5��#��֫U�s��E�A�m����̡��.d���K<�:����Hܔ�%��DN�z�����)�SZ�7�d����kSf€�'aZ
+��ܚ����������hX�f�wIu�h��HC��!�����U_MR�3+�9����R�"`�k5A]ע�a!^�kض�tR�e}p��ȁk{NH��Zm��&�`�i�ΡY�RTX��+�v�f���,�h�:V��\�᪡*���ؒ.��!�$���t�@ݞ�P����]ס�(�d��a�m`��ƺ��5�a�t�霭Y��ߜ-[��(�EX栒����J��������.���qr��.�čqB���ޢ� ��������^�"�lҠ��ޢ&vT�G�}u"n�ng��GEm]إ���v
+6Ԟm��%��8`�ֲ~�DT����*���EN"ѷcZB�e�����4��_�[�R���lq�^u��ٛt�sd!�ɯ�LP��WqiWf�8��pre�s�uDm�r|�Ǫs��q軰q�bs�u3�֯rfsE�+A�}s�6'B�s��2��qH��R/�i�V�s�Q��s�k/�%�s�<T.Ƚ�	���צ���+[���s�B��d�q)(��4ts��㖭 ��6�-F��s(�ؐ�<��qEbqȫd��碑�ql4���HҝlF��If"�X���8$��q�'�|q�GQ��o
+z�r3o�&�=U"oG3����֢�b<�f��/z�H��:D��د��E��0�s�(� k!;�H6#e6�ڤ�1t��ר���d�:ϐ֞D��mB��O��m#�BkH\�D�d�T��&t�m�i�D�+l��4q6�ڥY�qU�$Ib�`�m"��'�_��T,�o¨�2�[o�[j���B{΋�������^M��ܣn\8e��U���aޢ`ۍ}�����[cl��Bv�u��s���r[���9�t�[qL�ebP����$���j�Ȕ�N�z�����Oo#���L�+���q$V�O�p�(�RP��v�i�U��	���Zٮ�m�l�6�i����2�_Z�ñ���������-��q{mփ��4�l㭑�OY��ֵ�X"�D��fT��[�|²�#�l�y�m�˞�骈W��#;(���_zܢҁ��V&����q�i��2*���J�����v���19��̘ո�z��bZ�ҁR�Ay�ס��#d����;����6Y���ԁ��l�"��]���e\za:��Y$T@[.��$| K%�K$� K%�Id
\ No newline at end of file
diff --git a/sounds/vm-INBOX.gsm b/sounds/vm-INBOX.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..d1984cdf4e95fbdfa31cad9675f7bb07b9c9dff7
Binary files /dev/null and b/sounds/vm-INBOX.gsm differ
diff --git a/sounds/vm-Old.gsm b/sounds/vm-Old.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..dd6704d38f7e9b3955b05d9a2cce70a569c96ae8
Binary files /dev/null and b/sounds/vm-Old.gsm differ
diff --git a/sounds/vm-Work.gsm b/sounds/vm-Work.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..38c2f7563e2343bf11659b54475594859015b9c9
Binary files /dev/null and b/sounds/vm-Work.gsm differ
diff --git a/sounds/vm-and.gsm b/sounds/vm-and.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..1e248eb576acc1500df34178d3d6f2a1b8f339e4
--- /dev/null
+++ b/sounds/vm-and.gsm
@@ -0,0 +1,6 @@
+Ґr�PIk��X�b
+�-H�X�"C
6��D�&��gК���h�9���c�CJ⮈��B$�00҆��n'+�Z�!b���]�[b�,һb�a�Ӎ�����T3і���T��`��Ք�<��gR�1�K{����##Eՙ���#�"N6�����{�ǻ#s�+`�F�u���ى�[�E]�/[�D��y�G�B�u)W͙@חiQ}*dʊ�9l�:�ө��̿sݩK���F`a�YX���1)��������g;_�Z��#��@�U�W�X��B���0���ٍeڢ<܇R���u�v���X�[���Ӵ�ᤢ5
+29�wbx+aU�Qk��,�q����[�+��)ܕ�j��8뼢D��$�X����
�%xt­����ݥ]�:ڣU\���Uj\ф���c~�/]��o���k�i\j��ˋb���Q��eD�U+�A����l�U-�Ɨa��Y���׊l�f��������p�j�4{F7\f�6��G|��Qԡ��z�oZ����bZ�RO����4W5}����^�4ݰ�#��{�H�~�f�nGҁ�\X���ޣaZ�a��ʧ���gʴf�4�&\v�&Z�F��\�����&O���[�w&]"�;��=��>����ؠ�X�f���N����L��z��2�h
3T�?����ےц�8+�����؁�Z���InQr�����/=Q��Y��w��db������*�37���[��K"������Z�A�B)(:�R�wc��4�¥`�E"ס�����U�y�Ce"d�n�/b��eJ0�T������_��
+j¥$TH����?
+�5:A�TR�1kN¬�m���6�v>��B�
+/w�b���zSoy��ۃi��Z�s[��$A��u�T�t�wP�N�j$Z~�M�`���eC�:ґWj�kҥ����!"U��gQ] �9�ݤ?*�S9��gpV������&���gi/iD�ʒ����i�-R�n�gHˑ�D���i:�g��2r5�s�3ύ(�
C`g���A#i�ƛ���~��.�u֞s:�gQ����ώ'd�u[ip&�w�gi�	[676��r��ϓۑ��g���5,i1(��	!�qȓ�\�� z�t�vli&�gQ�Sjƌ�Q�oc4�g�Ȝq���{.�k1��q�7i�����Q��-�Sk�K#�D`�c{j�kmj��ſk�z.ȩױ��^6�m��Sh,�$�&�m�\�H��ͮr&��mRG,�E$�P6ڮj��#�29�P�jL���P�{��#��쵩�oo8�m� Ԥ��y�|խ��oi���2���� �q+V�m7?��t��o�[�*ʕn�E4¥G���N[��j����ң��zn�ߛF)[��%��]��;�-�܆n$��&���lǿ�QQ"؆��7��ڦB�rU5m$O8$�"�}2k&G�J��mC�%� �m��nG؃�� ��`��3�ïs���Ň5�̌j��Ey$��k0�(_�܋�c܄N����n�Z
��4p„g`Ϋ�I�u6��`{"4{�:�c�d�%!d�r�:���l��.�T��ݓ��܋��v[B��P�[�Щ��8��+�����Ԟ��big9�N%iDC��ǧkCS e�hԤ�uh���_�ͳ�D�ܭ���~-��#���B��nJ,Ɨ��U�Ħ��8�j��W������b5\p��%���֜����©,~�C�֛�X����άҡ��Y�c�]�Zp�6�ѤԢ�� acA����eBG+�b����Z����e�:`��v�S��<���T}"ԭ����ۑ�Y���7Yu��‘�E$j�K�ѧ���$jeנ�X����S�V=���֛!~��-@��obHb��a��I�A�Y��ʢ�m5;�BUO*�� �vI$
\ No newline at end of file
diff --git a/sounds/vm-changeto.gsm b/sounds/vm-changeto.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..49963634ba6a607354ecf48df340bffb142926fb
--- /dev/null
+++ b/sounds/vm-changeto.gsm
@@ -0,0 +1,8 @@
+��6�PiI���T�#�n7k��JŽ��b��(G�`��rA����[���"Ӵ�ìY��n��Ii�_�aj���Iք�b���(�r�}Y��br�Q󮄅ٟ�!���"j�*���b�L�x�!/K��u��r![�d�e�V���5��㪢���c�S:}��!
�J��5S[���˘�T�T}wD�vh�[v(��&d�))����Z�&�%��f#�_2"��C�㱙b�A�+���٠�aȢ��o��p�$��Ղ��J�K�z�Yc(ʃם� �n��K�D���@�x������b��1q��מ����z�RƔڣH��R��}�3ƢGSk��(�]���d׷L���g�8���Ue���e(�X�+�۩�)���ȥR5oW񴜎];��Il�-\�GzI��j���m4�3z�g�sB�D%���t��%W4��p���j�aԨ�#�
+���2�"8�N?�i�ܢ��-�4��bI�켮"����P���n[�[OvMr�x�O�9��jZ�[Q`�p��]�kĨ�[�G�o3j[�8f�ee�iJ�{[N�8�[
�Sk�$�MӘun][�3�ͷ"�_Zo#�-
+�x��Y仡湳ib�Vn[�������[�YJ)?f�\�	��k9�K�ܑ��+��VT���rӰ���n[�Y(�K�I8��Z1nW	Uj*���q��uBi�&��t�R��E�C���Ue^m&��a~1�$��ᒧ(Y �֫U���l��9��CTٕIj;/��V�}=F�TĔ_�]飭X�JE��g��_�dh�C�a1ܢ'�q*`	�-��+T�'�甥��4-,m���7z��Џ�S�Դ��5M��i�)�ڰ������J��0��ϛ��:pZ������-�������s{��~jf��g>3��e�E
�V��r��c��0�.��
+Um�P���߭�����ި)�g�cQI��Sͩ�
�WZ�9`��݌�
c)[]�d�Zj]�d�wZƢ�AY�U޸L��nKo���Z���er٧X��9$X�r�n�\��Y�u��lEl�Vԝ�b�%b���¨�����g��!t�b��(yb\�#���诜MG���ϵ��·����Rb嗓�t��&�\�g#&��D�ƥGmL���%5V&�eV��K��a�aWcFC�F�c|ju�2ai-�6:ha��^b(�`sbVa�C�R$_����i_i�E-���Vzvנj��]-N����]n;�nF�]ʩc�S8]�x�̜�#Z&4]�ܪ�(g]LV\��xp�2D���IuYU�)�'Z͢��l;�B�Ĩ�s��I9��;\� �ͩd�gz�c\���S�Ӹ�ز`�aF_'��O�k���f��l�aYyO�[Y֘o�8�N��]Zgi�→B��Go��Ydߒd����K������&j���K���k�����9JMf��5)@��S�i���I�$�@���e�)\�J�UZ�:-��Ď�jS�&�r�0��A>�h� Һ��a��,��)��2䧷�ocf�]$�[ڪ�l�r��.��lÅy�EbU�!�qFR��9)���؋���;3���EuKƢYz��ȸ�nK�h��Qn��N9�X�I"m���ʚfm$&Y�w\�7�f�W�h^�Q,Z[�'����v�B�![����Ӥ�W�F�:p۱(�x��Y��
+�+�f; ���ӣ��W(��F�&W�%����W�BI.|W�>ړ;Ӥ��W��#ʺϭ�h�U�E�?+
+�����-Ԡ�X�W�$]���2���t��&�KJ�Xc.K���`GYc�DN�����h�W�B5�&�"�/�B���̐ȃ�:�^�Y2�� ݬTln�{%t���!b�ɷC���5��@������D���u�:כ\y�ŧ�x�$q*�?U<��8�Q��K>؎���t--�-�'�(��i��a�|��5�\�4��^��!k1�ql�A�6��+ߌr��Ց�#�
E,©�#j�3`�yaF!P��=Qh�P���u��
+{��$�&rl�+��p7�K�Fv8�h�[-$ģ�3�Z�֧i�dh��A@%�Eg�my�H�$��ۧ'f�X��dq�j�(�#�0�'�-�IS�c?����$���*Y�P���H�����z�B��˖�F��(���/�\����#iT�Ҁ�F�Vǵ�#6�������Gb�"��X�UPS5<�#+;�����
+r�*n��uȕ�c��Z�W�n�V�%2�S���ג��d�٭�����]٦��l�ލX�\�?�bŻm�%l��Fs������Y�$��Ge�D��0О���5	m���݊�ٔ�d㝳Ԃ'q7C�!�I��r��*{�d�"�e��T�Q�ԂFڞ'����+�;��Hޝ�+�_��Y������jT��4�������ޭ`�x�Ɖ
\ No newline at end of file
diff --git a/sounds/vm-delete.gsm b/sounds/vm-delete.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..ba15d85b7b15a31c82162589675f9c1934527b31
Binary files /dev/null and b/sounds/vm-delete.gsm differ
diff --git a/sounds/vm-first.gsm b/sounds/vm-first.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..795ed9add5f375d577da98d8df42b4353c957f0e
Binary files /dev/null and b/sounds/vm-first.gsm differ
diff --git a/sounds/vm-for.gsm b/sounds/vm-for.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..0f588137925dfa4f840ab1067fa1ecff858f4f4b
Binary files /dev/null and b/sounds/vm-for.gsm differ
diff --git a/sounds/vm-helpexit.gsm b/sounds/vm-helpexit.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..ecce174220787f30fbf92c8cb037fc0cc52a1baf
Binary files /dev/null and b/sounds/vm-helpexit.gsm differ
diff --git a/sounds/vm-incorrect.gsm b/sounds/vm-incorrect.gsm
index 486a9b8b4e1ae2d3ca8aed833ae5162006073787..8b78becf3e4cd642644b8adfcbc707dbb2db8e7f 100755
Binary files a/sounds/vm-incorrect.gsm and b/sounds/vm-incorrect.gsm differ
diff --git a/sounds/vm-last.gsm b/sounds/vm-last.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..5fe7b7f51f5dbe32fea3c9280a7fd77bc6984845
Binary files /dev/null and b/sounds/vm-last.gsm differ
diff --git a/sounds/vm-next.gsm b/sounds/vm-next.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..7786bf6ff398413fabaea0b3ebffda1c92cf8929
Binary files /dev/null and b/sounds/vm-next.gsm differ
diff --git a/sounds/vm-onefor.gsm b/sounds/vm-onefor.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..71b9c65d8fc2ac35654c61283794ffb20f7f7daf
Binary files /dev/null and b/sounds/vm-onefor.gsm differ
diff --git a/sounds/vm-opts.gsm b/sounds/vm-opts.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..3e9006dfc0064edd875151d8459f89c9fa27c089
Binary files /dev/null and b/sounds/vm-opts.gsm differ
diff --git a/sounds/vm-press.gsm b/sounds/vm-press.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..35507909fff83695e08d556d83b5c04681145cef
Binary files /dev/null and b/sounds/vm-press.gsm differ
diff --git a/sounds/vm-prev.gsm b/sounds/vm-prev.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..de964a73c47e6323e11c2338581c864ff3756a14
--- /dev/null
+++ b/sounds/vm-prev.gsm
@@ -0,0 +1,6 @@
+�i��bP&GD��,uꦄv�2P)so����(D�ل�ס���*�RJ��a�4�e`��\Ă��!К����ޛ ب�z�g\ơ�J�%�����2ځ��*���\���\a���!b2�5_����X����ґ$��e�w[H�-�#;�[��6ʒ�w�x�b�f��kP��\��̤>b��B���j�B	�8��݃Y�"��sw}��ˡz��آE	�<��d]���ם���`�3�mR|Ⱂ�U�B�b�6��B9�����ۊ�a��6�l��U-5k�9�"�飒da����ے��΂3�2/d�J)aZ����_J�j�X���^�\�ܡ�������<i����G$uN����Ћ� ��ڜ�V�K���e�C���Ҳ����A$������bЁ:T�M¡��l�b���W����RGS�ߛ�آ�tu����Z��U��Sl�ۺ�2ښ5��f�����Y��Ԓ���u^�"3�ɽp+�i9Y�)ۜзbH���%Ѓ�ތ={V���:�X���u!%���mP��6c��$���-��Ӽ���fG���œm�׫�(ɠ�I����X��bgQ�ȃ��u����Kܳ0�֫�%^aǦ��Y�]&�ni7U��J4�a�7D�7�l�]�ō�+��$e�����el6�j�dž)���(���foɨMٚ:Pg(��b���H(fW���GV�RG�ՠ��7�(P����(7s8�,�Ia�njj�J��ɤ��+�G�Bզm��9b}�e���
+j̻�I��q�h�m[Qʛ%��{��VB�D�x���Y#[�ɚ_PN��'�)���,��Zv�'m"Jd�ɨ�Z� �mu�nd��o�圄��v���;l^w�n�E�9Q�̖i���(�1K��9�-�&��5
����%�v ���"¹ս	��]c�%\��F��CF��:�z�ݜ��Ⱦ�7\��ا��R���;�R��`�;¬��ہ\�����گtץ��z¨��$��a)����$В���T�ӱ5إˬ�^���.�Lkc&�-ΡcA�5}!Y���cw���)�a*��f���T�QN=k	]CJo����:�Y��`��^����r�ʎX����uf��ȸ�Xҫ��RG4���DHDnzlYD� y����Ȝ3K=�l��d��	:�J�W�e���$>[�IW/�]�V�m��$�C=`O)��˥8c�U����U�̔��5ү��-Sc�T�-b�C	�<�jUd�\�[#U&C$��[�0��e��B�ψfU�С�5U�V�Q��W�C����)�\W�����xW�p9V�iW�ft;�Y�&���+�5Ye��dp['_h}�޷)%���_��P���k{��a��%T:�~�����7�	�%���g)���:Vԩ�:��j���6���5�q�(k)H�1o(eʇ�l�/y��x����%sf��bf�s����J�s�k����0y�ִ��E������+!u♢�m�uE�dR���mb�&���.'�ꤹ|6����N�z��B5���a��lބ)��2����X��v���
+s3]�����ף��d���u�/���4͔nr��Ũ���6օ�9�� [�D��s\c�#$6�L"��n�M5c�v��W����`�ȣ��ٵ�r�v���'��a�Dj��].�&�a���'1/,�b��ncpÉn!�턣�+�&C�g�YY�¥�JF��H����P���O����,���g���Y�&�[�^ťZ�e&��JoH76K�"�^��gD�rh)f�TԐ0�o&G"mZ辧.�8��߃��r$:�&����1��Cʥݱ[���t�Q6��a���^`�y{A�<Q�h���Q�T�Om5T�!����G~v\�"���5kϛ5��u�8ܒQ��'j�8a�+�sŤ���Bsh=.�)�F���W/թi�w%�etA�z�Z���xz��-GuڥU�;ԟ�n,�"���y �B'Q���x��,�쁺E�V���a��Bl�U�t�g������P�'r�,�1"&�_��c��f�.��j��M�J�p�4�Բ��'$f���&�Y���77�Aj���KII�r�,#MImC��rƣ�����V���J~�a"n�C�dG���y"������0�Q��J�����#!�����ymx�Ȣ#�R�w�2i���F�I�}Q�]xb4RW�ɭ
�Y_)eS�%���f��m��_KH�q�(f��h�f_�,qF��#y�_%/�3#�hF��]E(�s���F4k��B�`qW[(��YG�`ǎ�Rվ[FKbW5��Jڰ(���r'��ž�-��\������oc�Z��_��*��a�%���lV��]caZ�쪶��16Cg_CGO-Ȣ�#i�ܼ��+��K��J�t��a!�k���b�A����!h���bh�e����G��e#�\�+�_E'!�����Y�~d�K=��V��߂Rdm'*�kUZ��*�����i����v�M�g�*td��!w'.���vƥ̅��ڞy��i#�V�}I<,�7ZvH�$�5~��#*�kٜq���f@ܖ���ȗiȆ����Q-���7Xev��q���i�q7�g���R���u�&��T�Y�h�V��&�hѷ�	X��XۍX$2�Z�Ō���פyٵ��8��*�D�܍�k������%yb.�(�%yEn���,S%��h�HP�i�^�G�j���d����nj.Y~�+���ިic1;����AlKح���n�lF�x��=�X���ּi?\�+D]�1�)ڒ��烽+��fX�͞Έ7#@�$��4��H��e�*��;=�ɢ�ú���rz�]��	�Q8u�'z�`�+l�Ų��n s"ʹ�G6~��1�~ՠj�cQgk���z��Q�⠣8ӎ(��U��
+��"���d=iͯ�E�Eq��D&��<@�	W\vQ�j�Rfw��v	X����ؑM���A#R8�Ȫ�q�2�h�Y�ԩv]I�ՋJI[�H�ت��pد�e�FU5֩��-��9i�v�͆�m��$��w��&FK�Z�'�Z<�C�F����)!���D��e�����j��'�؛���g�*֤�]���~�u;o�aF��T؜ت�iY�F��R��t��Z
+�L��ނS(��D��h����m�ڨ��D��`�P�Sf-^�~h��'��3��櫮[�+�Y�Zꈦ��*���n�fX�	iI��'�)��`���ze$�Ȼ8dr�֓�F��%t�MG��rݴb���u�$�B+^*kʣ��ۘ�C��e^�c�k&�DY�,{e#
�r�r�6��&fw&�B�5�ߠ�7w婙�����i�>w#~*f[�C����Z�ݩw��).1��)hЧwc�^�D��;�7{�]�Y�|#<*���W��D��K�sB2�a���V�i#��k���#��֐꡼�K��ء��2T��Y�%����䉨�⡵�u�”`�Y�����ĞBG&ؚ�Y�p�V�IF�h�'$nWЁ���h�d��li���)�m!wA��b%�����J�oE�\5[�ag7�9�h�!Z鉨�tF�t�%#ݶ�����c��P�MԤ�,��#��JQ�
+쎅+���v��Ҫʢ�NI#�'�]���}��b�X�L���ԔI�p�C�J.�[�&�Cv���d�B:p�Z�a7Mi��q�������R�W�0aUp�4j$�%~�v]�)���EZ�&�ٟ�]�؁aZ��Q�BlT�ǝ桫��=㘢�""$�ס�iajA8Yh����*�T��T�h��$����"���נ�ek�����䝒��[n9o��SoO���LKv��b�!������fᲃi�ۼ�H���hZ�<�s&�ס�%#���e��䁰��6mV�:��f�YA�$�&���-"V��&�v�;ӮJ�����ٜ��6�u�&�᫥��� ӓ&�Ρ�ӎ�窡G��T�ECZ2��`��Z��W�u)S��-�N�MP�J�d�X�'A�����f�Ht��PY ��1�Qsa0])gY`�C�o�aؠ��a����Z�ێ�t�Ǜ���…�l���ڍ���ݛ�"���+{l��!�e�K���d�U�@4܎Y#
\ No newline at end of file
diff --git a/sounds/vm-repeat.gsm b/sounds/vm-repeat.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..b1b62aa7b3f34920b4355205f21909abef79b9cb
Binary files /dev/null and b/sounds/vm-repeat.gsm differ
diff --git a/sounds/vm-saved.gsm b/sounds/vm-saved.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..04f3656e06ee76cba67f387d689115d99b897eff
--- /dev/null
+++ b/sounds/vm-saved.gsm
@@ -0,0 +1,7 @@
+��ܙP��)��~�X�U{�CH���̀�R#`4���r˔��T
+�#�!ʶMu-��I�W�ڢ�d��K����~�j+B��T�&,i�U��8���3����m�ցT�ybc�N�1�B�Q�&�P�
��‚�:So��y��Z�k6��g�"��l��j�2�S%����N�m�y���W�v�c�A=��E��\ඡ��H�R���يP�"G�6�.�H�'Z��Bb�*$쁒�o�2֛�Y��H�*��^��8��k"F�X�A.T��[�Yc���Qo³��5t�Y>f��^�@�fC6�J���ڂ\SP�Ae��{��<&Xæ�jXǃ8&uG�����l�j���'…),��,����n�g$�-6<٩@Љ_�K/��wl��~��V��2)c�g,4d�����`ؘ�$���.:m�oV�Ov1eo�ʈ ���%P��nM�~~����;���J���ϒ��%٭�a��H�r%=X1�ò��x��6�e(��� ��c����5�RZ�U	&�Ѯ��{�:�3��QJ�٨�����k����~k�f�k"Ũ��x���L�j��cj��,X���򣓝C��YH�ꚲ�!"����S �^:�r�5�,�z�X��%ct���U%L�`T!�r���~Z��I��	�h��m.X�_THܴJ��a�*{ip�s��i�#k��kg���ź�gt9d��ԡ��i�'$�A�e46��og4	c�3*i�ؔ�b�cl3:�3
���is6۱m���[I8��Sf4q����s��i�9�8�kS�T�mkM�]d�F׍Y8DV� {6�m�T�m�p�r&�j}ޯ�Rp��o�v�U�U֠[�|�R)��$qQG$ND��N�,r9Ruq7>��"�S�t�p'hq��Q\��yν��{N(��עC2�{��nG�_l����F�&�w�of$�����Cr��N&�O�R��ē�F��.�;��7eD��#J7=�NX�V܉��2�omԌ�Wl ��+����aJ>}�-J�H��
+	j�S��8�m��Ip�v���C�:��$���U��ۊK���4�y���/��;� b.-�ĸ�����dlt9��#�f�[X�•�v!� a�����s��bܢ�!#
+��{5"6����qƣ�y٬Z����
+Z�[s)|T�x�v�u)KU�q�ۢabVC�چ(#|#T����"ȍ�(]"Nj5`�%�)RQh�m�S%�p:�Z��c�J���y52���],ȩ�܂yba�Ie���XΪ���VP�tU�%�٩r�]�oL�b�+s����d�/7G=��[�Q��U#��U�򥄨&X��ݪ�:�4����to��أ–bx�ET�r���D�~��G�����H��e���r�G�n�S��:�7������{�·��0ؠ¥���VZ���†�iH��&��L�BZY����QuC4��(�R�6�v
+쾁�Ӝ������M�[����Ң8�n�%�B&���&w!��Y���)*h�؞�!ba"���Qj��#kx�l�z���F�E�jפˡ[^�?	�e������z��̒�c��9c����%b����~����m��HߊD��b[ӷ��\H���i�8l�Ǥ�(>ށĦ��_��ZcԊ���"��w���	����N"���)�2ɿ#(�Q���ޢ�y!�\lT�h��o�sA�����������]�����3S���$��I�Wb9ҵ���A��ן*ע�X�R�)"�t�o!=�T�O�B(����mZ�RP�"ta�����%Tt��t��g�B�.�ܠ��T�0��؉����Fz�UR�����d��Q-��Ll┑�B[Ԗ�Y
+P��IVj������Wd'*n5� ��m��
\ No newline at end of file
diff --git a/sounds/vm-savedto.gsm b/sounds/vm-savedto.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..00e96cae8c9e60d3994dca94010466162aa5aa7d
Binary files /dev/null and b/sounds/vm-savedto.gsm differ
diff --git a/sounds/vm-savefolder.gsm b/sounds/vm-savefolder.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..dbc9d072f0bca84337970f11d4d20950a080b66a
Binary files /dev/null and b/sounds/vm-savefolder.gsm differ
diff --git a/sounds/vm-savemessage.gsm b/sounds/vm-savemessage.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..7d06542e1e4d532fbf30c2acae5748cadfb3ee42
Binary files /dev/null and b/sounds/vm-savemessage.gsm differ
diff --git a/sounds/vm-tocancel.gsm b/sounds/vm-tocancel.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..a53289ac44b9db1ceda6bf3053390e72d523b61b
Binary files /dev/null and b/sounds/vm-tocancel.gsm differ
diff --git a/sounds/vm-toforward.gsm b/sounds/vm-toforward.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..627d52eec2990a7aa56febcc7af1c3b697dea52b
Binary files /dev/null and b/sounds/vm-toforward.gsm differ
diff --git a/sounds/vm-undelete.gsm b/sounds/vm-undelete.gsm
new file mode 100755
index 0000000000000000000000000000000000000000..7496f064722d31eebda1694dfb1f4daa249ddba9
Binary files /dev/null and b/sounds/vm-undelete.gsm differ