Jak obiecałem umieszczę krótki opis działania usług Mobicents. Jako dalsza część projektu zadaniem mojej grupy było wykonanie sesji SIP oraz wgłębienie się w “wnętrze” Mobicenta aby przedstawić działanie całej usługi. Do nadsłuchiwania sieci użyliśmy programu Wireshark. Chciałbym więc opisać przykład sesji SIP w trakcie poprawnej rozmowy dwóch użytkowników. Użytkownik A (192.168.153.130) – torosvi@nist.gov dzwoni do użytkownika B (192.168.153.131) - hugo@nist.gov. Serwer to 192.168.153.128.

Jak widać wyżej na Graph Analysis:
• Pierwszym połączeniu programu następuje rejestracja użytkownika poleceniem REGISTER od użytkownika do serwera, a ten odpowiada OK 200.
• Następnie gdy użytkownicy A (192.168.153.130) oraz B (192.168.153.131) chcą się komunikować użytkownik nawiązujący połączenie zaprasza drugiego użytkownika poleceniem INVITE które odbiera serwer (192.168.153.128) i przekazuje do drugiego użytkownika B.
• Ten odpowiada wiadomością TRYING o kodzie 100. Kiedy próba połączenia sygnalizowana jest dzwonkiem wysyła on odpowiedź, tj. wiadomość 180 RINGING. Gdy połączenie zostaje odebrane, wysyła odpowiedź 200 OK. Ta wiadomość dociera do użytkownika A, który wysyła żądanie potwierdzenia ACK.
• Połączenie jest ustanowione i pracę przejmuje protokół RTP, który przesyła głos.
• Gdy połączenie ma zostać zakończone, ostatnia transakcja polega na wysłaniu żądania BYE do serwera który przekierowuje je do użytkownika A ten odpowiada wiadomością 200 OK.
Jeśli chodzi o komponenty SBB oraz Resource Adapter który stanowi połączenie (most) pomiędzy siecią a wewnętrznym środowiskiem oraz Event Router który przekazuje informację pomiędzy komponentami w systemie schemat rozmowy opisanej w sesji SIP wyżej wygląda następująco:

