Progetto di RETI DI CALCOLATORI LS Prof Antonio

  • Slides: 14
Download presentation
Progetto di RETI DI CALCOLATORI L-S Prof. Antonio Corradi SUPPORTO AL MEDIA-OVER-IP Presentazione di:

Progetto di RETI DI CALCOLATORI L-S Prof. Antonio Corradi SUPPORTO AL MEDIA-OVER-IP Presentazione di: Mirko Colleluori 169783 A. A. 2006 -2007

Obiettivi Con il seguente progetto si intende individuare le componenti essenziali dell’intera teoria che

Obiettivi Con il seguente progetto si intende individuare le componenti essenziali dell’intera teoria che fa da supporto al Vo. IP e sviluppare un supporto software che dia corpo al concetto di Voice over IP. Applicazioni: Obiettivi: Telefonia su IP (Vo. IP) e User Location User Availability User Capabilities Session Setup Session Management Data Transmission/Reception Qo. S Monitoring Altro (Sequence Numbering, Time Stamping) servizi telefonici supplementari Video comunicazione (video conference, operator services) Sistemi di notifica di eventi (subscribe/notify) Sistemi di messaggistica (instant messaging, presence services) Simulazioni interattive distribuite e giochi interattivi Misurazioni e controlli in remoto (video surveillance)

Tecnologie e Strumenti RTP / RTCP (IETF - RFC 3550 e 3551): Java Media

Tecnologie e Strumenti RTP / RTCP (IETF - RFC 3550 e 3551): Java Media Framework (JMF v 1. 1) SIP - Session Initition Protocol (IETF - RFC 2543 e 3261) Jain-Sip 1. 1 APPLICAZIONE JAIN RTP SIP TCP RTCP UDP IP SCELTE PROGETTUALI • SIP: si occupa di trovare e stabilire una connessione tra gli utenti, specificando le caratteristiche della comunicazione grazie al SDP, Session Description Protocol presente nel body del messaggio • RTP: permette di inviare lo stream dei pacchetti della voce • RTCP: controlla la Qo. S della trasmissione JMF

Architettura Generale APPLICATION LEVEL COMPONENT LEVEL CORE LEVEL SIP Register SIP Presentity SIP Party

Architettura Generale APPLICATION LEVEL COMPONENT LEVEL CORE LEVEL SIP Register SIP Presentity SIP Party SIP Registrar SIP Watcher SIP TPCC REGISTER PRESENCE 3 PCC RTP Console P 2 P STREAMING SIP Core RTP Core SIP RTP SUPPORTO

Core Level: RTP/RTCP RTP Packet: Java Media Framework (JMF v 1. 1): javax. media.

Core Level: RTP/RTCP RTP Packet: Java Media Framework (JMF v 1. 1): javax. media. rtp. *; javax. media. rtp. rtcp. *; javax. media. rtp. event. *; Streaming RTP Manager RTP RTCP OBIETTIVI Qo. S • inizializzare e avviare Monitoring la partecipazione in una sessione • rimuovere flussi individuali creati da un’applicazione • chiudere l’intera sessione • Qo. S monitoring Package: mediaoverip. rtp. core Receive. Stream Sender. Stream Statistics Time. Stamp SSRC CSRC Numerazione get. Global. Transmission. Stats() get. Global. Reception. Stats() Reports Participants Events Pattern Observer get. All. Participants() get. Remote. Participants() get. Active. Participants() get. Passive. Participants() Session. Event Remote. Event evt Send. Stream. Event evt Receive. Stream. Event evt

Core Level: SIP API JSR 32 Jain-Sip (J 2 SE): javax. sip. *; javax.

Core Level: SIP API JSR 32 Jain-Sip (J 2 SE): javax. sip. *; javax. sip. address. *; javax. sip. header. *; javax. sip. message. *; Modello a eventi: Response Event SIP Message Request OBIETTIVI • formattazione del messaggio SIP • invio/ricevere i messaggi • gestione transazioni con timeout, • gestione stati e ciclo di vita. invite bye ack cancel options register Setup Function create. Listener() SIP Packet: get. Instance() SIP Factory SIP Listener event. Registration create. Provider() SDP URI SIP Provider SIP Stack Proprietary SIP Stack Package: mediaoverip. sip. core Network create. Stack()

Component Level: RTP Console OBIETTIVI • Transmissione RTP: 1 transmitter • Ricezione RTP: 1

Component Level: RTP Console OBIETTIVI • Transmissione RTP: 1 transmitter • Ricezione RTP: 1 receiver • User Location (static) • File transfer (web-cam emulation) • Qo. S monitoring RTP Events User Location RTP Participants Qo. S Monitoring Transmission/ Reception Statistics Package: mediaoverip. rtp. console

Component Level: SIP Register & Presence SIP Register OBIETTIVI • informare il SIP server

Component Level: SIP Register & Presence SIP Register OBIETTIVI • informare il SIP server della localizzazione dell’utente • notifica dello stato (publish/subscribe) Registration Protocol Registration Information SIP Registrar REG ISTE R SUB 200 OK CAN CEL Register Registrar 200 OK Presence Protocol Presence Information Watcher SIP Presentity SIP Watcher SCR IBE 200 OK NOTIFY Presentity Package: mediaoverip. sip. register/registrar Package: mediaoverip. sip. watcher/presentity 200 “Available” OK “NOT Available”

