Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałŁucyna Szambelan Został zmieniony 11 lat temu
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
Registrar Server Redirect Server Registrar Server 3: INVITE Proxy Server 4: Contact B 1: REGISTER Proxy Server 5: INVITE 8: OK 2: REGISTER 9: OK 6: INVITE User Agent 7: OK 10: ACK User Agent 12: BYE Caller A 11: Media (RTP) Caller B lallala
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 Dialog Management Layer Transaction Layer Stos SIP
(niskopoziomowa sygnalizacja) Message Parser (Coder/Decoder) Transport Layer TCP UDP TLS lallala
14
Miejsce SIP Servlet Obiekty Request Response Message ... Session API
Timer API Deployment Listeners SIP Servlet Container Dialog Management Layer Transaction Layer Stos SIP Message Parser (Coder/Decoder) Transport Layer TCP UDP TLS lallala
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 wkrótce uaktualnienie JSR-289, m.in. 2003 r.
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) lallala
27
Kompozycja aplikacji SIP Request SIP Request SIP “Request Object”
SIP Servlet App. 1 SIP Servlet App. 2 SIP Servlet App. 3 SIP “Request Object” SIP “Request Object” SIP “Request Object” SIP Request SIP Request Servlet Container lallala
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://dev2dev.bea.com/wlcp
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
Waldek Kot (prv) waldemar_kot@gazeta.pl waldemar.kot@bea.com
Dzięki ! Waldek Kot (prv)
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.