Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

Predmet: IT330 Računarske mreže

Seminarski rad:

SIP protokol

Autor
Draško Gajić
drasko.gajic@fit.edu.rs
U Beogradu, Mart 2009

Datum Datum Datum Ocena


predaje prihvatanja prezentacije /bodova/

Dodatne napomene:
IT330 Računarske mreže - SIP Protokol

Sadržaj
Uvod .................................................................................................................................................................. 3

1 Struktura protokola ................................................................................................................................... 4

2 Adresiranje ................................................................................................................................................ 5

3 SIP mrežni elementi ................................................................................................................................... 5

3.1 Korisnički agenti (UA - User Agents) .................................................................................................. 6

3.2 Proxy server ....................................................................................................................................... 7

3.2.1 Proxy server bez stanja transakcije (stateless) .......................................................................... 7

3.2.2 Proxy server sa stanjem transakcije (stateful) ........................................................................... 7

3.3 Redirect server .................................................................................................................................. 8

3.4 Registrar............................................................................................................................................. 8

4 SIP poruke .................................................................................................................................................. 9

5 SIP zahtevi .................................................................................................................................................. 9

6 SIP odgovori ............................................................................................................................................. 10

7 Transakcije ............................................................................................................................................... 11

8 Dijalozi ..................................................................................................................................................... 12

9 Zaključak .................................................................................................................................................. 13

Draško Gajić 2
Broj indeksa 318
IT330 Računarske mreže - SIP Protokol

Uvod
SIP je skraćenica za Session Initiation Protocol, kontrolni protokol aplikacijskog sloja koji je razvijen
unutar IETF-a Internet Engineering Task Force. Dizajniran je tako da omogućava jednostavnu
implementaciju, dobru skalabilnost i fleksibilnost. Specifikacija je data u nekoliko RFC-ova. Najvažniji, RFC
3261, sadrži osnovu protokola. Postoje mnogo aplikacija na internetu koje zahtevaju kreiranje i upravljanje
sesijama, gde je sesija upotrebljena za razmenu podataka između učesnika u komunikaciji. Implementacija
ovih aplikacija je veoma komplikovana u praksi od strane učesnika: korisnici mogu da se menjaju na
krajevima, mogu da se adresiraju sa više naziva i mogu da komuniciraju preko različitih posrednika po nekad
simultano.

SIP nije zamišljen da bude sveobuhvatan, pa će za komunikaciju među uređajima biti potrebni i
drugi protokoli. Njegova namena je da omogući komunikaciju koja se nakon toga odvija na različite načine,
pa i pomoću nekog drugog protokola. Uz SIP se najčešće koriste protokoli RTP i SDP. SIP radi u skladu sa
ovim protokolima omogućujući krajnim korisnicima (user agents) da prepoznaju jedni druge i da se
dogovore za tip sesije koji žele da dele. Za pronalaženje mogućeg korisnika, i ostale funkcije, SIP uključuje
infrastrukturu proxy servera za koje korisnički agent može da pošalje registraciju, poziv za sesiju, i druge
zahteve. SIP može da uspostavi sesiju između dva korisnika (običnu telefonsku vezu), sesiju izmedu više
korisnika (od kojih svaka može da sluša i da govori) i višesmernu sesiju (između jednog pošiljaoca i više
primalaca).

SIP je dizajniran u skladu s Internet modelom. To je end-to-end tip signalnog protokola što znači da
je logika, osim usmeravanja SIP poruka, čuvanja na krajnjim uređajima. Stanje sesije je takođe sačuvano na
krajnjim uređajima, ne postoji jedinstvena tačka ispada. Mreže koje su dizajnirane na taj način dobro
skaliraju. Loša strana ovog tipa je veće zaglavlje.

Slika 1. Položaj SIPa u odnosu na ostale protokole

Draško Gajić 3
Broj indeksa 318
IT330 Računarske mreže - SIP Protokol

1 Struktura protokola
Protokol SIP je strukturiran kao slojevit protokol, pri čemu svaki sloj definiše određen skup pravila.
Elementi koje taj protokol specificira su logički elementi. Svaki element protokola ne mora sadržati svaki od
slojeva. Nadalje, kada se kaže da neki element sadrži određen sloj, to zapravo znači da taj element poštuje
skup pravila koje taj sloj definiše.

