I would like to use a GSM modem to make a voice call to a phone number, play the recorded message, wait for the number to be pressed, and then disconnect the call. The system needs to know if the line was busy if the user answered and what number was pressed by the user (if any). He must lower the line if nothing is pressed after 30 seconds. If the user presses a number before the question is completed, the voice must stop (the user does not need to wait). In addition, it would be nice if the system could process invalid numbers (play the message "wrong digit", play the original message and wait for input). A few concurrent calls would be nice, but I think this is not possible?
I found this article that explains the low-level interface pretty nicely. However, this question is more pragmatic - which libraries and which GSM modem would you recommend? OS - Linux, the modem can be either RS232 or USB. I would prefer Python, but C (++) is fine too.
By the way: this is not telemarketing, this is a notification system. Not that it matters ...;)
EDIT . I found out that this system is known by the keyword "IVR" (added for future search engines).
source
share