Model programowania aplikacji komunikacyjnych przy uzyciu Java SIP Servlet API - PowerPoint PPT Presentation

About This Presentation
Title:

Model programowania aplikacji komunikacyjnych przy uzyciu Java SIP Servlet API

Description:

Servlet API Waldek Kot Agenda Dlaczego taki temat ? Kr tkie wprowadzenie do protoko u SIP Demo - Hello SIP Servlet World Kr tkie wprowadzenie do SIP Servlet API ... – PowerPoint PPT presentation

Number of Views:66
Avg rating:3.0/5.0
Slides: 34
Provided by: Waldem5
Category:

less

Transcript and Presenter's Notes

Title: Model programowania aplikacji komunikacyjnych przy uzyciu Java SIP Servlet API


1
Model programowania aplikacji komunikacyjnych
przy uzyciu Java SIPServlet API
  • Waldek Kot

2
Agenda
  • Dlaczego taki temat ?
  • Krótkie wprowadzenie do protokolu SIP
  • Demo - Hello SIP Servlet World
  • Krótkie wprowadzenie do SIP Servlet API
  • Demo - Przykladowe aplikacje
  • Przydatne narzedzia i informacje
  • QA

3
Dlaczego taki temat ?
  • Troche inne zastosowanie Java i pochodnych
    technologii
  • Przelamac opory przed przygladnieciem sie
    technologii telekomunikacyjnej
  • rozumiejac jak sie buduje aplikacje web, juz
    wiecie jak budowac aplikacje komunikacyjne
  • Kariera
  • na horyzoncie sa duze projekty
  • takze w Polsce
  • operatorzy
  • dostawcy technologii i uslug
  • ciekawe konkursy

4
Protokól SIP
  • Internetowy protokól do zarzadzania sesjami
    komunikacyjnymi
  • multi-media
  • Protokól sygnalizacyjny
  • przynajmniej w duzym stopniu
  • Ma wiele wspólnego z HTTP i SMTP
  • Wspólpracuje tez z innymi znanymi IP,
    TCP/UDP/SCTP, DNS, RTP, SDP, NAT, ...
  • z HTTP model client-server (request-response),
    stosowanie URI, statusy
  • Z SMTP protokól tekstowy, naglówki
  • Ale w odróznieniu od HTTP, m.in.
  • jest asynchroniczny (zdarzeniowy)
  • peer-to-peer (np. serwer moze inicjowac
    komunikacje)
  • wiele odpowiedzi do jednego zadania
  • transakcyjnosc
  • wbudowana maszyna stanów
  • SIP nie jest protokolem transportowym
  • nie zarzadza przesylaniem mediów
  • Bardzo bogata rodzina specyfikacji (kilkaset)
  • Glówne specyfikacje RFC3621 do 3265
  • Bardzo duze wsparcie operatorów, dostawców
    sprzetu i oprogramowania

5
Typowa komunikacja w SIP
3 INVITE
4 Contact B
1 REGISTER
5 INVITE
2 REGISTER
8 OK
6 INVITE
9 OK
7 OK
10 ACK
12 BYE
Caller A
11 Media (RTP)
Caller B
6
Przyklad komunikatu SIP (Request)
7
Przyklad 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 naglówki (headers)
  • To
  • From
  • Contact
  • CSeq
  • Call-ID
  • Via
  • Expires
  • Max-Forwards
  • Content-Type
  • Content-Length
  • Record-Route
  • ....

10
Typowa sesja komunikacyjna
11
Inny przyklad sesji (B2BUA)
12
SIP Server
  • przetwarza komunikaty SIP
  • rózne role
  • proxy
  • registrar
  • redirect
  • najbardziej elastyczny gt SIP application server
  • programowalny kontener dla aplikacji SIP
  • czesto udostepniajacy tez inne modele (web,
    J2EE/JEE)
  • integracja róznych swiatów
  • sa rózne 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 programiste
  • Programowanie na wyzszym poziomie abstrakcji
  • Zajmuje sie zlozonymi aspektami (transakcje,
    security, ...)
  • Skalowalnosc, niezawodnosc, wysoka dostepnosc,
    ...

13
Miejsce SIP Servlet
Dialog Management Layer
Transaction Layer
Stos SIP (niskopoziomowa sygnalizacja)
Message Parser (Coder/Decoder)
Transport Layer
TCP
UDP
TLS
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
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.
  • uscislenia m.in. wspólpraca 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
Kompozycja aplikacji
SIP Servlet App. 1
SIP Servlet App. 2
SIP Servlet App. 3
SIPRequestObject
SIPRequestObject
SIPRequestObject
Servlet Container
28
Przydatne narzedzia
  • IDE
  • SIP app server (z kontenerem SIP Servlet)
  • BEA WebLogic SIP Server
  • IBM WebSphere 6.x takza ma prosty kontener SIP
    Servlet
  • Glassfish projekt SailFin wciaz w fazie
    beta/alpha
  • ...
  • Wireshark
  • Telefony
  • Softphone np. X-lite, SJ Phone, ...
  • Hard np. Grandstream
  • SIP client (np. Nokia E61i)
  • SIPp przydatne do testowania, wysyla i
    przetwarza komunikaty SIP
  • Opcje media servers, gateways, ...

29
DemoAplikacja SIP
30
DemoAplikacja konwergentnaClick-to-make-a-confe
rence
31
Przydatne informacje
  • SIP Servlet API
  • http//jcp.org/en/jsr/detail?id116
  • http//jcp.org/en/jsr/detail?id289
  • http//dev2dev.bea.com/wlcp
  • http//www.tech-invite.com
  • http//imsinkubator.pl

32
Podsumowanie
  • Dlaczego taki temat ?
  • Krótkie wprowadzenie do protokolu SIP
  • Demo - Hello SIP Servlet World
  • Krótkie wprowadzenie do SIP Servlet API
  • Demo - Przykladowe aplikacje
  • Przydatne narzedzia i informacje

33
Dzieki ? !
  • Waldek Kot
  • (prv) waldemar_kot_at_gazeta.pl
  • waldemar.kot_at_bea.com
Write a Comment
User Comments (0)
About PowerShow.com