• Najniži sloj protokola SIP je njegova sintaksa i kodiranje (syntax and encoding) koji koristi
ABNF (Augmented Backup-Naur Form) pravila

• Drugi sloj je transportni sloj (transport layer) koji definiše kako klijent i server šalje zahteve i
prima odgovore putem mreže. Sve komponente protokola SIP moraju implementirati
protokol korisničkih datagrama (UDP – User Datagram Protocol) i protokol upravljanja
prenosom (TCP – Transmission Control Protocol), ali mogu i podržavati i druge protokole,
kao što je protokol za kontrolu transmisije toka podataka (SCTP – Stream Control
Transmission Protocol). Budući da je UDP nepouzdan protokol, SIP ima vlastiti mehanizam
retransmisije koji uključuje i three-way razmenu između korisnika prilikom uspostavljanja
sesije.

• Treći sloj transakcijski sloj (transnaction layer) koji upravlja retransmisijama aplikacijskog
sloja, povezivanjem odgovora i zahteva, kao i o isteku vremena aplikacijskog sloja
(application layer timeouts). Transakcija je temeljna komponenta protokola SIP koja se
sastoji od zahteva te jednog ili više odgovora. Transakcijski sloj sadrži klijent i server
komponentu, od kojih je svaka predstavljena automatom stanja koji je konstruisan kako bi
obradio određeni zahtev. Klijent transakcija šalje zahteve i prosleđuje odgovore korisniku
transakcije pa je odgovorna za pouzdanu retransmisiju zahteva u slučajevima kada se koristi
nepouzdani transport UDP.

• Iznad transakcijskoga sloja se nalazi sloj korisnika transakcije (TU – Transaction User). Svi su
entiteti (logičke komponente) protokola SIP, osim stateless proxy servera, korisnici
transakcije TU. Kada korisnik transakcije želi poslati zahtev, mora kreirati klijent transakciju
a zatim joj prosliediti zahtev zajedno sa IP adresom, portom i transportom kojem treba
poslati zahtev.

Slika 2. Struktura SIP protokola

Draško Gajić 4
Broj indeksa 318
IT330 Računarske mreže - SIP Protokol

2 Adresiranje
Umesto IP adresom, odredište u protokolu SIP može biti predstavljeno URI-jem koji ima isti format kao
i eadresa i u skladu s tim ispravna SIP adresa može biti sip:naziv@server1.com. Korišćenje URI-a implicira
upotrebu sistema imena domena (DNS – Domain Name System), kako bi se imena čvora (host) i domena
mogla mapirati u IP adrese.

Povezanost protokola SIP i DNS-a omogućava interoperabilnost telefonskih sistema i mehanizma


adresiranja. Podržavanje E.164 brojeva u DNS-u (ENUM) omogućava SIP klijentima i serverima da šalju i
primaju telefonske brojeve umesto SIP URI-a u porukama pa ih usmeravaju u razumljivom obliku.

Osim SIP URI-a podržan je i SIPS URI, koji podrazumeva primenu sigurnosnog mehanizma. Poziv prema
SIPS URI-u garantuje da je siguran, kriptografski zaštićen transport (TLS – Transport Layer Security) korišćen
za prenos svih SIP poruka od onoga ko zove do domena pozvanog. SIP URI i SIPS URI moraju sadržati ime
čvora pa mogu sadržati i ime korisnika i broj portova. Uz SIP URI i SIPS URI mogu se koristiti i drugi kao što
su TEL URL i TEL URI:

• sip:naziv@server1.com

• sip:+381-64-365-5555:1234@gateway.com; user=-phone

• sips:naziv@server1.com

• sip:proxy.server1.com:5060

• sip:another-proxy.server1.com; transport=UDP

• tel:+381-64-365-5555

3 SIP mrežni elementi


Iako je kod najjednostavnije implementacije moguće koristiti samo dva korisnička klijenta koji
ravnopravno međusobno šalju SIP poruke, tipična SIP mreža sastoji se od više vrsta SIP elemenata. Osnovni
elementi su korisnički agenti (User Agents), proxy, register i redirect serveri. SIP elementi su samo logičke
jedinice. Često ih je korisno spojiti, na primer, kako bi se povećala brzina obrade, ali to zavisi od
pojedinačne implementacije i konfiguracije.

