ftp.nice.ch/pub/next/unix/communication/newam.0.1.README

This is the README for newam.0.2.NIHS.b.tar.gz [Download] [Browse] [Up]

				Answering Machine for Zyxel modems
				==================================


History
=======

This Answering Machine based on "am.1.16" written by

		Jolly alias Patrick Stein  =  jolly@cis.uni-muenchen.de
		Tel: ++49 +89 -211 06 70          (priv) +89 -950 57 34

It was completely rewritten because it did not work in some (for me) important points.
These are:
	Zyxel voice <--> NeXT sound did not work on my Intel machine.
	UUCP did never work when the old am was running.


Following improvements were made:

o	Conversion from Zyxel voice file (*.zsnd) to NeXT sound file (*.snd) can be done to
	9600Hz, 16Bit linear, which has the best sound on my Intel machine, or optional to
	8012Hz, 8bit mulaw, which seems to be better on black hardware (no clicks).
	The second format can be obtained by using the option -c in "zsnd2snd" and "zsndplay".

o	The old voice file format ".zyxel" was modified to the new format ".zsnd", so that you can
	play now voice files delivered by ZyXEL.
	Unfortunately these both formats are incompatible.
	The following modifications are made:
	1. one byte swap in file header, bytes 11 and 12
	2. the file now has only raw data, and the reading software has to take care, that
	   the special character DLE has to be escaped (with DLE) when writing to the modem.

o	Class2 protocol implemented for receiving faxes. Code not only is more robust compared
	with ZyXEL's internal protocol 6 (which was used by the old "am"), but also there is a
	chance for an easy porting of am to a lot of other modems.

o	am can now be configured _after_ compiling using e.g. the configuration file ".am"

o	eMail service has been implemented. Incoming calls or faxes can be listened to or read in
	the mail box.

o	am and UUCP are friends now. Any software using the same port as am, and which locks the
	port, can do its work without any troubles.

o	The name of the voice or fax files have a new format. Now they can be sorted in order of
	incoming date and not in order of weekdays. Day, month and year are now part of the name.

o	In case of you took off the receiver and - what a surprise - a fax is coming, you are now
	able to make a switch to persuade the modem to take the line for handling this event.
	(This can be done either by entering "echo > /tmp/faxsignal.am" in a Terminal window or
	using my NeXT application "Dial".) After modem took the line, you MUST hang up the receiver.

o	The random generation of welcome messages has not been ported to the new version.

o	Additionally, there is a small NeXTSTEP application ("Dial") for dialing a number you coded
	in one of your "AddressBook"'s.
	Sorry for nearly no documentation or help for this application.
	And sorry also for not working properly.
	The most important thing of this application is the menu button "FaxSignal" (see above).


The following things do NOT work:

o	Incoming data calls are not handled.
		This is, because I currently don't need this feature. But it should be easy to
		implement. If someone will do it, do it, and send me the code for maintaining.

o	Only ZyXEL modem U-1496EG+ is supported.
		This is because I have only this modem. If there is someone with another modem with
		voice capabilities, port it, and send me the code for maintaining.

o	sending faxes



Installing am
=============

The am package includes
	am					- voice/fax driver
	.am					- configuration of am
	amreset				- resetting am (should not be needed)
	dial				- dialing out
	zsnd2snd			- converting ZyXEL voice to NeXT sound
	snd2zsnd			- converting NeXT sound to ZyXEL voice
	zsndplay			- plays a ZyXEL voice on the NeXT sound system
	voicemail			- makes a NeXTMail of a received voice (only used by am internally)
	faxmail				- makes a NeXTMail of a received fax (only used by am internally)
	SystemVoices		- ZyXEL voices for advanced voice features of am
	spool				- directory for incoming voices and faxes

	
We suggest to install the binaries (am, amreset, dial, zsnd2snd, snd2zsnd, zsndplay) at
"/usr/local/bin".

Then it makes sense to install .am, voicemail, faxmail, SystemVoices at "/usr/local/lib/AM"

The spool directory might reside at "/usr/spool/AM".

If your installation differs, you have to edit the script "voicemail" to set the correct path for the variable SNDCONVERT.

If you are using a black NeXT Computer, probably you want to edit "voicemail" to enable
the option -c for SNDCONVERT.

Now you probably want to edit .am to set your am configuration. The config file .am, which is part
of this package, contains all defaults, which can be overwritten.

To start am, modify your file "/private/etc/ttys". You need (assuming port b) an entry of form
	ttydfb	"/usr/local/bin/am /usr/local/lib/AM/.am"	vt100		on

Type "kill -HUP 1" at a root terminal window (or reboot) and am will start.
(You should have installed a serial driver, which supports 38400 Baud)


When using Makefile:
--------------------
	cd to /yourdir/newam-0.1 in a Terminal window
	Enter "make"
	Login as root
	Copy SystemVoices and .am to /usr/local/lib/AM
		"cp -rp lib/AM /usr/local/lib"
	Copy spool directories to /usr/spool/AM
		"cp -rp spool/AM /usr/spool"
	Enter "make install"
	Now edit /usr/local/lib/AM/.am and /private/etc/ttys
	    and perhaps /usr/local/lib/AM/voicemail


Use option -h to see, how the commands zsnd2snd, zsndplay and snd2zsnd work.



Using advanced voice features
=============================

There are two features of remote control using MFV tones.
The first one is for you (root mode):
	You can call from anywhere to your phone and enter "#4711*" to enter the root menu.
	(The root password number 4711 can be modified in the configuration file.)
	Then someone is telling you ("RootMenu.zsnd"), that you can press "#1" for listening to
	a recorded message or "#2" for archiving the recorded message, you heard last.
The second feature is for friends of you:
	They can enter "#nnnnn*" and have an ear, wether a message "nnnnn.zsnd" is left in
	FriendDir. After hearing this - or the message, that there is nothing to hear
	("NoMessageForFriend.zsnd") - , they can leave a message for you.


You can modify the SystemVoices in two ways:
1.	Use your microphone and speak text to a NeXT sound file. Then convert it to ZyXEL voice
	using "snd2zsnd" in a Terminal window.
2.	Phone yourself, speak all messages, run at home and build the voice files using "zsnd2snd",
	Sound Tools for copy, cut and paste, and "snd2zsnd".

NOTE: Delivered voices are spoken by me and my girlfriend, and ALL are spoken in german language.
      If you will modify the contents, the names of the files will lead you to the correct text
	  in your language.



Voice
=====

ZyXEL has 3 voice compression modes, called CELP, ADPCM2 and ADPCM3.
CELP is not supported by am because of unknown algorithm. ADPCM code is adopted from "am.1.16".
Voice files to play may have ADPCM2 or ADPCM3 compression. Received files are always of format
ADPCM3. If you want to change it, modify RECVCM in am.c and recompile.



Guarantee
=========

This piece of software is full of bugs, and its use may well be hazardous to your health.



Use
===

The use of this software is free for all non-commercial purposes. In case of intention of
commercial use please contact me.




September 1996

Olaf Mueller    Heinrichstr. 38    D-38106 Braunschweig
eMail: olaf@orest.escape.de        Tel/Fax: +49 531 338026

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.