Интернет телефонија или Voice over IP подразумева комуникациону технологију или сервис који омогућава пренос говорне и визуелне комуникације преко рачунарске мреже или интернета уместо регуларне аналогне телефонске линије. Неки VoIP сервиси омогућавају позивање корисника истих сервиса, док други омогућавају и позивање свих локалних, међународних или мобилних телефонских бројева.
Принцип рада технологије је релативно једноставан: аудио информација се трансформише у пакете помоћу специјалних DSP процесора и усмерава se преко интернета или приватне мреже, да би се на крају поново дешифровала у аудио сигнал.
Употреба је једноставна, нарочито ако се користе већ постојеће VoIP инфраструктуре као што су : Skype, Viber ili WhatsApp, где се корисници међусобно бесплатно позивају употребом интернет ресурса, а могуће је проширити функционалност и на остале јавне системе са краја на крај, како би се сачувала приватност разговора.
Историјат
Још од раних почетака развоја интернета, уочено је да корисници овај нови вид умрежавања највише користе у сврхе комуникације. Истраживања показују, да и данас као пре десетак година, преко 90% корисника, интернет користи у сврхе комуникације, а преосталих 10% за претраживање (сурфовање). У првим данима интернета, комуникација одвијала се путем електронске поште, а одмах затим и путем IRC-а (енгл. Internet Relay Chat servisa) тј. комуникације у реалном времену путем куцања порука које се размењују са тренутно активним корисницима. Почетком двадесетих година прошлог века, тај вид комуникације пренео се на комуникацију гласом и сликом путем разних сервиса.
1996. године су многи произвођачи електронских компоненти схватили да је постојећи вид брзине протока података довољан уколико се постигне бољи ниво компресије звука људског гласа. Тако да су се тада много компаније (Cisco, Motorola, Intel итд.) укључиле у развој у развој ове технологије. Већ тада су се телефонски позиви конвертовали у VoIP. На овај начин вршене су велике уштеде у комуникацији.
Мане класичне телефоније:
Поред свих предности које се огледају у поузданости и проверености технологије као и у једноставности примене и одржавања, класична телефонија има много више својих мана:
Капацитет аналогних линкова (посебна линија (парица) за сваки разговор),
Скалабилност (систем је ограничен и тешко проширив)
2 различита комплета техничке опреме (телефонска и рачунарска)
Одвојена техничка подршка
Циљеви увођења VoIP-а су:
Економичност,
Додатне уштеде – повезивање ИП мреже са јавном PSTN и приватним мрежама и конвергенцијом саобраћаја кроз исту инфраструктуру чиме се штеде мрежни ресурси, користи један сет опреме, лака инсталација итд.,
Квалитет сервиса и функционалност – задржавање истог или бољег квалитета сервиса и функционалности у односу на оно што тренутно постоји у телефонији тј. PSTN,
Скалабилност и могућност надоградње и проширења
VoIP стандарди и протоколи
VoIP протоколи, као и већина других протокола за пренос мултимедијалних података, имплементирају се на апликационом слоју референтног модела ОСИ. У VoIP системима најчешће се користи стандард Н.323 и протокол SIP. Н.323 је протокол са којим је VoIP постао као што смо већ навели али се у новије време највише користи СИП протокол и може се рећи да све модерније имплементације користе SIP протокол као основу, а Н.323 се задржао још код старијих верзија уређаја и клијената. Поред ова два постоји и велики број proprietary протокола развијених од стране великих ИТ компанија као што су : SCCP,MGCP, MEGACO ili SGCP који се углавном глобално не користе[1]
Н.323
Н.323 је ITU спецификација скупа протокола за мултимедијалну комуникацију преко локалних рачунарских мрежа. Н.323 је тренутно најсложенији , али и најпотпунији стандард који обрађује следеће категорије:
Компресију и пренос говора и слике у реалном времену,
Пренос текстуалних порука ,
Контролу квалитета везе,
Успостављање везе,
Ауторизацију и регистрацију корисника.
Н.323 обезбеђује механизме за повезивање опреме различитих произвођача и независност од мреже, као и подршку за конференцијску везу и комуникацију са више крајњих тачака.
Основне компоненте су терминали (као што су Microsoft NetMeeting), протокола, конвертори, тј. мрежни пролази (енгл. Gateway) који повезују Н.323 зоне и друге мреже, чувари зоне (енгл. gatekeepеr) који надгледају рад свих осталих компоненти, пресликавају телефонске бројеве у ИП адресе одредишних уређаја и спречавају загушење (контролишу број успостављених веза у мрежи) и MCU (енгл. Multipoint Control Unit), које су задужене за контролу конференцијских веза.
Стандард Н.323 користи велики број протокола, као што су протоколи за аудио компресију (G.711,G.723.1,G.729) и видео компресију (H.261,H.263,H.264), контролни протоколи H.225 i H.245, RTP (енгл. Real-time Transport Protocol) за пренос информација у реалном времену и RTCP (енгл. Real-Тime Transport Control Protocol) који обезбеђује додатне механизме контроле RTP преноса.
Још неколико протокола који се налази под кишобраном Н.323 протокола, раде заједно у спрези, а сваки обавља свој део посла и то су Н.245 за контролу, Н.225.0 за успостављање везе, Н.450.1 и Н.450.3 за сигурност итд)
Н.323 је замишљен као скуп протокола који би служио за мултимедијску комуникацију преко ЛАН-ова (LAN), но данас се толико развио, да је један од два кадидата и за подручје интернет телефоније.
SIP Протокол
Протокол SIP (Session Initation Protocol) специфициро је IETF(енгл. Internet Engineering Task Force). SIP служи за успостављање, одржавање и раскид мултимедијалне сесије. SIP најчешеће користи UDP као протокол транспортног слоја, јер он не захтева слање потврде о пријему пакета и тиме омогућава разговор у реалном времену. Поред UDP протокола, сигнализационе поруке у SIP-у се могу слати и преко TCP протокола или TLS ако се захтева заштита података и комуникације.[2] SIP се позива на различите протоколе.
Најзначајнији су:
RSVP (Resource reSerVation Protocol), који се користи за резервисање мрежних ресурса и помаже остваривање одређеног нивоа квалитета услуге,
RTP, RTCP, RTSP (Real Тime Streaming Protocol) - протоколи апликационог нивоа за слање података у реалном времену,
SAP (Session Announcement Protocol) - протокол за објављивање мултимедијалних сесија и
SDP (Session Description Protocol) - за опис мултимедијалних сесија.
SIP мрежа је састављена од 4 типа логичких SIP ентитета. Сваки ентитет има специфичну функцију и учествује као клијент и сервер. Један физички уређај може функционисати као више логичких SIP ентитета. На пример мрежни сервер ради у исто време и као прокси север и као регистрар. Типови логичких ентитета су:
У SIP-у кориснички агент је крајњи ентитет који иницира и терминира сесије тако што размењује захтеве и одговоре. Функцију корисничког агента могу да имају радне станице (енгл. softphones), ИП телефони, телефонски гејтвеји, гејткипери, аутоматизовани сервиси за одговор, UMTS мобилни телефони.
Кориснички агент је дефинисан као апликација која садржи и UAC-User Agent Client и UAS-User Agent Server. UAC клијент апликација иницира SIP захтеве, а UAS сервер апликација контактира корисника када је примљен захтев и враћа одговор у име корисника. На овај начин се peer-to-peer комуникација остварује коришћењем клијент-сервер протокола.
Прокси сервер је одговоран за рутирање и уручење поруке позваној страни. То је посреднички ентитет који зависно од сврхе захтева може имати улогу и сервера и клијента. Захтев се обрађује или интерно или се, уз могуће превођење преспаја даље до других сервера. Прокси преписује, а када је неопходно и пише поново захтев за ретрансмисијом. Он такође дозвољава рад у 2 мода: statefull i stateless.
Statefull подразумева да се позив или цела захтев-одговор трансакција памти од почетка до краја, а у stateless моду сваки захтев и одговор се обрађују засебно.Редирект сервер враћа нову локацију за захтев тј. даје информације о наредном скоку SIP поруке. Он растерећује рутирање проксија тако што прихвата SIP захтев, мапира адресу позване у нулу (ако није позната друга адреса) или више нових адреса и враћа их клијенту. За разлику од проксија, редирект сервер не прослеђује захтеве другим серверима.
Регистрар је сервер који прихвата захтев за регистрацију и има приступ бази података (енгл. Location service), која садржи информације које повезују корисникову ИП адресу и његове контакт физичке адресе. Корисник може да региструје један или више уређаја на мрежи и тиме постаје доступан доступан за контакт, без обзира где се налази и то независно од појединости у вези мреже или уређаја који користи.
Захваљујући регистрару, позиви се упућују на име особе уместо да се примењује компликована нумеричка шема. Он потврђује мапирање од имена до адресе. Захваљујући редирект серверу и регистрару , SIP подржава редирект мод, јер се позив може преусмерити у складу са тренутном локацијом корисника. На овај начин, SIP подржава мобилност корисника. Ово је нови персонализовани модел комуникација – уместо да се акценат ставља на уређај у нади да ће и особа бити доступна, сада мрежа може да лоцира особу.
SIP користи интернет URL (енгл. Uniform Resourse Locator) за адресирање. Адреса корисника уопштено има форму име@домен и личи на е-мејл адресу. Због ове сличности, SIP URL се лако може придружити корисниковој е-мејл адреси. SIP подржава и интернет и PSTN адресе. Обзиром да SIP URL описује корисников домен, поруке се прво рутирају на домен, а затим их ентитети домена прослеђују до терминала.
Поруке
Поруке су текстуалне, а по синтакси и по пољу заглавља су сличне као HTTP. У њима се не преноси садржај сесије већ само URL и други подаци које крајњи ентитети користе да прибаве садржај. Могу се поделити на два типа:
Захтев (енгл. Request) – шаље се од клијента ка серверу
Одговор (енгл. Response)- који се шаље од сервера ка клијенту. Поруке за одговор садрже нумеричке кодове, делимично базиране на HTTP одговор-кодовима.
Поруке се преносе корак по корак (енгл. hop by hop) и без обзира да ли је у питању захтев или одговор, садрже заглавље и тело. У заглављу се преносе:
Информације о SIP адреси позваног корисника,
Информације о SIP адреси позивајућег корисника,
Идентификатор сесије,
Информације о дужини тела поруке и типу,
Информације које се преносе у телу поруке,
Информације о скоковима поруке и
Редни број захтева
Тело поруке се користи да опише сесију коју треба иницирати али може бити искориштено и за обичне текстуалне или бинарне податке повезане са сесијом. SIP ентитети примају поруке у име корисника у циљу обезбеђивања сервиса, при чему SIP прави јасну разлику између сигнализационих информација, које се преносе у заглављу и информација сесије које су ван компетенције SIP-а. Могуће поруке SIP-а су SDP (енгл. Session Description Protocol), MIME (енгл. Multipurpose Internet Mail Extensions) или друго (дефинисано од стране IETF-а или кроз конкретну имплементацију).
RTP
RTP (енгл. Real-time Transport protocol) осигурава подршку за пренос података у стварном времену (енгл. real-time). Услуге које пружа:
Временска реконструкција,
Откривање изгубљених пакета,
Сигурност и идентификација садржаја
RTP је примарно створен за multicast пренос real time података, али се може користити и за појединачни unicast пренос. RTP се допуњује са RTCP контролним протоколом како би добио податке о квалитету преноса и о учесницима у преносу. Пакети послати преко интернета имају непредвидиво кашњење због несинхронизованости двеју страна, стране која шаље и стране која прима пакете. Real time апликације захтевају временски синхронизовано слање и репродукцију података. RTP омогућава временско означавање, нумерацију пакета унутар низа.
Временско означавање (енгл. timestamping) је најважнији податак апликације коју захтевају истовремену комуникацију. Пошиљалац у то поље уписује тренутак слања првог узорка. Временске ознаке расту са количином времена коју покрива пакет. Након пријема пакета, пријемник користи временске ознаке како би правилно реконструисао примљени податак. Временске ознаке служе и за међусобну синхронизацију различитих медија ради синхронизације видео и аудио сигнала, али сам RTP није задужен за ово, корекција треба да се врши на апликативном нивоу. UDP не испоручује пакете редоследом којим су послати па се користи нумерација пакета (енгл. sequence numbers) како би се пристигли пакети правилно распоредили. Из тог разлога већина данашњих уређаја поседује један пријемни одељак у који смешта тек пристигле пакете и покушава да их прерасподели.[3]
Помоћу нумерације пакета такође се може открити и губитак пакета. Идентификација врсте терета (енгл. payload type identifier) одређује формат трансмисије и дефинише који су поступци компресије и кодовања коришћени. Из тог поља, апликација на пријемној страни зна како интерпретирати и правилно репродуковати податке. У једном тренутку преноса, пошиљалац RTP пакета може слати само једну врсту или тип података и у току преноса могуће је да се та врста промени услед утицаја неких фактора (загушење мреже). RTP садржи и информацију о извору сигнала, што омогућује пријемној страни да зна одакле долазе подаци. RTP ради преко UDP протокола како би искористио његове особености погодне за мултимедијске садржаје. TCP је конекцијски оријентисан протокол који осигурава директну везу и поуздан ток података, док UDP то није. UDP је изабран као одредишни протокол за RTP из два разлога:
RTP је дизајниран примарно за multicast слање па му самим тим директна веза TCP не одговара.
За апликације које раде у реалном времену, поузданост испоруке пакета није једнако важна као и правовременост доласка истих.
Поуздана веза коју омогућује TCP протокол у овом случају чак и није пожељна, поготово не ретрансмисија пакета. Приликом мрежног загушења неки пакети ће бити изгубљени и апликација ће моћи да репродукује садржај али са нижим квалитетом. Ако протокол инсистира на поузданом преносу и тражи да се изгубљени пакети поново пошаљу, то ће повећати кашњење, додатно загушити мрежу и на крају, апликација неће имати довољно података за обраду.[4]
RTSP
RTSP (енгл. Real Time Streaming Protocol) је протокол апликацијског нивоа намењен контроли доставе података са real-time својствима као што су аудио и видео. RTSP остварује и контролише један или више временски синхронизованих токова континуираних података. RTSP не захтева конекцију. Сервер одржава сесију која није никако зависна од веза преносних слојева као што је на пример TCP веза. Клијент зато може да користи и connectionless протокол као што је UDP. Токови података контролисаних од стране RTSP-а могу користити RTP али функције које обавља RTSP не зависе од транспортног механизма који се користи за пренос података.
Користећи RTSP омогућује се потпуна контрола над репродукцијом аудио и видео записа. RTSP је управљачки протокол сличан секундарној конекцији у случају FTP протокола. Овај протокол се користи и код IPTV и служи за контролу и пренос података. Протокол је веб оријентисан и функционише на следећи начин:
Веб сервер шаље метафиле клијенту, који се прослеђује медиа плејеру (енгл. media player)
Медиа плејер успоставља везу са медиа сервером слањем команде SETUP
медиа север потврђује сесију
Медиа плејер шаље команду PLAY да би започео репродукцију односно streaming
Аудио и видео запис се преноси користећи протокол на бази UDP протокола
Конекција се прекида командом TEARDOWN
Медиа сервер потврђује раскид сесије
Аудио и видео кодеци:
Кодеци се користе за конверзију аудио и видео сигнала у дигиталну енкодовану форму. У тој конверзији ради се усклађивање квалитета компресије и количине пренесених информација са дозвољеним пропусним опсегом или квалитетом везе. Различитост кодека се огледа и у квалитету звука слике у поређењу са потребним пропусним опсегом или са DSP(CPU) захтевима. Неки кодеци су услед велике компресије врло захтевни за уређај коју врши компресију, други пак захтевају велике пропусне опсеге али нуде висок квалитет репродукованог сигнала.
Аудио кодеци који се користе: su G.711ulaw, G.711alaw, G.722 wideband codec, G.729 lowband codec, G.723, SILK, ILBC
Видео кодеци: H.265/HEVC, H264 , H264/MPEG-4 Part 10, AVC, H263 , VP8
Зависно од кодека зависи и квалитет пренетих информација али и захтеви који одређени уређај и интернет веза треба да дозволе.