29
UNIVERZITET U SARAJEVU FAKULTET ZA SAOBRAĆAJ I KOMUNIKACIJE ODSJEK ZA KOMUNIKACIJE DRUGI CIKLUS STUDIJA SIP PROTOKOL SEMINARSKI RAD MENTOR: Prof.dr.Himzo Bajrić STUDENT: Emir Sarvan SARAJEVO, FEBRUAR 2013.

Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

Embed Size (px)

Citation preview

Page 1: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

UNIVERZITET U SARAJEVU

FAKULTET ZA SAOBRAĆAJ I KOMUNIKACIJE

ODSJEK ZA KOMUNIKACIJE

DRUGI CIKLUS STUDIJA

SIP PROTOKOL

SEMINARSKI RAD

MENTOR: Prof.dr.Himzo Bajrić STUDENT: Emir Sarvan

SARAJEVO, FEBRUAR 2013.

Page 2: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

S A D R Ž A J

1. UVOD...................................................................................................................................... 4

2. KARAKTERISTIKE SIP PROTOKOLA............................................................................... 5

2.1. Struktura protokola SIP.................................................................................................... 7

3. LOGIČKE KOMPONENTE SIP MREŽE .............................................................................. 8

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

3.2. SIP Proxy server............................................................................................................. 10

3.2.1. Poslužitelji bez stanja transakcije (stateless) .......................................................... 11

3.2.2. Poslužitelji sa stanjem transakcije (stateful) ........................................................... 11

3.3. Redirect poslužitelj......................................................................................................... 12

3.4. Registrar ......................................................................................................................... 12

4. FUNKCIJE PROTOKOLA SIP ............................................................................................ 13

4.1. Razlučivanje adresa ........................................................................................................ 13

4.2. Sesijski vezane funkcije ................................................................................................. 14

4.2.1. Uspostava sesije ...................................................................................................... 14

4.2.2. Prenos SIP poruka preko IP-a ................................................................................. 15

4.2.3. Media Negotiation .................................................................................................. 15

4.2.4. Modifikacija sesije .................................................................................................. 16

4.2.5. Prekid i otkazivanje sesije....................................................................................... 17

4.2.6. Signalizacija u toku poziva ..................................................................................... 18

4.2.7. Kontrola poziva....................................................................................................... 19

4.2.8. Ponovno slanje poruka u SIP-u............................................................................... 21

4.3. Funkcije bez sesije ......................................................................................................... 22

4.3.1. Pokretljivost (mobilnost) ........................................................................................ 22

4.3.2. Prenos poruke.......................................................................................................... 22

4.3.3. Procesi pretplate i obavijesti ................................................................................... 23

4.3.4. Publikacija prisutnosti............................................................................................. 23

4.3.5. Traženje Autentifikacije.......................................................................................... 23

4.3.6. Mogućnost proširenja.............................................................................................. 25

Page 3: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

5. SIGURNOST SIP PROTOKOLA......................................................................................... 26

5.1. Osnovni tipovi napada.................................................................................................... 26

5.2. Mehanizmi zaštite na razini signalnog protokola ,SIP ................................................... 27

6. ZAKLJUČAK........................................................................................................................ 28

Literatura....................................................................................................................................... 29

Page 4: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

1. UVOD

Protokol za pokretanje sesija (SIP, Session Initiation Protocol) je signalizacijski protokol koji sekoristi za uspostavu, modifikaciju i raskidanje višemedijskih sesija u mrežama utemeljenim nainternet protokolu između dva ili više sagovornika.

SIP protokol je protokol aplikativnog nivoa i opisan je standardom RFC 3261 ustanovljenim odstrane IETF (organizacije za standardizaciju Interneta) na osnovu dva protokola: HTTP (HyperText Transport Protocol) i SMTP (Simple Mail Transfer Protocol). Prihvatila su ga i ostalaznačajna međunarodna standardizacijska tijela kao glavni protokol u višemedijskim domenama3G mobilnih sistema (višemedijski podsistem zasnovan na IP protokolu, IMS- IP MultimediaSubsystem), te kao okosnicu mreža slijedeće generacije NGN. S migracijom tradicionalnihtelekomunikacijskih mreža prema all IP višeuslužnim i višemedijskim mrežama, protokol SIPdobiva nezaobilaznu važnost. Sve interesne grupe su se usaglasile da je protokol SIP glavnosredstvo realizacije višemedijskih komunikacijskih usluga slijedeće generacije.

SIP je protokol koji omogućava:

a) Lociranje korisnika – mogu se naći na različitim mjestima u različito vrijeme,b) Raspoloživost korisnika – određuje da li krajnji korisnik želi ili ne želi da učestvuje u toj

sesiji,c) Karakteristike sagovornika – određuje medijum i parametre medija koji su bitni za

komunikaciju,d) Uspostava sesije – razmjena parametara za uspostavu sesije,e) Upravljanje sesijama – razmjena podataka vezanih za uspostavu, raskid i održavanje

sesije,

Sesije označavaju skupinu pošiljatelja i primatelja koji komuniciraju te stanje pošiljatelja iprimatelja za vrijeme komuniciranja. Primjeri sesije su telefonski razgovori putem Interneta,distribucija multimedije, multimedijske konferencije, distribuirane računalne igre itd.

SIP podržava i mapiranje imena i prosljeđivanje usluga, što omogućava mobilnost korisnika takošto se korisnička identifikacija ne mijenja u odnosu na lokaciju mreže. Zajedno sa drugim IETFprotokolima čini sastavni dio arhitekture koji u potpunosti omogućava multimediju .

Page 5: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

2. KARAKTERISTIKE SIP PROTOKOLA

SIP je protokol s kraja na kraj koji se koristi za kreiranje, modificiranje i završavanje sesije sjednim ili više sudionika u IP mreži. Jedna od glavnih prednosti SIP protokola je mogućnostinterakcije s drugim protokolima, te udruživanjem njihovih osobina dobijaju se napredne usluge.Ključ brzog prihvaćanja SIP protokola je tekstualno kodiranje.

SIP je tekst - kodiran protokol baziran na elementima HTTP (HyperText Transport Protocol),koji se koristi za pregledanje web stranica, i takođe SMTP (Simple Mail Transport Protocol),koji se koristi za e-mail na Internetu. SIP je razvijen od strane IETF radne grupe za MMUSIC(Multiparty Multimedia Session Control) WG kao dio Internet Multimedia ConferencingArchitecture, ali ima razvijenu vlastitu radnu grupu SIP WG u sklopu IETF. Kao što ime kažeprimarna funkcija SIP-a je pokretanje sesije (uspostava), ali takođe ima i druge bitne upotrebe ifunkcije, kao što je obavještavanje o prisustvu i kratke poruke. SIP se koristi za peer to peerkomunikaciju tj. onu vrstu komunikacije u kojoj su obje strane u pozivu ravnopravne, nemagospodara ni roba. SIP koristi model prenosa klijent - server slično kao HTTP, kao što će bitiopisano u sljedećem dijelu. SIP klijent generiše SIP zahtjev. SIP server odgovara na zahtjevgenerišući odgovor. Rastući set SIP tipova zahtjeva (poznati kao metode) je prikazan u tabeli 2.Prvih šest je definisano u RFC 3261, osnovna SIP specifikacija. Ostali su proširenja SIP-a idefinisani su u različitim RFC-ovima ili Internet prijedlozima. Nove metode se stalno predlažukao dodatne funkcionalnosti u protokolu.

