You are on page 1of 5

SIP I PRIMENA U IP TELEFONIJI AKADEMSKE MRE E SRBIJE SIP AND ITS IMPLEMENTATION IN SERBIAN RESEARCH AND EDUCATION NETWORK#S

IP TELEPHONY
Milivoje Mirovi , Du#an Pajin, dr Zoran Jovanovi Ra$unarski centar Univerziteta u Beogradu (RCUB)

Sadr aj IP telefonija je u dana ! nje vreme jako popularna. Razlog je uvo $enje novih servisa, smanjenje telefonskih tro! kova i kori!% enje ra( unarske mre) e kao prenosnog medija. U ovom radu predstavljen je princip rada IP telefonije zasnovane na SIP-u. Obja ! njeni su elementi SIP mre ) e i SIP poruke. Tako $e, predstavljena je i implementacija IP telefonije u Akademskoj mre ) i Srbije. Obja! njeno je kori!% enje SER SIP servera i propratnog softvera, uvo$enje naprednih servisa i podr ! ke za NAT kao i na( ini povezivanja sa ostalim mre ) ama IP telefonije zasnovanih na SIP-u. Abstract IP Telephony is very popular nowadays. This is because it offers new services, lowers costs of phone calls, and uses computer networks as transmission media. This paper explains the principles of SIP IP Telephony. It describes SIP messages and SIP network elements. Paper also explains IP Telephony implementation in Serbian Research and Education Network, describes SER SIP server and accompanied software, implementation of advanced services, support for NAT and principles of integration with other IP Telephony systems based on SIP. 1. UVOD SIP (Session Initiation Protocol) je protokol aplikativnog sloja razvijen od strane IETF-a [1]. Na transportnom sloju SIP koristi port 5060 preko UDP-a ( & e# i slu& aj) ili preko TCP-a. SIP protokol upravlja (uspostavljanje, izmena, prekidanje) sesijama izme' u korisnika. Sesiju predstavljaju u& esnici u komunikaciji (po#iljaoci i primaoci), uspostavljene veze izme' u njih kao i njihova stanja. SIP se osim u IP telefoniji mo( e primeniti i u ostalim sistemima u kojima je potrebna komunikacija izme' u korisnika: distribuirani Virtual Reality sistemi, mre( no igranje, videokonferencije. Ovaj rad se ograni& ava na primenu SIP-a u IP telefoniji. Za uspostavljanje (glasovne) komunikacije me' u korisnicima osim SIP-a koji je signalizacioni protokol potrebni su i dodatni protokoli kao #to su SDP [2] i RTP [3]. SDP (Session Description Protocol) slu( i da bi se u& esnici u komunikaciji dogovorili o mogu nostima koje podr( avaju za uspostavljanje veze: tipu kodeka za prenos glasa i sl. RTP (Real Time Protocol) slu( i za prenos multimedijalnih informacija (digitalizovanog glasa, slike) u realnom vremenu izme' u u& esnika u komunikaciji.

SIP protokol je end-to-end, tj. najve i deo logike sistema se nalazi u krajnjim ure' ajima. Ovim se pove ava robusnost mre( e jer ne postoji ure' aj u mre( i & ijim bi otkazivanjem ceo sistem prestao da radi ( single point of failure). Otkazivanjem jednog servera korisnici se mogu preusmeriti na drugi. U javnoj telefonskoj mre( i (PSTN) mre( a poseduje celokupnu logiku, dok su krajnji ure ' aji jednostavni. Za identifikovanje korisnika se koristi SIP URI (Uniform Resource Identifier). On predstavlja adresu korisnika i ima formu e-mail adrese: mmirovic@rcub.bg.ac.yu. SIP URI i e-mail adresa jednog korisnika mogu biti iste. SIP adresa je neprakti& na za ure' aje koji pri pozivu podr( avaju isklju& ivo brojeve (obi& ni telefoni, jeftini SIP hardverski telefoni) pa je potrebno izvr #iti preslikavanje iz broja u SIP URI, #to obavlja ENUM. ENUM standardizovani telefonski broj (E.164) prevodi u SIP URI korisnika [4]. Prevo ' enje se obavlja putem zapisa na DNS serveru. 2. ELEMENTI SIP MRE E Elementi SIP mre( e su: User Agent (UA) * krajnji, korisni& ki ure' aj, registrar, proxy server, gateway i redirect server. U praksi se neki od navedenih elemenata mogu grupisati u jednom ure' aju. 2.1. User Agent (UA) Korisni& ki ure' aj mo( e biti softverski ili hardverski SIP telefon. User Agent se sastoji iz dva logi& ka entiteta User Agent Client-a (UAC) i User Agent Server-a (UAS). UAC #alje zahteve i prima odgovore. UAS prima zahteve i #alje odgovore. Agent u jednom trenutku mo( e imati ulogu UAC-a, a u drugom UAS-a (Slika 1).

Slika 1. UAC i UAS

3. SIP PORUKE 2.2. Proxy Server Posredni& ki ure' aj koji se nalazi izme' u dva agenta. Njegovi primarni zadaci su rutiranje zahteva koje dobija od agenta, AAA (Authentication Authorization Accounting - provera verodostojnosti, autorizacija, tarifiranje), registracija propu#tenih poziva (missed calls)... Poruke koje se prenose putem SIP-a nisu nezavisne. One se grupi#u u transakcije. Server koji ne pamti stanja transakcija je stateless. Server koji pamti stanja transakcija je stateful. Stateless server je jednostavan. Njegova uloga je samo da pravilno prosledi poruke koje dobija. Ve ina dana#njih servera je stateful jer to zahtevaju funkcije prosle ' ivanja u slu& aju neraspolo( ivosti, prosle' ivanja poziva na vi#e odredi#ta (forking), tarifiranja, NAT, prosle' ivanja u slu& aju neraspolo( ivosti (forward-on-unavailable ) i sl. 2.3. Registrar Proxy server zna lokaciju korisnika ako ima informaciju na kojoj IP adresi i portu je korisnik dostupan. Da bi se izvr#ilo mapiranje izme' u SIP URI-ja sa jedne i IP adrese i porta sa druge strane potreban je registrar. Njemu agent korisnika #alje REGISTER poruku koja sadr( i njegovu IP adresu i port. Registrar dobijene informacije & uva u svojoj bazi podataka (Slika 2). Svaka registracija ima ograni& eno trajanje i obnavlja se. Registrar naj& e# e predstavlja deo proxy servera. SIP komunikacija se obavlja razmenom poruka u tekstualnom formatu. Poruke se naj& e# e prenose UDP protokolom transportnog sloja i sastoje se od +prve linije+, zaglavlja (header) i tela (body) poruke. Prva linija je va( na i posebno se razmatra jer ona defini#e tip poruke: zahtev (request) i odgovor (response). Zaglavlje se sastoji od niza polja (fields). Telo poruke ne mora biti prisutno. Kada postoji ono sadr ( i dodatne informacije vezane za poruku: SDP opis sesije pri iniciranju razgovora i sl. 3.1. SIP zahtevi SIP zahteve klijent agenta (UAC) #alje serveru drugog agenta (UAS). Primer prve linije jednog zahteva je:
INVITE sip:mmirovic@rcub.bg.ac.yu SIP/2.0

Zahtev se sastoji od tri dela: metoda , request URI-ja i verzije SIP-a. , est osnovnih metoda su INVITE, ACK, BYE, CANCEL, OPTIONS, REGISTER. INVITE i ACK * Za pozivanje korisnika (uspostavljanje sesije) koristi se INVITE metod. On koristi three-wayhandshake princip: slanje INVITE poruke - prijem odgovora - slanje ACK poruke. BYE * Metod koji inicira prekid sesije. Odgovara spu#tanju slu#alice u klasi& nom telefonskom razgovoru. CANCEL * Prekida sesiju koja nije do kraja pokrenuta: ako pozvani korisnik ne odgovara na poziv slanjem CANCEL poruke odustaje se od poziva. OPTIONS * , alje se proxy serveru i slu( i da bi se saznale mogu nosti koje server pru( a. REGISTER * , alje se registraru i sadr( i SIP URI i lokaciju (IP adresu i port) korisnika. Proxy server koristi podatke iz registrara za rutiranje poruka prema korisnicima.

Slika 2. Registrar 3.2. SIP odgovori 2.4. Redirect server U primenama gde je brzina od velike va( nosti koristi se redirect server. On prima zahteve, pronalazi tra ( enog korisnika i putem poruke o preusmeravanju obave #tava pozivaju eg korisnika gde treba da preusmeri zahtev. Redirect server ne u& estvuje u razmeni poruka izme' u korisnika. 2.5. Gateway Za povezivanje sa ostalim komunikacionim mre( ama koristi se gateway: PSTN gateway za povezivanje sa javnom telefonskom mre( om, GSM gateway za povezivanje na GSM mre( u mobilne telefonije, SMS gateway za slanje i prijem SMS poruka... SIP odgovori se #alju na sve zahteve osim na ACK. Primer prve linije odgovora:
SIP/2.0 180 Ringing

Odgovor se sastoji od tri dela: verzije SIP-a, koda poruke (reply code), tekstualnog obja#njenja (reason phrase). Prva cifra odre' uje tip odgovora. Tekstualno obja#njenje treba da se prosledi korisniku. Postoje standardizovana tekstualna obja#njenja koja se mogu menjati (prevoditi). Odgovori mogu biti privremeni (1xx) i kona& ni (2xx, 3xx, 4xx, 5xx, 6xx). Kona& ni odgovori ozna& avaju i kraj transakcije. 1xx * Privremeni odgovori. , alju se kada je zahtev primljen, ali se jo# uvek ne zna njegov kona& ni rezultat (obrada mo( e dugo trajati): 100 Trying * #alje se odmah

po prijemu INVITE poruke, 180 Ringing * & eka se da se pozvani korisnik javi. 2xx * Kona& ni pozitivni odgovori: 200 OK * pozvana strana je prihvatila razgovor, dobijen je zahtev za prekid veze... 3xx * Preusmeravanje na drugi proxy server ili direktno na agenta: 302 Moved Temporarily * preusmeravanje direktno na pozvanog korisnika. 4xx * Problem je na strani po#iljaoca. Po#iljalac bi trebalo da izmeni zahtev u skladu sa dobijenim odgovorom i da ponovi zahtev: 401 Unauthorized * korisni& ko ime i #ifra za proveru verodostojnosti ili nisu prisutni ili su pogre #ni; 404 Not Found * tra( eni korisnik ne postoji. 5xx * Problem je na strani servera. Iako je zahtev dobar iz nekog razloga server ne mo( e da ga ispuni. Naj& e# e zahtev treba ponoviti posle odre ' enog vremena: 503 Service Unavailable * odre' eni servis trenutno nije u funkciji, npr. zbog zagu#enja; 513 Message Too Large * poruka ima du( inu ve u od dozvoljene. 6xx * Globalni negativni odgovori. Primer: 603 Decline * korisnik je kontaktiran, ali ne ( eli da u& estvuje u sesiji. 4. PRIMER RUTIRANJA POZIVA Na Slici 3. prikazan je primer uspostavljanja veze izme' u korisnika koji pripadaju razli& itim mre( ama. SIP proxy server pozivaju eg korisnika #alje upit DNS serveru tra( e i informaciju o adesi SIP proxy servera pozvanog korisnika. Nakon toga SIP proxy preko proxy servera druge kompanije prosle' uje tra( enom korisniku zahtev za uspostavljanje veze. Zahtev za prekidanjem veze ne ide kroz proxy servere (u#teda u resursima). Slika 4. Struktura AMRES IP telefonije Osnova IP telefonske mre( e AMRES-a je SIP server baziran na SER (SIP Express Router) softveru [5][6]. Za agente u komunikaciji koriste se razni tipovi softverskih (kphone, X-Lite, X-Pro, Windows Messenger, Express Talk) i hardverskih (Cisco 79XX serija) SIP telefona. SER je SIP server razvijen od strane know-how organizacije iptel.org (www.iptel.org). Najnovija verzija se mo( e preuzeti sa adrese ftp://ftp.berlios.de/pub/ser. Besplatno je na raspolaganju pod GNU General Public License uslovima. SER je napisan u C jeziku i ima modularnu strukturu tako da ga je lako menjati i dodavati mu nove mogu nosti. SER mo( e da objedini proxy, registrar i redirect funkcije. Podr( ani su servisi: AAA (Authentication Authorization Accounting), polisa kontrole poziva, ENUM, RADIUS, propu#teni pozivi itd. Tako' e, podr( ani su i napredni servisi govorne po#te (voicemail), konferencijske veze, slanja poruka (instant messaging ) zajedno sa SMS gateway-om i sl. Postoji i pregledan web interfejs (Serweb) za korisnike koji sadr( i imenik, tarifiranje, propu#tene pozive, poruke. SER se instaliran na ra& unaru pod Linux operativnim sistemom * RedHat distribucija. Nakon instalacije softver se konfiguri#e kroz konfiguracioni fajl / ser.cfg+ koji ima sintaksu sli& nu C jeziku. Da bi se konfigurisao server potrebno je dobro poznavanje SIP protokola, #to & ini pode#avanje komplikovanim, ali pru( a veliku fleksibilnost u konfigurisanju i implementaciji servisa.
5. IN VI TE

Veliki deo funkcionalnosti SER-a zavisi od integracije sa bazom podataka. SER poseduje podr #ku za MySQL bazu. Funkcionalnosti koje baza podataka pru( a su formiranje baze korisnika, provera verodostojnosti korisnika ( digest authentication), tarifiranje poziva... Server je konfigurisan da obavlja funkicje registrar-a i stateful proxy-ja. SIP URI unutar AMRES-a ima oblik email adrese: npr. mmirovic@rcub.bg.ac.yu. 5.1. Servisi U okviru mre( e testiran je i pu#ten u rad veliki broj servisa. Trenutno su u funkciji slede i servisi: Registrar: Osim osnovne funkcije registrovanja realizovana je i digest provera verodostojnosti (digest

Slika 3. Rutiranje poruka u SIP-u 5. IMPLEMENTACIJA SIP IP TELEFONIJE U AKADEMSKOJ MRE I SRBIJE Na Slici 4. data je struktura IP telefonske mre ( e Akademske mre( e Srbije (AMRES).

authentication). Provera verodostojnosti se sastoji iz slanja challage-a korisniku i prijema odgovora koji sadr( i hash dobijen preko MD5 algoritma. U MySQL bazi se & uvaju podaci o korisnicima. Autorizacija: Kontrola pristupa defini#e pristup servisima i gateway-ima u mre( i. Realizovana je kroz koncept & lanstva u grupi. Ako je korisnik & lan grupe omogu en mu je pristup servisu ili gateway-u: & lan grupe voicemail ima pristup servisu govorne po#te. Autorizacija se koristi za pristup servisu govorne po#te i za pozive prema odre ' enim destinacijama. Aliasi: Omogu ava da se korisniku osim SIP URI-ja dodeli i broj. Brojevi se koriste pri pozivanju sa agenata koji nemaju slovnu tastaturu. Svaki korisnik u sistemu ima svoj alias. Rutiranje: Funkcija rutiranja je osnovna funkcija proxy servera. Pronala( enje SIP servera pozvanog korisnika se obavlja slanjem DNS SRV upita. Ako ovaj upit ne uspe poku#ava se sa A i AAAA upitima. Tarifiranje (accounting) i propu& teni pozivi (missed calls): Tarifiranje i propu#teni pozivi su jedni od servisa koji zahtevaju kori# enje stateful proxy servera. Podaci o propu#tenim i realizovanim pozivima se & uvaju u MySQL bazi. Podacima iz baze se mo ( e pristupiti preko web-a (Serweb). U slu& aju da je sistem povezan sa javnom telefonskom mre( om bilo bi potrebno razviti softver za generisanje telefonskih ra& una. RADIUS AAA: Iako se u okviru AMRES-a kao baza koristi MySQL testirana je i AAA podr#ka preko RADIUS servera tj. digest provera verodostojnosti (authentication), tarifiranje, pam enje propu#tenih poziva i provera & lanstva u grupi. Server koji je kori# en je FreeRADIUS v0.9.1 (www.freeradius.org). S obzirom da je direktno pregledanje logova neprakti & no kori# eni su programi za analizu RADIUS logova, pre svega besplatni programi preporu& eni na FreeRadius sajtu. Naravno, na raspolaganju su i komercijalni programi poput Sawmill-a. Poruke (instant messages): Veliki broj (posebno softverskih) agenata poseduje podr#ku za prijem i slanje poruka. Za korisnike koji nisu registrovani ili & iji agent ne podr( ava poruke one se & uvaju u bazi podataka. Sa& uvane poruke se mogu pregledati preko web interfejsa. Govorna po& ta (voicemail) i konferencijska veza: Servise govorne po#te i konferencijske veze obezbe' uje program SEMS (SER Media Server). Kori # enje govorne po#te i konferencijske veze zahteva pokretanje dve instance SER-a. Druga instanca je zadu( ena za komunikaciju sa SEMS-om. Servis govorne po#te je omogu en samo odre' enom broju korisnika (preko & lanstva u grupi / voicemail+). Korisnik

se preusmerava na govornu po #tu u slu& aju da nije registrovan ili se ne javlja na poziv. Snimljena govorna poruka se #alje korisniku na e-mail. Pristup konferencijskoj vezi je realizovan kroz skup brojeva & ijim pozivom korisnik postaje & lan konferencije. Ovaj servis zahteva brz server za miksovanje poziva koji u& estvuju u konferenciji. WEB interfejs: Serweb je korisni& ki web interfejs za SER. Serweb se instalira na ra& unar na kome je SER i ima podr#ku samo za MySQL, ali ne i za RADIUS. Korisnicima je omogu eno da putem web-a po#alju zahtev za otvaranje naloga, izmene li& ne podatke, pristupe imeniku (iz kog je mogu e odmah inicirati poziv - ClickTo-Dial), pogledaju propu #tene pozive, pogledaju i po#alju poruke (Slika 5.). Preko web-a mogu a je administracija sistema, manipulisanje nalozima i autorizacijom korisnika.

Slika 5. Korisni& ki interfejs Serweb-a 5.2. Globalna integracija IP telefonije IP telefonija u okviru jedne institucije ili firme ne bi puno zna& ila kada ne bi mogla da se pove( e sa ostalim telefonskim mre( ama. Dva na& ina integracije, koja se me' usobno upotpunjuju, su DNS SRV [7] i ENUM. Oni su primenljivi i na SIP i H.323. DNS SRV slu( i za pronala( enje servera IP telefonije koji je zadu( en za odre' enog korisnika. ENUM omogu ava da korisnik za sve servise koje koristi (npr. e-mail i IP telefonija) ima jedinstvenu adresu u obliku E.164 broja (standard za telefonske brojeve u me' unarodnom saobra aju). E.164 broj je izabran zbog lakog pristupa iz javne telefonske mre( e. DNS SRV - DNS zapisi koji mogu dati ime servera za odre' eni servis (SIP, H.323, email...) na nekom domenu nazivaju se DNS SRV. Upit DNS serveru treba da sadr( i ime domena i servis koji se tra( i, a odgovor je ime servera.

DNS SRV zapisi su prakti& ni za SIP jer SIP URI sadr( i domen. Proxy server mo( e jednim DNS SRV upitom saznati ime servera tra( enog korisnika. U slu& aju da DNS SRV upit ne uspe proxy server #alje A ili AAAA upit. DNS SRV zapisi omogu avaju jednostavno povezivanje IP telefonija zasnovanih na SIP-u. Ve ina proxy servera podr( ava DNS SRV. U AMRES-u se koriste slede i DNS SRV zapisi:
$ORIGIN rcub.bg.ac.yu. _sip._tcp SRV sip.rcub.bg.ac.yu _sip._udp SRV sip.rcub.bg.ac.yu 0 0 0 0 5060 5060

U AMRES-u se trenutno ne koristi ENUM. 6. RAZVOJ IP TELEFONIJE AMRES-A Dalji razvoj IP telefonije u okviru AMRES-a e i i u dva pravca: pove anju broja servera i servisa u okviru same mre( e i ve oj integraciji sa IP telefonijom drugih mre ( a. Kako se IP telefonija bude #irila unutar AMRES-a o& ekuje se da e & lanice mre( e postepeno uvoditi svoje servere za opslu( ivanje korisnika. Broj servisa raste i sa pove anjem propusne mo i mre( e (prelazak na nove opti& ke veze) e biti mogu i servisi kao #to su video pozivi, video konferencije i sl. O& ekuje se i ve a integracija sa drugim IP telefonskim mre( ama, prvenstveno sa akademskim mre( ama zemalja u regionu i Evropi. To podrazumeva pre svega akademske mre( e uklju& ene u SEEREN i GEANT projekte. Tako' e, u planu je podno#enje zahteva za dodelu ENUM brojeva RIPE-u #to e doprineti efikasnijoj integraciji. 6. ZAKLJU( AK Implementirano re#enje je zasnovano na otvorenom SIP protokolu i ne vezuje korisnika za odre' enog proizvo' a& a. Ove osobine ga & ine pogodnim za institucije kakav je AMRES. SER se kao SIP server pokazao kao pouzdano re#enje. Popularnost SIP-a u svetskim razmerama raste. Veliki proizvo' a& i IP telefonije iako jo# uvek zasnivaju svoja re#enja na proprietary protokolima ve sada podr( avaju SIP trunk-ove i povezivanje na SIP mre( e. Neki od njih najavljuju i skoru podr#ku za SIP protokol unutar sistema kao paralelu sa proprietary protokolom. 7. LITERATURA [1] [2] [3] [4] [5] [6] [7] J. Rosenberg, H. Schulzrinne, SIP: Session Initiation Protocol , RFC 3261 M. Handley, V. Jacobson, SDP: Session Description Protocol , RFC 2327 H. Schulzrinne, S. Casner, RTP: A Transport Protocol for Real-Time Applications , RFC 1889 P. Faltstrom, E.164 number and DNS , RFC 2916 M. Brandl, D. Daskopoulos, IP Telephony Cookbook, 2004. J. Kuthan, J. Janak, Y. Rebahi, SIP Express Router v0.11.0 Admin + s Guide, iptel.org, 2002. A. Gulbrandsen, P. Vixie, A DNS RR for specifying the location of services (DNS SRV) , RFC 2782

ENUM - Jedan od najve ih izazova IP telefonije je integracija sa javnom telefonskom mre( om (PSTN). Adresiranje predstavlja veliki problem jer korisnici javne mre( e nisu u mogu nosti da pozivaju slovne adrese (SIP URI). Predlo( eno re#enje ovog problema je jedan univerzalni identifikator za korisnika koji se sastoji samo od brojeva. Broj koji bi se dodeljivao korisniku je po E.164 standardu koji opisuje brojeve u me' unarodnom telefonskom saobra aju. Ovo je i prirodno re#enje jer su korisnici ve naviknuti na njih. Za pronala( enje SIP URIja koji odgovara E.164 broju bi se koristili DNS NAPTR zapisi. Preslikavanje izme' u E.164 broja i SIP URI-ja se naziva ENUM. Za dodelu ENUM brojeva zadu ( en je RIPE (www.ripe.net/enum). Primer DNS NAPTR zapisa za SIP:
$ORIGIN 1.8.3.e164.arpa. 6.5.4.3.2.1. IN NAPTR 10 100 u sip+E2U !^.*$!sip:mmirovic@rcub.bg.ac.yu! .

Ovi zapisi pokazuju da za broj +381.123456 korisnika prvo treba kontaktirati preko SIP-a. Oznaka +^.*$+ zamenjuje ceo pozvani broj, #to zna& i da izraz zamenjuje ceo broj odgovaraju im URI-jem. Najve i nedostatak ENUM-a je sigurnost informacija. Podaci se mogu lako preuzeti od DNS-a i koristiti za spamovanje. ENUM je jo# uvek u povoju i nije implementiran u velikom broju re#enja IP telefonije. Tako' e, & ak i ako ENUM bude ugra' ivan u nova re#enja neophodno je obezbediti na & in da ga i stara re#enja koriste.

You might also like