How to differentiate between auto call answer ivr and real audio of human

hi Guys,

I have a new requirement from my automation team.

we have insurance calls and our agents have to wait long to hear the insurance ivr. we want to skip the insurance ivr and automatically transfer the call to agent when IVR ends and some person form insurance answer the calls.

Is there any way we can achieve this or how can we check this from freepbx that the real person is speaking now.

I am waiting for any ideas or suggestions.

Guys need help on this.

Ask your insurance company for a direct line to bypass the IVR.

If we were to interpret your ‘insurance ivr’ as ‘this particular insurance company’s IVR we are calling’ then Asterisk comes with talkdetect() and AMD() (Answering Machine Detect) . Probably the talkdetect() could work (because AMD() is for outbound calls) but it is intrinsically a ‘one-shot’ function, so you would need to write a context that is ‘re-entrant’ on an unwanted result.

The problem with this solution is that it will surely annoy the insurance company. Once the talking detector hears the remote party answering, it then has to transfer the live call to one of @faisalkhan’s agents. Are they going to answer immediately? Even if so, there’s a lag time while this processing happens. Why should they wait while you queue up? You’re the one calling them, not the other way around.

In my use case, no live human is initially involved, a detected ‘human’ is asked to answer a simple question simplistically “are you a human I can talk to?” , I prefer a second level “Hi there, what’s your name?”, STT checks the answer in a couple of seconds or less, a ‘yes’ response to the simplistic moves on, ‘Joanna’ or ‘Justin’ provides contextual progress indication if you want to be ‘human’ also.

(Passive aggressive first response before finding a live agent, “Please Hold Justin, You made me wait 22 minutes before you answered, I will be back with you in 23 seconds or so, OK?”)


guys thanks for your help.

Actually our agent dials and enters the insurance information and then call goes on IVR hold in which sometimes Call connected to the insurance agent in 2 min or 3 min or sometimes it takes them 10 to 20 mins.
so how to differentiate the IVR RTP and Human RTP. this is the real challenge right now.

@dicko gave you some ideas. Did you try them?

(To be blunt, no one is going to write your business’s money- and time-saving custom asterisk config for free, so take the suggestion and run with it on your own or with hired help.)

1 Like

I know that no one can do this for free but I am asking for the asterisk feature if it supports to differentiate between IVR and Real Audio.

however I am using Asterisk 1.8 so I have to check whether it supports talkdetect() or AMD().

do you think any dialer can help me in this

Seriously Asterisk 1.8 ?
an 11 year old Asterisk, 9 generations out of date?
WHY !! ?

You can check what applications are available by going to the Asterisk CLI: asterisk -r

Then core show applications.

You can get more details on each one with core show application _____ (fill in the blank)

Something (ok, several things) seems weird about what you are saying.

Really? Then how…

FreePBX 15, webrtc, …?

I will assume that these are different customers you are working for.

because we want to upgrade and we did but due to lot of load and services running on the current system we are failed to migrate to the new server.
However, it’s in the migration plan to move to Freepbx 15.

Yes, different customers and different solutions.
You guessed it right :slight_smile:

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.