Protokół SIP w skrócie

Podobne dokumenty
SIP: Session Initiation Protocol

SIP: Session Initiation Protocol. Krzysztof Kryniecki 16 marca 2010

SIP: Session Initiation Protocol

SIP: przesłanki. Standard Internetowy. Wykorzystanie adresacji Internetowej. Wykorzystanie zasad kodowania HTTP

STUDIA PODYPLOMOWE: TELEKOMUNIKACJA, TELLEINFORMATYKA DLA NIEINŻYNIERÓW

STUDIA PODYPLOMOWE: TELEKOMUNIKACJA, TELLEINFORMATYKA DLA NIEINŻYNIERÓW

Usługi IMP i konferencyjne

jest protokołem warstwy aplikacji, tworzy on sygnalizację, aby ustanowić ścieżki komunikacyjne, a następnie usuwa je po zakończeniu sesji

Programowanie w Internecie

1. Wprowadzenie Środowisko multimedialnych sieci IP Schemat H

Sygnalizacja Kontrola bramy Media

Bezpieczeństwo VoIP SIP & Asterisk. Autor: Leszek Tomaszewski ltomasze@elka.pw.edu.pl

SNG architektura i protokół SIP Materiały wykładowe do użytku wewnętrznego

Bezpieczny system telefonii VoIP opartej na protokole SIP

Instant Messaging with SIMPLE. Michał Albrycht

Technologie internetowe

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Protokoły sieciowe - TCP/IP

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

IP Multimedia Subsystem

Zarządzanie ruchem i jakością usług w sieciach komputerowych

Sygnalizacja Kontrola bramy Media

Krajowe Sympozjum Telekomunikacji i Teleinformatyki KSTiT Autorzy: Tomasz Piotrowski Szczepan Wójcik Mikołaj Wiśniewski Wojciech Mazurczyk

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Telefonia Internetowa VoIP

Orange Send MMS. Autoryzacja. Metoda HTTP. Parametry wywołania. API wyślij MMS dostarcza wiadomości MMS. Basic POST

Wybrane działy Informatyki Stosowanej

1. Model klient-serwer

Implementacja protokołu komunikacyjnego

Dr Michał Tanaś(

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

1. Architektura logiczna Platformy Usługowej

Java wybrane technologie

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP (96) Data i numer zgłoszenia patentu europejskiego:

Sieci Komputerowe Modele warstwowe sieci

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP (96) Data i numer zgłoszenia patentu europejskiego:

1.1 Podłączenie Montaż Biurko Montaż naścienny... 4

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, . A. Kisiel,Protokoły DNS, SSH, HTTP,

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Gatesms.eu Mobilne Rozwiązania dla biznesu

Sieci komputerowe Warstwa aplikacji

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Protokół HTTP 1.1 *) Wprowadzenie. Jarek Durak. rfc2616 źródło

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

ZiMSK. Konsola, TELNET, SSH 1

ZiMSK dr inż. Łukasz Sturgulewski, DHCP

Remote Quotation Protocol - opis

DOKUMENTACJA TECHNICZNA SMS API MT

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

Serwery multimedialne RealNetworks

Sieci komputerowe - administracja

Sieci komputerowe i bazy danych

Transmisja danych multimedialnych. mgr inż. Piotr Bratoszewski

Sieci komputerowe Warstwa transportowa

PSI Protokół HTTP + wstęp do przedmiotu. Kraków, 10 październik 2014 mgr Piotr Rytko Wydział Matematyki i Informatyki UJ

Technologia VoIP Podstawy i standardy

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Model sieci OSI, protokoły sieciowe, adresy IP

Realizacja usług w IMS

Na podstawie: Kirch O., Dawson T. 2000: LINUX podręcznik administratora sieci. Wydawnictwo RM, Warszawa. FILTROWANIE IP

Kielce, dnia roku. HB Technology Hubert Szczukiewicz ul. Kujawska 26 / Kielce

Załącznik nr 1. Próbki tekstu do tłumaczenia. Łódź, r.

Sieci komputerowe - warstwa transportowa

Przesyłania danych przez protokół TCP/IP

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Protokół SIP w pigułce. Marek Średniawa

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Architektura aplikacji sieciowych. Architektura klient-serwer