Slika 3. Osnovni elementi SIP arhitekture

Draško Gajić 5
Broj indeksa 318
IT330 Računarske mreže - SIP Protokol

3.1 Korisnički agenti (UA - User Agents)


Krajnje tačke koje koriste SIP za međusobno pronalaženje i pregovaranje o karakteristikama sesije
nazivaju se korisnički agenti (user agents). Obično se nalaze na korisničkom računaru u obliku aplikacije. To
je trenutno najrašireniji oblik, korisnički agenti mogu biti i mobilni telefoni, PSTN gateway, PDA uređaji,
automatizovani IVR sistemi itd.

Korisničke agente često nazivamo server korisničkog agenta (User Agent Server - UAS) i klijent
korisničkog agenta (User Agent Client - UAC). UAS i UAC su samo logičke jedinice, svaki korisnički agent,
zavisno od situacije, ima ulogu UAC-a ili UAS-a. UAC je deo korisničkog agenta koji ima zadatak slanja
zahteva (request) i primanja odgovora (response). UAS je takođe deo korisničkog agenta, ali on ima zadatak
primanja zahteva i slanja odgovora.

Budući da korisnički agent sadrži i UAC i UAS, često kažemo da se korisnički agent ponaša kao UAC ili
UAS. Na primer, korisnički agent koji poziva ponaša se kao UAC kada šalje INVITE zahteve i prima odgovore
na zahtev. Kao UAS ponaša se kad primi INVITE zahtev i pošalje odgovore.

Ali ta se situacija menja kad pozvana strana odluči poslati BYE i prekinuti sesiju. U tom se slučaju
korisnički agent pozvane strane (koji šalje BYE) ponaša kao UAC a korisnički agent koji pozivalac kao UAS.

Slika 4. Direktna komunikacija bez proxy servera

Draško Gajić 6
Broj indeksa 318
IT330 Računarske mreže - SIP Protokol

3.2 Proxy server


Osim toga, SIP omogućava izgradnju infrastrukture s mrežnim računarima koja se zovu proxy serveri.
Korisnički agenti mogu slati poruke (messages) proxy serveru. Proxy serveri su vrlo važni entiteti u SIP
infrastrukturi, usmeravaju poruke za kreiranje sesije s obzirom na trenutnu lokaciju pozvane strane,
obavljaju autentikaciju korisnika, očitavanje i ostale važne funkcije.

Najvažniji zadatak proxy servera je usmeravanje poruka za kreiranje sesije prema pozvanoj strani.
Zahtev za kreiranje sesije obično prelazi nekoliko proxy servera dok ne pronađe onoga koji zna stvarnu
lokaciju pozvane strane. Tada će proxy server direktno proslediti zahtev za sesijom prema pozvanoj strani
koji će prihvatiti ili odbiti zahtev.

Slika 5. Komunikacija sa proxy serverom

Postoje dve osnovne vrste SIP proxy servera - bez stanja transakcije (stateless) i sa stanjem
transakcije (stateful).

3.2.1 Proxy server bez stanja transakcije (stateless)


Stateless serveri su jednostavni prosleđivači poruka. Oni prosleđuju poruke nezavisno jedne od
drugih, iako su poruke često složene u transakcije. Ovakvi proxy serveri su jednostavniji, ali brži od statefull
proxy servera. Mogu se koristiti kao jednostavni raspoređivači opterećenja, prevodioci poruka i ruteri.

Loša stvar stateless proxy servera je to što ne mogu da prepoznaju i spreče retransmisiju poruka i
vrše naprednije rutiranje, na primer, SIP proxy server može poslati jednu SIP poruku na više destinacija
(forking) ili kada proxy server primi negativan odgovor za zahtev koji je prosledio, pa ponovo šalje zahtev
prema nekoj drugoj destinaciji usmeravanja (recursive).

3.2.2 Proxy server sa stanjem transakcije (stateful)


Statefull proxy serveri su složeniji. Ovakvi proxy serveri ne tretiraju pojedinačne poruke već
formiraju transakcije. Nakon prijema zahteva, statefull proxy serveri kreiraju stanje i čuvaju ga sve dok se
transakcija ne završi.

