Problem
Would like to detect if an incoming call was answered by a person or a machine.
Details
Am using Twilio. And Twilio does have this feature. However, the way it is implemented within their system seems ill-suited to my use case.
Twilio uses answering machine detection to control the flow of the call. Because of this, Twilio waits a few seconds after the call connects in order to analyze the audio from the call to see if it is an answering machine. It does not continue with connecting the call until after it has delayed the call and performed this analysis.
For my use case. Weather the call was answered by a person or machine does not affect the call flow... so the delay is not necessary. It only affects statistics that are needed later on. Namely in this case "How often is the person who I am paying to answer the phone actually answering the phone as opposed to missing the call and letting it go to voice mail?"
All incoming calls are forwarded to a phone. Usually a cell phone.
Question
Is there a way to detect id the call was answered by a person or machine after the fact, but with no delay using Twilio?
If not, is there another pattern I have not thought of that can be used to accomplish the same objective? (To detect the frequency that an employee is answering the phone as opposed to missing calls)
Other things I have considered
- Extend the number of rings on the cell phone, then let Twilio take the voice mail instead of the cell phone provider's voice mail.
- The problem with this solution is that a lot of cell phone providers do not allow you to change the number of times that the phone will ring before voice mail picks up. Even more difficult is that the number of rings is not set. The cell phone provider might take a more or less time to locate the phone and this counts against the amount of time that the phone will ring before it goes to voice mail.
- Implement answering machine detection within my own application (Python)
- This is probably a viable alternative. The problem here is that I know very little about how Python could be used to analyze an audio file to see if it sounds like a person or a machine picked up.