Laboratorium 6.7.2: Śledzenie pakietów ICMP

Technologia VoIP w aspekcie dostępu do numerów alarmowych

Plan wykładu. Domain Name System. Hierarchiczna budowa nazw. Definicja DNS. Obszary i ich obsługa Zapytania Właściwości.

Specyfikacja HTTP API. Wersja 1.6

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Dokumentacja REST API v 3.0. Kraków, 7 marca FreshMail, ul. Fabryczna 20a, Kraków tel , freshmail.

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

ARP Address Resolution Protocol (RFC 826)

Informacje które należy zebrać przed rozpoczęciem instalacji RelayFax.

Połączenia VoIP z firmą Slican

Zarządzanie ruchem w sieci IP. Komunikat ICMP. Internet Control Message Protocol DSRG DSRG. DSRG Warstwa sieciowa DSRG. Protokół sterujący

Konfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

HomeNetMedia - aplikacja spersonalizowanego dostępu do treści multimedialnych z sieci domowej

Krótka instrukcja instalacji

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Bezpieczne protokoły Materiały pomocnicze do wykładu

Laboratorium Sieci Komputerowych - 2

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

MODEL OSI A INTERNET

Zarządzanie sieciami komputerowymi - wprowadzenie

1. W protokole http w ogólnym przypadku elementy odpowiedzi mają: a) Postać tekstu b) Postać HTML c) Zarówno a i b 2. W usłudze DNS odpowiedź

onfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

Transkrypt:

Protokół SIP w skrócie

SIP: przesłanki Standard Internetowy IETF - http://www.ietf.org RFC 3261 i wiele innych powiązanych norm RFC Wykorzystanie adresacji Internetowej URL, DNS, proxy Użycie bogactwa funkcjonalnego Internetu Wykorzystanie zasad kodowania HTTP Tekstowy protokół Niezależność od protokołów transportowych TCP, UDP, X.25, FR, ATM, Obsługa trybu multicast 2

SIP: Session Initiation Protocol Protokół aplikacyjny (tekstowy): ustanawianie, modyfikacja, likwidacja i zarządzanie przebiegiem multimedialnych sesji komunikacyjnych rozwinięcie HTTP i SMTP opracowane przez IETF Multiparty Multimedia Session Control (MMUSIC) WG RFC 3261 (wcześniej 2543bis) Model P2P (peer-to-peer) Alternatywa dla H.323 3

SIP aspekt usługowy Mobilność Dostęp do usług z dowolnego urządzenia z dowolnego miejsca w Internecie Obecność Czynnik otwierający nowy wzorzec komunikacji Natychmiastowa komunikacja Usługi głosowe Jakość lepsza niż w PSTN Wideopołączenia i widekonferencja Współpraca grupowa Interaktywne sesje 4

Co można zrobić za pomocą protokołu SIP Wykorzystanie środowiska SIP VoIP IM IPTV Audio i wideokonferencja NGN Wbudowanie komunikacji w aplikacje Poprawa produktywności Click to call, IM Zarządzanie połączeniami przez internet Identyfikacja, internet call waiting Poczta głosowa Integracja z procesami biznesowymi Automatyczna generacja połączeń dla scenariuszy współpracy 5

Geneza SIP Korzenie koncepcji SIP: Zapraszanie użytkowników do sesji multimedialnych w sieci Mbone Historia 1996 Mark Handley SIP, Henning Schulzrinne - SCIP 1996-97 Zainteresowanie w kręgach akademickich 1998 Początek zainteresowania komercyjnego SIP postrzegany jako realizacja VoIP zgodnie z duchem Internetu 1999 Pierwsza wersja RFC 2543 opublikowana przez IETF 1999-02 Bardzo duży wzrost zainteresowania ze strony usługodawców i dostawców. Uzupełnianie i korekta RFC 2543 kolejne wersje. 2001/10 RFC 2543bis wersja 05 przypominająca standardy ETSI i ITU-T 6