Statefull proxy server upravlja dvema vrstama transakcija: serverske transakcije koje primaju
zahteve i šalju odgovore, kao i klijentske transakcije koje šalju zahteve i primaju odgovore. Dolazeći zahtev
se obrađuje serverskom transakcijom i dalje se prosleđuje uz pomoć jedne ili više klijentskih transakcija
(više transakcija se formira u slučaju račvanja). Dolazeći odgovor prima odgovarajuća klijentska transakcija i
prosleđuje se odgovarajućoj serverskoj transakciji.

Draško Gajić 7
Broj indeksa 318
IT330 Računarske mreže - SIP Protokol

3.3 Redirect server


Entitet koji prima zahtev i šalje odgovor koji sadrži listu trenutnih lokacija određenog korisnika se
naziva server redirekcije (redirect server). Server redirekcije preuzima i traži željenog korisnika u bazi koju je
kreirao registrar. Listu trenitnih lokacija šalje izvoru zahteva koji na osnovu te liste šalje zahteve direktno
korisniku kojeg želi da kontaktira.

Slika 6. Tok poziva sa redirect serverom

3.4 Registrar
Registrar je specijalni entitet koji prihvata registracije od korisnika, izdvaja informacije o njihovoj
trenutnoj lokaciji (recimo IP adresu, port i korisničko ime) i skladišti ove informacije u bazu podataka. Zatim
se baza podataka sa lokacijama koristi da bi se odredilo gde se šalje zahtev za određenog korisnika.

Registrari obrađuju REGISTER poruke koje generišu klijenti za željom da uspostave ili prekinu
mapiranje između svoje opšte poznate SIP adrese i adrese na koju žele da budu kontaktirani. REGISTER
zahtev se može koristiti i za pregled mapiranja postavljenih za određenu adresu.

Svaki registrar obrađuje zahteve za određeni skup domena i može autentifikovati REGISTER zahteve
upotrebom odgovora 401 (Unauthenticated). Registrari su najčešće logički entiteti i zbog tesne veze sa
proxy serverima se često nalaze na istom mestu.

Slika 7. REGISTRAR zahteva

Draško Gajić 8
Broj indeksa 318
IT330 Računarske mreže - SIP Protokol

4 SIP poruke
Komunikacija pomoću SIP protokla, koja se često naziva i signalizacija, sastoji se od niza poruka
(messages). Uobičajeno je da se svaka poruka prenosi u posebnom UDP datagramu. Svaka se poruka sastoji
od “početne linije“, zaglavlja poruke i tela poruke. Početna linija označava vrstu poruke. Postoje dve vrste
poruka – zahtevi (request) i odgovori (response). Zahtevi se obično koriste za iniciranje neke akcije ili za
obaveštavanje pozvane strane zahteva o nečemu. Odgovori se koriste za potvrđivanje da je zahtev primljen
i obrađen pa sadrže i status obrade.

INVITE sip:user1@domen.org SIP/2.0


Via: SIP/2.0/UDP 192.168.0.3: 51660;received=66.87.48.68
From: sip:user2@domen.org
To: sip:user1@domen.org;tag=794fe65c16edfdf45da4fc39a5d2867c.b713
Call-ID: 2443936363@192.168.0.3
CSeq: 2 INVITE
Contact: <sip:user3@domen:51660;transport=udp>;q=0.00;expires=120
User-Agent: Sip EXpress router (0.8.11pre21xrc (i386/linux))
Content-Length: 451
Slika 8. Izgled SIP zahteva

Prva linija prikazuje da se radi o INVITE poruci za kreiranje sesije. URI u prvoj liniji naziva se Request-
URI i sadrži URI sledećeg koraka poruke (next hop). U ovom slučaju to je 192.168.0.3 i port je 51660.

Iz From i To polja zaglavlja se indetifikuju pozivalac (caller) i pozvana strana (callee). From polje
zaglavlja sadrži parametar tag koji služi kao identifikator dijaloga.

