When the call is answered we get ANSWER status. But there is no way to find out whether it is answered by a fax machine, Voicemail or a human? I understand that this can NOT be doen using current Digium boards. But Digium are joining Intel ( Dialogic ) and on Dialogic boards you do get detection for answering machines and fax machines etc… So does anyone know whether it is possible or not to use Intel Dialogic boards and get these extra status codes? Or is it early stages to expect something like this?
Yes, this is possible, although at this stage you would need a seperate set of Dialogic boards connect4ed to the Asterisk box that you would then have a piece of software leveraging the Dialogic APIs to invoke the various detection methods. Based on what is detected, you may then transfer into a queue or somewhere else on your Asterisk box.
Having said this, it is possible to do fax/AM detect within the Asterisk software:
To detect fax/AM within the Asterisk software it seems it takes few mili seconds and you need to compile other programs etc… It’s not a question of just testing for one of the status like CHANUNAVAIL | CONGESTION | BUSY | NOANSWER | ANSWER | CANCEL | HANGUP.
Also with Dialogic boards it requires leveraging the Dialogic APIs to invoke the various detection methods then transfer into a queue etc…
Neither of these methods seem very elegant solutions where I could simply test for ANSWERMACHINE | FAXMACHINE | status.
According to Spencer the Intel HMP software and cards contain specialized signal analysis code, which allows call progress detection in many more areas than the open source DSP developed for Asterisk currently does.
I was hoping that sometime in the near future we may have the ability to test for the dialstatus and get ANSWERMACHINE | FAXMACHINE status events using Dialogic boards easily. Let me know what you think.
The design mentioned is how Dialogic cards are used in the vast majority of cases for call progress detection. Further, both Asterisk and Dialogic require some ‘milliseconds’ to detect Answering Machine, as it is all about determining the length of voice energy/silence and that takes a period of time (for example, an Avaya Call Classifier card takes some seconds).
Dialogic and Asterisk have announced they are developing drivers, but I do not know if it will include new features in Asterisk for CPD:
You would need to make an inquiry to Digium to understand what features are planned.
Thanks for you advise MuppetMaster.