Author: Marc SCHAEFER <schaefer@alphanet.ch>
Software: Minimal voicemail system (mvm) version 1.0

# DISCLAIMER
#    No warranty, either expressed or implied.
# COPYRIGHT
#    Fully protected under Berne Convention, use authorized except
#    if you make money from this use (contact me before).

1.  What is this thing, anyway ?

Hi and welcome to the minimal voicemail system. This is a shell script
and some utilities (also shell scripts) developped under Linux and
RISCos in order to run a rather simple but scalable voicemail system.

You can look in the file SPEC to see what the final goal is. This
README file is only an introduction how to set up the voicemail system
on your Linux computer (as I assume that noone else has RISCos anymore).

NOTE: I have abandonned RISCos as a development plateform. I currently
      use Linux 2.0.27.

2.  Installation

2.1 Initial setup

First, log as root and type the command
   ./setup.sh

This will create /usr/lib/mgetty and /usr/spool/voice. It will not alter
anything else on your system. The diskspace needed is less than 1
megabyte.

WARNING: if your config files are already in /usr/lib/mgetty, they
will be erased !

The installation script will ask you things to configure the
scripts. Full fonctionnality needs to to pre-install rsynth (english
text-to-speach) and mgetty.

I also expect a recent mgetty; some Linux binaries are in OLD_BIN,
use them only if you have an ISDN-capable ZyXEL 2864. You should,
however, really install a newer version yourself since I need
the pvtools there, and there might be some newer bugfixes.

This release has been tested with
   ZyXEL 2864 Elite ISDN, Linux 2.0.27, mgetty 0.99.4-nf.5

2.2 Generic vgetty/mgetty in /etc/inittab

When installed, you can launch vgetty manually or in /etc/inittab (do
not forget the /sbin/init q). Play with the arguments as you like.

s1:456:respawn:/usr/lib/mgetty/vgetty -x 10000 -s 38400 -p "(vulcan-ttyS0) login: " ttyS0

3.  Needed files

File/Directory                 Used for          Created by    Using
/usr/lib/mgetty/mgetty.config                    setup.sh      text editor
/usr/lib/mgetty/voice.conf                       setup.sh      same
/usr/lib/mgetty/vgetty                           USER          make voice
/usr/lib/mgetty/randomize                        setup.sh      gcc
/usr/lib/mgetty/say                              setup.sh      gcc (rsynth)
/usr/spool/voice               mvm               setup.sh      same
/usr/spool/voice/main/commands mvm, dynamic menu
                               system            setup.sh      same or mvm
                                                               menu editor
/usr/spool/voice/messages/*    mvm prompts       setup.sh      generate.sh
                                                               and MESSAGES
                                                               file and
                                                               rsynth and
                                                               pvftools
/usr/spool/voice/mailboxes

If you have a library of Sun AU (or au.gz) files, you can use it
when setup.sh asks for a ``random library file path''.

If you did not install rsynth, or if you did not hack it to write to a
file named tmp in the current dir, use the one in OLD_BINS. Same for
vgetty and randomize (a program which randomizes its arguments).

4.  Known bugs

say should output to stdout. Or I should upgrade my rsynth.
mvm should not run under root.

5.  How to use this.

The password for the voicemail operator (code 0) is 42, of course.
Change it :-) (vi /usr/spool/voice/mailboxes/0/.password).
And then chmod 700 /usr/spool/voice/

Then dial your number, just after the modem answers (it will NOT
play the normal modem handshake) and *before* two seconds, send
any DTMF. You should hear the welcome message. Wait til the
end of the message, and follow the directions. At the main menu,
you can use * to identify yourself (code 0, then #, then another
message, then 42, then #).

Main menu commands are described in /usr/spool/voice/main/commands.

6.  Final comments

CURRENTLY IMPLEMENTED:
   - modem/fax or voice detection (based on a human input)
     and X.75 support.
   - multiple languages support
   - user identification, new user creation, access levels,
     passwords
   - voicemailboxes for each user. Send, delete, reply functions
   - dynamic menu system.
   - tree and menu edition

CURRENTLY NOT IMPLEMENTED:
   - public messaging system
   - user edition
   - crypt() for passwords
   - reading of UNIX mail
   - sending of sounds through e-mail.













