Just a thought, you may way to look in to Asterisk. While it does a lot more than what you've mentioned, it has a very nice interface for doing so. It has a nifty little feature called "AGI" scripts, which are similar to CGI scripts in that it will execute a program every time it gets a phone call, then provides a nice interface for that script to communicate with the caller. | [reply] |
I will certainly look into this. Thank you for that direction.
| [reply] |
Welp, you can do "A" just by reading from the comm line -- the modem if it supports CallerID or ANI will spit out the phone number on ring. "B" get more complicated -- on windows there is a API for extended voicemail modems called TAPI. As far as I know there is no direct perl binding to that. An article that talks about managing a modem with perl in windows is here
now, your post makes me think you are trying to do this on unix. in that case Device::vgetty is the way to go. You can get "B" by using the "RECEIVE_DTMF" event. This will tell you what DTMF was received (0-9,*,#). There is a nice example of this in the POD for Modem::Vgetty. "A" then becomes diffucult because I do not think that vgetty reports callerid as an event -- nor have I found a way to pull that from the modem directly when vgetty is in control.
| [reply] |
More than likely this is going to go on a windows box. Although if there was an easier solution for Unix it could definitely be moved to a different box.
| [reply] |
I did a search on cpan and the ones I looked at really didn't fit my problem.
Then you need to look for a non-perl solution.
| [reply] |
Not necessarily. Just because a search didn’t turn up exactly what I was looking for doesn’t mean I should just give up. I accessed another resource of the vast knowledge of the monks here. Maybe it will turn out that a non-perl answer is best for me. Perl is just my language of choice so I wanted to run down ever angle before abandoning it.
| [reply] |
It means you should find a non-perl solution and ducttape it to perl somehow.
| [reply] |