SIP-prezentacija
Download
Report
Transcript SIP-prezentacija
SIP
Session Initiation Protocol
Dr Živko Bojović, dipl.inž.
12/5/2013
Svet IP komunikacija - VoIP
1
Zašto SIP?
H.323 je složena i kompleksna arhtektura, sa ograničenom
funkcionalnošću posebno u saradnji sa Internet protokolima.
IETF je oformio radnu grupu koja je predložila nov – SIP
protokol definisan RFC-om 3261.
SIP je protokol aplikativnog sloja koji se koristi za
uspostavljanje, kontrolu i terminiranje multimedijalne sesije
dva ili više korisnika.
Svet IP komunikacija - VoIP
2
SIP – Osnovne karakteristike
Termin SIP sesija, koristi se umesto poziv, jer se u toku jedne
sesije razmenjuju različiti tipovi medija: glas, video, podaci.
SIP je klijent-server model koji se bavi zahtevima klijenta i
odgovorima servera:
zahtev klijenta + odgovor servera = transakcija
SIP omogućava da se uspostavi sesija, ali tip sesije dogovorno
određuju učesnici.
SIP je end to end signalizacioni protokol, sva logika (osim
rutiranja poruka) smeštena je na krajnjim uređajima čime se
ostvaruje distribuiranost, postiže skalabilnost, ali i veliki
overhead....
Svet IP komunikacija - VoIP
3
SIP – Osnovne karakteristike
Nezavisan od transportnog sloja
– TCP, UDP, ATM...
SIP entiteti se identifikuju pomoću jedinstvenog
identifikatora URI-Uniform Resource Identifier. SIP URI ima
oblik sip: korisničko_ime@domen
Sarađuje sa sledećim protokolima:
Real-time Transport Protocol,
Real Time Control Protocol,
Real Time Streaming Protocol,
Media Gateway Control Protocol,
Session Description Protocol.
Svet IP komunikacija - VoIP
4
SIP – 5 osnovnih funkcija
Name translation and user location - translacija imena i
lociranje korisnika (da poziv stigne do pozvanog korisnika),
Availability of user - raspoloživost korisnika (da li želi da
učestvuje u sesiji)
Feature negotiation - dogovaranje učesnika u sesiji oko medija i
parametara medija neophodnih za komunikaciju,
Call participant management - upravljanje pozivima učesnika
(uključenje drugih korisnika u poziv, ili raskidanje konekcije),
Call feature changes - izmene karakteristika poziva (npr. izmena
karakteristika poziva za vreme trajanja poziva pa npr. govorni
poziv, u toku razgovora dobija i video funkciju.
Svet IP komunikacija - VoIP
5
SIP – mrežni elementi
User agent - aplikacija (na korisnikovom računaru, fiksnom ili
mobilnom telefonu, PDA uređaju, gateway-u...) koja služi
korisniku da pronađe željenog sagovornika i da se sa njime
dogovori oko parametara sesije. Ima dve komponente:
User Agent Client (UAC) – inicira pozive, i
User Agent Serever (UAS) – odgovara na pozive.
Network servers:
Registration server – sadrži informacije o trenutnim
lokacijama korisnika,
Proxy server - prima zahtev, utvrđuje gde da ga pošalje i
prosleđuje ga sledećem serveru ili na više servera
istovremeno (forking) koristeći principe next hop rutiranja,
Redirect server – prima zahtev, traži primaoca i njegovu
adresu vraća klientu koji je generisao zahtev.
Svet IP komunikacija - VoIP
6
Stateful i Stateless serveri
Stateless serveri su jednostavni i brzi serveri koji:
– prosleđuje poruke i ne “pamte” informacije pa ne mogu da
izbegnu retransmisiju poruka, niti da izvršavaju složenije
vrste rutiranja kao što je “forking” ili rekurzivno prelaženje.
– se koriste kao load balanseri, translatori poruka i ruteri.
Stateful proksi server je kompleksniji i on može da:
– Primi zahtev, kreira stanje i isto održava do završetka
transakcije,
– Vrši ”forking” (primi i pošalje poruku na dve ili više adresa).
– Nema potrebu za retransmisiju jer zna stanje transakcije
(npr. da li je već primio istu poruku),
– Obavi komplikovane načine za pronalaženje korisnika (ako
korisnika ne pronađe na njegovom telefonu u kancelariji,
poziv preusmerava na korisnikov mobilni telefon.
Svet IP komunikacija - VoIP
7
Vrste SIP poruka-Zahtev (Request)
Dve vrste SIP poruka:
– Request (zahtev) koje šalje klijent i
– Response (odgovor) koje vraća server.
Šest vrsta zahteva (zovu se metode):
INVITE – zahtev za uspostavu veze uz podatke o vrsti medija,
ACK – potvrda da je klijent primio završni odgovor na INVITE
zahtev (ova metoda se koristi samo sa INVITE zahtevom),
BYE – User client “kaže” serveru da želi prekid komunikacije,
CANCEL – poništava sledeći zahtev, ali ne utiče na već izvršene,
OPTIONS – sadrži informacije o mogućnostima servera, ali ne
uspostavlja vezu,
REGISTER – traži informacije o lokaciji korisnika u Registration
server-u i prenos ih do do SIP servera.
Svet IP komunikacija - VoIP
8
Vrste SIP poruka – Odgovor (Response)
Postoji 6 (šest) različitih klasa odgovora:
1xx – privremena klasa (kontaktirani server vrši obradu
primljenih zahteva i ne raspolaže odlukom o konačnoj akciji).
2xx – ukazuje da je zahtev uspešno primljen ili prihvaćen.
3xx – redirekcija (server informiše o novoj lokaciji korisnika ili
alternativnom servisu koji može da zadovolji poziv).
4xx – server ne može da ispuni zahtev usled greške na
klijentu.
5xx – opisuje greške servera koji ne može da odgovori na
validan zahtev, pa isti treba da obradi drugi server.
6xx – zahtev je odbijen (server ima kompletnu siku) i da ga
ne treba slati drugom serveru.
Prvi broj – klasa odgovora, ostala dva nemaju nikakvu ulogu.
Svet IP komunikacija - VoIP
9
SIP poruke – format
Zahtev i odgovor imaju univerzalan format zapisa (RFC2822):
Poruke = početna linija “Start-line“ + zaglavlje + telo poruke
Format početne linije je:
Request-line = Method _ Request-URI _ SIP -VERSION CRLF
Primer: INVITE sip:[email protected] SIP/2.0 (_ jedno prazno polje)
Status line = SIP-VERSION_STATUS-CODE_REASON-PHRASE-CRLF
Primer: SIP/2.0 200 OK
Svet IP komunikacija - VoIP
10
Zaglavlje SIP poruka
Sadrži sledeća polja koja daju informacije o:
To – SIP adresi pozvanog korisnika,
From – SIP adresi pozivajućeg korisnika,
Call-ID – identifikatoru sesije
Content-Length – dužini tela poruke
Content-Type – tipu informacija u telu poruke
Cseq – rednom broju zahteva
Via – “skokovima” poruke,
Contact – prenosi URI kojim se identifikuje izvor ili primaoc,
Subject – pruža informaciju o prirodi poziva,
TAG – nasumičan broj od 32 bita koji je identifikator dijaloga.
Najveći deo polja u zaglavlju sličan je sa onima u HTTP/1.1
Svet IP komunikacija - VoIP
11
SIP poruke – zaglavlja
Neka zaglavlja se koriste u svim porukama, a neka samo
kada je potrebno. Postoje 4 vrste zaglavlja:
Svet IP komunikacija - VoIP
12
SIP zahtev - primer
Svet IP komunikacija - VoIP
13
SIP odgovori - primer
SIP/2.0 200 OK
Via: SIP/2.0/UDP sippo.example.se
Via: SIP/2.0/UDP science.fiction.com
From: Fingal <sip:[email protected]>
To: Patrik <sip:[email protected]>; tag=25443232
Call-ID: [email protected]
CSeq: 1 INVITE
Content-Type: application/sdp
Content-Length:...
v=0
o=pgn 4858949 4858949 IN IP4 198.7.6.5
s=Ok
c=IN IP4 pepperoni.example.se
m=audio 5004 RTP/AVP 0 3
Svet IP komunikacija - VoIP
14
Session Description Protocol
Telo poruke sadri informacije kojima se opisuje sesija, a koristi se
SDP protokol kojim se prenose informacije o CODEC-ima,
portovima i protokolima (RTP) koji se koriste z slanje medija.
SDP poruka se sastoji od sledećih podataka:
– Nivoa sesije (ime sesije, vreme, izvor saobraćaja i verzija
protokola),
– Nivou medija 1 (Tip i format medije koja se prenosi)
– Nivou medija 2 (Transportni protokol i broj porta protokola).
Svet IP komunikacija - VoIP
15
SDP poruke - polja
v= (protocol version number, currently only 0)
o= (originator and session identifier : username, id, version
number, network address)
s= (session name : mandatory with at least one UTF-8-encoded
character)
i=* (session title or short information) u=* (URI of description)
e=* (zero or more email address with optional name of contacts)
p=* (zero or more phone number with optional name of contacts)
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)
Svet IP komunikacija - VoIP
16
SIP URI
SIP ima dve vrste URI-a:
Stalna adresa (Address Of Record) je vezana za
samog korisnika i služi da se on poziva nezavisno od
toga gde se trenutno nalazi.
Privremena adresa je vezana za korisnički uređaj .
ENUM baza je skup uređenh trojki:
(SIP adresa, IP adresa i E.164) koja omogućava da
se izvrši rutiranje poziva korisnika koji su na SIP i
PSTN mreži)
Svet IP komunikacija - VoIP
17
SIP mreža
P
UA
P
P
P: SIP PROXY
UA: SIP USER AGENT
R: REGISTER
UA
R
Svet IP komunikacija - VoIP
18
SIP – Elementi mreže
SIP User Agent
– Krajnje tačke SIP mreže
– Softphones (PCs with phone capabilities), SIP
IP telefoni, UMTS mobilni telefoni
• Register
• Prihvata zahtev za registracijom i ažurira bazu
podataka o korisnicima
• Location service
• Baza podataka koja sadrži vezu između korisnikove
SIP adrese i njegove kontakt (fizičke adrese)
Svet IP komunikacija - VoIP
19
SIP – Registracija
Registracioni server funkcioniše tj. izvršava sledeće
aktivnosti:
– Prihvata SIP REGISTER zahtev,
– Analizira zahtev (To polje sadrži AOR – ime koje treba
registrovati, Contact polje – trenutna adresa uređaja na
kojoj se korisnik nalazi,
– Zahteva autentifikaciju od User Agenta koji je poslao
zahtev za registraciju,
– U zvisnosti od polja u REGISTER zahtevu UA može da
izvrši trenutnu registraciju ili da doda URI u registracionu
listu ili da obriše registraciju.
Svet IP komunikacija - VoIP
20
SIP – Registracija
SIP Proxy
[2] REGISTER
[1] REGISTER
(challenge response)
(challenge response)
[4] 401 Unauthorized
Register
[5] 401 Unauthorized
User Agent
[3] Database
access
Location service
Svet IP komunikacija - VoIP
21
SIP – Registracija
SIP Proxy
[7] REGISTER
[6] REGISTER
Register
[9] 200 OK
[10] 200 OK
User Agent
[8] Database
access
Location service
Svet IP komunikacija - VoIP
22
SIP – PSTN sesija
Svet IP komunikacija - VoIP
23
SIP – Terminiranje sesija
User Agent
SIP Proxy
[2] BYE
[1] BYE
[5] 200 OK
[3] BYE
[6] 200 OK
[4] 200 OK
RTP
SIP Proxy
User Agent
Location service
Svet IP komunikacija - VoIP
24
SIP – Zašto?
Fleksibilnost
– Nezavisan od transportnog nivoa i vrste konferencijske
kontrole
– Arhitektura SIP poruka omogućava fleksibilnu upotrebu
elemenata protokola
– Laka implementacija novih E2E servisa i karakteristika
Ekstenzibilnost
– Laka integracija novih metoda, zaglavlja poruka i tipova
događaja
– Dobro definisan framework za rukovanje eksteenzijama i
specifičnim implementacijama
– Omoguće razlikovanje u odnosu na konkurenciju
Svet IP komunikacija - VoIP
25
SIP – Zašto?
Skalabilnost
– Omogućava implementaciju samo dela neophodnog za
specifični software
– Omogućava “preseljenje” funkcionalnosti sa klienta na
bazne stanice ili server
IP based HTTP-like protokol
– Pristup velikoj zajednici HTTP / IP programera
– SIP radi odlično sa protokolima “Overall IETF media data
& control architecture” (RTP/RTCP, RTSP, RSVP …), ali ne
zavisi od njih
Svet IP komunikacija - VoIP
26
SIP – Primena
Voice over IP
Push-To-Talk (PTT)
Message Chat and Conferences
Gaming
Active Phonebook
Instant amd Multimedia Messaging
Group Messaging
Svet IP komunikacija - VoIP
27