Tabela 1. SIP Metode

Metod Opis

INVITE Uspostava sesije

ACK Potvrda krajnjeg odgovora na INVITE

BYE Prekid sesije

CANCEL Otkazivanje sesije na čekanju

REGISTER Registracija korisničkih URI

OPTIONS Upiti o opcijama i mogućnostima

INFO Signalizacija prenosa među-poziva

PRACK Potvrda privremenog odgovora

UPDATE Obnova informacija o sesiji

REFER Prenos korisnika do URI

Page 6: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

SUBSCRIBE Zahtjev za obavijest o događaju

NOTIFY Prenos obavijesti o pretplatničkom događaju

MESSAGE Prenos brzih poruka

PUBLISH Dizanje na server stanja o prisutnosti

Odgovori u SIP-u su u obliku brojeva. Mnogi kodovi za odgovore su posuđeni iz HTTP kao i

kreirani novi. SIP kodovi za odgovore su podijeljeni u šest klasa, koji se identificiraju prema

prvoj cifri koda kao što je prikazano u tabeli 2. 1

Tabela 2. Klase kodova SIP odogovora

Klasa Opis

1xx Privremeni ili informacijski – zahtjev raste, ali još nije kopmpletan

2xx Uspjeh – Zahtjev je uspješno kompletiran

3xx Preusmjeravanje – Zahtjev bi trebalo pokušati na drugoj lokaciji

4xx Klijent greška – Zahtjev nije završen zbog greške, može se pokušati nakon ispravke

5xx Server greška – Zahtjev nije završen zbog greške u prijemniku, može se pokušati na

drugoj lokaciji

6xx Globalni neuspjeh – Zahtjev nije uspio i ne bi trebao biti ponovljen

1 Travis Russell,2006 ,USA “Session initiation protocol (SIP)- Controlling Convergent Networks”, str.15

Page 7: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

2.1. Struktura protokola SIP

Protokol SIP je strukturiran kao slojeviti protokol, pri čemu svaki sloj definira određeni skuppravila. Elementi koje taj protokol specificira su logički elementi. Svaki element protokola nemora sadržavati svaki od slojeva. Kada se kaže da neki element sadrži određeni sloj, to zapravoznači da taj element poštuje skup pravila koje taj sloj definira.

• Najniži sloj protokola SIP je njegova sintaksa i kodiranje (syntax and encoding) koje koristiABNF (Augmented Backus-Naur Form ) pravila.

• Drugi sloj je transportni sloj (transport layer) koji definira kako klijent šalje zahtjeve i primaodgovore te kako poslužitelj prima zahtjeve i šalje odgovore putem mreže. Sve komponenteprotokola SIP moraju implementirati protokol korisničkih datograma (UDP –User DatagramProtocol ) i protokol upravljanja prijenosom (TCP - Transport Control Protocol ), ali mogu ipodržavati i druge protokole, kao što je protokol upravljanja transmisijskim slijedom SCTP(Stream Control Transmission Protocol). Budući da je UDP nepouzdan protokol, SIP imavlastiti mehanizam retransmisije koji ukljucuje i three-way izmjenu između korisnika prilikomuspostave sesije.

• Treći je sloj transakcijski sloj (tran saction layer) koji upravlja retransmisijama aplikacijskogasloja, povezivanjem odgovora i zahtjeva, kao i istekom vremena aplikacijskoga sloja(application layer timeouts). Transakcija je temeljna komponenta protokola SIP koja se sastojiod zahtjeva te jednog ili više odgovora. Transakcijski sloj sadrži komponentu klijent i poslužitelj,od kojih je svaka predstavljena automatom stanja koji je konstruiran kako bi procesuiraoodređeni zahtjev. Klijent transakcija šalje zahtjeve i prosljeđuje odgovore korisniku transakcije teje odgovorna za pouzdanu retransmisiju zahtjeva u slučajevima kada se koristi nepouzdanitransport (npr. UDP).

Ovisno o metodi koju sadrži zahtjev, postoje dva tipa stanja klijent transakcije: INVITE klijenttransakcija koja obrađuje INVITE zahtjeve i non - INVITE klijent transakcija koja obrađuje svezahtjeve osim INVITE i ACK zahtjeva. Metoda ACK je jedina metoda koja ne generira klijenttransakciju. Poslužitelj transakcija je odgovoran za prosljeđivanje zahtjeva korisniku transakcije ipouzdanu retransmisiju odgovora. Kao i kod klijent transakcija razlikujemo dva tipa automatastanja poslužitelj transakcija: INVITE poslužitelj transakcija i non - INVITE poslužiteljtransakcija.

• Iznad transakcijskoga sloja se nalazi sloj korisnika transakcije TU (Transaction User). Svi suentiteti (logičke komponente) protokola SIP, osim stateless proxy poslužitelja, korisnicitransakcije TU. Kada korisnik transakcije želi poslati zahtjev, mora kreirati klijent transakciju tejoj proslijediti zahtjev zajedno s IP adresom, portom i transportom kojem treba poslati zahtjev.

Page 8: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

3. LOGIČKE KOMPONENTE SIP MREŽE

Iako je kod najjednostavnije implementacije moguće koristiti samo dva korisnička klijenta kojiizravno 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 poslužitelji (Slika1.). Ukratko ćemo ih opisati u ovom odlomku. 2 SIP elementi su samo logičke jedinice.

Često ih je korisno spojiti, na primjer, kako bi se povećala brzina procesuiranja, ali to ovisi opojedinačnoj implementaciji i konfiguraciji.

Slika 1. Osnovni elemnti SIP arhitekture

SIP mreža ima klijent/server arhitekturu.

2 Henry Sinnreich ,Alan B. Johnston ,“Internet Communications Using SIP Delivering VoIP and MultimediaServices with Session Initiation Protocol,Second Edition”2006, Indianapolis, Indiana,str.106

Page 9: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

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

Krajnje tačke koje koriste SIP za međusobno lociranje i pregovaranje o karakteristikama sesijenazivaju se korisnički agenti (user agents). Obično se, ali ne i nužno, nalaze na korisničkomračunalu u obliku aplikacije. To je trenutno najrašireniji oblik, međutim, korisnički agenti mogubiti i mobilni telefoni, PSTN gateway-i, PDA uređaji, automatizirani IVR sustavi itd.

