Вы должны заглянуть в Asterisk, АТС с открытым исходным кодом
http://www.asterisk.org/
Возможно, вы захотите взглянуть на готовые дистрибутивы, а не начинать с нуля, так как Asterisk вполне настраиваемый и может быть пугающим для новичка на низком уровне (во многом как Apache httpd).
Для отправки описанных вами предупреждений я бы предложил использовать конфигурацию файла спула. Создайте план набора, который при вызове набирает соответствующий номер и воспроизводит нужный файл. Как только это сработает, вы можете поместить файлы в каталог Asterisk, что приведет к вызову этой части вашей абонентской группы. Вы можете передавать параметры и тому подобное в файлы спула, чтобы вам не приходилось создавать каждое сообщение с нуля - его можно было бы зачитать буквенно за буквой на сервере или использовать интеграцию с несколькими механизмами TTS, чтобы попытаться сказать: имя сервера.
Вам понадобится исходящее завершение, чтобы вывести звонок на PSTN, но есть много поставщиков таких услуг. Большинство предлагают цены, когда вы платите небольшую постоянную плату за учетную запись, а затем низкую (порядка центов в минуту) плату за исходящий звонок.
Надеюсь, это поможет.