[Asterisk-Users] A Simple * Answering Machine w/ Caller Screening like the olden days

Richard Koch n1gp at hotmail.com
Wed Jun 22 11:18:36 MST 2005


Sorry about the lengthy post, I've searched high and lo for
information on how to do this but now I need your help...


======== Brief intro on problem and requirements ===========

I'm hoping to use Asterisk in a Home environment where I'd like to
replace the current non-PC Answering Machine, and get added benefits
such as IVR, and text to speeach, for Home Automation purposes.

Coming up to speed now a couple weeks in to Asterisk, I've been able
to setup a TDM400P (1FXS-1FXO), get enough correct data in to
the zap*.conf's and extension.conf so I can get incoming calls
and make outgoing calls. What I'm working on now is how to integrate
the answering machine part.

I want to be able to screen my calls just like with an analog machine.
Someone calls that either doesn't have CID, or is using a calling
card and I dont recognize the CID. This could be my grandfather, father,
freinds, of which I usually want to talk with, or some business (or
in-law) that I'd prefer to ignore.

The only solutions I've been able to find with (my friend) Google, and
the (elusive) Wiki (http://www.voip-info.org) when its not inaccessable
(60% of the time) is a method where the caller has to either record their 
voice
or they punch in their CID info, that is then presented to the callee,
and then the callee chooses whether to accept the call or not.

I think if I used that particular approach it may seem rude to the caller
since they know for a FACT that I'm screening the call. I'd much prefer
the old analog style where they wouldn't know if I was screening or
just not home. Besides I'm not even sure that my caller (grandparents) has
a DTMF phone in order to interact with the screening.


======== My thoughts on an approach to the solution ===========


I'm using Zap hardware, I figure I can use ZapBarge, Record, or Monitor
to start a GSM recording of the call. Once the size of the file grows
to a point where I can stream it (in practice I have found that it needs
to be over 4K) to a sox client. The recording file will be in an NFS
exported directory on the server, and there will be a small (internet 
appliance)
PC that sits in the kitchen that will use Sox to play the GSM file. I
figure it will have about a 3 to 4 second delay with the buffering which
seems acceptable. I'll have to tell it (figure I'll use xPL) that the file
is there and to start playing it. As an alternate approach I could monitor
the call on the server's sound card and wire a speaker up in the kitchen.

Now I am listening to the call taking place in the kitchen and can either
decide to pick it up or not.

So I decide to pick it up (Mom's calling using a calling card), I figured
I could use the command "Steal" from the Bristuff patch to steal the call
from Asterisk's answering machine. But no, this doesn't seem to work. I can
Steal Asterisk's answering machine from the caller (This works great from
a SIP call too), but really need to steal the caller away from the
answering machine and preferrably have the answering machine recognize this
and stop the call monitoring/screening (and send an xPL cmd to the kitchen 
PC
to stop playing).

Doing some more Googling and reading reams of posts to this maillist I'm
starting to wonder if maybe the "Meetme" command might help here? I'm
just not sure how deal with Asterisk's answering machine part. Or maybe I
shouldn't use it at all and just use stream_file?

So this is where I'm at. Hoping someone out there has either implemented
this or could give me enough info so I can implement it.

TIA,

Rick





More information about the asterisk-users mailing list