Korisničke agente često nazivamo poslužitelj korisničkog agenta UAS (User Agent Server) iklijent korisničkog agenta UAC (User Agent Client). UAS i UAC su samo logičke jedinice, svakikorisnički agent, ovisno o situaciji, ima ulogu UAC-a ili UAS-a. UAC je dio korisničkog agentakoji ima zadatak slanja zahtjeva (request) i primanja odgovora (response). UAS je također diokorisničkog agenta, ali on ima zadatak primanja zahtjeva i slanja odgovora (slika 2.). Budući dakorisnički agent sadrži i UAC i UAS, često kažemo da se korisnički agent ponaša kao UAC iliUAS. Na primjer, korisnički agent pozivatelja ponaša se kao UAC kada šalje INVITE zahtjeve iprima odgovore na zahtjev. Kao UAS ponaša se kad primi INVITE zahtjev i pošalje odgovore.

No ta se situacija mijenja kad pozivani odluči poslati BYE i prekinuti sesiju. U tom se slučajukorisnički agent pozivanog (koji šalje BYE) ponaša kao UAC a korisnički agent pozivatelja kaoUAS.

Slika 2. Direktna komunikacija bez proxy poslužitelja

Unutar jedne sesije UA može biti i UAC (inicira komunikaciju) i UAS (prima zahtjev za prekidkomunikacije). Korisnički agenti mogu komunicirati izravno jedan s drugim ili preko SIPservera. Jedna od UA funkcija je spremanje i upravljanje stanjima veze. RFC 3261 premafunkcijama koje obavljaju definira tri tipa SIP servera: SIP Proxy server, SIP server zausmjeravanje ka drugom odredištu i SIP server za registraciju.

Page 10: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

3.2.SIP Proxy server

SIP omogućava izgradnju infrastrukture s mrežnim računalima koja se zovu proxy poslužitelji(proxy server). Korisnički agenti mogu slati poruke (messages) proxy poslužitelju. Proxyposlužitelji su vrlo važni entiteti u SIP infrastrukturi, usmjeravaju poruke za uspostavu sesije sobzirom na trenutnu lokaciju pozivanog, obavljaju autentikaciju korisnika, accounting i ostalevažne funkcije. SIP Proxy server se ponaša i kao server i kao klijent. Standardi definiraju SIPproxy kao element koji usmjerava SIP zahtjeve prema UA serveru, te SIP odgovore prema UAklijentu. Proxy server obično transparentno prenosi poruke, ali mu dopuštena I ograničenapromjena poruka (zahtjeva i odgovora). Najvažniji zadatak proxy poslužitelja je usmjeravanjeporuka za uspostavu sesije prema pozivanom. Zahtjev za uspostavom sesije obično prelazinekoliko proxy poslužitelja dok ne pronađe onoga koji zna stvarnu lokaciju pozivanog. Taj ćeproxy izravno proslijediti zahtjev za sesijom prema pozivanom koji će prihvatiti ili odbiti zahtjev(Slika 3.).

Slika 3. Komunikacija sa proxy poslužiteljem

Postoje dvije osnovne vrste SIP proxy poslužitelja - bez stanja transakcije (stateless) i sa stanjemtransakcije (stateful).

Page 11: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

3.2.1. Poslužitelji bez stanja transakcije (stateless)

Poslužitelji bez stanja transakcije su obični prosljeditelji poruka. Oni prosljeđuju porukeneovisno o ostalim porukama vezanim uz istu transakciju. Iako su poruke obično složene utransakcije, proxy bez stanja transakcije o njima ne brine. Poslužitelji bez stanja transakcije sujednostavniji i brži od proxy poslužitelja sa stanjem transakcije. Mogu se koristiti za jednostavnobalansiranje prometa, translaciju i usmjeravanje poruka. Jedan od nedostataka proxy poslužiteljabez stanja transakcije je nemogućnost apsorbiranja retransmisija poruka i izvođenja naprednijegusmjeravanja, na primjer, forking (SIP proxy poslužitelj može poslati jednu SIP poruku na višedestinacija) ili recursive usmjeravanja (kada proxy primi negativan odgovor za zahtjev koji jeproslijedio, pa ponovo šalje zahtjev prema nekoj drugoj destinaciji (npr. voicemail)).

3.2.2. Poslužitelji sa stanjem transakcije (stateful)

Proxy poslužitelji sa stanjem transakcije su složeniji. Kod primitka zahtjeva, oni stvaraju stanje iodržavaju ga dok transakcija ne završi. Neke transakcije, naročito one koje nastaju INVITEmetodom, mogu trajati dosta dugo, sve dok pozivani ne odgovori ili odbije poziv. Budući damoraju održavati stanje za vrijeme trajanja transakcija, njihove su performanse limitirane.Sposobnost povezivanja SIP poruka u transakcije omogućuje proxy poslužiteljima sa stanjemobavljanje naprednih funkcija. Oni mogu obavljati forking, što znači da se prilikom primitkaporuke dalje šalju dvije ili više poruka. Također mogu apsorbirati retransmisije budući da znaju,preko stanja transakcije, jesu li već primili istu poruku. Proxy poslužitelji sa stanjem transakcijeobavljati zahtjevnije metode pronalaženja korisnika. Mogu, na primjer, pokušati doći douredskog telefona korisnika, pa ako on ne prihvati poziv preusmjeriti ga na mobitel.

Nedostatak im je veća upotreba memorije čime se ograničava maksimalni broj transakcija, viševremena za obradu transakcija čime se ograničava broj obrađeni transakcija u sekundi i težaimplementacija (mnogo logike).

Page 12: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

3.3. Redirect poslužitelj

Entitet koji prima zahtjev i šalje odgovor s lokacijom određenog korisnika zove se redirectposlužitelj. Redirect poslužitelj prima zahtjev, te pretražuje lokacijsku bazu podataka koju kreiraregistrar, kako bi pronašao primatelja kojem je zahtjev namijenjen. Zatim kreira popis trenutnihlokacija korisnika i šalje ih pošiljatelju zahtjeva kao odgovor unutar 3xx grupe. Pošiljateljzahtjeva zatim povlači popis destinacija i direktno njima šalje novi zahtjev. Za razliku od proxyservera, server za usmjeravanje ka drugom odredištu ne propušta zahtjeve ka drugomserveru/UA, već ih prima, te šalje odgovore klijentima s adresama zahtijevanih servera. Ovaosobina omogućava operatoru široki spektar mogućih usluga za krajnjeg korisnika (npr.aplikacija pozivnog centra).

3.4. Registrar

Registrar je poseban SIP entitet koji prima registracije od korisnika, povlači informacije onjihovoj trenutnoj lokaciji (IP adresa, port i korisničko ime) te sprema informacije u lokacijskubazu podataka (slika4.).

Slika 4. REGISTER zahtjev

Page 13: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

4. FUNKCIJE PROTOKOLA SIP