SIP historia Opracowany przez Internet Engineering Task Force (IETF) Pomysłodawcy: M. Handley, H. Schulzrinne, E. Schooler i J. Rosenberg Propozycja standardu i norma RFC 2543 w marcu 1999 w grupie roboczej IETF MMUSIC WG Powołanie oddzielnej grupy roboczej SIP WG we wrześniu 1999 Obecnie protokołem SIP zajmują się nowe grupy robocze: SIPPING - aplikacje SIMPLE obecność i natychmiastowa komunikacja (presence and instant messaging) RFC2543bis-09 stał się RFC 3261 w czerwcu 2002 Nowi współautorzy: G. Camarillo, A. Johnston, J. Peterson i R. Sparks Cała specyfikacja napisana od nowa przede wszystkim dla poprawienia czytelności, ale także pewne nowe funkcje Zgodność wstecz z RFC 2543 7

SIP zakres funkcjonalności protokołu Możliwości punktu końcowego SIP UA Znajdowanie drugiego UA Znajdowanie serwera SIP, który umożliwia znalezienie drugiego UA Ustanowienie sesji medialnej poprzez wymianę oferty/odpowiedzi Modyfikacja trwającej sesji medialnej poprzez wymianę oferty/odpowiedzi Wyrażenie możliwości i funkcji UA Żądanie wykonania działań związanych ze sterowaniem sesją przez (zdalną) stronę trzecią Uzyskanie informacji o statusie, możliwościach funkcjonalnych i dostępności drugiego UA Wymiana informacji sygnalizacyjnej w trakcie sesji Wymiana wiadomości natychmiastowych z innymi UA 8

SIP - charakterystyka Typy adresacji: Internetowy adres sip adres e-mail Telefoniczny Rejestracja Numer telefoniczny E.164 Użytkownik może się zarejestrować wykorzystując swój ID w celu uzyskania dostępu do swoich danych i usług, niezależnie od rejestracji urządzenia 9

SIP: Przesłanki Łatwość implementacji Zasada IETF KISS (Keep It Simple Stupid!) Uwzględnienie wymagań i możliwości Internetu Uniknięcie narzucenia konkretnej architektury fizycznej i konkretnych usług Uniwersalna funkcjonalność Wykorzystanie najlepszych standardów IETF URL MIME RFC 822 Skalowalność 10

SIP:architektura Uogólnienie architektury internetowej pajęczyny WWW Prostota: model klient-serwer zasada żądanie-odpowiedź (Request - Response) Serwery Proxy, Redirect, Registrar Serwery aplikacji Konsekwencje: Upowszechnienie kreacji usług SIP Wiele SIP API (SIP servlets, CPL oparty na XML, JAIN) Rozwój narzędzi do projektowania usług (CGI) 11

SIP - koncepcja architektury Usługi Katalogi: DNS ENUM Ustanawianie sesji: SIP SDP Transport: RTP AAA: Radius Diameter SDP: Session Description Protocol RTP: Real-time Transport Protocol Sieć IP Ruting i QoS zapewniane przez sieć IP Punkty końcowe PSTN Brama PSTN Telefon IP Aplikacja VoIP System poczty głosowej 12

SIP stos protokołów Media HTTP H.323 SIP RTP RTCP TCP SCTP IPv4/IPv6 UDP PPP AALx Ethernet GPRS SONET V.x ATM 13

Trapez SIPowy DNS Server Location Server DNS Outbound Proxy Server SIP Inbound Proxy Server SIP RTP SIP User Agent A User Agent B 14

SIP: elementy architektury User Agent Client - UAC systemy końcowe wysyłają żądania SIP (np. żądanie ustanowienia połączenia) User Agent Server - UAS odbiera żądania połączeń wysyłane przez innych agentów wysyła odpowiedzi w imieniu użytkownika User Agent - Agent Użytkownika (typowy terminal) UAC + UAS Redirect Server Przekierowuje użytkownika na inny serwer Proxy Server reprezentuje żądanie do innego serwera. Może rozwidlić żądanie na wiele serwerów, budując drzewo przeszukiwania Registrar odbiera zgłoszenia rejestracyjne UA (User Agents) Location Server Baza danych o użytkownikach 15

SIP: adresacja Format zbliżony do formatu adresów e-mail user@domain user@host user@ip_address lub phone-number@gateway SIP-URL = sip: [userinfo @ ] hostport url-parameters [headers]: 16

