Jak zbudować softphone (używając protokołu SIP) za pomocą C #

Mam to wyzwanie, aby zbudować softphone SIP przy użyciu technologii c # lub .net.

Poprowadź mnie do technologii, wymagań i specyfikacji potrzebnych do zbudowania takiego.

Możliwe wymagania:

Obsługiwane kodeki:

G.722.1, G.723.1, G.726, G.728, G.711, G.729, G.723.1, iLBC ,: G.711 (A i m-law), G.729A / B / D / E, AMR, GSM 6.10 / EFR, iLBC, Speex

Głos:

Monitorowanie jakości w czasie rzeczywistym (MOS) 3 niezależne linie telefoniczne
Auto-Answer / Do Not Disturb Call
Przekazywanie pełnego dupleksu audio
Nagrywanie kompresuje dane audio.

W pełni kompatybilny z SIP softphone / dialer dla aplikacji PC2Phone i Mobile2Phone (iPhone, Nokia N95) z symbianem s60, powinien zawierać pełny kod źródłowy.

Kompatybilny z Windows 2000 / XP / 2003 / Vista / Mac

Funkcja przechodzenia NAT / Firewall

Współpracuje z dowolnym serwerem SIP innej firmy

Obsługuje wychodzący serwer proxy SIP

Wyświetla saldo konta rozmówcy

Wyświetla czas połączenia

Automatyczne anulowanie echa

Automatyczna regulacja bufora drgań

Ostatni numer Ponowne wybieranie

Historia 10 ostatnio wybieranych numerów

Lista użytkowników szybkiego wybierania

Szybka dostawa dla klientów, wymagana tylko nazwa użytkownika i hasło

questionAnswers(4)

yourAnswerToTheQuestion