SIP protokol će biti predstavljen u smislu nekih osnovnih funkcija komunikacijskih mreža:razlučivanje adresa, sesijski vezane funkcije (uključujući uspostavu sesije, medija pregovore,promjenu sesije, prekid sesije, i otkazivanje), signalizacija međupoziva, kontrola poziva, QoSuspostave poziva, i nesesijski vezane funkcije (kao što je pokretljivost, prenos poruka, fenomenpretplatnika i obavijesti, autentifikacija, i proširljivost). Svaka od ovih stavki će biti objašnjena unastavku.

4.1.Razlučivanje adresa

Razlučivanje adresa je jedna od najbitnijih funkcija SIP protokola. Proces razlučivanja SIPadresa obično počinje sa URI, a završava sa korisničkim imenom na IP adresi. Ovo razlučivanjeod generalnog imena do stvarnog korisnika na hostu je moćno u različitim tipovima mobilnosti iprenosivosti se automatski implementira. Razlučivanje adrese može biti izvedeno od obakorisnička agenta i servera. 3

Proces razlučivanja adresa može uključivati sljedeće korake:

DNS NAPTR pretraživanje da bi se odredio transportni protokol (UDP, TCP, SCTP) kaošto je opisano u RFC 3263,

DNS SRV pretraživanje da bi se odredilo ime hosta na serveru kao i broj porta kao što jeopisano u RFC 3263,

DNS A pretraživanje da bi se odredila IP adresa hosta, ENUM pretraživanje ako je u pitanju telefonski broj, Kada se rutira na server u domeni korisnika, pretraživanje servisa lokacije, kao što je

opisano u RFC 3261,

Iako je moguće da SIP korisnički agent ima pristup servisu lokacije, ovo pretraživanje je običnoizvedeno od strane proxy-ja ili redirekcionog servera na račun korisničkog agenta. Generalno,proces razlučivanja adresa uključuje više koraka i više hopova za SIP poruke. Ovo dozvoljavakorisničkim agentima i proxy-jima da obave rutiranje zahtjeva na bazi hop-po-hop metode. Svakiproxy konsultuje DNS ili ruting tabelu, a onda prosljeđuje zahtjev sljedećem hopu. Ovaj processe nastavlja sve dok zahtjev ne bude dostavljen na odredište.

3 Henry Sinnreich ,Alan B. Johnston ,“Internet Communications Using SIP Delivering VoIP and MultimediaServices with Session Initiation Protocol,Second Edition”2006, Indianapolis, Indiana,str.108

Page 14: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

Proces razlučivanja adrese u SIP-u je dinamičan - proxy može koristiti bilo koje zaglavljeprisutno u zahtjevu i mnoge druge faktore pri ruting odlukama, uključujući i sljedeće:

o Vrijeme dana,o Zaglavlje From,o Različita polja zaglavlja u zahtjevu za učitavanje dijeljenih ili Automatic Call Distributor

(ACD) aplikacija,

4.2. Sesijski vezane funkcije

Većina SIP funkcija uključuje uspostavu sesije ili se može pojaviti u toku uspostavljene sesije. Iako nekeaplikacije SIP-a ne koriste sesijski vezane funkcije, većina korisnih aplikacija SIP-a ima koristi od ovih

moćnih funkcija. 4

4.2.1. Uspostava sesije

Kao što samo ime protokola kaže, uspostava sesije je primarna funkcija SIP-a. Budući da je„uljudan“ protokol, SIP koristi INVITE zahtjev za uspostavu sesije između dva korisničkaagenta. INVITE poruka obično sadrži oblik poruke koji opisuje tip sesije koju korisnički agentželi da uspostavi. SIP korisnik započinje To, From sa tag parametrom, i Call-ID zaglavlja napočetku sesije. Svaki korisnički agent koji generiše odgovor dodaje tagove polje To u zaglavlju.Kombinacija tagova To, From i Call-ID se onda koriste da jednoznačno identificiraju ovu sesiju,nazvanu “dialog” u SIP-u. Ova zaglavlja se nikad ne mijenjaju u toku sesije. Ove informacije,plus bilo koje zahtijevane informacije o mediju, predstavljaju minimalnu količinu “call state”informacija koje korisnik mora imati. U slučaju „pada“ korisničkog agenta ili ponovnogpokretanja, polazne informacije moraju biti nekako vraćene da bi se poziv nastavio, inače, pozivće morati biti ponovo uspostavljen od početka.

Jednom uspostavljena sesija nastavlja se neprekidno bez dodatnih zahtjeva za razmjenom SIPsignalnih poruka. SIP brojač sesije može biti korišten da prekine sesiju koja se čini predugom.Ako jedna strana u sesiji želi da promijeni ili obustavi sesiju biće potrebna nova razmjena SIPsignalnih poruka. Ovaj princip „three-way handshake“ dozvoljava forking, a to je paralelnapretraga koju inicira proxy, u kojoj više uspješnih odgovora može biti vraćeno kao jedanINVITE u pouzdanom smjeru.

4 Henry Sinnreich ,Alan B. Johnston ,“Internet Communications Using SIP Delivering VoIP and MultimediaServices with Session Initiation Protocol,Second Edition”2006, Indianapolis, Indiana,str.110

Page 15: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

4.2.2. Prenos SIP poruka preko IP-a

SIP poruke mogu biti prenošene preko transportnog sloja IP protokolom, uključujući i protokoleTCP, UDP, SCTP i TLS. TLS je također poznat po imenu svog prethodnika SSL koji koristiTCP prijenos, DTLS koristi UDP prijenos.

SIP ima ugrađene mehanizme pouzdanosti tako da može koristiti metodu najboljeg pokašaja„best effort“ nepouzdanih protokola kao što je UDP. Kad se koristi UDP jedna SIP poruka seprenosi po jednom UDP paketu. Kad se koristi TCP, prvo se uspostavi veza između korisničogagenta i sljedeće tačke „next hop“ (to može biti direktno drugi korisnički agent ili server). SIPporuke se onda šalju tom vezom. Content-length zaglavlje je prvenstveno za prenos ovih porukai omogućava sastavljanje razdvojenih poruka. Odgovori se šalju drugom TCP vezom koja jeotvorena u suprotnom smjeru, a koristi informacije koje su date u polju „via“ zaglavlja. TCPveza ne mora ostati otvorena za vrijeme trajanja sesije. Ako bude zatvorena nova TCP veza morabiti otvorena da bismo poslali ponovni poziv INVITE, ili da bismo završili sesiju BYE.

Treba znati da SIP poruke sa više hopova mogu koristiti UDP za neke hopove, a TCP za nekedruge hopove. Transportni protokol koji je korišten za hop bude snimljen u „via“ polju zaglavljazajedno sa IP adresom i brojem porta za slanje odgovora. SIP poruke se takođe mogu prenositikoristeći i druge protokole kao što je SCTP razvijen od strane IETF SIGTRAN Working Group.SCTP omogućava pouzdanu vezu i dodatne funkcije kao što je multi-homing. Multi-homingomogućava hostu da se konektuje na dva ili više servera istovremeno. Bude li ijedan od ovihservera postao nepristupačan, saobraćaj se odmah prebacuje na drugi server, smanjujući vrijemeprekida.