Call-ID polje zaglavlja je identifikator dijaloga i njegova svrha je identifikacija poruka koje pripadaju
istom pozivu. Takve poruke imaju isti Call-ID identifikator. CSeq služi kako bi se zadržao ispravan redosled
zahteva, jer se zahtevi šalju UDP protokolom koji može promeniti redosled poruka.

Contact polje zaglavlja sadrži IP adresu i port na kojem pozvana strana čeka zahteve koje šalje
pozivalac.

Telo INVITE poruke sadrži opis tipa medija koje pozvana strana prima, kodiranih u SDPu.

5 SIP zahtevi
Postoji više vrsta SIP zahteva i svaki od njih ima određene osobine. Najvažniji zahtevi su:

• INVITE – ova poruka se koristi za uspostavljanje sesije. Takođe se sa njom mogu menjati
parametri poziva (re-INVITE).

• ACK – poruka kojom se potvrđuje prijem završnog odgovora na INVITE. Uspostavljanje


sesije se vrši preko 3-way hand-shaking zbog asimetrrične prirode poziva.

• BYE – koristi se da bi se prekinula sesija. Strana koja želi da prekine sesiju šalje BYE drugoj
strani.

• CANCEL – koristi se za prekid još neuspostavljenih sesija. Ukoliko pozvani korisnik nije
odgovorio, a korisnik koji je inicirao poziv želi da prekine poziv (tipično kada pozvani
korisnik ne odgovara neko vreme).

Draško Gajić 9
Broj indeksa 318
IT330 Računarske mreže - SIP Protokol

• REGISTER – svrha REGISTER zahteva je da se registraru dostavi trenutna lokacija


korisnika. Preko REGISTER poruka se prenose inforamcije o trenutnoj IP adresi i portu na
kome se može doći do korisnika.

• OPTIONS – korsti se da bi se saznale mogućnosti druge strane u sesiji.

• INFO – služi za slanje informacija u toku sesije koje ne menjaju stanje sesije.

6 SIP odgovori
Kad korisnički agenti ili proxy server prime zahtev, šalju odgovor. Na svaki zahtev mora se odgovoriti.
Izuzetak su ACK zahtevi na koje ne treba odgovarati.

Kôd odgovora je celi broj od 100 do 699 i ukazuje na vrstu odgovora. Postoji 6 grupa odgovora:

1xx su privremeni odgovori koji pozvanoj strani kažu da je određeni zahtev primljen ali rezultat obrade
još nije poznat. Šalju se jedino u slučaju kada se obrada ne završi odmah (npr. 100 Trying). Pozivalac mora
zaustaviti slanje zahteva kad primi privremeni odgovor.

Tipično proxy serveri odgovoraju šifrom 100 kad počnu obrađivati INVITE, a korisnički agenti šalju
odgovore sa šifrom 180 (Ringing), što znači da telefon pozvane strane zvoni.

2xx odgovori su pozitivni završni odgovori. Završni odgovor je konačni odgovor koji će pozivalac
zahteva primiti. To znači da završni odgovori označavaju rezultat obrade određenog zahteva. Završni
odgovori takođe prekidaju transakcije. Šifre od 200 do 299 su pozitivni odgovori što znači da je zahtev
obrađen uspešno. Na primer, odgovor 200 OK šalje se kad korisnik prihvati poziv za uspostavljanje sesije
(INVITE zahtev).

UAC može primiti nekoliko poruka tipa 200 kod jednog INVITE zahteva. Razlog tome je što forking
proxy server može deliti zahtev, kontaktirati nekoliko UAS-a, a svaki od njih će prihvatiti poziv. U ovom
slučaju svaki odgovor se razlikuje po tag parametru u polju To zaglavlja. Svaki odgovor predstavlja
jedinstven dijalog s jednoznačnim identifikatorom dijaloga.

3xx odgovori koriste se za preusmeravanje pozivalaca. Odgovor o preusmeravanju daje informaciju o


novoj lokaciji korisnika ili alternativnoj usluzi koju pozivalac može upotrebiti za ostvarenje poziva. Odgovore
o preusmeravanju obično šalju proxy serveri. Kad proxy primi zahtev, a ne želi ga ili ne može obraditi iz
nekog razloga, tada će pozivaocu poslati odgovor o preusmeravanju i navesti drugu lokaciju s kojom
pozivaoc može pokušati uspostaviti sesiju. To može biti lokacija nekog drugog proxy servera ili trenutna
lokacija pozvane strane (iz lokacijske baze podataka koju je kreirao registrar). Pozivaoc bi tada trebao
ponovno poslati zahtev na novu lokaciju. 3xx odgovori su završni.

