Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Model programowania aplikacji komunikacyjnych przy użyciu Java SIP Servlet API Waldek Kot.

Podobne prezentacje


Prezentacja na temat: "Model programowania aplikacji komunikacyjnych przy użyciu Java SIP Servlet API Waldek Kot."— Zapis prezentacji:

1 Model programowania aplikacji komunikacyjnych przy użyciu Java SIP Servlet API Waldek Kot

2 Agenda Dlaczego taki temat ? Krótkie wprowadzenie do protokołu SIP Demo - Hello SIP Servlet World Krótkie wprowadzenie do SIP Servlet API Demo - Przykładowe aplikacje Przydatne narzędzia i informacje Q&A

3 Dlaczego taki temat ? Trochę inne zastosowanie Java i pochodnych technologii Przełamać opory przed przyglądnięciem się technologii telekomunikacyjnej –rozumiejąc jak się buduje aplikacje web, już wiecie jak budować aplikacje komunikacyjne Kariera –na horyzoncie są duże projekty –także w Polsce operatorzy dostawcy technologii i usług –ciekawe konkursy

4 Protokół SIP Internetowy protokół do zarządzania sesjami komunikacyjnymi –multi-media Protokół sygnalizacyjny –przynajmniej w dużym stopniu Ma wiele wspólnego z HTTP i SMTP –Współpracuje też z innymi znanymi: IP, TCP/UDP/SCTP, DNS, RTP, SDP, NAT,... –z HTTP: model client-server (request-response), stosowanie URI, statusy –Z SMTP: protokół tekstowy, nagłówki –Ale w odróżnieniu od HTTP, m.in.: jest asynchroniczny (zdarzeniowy) peer-to-peer (np. serwer może inicjować komunikację) wiele odpowiedzi do jednego żądania transakcyjność wbudowana maszyna stanów SIP nie jest protokołem transportowym –nie zarządza przesyłaniem mediów Bardzo bogata rodzina specyfikacji (kilkaset) –Główne specyfikacje: RFC3621 do 3265 Bardzo duże wsparcie operatorów, dostawców sprzętu i oprogramowania

5 Typowa komunikacja w SIP 11: Media (RTP) Registrar Server User Agent User Agent Redirect Server Proxy Server 5: INVITE 8: OK 9: OK 7: OK 3: INVITE Caller A Caller B 4: Contact B 10: ACK Registrar Server 12: BYE 1: REGISTER 2: REGISTER 6: INVITE

6 Przykład komunikatu SIP (Request)

7 Przykład komunikatu SIP (Response)

8 SIP Request – wybrane metody REGISTER INVITE ACK OPTIONS BYE CANCEL INFO MESSAGE SUBSCRIBE NOTIFY PRACK UPDATE PUBLISH....

9 SIP Request – wybrane nagłówki (headers) To From Contact CSeq Call-ID Via Expires Max-Forwards Content-Type Content-Length Record-Route....

10 Typowa sesja komunikacyjna

11 Inny przykład sesji (B2BUA)

12 SIP Server przetwarza komunikaty SIP różne role –proxy –registrar –redirect najbardziej elastyczny –> SIP application server –programowalny kontener dla aplikacji SIP –często udostępniający też inne modele (web, J2EE/JEE) integracja różnych światów –są różne modele budowy aplikacji SIP (w tym non-Java) SIP Servlet API (JSR-116 i wkrótce JSR-289) SIP CGI JAIN SLEE JAIN SIP... SIP app server wspiera programistę –Programowanie na wyższym poziomie abstrakcji –Zajmuje się złożonymi aspektami (transakcje, security,...) –Skalowalność, niezawodność, wysoka dostępność,... –Zarządzanie –Możliwość integracji z innymi systemami/technologiami

13 Miejsce SIP Servlet Transport Layer TCP UDPTLS Message Parser (Coder/Decoder) Transaction Layer Dialog Management Layer Stos SIP (niskopoziomowa sygnalizacja)

14 Miejsce SIP Servlet Transport Layer TCP UDPTLS Message Parser (Coder/Decoder) Transaction Layer Dialog Management Layer Stos SIP SIP Servlet Container Obiekty Request Response Message... Session API Timer API Deployment Listeners

15 Servlet API – Przypomnienie (?) Request / Response –np. HTTP request / HTTP response Kontener jest hostem dla servletów Mapowanie URI do servletów ServletConfig ServletContext Sesje –bo HTTP jest bezstanowy

16 Demo – Hello World SIP

17 SIP Servlet API JSR-116 –2003 r. wkrótce uaktualnienie JSR-289, m.in. –uściślenia – m.in. współpraca sesji HTTP i SIP –kompozycja aplikacji –adnotacje (podobnie jak w HTTP Servlet 2.5)

18 Model obiektów SIP Servlet

19 Klasa SIP Servlet

20 Klasy SipServletRequest i SipServletResponse

21 Klasa SipFactory

22 Sesje (2 rodzaje)

23 URI i adresy

24 Proxy

25 Timers

26 Mapowanie (w sip.xml)

27 SIP Request SIP Servlet App. 1 SIP Servlet App. 2 SIP Servlet App. 3 Servlet Container SIP Request Object Kompozycja aplikacji

28 Przydatne narzędzia IDE SIP app server (z kontenerem SIP Servlet) –BEA WebLogic SIP Server –IBM WebSphere 6.x takża ma prosty kontener SIP Servlet –Glassfish – projekt SailFin – wciąż w fazie beta/alpha –... Wireshark Telefony –Softphone: np.: X-lite, SJ Phone,... –Hard: np.: Grandstream –SIP client (np. Nokia E61i) SIPp – przydatne do testowania, wysyła i przetwarza komunikaty SIP Opcje: media servers, gateways,...

29 Demo Aplikacja SIP

30 Demo Aplikacja konwergentna Click-to-make-a-conference

31 Przydatne informacje SIP Servlet API –http://jcp.org/en/jsr/detail?id=116http://jcp.org/en/jsr/detail?id=116 –http://jcp.org/en/jsr/detail?id=289http://jcp.org/en/jsr/detail?id=289

32 Podsumowanie Dlaczego taki temat ? Krótkie wprowadzenie do protokołu SIP Demo - Hello SIP Servlet World Krótkie wprowadzenie do SIP Servlet API Demo - Przykładowe aplikacje Przydatne narzędzia i informacje

33 Dzięki ! Waldek Kot (prv)


Pobierz ppt "Model programowania aplikacji komunikacyjnych przy użyciu Java SIP Servlet API Waldek Kot."

Podobne prezentacje


Reklamy Google