Component Level: SIP Third Party Call Control Protocollo di negoziazione mediata: RTP Console SIP

Component Level: SIP Third Party Call Control Protocollo di negoziazione mediata: RTP Console SIP Party INVITE SDP (from 2) 200 OK 2 INVITE no SDP 5 3 ACK SDP (from 4) SIP 1 SIP Tpcc Package: mediaoverip. sip. tpcc Package: mediaoverip. sip. party 200 OK 6 4 ACK OBIETTIVI • negoziazione fra due end-system che non si conoscono (Party): mediatore (Tpcc) che coordina lo scambio di informazioni

Third Party Call Control: Sequence Diagram (1) SIP Listener SIP Factory SIP Provider Client

Third Party Call Control: Sequence Diagram (1) SIP Listener SIP Factory SIP Provider Client Transaction Dialog A Dialog B SIP Party A SIP Party B 1. CREATE INVITE invite. A 2. CREATE TRANSACTION new 3. SEND REQUEST listener, A 4. INVITE offer. A 5. 200 OK 6. CREATE INVITE 7. CREATE TRANSACTION offer. A invite. B new 8. SEND REQUEST 9. INVITE 10. SEND ACK listener, B offer. A offer. B 12. SEND ACK offer. B 11. 200 OK

Third Party Call Control: Sequence Diagram (2) SIP Listener SIP Factory 15. SEND REQUEST

Third Party Call Control: Sequence Diagram (2) SIP Listener SIP Factory 15. SEND REQUEST Client Transaction Dialog A Dialog B SIP Party A invite. C transaction. C 16. RE-INVITE offer. B 18. SEND ACK SIP Party B body = offer. B 13. CREATE INVITE 14. CREATE TRANSACTION SIP Provider 17. 200 OK offer. B RTP

Caso di Studio: Operator Service (1) Entità: • Register, Operator, Client Regole: 1. Il

Caso di Studio: Operator Service (1) Entità: • Register, Operator, Client Regole: 1. Il Service deve fornire gli strumenti a Client e Operator per registrarsi al servizio 2. Il Service deve monitorare lo stato di Client e Operator 3. Operator deve monitorare i Client inviatigli dal Service, Client manifesta (notifica) il suo interesse a essere servito 4. Operator gestisce il rendez-vous tra coppie di Client (user/expert) 5. I Client devono comunicare attraverso streaming audio/video SERVICE OPERATOR SIP Registrar REGISTRATION SIP Register 1 SIP Watcher PRESENCE SIP Presentity 2 SERVICE CLIENT SIP Registrar REGISTRATION SIP Register 1 SIP Watcher PRESENCE SIP Presentity 2 OPERATOR CLIENT SIP Watcher PRESENCE SIP Presentity 3 SIP Tpcc TPCC SIP Party 4 CLIENT RTP Console CLIENT P 2 P STREAMING RTP Console 5

Caso di Studio: Operator Service (2) Fattorizzando: CLIENT OPERATOR SIP Registrar SIP Register SIP

Caso di Studio: Operator Service (2) Fattorizzando: CLIENT OPERATOR SIP Registrar SIP Register SIP resentity SIP Tpcc SERVICE SIP Party SIP Presentity SIP Register RTP Console SIP Watcher Vantaggi: • Distribuzione di un’entità su più nodi complessità (overhead) load balancing • Replicazione “modulare” fault tolerance SUPPORTO: • Architettura modulare come “ossatura” del servizio Cosa manca ? • Scelta deployment distribuito • Coordinamento dei componenti per realizzare l’application logic di ciascuna entità SERVICE SIP Register SERVICE SIP Proxy • Flessibilità, Estendibilità SIPProxy SIPRedirect SIP Register SERVICE SIP Watcher

Riferimenti Session Initiation Protocol (SIP): http: //www. cs. columbia. edu/sip SIP RFC 3261 (RFC

Riferimenti Session Initiation Protocol (SIP): http: //www. cs. columbia. edu/sip SIP RFC 3261 (RFC 3261) http: //www. faqs. org/rfcs/rfc 3261. html http: //rfc. sunsite. dk/rfc 3261. html RTP: RFC 1889 (RFC 1889) http: //www. faqs. org/rfcs/rfc 1889. html http: //rfc. sunsite. dk/rfc 1889. html “Jain SIP Tutorial, Serving the Developer Community”, Phelim O’Doherty (Sun Microsystems), Mudumbai Ranganathan (NIST) “Sip Tutorial”, progetto GEMINI, Josè Soler Lucas (COM) “The Session Initiation Protocol (SIP)”, Henning Schulzrinne, Dept. of Computer Science, Columbia University, New York Java Media Framework (JMF): http: //java. sun. com/products/java-media/jmf/ “Una applicazione multimediale di rete basata su un framework di classi Java”, tesi di laurea di Silvia Summa, 2000 Wikipedia http: //it. wikipedia. org