Izbor protokola je određen aplikacijom. Najjednostavniji SIP korisnici, kao što su SIP telefoni,PC klijenti koriste UDP za prenos zbog jednostavnosti upravljanja UDP sesijama u usporedbi saostalim protokolima. Također nema kašnjenja u uspostavi veze (kao što je to slučaj sa TCPvezom) prije nego što počne razmjena SIP poruka. TCP se ponekad koristi između proxy serveraili u nekim drugim aplikacijama gdje je korisna stalna SIP konekcija. SCTP se preporučuje zaveze između dva proxy servera ili proxy servera i velikih PSTN izlaza gdje su potrebne vezevelike propusnosti i malih kašnjenja.

4.2.3. Media Negotiation

Media negotiation je dio sekvence INVITE/200/ACK koja se koristi za uspostavu SIP sesijaizmeđu dvije krajnje tačke. SIP sam po sebi ne osigurava media negotiation, ali omogućavamedia negotiation između dva korisnička agenta koristeći SDP (Session Description Protocol).SDP nije pravi protokol, nego je više tekstualni opisni jezik, koji je definisan sa RFC 2327.

Page 16: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

Posjeduje i zahtijevana i polja opcije. Neka od zahtijevanih polja su uključena u same SIPporuke, ali se ne koriste kao što će biti pokazano ovdje.

4.2.4. Modifikacija sesije

Kada se jednom uspostavi sesija koristeći sekvencu INVITE/200/ACK, ona može bitipromijenjena sa drugom sekvencom INVITE/200/ACK, a ponekad i kao ponovni poziv re-INVITE. S obzirom da može biti samo jedan SIP zahtjev na čekanju, ponovni poziv ne može bitiposlan sve dok inicijalni INVITE ne bude završen sa ACK. Ponovni poziv re-INVITE može bitiizveden od bilo koje strane koristeći iste To, From (uključujući oznake), i Call-ID kao pozivINVITE. SDP u ponovnom pozivu reINVITE će zamijeniti pretpostavljeni inicijalniINVITESDP, ako je re-INVITE uspješan. Ako re-INVITE ne uspije iz bilo kog razloga ili budeodbačen, originalni SDP i originalna medija sesija će se nastaviti sve dok ne bude poslano BYEod bilo koje strane.

Tabela 3. Primjer SDP odgovora sa opisom pojedinih linija

Linija Opis

v=0 Verzija – Broj trenutne verzije SDP-a (0) –nije korišteno od strane SIP

o=userb 2890844342 2890844543INIP4client.example.net

Izvor – Nije korišten od strane SIP

S = Subjekat

c=IN IP4 16.22.3.1 Veza – Mreža (IN za internet), tip adrese (IP4za IP verziju 4), adresa (16.22.3.1)

t=0 0 Vrijeme – Početno i krajnje vrijeme – Nijekorišteno od strane SIP-a

m=video 0 RTP/AVP 34 98 Poruka – tip poruke (video), broj porta jepostavljen na nulu, što će reći da je videosesija odbijena

m=audio 6002 RTP/AVP 97 Poruka – tip poruke (audio), broj porta(6002), tip (RTP/AVP profil), i broj (profil4), pošto broj porta nije nula ova sesija jeodobrena

a=rtpmap:97 iLBC/8000 Atibuti – rtpmap lista atributa RTP/AVPaudio profil 97, uključujući kodek (iLBC) ibrzinu uzorkovanja (8000 Hz)

Page 17: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

4.2.5. Prekid i otkazivanje sesije

Prekid i otkazivanje sesije su dvije odvojene operacije u SIP protokolu ali često miješane. Prekidsesije se dešava kada bilo koji korisnički agent pošalje poruku BYE koja se odnosi na postojećipoziv (to jest uspješno uspostavljenu sesiju koristeći INVITE/200/ACK razmjenu). Prekid iotkazivanje sesije je prikazano na primjeru na slici 9. Prekid sesije se dešava kada korisničkiagent prekine poziv prije završetka uspostave sesije i same uspostave poziva. Čitaoc možepomisliti na analogiju sa akcijom klika na tipku cancel u pregledniku. U ovom slučaju korisnikkoji je poslao poziv INVITE, ali još nije primio krajnji odgovor (2xx, 3xx, 4xx, 5xx, ili 6xx),šalje CANCEL zahtjev. Zahtjev CANCEL može takođe biti iniciran od proxy da bi otkazaoindividualne dijelove u proxiju iz više dijelova ili u paralelnoj pretrazi.

Dok su INVITE i BYE metode s kraja na kraj, CANCEL je primjer SIP zahtjeva koji je zahtjevskok po skok. Proxy prima CANCEL zahtjev i odmah odgovara sa odgovorom 200OK, sadaproxy šalje CANCEL na sve destinacije do kojih je i originalni poziv INVITE poslan.

Slika 5. Primjer prekida sesije koristeći poruku BYE

Korisnički agent prima CANCEL i odgovara sa 200OK ako krajnji odgovor još nije poslan iliodgovor 481 Transaction Unknown ako je krajnji odgovor poslan.

Page 18: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

4.2.6. Signalizacija u toku poziva

Signalizacija u toku poziva je razmjena signalnih poruka između dva korisnička agenta koji nemijenjaju parametre sesije između njih. Ako pojava signalizacije u toku poziva promijeniparametre sesije (tj. SDP), onda će se pokrenuti reINVITE. Inače, SIP INFO metod će se koristitiza prijenos informacija između dva korisnička agenta. Informacija se prenosi u tijelu porukeINFO zahtjeva. Na primjer, informacije u signalizaciji u toku poziva sadžane u ISDN USR(Korisnik-korisnik poruka) poruci mogu biti prenesene koristeći INFO metod u mreži gdje sekoristi ISDN User Part (ISUP) enkapsulacija. Primjer ovoga je prikazan na slici 7. gdje se koristiosnovno SIP-ISUP mapiranje od strane dva gateway-a. ISDN poruke na slici 7. su:

IAM—Initial address message – početna adresna poruka,

ANM—Answer message – poruka odgovor, USR—User to user message – korisnik – korisnik poruka,

Slika 6. Primjer otkazivanja sesije koristeći zahtjev CANCEL

Page 19: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

4.2.7. Kontrola poziva

SIP arhtektura je jedna od peer-to-peer vrsta komunikacije sa kontrolom s kraja na kraj. Naprimjer, proxy ne može pokrenuti BYE zahtjev za prekid poziva. Ovaj zahtjev može bitipokrenut samo od strane korisničkih agenata (krajnjih uređaja) koji učestvuju u pozivu. 5