• Z zewnątrz przychodzi pakiet z zaproszeniem do rozmowy INVITE
• JAIN SIP RA odbiera go i zamienia na zdarzenie INVITE, z argumentami (nadawca, odbiorca)
• Wysyła je do wnętrza systemu, gdzie Event Router wysyła żądanie akcji do kolejnych komponentów SBB (wg priorytetów).
• Istnieje 5 SBB, Proxy, Registrar, oraz 3 odpowiedzialne za usługi
• Załóżmy, że rozmowa nie będzie ani blokowana, ani przekierowana tylko odbędzie się zwykłe połączenie. Po kolei akcję odbierają SBB o coraz niższych priorytetach i odrzucają ją dopóki nie dojdzie do ProxySbb. Ustawia ono odpowiednią flagę w środowisku, dzięki czemu pozostałe Sbb nie będą reagowały na zdarzenie.
• ProxySbb sprawdza czy odbiorca rozmowy jest zalogowany (komunikuje się z RegistrarSbb). Jeśli tak, to przekierowuje INVITE do odbiorcy. W między czasie wysyła do Event Routera zdarzenie 100 Trying, a ten poprzez RA odsyła to poza sieć.
• Odbiorca wysyła do ProxySbb tą samą drogą (SIP RA -> Event Router) wiadomość 180 Ringing, która jest przekierowywane do nadawcy. Stan ten trwa dopóki odbiorca nie odbierze (200 OK) lub nie odrzuci połączenia (486 BUSY HERE).
• Jeżeli użytkownik nie jest zalogowany, to ProxySbb wysyła do Event Routera wiadomość 480 Temporarily Unavailable, a ten poprzez RA odsyła to poza sieć.
Jak obiecałem całkiem niedawno w wcześniejszym poście umieszczę pełną instrukcję instalacji oraz konfiguracji serwera Mobicents wraz z usługami VoiceMail, CallBlocking oraz CallForwarding. Na początek chcę pokazać jak postawić serwer i usługi oraz jak skonfigurować klientów. A za kilka dni jak znajdę trochę czasu, chociaż ostatnio go brak z powodu sesji pokażę przykładowe sesje SIP oraz pokaże jak to wszystko działa od środka. No więc zaczynamy…
Na początek może pokrótce opiszę co to jest w ogóle Mobicents? Otóż…
Mobicents to open source’owa platforma VoIP zgodna z JSLEE. Jest jednym z popularniejszych serwerów aplikacji wykorzystującym protokół SIP na platformę Java. Należy do wysoko wydajnych silników dla systemów SDP (Service Delivery Platform) i IMS (IP Multimedia Subsystems). Umożliwia on budowanie aplikacji z komponentów SBB przy użyciu EclipSLEE. Architektura systemu (SOA) sprawia, że jest on łatwy do wykorzystania w innych aplikacjach.
1. Instalacja
1.1 Instalacja Mobicents (mobicents-installer-1.0.03.GA.jar)
• w trakcie instalacji zmieniamy ścieżkę dostępu na C:\mobicents>
• w kroku 4 zaznaczamy wszystkie pakiety do instalacji (Examples, Resources, tools)
Po pomyślnym zainstalowaniu serwera Mobicents należy dodać zmienne systemowe:
MOBICENTS_HOME = C:\mobicents
MOBICENTS_EXAMPLES = C:\mobicents\examples
JBOSS_HOME = C:\jboss-3.2.6
1.2 Instalacja JDK - Java Development Kid (jdk-6u3-windows-i586-p.exe)
Po zainstalowaniu JDK do zmiennych systemowych należy dodać wpis z ścieszką do jdk:
JAVA_HOME = C:\Program Files\Java\jdk1.6.0_03
PO DOKONANIU WSZYSTKICH INSTALACJI NIEZBĘDNY JEST RESTART SYSTEMU!
2. Zmiana ustawień w plikach (aby serwer z usługami działał prawidłowo, przed uruchomieniem należy wykonać kilka zmian w plikach)
2.1 Plik pierwszy to build.xml
Ścieżka:
C:\mobicents\examples\lib\build.xml należy zmienić wpis:
< property name=”jnpPorst” value=”1099” / >
< property name=”jnpHost” value=”local_ip” />
local_ip na IP na którym będziemy uruchamiać serwer Mobicents
Read the rest of this entry »
Co się okazało Silverlight 1.1 ma aż tyle nowych funkcji, że nie można pozostać na poprawce w aktualnym numerze wersji. Pisze na swoim blogu dyrektor generalny Microsoft Developer Division Scott Guthrie. Jak wiadomo jest dostępna wersja Silverlight 1.1 Alpha która jest ostatecznym wydaniem z tej wersji. Silverlight 2.0 możemy spodziewać się w pierwszym kwartale 2008 roku w marcu na konferencji MIX 2008 w Las Vegas. Najnowsza wersja zawierać będzie:
- WPF UI Framework - wsparcie dla nowych elementów modelu programowania WPF (panele, dwukierunkowe wiązanie danych czy szablony kontrolek)
- Rich Controls - (TextBox, CheckBox, RadioButton, ScrollViewer, ProgressBar itp.)
- Rich Networking Support - wsparcie dla sieci z wykorzystaniem REST, POX, RSS oraz Web Services
- Rich Base Class Library Support - wsparcie dla LINQ do XML i HTML DOM API
Dla zainteresowanych jest możliwość pobrania najnowszej wersji Silverlight w centrum pobierania Microsoftu.
Źródło: http://weblogs.asp.net/scottgu
Jeden z pracowników Microsoft w swoim własnym blogu oświadczył, iż będą dostępne kody źródłowe platformy .NET oczywiście z komentarzami. Kod obowiązywać będzie podstawowe biblioteki .NET, ASP.NET, Windows Forms, ADO.NET, WPF, oraz XML. Kod oczywiście będzie dostępny publicznie w odróżnieniu od Microsoft Windows.
Źródło:
http://blogs.msdn.com/mharsh/archive/2007/10/03/source-code-for-the-net-framework.aspx
http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx