[Asterisk-Users] Basic Answering Machine Function?

Craig Stephen craig.a.stephen at gmail.com
Mon Jan 31 14:58:57 MST 2005


Back in March 2004, Jeff Rush asked about using Asterisk as
an answering machine, and Scott Weis replied  (messages
pasted in below from the list archive).

I have a similar question - or rather, a whole constellation of questions.

Let me just preface this with a disclaimer - of ignorance.  
I've casually watched some of the asterisk list traffic, and looked
over the wiki - but haven't actually deployed the software - and
I'm going to use "lay" terminology below...

1.  First, unless I've misunderstood something (very possible),
    I think Jeff's question was a little different than the question
    that Scott answered.

    Suppose you just want to use asterisk to replace your home
    answering machine (yeah, ok, $50 will get you a nice answering
    machine and save you a lot of trouble... but humor me)...

    To do this, you don't necessarily want asterisk to be in charge of
    your entire home phone system.

    You might rather have asterisk share the PSTN-provided dialtone 
    with the other phones in your house, and just pick up when nobody answers,
    take a voicemail (or play them back to you when you call in from
    somewhere else), and hang up.

    So, regarding Scott's proposed dialplan - there just aren't any extensions 
    to dial - since asterisk isn't providing phone service to anything.

    Is this possible with asterisk?  Anyone have a sample dialplan?

    That leaves another problem - retrieving the messages.  Sounds
    like console GUI or web interface would be the only way to do this -
    since the only way to get connected to the voicemail service
    is by calling in through the PSTN - since asterisk doesn't "own"
    any extensions.  Do I have this right?

2.  Now, a more full-blown home-use scenario.

    Suppose I DO want to have asterisk run my two-line home
    phone system, and I obtained the requisite FXS and FXO
    interfaces - maybe the 2x2 Digium card, or maybe go SIP
    on my side.

    Now, I'm as much a hobbyist as anyone... but my wife and kids
    aren't.  There's no way I'm going to run a PBX at home if anyone
    except me actually has to treat it like one, at least for basic 
    features, like placing a phone call.

    So...

    Is it in principle possible to create a dialplan that allows
    prefix-free dialing to an outside line, and move all the
    "PBX-like" features behind some special prefix?

    i.e. recognize 3, 7 and 11 digit numbers as phone numbers
    and dial them without further ado, and put voicemail and
    every other PBX-ish feature behind, say "#"?

    If this is possible, has anyone come up with a dialplan for 
    this that they'd be willing to share?

Thanks for bearing with my novice questions...

Craig Stephen

- - -

Original message from Jeff Rush:

I've had my * setup installed with an X100P card for a couple of weeks
and it's great fun!  I'm even giving a demo to the local Linux group in
a couple of days.

But I have a snag.  I have the X100P on a shared line, and configured to
wait for 20 seconds before answering and doing the
auto-attendant/voicemail dance.  My problem is I can't find an
application command to cancel the pickup if a real person picks up the
line on the first or second ring.  The audio gets mixed together as if
someone picked up an extension, of course.

I haven't seen any predicates for incoming call progress detection, and
the Answer predicate, while it says it only answers if the line is
ringing, always seems to pickup.  Do I need to sprinkle in a ChanIsAvail
somehow to detect a call in progress?

[HomeAutoAttendant]
  exten =3D> s,1,Wait,20 ; Let phone ring for 20 seconds
  exten =3D> s,2,Answer  ; If line is ringing, answer, else do nothing
  exten =3D> s,3,DigitTimeout,5
  exten =3D> s,4,ResponseTimeout,10
  exten =3D> s,5,BackGround(home-welcome)

Thanks for any help.

-Jeff Rush

- - - -
Reply from Scott Weis:

Here is how I do the same thing:

exten => 1234,1,Dial(Zap/2,30)
exten => 1234,2,Answer
exten => 1234,3,DigitTimeout,5
exten => 1234,4,ResponseTimeout,3
exten => 1234,5,SetMusicOnHold(random)
exten => 1234,6,BackGround(2)
exten => 1234,7,BackGround(vm-nobodyavail)
exten => 1234,8,Voicemail(21)

This of course does require a device to dial...

Scott



More information about the asterisk-users mailing list