Dakako, mogućnost upravljanja i kontrole poziva između dvije strane od strane nekog trećegmogla bi biti uveliko korisna u različitim implementacijama servisa. Na primjer, ugrađeni SIPURI na web stanici, nakon klika, bi mogao učiniti da desktop SIP telefon napravi poziv premaželjenom URI. Ili kontrola poziva od treće strane može biti korištena u implementaciji webpozivnog centra ili ACD alat, koji je koristan za opsluživanje poziva za korisničke brojeveservisa, gdje kontroler prima pozive i usmjerava ih na osnovu nekih faktora kao što su dostupniagenti, dio dana, i ostali faktori.

Slika 7. Primjer signalizacije u toku poziva koristeći INFO

5 Henry Sinnreich ,Alan B. Johnston ,“Internet Communications Using SIP Delivering VoIP and Multimedia

Services with Session Initiation Protocol,Second Edition”2006, Indianapolis, Indiana,str.117

Page 20: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

Postoje dva načina za implementaciju kontrole treće strane. Prva koristi kontroler koji prima SIPINVITE zahtjeve, odgovara na njih, a onda prosljeđuje zahtjev INVITE trećoj strani. Ondakontroler ostaje da prati signalizaciju, mijenja SDP s jedne grane na drugu, i transparentnokontroliše poziv. Drugi način koristi REFER metod da bi uspostavio kontrolu treće strane.

U primjeru na slici 8. A i B uspostavljaju sesiju. A se onda obraća B da pokrene sesiju sa Ckoristeći REFER zahtjev. Onda A prekida sesiju sa B, dok B uspostavlja novu sesiju sa C.

REFER zahtjev u poruci 6 ima sljedeći oblik:

REFER sip:[email protected] SIP/2.0 Via: SIP/2.0/TCP

pc.there.com:5060;branch=z9hG4bK765d To: User B <sip:[email protected]> From: User A

<sip:[email protected]> Call-ID: [email protected] CSeq: 2 REFER Refer-To:

<sip:[email protected]> Referred-By: <sip:[email protected]> Content-Length: 0

Slika 8. Primjer kontrole poziva koristeći REFER

Rezultujuća INVITE poruka (poruka 8) će onda imati sljedeći oblik:

Page 21: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

INVITE sip: [email protected] SIP/2.0 Via: SIP/2.0/UDP 100.101.102.103:5060 To:<sip:[email protected]> From: User B <sip:[email protected]> Call-ID:[email protected] CSeq: 67 INVITE Contact: sip:[email protected] Referred-By:<sip:[email protected]> Content-Length: ...

Refer-To zaglavlje u zahtjevu REFER sadrži URI od onog kome se A obraća, dok zaglavljeReferred-By identificira A kao onog koji se obraća, i on se propušta do C u INVITE tako da Czna da se tački B obraća A u pokretanju ove sesije.

4.2.8. Ponovno slanje poruka u SIP-u

Osnovne SIP specifikacije dozvoljavaju da gotovo bilo koji izgubljeni zahtjev ili odgovor budeautomatski ponovo poslan. Pošiljaoc SIP zahtjeva koristeći nepouzdan transport starta tajmer,označen kao T1 (osnovna vrijednost mu je 500ms). Ako odgovor nije primljen prije isteka ovogvremena, zahtjev se ponovo šalje. Ako je povremeni odgovor primljen (1xx), pošiljaoc prebacujetajmer na sljedeće duže vrijeme označeno sa T2 (osnovna vrijednost mu je 4s). Ako je zahtjevizgubljen prijemnik ga neće primiti i neće ni generisati odgovor. Nakon isteka vremena T1,pošiljaoc će ponovo poslati zahtjev. Ako je izgubljen odgovor na zahtjev, pošiljaoc će ponovoposlati zahtjev. Prijemnik će prepoznati zahtjev kao ponovno poslan i on će ponovno poslati svojodgovor. Provođenje zahtjeva INVITE je malo drugačije od ostalih tipova zahtjeva, pošto trebaviše vremena da na poziv odgovori osoba. Prijemnik povremenog odgovora na INVITE neprebacuje tajmer na T2 nego zaustavlja sva ponovna slanja zahtjeva INVITE. Onaj koji odgovarana INVITE postavlja tajmer T1 kada pošalje krajnji odgovor. Ako ne primi ACK, onaj kojiodgovara ponovo šalje krajnji odgovor.

Ovo omogućava da se izgubljeni INVITE, krajnji odgovor ili ACK pronađu i ponovo pošalju.Izuzetak u ovom pravilu ponovnog prijenosa su povremeni odgovori.

Pošto povremeni odgovori ne primaju ACK ne postoji način ni za jednu stranu da znaju je li ovajzahtjev izgubljen. Pouzdani povremeni odgovor kao proširenje za SIP je razvijen da bi omogućioda povremeni odgovori budu potvrđeni sa PRACK čime se omogućava pouzdanost svimzahtjevima i odgovorima u SIP-u.

Page 22: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

4.3.Funkcije bez sesije

Neke SIP funkcije se ne odnose izravno na podešavanje sesije. 6 Ove funkcije se mogu pojavitiizvan sesija zasnovanih na SIP-u.

4.3.1. Pokretljivost (mobilnost)

Registracijska funkcija SIP-a je vrlo slična registraciji na mobilnim telefonima. Uregistraciskoj poruci, korisnik šalje proxy server URI kojim želi primati pozive. Ova ugradnjakoja podržaje mobilnost je izuzetno korisna osobina SIP-a i jedna je od glavnih prednosti uodnosu nad ostalim protokolima. Ta podrška mobilnosti je dovela do primjene protokola umnogim novim aplikacijama i koja je predložena za upotrebu kontrole poziva u trećoj generacijibežičnih mreža.

SIP REGISTER zahtjev se koristi za ostvarivanje ove funkcije . Zahtjev sadrži zaglavljakontakata, koja su URI - ovi registrovani od strane korisnika. 7 Također, treba imati na umu dakućni telefon ne treba biti SIP za ovu pred-pozivnu mobilnost. Korisnik također možeregistrirati PSTN telefon koristeći internet pristup, e-mail, ili reprogramirati registraciju zaodređeno vrijeme.

4.3.2. Prenos poruke

Metoda poruka (The MESSAGE method) jednostavno prenosi tijelo poruke na URI odredište saili bez uspostavljanja sesije. Na primjer, razmatrajući sljedeću instant poruke (IM) prenesenukoristeći SIP:

SIP messageMESSAGE im:[email protected] SIP/2.0Via: SIP/2.0/UDP pc.here.com;branch=z9hG4bK343gTo: User B <im:[email protected]>From: User A <im:[email protected]>;tag=4541232ds

6 Henry Sinnreich ,Alan B. Johnston ,“Internet Communications Using SIP Delivering VoIP and MultimediaServices with Session Initiation Protocol,Second Edition”2006, Indianapolis, Indiana,str.1207 Henry Sinnreich ,Alan B. Johnston ,“Internet Communications Using SIP Delivering VoIP and MultimediaServices with Session Initiation Protocol,Second Edition”2006, Indianapolis, Indiana,str.123

Page 23: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

