Program do obsługi przekierowywania połączeń

Witam

Chciałbym napisać program sterujący przekierowywaniem połączeń telefonicznych. Mam określony numer telefonu i na ten numer dzwoni wiele osób. Program miałby wykrywać te połączenia i automatycznie przekierowywać je na inne numery telefonów ( które byłyby wybierane wg jakichś określonych reguł ). Głównym problemem jest to, że nie za bardzo wiem od której strony mam to ugryźć. Jak przechwytywać połączenia w programie, jak je przekierowywać, jak połączyć telefon z komputerem ( i czy w ogóle trzeba to robić ), a może wykorzystać do tego jakiś istniejący już program ? Oczywiście nie proszę o gotowe rozwiązanie, tylko o wskazówki, które nakierują mnie na właściwą drogę ; )

Chciałbym do tego użyć C++.

EDIT

Pomyślałem o czymś takim:

Wszystkie połączenia na dany numer byłyby przekierowywane przez telefon na inny numer - numer, który łączyłby ze skype’m ( chyba jest możliwość dzwonienia z telefonu na skype (?) ). Następnie do akcji wkraczałby mój program - przechwytywałby połączenie ze skype’a, ustalał dla niego inny numer i wymuszał na skype’ie przekierowanie połączenia. Tylko teraz pozostaje kwestia tego w jaki sposób mój program współpracowałby ze skype. Co o tym myślicie ?

Pozdrawiam

Telefon współpracujący z gnokii i powinieneś był coś wykombinować… Przykładowo.