Possible to detect voicemail?


#1

Hi All,

Wondering if it’s possible to detect voicemail.

Scenario is calling an on call person, but the first person called goes straight to answerphone (mobile phone). Don’t want to connect the user with this guys answerphone, so want to try the next person in the list.

Can I prevent the user from being connected to the answerphone?

Thanks,

Leon


#2

Check the following link for Answering machine detection.

voip-info.org/wiki/view/Asterisk+cmd+AMD

Hope it will help you.


#3

The safest way of handling this sort of situation is to require the recipient to key a DTMF code to confirm that they a live person and have acknowledged the call.

That is the strategy used by social alarm phones for the elderly, when calling directly to relatives, rather than to a manned call centre.


#4

Thanks for the suggestions guys.

In fact, the two of them are what I had kind of come up with.

The first (AMD) through googling, and the second through what else could I do.

Getting ahead of myself a little here, since I can’t test until I get home later this evening, but wondering how to prevent passing the caller to the engineer when the call is answered and waiting till the digit has been pressed for example.

Any thoughts ?

Leon


#5

Ok guys, hoping someone can help me because I’m stumped now !

While I know that the idea of having someone answer the phone and press a button is the better more reliable solution, I’m still interested to see how this AMD works. My problem is that whenever I call AMD, the call hangs up.

For your reference…

[code][test1]
exten => 3996,1,Goto(amdtest,start,1)

[amdtest]
exten => start,1,Noop(Test AMD)
same => n,Answer()
same => n,NoCDR
same => n,AMD(3500,1500,300,5000,120,50,5,256)
same => n,GotoIf($[${AMDSTATUS}=HUMAN]?humn:mach)
same => n(mach),WaitForSilence(2500)
same => n,Playback(vm-goodbye)
same => n,Hangup
same => n(humn),WaitForSilence(500)
same => n,Playback(hello-world)
same => n,Hangup[/code]

I’m then dropping a file into the outgoing directory containing the following…

Channel: SIP/rs_snom2 WaitTime: 30 Context: test1 Extension: 3996

The snom handset rings, but when I answer I see the following…

    -- Executing [3996@test1:1] Goto("SIP/rs_snom2-00000076", "amdtest,start,1") in new stack
    -- Goto (amdtest,start,1)
    -- Executing [start@amdtest:1] NoOp("SIP/rs_snom2-00000076", "Test AMD") in new stack
    -- Executing [start@amdtest:2] Answer("SIP/rs_snom2-00000076", "") in new stack
    -- Executing [start@amdtest:3] NoCDR("SIP/rs_snom2-00000076", "") in new stack
  == Spawn extension (amdtest, start, 4) exited non-zero on 'SIP/rs_snom2-00000076'

Any hints as to why it just hangs up ? I’m stumped…

Thanks,

Leon