SIP URI (Uniform Resource Indicators) Dwa warianty URI: sip:henry@siptest.wcom.com (SIP URI) Najpopularniejsza forma wprowadzona w RFC 2543 sips:henry@siptest.wcom.com (Secure SIP URI) Nowa forma wprowadzona w RFC 3261 Wymaga TLS na TCP jako mechanizmu transportowego zapewniającego ochronę informacji Dwa typy SIP URI: Address of Record (AOR) (identyfikuje użytkownika) sip:henry@wcom.com (wymaga rekordów DNS SRV w celu lokalizacji serwerów SIP w domenie wcom.com) Fully Qualified Domain Name (FQDN) lub Contact (identyfikuje urządzenie) sip:henry@127.24.45.4 lub sip:henry@cube43.lab.wcom.com (nie wymaga roztrzygania przy rutingu) 17

SIP i URI URI Uniform Resource Identifier - uogólnienie URL Adresy SIP są także identyfikatorami URL!!! SIP umożliwia użycie dowolnego URI w miejscu, w którym może być użyty SIP URL Zastosowania: przekierowywanie połączeń na stronę WWW przekierowywanie połączeń na złożone adresy URL w celu udostępnienia serwera WWW z bazą danych 18

Podstawowe wiadomości (metody) SIP INVITE inicjowanie ustanowienia sesji BYE zakończenie trwającej sesji OPTIONS zapytanie o opcje i funkcjonalność serwera lub UA CANCEL anulowanie żądania w toku ACK potwierdzenie finalnej odpowiedzi na INVITE REGISTER rejestracja URI użytkownika w serwerze rejestrowym SIP (związanie URI urządzenia z AOR) 19

Podstawowe wiadomości (metody) SIP INVITE BYE OPTIONS CANCEL ACK Inicjowanie ustanowienia sesji Zakończenie trwającej sesji Zapytanie o opcje i funkcjonalność serwera lub UA Anulowanie żądania w toku Potwierdzenie finalnej odpowiedzi na INVITE RFC 3261 RFC 3261 RFC 3261 RFC 3261 RFC 3261 REGISTER Rejestracja URI użytkownika w serwerze rejestrowym SIP (związanie URI urządzenia z AOR) RFC 3261 20

Dodatkowe wiadomości (rozszerzenia) SIP INFO PRACK UPDATE REFER SUBSCRIBE PUBLISH NOTIFY MESSAGE Transport sygnalizacji w trakcie sesji Potwierdzenie prowizorycznej odpowiedzi Aktualizacja informacji o stanie sesji Transfer użytkownika pod adres określony przez URI Żądanie zaabonowania powiadamiania o zdarzeniach Przekazanie informacji o zmianie statusu do serwera Transport powiadomienia o zaabonowanym zdarzeniu Transport treści wiadomości natychmiastowych RFC 2976 RFC 6086 RFC 3262 RFC 3311 RFC 3515 RFC 3265 RFC 3903 RFC 3265 RFC 3428 21

SIP obsługiwane schematy URI sip:, sips: tel: pres: im: http: xmpp: Adres SIP i bezpieczny adres SIP Numery telefoniczne i sekwencje wybierania Zasób obecności Zasób wymiany wiadomości natychmiastowych Hyper Text Transport Protocol dla stron internetowych Jabber IM i URI związane z obecnością RFC 3261 RFC 3999 RFC 3861 RFC 3861 RFC 2616 ID H323:, h323: URL H.323 RFC 3508 22

SIP: odpowiedzi Kod Opis Przykłady 1xx 2xx 3xx 4xx 5xx 6xx Informacyjne żądanie odebrane, trwa kontynuacja przetwarzania żądania. Sukces akcja odebrana, zrozumiana i Zaakceptowana. Przekierowanie konieczne podjęcie dalszych działań w celu zakończenia żądania. Błąd klienta błędna postać żądania lub niemożność realizacji żądania przez dany serwer. Błąd serwera serwer nie był w stanie zrealizować żądania. Globalny błąd żądanie nie do zrealizowania przez dostępne serwery. 180 Ringing 181 Call is Being Forwarded 200 OK 300 Multiple Choices 302 Moved Temporarily 401 Unauthorized 404 Not found 408 Request Timeout 503 Service Unavailable 505 Version Not Suported 600 Busy Everywhere 603 Decline 23