4xx su negativni završni odgovori. 4xx odgovor znači da je problem na strani pozivaoca. Zahtev se nije
obradio jer sadrži pogrešnu sintaksu ili se ne može izvršiti na tom serveru.

5xx znači da je problem na strani servera. Zahtev je naizgled ispravan ali ga server nije obradio. Klijenti
bi po pravilu trebali kasnije ponoviti zahtev.

6xx znači da se zahtev ne može izvršiti ni na jednom serveru. Ovaj odgovor obično šalje server koji ima
konačnu informaciju o određenom korisniku. Korisnički agenti obično šalju odgovor 603 Decline kada
korisnik ne želi učestvovati u sesiji.

Draško Gajić 10
Broj indeksa 318
IT330 Računarske mreže - SIP Protokol

7 Transakcije
Iako smo rekli da se SIP poruke šalju nezavisno, obično ih u transakcije dele korinički agenti i određene
vrste proxy servera. Dakle, za SIP se kaže da je transakcijski protokol.

Transakcija je niz SIP poruka koje se razmenjuju između elemenata SIP mreže, a sastoji se od jednog
zahteva i svih odgovora na taj zahtev. To uključuje nula ili nekoliko privremenih odgovora, jedan ili više
završnih odgovora. Na INVITE se može odgovoriti s više završnih odgovora kad proxy server deli zahtev
(forking).

Ako je transakciju pokrenuo INVITE zahtev, tada ona uključuje i ACK, ali samo ako završni odgovor
nije bio 2xx. Ako je završni odgovor bio 2xx, tada se ACK ne smatra delom transakcije.

Kao što vidimo, radi se o prilično asimetričnom ponašanju - ACK je deo transakcija s negativnim
završnim odgovorom, ali nije deo transakcija s pozitivnim završnim odgovorima. Razlog je takvog
razdvajanja važnost isporuke svih 200 OK poruka. Ne samo da one uspostavljaju sesiju, već ih mogu
generisati i višestruki entiteti kada proxy server deli zahtev, a sve se takve poruke moraju isporučiti
korisničkom agentu koji inicira sesiju. U takvom slučaju korisnički agenti preuzimaju odgovornost i
retransmitiraju 200 OK odgovore dok ne prime ACK. Može se primetiti da se jedino odgovori na INVITE
poruke retransmisuju!

Slika 9. SIP transakcija

SIP entiteti koji su sposobni za praćenje transakcije nazivaju se entiteti sa stanjem transakcije
(stateful). Takvi entiteti obično stvaraju stanje povezano s transakcijom koja se čuva u memoriji za vreme
trajanja transakcije. Kad se primi zahtev ili odgovor, entitet sa stanjem transakcije pokušava povezati zahtev
(ili odgovor) s postojećim transakcijama. Za to je potrebno ekstraktovati jedinstveni identifikator transakcije
iz poruke i uporediti ga s identifikatorima svih postojećih transakcija. Ako takva transakcija postoji, tada se
stanje identifikatora ažurira iz poruke.

Draško Gajić 11
Broj indeksa 318
IT330 Računarske mreže - SIP Protokol

U prethodnom RFC 2543 identifikator transakcije izračunavao se kao hash svih polja u zaglavlju
poruke (uključujući To, From, Request-URI i CSeq). To se pokazalo sporim i komplkovanim, za vreme
sprovođenja testova interoperabilnosti takvi su identifikatori transakcija bili uobičajeni izvori problema.

U kasnijem RFC3261 način izračunavanja identifikatora transakcija u potpunosti je promenjen.


Umjesto kompliciranog hashinga važnih polja u zaglavlju, SIP poruka sada direktno uključuje identifikator.
Branch parameter polja Via u zaglavlju direktno uključuje identifikator transakcije. To je značajno
pojednostavljenje, ali još su uvek prisutne implementacije koji ne podržavaju novi način, a nove
implementacije za sada moraju biti kompatibilne.

