in reply to Dial Back With Perl?

The UNIX phylosophy is that every program should do one thing but do it the best way. And all your problems could be solved combining several programs. I don't know lots of OpenBSD, but under linux there is s/w mgetty. It comes with utility callback. Therefore that I suggest is take mgetty for answering calls. write your program to ask for phone number and check for presence in your list of allowed numbers. If you find - exec() callback. Otherwise - just exit().