Max-Forwards: 70Call-ID: a532431277432513CSeq: 15 MESSAGEContent-Type: text/plainContent-Length: 15Hi, how are you?

Primijetićemo da su URI u primjeru IM URI umjesto SIP URI. Kada korisnik B dobiva poruku,OK 200 odgovor biva generiran. Za razliku od Info metode, koje mogu biti poslane samo ako jeuspostavljena sesija između dva korisnička agenta, zahtjev poruke može biti poslan u bilo kojemtrenutku. SIP podrška prisutnosti i razmjene trenutnih poruka uključuje SIP poruke kao unavedenom primjer. Druge metode u SIP za podršku instant komunikacija su aktivnosti vezaneza pretplatu i obavijesti za prisustvo.

4.3.3. Procesi pretplate i obavijesti

Sposobnost da se zahtijeva i prima obavijest kada se određeni događaj dogodi je podržano u SIP-u od SUBSCRIBE i NOTIFY tipova zahtjeva.8 Na primjer, značajka automatskog poziv utelefoniji može se koristiti kada je pozvana strana zauzeta (off hook), a pozivatelj želi bitiobaviješten čim je pozivani pretplatnik dostupno.

4.3.4. Publikacija prisutnosti

SIP PUBLISH metoda dopušta korisničkom agentu da objavi ili učita informacije o prisutnostina server. Taj server onda može da distribuira ovu informaciju.

4.3.5. Traženje Autentifikacije

SIP podržava dvije vrste traženja autentifikacije: korisnički agent prema korisničkom agentu, ikorisnički agent prema serveru. Trenutno se ne podržava traženje autentifikacije server premaserveru ali to može biti ostvareno pomoću ne-SIP sheme kao što je IPSec.

8 Henry Sinnreich ,Alan B. Johnston ,“Internet Communications Using SIP Delivering VoIP and MultimediaServices with Session Initiation Protocol,Second Edition”2006, Indianapolis, Indiana,str.130

Page 24: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

SIP podržava određen broj autentifikacijskih shema preuzetih od HTTP-a.SIP Digestautentifikacija je danas najviše upotrijebljena schema, koja se oslanja na traženje/odgovor i tajnuizmeđu korisničkog agenta koji traži autentifikaciju i proxy-ja ili korisničkog agenta kojizahtjeva autentifikaciju. Od bilo kojeg SIP zahtjeva može biti zatražena autentifikacija. Tajna seobično sastoji od šifrovanog korisničkog imena i šifre. Tipična razmjena autentifikacijskih SIPporuka između korisničkih agenata ima formu INVITE/401 Authentication Required/ACK ukojoj korisnički agent saznaje da zahtjev traži autentifikaciju. Također saznaje prirodu zahtjevaautentifikacije iz 401 odgovora. Poslije toga se šalje novi INVITE koji sadrži Authorizationheader. Ako sadrži tačne preporuke poziv će se nastaviti kao normalan. U suprotnom će biti bićeprimljen novi 401 odgovor. Proxy server također može tražiti autentifikaciju koristeći odgovor407 Proxy Autentification Required. Ali autentificiranje jednog proxy-ja od strane drugog nijepodržano u SIP-u. Umjesto toga, jedan proxy može uspostaviti sigurnu vezu sa drugim proxy-jem koristeći IPSec.

Slika 9. Publikacija prisutnosti

Primjer SIP digest razmjene informacija je prikazano na slici 10. Inicijalna Invite poruke nemaautorizacijske podatke i primljen je odgovor od Proxy-a koji glasi 407 Proxy AuthorizationsRequired (potrebna proxy autorizacija), koja sadrži proxy-autorizacijsko zaglavlje koje opisujeprirodu problema. Nakon slanja ACK-a prema proxy, korisnički agent tada ponovo šalje pozivza autorizaciju sa zaglavljem koje sadrži šifrovano korisničko ime i šifru korisnika.

Page 25: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

4.3.6. Mogućnost proširenja

SIP protokol je osmišljen sa mogućnošću proširenja . Kao posljedica toga, protokol je osmišljentako da korisnički agenti mogu implementirati nove ekstenzije pomoću novih zaglavlja i tijelaporuka bez potrebe za središnjim serverima kao što su proxy za podršku extenzija.

Po defaultu, proxy proslijeđuje nepromijenjen nepoznat tip zahtjeva i zaglavlja. Korištenjepodržanih zaglavlja omogućava podnositelju zahtjeva da obavijestiti mrežu i drugi korisničkiagent od kojeg su ekstenzije i karakteristike podržane, dopuštajući im opciju aktiviranjakarakteristike. Ako je je potrebno da se karakteristika shvati ili aktivira, onda se upotrebljavaRequire header [30], koji je uključen u zahtjev.Korisnički agent koji prima takav zahtjev moravratiti pogrešku ako ne razumije ili ne podržava karakteristiku.

Tu je i Proxy-Require zaglavlje koje sadrži listu karakteristika (značajki) koje bilo koji proxy naputu mora podržavati. Međutim, primjena ovog zaglavlja je obeshrabljena, jer njegovaprekomjerna upotreba će dovesti do gubitka poziva i problema interoperabilnosti.

Slika 10. Proxy I korisnika autentifikacija korištenjem SIP Digest autentifikacija

Page 26: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

5. SIGURNOST SIP PROTOKOLA

U narednom teksu osvrnut ćemo se na osnovne karakteristike koje se tiću sigurnostisignalizacijskog protokola SIP. U današnje vrijeme skoro 90% poziva izvršava se preko starePSTN (Public Switched Telephoned Network) tehnologije koja posjeduje osnovnu karekteristikuda jedan poziv rezervira vezu između dva korisnika i da tu vezu više nitko ne može koristiti ikada se linija prekine veza se oslobodi za druge korisnike .

Kod prijenosa zvuka preko internet protokola nemamo problema sa ograničenjem broja korisnikakoji koriste istu liniju za razgovor, ali u svakom slučaju imamo veći problema sa sigurnošćuprometa nego kod klasične telefonije. SIP protokol je u zadnjih nekoliko godina privukao dostapažnje, te je prihvaćen kao signalizacijski protokol za pružanje multimedijskih usluga u 3Gsistemima

SIP je jedan od predvodnika revolucije u internet tehnologiji. Kada govorima o SIP protokolu injegovoj implementaciji, ona je vrlo jednostavna. Temelji se na dobro razrađenom HTTP(HyperText Transfer Protocol) protokolu, te slično njemu posjeduje tekstualnu reprezentacijuporuka. Ova činjenica ga čini vrlo jednostavnim za otklanjanje pogrešaka kao i za analizuispravnosti rada kod njegovog razvoja. Zbog njegovih karakteristika kao što su jednostavnaimplementacija i jednostavno otklanjanje grešaka, SIP protokol čino vrlo ranjivim prilikomsigurnosnih napada.

5.1. Osnovni tipovi napada

