Дополню ответ
Dmitry Roo. Аналоговый телефон через VoIP-шлюз вы подключите не к ПК, а к сети. Можно к локальной сети, можно сразу через Интернет к VoIP-оператору. В случае локальной сети можно настроить VoIP-сервер. Особых требований к железу нет, в том числе можно настроить такой сервер и на ПК, именно в этом случае вы в рамках конфигурирования сервера можете настраивать различную реакцию на нажатия кнопок и управлять звуковыми потоками. Разумеется, при использовании нескольких телефонов в локальной сети, сервер нужен только один, он будет управлять хоть тысячей телефонов в офисе.
Желательно взглянуть на пример кода.
Легко:
https://github.com/asterisk/asterisk
Только вы будете год разбирать эти исходники (проекту больше 20 лет и над ним до сих пор идёт работа). Это и не нужно. Всё делается на более высоком уровне, есть документация, есть API и т.д.