2Callee SIP: zestawienie połączenia w trybie Proxy Serwer DNS Serwer lokalizacji Caller@sip.com DNS Srv Query? onet.com Reply : IP Address of onet.com SIP Server INVITE sip:bob@onet.com From: sip:caller@sip.com To: sip:bob@onet.com Call-ID: 345678@sip.com 1 bob@192.219.223.160 3 INVITE sip:bob@192.219.223.160 From: sip:caller@sip.com To: sip:bob@onet.com Call-ID: 345678@sip.com 4 bob@onet.com 6 200 OK From: sip:caller@sip.com To: sip:bob@onet.com Call-ID: 345678@sip.com PROXY 200 OK From: sip:caller@sip.com To: sip:bob@onet.com Call-ID: 345678@sip.com 5 7 ACK sip:bob@onet.com 8 Media 24

SIP Proxy Pośredni element, który spełnia rolę zarówno serwera jak i klienta w celu realizacji żądań w imieniu innych klientów Ruting jako główna funkcja Przezroczystość dla urządzeń końcowych Interpretuje i jeśli zachodzi potrzeba modyfikuje żądanie przed przekazaniem go dalej Nagłówki, które mogą podlegać modyfikacji: Request-URI Via Record-Route Route Max-Forwards Proxy- Authorization 25

Callee SIP: serwer przekierowujący - Redirect LOCATION SERVER Caller@sip.com 2 Callee@home.com 3 1 INVITE Callee@example.com 4 302 Moved Temporarily Contact:Callee@home.com 5 ACK Callee@example.com PROXY 6 INVITE Callee@home.com Callee@home.com 7 200 OK INVITE 8 ACK Callee@home.com 26

Serwery: Redirect Definicja: serwer odbierający rozkazy SIP (Req) od klientów i wysyłający odpowiedzi (Res) typu 3xx (Redirection), kierujące klientów pod alternatywne zestawy adresów SIP Odpowiedzi typu Redirection (wg RFC 3261) 300 Multiple choices 301 Moved permanently 302 Moved temporarily 305 Use proxy 380 Alternative service 27

Serwer Registrar Serwer akceptujący rozkazy REGISTER i przekazujący zawarte w nich informacje do usługi lokalizacyjnej w zarządzanej przez siebie domenie. Zapewnienie odwzorowania miedzy zewnętrznie znanym adresem(ami) użytkownika a jego obecnym adresem(ami) fizycznym(i). Pobieranie aktualnych odwzorowań (odczytywanie). Usługa lokalizacyjna: baza danych (LDAP, SQL,...) 28

marek@ 195.37.78.173 SIP Registrar Location Database Rejestracja ustanawia obecność przez 1 godzinę użytkownika: sip:marek@sredniawa.eu i wiąże ten adres SIP z bieżącą jego lokalizacją:195.37.78.173. #2 REGISTER sip:sredniawa.eu SIP/2.0 From: sip:marek@sredniawa.eu To: sip:marek@sredniawa.eu Contact: <sip:195.37.78.173> Expires: 3600 #1 #3 SIP/2.0 200 OK SIP Registrar (domena sredniawa.eu) 29

SIP wybrane nagłówki From Pole wskazujące SIP URL nadawcy. From: Dana Scully <sip:dana@skeptics.org> From: sip:+1-314-342-7360@gateway.wcom.com; tag=1234567 f: sip: guest@192.168.1.1 Max-Forwards Licznik zmiejszany przez każdy serwer proxy przy przekazywaniu wiadomości. Wyzerowanie licznika generuje odpowiedź 483 Too Many Hops Max-Forwards: 10 Priority Priorytet wiadomości. Priority: normal Priority: emergency Record-Route Dodawany do żądania przez serwer proxy, który musi się znaleźć na ścieżce wiadomości w przyszłości.. Record Route: sip.mci.com Require Wskazuje wymagane opcje sesji. Require: local.telephony Response-Key Zawiera klucz PGP key dla oczekiwanej zaszyfrowanej odpowiedzi. Response-Key: pgp info Retry-After Wskazuje termin kiedy zasób będzie dostęny. Retry-After: 3600 Retry-After: Sat, 01 Jan 2000 00:01 GMT 30