Postoji više napada na razini signalnog protokola , ali mi ćemo se u ovom odlomku osvrnuti naone najčešće. Napadi na razini signalnog protokola su sljedeći:

SIP bombing - Ovaj napad karekteriše slanje velike količine lažnih SIP poruka premaciljnom SIP sistemu. Rezultat napada u najboljem slučaju je samo smanjeni kapacitet,dok u većini slučajeva napada na krajnje uređaje (telefone), napad rezultira potpunimprestankom rada i potreban je restart uređaja.

Prekid poziva – U ovom slučaju mogu se desiti dvije zlonamjerne radnje. U prvomslučaju „SIP Cancel“ poruka, koristi se kako bi se prekinulo uspostavljanje poziva. Napadse dešava u trenutku uspostave poziva. Ovisno o načinu primjene može se koristiti zaonemogućavanje primanja ili uspostavljanja poziva na tačno određenom segmentu VoIPmreže. Druga vrsta napada je poruka „SIP bye“ napadač prekida postojeći poziv,postižući isti efekt.

Page 27: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

SIP bazirani „Man in the Middle“ napadi - Primjenom metode MITM moguće je ostvaritidvije vrste napada. Prva vrsta sastoji se od klasičnoga MITM napada, ubacivanjem ukomunikacijski kanal (bilo u svrhu prisluškivanja ili promjena komunikacije), dok sedruga sastoji od korištenja MITM metoda za „krađu“ poziva, pri čemu se pozivpreusmjerava na napadača

5.2. Mehanizmi zaštite na razini signalnog protokola ,SIP

Svi napadi koji spadaju u skupinu napada baziranih na iskorištavanju karakteristika signalnogprotokola, baziraju se na modifikaciji SIP headera. Osnovni način na koji SIP headeri bivajuposlani kroz mrežu je plain text, što znači da bilo tko sa mogućnošću prisluškivanja imodifikacije prometa na mreži je potencijalni napadač, kao i naravno da je razina sigurnosti utakvoj mreži daleko ispod „bestpractice“ minimuma. Best practice u ovome slučaju sastoji se odsnažne enkripcije i mehanizama autentifikacije. Postoji nekoliko načina zaštiti na razinisignalnog protokola. A navest čemo slijedeće:

TLS zaštita SIP signalnih poruka – Korištenje TLS (Transport Layer Security) zaštiteuveliko povećava sigurnost SIP baziranih VoIP mreža, te efektivno onemogućuje napadebazirane na promjeni SIP kontrolnih poruka.TLS zaštićena SIP komunikacija štiti odgubitka integriteta, tajnosti, te reproduciranja SIP headera korištenjem sigurnih ključeva idvostrane idetifikacije. Budući da se za primjenu TLS-a koristi isključivo TCP(Transmission Control Protocol) protokol, nemoguća je primjena SIPTLS zaštite na UDP(User Datagram Protocol) baziranim SIP mrežama.

Korištenje IPSec tunela – Druga popularna metoda zaštite SIP prometa u VoIP mrežamaje „gradnja“ virtualne mreže koja se sastoji samo od sigurnosno verificiranih elemenata,kroz primjenu IPsec sustava. IPSec predstavlja vid zaštitnog kodiranja i mada naširokoimplementiran u sistemima za prijenos podataka, u VoIP-u je primenljiv samo pododređenim uvjetima .Prednost ove metode je što se u VPN može zatvoriti cjelokupanVOIP promet (voice+signaling), te je neovisan o transportnom mehanizmu (TCP iliUDP). Najčešće korišteni protokol izmjene ključeva u VoIP IPsec mrežama je InternetKey Exchange (IKE).

Page 28: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

6. ZAKLJUČAK

Sa razvojem mreža za prijenos podataka i širokom primjenom IP (Internet Protocol) protokolaskrenuta je pažnja na prijenos govora Internetom i drugim paketskim mrežama odnosno na VoIP(Voice over IP) tehnologiju. Iako uvedena da omogući jeftine telefonske razgovore, IP telefonijapostaje sve atraktivnija zbog mogućnosti da pruži nove multimedijalne servise.

SIP je signalni protokol koji služi za uspostavu i prekid komunikacije. Komunicirati mogu dva iliviše korisnika i to u obliku multimedijskih konfrencija. SIP je trenutno u fazi razvoja a sličan jepoznatim protokolima SMTP (Simple Mail Transfer Protocol) i HTTP (Hyper Text TransferProgram). Kao i oni, SIP je tekstualno orijentirani protokol koji se temelji na klijent - poslužiteljmodelu i nizu poruka koje međusobno izmjenjuju klijent(i) i poslužitelji(i).

U ovom radu prvenstveno smo se bazirali na SIP protokol prije svega što je taj protokolprihvaćen kao glavni protokol u novoj generaciji mreža, NGN.

S razvojom tradicionalnih telekomunikacijskih mreža prema IP višeuslužnim i višemedijskimmrežama, SIP protokol dobiva nezaobilaznu važnost. Sve interesne grupe u telekomunikacijskojindustriji su se usuglasile da je protokol SIP glavno sredstvo realizacije višemedijskihkomunikacijskih usluga sljedeće generacije.

Prihvaćanjem Internet tehnologija za prijenos medija, SIP protokol postaje predvodnik promjenakoje će uvesti nove vidove komuniciranja među ljudima i mogučnosti realiziranja i korištenjabrojnih novih usluga. Vrlo aktivna standardizacijska aktivnost usmjerena na dogradnju SIPprotokola i njegovu primjenu, svjedoči o tome da SIP postaje nezaobilazan protokol u novim, IPtemeljenim telekomunikacijskim mrežama. SIP protokol je privukao dosta pažnje u zadnjihnekoliko godina, što je naglašeno prihvaćanjem toga protokola kao signalizacijskoga protokolaza pružanje višemedijskih usluga u 3G sistemima i posve izvjesnom migracijomtelekomunikacijskih mreža prema IP višeuslužnim mrežama ili NGN.

Page 29: Seminarski Rad Iz Predmeta, Drugi Ciklus Studija - SIP PROTOKOL

Literatura

Knjige:

(1) Henry Sinnreich ,Alan B. Johnston ,“Internet Communications Using SIP Delivering

VoIP and Multimedia Services with Session Initiation Protocol,Second Edition”

(2) Travis Russell,2006 ,USA “Session initiation protocol (SIP)- Controlling

Convergent Networks”,

(3) N. Biondić, M. Vukušić Vasiljevski, L. Medak, V. Bolt, V. Vrlika "Protokol za

pokretanje sesije", Revija No.1, 2005, (3-34)

Internet izvori:

(1) Wikipedia slobodna enciklopedija, Najveća online enciklopedija [datum pristupa:20.01.13], < http://hr.wikipedia.org/wiki/SIP>

Dodatni izvori

(1) IETF, Internet-draft, RFC 3261, "SIP: Session Initiation Protocol"

(2) IETF, Internet-draft, RFC 2976, "SIP INFO Method"