Idea of a voice mail application

Shawn Rutledge shawn.t.rutledge at gmail.com
Sat Mar 1 01:08:32 CET 2008


I was using vgetty for land-line voicemail a few years ago, and even
wrote some PHP to present the messages, and if you select one it would
send back an .au file, which the Audrey (3Com Ergo web appliance)
could play inside its web browser.  So when the iPhone came out, I
thought "visual voicemail" looked kindof familiar.  :-)  But I didn't
bother with any voice menus, it was just like an answering machine.
The next problem was how to detect "empty" messages (the caller didn't
say anything and hung up); it's not quite silent because you hear the
"click" when the caller hung up.  I was just using recording time to
decide, so if a message was too short it would think it was empty; but
often it would think an empty message was a real one, because there
was a delay of a couple seconds between the "click" and the time that
the modem reported that the call was hung up.

vgetty is picky about the type of modem, BTW: it has to be the kind
that can digitize the audio and stream it over the ISA bus, or over
the serial port.  (Otherwise you would need a way to get the analog
audio into your sound card's line input, and a way to get the line
output back onto the phone line.  Most modems don't have line-level
inputs/outputs.)  A few "smart" modems have AT command extensions
which make audio streaming possible.  So if the GSM radio cannot
stream audio digitally, but can only output an analog signal, then
let's hope the Neo has a connection from the analog audio to the line
input internally, which would make it possible to record
conversations, build "answering machine" applications, use BlueZ to
stream SCO audio to a Bluetooth headset, etc.  Apparently it would be
all about configuring the Wolfson to digitize the audio coming in on
RXN/RXP:

http://wiki.openmoko.org/wiki/Neo1973_audio_subsystem#Voice_Calls

it looks like recording should be possible, because RXN/RXP go both to
the output mixer and to the ADCs as long as the switches on the input
side of the ADCs are set correctly.  Anybody know for sure?

The usual low-end Asterisk approach is to use a Winmodem with a
certain chip, which is basically a sound card (DSP chip) with a
phone-line interface rather than line-in/line-out.  (Not the same
thing as you need for vgetty.)  That means they rely less on hardware
(the way vgetty relied on the modem to report incoming calls, the line
being on-hook/off-hook, etc.) and more signal-processing is done in
software.  They also have an Alsa interface already, so that you can
use local audio devices on the server (use your soundcard as a speaker
phone, or plug in a USB handset or whatever).  So if you can configure
the Wolfson to act as a 2-way gateway between Alsa-based software and
the GSM's analog input and output, then it should be possible to use
Asterisk, assuming it's not too stressful for our poor little ARM.
:-)  Or maybe it will be necessary to fork Asterisk to make something
lighter-weight, and more GSM-specific.  But I don't have the time to
invest in that.

(After I started playing with asterisk I gave up on doing voicemail
with vgetty, and I'm trying to avoid the need to turn on my
10.5-year-old dual-PII machine which has ISA bus, because it's noisy
and takes too much power relative to its computing capacity.  :-)




More information about the community mailing list