Basic VoIP Protocols

Podržite HackTricks

Protokoli signalizacije

SIP (Session Initiation Protocol)

Ovo je industrijski standard, za više informacija pogledajte:

SIP (Session Initiation Protocol)

MGCP (Media Gateway Control Protocol)

MGCP (Media Gateway Control Protocol) je protokol za signalizaciju i kontrolu poziva opisan u RFC 3435. Deluje u centralizovanoj arhitekturi, koja se sastoji od tri glavne komponente:

  1. Agent za pozive ili Kontroler medijskog prolaza (MGC): Glavni prolaz u MGCP arhitekturi je odgovoran za upravljanje i kontrolu medijskih prolaza. Rukuje procesima uspostavljanja, modifikacije i prekida poziva. MGC komunicira sa medijskim prolazima koristeći MGCP protokol.

  2. Medijski prolazi (MG) ili Robusni prolazi: Ovi uređaji konvertuju digitalne medijske tokove između različitih mreža, kao što su tradicionalna telefonija sa preklapanjem i IP mreže sa paketima. Njima upravlja MGC i izvršavaju komande koje od njega dobijaju. Medijski prolazi mogu uključivati funkcije kao što su transkodiranje, paketizacija i poništavanje eha.

  3. Prolazi za signalizaciju (SG): Ovi prolazi su odgovorni za konvertovanje signalizacijskih poruka između različitih mreža, omogućavajući nesmetanu komunikaciju između tradicionalnih telefonskih sistema (npr. SS7) i IP-baziranih mreža (npr. SIP ili H.323). Prolazi za signalizaciju su ključni za interoperabilnost i osiguranje da se informacije o kontroli poziva pravilno komuniciraju između različitih mreža.

Ukratko, MGCP centralizuje logiku kontrole poziva u agentu za pozive, što pojednostavljuje upravljanje medijskim i signalizacijskim prolazima, pružajući bolju skalabilnost, pouzdanost i efikasnost u telekomunikacionim mrežama.

SCCP (Skinny Client Control Protocol)

Skinny Client Control Protocol (SCCP) je proprietarni protokol za signalizaciju i kontrolu poziva u vlasništvu Cisco Systems. Primarno se koristi za komunikaciju između Cisco Unified Communications Manager (ranije poznatog kao CallManager) i Cisco IP telefona ili drugih Cisco glasovnih i video uređaja.

SCCP je lagan protokol koji pojednostavljuje komunikaciju između servera za kontrolu poziva i uređaja na kraju. Naziva se "Skinny" zbog svog minimalističkog dizajna i smanjenih zahteva za propusnost u poređenju sa drugim VoIP protokolima kao što su H.323 ili SIP.

Glavne komponente sistema zasnovanog na SCCP-u su:

  1. Server za kontrolu poziva: Ovaj server, obično Cisco Unified Communications Manager, upravlja procesima uspostavljanja, modifikacije i prekida poziva, kao i drugim telefonskim funkcijama kao što su preusmeravanje poziva, prebacivanje poziva i zadržavanje poziva.

  2. SCCP krajnje tačke: Ovi uređaji, kao što su IP telefoni, jedinice za video konferencije ili drugi Cisco glasovni i video uređaji, koriste SCCP za komunikaciju sa serverom za kontrolu poziva. Registruju se kod servera, šalju i primaju signalizacijske poruke i prate uputstva koja im daje server za kontrolu poziva za upravljanje pozivima.

  3. Prolazi: Ovi uređaji, kao što su glasovni prolazi ili medijski prolazi, odgovorni su za konvertovanje medijskih tokova između različitih mreža, kao što su tradicionalna telefonija sa preklapanjem i IP mreže sa paketima. Mogu takođe uključivati dodatne funkcionalnosti, kao što su transkodiranje ili poništavanje eha.

SCCP nudi jednostavnu i efikasnu metodu komunikacije između Cisco servera za kontrolu poziva i uređaja na kraju. Međutim, vredi napomenuti da je SCCP proprietarni protokol, što može ograničiti interoperabilnost sa ne-Cisco sistemima. U takvim slučajevima, drugi standardni VoIP protokoli kao što je SIP mogu biti pogodniji.

H.323

H.323 je skup protokola za multimedijalnu komunikaciju, uključujući glas, video i konferencije podataka preko mreža sa paketima, kao što su IP-bazirane mreže. Razvila ga je Međunarodna telekomunikaciona unija (ITU-T) i pruža sveobuhvatan okvir za upravljanje multimedijalnim komunikacionim sesijama.