SIP wybrane nagłówki Route Określa trasę wiadomości. Route: orinoco.brooks.net Subject To Unsupported Przekazuje pomocniczą informację o typie sesji. Obowiązkowe pole określające adresata sesji jego SIP URL. Listuje funckje nie obsługiwane przez serwer. Subject: More about SIP s: You d better answer! To: Fox Mulder <sip:mulder@ lonegunman.org> To: sip:10109000@operator.mci.com; tag=314 t: sip:1800collect@telecom.mci.co m; tag=52 Unsupported: tcap.telephony Via Wskazuje ścieżkę, przez Via: SIP/2. 0/UDP sip.mfs.com którą przeszła wiadomość. Via: SIP/2.0/TCP uunet.com v: SIP/2.0/UDP 192.168.1.1 Warning Kod i treść ostrzeżenia. Warning: 331 Unicast not available 31

Nagłówki SIP związane z rutingiem Request-URI: bieżące położnie, może się zmienić na ścieżce sygnalizacyjnej Contact: występuje w INVITE / OPTIONS / ACK / REGISTER i odpowiedziach. Wskazuje bezpośredni adres odpowiedzi, na który kolejne transakcje będą wysyłane. Via: Identyfikuje lokalizację gdzie ma być wysłana odpowiedź Record-Route: wstawiany przez proxy w żądaniu w celu wymuszenia aby przyszłe żądania w dialogu były kierowane przez dany węzeł proxy Route: służy do wymuszania rutingu żądania przez podana listę proxy 32

Ruting w protokole SIP Ruting żądań inicjujących sesję Oferowanie sesji adresatowi (np. dzwonek - informowanie o połączeniu przychodzącym ) Ruting odpowiedzi Poinformowanie inicjującego sesję o reakcji adresata sesji Ruting kolejnych żądań Monitotowanie przez serwery Proxy postępu sesji lub jej zakończenia 33

Protokoły związane z SIP SDP Session Description Protocol Tekstowa notacja służąca do opisu sesji medialnych Dane przekazywane w treści wiadomości SIP Wykorzystuje profile RTP/AVP dla najczęściej spotykanych typów mediów Zdefiniowany w normie RFC 2327 RTP Real-time Transport Protocol Wykorzystywany do trasportu pakietów mediów po IP RTP dodaje nagłówek zawierający: Nazwę źródła mediów Stempel czasowy Typ kodeka Numer sekwencyjny Zdefiniowany w RFC 1889 (H. Schulzrinne i inni) Profile zdefiniowane w RFC 1890 34

Struktura wiadomości SIP - INVITE INVITE sip:userb@there.com SIP/2.0 Via: SIP/2.0/UDP 4.3.2.1:5060 To: User B <sip:userb@there.com> From: User A <sip:usera@here.com> Call-ID: 4598998103413@4.3.2.1 CSeq: 1 INVITE Contact: <sip:usera@4.3.2.1> Content-Length: 126 Nagłówek To nazwę użytkownika (User A), następnie URL inicjatora w nawiasach kątowych <> (sip:usera@here.com) 35

Struktura wiadomości SIP - INVITE INVITE sip:userb@there.com SIP/2.0 Via: SIP/2.0/UDP 4.3.2.1:5060 To: User B <sip:userb@there.com> From: User A <sip:usera@here.com> Call-ID: 4598998103413@4.3.2.1 CSeq: 1 INVITE Contact: <sip:usera@4.3.2.1> Content-Length: 126 Nagłówek Call-ID zawiera unikalny identyfikator sesji. Tworzą go unikalny lokalny losowo wygenerowany identyfikatora, znak @ i unikalna globalnie nazwa węzła (host) lub adres IP, tworząc unikalny łańcuch. Wszystkie żądania i odpowiedzi w trakcie sesji mają ten sam Call-ID. Unikalne łańcuchy Call-ID mogą być generowane również w inny sposób. 36

Struktura wiadomości SIP - INVITE INVITE sip:userb@there.com SIP/2.0 Via: SIP/2.0/UDP 4.3.2.1:5060 To: User B <sip:userb@there.com> From: User A <sip:usera@here.com> Call-ID: 4598998103413@4.3.2.1 CSeq: 1 INVITE Contact: <sip:usera@4.3.2.1> Content-Length: 126 CSeq stanowi numer sekwencyjny, zawierający liczbę całkowitą (w tym przypadku 1), a następnie oddzieloną odstępem nazwę metody (INVITE). Każde kolejne żądanie podczas sesji ma kolejny wyższy numer sekwencyjny CSeq. Obie strony sesji utrzymują oddzielne lokalne liczniki CSeq. 37

Struktura wiadomości SIP - INVITE INVITE sip:userb@there.com SIP/2.0 Via: SIP/2.0/UDP 4.3.2.1:5060 To: User B <sip:userb@there.com> From: User A <sip:usera@here.com> Call-ID: 4598998103413@4.3.2.1 CSeq: 1 INVITE Contact: <sip:usera@4.3.2.1> Content-Length: 126 Nagłówek Contact zawiera jeden lub więcej adresów SIP URL, które dostarczają informację dla drugiej strony uczestniczącej w sesji pozwalające skontaktować się z użytkownikiem A. 38

Struktura wiadomości SIP - INVITE INVITE sip:userb@there.com SIP/2.0 Via: SIP/2.0/UDP 4.3.2.1:5060 To: User B <sip:userb@there.com> From: User A <sip:usera@here.com> Call-ID: 4598998103413@4.3.2.1 CSeq: 1 INVITE Contact: <sip:usera@4.3.2.1> Content-Length: 126 Content-Length zawiera długość treści wiadomości wyrażoną w oktetach (bajtach) (126), która następuje po liście nagłówków SIPowych i jest oddzielona od nich pojedynczym pustym wierszem (CRLF). Content- Length równe 0 wskazuje, że wiadomość nie zawiera treści (składa się tylko z nagłówków). 39

Przykład sesji SIP SIP UA (A) Proxy Server Location Services SIP UA (B) 1 INVITE (SDPo) 2 Location Lookup Lookup Result 3 100 Trying 180 Ringing 200 OK (SDP T ) 5 7 9 4 INVITE (SDPo) 180 Ringing 200 OK (SDP T ) 6 8 Inicjowanie sesji 10 ACK Dwukierunkowa ścieżka dla głosu Sesja w toku 11 BYE 200 OK 12 Kończenie sesji 40

Negocjacja mediów Negocjacja mediów przy ustanawianiu sesji Model oferta-odpowiedź UA proponuje jeden lub kilka typów mediów, a drugi UA odpowiadając akceptuje bądź odrzuca jeden lub więcej proponowanych typów mediów Sekwencja - INVITE/200/ACK Dalsze negocjacje i zmiana typu mediów za pomocą ponownego żądania INVITE w trakcie wcześniej ustanowionej sesji Wykorzystanie SDP do opisu mediów Ograniczone możliwości negocjacji mediów Prace nad SDPng Wykorzystanie protokołu SAP do organizacji multimedialnych sesji komunikacyjnych w Internecie 41

SDP: negocjacja - model propozycja - odpowiedź Request (propozycja) Klient Res-Provisional Res-Provisional (odpowiedź-a) Res-Final (odpowiedź-b) Serwer propozycja - uporządkowany zbiór proponowanych sesji {opis strumieni} odpowiedź - (jeden) opis akceptowanej sesji opis strumieni 42

SDP RFC 4566 - parametry v= (protocol version) o= (originator and session identifier) s= (session name) i=* (session information) u=* (URI of description) e=* (email address) p=* (phone number) c=* (connection information -- not required if included in all media) b=* (zero or more bandwidth information lines) One or more time descriptions ("t=" and "r=" lines; see below) z=* (time zone adjustments) k=* (encryption key) a=* (zero or more session attribute lines) t= (time the session is active) r=* (zero or more repeat times) m= (media name and transport address) i=* (media title) c=* (connection information -- optional if included at session level) b=* (zero or more bandwidth information lines) k=* (encryption key) a=* (zero or more media attribute lines) 43

Oferta-odpowiedź zasady Odrzucenie oferowanego opisu strumienia mediów W odpowiedzi numer portu = 0 dla odrzucanego strumienia Nowe strumienie mediów tworzone przez: Nowe, dodatkowe opisy mediów poniżej istniejących, lub Ponowne wykorzystanie szczeliny używanej przez stary strumień medialny, który został odrzucony przez ustawienie nr portu =0 Istniejące strumienie mediów są usuwane przez stworzenie nowego opisu w SDP i podanie nr portu = 0 Strumień mediów można zawiesić, np. zażądać tymczasowo jednego lub więcej strumieni w trybie unicast, przez: Oznaczenie dotychczasowego strumienia mediów z sendrecv na sendonly Oznaczenie dotychczasowego strumienia mediów z recvonly na inactive 44

SDP - oferta-odpowiedź przykład Oferta SDP v=0 o=alice 2890844526 2890844526 IN IP4 host.anywhere.com s= c=in IP4 host.anywhere.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 m=video 51372 RTP/AVP 31 a=rtpmap:31 H261/90000 m=video 53000 RTP/AVP 32 a=rtpmap:32 MPV/90000 Odpowiedź SDP v=0 o=bob 2890844730 2890844730 IN IP4 host.example.com s= c=in IP4 host.example.com t=0 0 m=audio 49920 RTP/AVP 0 a=rtpmap:0 PCMU/8000 m=video 0 RTP/AVP 31 m=video 53000 RTP/AVP 32 a=rtpmap:32 MPV/90000 45

Modyfikacja sesji: re-invite Modyfikacja ustanowionej sesji przez ponowne użycie metody INVITE zmiana: mediów typu sesji używanych typów kodeków źródłowych adresów IP numeru portu 46

Modyfikacja sesji SIP UA SIP UA SIP UA SIP UA 1 INVITE sdp1 Niepowodzenie re-invite nie powoduje zakłócenia trwającej sesji 2 180 Ringing 3 200 OK sdp2 4 ACK Media Session Powodzenie drugiego re-invite ustanawia nową 5 INVITE sdp2 sesję medialną, która zastępuje poprzednią 6 405 Not Acceptale 7 ACK 8 INVITE sdp2 9 200 OK sdp1 10 ACK New Media Session 47

48

Telekomunikacja 2.0 - eksplozja normalizacji Same normy RFC bez wersji roboczych (I-D)! 49

SIP zasoby w Internecie www.sipforum.com www.cs.columbia.edu/sip www.tech-invite.com www.sipcenter.com 50

SIP przykład szczegółowy Główny przykład RFC 3261

53

i. Żądanie REGISTER: od UA Boba do serwera Registrar biloxi.com 54

ii. Odpowiedź 200 OK: od serwera Registrar biloxi.com do UA Boba 55

1. Żądanie INVITE: od UA Alice do serwera Proxy atlanta.com 56

2. Żądanie INVITE: od serwera Proxy atlanta.com do serwera Proxy biloxi.com 57

3. Żądanie INVITE: od serwera Proxy biloxi.com do UA Boba 58

4. Odpowiedź 180 Ringing: od UA Boba do serwera Proxy biloxi.com 59

5. Odpowiedź 180 Ringing: od serwera Proxy biloxi.com do serwera Proxy atlanta.com 60

6. Odpowiedź 180 Ringing: od serwera Proxy atlanta.com do UA Alice 61

7. Odpowiedź 200 OK: od UA Boba do serwera Proxy biloxi.com 62

8. Odpowiedź 200 OK: od serwera Proxy biloxi.com do serwera Proxy atlanta.com 63

9. Odpowiedź 200 OK: od serwera Proxy atlanta.com UA Alice 64

10. Żądanie ACK: od UA Alice do UA Boba 65

11. Ustanowiona sesja medialna: między UA Alice i UA Boba 66

12. Żądanie BYE: od UA Boba do UA Alice 67

13. Odpowiedź 200 OK: od UA Alice do UA Boba (koniec sesji) 68

69