8 Dijalozi
Pokazali smo šta su transakcije, da jedna transakcije uključuje INVITE poruku i njene odgovore, a druga
transakcija uključuje BYE poruku i njene odgovore kada se sesija prekida. Ali te bi dve transakcije bi trebale
na neki način da budu povezane - obe spadaju u isti dijalog (dialog). Dijalog predstavlja peer-to-peer SIP
odnos između dva korisnička agenta. Dijalog traje neko vreme pa predstavlja vrlo važan koncept za
korisničke agente. Dijalozi olakšavaju pravilno određivanje redolseda (sequencing) i usmeravanje poruka
između SIP krajnjih tačaka.

Dijalozi se identifikuju pomoću Call-ID, From etikete i To etikete (tag). Poruke u kojima ta tri
identifikatora imaju iste vrednosti, spadaju u isti dijalog. Pokazali smo da se polje CSeq u zaglavlju koristi za
slaganje poruka po redu, to jest za redosled poruka unutar dijaloga. Broj mora da raste po veličini za svaku
poruku unutar dijaloga inače će ga peer obraditi kao neispravan zahtev ili retransmisiju. Ustvari, CSeq broj
identifikuje transakciju unutar dijaloga, jer smo rekli da se zahtevi i povezani odgovori nazivaju transakcija.
To znači da unutar dijaloga može biti aktivna samo jedna transakcija u svakom pravcu. Mogli bismo takođe
reći da je dijalog sekvenca transakcija. Sledeća slika prikazuje koje poruke spadaju u isti dijalog.

Slika 10. SIP dijalog

Draško Gajić 12
Broj indeksa 318
IT330 Računarske mreže - SIP Protokol

Neke poruke uspostavljaju dijalog, a druge ne. Na taj se način jasno može pokazati odnos poruka i
slati poruke koje nisu povezane s ostalim porukama izvan dijaloga. To olakšava implementaciju, jer
korisnički agenti ne moraju održavati stanje dijaloga. Na primer, INVITE poruka uspostavlja dijalog, jer će
nakon nje uslediti BYE zahtev koji prekida sesiju. BYE zahtev šalje se unutar dijaloga koji je uspostavila
INVITE poruka.

9 Zaključak
SIP postaje pravi pokretač u mrežama sledeće generacije i aplikacionog inženjeringa. Njegovo
prihvatanje ipak zavisi od ekonomskih faktora iako je manji, kompaktniji i delotvorniji, bolje prilagođen
Internet tehnologiji od starijeg H.323 protokola.

Vrednost SIP-a leži u kombinovanju servisa koje podržava. Sličnosti između SIP i Internet tehnologije
pomoći će bržem razvijanju novih servisa, što će dovesti do razvoja Internet telefonije. Internet telefonija je
više od VoIP-a jer predstavlja konvergenciju IP telefonije, Interneta i različitih novih tehnologija i standarda
kao što su SIP i XML (eXtensible Markup Lenguage).

Koristeći SIP, provajderi i njihovi partneri mogu da prilagode i isporuče čitav set servisa baziranih na
SIP-u koji će klijenatima omogućiti upotrebu više servisa u okviru jedne komunikacione sesije. Servis
provajderi mogu da kreiraju jednu fleksibilnu set aplikaciju koja zadovoljava potrebe korisnika umesto
instaliranja specijalizovanih pojedinačnih aplikacija.

SIP obećava značajna poboljšanja u oblasti biznis komunikacija, prvo kao VoIP protokol, a takođe i zato
što se dobro integriše sa ostalim poslovnim komunikacionim aplikacijama. Korišćen zajedno sa ostalim
Internet tehnologijama, SIP će doneti nove komunikacione servise korisnicima kancelarijskih i mobilnih
desktopova i time povećati produktivnost zaposlenih dok u isto vreme redukuje operativne troškove.

Iako se IP telefonija sve češće vezuje uz SIP protokol, danas je u toj oblasti još uvek dominantan H. 323
skup protokola, pa je za dalji razvoj SIP-a i njegovu opštu primenu neophodno poraditi na
interoperatibilnosti sa H. 323 i naravno ISUP signalizacionim protokolom iz PSTN mreža.

Draško Gajić 13
Broj indeksa 318

You might also like