Neki ključni sastavni delovi H.323 skupa uključuju:

  1. Terminali: Ovi su uređaji na kraju, kao što su IP telefoni, sistemi za video konferencije ili softverske aplikacije, koji podržavaju H.323 i mogu učestvovati u multimedijalnim komunikacionim sesijama.

  2. Prolazi: Ovi uređaji konvertuju medijske tokove između različitih mreža, kao što su tradicionalna telefonija sa preklapanjem i IP mreže sa paketima, omogućavajući interoperabilnost između H.323 i drugih komunikacionih sistema. Mogu takođe uključivati dodatne funkcionalnosti, kao što su transkodiranje ili poništavanje eha.

  3. Gatekeepers: Ovi su opcioni sastavni delovi koji pružaju usluge kontrole i upravljanja pozivima u H.323 mreži. Izvršavaju funkcije kao što su prevođenje adresa, upravljanje propusnošću i kontrola pristupa, pomažući u upravljanju i optimizaciji mrežnih resursa.

  4. Multipoint Control Units (MCU): Ovi uređaji olakšavaju multipoint konferencije upravljanjem i mešanjem medijskih tokova iz više krajnjih tačaka. MCU omogućavaju funkcije kao što su kontrola rasporeda videa, prebacivanje aktivnog glasa i kontinuirana prisutnost, omogućavajući organizovanje velikih konferencija sa više učesnika.

H.323 podržava niz audio i video kodeka, kao i druge dodatne usluge kao što su preusmeravanje poziva, prebacivanje poziva, zadržavanje poziva i čekanje poziva. I pored široke upotrebe u ranim danima VoIP-a, H.323 je postepeno zamenjen modernijim i fleksibilnijim protokolima kao što je Session Initiation Protocol (SIP), koji nudi bolju interoperabilnost i lakšu implementaciju. Ipak, H.323 ostaje u upotrebi u mnogim nasleđenim sistemima i nastavlja da ga podržavaju različiti dobavljači opreme.

IAX (Inter Asterisk eXchange)

IAX (Inter-Asterisk eXchange) je protokol za signalizaciju i kontrolu poziva koji se primarno koristi za komunikaciju između Asterisk PBX (Privatna centralna stanica) servera i drugih VoIP uređaja. Razvio ga je Mark Spencer, tvorac Asterisk open-source PBX softvera, kao alternativu drugim VoIP protokolima kao što su SIP i H.323.

IAX je poznat po svojoj jednostavnosti, efikasnosti i lakoći implementacije. Neke ključne karakteristike IAX-a uključuju:

  1. Jedan UDP port: IAX koristi jedan UDP port (4569) za signalizaciju i medijski saobraćaj, što pojednostavljuje prolaz kroz vatrozid i NAT, olakšavajući implementaciju u različitim mrežnim okruženjima.

  2. Binarni protokol: Za razliku od protokola zasnovanih na tekstu kao što je SIP, IAX je binarni protokol, što smanjuje njegovu potrošnju propusnosti i čini ga efikasnijim za prenos signalizacijskih i medijskih podataka.

  3. Trunking: IAX podržava trunking, što omogućava kombinovanje više poziva u jednu mrežnu vezu, smanjujući preopterećenje i poboljšavajući korišćenje propusnosti.

  4. Prirodna enkripcija: IAX ima ugrađenu podršku za enkripciju, koristeći metode kao što su RSA za razmenu ključeva i AES za enkripciju medija, pružajući sigurnu komunikaciju između krajnjih tačaka.

  5. Peer-to-Peer komunikacija: IAX se može koristiti za direktnu komunikaciju između krajnjih tačaka bez potrebe za centralnim serverom, omogućavajući jednostavnije i efikasnije usmeravanje poziva.

I pored svojih prednosti, IAX ima neka ograničenja, kao što je primarni fokus na Asterisk ekosistem i manja rasprostranjenost u poređenju sa etabliranim protokolima kao što je SIP. Kao rezultat, IAX možda neće biti najbolji izbor za interoperabilnost sa ne-Asterisk sistemima ili uređajima. Međutim, za one koji rade unutar Asterisk okruženja, IAX nudi robusno i efikasno rešenje za VoIP komunikaciju.

Protokoli za prenos i transport

SDP (Session Description Protocol)

SDP (Session Description Protocol) je format zasnovan na tekstu koji se koristi za opisivanje karakteristika multimedijalnih sesija, kao što su glas, video ili konferencije podataka, preko IP mreža. Razvila ga je Internet Engineering Task Force (IETF) i definisan je u RFC 4566. SDP ne upravlja stvarnim prenosom medija ili uspostavljanjem sesije, već se koristi u kombinaciji sa drugim protokolima signalizacije, kao što je SIP (Session Initiation Protocol), za pregovaranje i razmenu informacija o medijskim tokovima i njihovim atributima.

