Detecting IVR or Human in forwarded call


Is it possible to detect in forwarded call that real human answered or it is just IVR? Phone call is being recorded.

Asterisk is taken out of the loop on truly forwarded calls. Do you mean the B side of a normal, two party, call?

You can run a subroutine on that side of the call, although there won’t be through audio whilst you do it. Typically you ask the callee to perform some action to confirm that they were an intelligent being, rather than a machine.

Yes, you use local channels. You could use something like Local/${EXTEN}@forward-call which will dial that exten@context, in there you setup your forwarded call and when they answer you send them to a context that uses AMD to detect if they are human or not.

By using Local channels when the call connects it will flip the channel from outbound to inbound allowing you to play your message, prompt for actions and handle what they enter.

Local channels don’t change the essential direction of the call, and, in this case, would be optimised out the moment the IVR or person answered.

OK, I was generalizing as Local channels are two leg channels. An outbound and an inbound, the channel executing dialplan is the inbound channel.

Using AMD to detect if the called channel was answered by a human or a machine (IVR, voicemail, etc) can be done. I do it quite a bit but generally with callfiles or an originate command from outside Asterisk. But totally possible and doable.

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