Необходима настройка Asterisk или подобного ПО для IP телефонии.
Есть управляющее приложение, которое отправляет команды Asterisk. Asterisk выполняет звонки, и передает результат звонка(взята трубка, абонент занят, нет ответа и тд) обратно в управляющее приложение.