2013-04-22 18 views
5

Proszę o utworzenie klienta SIP, ale jestem całkowicie zagubiony ... Po kilku badaniach znalazłem Jain SIP API w Javie i myślę, że go wykorzystam. Jednak tak naprawdę nie wiem, jakich klas powinienem używać i jakie interfejsy powinienem wdrożyć lub nie.Jakie klasy z Jain SIP (java) należy użyć do utworzenia klienta SIP?

Czytałem ten artykuł: http://www.oracle.com/technetwork/articles/entarch/introduction-jain-sip-090386.html

a to: http://hudson.jboss.org/hudson/job/jain-sip/lastSuccessfulBuild/artifact/javadoc/javax/sip/package-summary.html#package_description

Ale nie rozumiem, jaka część powinna wdrożyć dla klienta SIP? SipListener OR SipStack i SipProvider?

Dzięki.

+0

Czy każda odpowiedź ci pomogła? –

Odpowiedz

7

Musisz zaimplementować obie te klasy.

Klasa SipProvider łączy się z twoim punktem końcowym (na przykład Aterisk). Zwróć uwagę, że ta klasa musi znajdować się w kontekście statycznym, ponieważ dozwolone jest tylko jedno połączenie na klienta.

Nie można utworzyć wystąpienia SipProvider wywołującego klasę SipStack, na sipStack.createSipProvider(listeningPoint). Następnie możesz tworzyć transakcje i wysyłać żądania do punktu końcowego.

SipListener to klasa, która przetworzy wszystkie odpowiedzi z twojego serwera. Oznacza to, że każde żądanie wysłane do serwera (via SipProvider) otrzyma odpowiedź na SipListener. Tak więc musisz mieć tego detektora do przetwarzania wszystkich danych zwróconych przez twój punkt końcowy.

Spróbuj zaimplementować kod, który został opisany w artykule o wyroczni, który cytujesz. Zacząłem rozwijać w oparciu o ten artykuł i działa bardzo dobrze!

+0

Dziękuję bardzo za pomoc i opis, który mi daliście, bardzo mi pomogło! – user2308044

+0

Nie ma za co, jeśli masz wątpliwości, po prostu zapytaj! –

+0

Pracuję nad tym samym kodem. Dla ip ustawiłem mój lokalny adres IP i wszystko działało dobrze. Kiedy próbowałem zmienić IP na ip komputera, na którym działa serwer sip, projekt rzucił wyjątki mówiąc, że nie może połączyć się z adresem. Kiedy pingowałem ten adres IP z wiersza poleceń, otrzymywałem szybką odpowiedź. Kiedy dalej debugowałem, stwierdziłem, że wyjątek jest zgłaszany w tej linii: 'sipStack.createListeningPoint'. Czy mógłby ktoś wskazać, jakie właściwości mam ustawić lub jakie zmiany należy wprowadzić, aby działało? –

Powiązane problemy