home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Fish 2
/
goldfish_vol2_cd1.bin
/
files
/
comm
/
misc
/
avmnfax
/
avm.doc
< prev
next >
Wrap
Text File
|
1994-06-24
|
165KB
|
3,987 lines
Document AVM Release 1.33 documentation
AVM Program Documentation
~~~~~~~~~~~~~~~~~~~~~~~~~
A Program by Al Villarica 1994
Note! StandardConfig has changed!
I deleted startALL and startAVMAndGPFax. Now, the
only way to start AVM is through startAVM. You can
"configure" which programs get started by editing
StandardConfig.
LineLink users! I found another way to stop playing
a voice file immediately after a touch tone is pressed.
This new way is enabled by default. If it worked better
for you the way it was before, you will have to disable
this new feature. To disable it, run the ServerConfig
program, click on Server Config, select the Advanced
Flags group, look for the line which says UseDTMFControl,
click on that, then click on the Toggle Enable/Disable
Flag. This should cause a '#' to be placed in front
of the flag. Close the window and click on the Save
gadget. Restart AVM and things will go back to the way
they used to be. Note that you should try the new
way since the code to do it is much simpler than the
previous one and should be more robust.
There's a file called playall.rexx in the main directory.
This file is an example ARexx script which opens up a
LogView for any mailbox, selects all the contents, then plays
them out. All of this is done from the script. This means
that you can automate playing different mailboxes without the
use of the Call Notifier and without actually touching the
LogView gadgets.
If you still want to use Mostra, edit avm:rexx/efaxview.avm.
The default is to use my fax viewer.
Starting with 1.26, I am including EFax, a class 1 and class
2 fax program. EFax is Copyright 1994 by Ed Casas. It is
covered by the GNU General Public License. See file called
avm:gnu/COPYING. Therefore, with this release, you can
get fax capability with a nice user interface even if you
*don't* have a voice-capable modem. If you don't have a
voice capable modem, see the section entitled
`Faxing without a Voice Modem'. Look in avm:gnu/EFax.man
to see what fax modems are known to work with EFax.
I also include a fax2iff program (for converting
received faxes into IFF for viewing using some IFF viewer),
asc2fax for converting ascii files into fax format,
and a printer driver. fax2iff is a slightly modified
version (it reads non-raw fax files) of the executable in
ElCheapoFax. My printer driver is a modified version
of the HP Printer driver found in the RKM plus some
code found in the ElCheapoFax faxprinter driver. My printer
driver also includes the code found in the asc2fax program
of ElCheapoFax. My printer driver, since it's a derived
work of a GPL'ed program, is also covered by that
License. ElCheapoFax is Copyright (C) 1993 by Olaf
'Rhialto' Seibert.
Only the programs covered by the GNU General Public
License are "free software". I cannot and will not charge
for you to use them. Note, however, that the
GNU License allows me to accept donations for supporting this
software. Send what you like so that I will be inclined to
maintain the fax program and the corresponding fax
related programs. I would be more likely to help you if you
decide to donate :)
BTW -- the GNU programs are in avm:gnu.
I have created a fax print program that I decided to make
shareware. This print program will print faxes in the
correct aspect ratio. I tested it and it works fine on
my page printer. I am also in the process of making my
own fax viewer that will also be shareware. I can already
view large faxes using a SuperBitMap. I need to add support
for different magnifications and for viewing the fax using
less memory. Note that the AVM FaxPrint program and the
AVM FaxView program are shareware and are not under the
GNU License since I made them. The AVM FaxPrint without
the keyfile will only print the first half of a page.
Please check out avm:contrib. It contains stuff contributed
by AVM users. You may like what's in there.
Warning to GPFax users: as of this version, the default
fax program is EFax (for obvious reasons). You will need
to edit StandardConfig to change this default.
If you had versions between 1.11 and 1.15, read `New Voice Files'
thoroughly. Otherwise, you may find that AVM hangs up
on you at odd times. Basically, I had to rename
some of the voice files (aside from adding more voice files
for you to record). If AVM doesn't find the right
voice file, it will hang up on you.
If you upgraded your ZyXEL from pre-6.12 ROMS to 6.12 ROMS, read
the release notes of V1.25 in the `History' section.
Read the documentation! It is important, given the complexity
of the system. I have tried to make the documentation as
complete as possible. However, if you find something that is
out of date with the actual program, let me know so I can update
the documentation. Again, it is important that you go through
the documentation at least once. If you have some problems,
check out the section called `Common Problems' before asking
me. You may find that some of your questions have already been
asked by other people and have been solved.
If you press the "Help" key in any of the windows (except the
window that pops open if you have an unregistered version of AVM),
you will get to read this file. It is context sensitive, but not
fine grained. In other words, you will be put in the section
that talks about the particular program you pressed the "Help"
key in.
As of this version, Rockwell support is considered beta while
all other modems supported are considered to be stable.
0. Important!
-------------
0.1. UNREGISTERED version
AVM is Copyright - 1994 by Al Villarica (SoftWorx).
The UNREGISTERED version is freely distributable, as long as
it remains in the original archive as shipped by the author. You
may not sell the UNREGISTERED version for profit. Only a minimal
copying fee may be charged.
You are legally entitled to use the UNREGISTERED version for
as long as you like, as long as the programs are *not* modified in
any way. For example, you are not allowed to remove the requesters,
change any of the texts within the program, etc. You are *not*
allowed to close the "annoying" window by using any external
program. This window is meant to be a constant reminder that
you are using an UNREGISTERED version of AVM. If you find it
useful, I would really appreciate it if you would register the
program. That would be the best way to get this program to
improve. Also, please do *not* try to use an external program
to resize my "reminder". I am not responsible for any crashes due
to resizing, moving the window to another screen (it likes to stay
on the WorkBench screen), or closing the window. I myself am
using a version of the AVM server which has the annoying window.
Really! So, if I can use it, then you should be able to too. I
don't think that my registration fee is outrageous.
You may, however, modify the ARexx scripts to your heart's
content. You may *not* use these ARexx scripts or any of their
derivatives for anything but AVM. Any ARexx scripts created by
users (whether hand coded or generated by the AVM Programmer)
can be put in the public domain. In fact, I urge you to distribute
them or at least tell me about them so I may incorporate them (or
some of their features) into the following releases of AVM.
You may not use *any* of the binaries (the server, programmer,
iff2adpcm, adpcm2iff, etc.) for anything but AVM.
NOTE! I have included the Programmer, Scheduler, and
SchedulerView starting with this version. They, however,
have been disabled. You can look at the Programmer and play
around with it, but you can't save nor compile anything you
create. With the Scheduler, you can do everything with it,
but it won't wake up to process scheduled events. But, if you
want to see how it would call somebody up, you can press the
Send gadget, which manually process the currently highlighted
entry. This will at least show you that the Scheduler does
work. Maybe the inclusion of these programs (they're not
vaporware) will convince you to register this program :)
0.2. REGISTRATION
Although the UNREGISTERED version is very usable as is, you are
encouraged to register the software. At this time, there
are two levels of REGISTERED users.
You can register for the fax portion of AVM. This includes
a fax viewer and a fax printer. Note that you can view faxes
using any IFF viewer. You can also print faxes if you have an
IFF printer. The advantage of getting my versions of those
programs is that you'll get technical support from me. Plus,
the fax print program I wrote will print out short and long
faxes correctly (i.e. it won't stretch them or squash them).
My fax viewer will also have different magnifications and will
also be able to work under low memory conditions.
If you are currently registered for AVM (i.e. you already in
my database list, you can get the fax portion registered for
only US$10). I want to give those people who have already
registered a incentive to register the fax portion.
Registration entitles you to 1 year of free updates when they
become available for the programs and ARexx scripts that you
are registered for. These updates will be made available
for download in the form of patch files. I will not be sending
out update disks (although I may send out postcards to tell you
about important updates).
Registration will also get you technical support. Although I
will try to help new users in getting the UNREGISTERED version
working on their system (what good is a demo if you can't get
it working, right?), I cannot provide much more than that. I
need to concentrate on supporting those who were kind enough
to register. Of course, you can offer suggestions on how to
improve the software (and these suggestions may even show up
on later working demos of the AVM Suite). If I add those things
that you want, maybe that will encourage you to register.
Registration is transferrable. You have to inform me of the
specifics of the transfer (i.e. to whom it was transferred to).
Registration entitles you to use the AVM Suite on only one computer.
Of course, you can use as many modems on that computer as you
can possibly fit. You may need a high-performance computer to
be able to do this, though. With the best compression, the
modem to computer transfer rate is at least 9600, making it
quite unlikely that a 68000 computer will be able to handle
more than one modem at a time.
0.2.1. REGISTERED version Level 1
With this level, you will get:
o an annoying-less version of the AVM Server,
o a working AVM Scheduler for sending unattended outgoing
messages and faxes
- the Scheduler can call you up at work when somebody
"deposits" a message in your mailbox
- the Scheduler can forward faxes to another fax number
automatically
- the Scheduler allows you to "reply" to messages left
by callers
- the Scheduler allows you to "send" voice or fax
messages to people
Level 1f will additionally get you:
o a fax print program which prints faxes in the correct
aspect ratio
o a fax view program which can view long faxes and can
also view them under different magnifications
0.2.2. REGISTERED version Level 2
In addition to what you get from level 1, you will get:
o a working AVM Programmer which makes adding mailboxes and
customizing the ARexx scripts *much* easier
- Use it to add mailboxes, delete mailboxes
- Program unique voice menus
- Allow people to hear about products you are selling
- Allow people to get faxes from you about products you
are selling
- Allow people to hear music you have composed
- With the X10 interface, you can turn your appliances
on and off from the outside
- Program automated surveys or questionnaires (it can call
people up and collect responses from them).
- Program 1-900 (pay per minute) quizzes
- Anything you can do with ARexx, you can do from within
the AVM Programmer, and hence from a remote telephone
- Create a voice BBS
Level 2f will additionally get you:
o a fax print program which prints faxes in the correct
aspect ratio
o a fax view program which can view long faxes and can
also view them under different magnifications
0.3. Payment Options
Send payment to the `Author', Al Villarica. For European customers,
send payment to the `European Registration' site.
+---------------------------------------+
| Prices |
+---------------------------------------+
|Level 1 $20.00 |
|Level 1f $35.00 |
|Level 2 $35.00+ |
|Level 2f $50.00+ |
|Upgrade from 1 to 2 $20.00 |
|Registered for AVM, want fax $10.00++|
|Fax Print/Viewer/Scheduler $25.00 |
|Upgrade from 1->1f or 2->2f $20.00 |
|Shipping/Disks $ 2.50* |
+---------------------------------------+
* The shipping/disk charge is per disk. MUI takes 1 disk. AVM
now takes two. Each set of voice files takes 1 disk. If you can
download these things (or if I can email them to you), then you
don't have to pay any shipping or disk charges. Tell me which
disks you want (MUI, AVM, voice files).
+ If you would like to send *more* money than what I'm asking
for, I would appreciate it very much. I made my prices low
to get people to even think about registering. In my opinion,
you get a lot for what you pay for.
++ This is *only* available to those who registered for AVM
*before* June 14, 1994!
I will not be recording special voice files for people (unless
special arrangements are made). The voice files that I will
be sending are generic voice files for a simple answering machine.
Note that I may not have it for your specific modem or
for your specific language -- at this time, I can only guarantee
that I have voice files for ZyXELs and LineLinks in the English
language.
Some people have been able to send me cash (foreign currency is
acceptable but please be fair when calculating the exchange rate)
by wrapping it in aluminum foil. I am not sure if this is legal,
and I cannot guarantee that I will receive it. Of course, you
could send it to me "registered" so that I will have to sign for
it and you will receive notification that I signed for it.
Someone has been able to send via a postal money order from Italy.
So, I know this is also another alternative. I am not sure how much
this will cost you though. When doing this, please make sure
that the full address is shown on the money order. Otherwise,
I will have no way of knowing how to get in touch with you.
When sending in payment, please include a short note to tell me
enhancements you want me to include for future releases. Remember
that programs evolve. This is your chance to contribute to its evolution.
If you have suggestions for the program (and you don't want to
register), send in your comments anyway. Let me know why you don't
want to register (costs too much, it's missing a feature, etc.).
Here's a form you can cut out and print out (don't forget to include
the country you're in!):
Name: __________________________________________________________________
Address: _______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Country: _______________________________________________________________
Email (InterNet/Compuserve/America Online/Genie/Fido/etc): _____________
_________________________________________________________________
Telephone Number: _____________________________________________________
Fax Number: ___________________________________________________________
How would you like to receive
the key files? ( ) Email
( ) Regular mail together with AVM disk
( ) ftp site: __________________________________________
private directory: _____________________________
( ) IRC dcc
AVM: ( ) Level 1
( ) Level 1f
( ) Level 2
( ) Level 2f
( ) Upgrade from 1 to 2
( ) Upgrade from 1->1f or 2->2f
( ) I'm currently registered and want to register the fax part.
( ) Fax Print/Viewer/Scheduler (you don't have a voice-capable modem)
( ) Send AVM on 2 disks
( ) Send MUI on a disk
( ) Send voice files on disk (modem = _______, language = _______)
Computer: _____________________________________
Processor: ____________________________________
Speed (MHz): __________________________________
Memory (MB): __________________________________
Modem: ________________________________________
Serial Port: ( ) standard built in
( ) custom: ______________________
Kickstart version: ____________________________
Workbench version: ____________________________
0.4. Technical Support
You may send mail to the `Author'. I will try to answer your questions
as soon as I can. However, if you have access to a system that can
send email to an Internet site, my address is:
rvillari@cat.syr.edu
If you send email to this address and I do not respond within 1 week,
you can be sure that I did not receive your email or my reply didn't
reach you. I am usually very good about replying to email, even if you
don't ask a question. So, if you don't get any response from me, try to
find other ways of reaching me.
I am also available for questions on IRC. I hang out on the #amiga
channel and normally use "av" as my nickname. Just do a /who #amiga
and look for me. I can DCC stuff to you.
I will answer all questions and help you do some ARexx programming
if you are using a fax or data/BBS program that you want to integrate
with AVM.
You can also get some technical support by calling up my Mini BBS.
See `Getting Updates'.
Before asking me a question, *please* look for the answer here in
this document. You may find that someone asked your question
and I answered it. Look at the section `Common Problems'. Also,
it would be most helpful if, aside from telling me that AVM doesn't
work, you provide useful information. For example, I would like to
know:
o Your computer type (A1000, A2000, etc.)
o Your processor type (68000, 68020, 68030, 68040, 68060)
o Your operating system version (2.04, 2.1, 3.0, 3.1, etc.)
o Your modem type and ROM version (if you have a ZyXEL, type in
ATI1 in some terminal and tell me what it says).
o Your serial port (internal, GVP IOextender, Multiface II, Multiface III,
etc.)
o A ram:logger.save file. Run the Logger program, try to reproduce
the problem, click on the Save button in the Logger window, then
send me the file called ram:logger.save. The Logger program produces
important information about the AVM Server process which handles
the modem. It also tells me if there's a problem with one of your
ARexx scripts. In other words, the file ram:logger.save allows me
to do "remote" debugging.
o Your avm:servers.cfg file.
0.5. Getting Updates
I will try to distribute patch files on the major networks (Usenet,
FidoNet -- see `Deep Thought BBS', Fred Fish, etc.). But, you can
call up my Mini BBS by doing the following:
Use a telephone and dial my number (See `Author'). Wait for AVM
to answer. When it does, press 5 on your touch tone phone. That will
activate AXsh, a non-traditional BBS that contains AVM related files.
Instructions on how to use AXsh will be displayed when you log in.
You can call between 10am and 5pm, Eastern Standard Time (USA),
but please don't be rude: say "hello" if somebody answers. Then
kindly ask them to press 5 (silent answer is active, so it should
be possible to get the modem to answer in data mode even if somebody
answers -- neat, huh?).
NOTE: THIS IS ONLY AS A LAST RESORT! I WOULD PREFER IT IF YOU GOT
AVM EITHER THROUGH YOUR LOCAL BBS, BY EMAIL OR FTP, OR THROUGH
THE DEEP THOUGHT BBS.
Important! I'm following the Commodore way of numbering versions. This
means that AVM 1.16 would be a higher version than AVM 1.2.
0.6. European Registration
If you live in Europe, you can send your registration forms and payment
to:
Odendahl Stefan
Wickertweg 16
3902 Brig-Glis
Switzerland
He will handle any registrations you send to him. Of course, I
will still accept your registration here, but it is probably easier
to send it to him if you live in Europe.
He says he prefers Swiss Francs (CHF), but other currencies are
welcome. Again, be fair when making the conversion.
If you wish to send Swiss Francs (by any of the methods described
below), please account for the conversion from the US$ registration
fee to what you send to him in Swiss Francs. Stefan has to buy
a US$ Money Order using your Swiss Francs before he can transmit
the money to me.
If you decide to send money in any currency other than Swiss Francs,
Stefan has to first convert it into Swiss Francs *before* buying a
US$ Money Order. So, please allow for this double conversion.
In other words, he *really* prefers Swiss Francs.
If you have US$ already, it's probably better to send it directly to
me.
Please decide how to transfer the money:
o Cash (no coins)
o International postal money transfer to his "post account"
No. : 19-10974-2
Check-Office : Sitten
Country : Switzerland
o Postal money order
Checks are not accepted at this time because Stefan has determined
them to be too expensive to cash at his bank. Plus, the price
of cashing varies, so it's hard to pass the cost on to the
registering party.M
You can reach him at:
odendahl@avalon.unizh.ch or sodendah@iiic.ethz.ch (Internet email)
Stefan Odendahl (2:301/807.42) (FIDO mail address)
Odi (IRC)
0.7. Deep Thought BBS
Christian Stelter has been kind enough to carry AVM in his BBS. It is
a FidoNet node. Here's information on his BBS.
DEEP THOUGHT Bulletin Board System
InterNet: deepthought.north.de
FidoNet: 2:2426/2020.0 & 2:2426/2021.0
AmigaNet: 39:170/204.0 & 39:170/205.0
Port 1: +49-(0)441-383365, 1200-19200 bps ZyXEL
Port 2: +49-(0)441-383839, 1200-16800 bps ZyXEL
Magic for Fido File Requests: AVM (for the latest version)
: FILES (for a list of all files)
0.8. Mailing List
Christian Stelter has set up a mailing list for AVM. To join
this mailing list, send email to "listserv@deepthought.north.de".
On the first line of your email (not the Subject header), type
in:
subscribe avm
Then, when I send email to this mailing list, everyone on
the mailing list will get a copy. This is a good way for you
to find out about new releases of AVM (whether Beta or final).
Plus, I plan to distribute small fixes to ARexx scripts here
and to discuss new features and bugs.
0.9. Author
Users of ZVM, *please* note the address change!
Al Villarica
408 Arnold Ave.
Syracuse, NY 13210
USA
Fax: (315) 471-4043
Voice: (315) 471-4043
Data: (315) 471-4043
1. Introduction
---------------
What does AVM stand for? No, it's not Al's Voice Mail or something
like that. I had planned on it being Amiga Voice Mail, but decided
on Advanced Voice Mail (recommended by one of the Beta testers).
With the AVM, you can use your voice-capable modem (Zyxel, Dolphin,
or LineLink, Rockwell based voice modem) and GPFax, TrapFax, or the
included EFax to provide:
o A three-mailbox answering machine. These mailboxes currently
are named (Anonymous, Al, and Dory). You can change
their names. See instructions in the Call Notifier on how
to accomplish this.
o A simple answering machine if you don't want to have mailboxes.
In this case, only the Anonymous mailbox is active.
o The ability to archive messages and faxes that you receive so
that you can recall them later on.
o The ability to receive voice messages, faxes, and data calls
all on one line. At this time, only GPFax, TrapFax, & EFax are
supported. With some ARexx programming, other fax programs
may be substituted. At this time, only AXsh (a non-standard,
but publically available BBS) is supported for handling
data calls. All you have to do is install AXsh.
o The ability to retrieve messages from a remote site by using
the remote site's touch tone keys. Information about the
message can be played, such as the time and date of the message,
any telephone number left by the caller, or the telephone
number transmitted via the Caller-Id mechanism available
on some phone systems.
o Silent answer -- if you pick up the phone before the program
does, it will eventually pick it up and listen in on your
conversation. By pressing the appropriate keys on your touch-
tone phone, you can instruct AVM to handle the call as a fax
call or have it start recording your convesation.
o Record Conversation -- you can use this to record important
conversations. This is especially handy when dealing with
mail-order firms. But, you need to tell
the other party that the conversation lest you get accused
of having an illegal phone tap.
o Remote recording -- you can remotely record a personal greeting
for each mailbox. In addition, some of the outgoing messages
can also be recorded from another telephone.
o Pre Conversion -- with this feature, you will be able to
pre-convert voice files while your computer is not doing
anything interesting. So, when you get home, you can click
on Play to play your message, and it will be immediately
played. Otherwise, you would have to wait for the conversion
process to take place.
o Immediate playing -- if you have a fast Amiga and you use a
compression mode that can be "uncompressed" quickly, you
can play the incoming voice files directly to the Amiga sound
system. No intermediate conversion is necessary. With this
feature, you don't have to use the Pre Conversion feature
(but you still can, if you want) and you don't have to wait
forever to hear your incoming messages.
o Multiple greetings -- you can greet your callers depending on
the time of day, the day of the week, randomly, etc. Plus,
you can record these greetings remotely.
The AVM Suite is a major rewrite of ZVM, my first attempt at providing
answering machine capabilities to users of the Amiga and the Zyxel modem.
AVM now supports the LineLink 144e modem (some restrictions apply) and
the MTD Dolphin modem (a Zyxel compatible), a Rockwell chipset based
voice modem (I tested a Zoom VFDX).
The AVM Suite consists of a bunch of programs which all cooperate via
ARexx. For example, when a call comes in and someone leaves a message,
the `Call Notifier' will show that there was a new message (the Count
would increase in the appropriate mailbox). If there was a `LogView'
opened that was "viewing" the mailbox where the message was in, a new
entry would automatically be inserted into the view. In other words,
changes to the mailboxes are broadcast to all the active programs
that are viewing a particular mailbox.
The AVM Suite uses the server model. Each modem that you want the AVM
Suite to handle incoming calls for, needs to have a server process (`AVM')
running for it. The AVM server knows how many rings to wait for before
answering a ringing line. When it gets the desired number of rings, it
dispatches an ARexx script on itself to handle the call. I designed this
server to be able to run autonomously. Therefore, it is possible to have
the AVM server running to handle all calls and not have the `Call Notifier'
or the `ServerMan' running. This will definitely conserve memory, but at
a small cost. The AVM server will not know if there are any messages being
"watched", so it will not be able to support the "Toll Saver" option.
And, you will have no real way of knowing whether there were messages left
on your computer, since that was the whole purpose of the `Call Notifier'.
But, as I said, if you can do without those two features, you can get away
with running just the AVM server. Do this in low memory situations.
2. Requirements
---------------
o AmigaDOS 2.04 or greater
o MUI 1.4 or greater (someone tested it with MUI 2.0 and it works).
o a Zyxel, a LineLink 144e, a MTD Dolphin modem, or a Rockwell
chipset based voice-capable modem.
o ARexx - this is included with AmigaDOS 2.04 and up, but it may not
actually be running on your system. Look in the startup-sequence
or the user-startup for a line containing "rexxmast" to be sure.
Alternatively, type in the following into a shell:
rx "say hello world"
If it prints HELLO WORLD in the shell, ARexx is running.
o a hard disk to store voice messages
o 1 meg of RAM (the more, the merrier)
o an accelerated Amiga is desirable, but is not really a requirement
o speakers hooked up to your Amiga would be nice
o a sound digitizer would also be nice (you don't need one since
you can record messages using the phone line)
o a fast serial port is also desirable, but not a requirement.
I have been told that AVM does work with the IOExtender,
the Multiface II card, and the Multiface III card.
o when using the AVM programmer, you need to be using at least a
640x400 screen (because of the size of the windows).
o GPFax or TrapFax are alternative fax programs that you can use
with AVM. AVM now includes EFax. It's really easy to send
and receive faxes with AVM using EFax.
3. Setting up
-------------
0. If you have a Rockwell based modem, connect your telephone to
the back of the modem.
Otherwise, you will need to connect your telephone to some sort
of splitter. The telephone should be connected in *parallel*
with the modem. It should not be connected to the back of the
modem! Another possibility is to hook it up to an extension
in your house.
1. Install MUI 1.4 or greater and ensure that it works by trying
out one of the MUI demos. If you cannot get one of the demos
working, you can be sure that AVM won't work either.
NOTE: Instructions 2 through 8 can be skipped if you double-click
on the avm-install icon, which takes care of these steps for you.
This assumes that you already unarchived the avm1.33.lha archive
in some temporary directory. It will copy the necessary files
from that temporary directory to the final directory and add the
necessary ASSIGNS to your user-startup file. You will also be able
to choose what type of modem you have, what type of digitizer,
and the method by which you want to be informed of new calls.
2. Create a directory in which you want the AVM Suite to reside. Use
the Workbench for this.
a. Find a place to put the AVM Suite on the Workbench.
b. Press the right-mouse-button, select the Window menu, then
select the "New Drawer" option. You will then be prompted
for a drawer name. Enter "AVMSuite" (without the
quotation marks) in that requester.
OR, if you prefer using the Shell,
makedir work:AVMSuite
copy work:empty.info work:AVMSuite.info
Note that if you use these "Shell" instructions, you will need
to go to the workbench afterwards, move the AVMSuite icon to
a new location, and use the Snapshot menu item in the Icons
menu of the workbench.
3. Unarchive the AVM archive while you are in the directory you
just created.
cd work:AVMSuite
lha x ram:avm1.33.lha
4. Edit s:user-startup and add the following lines (but change the
directory name if you put AVM in some place other than
work:AVMSuite).
assign avm: work:AVMSuite
assign avmtemp: t:
assign avmrexx: avm:rexx
assign faxout: avm:outgoing/voices
assign faxtemp: t:
5. Open up the AVMSuite drawer from the WorkBench.
6. Make a directory called "voices" in the AVMSuite drawer.
From the CLI, just do a:
makedir work:AVMSuite/voices
7. Open up the DefaultIcons drawer in the AVMSuite drawer.
If you have a Rockwell based mode, double-click on the
"useRockwell" icon.
If you have a LineLink144e modem, double-click on the
"useLineLink144e" icon.
If you have a Dolphin modem, double-click on the
"useDolphin" icon.
If you have a ZyXEL, first find out what ROM version you
have by typing in "ATI1" in a terminal program (like
Terminus, JR-Comm, vt10029b, ATalk III, etc.). Then find
the icon entitled "useZyXEL????" where the "????" are
replaced by the ROM version that you have on your modem.
If you have a ROM version that does not have an icon,
find an icon which is closest to your ROM version.
Complete these instructions and then test things out.
If you find that it doesn't work, double-click on another
icon and try it out. If none of the icons work, contact me.
If you have a class 1 fax modem, double click on the
useClass1 icon. If you have a class 2 fax modem, double
click on the useClass2 icon. Only use these if your
modem really doesn't do voice. If it does and is not
compatible with AVM, contact the author.
Next, you need to tell AVM what kind of sound digitizer you
have. If you don't have one, then these instructions
do not apply to you. If you have a Perfect Sound digitizer,
double click on the "usePerfectSound" icon. Otherwise, double
click on the "useGenericDigitizer" icon.
Finally, you need to tell AVM how you want to be informed
of new messages. If you want to be informed of messages via
the AmigaDOS "say" command (AmigaDOS 3.0 and up users should check if
they have this command), double click on the "useSayAlert" icon.
If you want to be informed of messages via the Amiga's
power LED (it will flash the number of messages on the
power LED -- this may look like a Guru and scare you :),
double click on the "useFlashAlert" icon. If you want to be
informed by a prerecorded message (it plays an IFF file
called avm:have1message or avm:havemessages), click on the
"useSayPreRecAlert" icon. If you *don't* want
to be informed of new messages, follow instructions for
the `Call Notifier' on how to "unwatch" mailboxes.
8. Execute the script called "avm:renamevoicefiles". I sometimes
rename voice files. For instance, in going from V1.15 or
earlier to V1.17, I renamed stuff like one, two, etc. to
number1, number2, etc. to facilitate in sorting
stuff in the Player program.
Execute the script called "avm:deletevfiles". This will delete
all the obsolete voice files. Note that it won't delete voice files
that are still usable. Only the minimal number of voice files will
be deleted.
9. If your modem is not connected to serial.device unit 0, see
`Ports Setup' for instructions on how to change the serial
device and/or the unit number.
10. If you want to use the included EFax, just double click on
the startAVM icon!
For GPFax to run with AVM, you need to make sure that in the
Environment window, the Shared flag is set.
Also, edit the Answer.gpf script and remove the lines which have
'viewlast' in them (the last two ones in the version I have).
If you have a ZyXEL modem, the Modem Init string should be:
AATE0V1X4&K3&C1&D2S0=0
If you have a LineLink modem, the Modem Init string should be:
AATE0V1X4&K3&C1&D2&R0S0=0
If you have any other modem, try the one for the ZyXEL modem
first. Then try the one for the LineLink modem.
NOTE: GPFax shouldn't be running before you start AVM.
If you have TrapFax, just double click on the "startAVM" icon
to get things running. You must also use OwnDevUnit.library.
11. Run the Player program. This will allow you to record each of
the required messages. See the instructions for `Player' on how
to accomplish this.
If you download the optional voice files (I am distributing them
in a separate archive since many people may want to record their
own voice. However, some people may not have the time to fully
customize AVM with their voice.), you will need to look at the
instructions that come with the voice files.
I would like people to make a standard set of voice messages for
different languages and put them in the public domain. Here's
the naming convention I would like to keep (so people don't have
to download lots of stuff before finding out what's in it).
The .lha file should start with AVMV followed by a three
letter specifier for the language used in the voice files, then the
version number of AVM that it works with. Voice files should
be distributed as IFF files recorded at 9600 samples per second
or greater. The program iff2adpcm is now capable of resampling
IFF voice files to the required sampling rate required by
the different modems/compressions.
AVMVEng1.19.lha (English, 9600 samples per sec., avm1.19)
AVMVFre1.19.lha (French, 9600 samples per sec., avm1.19)
AVMVGer1.19.lha (German, 9600 samples per sec., avm1.19)
If you're running AVM as a simple answering machine and you get
pre-recorded voice files, the only messages you need to "customize"
are "intro1", "intro2", "intro3", and "MailboxGreeting". The
"intro" files are played first (depending on the time of day,
one of the intro files will be played). After the "intro" files
are played, the caller is put into the "Anonymous" mailbox,
which plays "MailboxGreeting", at which point the caller can
send a fax or wait for the beep to leave a message. It is
entirely up to you on what message you want to tell him. Maybe
you could say something like "Hi, this is Al's answering
machine. Press 2 to send a fax or wait for the beep and leave
your message. When you're done leaving your message, press 1.".
If you are running AVM as the three mailbox system, you need
to reccord the file called "level0". This file instructs a
caller on who they may leave messages or faxes for. Unless
your names happen to be Al and Dory, you will need to re-record
this message :) Also, you really should record the messages
described in the paragraph before this.
12. Test things out. Pick up your phone, wait a few minutes until
the phone company gives up and makes your phone line go silent,
then click on Answer Voice in the ServerMan program. This will
instruct AVM to pick up the phone and process it as though
you got a call. Try leaving a message. Then wait for AVM to
hang up. Then click on Answer Voice again and try to retrieve
your message using the touch tone keys.
NOTE: On some phone systems, this will not work. It depends
on the phone company.
13. To run AVM automatically when your computer reboots or is powered
on, you can drag and drop the startAVM icon into your
WBStartup drawer.
14. The file called StandardConfig in the AVMSuite directory should
be edited to your preferences. In particular, when you first install
AVM, it defaults to acting like a simple answering machine. If you
want to try out the multi-mailbox system, you will need to edit this
file. There are also other parameters in this file that you can
change to alter the way AVM and its ARexx scripts work. See
`Configuring with RXSET or SETENV' to see what the different
lines in this file means. NOTE! You will need to quit all the
AVM programs and restart AVM using startAVM in order for your
new configuration to take effect.
4. Modem Limitations
---------------------
Although AVM was designed to handle multiple modems, it does not
currently handle multiple types of modems at the same time. In other
words, you cannot have two different modem with different types on two
different serial ports. You can, however, have two different modems
on two different serial ports if they are of the same type.
I will fix this limitation in a future version of AVM. The rest of
this chapter describes the individual limitations for each modem
type.
If I have an encoder for the modem/compression you are using,
then you can use the pre-recorded voice files. Otherwise, you
pretty much have to record the voice files yourself.
4.1. ZyXEL
o If you have an E+ or greater, you can use the CELP compression.
However, there is no CELP decoder/encoder, which means that
you cannot play out these voice files through the Amiga's
sound system.
o If you have a lower ROM version than 6.10a, you should not use
ADPCM3. If you have 6.10a or greater, you can use ADPCM3SYNC
compression. I have personally tried using ADPCM3SYNC and
found that there are still problems with the ZyXEL decoder
losing sync. This means that you will occasionally hear
scratchy noises. Theoretically, with ADPCM3SYNC, if the ZyXEL
decoder loses sync, it should be resynced after 50 milliseconds.
I do not have an encoder for ADPCM2SYNC or ADPCM3SYNC.
4.2. Dolphin
o As far as I know, the only available compression mode is ADPCM2.
4.3. LineLink 14.4e
o The LineLink can use a compression called SPC. But, the decoder
I wrote for it is not in tip-top shape. Try it to see if you like
it. Be aware, however, that SPC uses more serial bandwidth and
more diskspace. It is, however, fast to decode.
I do not have an encoder for SPC.
o The LineLink cannot detect a calling fax automatically. You will
need to tell your fax callers that they need to follow instructions
on how to activate your fax.
I have implemented something that may enable you to receive faxes
automatically. This only works when you use the two-mailbox
system I developed. Normally, when a caller calls, he is instructed
to press 1 to start the mailbox system. If he doesn't press 1, the
default goes into a mailbox called "anonymous". See `Answer Priority'
to change this default to go into fax mode or data mode.
4.4. Rockwell
o The Rockwell chipset supports ADPCM2, ADPCM3, and ADPCM4. I
am currently limiting AVM to using ADPCM2. There are some
complications in using ADPCM3 and ADPCM4.
o I don't have an encoder/decoder for any of the compressions
used by Rockwell based modems. This means that you cannot
play them to the Amiga or convert IFF files to a voice file.
I hope to find some source code to alleviate this problem.
Fortunately, you can play to the Internal Speaker and it will
also play to the telephone plugged into the back of the modem.
5. Common Buttons and Options
------------------------------
This chapter describes the buttons and options common to most of
the programs in the AVM Suite. This allows me to be lazy.
5.1. Play
Click on this button to play the selected voice file through the
device in `Play to'. You can stop the playing of a message by clicking
on the `Stop' button.
5.2. Record
Click on this button to record the selected voice file through the
device in `Record from'. Again, click on the `Stop' button to stop
the recording process.
After clicking on the record button, watch the modem lights and
wait for the RXD (on the Zyxels) or the IO (on the LineLinks) before
speaking. Depending on the speed of your computer, there could
be a slight delay before the modem actually starts recording. This
is because I need to send commands to the modem to actually start
recording.
5.3. Stop
This stops recording, playing, or any conversion process.
5.4. Play to
There are several options that you can choose from. Some of these
options are not available for some of the modems.
5.4.1. Amiga
This option is available only if I have a decoder for the compression
you choose for the voice file. This option will first convert
the voice file into an IFF file (avmtemp:temp.iff) and then play
it using "DSound". Note that I cache the last played file so that you
can keep playing it without going through the conversion process.
The ARexx script activated by this option is playamiga.avm. You can
modify this script if you would like to use a different player.
5.4.2. TelephoneLine
This option allows you to play voice files through the telephone line.
To use this option, you should first remove the dial tone. You can do
this by pressing a few touch tone keys. Or, you can pick up the phone
and wait for the telephone company to give up on you. <<need to check
if it plays even if you disconnect the phone line from the modem>>
5.4.3. InternalSpeaker
This will play voice files through the modem's internal speaker. The
LineLink doesn't support this.
5.4.4. LocalHandset
This only works with Rockwell based modems so far.
This plays to the telephone hooked up to the back of the modem.
5.4.5. IFF
This will actually perform a conversion from the voice file to an
iff file. This option is only valid if there is a decoder available
for the compression scheme that you used. In this version, the
output IFF file is avmtemp:save.iff. A future version will allow you
to pick the name of the IFF file.
5.4.5. AmigaDirect
This option plays voice files while it is decoding them. This results
in a small delay from the time you press play to the time it actually
plays (unlike the `Amiga' option, which converts the whole voice file
first). Note that you can only use this option if you have a fast
Amiga. It works on my A3000/25. Try it out on your system to see if
it's fast enough. If it is, you'll like this option.
5.5. Record from
As with `Play to', there are several options to choose from. Again,
some of these options may not be available for some modem types.
5.5.1. Amiga (Record)
This option will activate the rexx script recordamiga.avm. This
script calls AGMSRecordSoundPS3. It will call AGMSRecordSound (a
version that works with most generic digitizers) if you instruct
it to (by double-clicking on the useGenericDigitizer icon).
It calls the digitizing software in such a way that the output is
avmtemp:temp.iff. This IFF file is then converted into the
appropriate voice file by a converter.
5.5.2. TelephoneLine (Record)
This allows you to record your messages using the telephone line.
The only way to get this to work is to pick up the phone and get
rid of that dial tone somehow. As with `Play to', you can do this
by entering a few touch tone keys. Unfortunately, on some systems,
after a while, you'll get the annoying phone company message to
put down the phone. You could wait this out until the phone company
gives you just silence.
What I do is to wait for this silence and record all the messages
I need to in one session.
5.5.3. ExternalMic
This option only works with the ZyXEL modem and the Rockwell based
modem.
5.5.3.1. Rockwell (ExternalMic)
Some Rockwell based modems have a jack which allows you to plug
an external microphone in. Use this option to record using that.
5.5.3.2. ZyXEL (ExternalMic)
Warning, DO NOT use this option if the modem is still plugged into
the phone line.
To record with this option, disconnect the modem from the phone line,
plug in the handset (some telephones have a handset which plugs
into the actual phone) into the "line" jack of the modem, and speak
into the ear part of the handset (not where you usually talk into).
The reason you should not plug the modem into the phone line when
using this option is that the modem amplifies the signal. If the
modem is plugged into the telephone line, the line signal would be
amplified and could destroy your modem's internal circuitry.
5.5.4. LocalHandset (Record)
This only works with Rockwell based modems so far.
This option lets you record from the telephone plugged into the
back of the modem. This works rather nicely. You don't have
to kill any dial tones or anything. You can just start recording.
5.5.5. IFF (Record)
This is similar to the Amiga option, except it doesn't actually call
the digitizing software. It assumes that the software placed the
IFF file in avmtemp:save.iff. A future version will
give you a requester to choose the IFF file you want to convert
into a voice file.
5.6. Server
This is the name of the server that will be played to or recorded
from. To change this, click on the popup gadget beside the name
of the field. The compression mode that the server is using
is displayed beside the name of the server.
5.7. Quit
Hmmm...I wonder what this is for :)
6. Player
---------
This program allows you to record/play all of the required
outgoing messages.
6.1. Configure the player
Specifically, make sure the `Play to', the `Record from' and the
`Server' options are what you want them to be.
6.2. Record your outgoing messages
Go through each entry that has a "No" in the "Rec?" column and
`Record' a message for it. What you have to say in that entry would
be displayed in the "What you should say" box. After recording,
you should `Play' the message to make sure it's correct.
Try to stop recording by using the `Stop' button as soon as you finish
talking. AVM "glues" voice messages together for certain things.
For example, when playing the date of a message, it "glues" the
Month voice file with the appropriate number voice files to produce
the date. On slow machines, you may actually need to stop recording
before finishing speaking because there is a slight delay between the
time that you press the stop button and the recording actually stops.
7. ServerMan
-------------
ServerMan shows you all the servers active in a listview. It shows you
the name of the server and its status. If you have several modems
and serial ports, these would appear in the listview.
You can select a server by clicking on the appropriate item in the
listview. After selecting an item, there are several things you
can do to it.
There is a cycle gadget just below the listview. This cycle gadget
allows you to see some of the buttons while hiding others. This
is intended to make this program less cluttered by presenting you
with buttons that you will most commonly use and hiding buttons
which you would normally not use.
7.1. Answer Voice
This makes the server answer the phone as though the appropriate number
of rings was seen by the modem. In other words, the ARexx script
in `Voice Call default', `Voice Call Ring 1', `Voice Call Ring 2', ...
is called. If no RING was seen or an unqualified RING was seen, the
default ARexx script is called. If a RING which was qualified (RING 1,
RING 2, ...) was seen, the appropriate Voice Call n script would be
called.
7.2. Answer Fax
This makes the server answer the phone as though a fax had been detected.
The ARexx script in `Fax Call' gets called. This defaults to
handlefax.avm
7.3. Record Conversation
This feature is really useful for getting evidence against mail-order
companies :) Unfortunately, in the US, you are required by law to
tell the party that the call is being recorded. Nevertheless, it'll
at least keep them honest.
7.4. Answer Data
This button is similar to the `Answer Fax' button. The only difference
is that it calls the ARexx script in `Data Call'.
7.5. Abort Action
This button aborts any actions that may be active in the currently
selected server. This is a useful button especially when a call comes
in and AVM answers the phone. You can make AVM shut up by clicking
on this button. This button sends a general abort to the server.
This general abort message would even abort an action started by
a different program. For example, if you're playing/recording a voice
file through the `Player', you can abort it either with the Player's
Abort button or with this button.
7.6. Close Serial
Instructs the server to close the serial port. This really shouldn't
be necessary since the AVM Server supports the sharing of the serial
port. It is better to just put the AVM Server in `Unlisten' mode.
In addition to supporting the sharing of serial port, the AVM Server,
with the appropriate option in the `Server Config' program set,
also supports the OwnDevUnit protocol for sharing the serial port.
7.7. Open Serial
This opens the serial port. Sometimes, when AVM starts up, it can't
open the serial port because another program was using it in an
unfriendly way. This is a good way to open the serial port in such
cases (but you need to first kill the program that was unfriendly).
7.8. Unlisten
This button makes AVM not listen to the serial port. It doesn't
cause AVM to close the serial port. It just aborts any pending
reads that AVM may have. This allows other programs to open up
the serial port, change serial port parameters, etc.
7.9. Listen
This button reverses the action of the `Unlisten' button.
7.10. Use Fax
This calls the script avmrexx:usefax.avm. At this time, it is configured
to make AVM unlisten and GPFax to listen to the serial port.
7.11. Unuse Fax
This calls the script avmrexx:unusefax.avm. This currently makes
GPFax unlisten and AVM listen.
7.12. Use Data
This calls the script avmrexx:usedata.avm. This currently makes
AVM unlisten.
7.13. Unuse Data
This calls the script avmrexx:unusedata.avm. This currently makes
AVM listen.
7.14. Start Server
If the currently selected server isn't active, this button activates
it. This button, together with the `Kill Server' button is
needed if you change the server parameters in `Server Config'. A
future version of AVM may instruct the servers to use any new
parameters that may be set.
7.15. Kill Server
This issues a quit message to the appropriate server. You can quit
the server when it is waiting for a RING, has closed its serial
port, or is in unlisten mode. You cannot kill a server if it is
doing something else (like answering a call, playing a voice file,
etc.).
7.16. Quit All (ServerMan)
This quits ServerMan and kills any active servers which are
not doing anything useful. It also kills all the AVM programs
such as any active LogViews, Schedulers, SchedulerViews, etc.
8. Call Notifier
-----------------
This program is basically a flat view of all the mailboxes. It shows
you all the mailboxes, the number of messages in those mailboxes, and
whether you wanted to be informed that there were new messages or not
for a particular mailbox.
Basically, if there is a * in the Watch field of the mailbox entry,
then the program will tell you that there are new messages. It does
this via the alertmessages.avm ARexx script. The default action
to inform you of messages is to "say" something. If you don't like
this behaviour, you can either "unwatch" all the mailboxes, change
the actions within alertmessages.avm, or delete the script altogether.
There is a cycle gadget just below the listview. If you click on this
cycle gadget, you will gain access to some of the buttons. Normally,
the cycle gadget should read "Mailbox Controls". The buttons when
this cycle gadget is on the default are buttons which you normally use.
However, there are circumstances when you want to access the other buttons
(for example, you may wish to change the names of the mailboxes). In that
case, click on this gadget to access the "Configure" buttons.
8.1. Open Mailbox
Depending on the mailbox type, it could open a `LogView' or
a `Scheduler' window for the mailbox that was selected.
8.2. Config Mailbox
This opens a `Mailbox Config' window for the selected mailbox.
8.3. Add Mailbox
This pops up a requester wherein you can type a new mailbox name.
The program then creates the appropriate directories and default
config files for that mailbox. For the unregistered version, this
is pretty useless since you cannot add mailboxes to the
Answer Voice scripts.
8.4. Delete Mailbox
This deletes the mailbox. Only user-created mailboxes can be deleted.
Some of the mailboxes (anonymous, outgoing, outgoingarchive, etc.)
are locked and cannot be deleted. They are required for the correct
operation of AVM.
8.5. Watch Mailbox
This is a toggle function. This causes the mailbox to be watched
by the Call Notifier program. If there are any messages in any of the
"watched" mailboxes, the Call Notifier will inform you.
8.6. Rescan All Mailboxes
This button goes through each mailbox and counts the number of
messages in each mailbox.
This button isn't really needed. Normally, when a new message is
added to a mailbox, this fact is broadcast to all interested parties.
This includes the Call Notifier program.
This button is here just in case the Call Notifier somehow missed
a broadcast (this should never happen, though) from the AVM Server
that a new message has arrived in a particular mailbox.
8.7. Save (CallNotifier)
This button saves the Watch configuration. You can temporarily
unwatch a particular mailbox. But, when you quit the program or
reset the machine, the old Watch configuration will come back up.
8.8. Shut Up
This check gadget shuts the Call Notifier up. If you get annoyed with
it telling you that you have messages, enable this check gadget. The
Call Notifier will disable this gadget if one of the "watched"
mailboxes gets a new entry. The Call Notifier enables this gadget
if you Open any of the watched mailboxes.
8.9. Real Name
When you select a mailbox, its name will appear in a string gadget.
When you edit this string gadget, the name will be modified. You will
then have to save the new configuration if you want to keep that new
name the next time you start up the Call Notifier.
9. LogView
-----------
This program shows you all the messages for a particular mailbox.
It provides you with information on each message such as the Time/Date
the message came in, its type (Voice, Fax, Unknown), and its length
in seconds.
When you select a particular message in the listview, additional
information is displayed. This includes a Comment,
CID Name, CID Number, and Return Number.
You can multi-select things too by dragging the mouse or using the
keyboard.
9.1. Comment
For faxes, this field tells you how many pages the fax had. This
field is user-modifiable. You can archive a message and type
in a comment in this field so that you know what the message contained
without having to listen to the message again.
9.2. Name
This field displays the CID Name, if there was one.
9.3. Number
This field displays the CID Number, again, if there was one.
9.4. Return Number
If the caler enters a telephone number via the "poor man's
caller id" feature, it will be displayed here.
9.5. Play or View
You can select a message and hit this button to get it played
or viewed, if it's a Voice or Fax type. Alternatively, you can
just double-click on the listview entry.
If the entry is a fax, GPFax or TrapFax will display the fax.
9.6. Reply
This creates a log entry in the `Scheduler' and opens a
`SchedulerView' for it.
9.7. Archive
This puts the message or fax in the Archive mailbox. If you are
already viewing the Archive mailbox, then this button doesn't do
anything.
9.8. Delete
This deletes the log entry and the voice or fax files associated.
At this time, this action is a bit slow. The reason for this is that
this button activates an ARexx script which actually deletes the
log entry and its associated voice or fax files. It deletes those
files using the Shell's Delete program. To speed up this action,
you can make the Delete program resident.
9.9. Send
This creates a new entry to be scheduled. It sets it up so that
the originating mailbox is the mailbox that you are currently
viewing.
9.9. Save Log
If you have changed anything in a particular log entry that you
want to save, click on this button. For example, if you changed
the comment of a log entry, you need to click on this to get it
saved. You don't need to use this option if you are archiving
the log entry (that automatically saves the entry before sending
it off to the archive mailbox).
9.10. Choose Mailbox
At the top of the window is the name of the mailbox being viewed. You
can change the mailbox being viewed by typing it in, or by clicking
on the "select" popup gadget to the right of the field. Then, double
click on the name of the mailbox you want to view (in the listview that
pops up).
9.11. Stop All
Click on this if you want to stop multiple-plays. If you press Stop,
you will just stop the file being played. If there are still
files left to play, they will be played. If you press this button,
however, the file being played will be stopped and any files left
to play will be skipped.
9.12. Print Fax
This will print out a fax. Make sure the faxprinter driver isn't
active or it will print a fax into another fax!
10. Mailbox Config
------------------
This program allows you to configure the options that the mailbox
may have. If you don't have a scheduler, some of these options
are pretty useless. The only thing of interest to UNREGISTERED
users would be the `Password'. This is what you need to type
in to gain access to the maintenance mode.
Several of the Auto Options have "On Demand" fields. If you type
in numbers here, that means that the mailbox caller can only activate
that option if he/she knows your On Demand password.
10.1. Password
This is the password necessary to get you into maintenance mode.
From maintenance mode, you can also retrieve your messages,
record a personal message, change the password, etc. All of this
can be done remotely.
10.2. Forward Faxes
When this option is enabled, any new faxes are automatically forwarded
to the number in the Tel. # field.
The default script should be DEFAULTSENDER.
10.3. Call Sysop
When new messages are received and you have the Scheduler, AVM will
call you up at a particular telephone number.
The default script should be DEFAULTSENDER.
If the Announce Tel. # checkbox is enabled, then the Tel. # will
be announced to the caller right after the Personal message is
played and before the Instructions on how to leave a message
is played (MailboxGreeting). The caller will be instructed to
press 3 to hear the telephone number again. If he doesn't, then
he can still leave his message and AVM will take care of calling
the mailbox owner.
10.5. Call Pager
If you have a pager, this option will let AVM call your pager when
a new fax or message arrives at your mailbox.
The Script field contains the name of the ARexx script that is called
to accomplish this paging mechanism. At this time, the only
script you can use is DEFAULTSENDER.
10.6. Alert Sysop
When a caller enters a mailbox, the Amiga will inform the "sysop" that
a mailbox was entered. This is useful if you only want to pick up
the phone when a certain mailbox was accessed.
With the On Demand option enabled, the Amiga will not alert you
when the mailbox is accessed unless the caller leaves a message and
actually chooses the "Alert" option. If the On Demand option is
disabled, the Alert mechanism is activated once the caller enters
a mailbox.
The Script filed contains the name of the ARexx script that is called
to accomplish the alerting mechanism.
The Default Script should be ALERTSYSOP. This script just plays
an iff file called "pickup.iff", which is located in the mailbox
you are configuring. For example, if you are configuring the
Anonymous mailbox, you should put have an iff file called
"avm:anonymous/pickup.iff".
10.7. Save
This saves your options.
10.8. Cancel
This cancels everything.
11. Server Config
-----------------
The Server Config program allows you to create new servers, or configure
the currently available servers.
11.1. Server Config (Button)
This button opens up a window which has a bunch of options which you may
set for the currently selected server. At the top of the Server Setup window
is a cycle gadget. By selecting an item in the cycle gadget, the gadgets
presented to you below change.
11.1.1. Ports Setup
11.1.1.2. ARexx Port Name
This is the name of the ARexx port of the server. You should not include any
spaces in the name.
11.1.1.3. Serial Port
This is the device name of the port that the modem is hooked up to.
11.1.1.4. Unit Number
This is the unit number of the port that the modem is hooked up to.
11.1.2. Scripts setup
This set of gadgets allows you to change the names of the scripts that
are called when certain events occur.
11.1.2.1. Voice Call default
This is the name of the ARexx script that gets called when the server
is instructed to pick up the line and no ring was received or an unqualified
RING was received (unqualified RING == Type 1 distinctive ring).
To enable distinctive ring or CID, look at the section entitled
`Caller ID and Distinctive Ring'.
Note that it is possible to use the distinctive ring feature even though
your modem doesn't support it. Results vary with modems. If the modem
eats the rings if they don't occur 4 seconds apart, then you're out of
luck. If the modem reports double rings or triple rings within a span
of 2 seconds, then AVM will be able to detect the distinctive ring.
You can only use this feature *if* `Rings with messages' is greater
than 1.
If you have distinctive ring set up, you can put "answerfax", "answerdata",
or "answervoice" in any of the Voice Call scripts. So, if somebody
calls a number causing a short-short distinctive ring to occur and you
put "answerfax" in the `Voice Call Ring 1' field, then he will always
receive a fax tone.
11.1.2.2. Fax Call
This is the ARexx script that gets called to handle a fax call. The
default should be "handlefax".
11.1.2.3. Data Call
This is the ARexx script that gets called to handle a data call.
The default should be "handledata".
11.1.2.4. Silent Answer
This is the ARexx script that gets called if the phone stops ringing
before reaching the number of rings required for AVM to pick up the line *and*
the number of rings received is greater than or equal to the number in
`Silent Answer rings'.
11.1.2.5. Record Conversation (Script)
Script to handle recording a conversation.
11.1.2.6. Voice Call Ring 1
Script called when the modem receives a type 2 ring.
11.1.2.7. Voice Call Ring 2
Script called when the modem receives a type 3 ring.
11.1.2.8. Voice Call Ring 3
Script called when the modem receives a type 4 ring.
11.1.2.9. Voice Call Ring 4
This is currently not used.
11.1.2.10. Ring Script
This script gets called right after the modem receives a ring from
the modem.
This script gets called with the variables "RINGS", "DISTINCTIVERING",
"CIDNAME", and "CIDNUMBER" set. If you type in "AlertRing" into this
field, the file "avmrexx:alertring.avm" gets run on each ring (except
the last ring before AVM decides to answer the phone). At this time,
"AlertRing" uses DSound to play an IFF file called "avm:ring.iff".
Note that it only plays the ring between the hours of 9am and 11pm.
This is what I currently use so that people can call up my system
late at night to log onto my system. This way, I don't hear the rings
at all.
Another use of this Ring Script is to announce the name of the caller
or his telephone number. This script gets called with CIDNAME and
CIDNUMBER for this purpose. The type of distinctive ring is placed
in the variable DISTINCTIVERING. The number of rings received so
far is placed in the variable RINGS.
Yet another use of this script is to log information to some file
(or another program) that a call was received at a certain time.
This is useful if you just want to know if your phone rang while
you were out.
11.1.3. Rings setup
11.1.3.1. Rings with messages
This is the number of rings required to be seen by AVM before picking up
the phone *when* there are messages in any of the "watched" mailboxes. This
feature only works if the `Call Notifier' program is active.
11.1.3.2. Rings without messages
This is the number of rings required to be seen by AVM before picking up
the phone when there are no messages in any of the "watched" mailboxes.
11.1.3.3. Silent Answer rings
If the phone stops ringing before AVM answers the phone and the number
of rings seen is greater than or equal to this value, then the Silent Answer
feature is activated.
11.1.4. Voice parms setup
11.1.4.1. Modem Type
There are three types of modems that are supported. This option selects
one of the three (ZyXEL, Dolphin, LineLink, NoVoice). People without
a voice capable mode who want to use EFax should select NoVoice.
11.1.4.2. Setup String
This is the string (usually an AT command) that is sent to the modem
prior to entering voice mode. This is usually AT&F or ATZ to reset
the modem. You can also use this setup string to enable distinctive
ring or CID options (see your modem's manual on how to accomplish that).
11.1.4.2. Voice Setup String
This is the string that is sent to the modem after entering voice mode.
You can use this string to add or modify voice parameters that were
not handled by the program. For example, you can use this string to
adjust the voice recording gain of the LineLink modem (use AT#VG=x,
where x is the gain. 119 is the default value).
11.1.4.3. Max rec len (secs)
This is the maximum number of seconds that a recording is allowed to
be. This timeout is there because sometimes, the modem doesn't detect
hangups correctly. Without this timeout, you could easily fill up
your hard disk.
11.1.4.4. Silence Interval
This is the number 10ths of seconds of silence required before the modem
reports to AVM that it has heard silence. The default value is 70, which
translates to 7 seconds.
11.1.4.5. Silence threshold
This is an adjustable parameter for telling the modem what to treat as
silence. Note that the LineLink modem has two settings only (16 or 17).
11.1.4.6. Compression
Your modem compresses voice data to reduce the amount of storage needed
for the resulting voice files. Some compressions are better than others.
ZyXEL modem users should choose between ADPCM2, ADPCM3, CELP, ADPCM2SYNC,
or ADPCM3SYNC. Note that ADPCM3 doesn't work for me. ADPCM3SYNC is supposed
to work, but it has the same symptoms as ADPCM3 (scratchy noise).
CELP only works for E+ or greater modems.
MTD Dolphin users have only one compression, MTDADPCM2.
LineLink users have only one compression available, LLCVSD7200.
People without a voice-capable modem who want to use EFax should
select NOVOICE.
11.1.4.7. Ringback
Ring goes away and ring never appears.
These two parameters are for dial-out only. They tell the modem
how long to wait for the ring signal to go away or how long to wait
if it doesn't ring. When calling out, the modem listens for ringing.
If it doeesn't receive a ring before the Ringback Never Appears timer
goes off, it will assume that the called party picked up the phone.
On the other hand, if it got a ring, it will keep listening for rings.
If it doesn't hear a ring before the timer goes off, it will assume
that the called party picked up the phone.
Both parameters are in 10ths of seconds.
11.1.4.8. AVMTemp for Record
Certain computer setups cannot handle receiving serial data and
writing to the hard disk at the same time (you tend to lose characters
or get serial port errors). If this is the case, or if you want to
avoid writing to the hard disk in small increments, select this option.
This will write the voice file to AVMTemp: (which is usually RAM: )
first. When the recording is done, it is transferred to the hard disk.
11.1.4.9. AVMTemp for Play
Certain setups cannot handle reading from the hard disk and writing
to the serial port. Check this option if you have trouble playing
voice files directly from the hard drive.
11.1.4.10. Use OwnDevUnit
This instructs the AVM Server to use OwnDevUnit. This allows AVM to
coexist with other programs that use this form of serial port locking
mechanism.
11.1.4.11. Tone Dial
This is the method to be used when dialing (enable this gadget for touch
tone or disable it for pulse) a number.
11.1.4.12. Max Wait For Answer
This is the number of seconds AVM will wait for the phone being dialed
to be picked up.
11.1.5. Fax parms setup
11.1.5.1. Fax ID
This is where you should enter your telephone number.
11.1.5.2. Modem Init String
This is the string that is sent to the modem right before starting
up fax mode. You really shouldn't change this unless the default
setting doesn't work for you.
11.1.5.3. FaxModem Type
This is the type of fax modem that you have. Select Class 2 if
your modem supports that protocol. Otherwise, select Class 1.
11.1.5.4. Reverse TX Bit Order
Click on this if you want to reverse the transmitted data bit
order. Don't play with this unless you know what you're doing.
11.1.5.5. Reverse RX Bit Order
Click on this if you want to reverse the received data bit
order. Don't play with this unless you know what you're doing.
11.1.5.6. Start RX with XON
Check your modem manual to see if a DC1 (XON) or a DC2 is required
to start receiving data. Again, don't play with this unless you
know what you're doing.
11.1.5.7. Command Pause
This is the number of tenths of seconds that EFax will pause
before sending another AT command.
11.1.5.8. Max Page Errors
This is the number of errors that would have to be received before
EFax will ask for a retransmission.
11.1.5.9. Debug Verbosity
Don't play with this.
11.1.5.10. Fax Capability
The second value tells how fast your fax modem is. Set it to 5
if you have a 14.4K fax capable modem. Otherwise, set it to 3.
Don't touch the other values.
11.1.5.11. Fax Hardware Handshaking
This is the handshaking between the fax modem and your computer.
Aside from enabling or disabling this switch, you should also
include the necessary command in the Modem Init String to
enable the handshaking that your modem requires.
11.1.5.12. Inits
These are commands that will be sent to your modem before
the modem is told to answer or dial.
11.1.5.13. Resets
These are commands that will be sent to your modem after
receiving or transmitting a fax.
11.1.6. Advanced Flags
These flags help to configure the AVM Server. You really shouldn't have
to touch these flags. Contact me if you are considering changing any
of the default settings. ***they are set to the proper values***
11.1.6.1. Enable or Disable Flag
This enables or disables a particular flag. If a "#" symbol precedes
the name of the flag, it is disabled.
11.1.6.2. Add Flag
Allows you to add a flag of your own. You really shouldn't have to
do this.
11.1.6.3. Delete Flag
Allows you to delete one of the flags.
11.2. Add Server
Allows you to add a new server. As mentioned before, you cannot mix two
different kinds of modems on the same system. This is because it is quite
complicated to have two sets of voice files for each modem type. Plus, if
someone leaves a message using one modem, you will not be able to retrieve
the message from the other modem. Until I figure a nice way of doing this,
the restriction stays.
11.3. Delete Server
Deletes one of the servers.
11.4. Save (Server Config)
Saves the configuration of the servers. If you change any of the parameters,
you should click on this gadget to save the changes. Then, you will need
to kill the server if it is active (use `Kill Server') and restart it
(use `Start Server').
12. Logger
-----------
The logger is a program which prints useful debugging information
from the servers and from the ARexx scripts that are run to control
the servers. It is really not too useful if AVM works for you. In
fact, you should, in general, not run the Logger as it slows down
the system since it prints a *lot* of debugging information.
12.1. Save (Logger)
The "logger" automatically writes to a file called "ram:logger.save"
after every 200 lines of debugging information that it receives. If you
wish to manually save what is in the buffer, click on this gadget.
Every time the buffer is saved (it is appended to the above-mentioned
file), the listview is cleared.
13. Scheduler
-------------
This program shows you all the outgoing entries for a particular
mailbox. Currently, AVM only works with one outgoing mailbox (called
'Outgoing'). It provides you with information on each outgoing
message such as the Time/Date when the message is supposed to go out,
the number of retries left before the scheduler starts ignoring this
entry, its originating mailbox (who created this entry), the telephone
number the message is going to, and the type of message (voice or fax).
The AVM Scheduler wakes up every minute to process any entries in the
listview. The listview is sorted so that the message that will go out
next is at the top. The Next Event field tells you if and when a next
event will go out. Note that it is entirely possible to have many entries
in the outgoing mailbox but not have anything ready to be scheduled.
This could happen if all the entries have 0 Retries left.
13.1. Edit
This opens up a `SchedulerView' to edit the currently highlighted entry
in the listview. You can also double-click on the entry to open up
this SchedulerView.
13.2. Archive (Scheduler)
This archives an entry. The log and its associated files are moved to
the OutgoingArchive directory.
13.3. Create Entry
This creates a new entry to be scheduled. The originating mailbox is
"anonymous" if you use this method to create a new entry to be sent.
A `SchedulerView' is also opened up to edit the new entry.
13.4. Delete (Scheduler)
This deletes the entry in the mailbox.
13.5. Enable Scheduler
Normally, you leave this check gadget on. If you disable it, the
scheduler will not process outgoing events. This is useful if you
don't want the scheduler to suddenly pick up the phone and start
dialing when you are using the phone.
13.6. Send (Scheduler)
Press this button to manually send a message or fax. You need to first
highlight the message or fax that you want to send. This is useful
if you want to test the Scheduler or if you scheduled a fax for a later
time but wanted to give it a shot now.
13.7. Send Manual (Scheduler)
Press this button to manually send a message or fax. The difference
between this and the button described above is that this one will
not cause the modem to actually dial a number. This is useful if you
want to dial the number manually first, then click on this to start
processing. Note that I cannot guarantee that this will work with
any other fax program other than EFax.
14. SchedulerView
-----------------
The SchedulerView allows you to edit an entry that you want to be
sent out. At the top of the window is the name of the mailbox that
the entry was in. Currently, AVM works with only one outgoing mailbox,
called "Outgoing". Below the name of the mailbox is the actual
name of the entry. This probably isn't very useful to you, but is there
for your information only.
There is a cycle gadget which allows you to view other control buttons
that are less frequently used (to avoid user interface clutter).
14.1. Time
This is the time that the message is to be delivered. You can
adjust this time using the buttons to the right of this field.
+m/-m increment or decrement the minutes, +h/-h increment or
decrement the hours, and +d/-d increment or decrement the days.
14.2. Telephone
This is the telephone number that the message is to be delivered
to.
14.3. Comment (SchedulerView)
This is a user-specifiable comment. Type anything into this to
describe the entry.
14.4. Retries
This is the number of retries to do to send this message out.
14.5. Interval
This is the number of minutes to wait before we try again (assuming
there are Retries left).
14.6. Filename
This is the name of the file to send out. At the beginning, this
field contains a unique filename that you can record into without
thinking twice about overwriting some other file. Its type is
set to Voice. Beside the string gadget is a button that,
when you click on it, will allow you to choose another file. You
can use this if you want to send a fax rather than a voice message.
You could either type in the filename of the fax file directly or use
the filechooser button. If you type in a filename, be sure to
press <return>. When you do, I will check the file's type and
adjust the cycle button to the left to reflect the file's type.
Note that if the file doesn't exist, then I assume it's a voice
file that you will record.
Beside this button is a cycle gadget which tells the Scheduler
what type of file is being sent. If you are sending a fax,
select Fax. Otherwise, select Voice. You probably don't have
to use this gadget much since I detect the file type automatically.
14.7. Play or View (SchedulerView)
Same as in LogView
14.8. CID Name and CID Number
These are just the fields copied over if you were replying or
forwarding to some message which had these fields set.
14.9. Originating Mailbox
This is the name of the mailbox that the outgoing message
originated from. A remote caller can only view outgoing messages
from the Anonymous mailbox and his own mailbox.
14.10. ARexx Send Function
This is usually DefaultSender, which knows how to send voice
and fax files. Fax files are sent through GPFax or TrapFax.
When a message is sent using DefaultSender, the called party
can either acknowledge the receipt of the message (by pressing *),
or can access the `Originating Mailbox' (by pressing 9 and entering
a password), play the message agin (by pressing 1) or can simply
hang up. DefaultSender can be used to call people who don't
have touch tone phones since the message will be repeated up to
three times even though nobody pressed a key.
14.11. Introduction File
Choosing Default will play the default file, which is located
in the originating mailbox's Voices directory. In other words,
if the originating mailbox is "anonymous", Default would play
the voice file "avm:anonymous/voices/Introduction" when a voice
message is sent. If you choose Personalize, then the introduction
message that will be sent will be "local" to the outgoing
message.
Note that at this time, the Introduction is only played when sending
an outgoing voice file. If you send a fax, the Introduction is
not played.
14.12. Play Intro
Plays the introductory voice file.
14.13. Record Intro
Records the introductory voice file.
14.14. Print Fax (SchedulerView)
This will print out a fax. Make sure the faxprinter driver isn't
active or it will print a fax into another fax!
15. AVM
-------
AVM is the server that runs in the background. It has no user interface
and can only be run from the CLI. When `ServerMan' starts, it runs
all the servers it knows about.
If you wish to run the AVM server manually, its CLI template is:
avm servername/a
where servername is the ARexx port name you gave it using the `Server Config'
program. Remember that you should probably use the "run" command when
running the AVM server manually, as in:
run >nil: <nil: avm Server.lin
The only way to tell that the AVM server is running is through
the `ServerMan' program.
16. VoiceMail Instructions
--------------------------
This chapter describes the "user interface" presented to a caller
of this system. I will not document everything that you can do,
but will try to give you a general idea of what AVM is capable
of. Hopefully, the voice prompts are friendly enough that you
can figure out stuff for yourself.
16.1. Fax and Data tones
At any time, when AVM is recording, playing a message, or
waiting for the remote caller to press some telephone key,
if a fax tone is received, then the fax program is automatically
started. If a data tone is received (some newer modems emit
modem calling tones), the data program (BBS) is started. At
this time, the only fax program that is supported is GPFax and
TrapFax and the only BBS supported is AXsh. I think it should
be easy to support other types of BBSes, but would require more
thought to support other FAX programs. avmrexx:startbbs.avm is the
script that actually runs AXsh. Note that certain modems
cannot detect Fax tones or Data tones. So, what I just described
may not be true for your setup.
16.2. Standard User Interface
I tried to make the menu system as standard as possible. Pressing the
'*' symbol at any menu should hang up the system. This is good to know
because you may be late in getting to the phone. Pressing '#' usually
brings you back to the previous menu. Pressing '0' usually replays
the menu's voice prompt.
16.3. Remote Caller
When somebody calls, an initial greeting is played over the telephone
line to the caller. This varies depending on whether you have set
AVM up for TIMEOFDAY, RANDOM, etc. (see `Introduction Messages')
If you configured AVM to run in multi-mailbox mode, the caller
is then instructed to press 1 to start voicemail (at this time,
he can also press 2 to send a fax or 5 to start a BBS). If he
does not press any key in the time allowed, then the caller is
either placed in the Anonymous mailbox (where he can record
a message), or AVM can start Fax or Data mode. See the section
`Answer Priority'.
If you decided to use AVM as a simple answering machine, then
AVM will automatically put you into the Anonymous mailbox
after the initial greeting. Note that you can still press
2 to start the Fax program or 5 to start the BBS program
even while AVM is playing the instructions on how what
to do ("...wait for the beep, leave your message...").
When entering a mailbox, the first thing that is played is
the mailbox's Personal message. You can record this personal
message remotely or using the Player program. To record it
remotely, you first need to get into maintenance mode and choose
"Record a Personal Message". If you want to record it using
the Player, you need to run the Player, then type in
avm:anonymous/voices/Personal
into the string gadget below the listview containing a list
of filenames. Note that you need to replace "anonymous"
be the directory name of the mailbox (i.e. mailbox1, mailbox2,
etc.) if you want to record personal messages for mailboxes
other than the Anonymous mailbox.
After the personal message is played, then the telephone
number of the mailbox owner is played (assuming you set
the Announce flag in the MailboxConfig program for this
mailbox *and* there is a telephone number to announce).
After the telephone number is announced, then the instructions
for leaving a message ("...wait for the beep, leave your
message...") are played. Then, a beep is played (or a user
defined voice file containing some form of beep), then
AVM starts recording. If the caller presses 1 during any of
the messages described above, he will be taken directly to
the beep, where he can leave a message. This is useful for
people who already know how to use your system and want to
skip all those messages.
After the caller leaves a message, he can press 1. This will get him
into another menu which allows him to leave another message (in case
he got cut off because he exceeded the timeout for recording), leave
his telephone number, send a fax, get into data mode, start
maintenance mode, etc.
To get into maintenance mode, you need to first access a particular
mailbox. Then press 9 while it's playing the Personal message,
the mailbox owner's telephone number, or the instructions for
how to leave a message. You can also enter maintenance mode
after recording a message.
17. Configuring with RXSET or SETENV
------------------------------------
You can configure this voicemail system to a certain extent. Look in the
file "avm:StandardConfig". This file contains default values
for all of the "environment" settings you can adjust. Note that
"avm:StandardConfig" is executed by startAVM. These "environment"
settings are described in this section.
17.1. Introduction Messages
When AVM answers the phone, it plays 1 of 7 files (these files are called
avm:voices/intro1, avm:voices/intro2, etc.), depending on certain
options you set. You can choose any of the seven files to be played,
or you can have one played for each day of the week, or you can have
one played depending on the time of day (morning, afternoon, evening),
or you can have it pick one at random.
To play a particular file (choose 1 to 7), you would do the following:
rxset AVMIntroductionType 1
To play something based on the day of the week (1=Monday, 2=Tuesday, etc.)
rxset AVMIntroduction DAYOFWEEK
To play something based on the time of day (1=morning, 2=afternoon, 3=evening)
rxset AVMIntroduction TIMEOFDAY
To play one of the seven files randomly
rxset AVMIntroduction RANDOM
17.2. Time Format
You can control what is said when playing a time.
rxset AVMTimeFormat "%hours12 %minutes %pm"
The line above will cause AVM to play the hours (1-12), followed by
the minutes, then am or pm, depending on whether it's before 12pm
or after 12pm respectively.
To play the time in 24 hour format,
rxset AVMTimeFormat "%hours24 %minutes"
will do it. You can play any voice file in between any of the time
specifications by typing a filename (its full path). For example,
rxset AVMTimeFormat "avm:voices/TheTimeIs %hours12 %minutes %pm"
will cause AVM to play the message in avm:voices/TheTimeIs, then
the time in the 12 hour format.
Note that the voice files should not have any spaces in their names.
17.3. Date Format
You can control the order and voicefiles that are played when playing
a date. To do this, do a:
rxset AVMDateFormat "%month %day"
This will play the month first, followed by the day of the month. If you
want to play a particular voice file anywhere in between, you only have
to specify the name of the filename in the AVMDateFormat string.
For example, you can do this:
rxset AVMDateFormat "avm:voices/TheDateIs %month %day"
This will play the file in avm:voices/TheDateIs, followed by the month,
then by the day of the month. Note that the voice files should not
have any spaces in their names.
17.4. Simple or MultiMailbox
You can make this system be a simple answering machine, where the caller
will not have to press any keys to get to leave a message. To do a simple
answering machine, do the following before running any of the programs in
the AVM Suite.
rxset AVMSimpleAnsweringMachine YES
To use the two mailbox system, do the following:
rxset AVMSimpleAnsweringMachine NO
Note that the default is to use a simple answering machine.
17.5. Playing Numbers
Normally, AVM concatenates two numbers when it plays a 2 digit number.
This reduces disk storage in having to store the all the possible
numbers. However, I have been told that the concatenation is language
specific. So, you have the option of recording all 59 numbers (I can
only play 0 through 59 at this time). To tell AVM to use the
non-concatenating method, you do:
rxset AVMDirectDDNumber YES
To use the concatenating method, you do:
rxset AVMDirectDDNumber NO
17.6. Time and Date Specification
LogView, Scheduler, and SchedulerView all show times and dates. You can
change the format of the time and date that is displayed. To do this,
you need to set an environment variable called AVMTIMEDATEFORMAT.
Be careful with this!
In the environment variable, special character sequences get replaced by
the appropriate time or date information. See below for an example:
%a = abbreviated weekday name
%A = full weekday name
%b = abbreviated month name
%B = full month name
%c = locale's appropriate date and time representation
%d = day of month (1-31)
%H = hour (00-23) in 24 hour clock
%I = hour (00-12) in 12 hour clock
%j = the day of the year (001-366)
%m = month (01-12)
%M = minute (00-59)
%p = equivalent of AM & PM
%S = second (00-61)
%U = week number of year (00-53) (the first sunday as the first day of week 1)
%w = weekday (0-6)
%W = week number of year (00-53) (the first monday as the first day of week 1)
%x = locale's appropriate date representation
%X = locale's appropriate time representation
%y = year without century (00-99)
%Y = the year with the century
%Z = time zone name or abbreviation
%% = percent sign
setenv AVMTIMEDATEFORMAT "%H:%M %b %d"
If you don't set AVMTIMEDATEFORMAT, the default is "%H:%M %b %d", which
would display something like "15:59 Dec 5".
17.7. Scaling output
I added a new environment variable called AVMSCALEADJUST for decoding.
If you set AVMSCALEADJUST to 128 (via a setenv AVMSCALEADJUST 128 in the CLI),
it will not scale the output. Anything higher will result in a multiplication
by the scale factor and divided by the base 128. So, to double the output,
you set AVMSCALEADJUST to 256. To halve it, you set it to 64.
17.8. Answer Priority
When AVM is setup as a multi-mailbox machine (not a simple answering machine),
you have a choice of what to do if the person calling doesn't press 1 to start
voicemail. Normally, you would put him automatically into the anonymous
mailbox. However, some people would rather put the caller into fax mode
or data mode. This is useful especially if your modem doesn't support
fax CNG detection (which simply means that the modem can't detect the special
tone that a fax normally emits when it is sending). If you would like to
automatically receive faxes, then you will set the answer priority to fax.
So, if your caller doesn't press 1, he will get a fax tone.
To set fax priority, you would do:
rxset AVMAnswerPriority FAX
For data priority, you would do:
rxset AVMAnswerPriority DATA
And for voice priority (the default), you would do:
rxset AVMAnswerPriority VOICE
Edit avm:standardconfig to change the default permanently.
17.9. ADPCM2IFF Converter
The ADPCM2IFF converter (actually, this converter handles all of the
compressions) can now use a double rate version of the CVSD to IFF
converter that is more accurate. To do this,
setenv AVMDOUBLERATE YES
The default for this option is NO.
Note that this option produces IFF files that are twice as big as
normal.
17.10. Pre-Converting
When someone calls and leaves a message, AVM can be instructed to
preconvert the voice file into an IFF file. So, when you get home,
and your press the play button, you will immediately hear the voice
message. This is useful if AmigaDirect doesn't work for you (either
because the decompression routines are too slow or because you have
an unaccelerated Amiga). By default, the pre-convert feature is
turned off. To turn it on, you do a:
rxset AVMPreConvert YES
The default for this option is NO.
Note that the ADPCM2IFF program will be run without a GUI when
preconverting files. It will also be run at a lower priority
(specified by the AVMADPCM2IFFPRI environment variable).
17.11. Priorities
You can set the priorities of some of the AVM programs by using
the setenv command. To set the priority of the AVM Player, the
environment variable is called "AVMPLAYERPRI". For the AVM ServerMan,
the environment variable is "AVMSERVERMANPRI". For the actual AVM
servers, the environment variable is "AVMSERVERPRI".
setenv AVMPLAYERPRI 0
setenv AVMSERVERPRI 0
setenv AVMSERVERMANPRI 0
setenv AVMADPCM2IFFPRI -5
17.12. Playing while converting
You can preview a voice file (if you have a slow amiga and don't
use the PreConvert feature or the AmigaDirect feature) by:
rxset AVMPlayWhileConverting YES
The default is NO.
17.13. Old ZyXEL Conversion
If you have pre-6.10 ZyXEL roms, you should set this to YES.
setenv AVMOLDZYXEL YES
The default is NO.
17.14. User Beep
You can replace the beep that is played right before AVM
starts recording a new message into a mailbox. You can use
this feature to get fancy -- for example, you can tell your
caller to leave a message after the explosion. When using
this feature, make sure there is as little silence as possible
at the end of the beep voice file (since the caller may start
speaking right after the voice file gets played). You do
not want him to start speaking when you're still playing
the voice file -- he won't get recorded.
The file that gets played instead of a beep is
avm:voices/userbeep. You can use the AVM Player to
record your user-defined beep.
To enable this feature, do a:
rxset AVMUserBeep YES
The default is NO.
17.15. Fax Program
You can tell AVM what fax program you are using. Currently,
I only support GPFax and TrapFax.
rxset AVMFaxProgram GPFax
or
rxset AVMFaxProgram TrapFax
or
rxset AVMFaxProgram EFax
EFax is the default.
17.16. Data After Silence
When a mailbox is entered and a voice file is recorded, if no one
speaks, then the modem returns with a 'Silence' result. This is
different from 'Quiet', which means that someone spoke and then kept
quiet. Anyway, if 'Silence' is returned, then you could start
the BBS. To do this,
rxset AVMDataAfterSilence YES
The default is YES.
17.17. Monitor with Speaker
This only works on Rockwell based modems.
This turns on the speaker when a call is handled. This allows you
to hear what is going on when somebody is calling up your system.
18. History
-----------
V1.0
o first MUI release to Beta testers (not much feedback due to
difficulty in installing)
V1.1
o commands sent to the modem are not paired anymore (AT+VRA=5 +VRN=6)
o made easier to install
o added some icons
o added lots more flags to control the AVM server
o By default, we now wait for rings in Voice mode. So, the only command
we need to send to the modem when it rings is a "pick up the line"
command. This reduced the chance of getting mixed up when another RING
came in while sending the modem setup strings. It also made the
answering of the phone much quicker.
V1.2
o added more icons
o added icon for avm.doc
o should now work with the GVP IO Extender (change in AVM server)
V1.3
AVM Server
o added `Ring Script'
o added unsizeable window for the AVM Server (unregistered version)
Server Config
o added `Ring Script'
V1.4
LogView
o fixed problem in LogView of not being able to edit any of the string
gadgets
AVM Server
o added another flag in voice.c for Dolphin modem (NeedsATHToHangup).
Hopefully, that will solve the problem of not hanging up.
ARexx scripts
o Fax mode is now available as an option right at the beginning.
Press 2 to send a fax, 5 for data mode.
o Data mode is now available from the mailboxes (5=data) and from the
intro to the mailboxes (5=data).
Config files
o Added s48.1=1 to the setupstringav. This makes sure that when we
are doing an ATA from within Data mode, the modem doesn't try to
receive a fax if the modem failed a handshake.
o Added flag "NeedsATHToHangup" to Dolphin advanced flags.
Scripts
o I moved the all the files which begin with "use" to the directory called
DefaultScripts. These script files are necessary only if you want to
change the configuration of AVM. Note that these scripts were originally
written to help make AVM easier to install. Once I wrote the Installer
script, these scripts no longer became necessary. But, they may serve
some purpose, so they are still included with the release.
V1.5
Server Config
o Made recording length 1000 secs. max
Programmer
o Made recording length 1000 secs. max
AVM Server
o Changed "No Name" and "No Number" to blanks.
V1.6
AVM Server
o Fixed bug when you closed the serial port and then killed the server.
o Status now shows 0 rings, 1 ring, 2 rings, etc. No more (s).
o Added DIAL arexx (it doesn't seem to work too well for the ZyXELs.
These modems don't seem to pay attention at all to the VRN and VRA
parameters -- at least that's as of 6.11 -- I haven't checked if
6.11a is any better).
Server Config
o Added checkbox for Dial Tone (vs. pulse)
o Added maximum time to wait for a VCON after dialing a number
ServerMan
o Made it less cluttered (by grouping hardly used buttons and hiding
them)
All MUI Binaries
o Will now say why the application could not be created (ran out of memory,
program already running, etc.).
ARexx Scripts
o Made a simpleanswervoice.avm which acts like a simple answering machine.
But, you can still enter data mode, fax mode, etc. It puts messages into
the anonymous mailbox. To use this new script, just use the ServerConfig
program to use "simpleanswervoice" instead of the usual "answervoice".
V1.7
ARexx Scripts
o Added an experimental secretary.avm (and callup.avm) to repeatedly dial
out until connected. To use it, you need to say something like:
"rx avm:rexx/callup.avm 4714043". "callup.avm" looks for the server
in "player.cfg", then calls "usebracket.avm" with the server, which
eventually sets things up properly and calls "secretary.avm".
o Fixed abort.avm since it didn't properly terminate AGMSRecordSound
o Modified abort.avm to work with AmigaDirect
o Modified play.avm to work with AmigaDirect
o Added ARexx script called playamigadirect.avm to call adpcm2iff with
correct arguments to make it play to the audio device.
o Modified alertmessagessay.avm so that it doesn't speak if the CLIP
'AVMBusy' is greater than 0.
o Modified usebracket.avm to set 'AVMBusy' to 1 higher than its current
value. This prevents alertmessagesay.avm from speaking while the AVM
Server is playing with the modem.
o Modified playamiga.avm and playamigadirect.avm to set 'AVMBusy' to 1
higher than its current value. This prevents "speaking" while we're
playing messages through the Amiga speaker.
o Added 7 introductions
o Added recording of 7 introduction or choosing which method of
playing the introductions
o Added AVMIntroductionType
o Added selection of simple answering machine or 2 mailbox system
o Added AVMDateFormat and AVMTimeFormat
o Added AVMDirectDDNumber, which allows you to record all 59 numbers
o Added accessing of anonymous messages when in your own mailbox
o Says how many messages in your mailbox and in the anonymous mailbox
when you enter maintenance mode.
o Added AVMSimpleAnsweringMachine
AVM Programmer
o Added Dial node
o Added Delay node
AVM Player
o Added a way of specifying a filename to be recorded or played
AVM Server
o Added Delay rexx command (this delay is breakable by sending the
server an abort message)
o Changed DialNumber() so that it sends an A instead of an AT when
aborting the dial command (or timing out before somebody answers).
o Added ABORT to the list of messages that the server listens to in
"use" mode. This ensures that if the server receives an ABORT message,
it will go back to "unused" mode. Then, any ARexx script should
automatically abort because any new commands it sends to the server
will get replied with 20 as an error code. If I find a bug related
to aborting, I should probably do an "assume(UnknownMode)" when we
get this abort message. We should look for all "assumes" in the
ARexx scripts to make sure they are safe with our modified way of
aborting. This modified way of aborting will ensure that abort
messages are not lost.
Call Notifier
o Added shut up button.
Iff2Adpcm
o Made increment of gauge smaller and more consistent
o Fixed bug when called from the CLI with invalid arguments. It used
to crash.
o Can stop conversion by sending an abort message to the program's ARexx
port or by clicking on the close gadget.
Adpcm2Iff
o Made increment of gauge smaller and more consistent
o Fixed bug when called from the CLI with invalid arguments. It used
to crash.
o Added the ability to play directly to the audio device while converting.
This speeds up things dramatically and can handle very large voice files.
Thanks to the author of VoiXEL for giving me the idea that it was
possible :)
o Can stop conversion/playing by sending an abort message to the
program's ARexx port or by clicking on the close gadget.
General Binaries
o Changed localtime to gmtime. This removes the need to look at the TZ
environment variable. This means that it shouldn't matter what timezone
you're in to get the time right.
o Added environment variable AVMTIMEDATEFORMAT
V1.8
ARexx Scripts
o Fixed aaprocessmailbox to include exposing of datascript if data mode
activated.
o Fixed stdfax and stddata to call answerfax and answerdata respectively,
in case datascript and faxscript don't get propagated through. This is
basically a problem of not being able to declare strictly global variables.
I did a setclip in answervoice.avmsrc and did a getclip when we're about
to receive a fax or data connection.
o Standardized the messages to be recorded.
o Fixed a bug that would cause problems while retrieving messages
remotely.
o Made the default length of recording for Record Conversation 500 seconds.
o Fixed answervoice in that, if there are no introductory files, it's ok.
This allows us to not have any introductory files at all.
o Fixed stdfax and stddata to give voice instructions before starting up
BBS or fax reception. If those voice instruction files don't exist,
it's ok. They're not required.
AVM Programmer
o Made strings larger (especially for the comment in playnode and
presentmenunode). Also made string larger for actions (useful when
you want to do an ARexx action.
AVM Server
o Zeroed ringCount after detecting a signal (OwnDevUnit or ARexx) and
did a showRingNameNumber. This is so that, if you manually click on
any button (abort, answervoice, answerfax, answerdata, etc.), the
AVM Server won't eventually do a Silent Answer.
V1.9
ARexx Scripts
o Fixed stdtail (stdfax) to put stuff in the anonymous mailbox.
o Fixed record.avm (bug in loadiff). Changed loadiff to load from
the file 'save.iff'
o Fixed abort.avm. When recording with the external mic option, abort.avm
used to not send the abort correctly. It does now. Of course, the AVM
Player sends an abort message correctly now too, so this probably won't
ever get called again (at least by any of the programs that use playercfg.h).
o Made beep in processmailbox longer (so it can be heard). Also lengthened
beeps when recording messages and when playing them back for retrieval.
o Shortened a lot of the scripts by being smarter with what gets included.
o Added AVMAnswerPriority for those people who want to receive faxes auto.
but their modems don't support it.
AVM Server
o Decided to make the AVM Server more resilient to changes in ROMS. When
a new DLE escape sequence is introduced (and the modem sends it to us),
we don't automatically quit recording or playing. Instead, we continue.
o Fixed dial number. Now doesn't wait for a really long time if the
modem returns something (BUSY, etc.).
o Fixed problem with recording short files using LineLink modem. I forgot
to flush my mini-buffer :)
o Made LineLink modems respond really fast (when someone presses a key,
it will stop playing the voice file almost immediately). This is quite
nice.
o Fixed problem with recording that caused an "echo" :) LineLink modems
affected
o Just changed the task priority to be user-settable by using setenv.
(AVMSERVERPRI)
o Fixed problem of receiving DLE sequences while playing a voice. This
used to stop the server and return immediately. Now, it only does that
if it is a key, busy, fax, data, timedout, user abort, or error.
AVM Player
o Clicking on Abort is now much faster
o I couldn't make the time delay between clicking on record and the
modem actually recording shorter because I still had to negotiate for
using the server and stuff like that. Plus, depending on the modem
and rom settings, I may have to send between 1 and 5 commands to the
modem before it actually starts recording. So, the best way to tell
when to start speaking is to watch the blinking lights :)
o Just changed the task priority to be user-settable by using
setenv. (AVMPLAYERPRI)
o Fixed Abort problem with the external mic option
AVM ServerMan
o Made the task priority user-settable by using setenv. (AVMSERVERMANPRI)
AVM ServerConfig
o Added SPC9600 and SPC8000. The decoder is much faster. I don't have
a very good encoder though, which means that you're pretty much
limited to recording your samples using the telephone line option.
Note that this compression mode will use the serial port a lot more.
So, try it out on your machine. If you get serial port errors,
then don't use this. The major advantage is that it's easier to
decode and can be played using AmigaDirect with a lesser
CPU. BTW -- this is for the LineLink modem.
ADPCM2IFF
o Sped up CVSD to IFF. This still is not fast enough on my 030/25
though, to play direct to the amiga speakers. But it's very close.
You will hear a very small pause because the conversion didn't catch
up to the playing.
o Added a new environment variable called AVMSCALEADJUST for CVSD
decoding. If you set AVMSCALEADJUST to -1 (via a setenv
AVMSCALEADJUST -1 in the CLI), it will double the translated output.
If you set it to -2, it will quadruple the output. I think -1 and
-2 are the only sane inputs here (and 0, of course).
AVM Logger
o Environment variable AVMLOGFILE can point to a different file where
the logger can save the output.
Misc
o It is now possible to display status information (ARexx scripts need
to be modified to do this) in the Player and anything that uses
playercfg.h.
V1.10
ARexx scripts
o Fixed playtime to play the correct time now.
o Fixed playamigadirect to use the new calling format for adpcm2iff
o Fixed stdfax and stddata so that you can press * to abort them (when
they are playing instructions on how to start the fax or how to start
the terminal).
o Fixed abort.avm so that it can abort a conversion in progress
o Fixed playamiga.avm so that if a conversion is aborted, it will not play.
Also, added an option to cause adpcm2iff to play the voice file while
it is converting it.
o Added a check in playamiga.avm to see if the filename to be played
has been pre-converted to an iff file already (the filename plus an 'i'
exists). In this case, it will play that file instead of converting.
o Added a new ARexx environment setting so that it pre-converts
ADPCM2IFF
o Made it possible to both play and save to a file at the same time. This
may not work on your system (too slow?), but is good way to "preview"
the voice file so you don't have to convert the whole thing.
o Added some parameters to make a GUI not show up (but this makes it not
abortable at all). This also puts it in the background. This will
eventually be used to pre-convert incoming voice files into IFF.
o Added the slow, more accurate method of converting CVSD voice files to
IFF. This is significantly slower, but comes out with nicer sounding files.
Programmer
o Made the windows a lot smaller. It still needs at least a 640x400 screen
though.
ServerConfig
o Made windows smaller
MailboxConfig
o Made windows smaller
o Removed auto inform
o Changed the names of the options to make them more intuitive (hopefully)
o Made all of the "automatic" things have scripts that you can change
o Now, only valid characters are allowed in some of the string fields.
For example, you cannot enter a space anymore into the password field.
CallNotifier
o Made windows smaller
o Hid some of the buttons (that should not be used often)
o Made it possible to give "aliases" for each of the mailboxes. These
aliases can now have spaces in them (the names of the mailbox
directories still cannot).
LogView
o Made windows smaller
o Rearranged some of the buttons.
V1.11
ARexx Scripts
o Fixed processmailbox so that recording of intro messages goes into the
correct directory.
o Added a new way of alerting you that there are messages. It will now
play an iff file called "avm:have1message.iff" or "avm:havemessages.iff".
AVM Server
o Added two flags for making the detection of fax tones and data tones
be less sensitive. I now require reception of two data tones or two
fax tones (with the appropriate flag set -- and it is enabled by default)
before the server interprets it as a data or fax call. This is because
the ZyXEL doesn't seem to be too reliable in detecting these tones --
it seems to be too sensitive. The flags are called Needs2FaxTones
and Needs2DataTones. Both can be changed in the Advanced Flags
section of ServerConfig.
o With the appropriate flag set (RetryAfterPortUsedError), the server
will try to gain access to the serial port after a minute. If someone
is listening on the serial port, then there will be no problem since
I always try to set some serial parameters, and this will fail if there
is somebody using the serial port. However, if we got into this error
because of some bad timeout (or you turned off your modem), then we will
be ok after a minute. This flag is also available in the
Advanced Flags section of ServerConfig. Note that we will *not* retry
to access the port if we were forced into Unlisten mode by an external
ARexx command.
o When OwnDevUnit requests the port, we say so. Also, we go into CommandMode.
o Removed a lot of the status updates which seemed to be wrong in main() --
showRingNameNumber
o Now, we're a little bit smarter when starting up from UnknownMode.
We try different things to get the modem's attention. This is just
in case we were in a bad state and the modem is not responding. So,
we try different techniques (like sending an XON, turning off
record mode, play mode, doing a +++, followed by an ATH, etc.).
We also try a variety of baud rates.
o Fixed ringScript activation to not call ringScript if we're about to
answer the phone.
o Added flag "GrabModem", which tries different things to get the modem's
attention when we get a Port Used error.
o Added flag "ResyncModem", which resyncs the modem every 10 minutes (approx).
This is good to do -- it will cause the modem to go into command mode
and back into the mode where it waits for rings. This is useful especially
if you tend to turn on and off the modem. The only problem with this
is that you may miss 1 or 2 rings. This doesn't mean you will miss the
call. All it means is that the modem will not answer immediately. This
will only happen IF someone calls at the exact moment that we are testing
the modem.
ADPCM2IFF
o Fixed a bug which caused enforcer hits when trying to play a voice file
that was zero in length.
V1.11a
Released to Aminet!
AVM server
o Fixed scanForDLESequences so that it strips the DLE stuff (problem
in zyxel that dle sequences may appear between things like CONNECT,
etc.) from the string.
Default Servers
o Removed all the E0 (turn off echo) from the setup string.
This seems to make the zyxels a little less reliable.
People have noticed lockups and I think this is the main cause.
V1.12
Added Scheduler, Programmer, SchedulerView, and Programmer source files
to release. They are now keyfile protected.
CallNotifier
o Made the shut up button a checkbox gadget instead. Also, made it
have some "automatic" behaviour (when you open a mailbox, it
automatically shuts up; when you get new messages, it automatically
un-shuts up).
ADPCM2IFF
o Added old zyxel conversion routines. See StandardConfig.
IFF2ADPCM
o Added old zyxel conversion routines. See StandardConfig.
V1.13
Scheduler
o Fixed problem of saying that "That's weird, I thought..."
ARexx Scripts
o Changed silentanswer.avmsrc - when you press 2 or 5, you get the
fax and data tones right away -- no more instructions.
o Changed logfunctions.avm - now it tells you when a mailbox doesn't
exist when you try to save or load an entry.
AVM Server
o Fixed it so that it answers the phone now. Stupid bug.
V1.14
AVM Server
o Fixed the fix in 1.13
V1.15
ARexx Scripts
o Fixed a problem in playamiga.avm (thanks Stefan!)
o Made 0 = play menu again instead of starting up.
o Changed answerfax to handlefax
o Changed answerdata to handledata
o Added answerfax and answerdata (these are usable in the
ServerConfig program)
All Binaries except Programmer
o Everything is now keyboard accessible
Programmer
o Fixed problem in low memory conditions. When we run out of memory,
we now exit cleanly rather than guru.
o Fixed problem where you click on the close gadget in one of the
programmer windows and it doesn't actually close the window.
Server
o Added some more debugging information. I will be able to tell
from the trace when the server was started (so I know if I got
a complete trace).
o Added a way of doing some sort of distinctive ring even though the
modem cannot distinguish them. I can only distinguish between
the normal ring, a ring-ring (2 sub-rings) ring, and a
ring-ring-ring (3 sub-rings). For the distinctive ring with 3
sub-rings, there are two possibilities. I do not distinguish
between them.
V1.16
ARexx scripts
o Fixed scripts (send, reply, and addentry), which didn't work
in 1.15 because I added debugging functions but forgot to
include debugfunctions.avm :(
o Added support for calling a pager. ARexx script that actually
does call the pager isn't there, but some pagers can be called
using the defaultSender ARexx script.
ServerMan
o Added Quit No Kill. This is equivalent to clicking on the
window close gadget. Quit will kill all the servers it knows
about.
Server
o Fixed the distinctive ring feature I added. Why must
enhancements introduce bugs?
V1.17
ARexx scripts
o Fixed autoforward and autopage so that they don't autoforward
or autopage if the "ondemand" passwords are non-null.
o Fixed silentanswer (it wouldn't activate fax or data mode
properly ever since I separated handlefax and answerfax,
handledata and answerdata.
o Added User Beep
AVM Server
o Added "NO CARRIER" as a string to look out for when dialing.
o Added extra debugging information when dialing.
General Binaries
o Added underline for listview headers
V1.17a
o Fixed avm.doc
o Added some flags to zyxel6.10 and zyxel6.01 server config files.
V1.18
Player
o Fixed the window title so that it shows up in the MUI Prefs
program.
Server
o Added initial Rockwell support. Tested with the Zoom modem.
ServerConfig
o Added support for the Rockwell based modems.
V1.19
CallNotifier
o When shutup is true, I also do the toll saver option (it will not
pretend that there are no messages).
iff2adpcm
o Added support for converting *any* rate iff file to the supported
voice files. This will now allow me to release 9600 s/s voice
files in IFF format and have the user convert them into the necessary
voice files.
V1.19a
Added H0 to LineLink144e default server -- this fixes the problem of
the modem going to neverneverland after sending out voice messages.
V1.19b
AVM Server
o Fixed something related to the distinctive ring handling. I counted
rings correctly, but didn't dispatch the right ARexx script.
ADPCM2IFF
o Recompiled it with optimization on
IFF2ADPCM
o Added encoder for MTD Dolphin -- it looks like it works but I won't
know for sure until someone with this modem tries it out.
ARexx scripts (and sources)
o Added TrapFax support to play.avm
o Added TrapFax support to handlefax.avm
o Added TrapFax support to defaultsender.avm
StandardConfig
o Added AVMFaxProgram (for gpfax or trapfax)
----------------------------------------------------------------
As of this point, I started counting releases and didn't update
version numbers of programs which were not touched.
----------------------------------------------------------------
Release 1.20
ServerMan 1.20
o Changed Quit No Kill to Quit; changed Quit to Quit All
SchedulerView 1.20
o When user presses return on filename string gadget, I check
if it's a fax file or not. I adjust the type accordingly.
Also, if he chooses a file using the file requester, I do
the same thing. Now, the user doesn't have to worry about
selecting the type anymore.
o No more choice of save or quit. Changed to a "Done" gadget.
LogView 1.20
o Can now multi-select (to delete, archive, reply, and play)
o Added Stop All gadget to stop playing a multi-selected play
ARexx Scripts 1.20
o Modified play.avm and abort.avm to support multi-play
Release 1.21
IFF2ADPCM 1.21
o Now loads stuff a chunk at a time. Minimal memory needed.
LogView 1.21
o Added Select All
o Fixed Stop and Stop All so that they have the same width
Release 1.22
ADPCM2IFF 1.20
o Plays to both speakers now.
Release 1.23
o Added startALL script, which starts the Logger program and also
runs startAVMAndGPFax.
o Changed silentanswer.avm so that it puts 'Silent' as the type
in the listview.
o Added some debugging information to handlefax and handledata.
o Added time elapsed to handlefax and handledata
o Added log entry when BBS is started or attempted (similar to
what I do with fax reception).
LogView 1.22
o Added check for invariant failure. If something is selected
but using MUIM_List_NextSelected failed to show it, I print
something out.
ADPCM2IFF 1.21
o Added code to ignore ctrl-c and ctrl-d
IFF2ADPCM 1.23
o Added code to ignore ctrl-c and ctrl-d
o Fixed Zyxel adpcm stuff. There was a bug in the conversion
routine that was preventing me from decoding the entire
-128-127 range. Thanks to Thomas Lewandowski for making me
look at this more closely. One of the side effects of fixing
this bug is that files converted from iff to adpcm2/3 are
*much* cleaner and louder.
o Fixed bug in resampling that was causing it to not work
correctly on really long files.
Programmer 1.20
o Made it so that it says what the rexx filename is (not
the source it was generated from).
AVM Server 1.20
o Fixed it so that it doesn't create a blank file when we
use AVMTemp for playing if the original file didn't exist.
Release 1.24
o Added new icons
o Fixed installer script which didn't account for a filenames.cfg
not existing (in case they weren't upgrading from an older
version).
o Added AVMDataAfterSilence to StandardConfig. This says whether
we should try data mode if we recorded just silence. This only
works for modems which can detect silence (not just quiet).
o Changed broadcast.avm to be more general in terms of arexx port
names.
o Changed processmailbox.avmsrc so that it uses the new -1SECOND
in adpcm2iff. This minimizes memory consumption when doing
the preconvert feature.
IFF2ADPCM 1.24
o Now I correctly handle odd chunk sizes
o Removed version number from window name
o Added filter for LineLink (hopefully things are clearer now)
o Added support for zyxel 6.12 roms
ADPCM2IFF 1.22
o If converted bytes is odd, I pad the iff file correctly
o Removed version number from window name
o Changed LineLink decompression so that it doesn't pay attention
to AVMSCALEADJUST and AVMSLOWCVSD anymore. Nobody used them.
o Went back to old way of doing LineLink conversion. Should
have a smaller executable now.
o Added support for zyxel 6.12 roms
ADPCM2IFF 1.23
o Changed allocate of chip memory to be dependent on whether we
actually play something. Plus, allocation is done at run-time.
o Added support for doubling the size of the iff file (higher
sampling rate) when converting a LineLink CVSD voice file. This
is probably the best I can do in terms of quality. This is
disabled by default. AVMDOUBLERATE does this.
o Added support to scale the output (not just for LineLinks
anymore). AVMSCALEADJUST does this.
Output is multiplied by AVMSCALEADJUST value and divided by
128.
o Added -1SECOND, -2SECONDS, -3SECONDS, -4SECONDS. This changes the
length that we decompress before playing or saving. This also
tells adpcm2iff how much memory to allocate (1 second is the
least amount of memory and 4 seconds is the most).
AVM Server 1.21
o Fixed linelink to return QuietDetected. It used to return
SilenceDetected in SimpleRecordVoice. LineLink doesn't do
Silence Detection (only Quiet detection).
o Added debugging information to tell me whether SilentAnswer()
was called or AnswerCall() was used. For some reason, some of
my faxes end up in the Silent mailbox.
LogView 1.23
o Added arexx commands to "selectall" and "play"
o Made it so that you can only open one logview per mailbox.
Also, the arexx port it opens is now called
"AVMLOGVIEW.mailboxdir". This helps tremendously in automating
the playing of messages from an arexx script.
o When this program is double started, it uniconifies the other
application and brings it to the front.
o Removed version number from window name
ServerMan 1.21
o When this program is double started, it uniconifies the other
application and brings it to the front.
o Removed version number from window name
CallNotifier 1.20
o When this program is double started, it uniconifies the other
application and brings it to the front.
o Removed version number from window name
Logger 1.20
o When this program is double started, it uniconifies the other
application and brings it to the front.
o Removed version number from window name
Player 1.20
o When this program is double started, it uniconifies the other
application and brings it to the front.
o Removed version number from window name
ServerConfig 1.20
o When this program is double started, it uniconifies the other
application and brings it to the front.
o Removed version number from window name
Programmer 1.21
o When this program is double started, it uniconifies the other
application and brings it to the front.
o Removed version number from window name
Scheduler 1.20
o Removed version number from window name
SchedulerView 1.2
o Removed version number from window name
Release 1.25
AVM Server 1.22
o Added LocalHandset support for Zoom and other Rockwell based modems
o Also added a flag called MonitorWithSpeaker which allows Rockwell
based modems to play what's being recorded when someone calls.
o ExternalMic now records from an external mic if one is connected
to your Rockwell based modem. This no longer records from the
LocalHandset (that's what the new option is for).
ADPCM2IFF 1.24
o Fixed the DoubleRate thing. I got things upside down :(
LogView 1.24
o Added LocalHandset
Player 1.21
o Added LocalHandset
SchedulerView
o Added LocalHandset
Misc
o Added playall.rexx script as an example on how to play all messages
in a mailbox from an arexx script. To run this script, you should
open up a shell and type in:
rx playall anonymous
You can also open up other mailboxes as in:
rx playall mailbox1
rx playall mailbox2
o Added tozyxel612.rexx script. This allows you to convert *all* the
voice files in avm:voices from the old compression into the new
compression. This only works for ADPCM2. For some reason, I didn't
have to run this for the old voice files to work on my E+. However,
on the E, it is different. It sounds really weird when you play
something that was converted by the IFF2ADPCM program on the E
running 6.12 roms.
To run this script, you should open up a Shell (CLI), then
type in:
rx tozyxel612
o Added LocalHandset to play.avm
Release 1.26
AVM Scheduler 1.21
o Modified so that it doesn't schedule an event if there is no
phone number.
o Added Send Manual button.
AVM Server 1.23
o Added code for NoVoice option so fax code is usable even though
you don't have a voice modem.
o Moved the code that checks to see if there are messages (this
supports the Toll Saver option) to a place so that it's only
executed once, when somebody actually calls, rather than every
8 seconds like it used to.
ServerConfig 1.21
o Added necessary stuff for fax.
ARexx Scripts
o DefaultSender.avm -- added EFax support.
o play.avm -- added EFax support.
o createfax.avm -- creates a log entry when someone prints to our
printer driver
o efaxview.avm -- simple program to view fax files created by efax.
Currently uses fax2iff and Mostra.
LogView 1.25
o Entries are now sorted by time.
EFax 1.00
Release 1.26b
AVM Server 1.24
o When grabbing modem's attention, first thing to do is to
close the serial port (in the hope to drop DTR). It will
stay in that loop trying to reopen the serial port every
second until it does.
EFax 1.01
o Removed guru when startALL was started from the workbench.
This had to do with the fact that efax was writing to stderr
(or setting vbuf) but there was no stderr. Also had problems
with not allocating enough stack space.
Release 1.27
AVM Server 1.25
o Removed RAD_BOOGIE flag when switching between No Handshaking
and Handshaking serial parameters. Maybe this was causing some
problems.
o When there is a serial port error, we now ignore it instead
of causing a hangup.
Default Servers
o Added &D2 to all the servers
Release 1.28
AVM Server 1.26
o TurnOffVoiceMode now does not bring us up to ConnectedMode
if we were previously in UnknownMode or CommandMode. It only
brings us *down* to ConnectedMode if we were above ConnectedMode.
After bringing us down to ConnectedMode, that's when it actually
turns off voice mode. Therefore, if the rexx command 'turnoffvoicemode'
is executed and the server is in CommandMode or UnknownMode, nothing
should happen (this is intentional and desirable).
o Put a kludge in PlayVoice so that if the modem returns printable
characters while playing, it collects them and forms a string. If
that string is an "OK", then we assume that we fell into
ConnectedMode even though we weren't supposed to. This should
make stuff a little more robust.
o Added a flag called UseDTMFControl (LineLink only). When enabled,
I use a new way of turning off the playing of the voice file after
a DTMF key is pressed. I think this is more robust than the other
one and is hence enabled by default.
ARexx scripts
o Handlefax.avmsrc now does not do a separate RequireMode(ConnectedMode).
This is done by 'turnoffvoicemode'.
Also modified the forwarding part. Had to make the filename a
full path to the actual fax file. It worked correctly with GPFax
since the fax filenames were always to a directory in GPFax:. But,
with (EFax), incoming faxes go into the mailbox directory. Maybe
we should actually make a copy in the Outgoing directory...
o Handledata.avmsrc now does not do a separate RequireMode(ConnectedMode).
This is done by 'turnoffvoicemode'
o Abort.avm now handles aborting the fax program if necessary
o Defaultsender.avmsrc has been fixed so that it doesn't try
to open 999 files before sending a fax using EFax. Oops :)
o Added print.avm
o Added printfile.avm
o Changed efaxview.avm to use my fax viewer
EFax 1.02
o Incorporated Ed Casas' changes to bring it to his efax v 0.6a
o Added stuff so that dialing and answering are abortable
ServerMan 1.22
o Added aborting of the fax program
playercfg.h
o All programs using playercfg.h will abort the fax program now.
LogView 1.26
o Added Print Fax gadget. This prints out faxes.
SchedulerView 1.23
o Added Print Fax gadget. This prints out faxes.
AVMFaxPrint 1.00
o Fax print program. Without the keyfile, you will only get
the first half page of output.
AVMFaxView 1.00
o Fax view program. Keyboard driven only. Doesn't do
magnifications yet. But it prints out using AVMFaxPrint.
Release 1.29
AVM Server 1.27
o If we fail to reopen the serial port after closing it (to drop
DTR), we will go into the normal closeSerial function which
will wait for an OPENSERIAL or QUIT on the ARexx port. We won't
keep trying to reopen it anymore.
o When in unlisten or closeserial, either an openserial or listen
will wake them up.
AVM FaxPrint 1.01
o Fixed it so that it always prints black on white by using my
own ColorMap instead of the screen's ColorMap (which may be
arbitrary).
AVM FaxView 1.01
o Fixed it so that it doubles standard size faxes (for aspect)
o Fixed so you can stretch it horizontally *and* vertically
ARexx scripts
o handlefax.avmsrc - Added changes for TrapFax to receive more
than 10 pages
o efaxview.avm - fixed so that you can view multiple fax files
o printfile.avm - fixed
GNU/fax2iff
o fixed so that it doesn't have enforcer hits if it couldn't
open the destination file.
GNU/efax 1.03/0.6b
o fixed stuff for class 1
Release 1.30
AVM Server 1.28
o showCID.avm has two variables: 'cidName' and 'cidNumber'.
These are set before this script executed. If the cidName
or cidNumber contains a quote '"', it will be converted
to a single quote. This sends stuff to the CID Logger.
CID Logger 1.00
o OK, I was 'coerced' into writing this program :) Any
contributions are gladly accepted.
ARexx scripts
o Fixed silentanswer.avmsrc so that it stores CID information
in any logs it creates.
o Added rexxsupport.library everywhere needed.
o Modified alertring.avm
o Added showcid.avm
o Added stuff sent by Carl Wernhart to better support TFax.
Thanks again Carl! I hope I got it right.
AVM-install
o Added options to backup rexx, source, and icons
SchedulerView 1.24
o When playing a personalized intro file, it used to look at
'origMailbox' rather than the current mailbox. This is now
fixed.
Release 1.30a
AVM Server 1.29
o Fixed caller id stuff.
Release 1.30b
AVM FaxPrinter 1.01
o Added hack to make FCII rel 1 print. This has the unwanted
side effect of printing some garbage to the *actual* printer.
I suggest that you redirect output to PAR: using the AmigaDOS
CMD command. To enable printing using this hack, do a
"setenv AVMFCIIREL1HACK yes" from the shell. Or, you can put
this in your StandardConfig file.
Release 1.31
AVM Server 1.30
o Added new key for fax only users.
AVM Programmer 1.22
o If you put a double-quote in front of a WriteLine's Line
string, the rest of the line won't appear in single quotes.
This allows you to put variables there and not just literal
strings.
ARexx Scripts
o Changed handledata.avmsrc so that it puts the length of the
connection in log.length and not just as a comment.
AXsh stuff
o Found a bad bug. Apparently, AXsh doesn't set its own stack.
So, if you happen to run it with a low stack, it may crash
your machine. Or, it may put it in a bad state. So, now,
instead of calling AXsh directly, I execute an AmigaDOS script
that sets the stack first.
AVM FaxView 1.02
o Should print now using '*'
Release 1.32
Scheduler 1.22
o Added double-start semantics
o Only one scheduler per mailbox allowed now (similar to LogView)
AVM Server 1.31
o Fixed so that if there is a serial port error, it should not
cause a crash. I'm not sure if io_Actual is set correctly
by the serial device if io_Error is non-zero.
o Increased the length of debugging info from readLine
o A 'Q' is returned if there was an error reading from the
serial device for the 'initial 1 character' read.
o Extra checks were put in plus more debugging info was added
in cases where there were serial port errors.
EFax 1.04
o Fixed so that if there is a serial port error, it should not
cause a crash. I'm not sure if io_Actual is set correctly
by the serial device if io_Error is non-zero.
o A 'Q' is returned if there was an error reading from the
serial device for the 'initial 1 character' read.
o Extra checks were put in plus more debugging info was added
in cases where there were serial port errors.
Fixed avm-install script for using the old icons stuff. It *was*
working, it just wasn't asking the right question :)
Merged startAVMAndGPFax, startALL, and startAVM. You should
always start AVM using the startAVM icon or startAVM script.
You can configure which programs get started automatically
by editing your StandardConfig file.
Release 1.33
AVM Server 1.32
o When in Unlistened or Closed Serial mode, Abort will get it
out.
o Server now looks at Command Pause in the fax parms setup.
Increasing this number increases the wait time before writing
out AT strings by 100 milliseconds. This may help if your
modem doesn't accept AT strings in quick succession.
AVM FaxPrinterD
o Now you can use your own font and font size. Just edit
StandardConfig.
19. Wish List
-------------
5/26/94
- o Add Send Manual to Scheduler, which should cause it to send
the file using ATD (no telephone number). This is usual for
doing faxes where you have to manually call them up before
clicking on Send.
4/18/94
- o Make iff2adpcm load stuff a chunk at a time.
4/17/94
o Reduce memory requirements for programmer
o Add forward to logview
o In schedulerview, if the user selects an iff file, we should
go ahead and convert it for him.
4/15/94
- o In schedulerview, we should probably have another type (Unknown
or Unrecorded) to alert the user that the file that has been
selected is not a valid thing to send. After recording, then
we can adjust the type accordingly.
- o In the scheduler, when you click on the file gadget or hit return
on the string gadget specifying a file, try to find out if it's
a fax file or not and automatically set the 'type'. If it's not
a fax file, then assume it's a voice file that's to be recorded.
o Print out the compression type that's being decoded or encoded in
adpcm2iff or iff2adpcm
o Multiple delete/play/archive in logview
- o Quit All in ServerMan to kill every avm program that's running
3/23/94
o Add a restart servers to serverconfig. Better yet, add a way to
tell the AVM server to re-read the config file.
2/26/94
o At certain times, the rings to be expected may change. Need to add an
ARexx command in the servers to change the number of rings.
- o When playing to Amiga (not AmigaDirect), add an option to play the
file while it's being converted. Although it won't be real time (the
voice file will not be continuous), at least you will get to hear
parts of it to see if it's worth the wait.
2/25/94
o Maybe blink the power led when the answering machine is on. But,
we need to blink it differently than our flashpower program does.
2/24/94
- o If port is in use, try every 5 minutes to get the port. Maybe try
different things to get the port to listen.
- o Add Quit & Kill Servers to serverman to quit serverman and to kill
all the active servers.
- o Add a name field for mailboxes (in mailbox config) and use that
to show what's in the call notifier (not just the directory name).
- o Pre-convert voice files while machine is idle (in other words,
do a low priority conversion routine when voice files are created).
2/21/94
o Add play all to the logview
o Add delete all to the logview
o Add "serverconfig" to the server manager (opens up a serverconfig
program).
2/10/94
- o Make a special answervoice to do simple answering machine stuff
- o Clean up ServerMan to hide the Close, Open, Unlisten, Listen,
Start, and Kill server gadgets.
2/9/94
o Allow disabling of busy detect for ROM versions which are faulty
o Use user-defined filenames for saveiff or loadiff
- o Allow Player/Recorder to play/record user defined files
o Phonebook that's integrated with the logview (so you can show the names
of the people with a particular phone number)
o Add better error reporting (like when audio.device is being used)
2/8/94
- o Make the anonymous mailbox accessible from the other mailboxes
- o Finish the Scheduler and SchedulerView scripts
- o Document Scheduler/SchedulerView
o Document Programmer
o Make a "copy" template for each of the Programmer constructs so that,
when a construct is instantiated, the new construct copies stuff from
this template. Template should be persistent.
o Secretary feature for calling people (integrated with the phonebook --
click on somebody to dial out until connected, play some file,
and beep)
o Localize the program (binaries and ARexx scripts -- this includes
localizing the concatenations of numbers)
- o Add a button to the Call Notifier to shut up until the next call comes
in.
- o Support Rockwell chipset voice modems
o Pre-load most of the shorter ARexx scripts (such as delete, broadcast,
etc.). This should speed things up quite a bit
- o Add options so that we can easily customize the ARexx scripts without
having to maintain several versions for different users. Probably do
this through the getclip and setclip ARexx functions. Can't do this
with environment variables since they are not easily accessible from
ARexx.
- o Use MUI better -- make everything controllable from the keyboard
- o Have multiple (random, day, or time driven) greetings
o Fix up string gadgets which accept input to *not* allow spaces to be
typed in
o Add some flags to the AVM server to filter out debugging information
(so we don't have to see it all)
20. Acknowledgements
--------------------
o Stefan Odendahl for helping me find lots of bugs and problems
in the documentation.
o Mike Sinz for SimpleRexx and Enforcer
o Dr. Greg Perry of GPSoft for GPFax
o SAS for SAS/C
o David Gay for Emacs port
o ZyXEL for their modem and the conversion routines from ADPCM2/3 to
something
o Sierra Semi for being helpful w/r to the LineLink modem
o Commodore Amiga for their iff routines
o David Junod for FindLine
o Alex G. M. Smith for AGMSRecordSound and AGMSRecordSoundPS3.
He was helpful in adding the ARexx commands
necessary to make these program work seamlessly with AVM.
o Dave Schreiber for DSound 1.31. I included a modified
executable as well as his original DSound.doc. According
to his docs, there's no mention of not being allowed to
do what I did. If there's a problem, Dave, send me email.
I will send the source modifications to anyone who asks.
o Kasper Peeters for helping me add support for the dolphin
modem.
o Carl Wernhart - TrapFax support is (c) by him -- thanks!
o Thomas Lewandowski - New Icons are (c) by him -- thanks!
21. Beta Testers
----------------
o Stefan Odendahl
o Dirk Sieber
o Michael Breger
o James Atwill - thanks for the asl code!
o Christian Stelter
o Pjotr Sjostrom
o Frank Geider
o Fred Pienkos
o Cogrossi Fulvio - please send me email!
o Tim Lloyd
o Daniel J. McCoy
o Ryan Bruner
22. Common Problems
-------------------
o AVM doesn't seem to play a file that I selected using the
file requester.
AVM *cannot* play filenames with spaces in
them. For example, the file "Ram Disk:dialtone" cannot be
played. You need to use "ram:dialtone". Sorry, but I just don't
have the time to go through all the ARexx scripts and fix
this. This was one of those "compromises" I made when I started
this project. I didn't want to have to muck around with quoting
conventions.
o AVM reports that the serial device either couldn't be opened when
working with GPFax.
You should make sure that the shared mode flag in GPFax is enabled.
o When answering a fax call, the modem picks the line up, drops it,
then picks it up again.
This is caused by an "&F" in the Modem Init string of GPFax. You
should remove this.
o I have trouble receiving and sending faxes with the LineLink
modem.
You need to make sure the Modem Init string is the
same as the init string mentioned in step number 8 of
`Setting up'. Also, the LineLink modem cannot detect a
fax automatically. You will need to instruct people who may
send faxes to you that they have to follow instructions (like
pressing 2) on how to start up fax reception.
o AVM doesn't handle data calls properly. Why?
You need to make sure that AXsh is set up properly. Here is
what I needed to do in my s:user-startup
;BEGIN AXSH
assign axsh: pd:axsh.installed
path axsh:bin
mount axaux: from axsh:etc/mountlist.axsh
;END AXSH
In addition to making sure that AXsh is set up properly, you
need to make sure that "answerdata" is in the `Data Call'
field. The ARexx script "answerdata.avm" sets up the modem,
performs an ATA, then calls the script "startbbs.avm" if
there is a modem connection. If you are not using AXsh, the script
"startbbs.avm" is where you should start tinkering.
o I get very short files when recording; sometimes, they're
truncated. Sometimes, there's too much silence.
When you press `Record', there is a short delay before
the modem actually starts recording. This is due to two things:
First, I need to send commands to the modem to actually start
recording. This takes a finite amount of time. Second, I need to
tell the server to tell the modem to start recording. To do this,
I use ARexx to communicate between the user interface and the AVM
Server. Again, this takes some processing time. So, to be sure
that what you say gets recorded, you should press `Record', then watch
the modem until some light starts flashing continuously (this
indicates a recording process). Then you can start speaking.
When stopping the recording, there is also a short delay between
the time you press `Stop' and the time the recording actually stops.
These short delays will take some getting used to, but when you're
used to them, they will turn into a minor annoyance. These delays
may decrease in future versions.
o How do I save window positions and sizes and icon positions?
Go to a CLI, cd to env:mui, look for the names of the AVM programs
(AVMLOGVIEW, AVMCALLNOTIFIER, AVMLOGGER, AVMPLAYREC, etc.), and copy
their .wini files to envarc:mui. For icon positions, you need to use
the MUI Prefs program. Then copy over the .prefs files to envarc:mui.
o How do I put all the windows on a different screen?
Use the MUI Prefs program to create a public screen and tell MUI
to open up the windows on that public screen.
o How do I make the windows open up in iconified form?
Use the MUI Prefs program.
o Do I need a registered version of MUI?
No, you do not. But, you will be able to customize all the AVM
programs if you do register MUI. I really encourage you to do so.
Stefan Stuntz has done a very good job with MUI, so please support
him.
o When I try to edit something in the programmer, no window opens and the
programmer hangs.
You need to have a screen size of at least 640x400.
MUI will not open a window if it is too large to fit in the screen.
o When using the programmer, sometimes it just exits.
You probably don't have enough memory. The Programmer uses a lot
of memory because of the large windows it uses and the fact that
it loads an entire file into memory. Try closing other
applications when using the Programmer.
o Sometimes, AVM misses keys pressed by a caller.
This is not AVM's fault. It is the fault of the modem.
I have nothing to do with detection of DTMF keys. It just
reports them to me. If you have a ZyXEL with a ROM less
than 6.11a, I really recommend that you upgrade your ROMS.
o After 10 minutes, the AVM server dies for some unknown reason.
The UNREGISTERED version will not work properly unless its "annoying"
window opens up on the WorkBench. Therefore, do not use a public
screen manager to "shanghai" its window to another screen. Also,
do *not* use an external program to close the window or resize the
window. Your computer may crash. I am not responsible for crashes
due to tampering with the "annoying" window.
o AVM doesn't want to record anything.
Perhaps you didn't set things up correctly. You need to make
sure that the Drawer "AVM:voices" exists. From the WB, create
a drawer called "voices" in the AVMSuite Drawer. Or, from the
CLI, type in "makedir avm:voices".
o AVM only records silence or a dial tone when I'm using the
TelephoneLine option.
For all modems *not* based on the Rockwell chipset,
the telephone should *not* be hooked up to the back of the modem.
You should hook up the telephone and modem using a splitter of
some sort.
o AVM hangs up while you are accessing some of the voice menus (when
calling). Or, it just hangs up on you.
Make sure that you record all the messages in the Player program.
If you did record all the messages, then run the Logger program,
play around with the system until it hangs up unexpectedly. Then,
click on the Save button in the Logger window, and send me the
file called "avm:logger.save". That will help me tremendously
in finding out what is wrong.
o Recording doesn't seem to work too well. It seems to terminate early.
Try running the program called Logger. When recording, if it says there's
a serial port error, then your machine cannot handle the speed at
which the modem is transmitting data at. Maybe you have a program
running in the background that's taking up so much CPU time that
it takes too long to process the serial port interrupt. The first
thing to try is to enable the "Use AVMTemp: for Recording" button
in the Server Config program and restart the AVM Suite. If that
still doesn't work, try opening up a public screen with a low
resolution. Then, switch to that screen and try AVM again. If that
still doesn't work, you may need one of those high speed serial
ports which handle high speeds more easily.
o On the LineLink modem, AVM seems to hang up when playing to the modem.
Maybe you enabled the "UsesHardwareHandshaking" flag in the
Advanced Flags section. Disable that and try it again. Please don't
play with things that aren't documented.
o How can I speed up playback of my incoming messages through the
Amiga?
You can turn on the PreConvert feature. See `Pre-Converting'.
o I'm using a LineLink modem and playback through the Amiga is very
soft.
Try adjusting the AVMSCALEADJUST environment variable. See
`Scaling output'.
o Why does AVM not release the serial device when I quit all the AVM
programs?
Remember that there is a "server" that's running in the background.
If you have an unregistered version of AVM, you would see the
window. If you have a registered version, you probably wouldn't
even know it was running.
As of V1.17, you now have a Quit button and a Quit No Kill button.
If you Quit, you take all the servers with you. With the other
button, you don't.
o Do I need a digitizer to make my own messages?
No, you can use the TelephoneLine option to record any outgoing
messages.
o How can I customize the way dates and times are played back
through the modem? It seems like it's too "American".
Read the manual. See `Date Format' and `Time Format'.
o How can I customize the way AVM displays dates in the Scheduler,
LogView, SchedulerView, etc.?
Read the manual. See `Time and Date Specification'.
o Can I distribute keyfiles?
Absolutely not. You can only distribute AVM as it comes in
its .lha form. You cannot create a new archive or add to
the archive that's available for download.
o Why should I register?
Because it would encourage me to keep supporting AVM. I don't
think I charge too much for what this software is capable of.
Even if you do not register, I would appreciate a postcard
from you saying that you use AVM.
o On a ZyXEL, when sending out voice files using the scheduler,
it seems to be playing the voice files even though the called
party hasn't picked up the phone. Why?
The ZyXELs cannot seem to determine reliably when the called
party has actually picked up the phone. I can't figure out
what the problem is. Probably a bug in the ROMs. Don't
worry, outgoing messages are repeated multiple times.
o How do I change the icons when the program is iconified?
Use some icon editor and edit the icons in avm:icons.
23. New Voice Files
-------------------
Execute the script called "avm:renamevoicefiles". I renamed stuff
like one, two, ... to number1, number2, ... to facilitate in sorting
stuff in the Player program. Note that this script is executed
automatically if you used the Install script.
Execute the script called "avm:deletevfiles". This will delete
all the obsolete voice files. Note that it won't delete voice files
that are still usable. Only the minimal number of voice files will
be deleted. If you run the installer script, I ask before doing this.
However, I highly recommend that you do this and just re-record
everything that the Player program tells you to record.
24. Caller ID and Distinctive Ring
----------------------------------
If you have a ZyXEL, the way to activate Caller ID is to put an
S40.2=1 in your Voice Setup String. LineLink owners cannot make
use of the Caller ID feature. I have it on good authority that
the hardware cannot physically support Caller ID. Remember that
although the ROMS say they support Caller ID, if the modem
doesn't have enough "stuff" in it to pick up Caller ID information,
then the modem cannot support Caller ID.
To activate the Distinctive Ring feature in your ZyXEL, you need
to put an S40.3=1S40.4=1S40.5=1S40.6=1 in your Voice Setup String.
If you have any other modem, you don't need to do anything. Try
it out and see if AVM can distinguish between the different
distinctive rings that you have subscribed to your phone company
for.
25. Programmer
--------------
I cannot describe everything that the Programmer can do at this
time. Sorry. But, I will tell you how to add new mailboxes.
The first thing to do is to add a mailbox using the Call Notifier
program. When you add a mailbox, don't include spaces in the
mailbox name. Note that I distinguish between a mailbox name
and a mailbox alias. The mailbox alias is what you see in
the Call Notifier listview. Sometimes, the alias is the same
as the name.
Anyway, the next thing to do is to run the Programmer. Double-
click on the file called startup.avmsrc. Double-click on the
line which says level0. This is a menu to which you can add
mailboxes. Look at how mailbox1 and mailbox2 are done. You
will see how easy it is to use the Programmer. Really!
Once you're done editing stuff, Save your changes, then click
on Compile. Then, test out your new system. If it fails
for some unknown reason, try Compiling again. This has
something to do with "include" dependencies that I'd rather
not get into. Note that I've never needed to Compile
twice -- I just thought I should mention it just in case.
26. Faxing without a Voice Modem
--------------------------------
Since you're reading this, you probably don't have a voice
capable modem. Too bad :( Anyway, you can still use AVM
and the fax program and utilities it comes with for sending
and receiving faxes. To install AVM, follow the instructions
0, 1, 2, 3, 4, 5, 7, 9, 10, and 13. If you use the AVM-Install
script, just do 0, 1, double click on the AVM-Install icon, do
9, 10, then 13.
Read the instructions in `Faxing' to see how to send and
receive faxes.
If you want to free up some disk space, you can do the ff.
from a Shell:
delete avm:AGMS#?
delete avm:source all
delete avm:contrib all
delete avm:voices/#?
delete avm:filenames.cfg
delete avm:player#?
delete avm:programmer#?
delete avm:iff2adpcm#?
delete avm:adpcm2iff#?
delete avm:anonymous/pickup.iff
delete avm:mailbox1/pickup.iff
delete avm:mailbox2/pickup.iff
delete avm:rexx/silentanswer.avm
delete avm:rexx/recordconversation.avm
delete avm:rexx/secretary.avm
delete avm:rexx/answervoice.avm
There are probably some more things you can delete, but these
I'm sure you won't need if you don't have a voice-capable
modem.
27. Faxing
----------
EFax is now included with AVM. It is a class 1 or class 2
fax program. To view received faxes, you just use the LogView
program. It will convert the fax into an iff file and will
then invoke AVMFaxView which allows you to view it.
To send a fax, double click on printHigh or printLow.
Alternatively, you can, from a Shell:
execute avm:printHigh
or,
execute avm:printLow
printHigh should be used if you want to use Fine mode when
creating your fax file. printLow should be used when Standard
mode is used.
Once you do the above, a program called FaxPrinterD should
appear. If it does not, something is wrong and any printing
to the faxprinter device driver will not work properly. Try
running FaxPrinterD from a Shell to see why it failed to
run. Most likely, it couldn't find a font used to render
text printouts. You should edit StandardConfig to use a
font that you have.
Then, print using any Amiga program. When done printing,
a SchedulerView will open up to allow you to enter the telephone
number. After entering it, click on Done. Then, press the
Send button in the Scheduler. This will send it now. If you
scheduled it for a later time, it will go out at that time
(assuming you registered the AVM Scheduler).
Note that when printing out to a fax file, you should ensure
that there is an adequate margin on the left and right sides.
When printing from a word processor, try to make sure that there
is at least 1 inch on both sides of the page. When printing
in text mode, try to make sure that there are 10 spaces to the
left and right of all your text. If you don't ensure these
margin settings, your fax may not be completely readable at the
other end (the left and/or right part of the fax may be chopped
off a little -- that's why you should ensure that those parts
don't contain anything useful).
After printing using your Amiga program, double click or execute
printPrinter. This will use the previous Printer and PrinterGfx
preferences settings (which will allow you to print stuff to
your printer).
The FaxPrinterD (printer daemon) has only 1 option. When this
option is enabled, the printer daemon will start a new page if
the program sends a "Close Render" message to the printer
driver. When it is disabled, even if the program sends a "Close
Render" message, it will continue to print to the same page. Only
a FormFeed will cause the printer daemon to start a new page.
In general, I think you should have this option enabled. But,
for ProWrite users, you should disable this. For some reason,
ProWrite prints in small strips. Therefore, if you had this
option enabled, you would get lots of little pages.
If you use GhostScript, you should enable this option. Otherwise,
you will get one very long page even if you are printing multiple
pages.
You can also use the asc2fax program to convert ascii files into
fax files. I added an extra option (-l) which selects low
resolution (Standard resolution in fax terminology). Basically,
when you enable low resolution, asc2fax will render the font
of the height you selected and will then read every other line
and convert it into the fax compression (note that this is the
same thing that the FaxPrinterD does when you select low
resolution). The side effect of this is that if your font
has horizontal lines of 1 pixel, they may disappear completely
from the fax file. You should always choose a font that has
horizontal lines that are greater than 1 pixel. Just to be sure,
you should create a document with all the characters you will use,
convert it into a fax file, and view it to make sure that all the
characters look ok. Another strategy (not implemented) would have
been to render the font with half the size that you chose. This
may be added at a later time. If you don't want to bother with this
problem, use Fine mode instead (or use the printer driver and print
in graphics mode).
Note that you cannot schedule faxes for a later time if you do
not register for the Scheduler. Also note that with the Scheduler,
you will be able to automatically forward faxes received to
another number.