Neki ključni elementi SDP-a uključuju:

  1. Informacije o sesiji: SDP opisuje detalje multimedijalne sesije, uključujući naziv sesije, opis sesije, vreme početka i vreme završetka.

  2. Medijski tokovi: SDP definiše karakteristike medijskih tokova, kao što su tip medija (audio, video ili tekst), transportni protokol (npr. RTP ili SRTP) i format medija (npr. informacije o kodeku).

  3. Informacije o vezi: SDP pruža informacije o mrežnoj adresi (IP adresa) i broju porta na koji bi mediji trebali biti poslati ili primljeni.

  4. Atributi: SDP podržava korišćenje atributa za pružanje dodatnih, opcionih informacija o sesiji ili medijskom toku. Atributi se mogu koristiti za specificiranje različitih funkcija kao što su ključevi za enkripciju, zahtevi za propusnost ili mehanizmi kontrole medija.

SDP se obično koristi u sledećem procesu:

  1. Inicirajuća strana kreira SDP opis predložene multimedijalne sesije, uključujući detalje o medijskim tokovima i njihovim atributima.

  2. SDP opis se šalje primajućoj strani, obično ugrađen u poruku protokola signalizacije kao što su SIP ili RTSP.

  3. Primajuća strana obrađuje SDP opis, i na osnovu svojih mogućnosti, može prihvatiti, odbiti ili izmeniti predloženu sesiju.

  4. Konačni SDP opis se šalje nazad inicirajućoj strani kao deo poruke protokola signalizacije, završavajući proces pregovaranja.

Jednostavnost i fleksibilnost SDP-a čine ga široko usvojenim standardom za opisivanje multimedijalnih sesija u raznim komunikacionim sistemima, igrajući ključnu ulogu u uspostavljanju i upravljanju real-time multimedijalnim sesijama preko IP mreža.

RTP / RTCP / SRTP / ZRTP

  1. RTP (Real-time Transport Protocol): RTP je mrežni protokol dizajniran za isporuku audio i video podataka, ili drugih medija u realnom vremenu, preko IP mreža. Razvijen od strane IETF i definisan u RFC 3550, RTP se obično koristi sa protokolima signalizacije kao što su SIP i H.323 za omogućavanje multimedijalne komunikacije. RTP pruža mehanizme za synchronizaciju, sekvenciranje i vremensko označavanje medijskih tokova, pomažući da se osigura glatko i pravovremeno reprodukovanje medija.

  2. RTCP (Real-time Transport Control Protocol): RTCP je prateći protokol za RTP, koji se koristi za praćenje kvaliteta usluge (QoS) i pružanje povratnih informacija o prenosu medijskih tokova. Definisan u istom RFC 3550 kao RTP, RTCP periodično razmenjuje kontrolne pakete između učesnika u RTP sesiji. Deljenje informacija kao što su gubitak paketa, jitter i vreme povratka pomaže u dijagnostikovanju i prilagođavanju mrežnim uslovima, poboljšavajući ukupni kvalitet medija.

  3. SRTP (Secure Real-time Transport Protocol): SRTP je proširenje RTP-a koje pruža enkripciju, autentifikaciju poruka i zaštitu od ponovnog korišćenja za medijske tokove, osiguravajući sigurnu transmisiju osetljivih audio i video podataka. Definisan u RFC 3711, SRTP koristi kriptografske algoritme kao što su AES za enkripciju i HMAC-SHA1 za autentifikaciju poruka. SRTP se često koristi u kombinaciji sa sigurnim protokolima signalizacije kao što je SIP preko TLS za pružanje end-to-end sigurnosti u multimedijalnoj komunikaciji.

  4. ZRTP (Zimmermann Real-time Transport Protocol): ZRTP je protokol za dogovor o kriptografskim ključevima koji pruža end-to-end enkripciju za RTP medijske tokove. Razvio ga je Phil Zimmermann, tvorac PGP-a, ZRTP je opisan u RFC 6189. Za razliku od SRTP-a, koji se oslanja na protokole signalizacije za razmenu ključeva, ZRTP je dizajniran da funkcioniše nezavisno od protokola signalizacije. Koristi Diffie-Hellman razmenu ključeva za uspostavljanje zajedničke tajne između komunikacionih strana, bez potrebe za prethodnim poverenjem ili infrastrukturom javnog ključa (PKI). ZRTP takođe uključuje funkcije kao što su Kratke autentifikacione niske (SAS) za zaštitu od napada "čoveka u sredini".

Ovi protokoli igraju ključne uloge u isporuci i obezbeđivanju real-time multimedijalne komunikacije preko IP mreža. Dok RTP i RTCP upravljaju stvarnim prenosom medija i praćenjem kvaliteta, SRTP i ZRTP osiguravaju da je preneseni medij zaštićen od prisluškivanja, manipulacije i napada ponovnog korišćenja.

Podržite HackTricks

Last updated