Osnovni VoIP protokoli

Reading time: 10 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Protokoli signalizacije

SIP (Protokol za inicijaciju sesije)

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

SIP (Session Initiation Protocol)

MGCP (Protokol za kontrolu medijskih prolaza)

MGCP (Protokol za kontrolu medijskih prolaza) 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 odgovoran je za upravljanje i kontrolu medijskih prolaza. Rukuje procesima postavljanja, 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 krugova i IP mreže sa preklapanjem paketa. Njima upravlja MGC i izvršavaju komande koje od njega dobijaju. Medijski prolazi mogu uključivati funkcije kao što su transkodiranje, pakovanje i poništavanje eha.
  3. Signalizacijski prolazi (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 mreža (npr. SIP ili H.323). Signalizacijski prolazi 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 (Protokol za kontrolu tankih klijenata)

Protokol za kontrolu tankih klijenata (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 krajnjih uređaja. Naziva se "Tanki" 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 su:

  1. Server za kontrolu poziva: Ovaj server, obično Cisco Unified Communications Manager, upravlja procesima postavljanja, modifikacije i prekida poziva, kao i drugim telefonskim funkcijama kao što su preusmeravanje poziva, prebacivanje poziva i zadržavanje poziva.
  2. SCCP krajnji uređaji: 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 pruža 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, poput tradicionalne telefonije sa preklapanjem krugova i IP mreža sa preklapanjem paketa. 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 krajnjih uređaja. 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 preklapanjem paketa, kao što su IP 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 krajnji uređaji, 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, poput tradicionalne telefonije sa preklapanjem krugova i IP mreža sa preklapanjem paketa, 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. Upravljači: 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. Jedince za kontrolu više tačaka (MCU): Ovi uređaji olakšavaju višepointne konferencije upravljanjem i mešanjem medijskih tokova iz više krajnjih tačaka. MCU omogućavaju funkcije kao što su kontrola rasporeda videa, prebacivanje aktivirano glasom 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 primene u ranim danima VoIP-a, H.323 je postepeno zamenjen modernijim i fleksibilnijim protokolima kao što je Protokol za inicijaciju sesije (SIP), koji nudi bolju interoperabilnost i lakšu implementaciju. Ipak, H.323 se i dalje koristi 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 telefonska centrala) 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 prenosa i transporta

SDP (Protokol za opis sesije)

SDP (Protokol za opis sesije) 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 signalizacijskim protokolima, kao što je SIP (Protokol za inicijaciju sesije), 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, opcionalnih informacija o sesiji ili medijskom toku. Atributi se mogu koristiti za specificiranje raznih funkcija kao što su ključevi za enkripciju, zahtevi za propusnošću 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 signalizacijskog protokola 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 modifikovati predloženu sesiju.
  4. Konačni SDP opis se šalje nazad inicirajućoj strani kao deo poruke signalizacijskog protokola, 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 (Protokol za prenos u realnom vremenu): 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 signalizacijskim protokolima kao što su SIP i H.323 za omogućavanje multimedijalne komunikacije. RTP pruža mehanizme za sinhronizaciju, sekvenciranje i vremensko označavanje medijskih tokova, pomažući da se osigura glatko i pravovremeno reprodukovanje medija.
  2. RTCP (Protokol za kontrolu prenosa u realnom vremenu): 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 (Sigurni protokol za prenos u realnom vremenu): 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 signalizacijskim protokolima kao što je SIP preko TLS za pružanje end-to-end sigurnosti u multimedijalnoj komunikaciji.
  4. ZRTP (Zimmermann protokol za prenos u realnom vremenu): 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 signalizacijske protokole za razmenu ključeva, ZRTP je dizajniran da funkcioniše nezavisno od signalizacijskog protokola. 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.

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks