Sunteți pe pagina 1din 26

VoIP și SIP

Sisteme și Rețele de Comunicații Digitale


Tehnologia VoIP
Pentru început ar fi bine să înțelegem căteva aspecte de baza despre VoIP.

VOIP este o tehnologie care vă permite să livrați un conținut vocal sau multimedia (videoclipuri, imagini)
prin intermediul rețelei globale Internet. La moment este unul dintre cele mai ieftine moduri de a comunica
oricând, oriunde, dacă este prezent accesul la Internet.

Avantajele VOIP sunt:

- Cost redus

- Portabilitate

- Flexibilitate

- Videoconferinta

Pentru un apel VOIP, tot ce aveți nevoie este un computer / laptop / mobil cu conectivitate la internet.

Sisteme și Rețele de Comunicații Digitale


Tehnologia VoIP
Mai jos este ilustrată schema care explică cum are loc apelul voce prin rețeaua IP, este necesară prezența softului VoIP
și mijloace de acces la Internet (evident softul trebuie sa fie configurat pentru o functionare corectă)

Sisteme și Rețele de Comunicații Digitale


Session initiating protocol (SIP)
Ce este SIP?

- SIP este un protocol de semnalizare folosit pentru a crea, modifica și distrăma o sesiune multimedia prin IP
(Internet Protocol). O sesiune nu este altceva decât un simplu apel între două puncte terminale. Un punct
terminal poate fi un smartphone, un laptop sau orice alt dispozitiv care poate primi și trimite mesaje cu conținut
multimedia prin rețeaua Internet.

- SIP este un protocol definit de standardul IETF (Internet Engineering Task Force). Este descris în standardul RFC
3261.

- SIP crează o arhitectura de tip client-server și utilizarea URL și URI din HTTP cu o schemă de codificare a textului
și un antet SMTP.

- SIP functioneaza în paralel cu SDP (Session Description Protocol) care descrie o sesiune și RTP (Real Time
Transport Protocol) care are drept funcție livrarea mesajelor de voce și video printr-o rețea IP.

- SIP poate fi utilizat pentru sesiuni cu două părți (unicast) sau multiparty (multicast/conferință)

SIP are și alte aplicații care includ transferul de fișiere, mesageria instantanee, videoconferința, jocuri
online și livrare rapidă de multimedia.
Sisteme și Rețele de Comunicații Digitale
Session initiating protocol (SIP)

Sisteme și Rețele de Comunicații Digitale


Session initiating protocol (SIP)
SIP este un protocol simplu de semnalizare în rețea pentru
crearea și terminarea sesiunilor cu unul sau mai mulți
participanți. Protocolul SIP este conceput pentru a fi
independent de protocolul de transport, astfel încât
aplicațiile SIP pot rula pe TCP, UDP sau alte protocoale de
rețea de nivel inferior.

Imaginea din dreapta ilustrează modul în care SIP se


încadrează în schema generală a nivelelor OSI.

Protocolul SIP a fost conceput pentru a fi foarte simplu, cu un


set limitat de comenzi. De asemenea, este bazat pe text,
astfel încât oricine poate citi un mesaj SIP transmis între
punctele finale într-o sesiune SIP. Soluția VoIP este mult mai
ieftină decat achizitionarea unu PBX (centrala telefonică
privata) și inchirierea unei linii PRI pentru care mai trebuie sa
achiți plați lunare. Din acest considerent VoIP a devenit o
tehnologie populară pentru domeniul afacerilor.

Sisteme și Rețele de Comunicații Digitale


Session initiating protocol (SIP). Elemente de rețea
Există mai multe tipuri de entităţi/elemente de rețea care pot participa la o comunicaţie VoIP:

Agenţi SIP: sunt terminalele SIP care iniţiază o cerere de comunicaţie sau sunt destinaţia finală a unei
cereri; agenţii SIP pot fi telefoanele IP sau aplicaţiile software de telefonie şi video conferinţă;
Registratori: sunt servere de înregistrare care monitorizează utilizatorii în interiorul domeniului de
reţea asignat acestora. De exemplu toţi utilizatorii care au un identificator de tipul: xyz@yahoo.com
sunt urmăriţi de registratorul care are gestionează domeniul yahoo.com;
Servere proxy SIP: sunt rutere care lucrează pe ultimul nivel OSI (nivelul aplicaţie) având ca sarcină
direcţionarea spre destinaţie a cererilor şi răspunsurilor SIP;
Servere de redirectare: recepţionează cererile şi le redirectează spre un agent sau un nou server până
când mesajul ajunge la destinaţia finală;
Serverul de locație: oferă informații despre locațiile posibile ale unui utilizator pentru serverele
redirectare și proxy. Numai un server proxy sau un server de redirecționare poate contacta un server
de locație.
Serverul DNS: oferă serverului proxy informația necesară pentru identificarea adresei IP a
apelantului (identificarea adresei IP dupa URI)

Sisteme și Rețele de Comunicații Digitale


Session initiating protocol (SIP). Arhitectura rețelei

Sisteme și Rețele de Comunicații Digitale


Session initiating protocol (SIP). Agenți utilizatori
Un agent utilizator UA (User Agent) cuprinde următoarele componente funcționale:

• UAC (User Agent Client) – o aplicație client care inițiază o cerere de sesiune SIP;
• UAS (User Agent Server) – o aplicație server care răspunde la cererile SIP.

UAC (agentul care apelează) este o aplicație client care inițiază o cerere de sesiune SIP. UAS (agentul care
răspunde) este o aplicație server care răspunde la cererile SIP.
Pe durata unei sesiuni, un UA va funcționa fie ca un UAC, fie ca un UAS, dar niciodată nu va îndeplini simultan
ambele funcții. Funcționarea unui punct terminal ca UAC sau UAS depinde de UA-ul care a inițiat cererea.
UA-ul de origine al cererii va folosi UAC, iar UA-ul destinație va folosi UAS.

Componente agent utilizator :


• Telefoane IP pot fi UAC sau UAS în funcție de rolul lor în cadrul sesiunii. Pot fi aparate telefonice IP sau
computere pe care funcționează o aplicație SIP (software phones).
• SIP-GW (Gateway) la fel pot fi UAC sau UAS ele asigură controlul apelului pe durata sesiunii. Rolul său este
de a asigura funcția de legătură dintre UA si alte tipuri de terminale. Presupune operarea cu diferite
tipuri de conținut media (audio, video), dar și inițierea si încheierea apelului într-o rețea IP

Sisteme și Rețele de Comunicații Digitale


Session initiating protocol (SIP)
Pentru stabilirea sesiunilor de comunicație SIP îndeplinește următoarele funcții de bază:
• Localizarea utilizatorilor, transformănd adresa SIP a acestora in adresa IP.
• Negocierea capabilităților intre toți participanții la o sesiune
• Modificarea parametrilor sesiunii in timpul desfășurării apelului.
• Realizarea proceselor de stabilire și încheiere a apelului pentru toți participanții la sesiune
SIP este un protocol bazat pe mesaje de tip text care:
• Folosește o sintaxă similară cu HTTP.
• UAC face cererea iar UAS returnează răspunsurile la cererile clienților.
• Definește comunicația prin 2 tipuri de mesaje (format conform RFC2822) cererile (metodele) și
răspunsurile (coduri de stare)
SIP oferă mobilitate personală și a serviciilor:
• Mobilitatea personală este capacitatea de a avea un identificator constant pe mai multe dispozitive
folosind metoda înregistrării, care permite unui dispozitiv mobil să-și schimbe adresa IP și punctul de
conectare la Internet și să poată primi/efectua apeluri.
• SIP poate oferi de asemenea și mobilitate a serviciilor care reprezintă capacitatea unui utilizator
de a păstra aceleași servicii atunci când utilizează diferiți provideri (furnizori) de servicii.

Sisteme și Rețele de Comunicații Digitale


Session initiating protocol (SIP). Inițierea unei sesiuni

Sisteme și Rețele de Comunicații Digitale


Session initiating protocol (SIP)
Cum un proxy server poate să conecteze doi utilizatori VoIP?
Vom apela la diagrama/schema simplificată cunoscută
sub numele de trapezul SIP.
Atunci când un agent utilizator (UA) inițiază un apel, un
mesaj INVITE este transmis către serverul proxy (în cazul nostru
server Proxy 1). La primirea INVITE, serverul proxy încearcă să
rezolve adresa destinației UA cu ajutorul DNS Server-ului,
scopul este de a afla adresa IP a UA apelat.
După obținerea datelor necesare serverul proxy rutează,
mesajul INVITE către proxy al UA apelat Proxy2, care acționează
ca server proxy de intrare (Proxy2) pentru el. Serverul proxy
de intrare contactează serverul de locație pentru a obține
informații despre UA apelat, adică adresa la care s-a înregistrat
utilizatorul.
După obținerea informațiilor de la serverul de locație, acesta
redirecționează corect apelul către destinație.
Odată ce agenții utilizatori își cunosc adresele, ei pot ocoli
proxy serverele, adică conversația va avea loc direct între
agentul utilizator care a format apelul ci cel apelat .
Sisteme și Rețele de Comunicații Digitale
Session initiating protocol (SIP)
Cererile SIP de bază (metode) sunt de 6 tipuri (conform standardului RFC 254), cererile vin din partea clienților și sunt
următoarele:
• INVITE: permite apelarea unui utilizator sau a unui serviciu intr-o nouă sesiune sau modificarea parametrilor unei
sesiuni existente
• ACK: Confirmarea stabilirii sesiunii de comunicație
• OPTION: cereri de informații privind capabilitățile unui server
• BYE: sfârșitul unei sesiuni
• CANCEL: întreruperea unei cereri în așteptare.
• REGISTER: înregistrarea unui agent utilizator.

Răspunsurile SIP vin ca rezultat a cererilor și conțin coduri standarde din 3 caractere/cifre, prima cifră definește clasa de
răspuns (Class Code) următoarele tipul mesajului din acestă clasă:
• 1xx - Provisional Messages.
• 2xx - Success Answers.
• 3xx - Redirection Answers.
• 4xx - Method Failures.
• 5xx - Server Failures.
• 6xx - Global Failures.

Sisteme și Rețele de Comunicații Digitale


Session initiating protocol (SIP)

Sisteme și Rețele de Comunicații Digitale


Session initiating protocol (SIP)

Sisteme și Rețele de Comunicații Digitale


Session initiating protocol (SIP)

Sisteme și Rețele de Comunicații Digitale


Session initiating protocol (SIP)
De obicei agentul client nu știe adresa IP a persoanei apelate, ci doar adresa de
email iar entitățile SIP identifică un utilizator prin identificatorul URI (Uniform Resource
Identifiers).
Formatul URI este similar unei adrese de email:
• user@domeniu, nume DNS
• user@machine, nume de echipament
• user@ip_address, adresa IP a unui echipament
• numar_telefon@gateway, gateway către numărul apelat
În partea dreaptă e prezentată schema pas cu pas a semnalizării SIP.
Fie că o cerer INVITE trebuie trimisă către un server proxy (mai întâi UA va
interoga DNS serverul pentru a obtine URI-ul proxy serverului), care este după cum
știm responsabil pentru inițierea unei sesiuni VoIP. Serverul proxy va receptiona
mesajul INVITE si va trimite imediat 100 TRYING ca răspuns apelantului, 100 TRYING
va opri re-transmiterea repetată a cererilor INVITE. Serverul proxy obține adresa
utilizatorului apelat inițiind o cerere câtre serverul de locație. După obținerea adresei,
aceasta redirecționează cererea INVITE în continuare către utilizatorul destinație. După
urmeaza generarea mesajului 180 RINGING (răspuns provizoriu) generat de UA apelat.
Un răspuns 200 OK va fi generat la scurt timp dacă UA apelat ridică receptorul. UA
apelat primește un ACK de la UA apelant, odată ce a recepționat 200 OK deja direct
fără comunicarea cu proxy serverul. Se stabilește o sesiune de RTP pachetele
(conversația). După conversație, orice UA participant (apelat sau apelant) poate trimite
o cerere BYE pentru a încheia sesiunea. BYE se trimite la fel direct ocolind serverul
proxy. În cele din urmă, apelatul trimite un răspuns 200 OK pentru a confirma mesajul
BYE și sesiunea încheiată.
Sisteme și Rețele de Comunicații Digitale
Session initiating protocol (SIP)
Protocolul SIP are un antetet de 192 octeți si
sarcina utilă (Payload) cu lungime variabilă
• Primii 4 biți indică versiunea protocolului,
• 18 biți Flow Label pentru etichetarea
(identificarea) fluxului de date SIP,
• 16 biți pentru indicatorul de lungime a
sarcinii utile Payload Length,
• 8 biți pentru indicarea tipului sarcinii utile
Payload Type,
• Hop Limit indică limita sectoarelor de
rutare (hop) pentru o sesiune.
• Source Address și Destination address
sunt adresele sursă și destinație,
• Payload e sarcina utilă ce poartă
informația despre mesajul de semnalizare

Sisteme și Rețele de Comunicații Digitale


Session Description protocol (SDP)
SDP (Session Description Protocol)
• Este utilizat pentru descrierea sesiunilor multicast in timp real, negocierea capacitaților, codecurilor, mai este
utilizat pentru invitații, anunțuri și alte tipuri de mesaje de stabilire a unei sesiuni
• Inițial a fost destinat anunțării informațiilor necesare participanților dar este utilizat atât pentru anunțuri cât și
pentru negocierea sesiunii multimedia
• Mesajele SDP pot fi transportate de diferite protocoale (SIP, SAP, RTSP, HTTP-like)
• Forma generală a unui mesaj PSD este: x = parametru1 parametru2 ... parameterN
• Fiecare câmp are un număr definit de parametri.

Parametrii SDP de obicei descriu o sesiune SIP:

v = protocol version o = owner/creator and session identifier


s = session name i =* session information
u =* URI of description e =* email address
p =* phone number c =* connection information - not required if included in all media
b =* bandwidth information z =* time zone adjustments
k =* encryption key a =* zero or more session attribute lines

Sisteme și Rețele de Comunicații Digitale


Real Time Transport Protocol (RTP)
RTP are ca funcție de transportul de mesaje multimedia în timp real între componentele rețelei cap la cap (RFC 3550)

Structura antetului RTP:

Antetul RTP conține marcajul temporal Timestamp (întârzierea dintre pachete e calculată ca diferența dintre diferitele
Timestamp), Sequence Number permite numerotarea pachetelor RTP în scopul indentificării celor pierdute, Payload
Type tipul sursei media transportată în câmpul sarcinii utile.

De obicei pachetul RTP (cu antet și mesajul multimedia) este transportat de catre protocolul UDP

Sisteme și Rețele de Comunicații Digitale


Real Time Transport Protocol (RTP)

Sisteme și Rețele de Comunicații Digitale


Real Time Transport Protocol (RTP) și codecuri utilizate
Un codec (codor-decodor), are ca funcție:
• Convertirea unui semnal vocal analogic în forma sa digitală echivalentă, astfel încât să poată fi ușor transmis.
• Convertirea inversă din semnalul digital comprimat în forma sa analogică originală, astfel încât să fie posibil de reprodus.
Pe piață există multe codecuri disponibile - unele sunt gratuite, în timp ce altele necesită licențiere. Codecurile diferă în ceea
ce privește calitatea sunetului, lățimea de bandă necesară etc. Dispozitivele hardware, cum ar fi telefoanele sau gateway-
urile, acceptă mai multe tipuri de codecuri, în timp ce comunică reciproc ele își negociază codecul care se va folosi.
Cunoastem următoarele codecuri utilizate în VoIP:
• G.711 este un codec care a fost introdus de ITU în 1972 pentru a fi utilizat în telefonia digitală (ISDN). Codecul are două
variații: Europeană A-Law utilizată și în legături telefonice internaționale și u-Law utilizată în S.U.A. și Japonia, ambele au
rata de transmisiune 64kbps.
• G.729 este un codec cu cerințe de lățime de bandă redusă, oferă calitate audio bună la o rată de transmisiune de doar
8kbps. Însă este un codec licențiat. Utilizatorii finali care doresc să utilizeze acest codec va trebui să cumpere echipament
hardware special fie că e telefon VoIP sau gateway.
• G.723.1 este rezultatul unei competiții anunțate de ITU cu scopul proiectârii unui codec care ar permite apeluri peste
conexiuni cu modeme cu rata 28.8 și 33 kbps, există doua variații a acestui codec prima cu rata de transmisiune 6.4kbps și
adoua cu 5.3kbps.
• GSM 06.10 este un codec conceput pentru retele mobile GSM. Este, de asemenea cunoscut sub numele de GSM Full Rate.
Aceast codec poate fi utilizat liber, astfel încât îl veți găsi în aplicațiile VoIP open source (gratuite). GSM 06.10 are
rata de transmisiune 13kbps.

Sisteme și Rețele de Comunicații Digitale


Dezavantaje VoIP
Dezavantaje:
• Procesarea mesajelor text impune o încărcătură pe gateway.
• Router-ul trebuie sa traducă textul, iar codul pentru aceasta operație trebuie să fie inclus in sistemul de operare
• O parte din funcțiile sale fiind in curs de dezvoltare, unii producători preferă să implementeze soluții proprii.

Sisteme și Rețele de Comunicații Digitale


Standerde VoIP
Standarde:
RFC 254
RFC 2822
RFC3530
RFC 3261 SIP
RFC 4566 SDP 
RFC 6141 Updates the RFC 3261 with respect to re-INVITE and UAS behavior
RFC-2833 DTMF

Sisteme și Rețele de Comunicații Digitale


Interconectarea rețelelor VoIP cu PSTN
Datorită popularității VoIP a apărut necesitatea interconectării rețelelor telefonice cu rețelele VoIP.
După cum cunoaștem în rețelele PSTN este utilizat sitemul de semnalizare SS7 pentru stabiliriea legăturilor, funcțiile
de facturare, rutare sau schimbul de informații între rețele și centrale PSTN. Pentru a interconecta corect o rețea IP cu una
PSTN-ISDN, este important să se păstreze informațiile SS7 (ISUP) la punctele de interconectarea care se utilizează în scopul
stabilirii apelurilor.
Cu acest scop este utilizată o entitatea specială numită Media Gateway Controller (MGC) care e capabilă sa facă
convertirea SIP/ISUP. MGC comunică prin ISUP cu rețeaua PSTN și prin SIP cu rețeaua IP, deci poate converti mesajele de
semnalizare de diferit tip. De obicei MGC memorează informațiile ISUP primite de la PSTN și apoi le încapsulează în
mesaje SIP. În asa mod mesajele SS7 sunt livrate fără pierderi în rețeaua SIP prin interfața PSTN-IP. MGC poate incapsula
atât mesaje SDP, cât și elemente de ISUP, într-un mesaj SIP utilizând formatul mime multipart.
Mesajele ISUP SS7 sunt convertite în mesaj SIP pentru a permite elementelor SIP, cum ar fi serverele proxy, să
efectueze rutarea corespunzătoare. Această funcție se bazează pe maparea antetului ISUP în parametri SIP. Spre exemplu,
maparea între parametrul ISUP Initial Address Message (IAM) și mesajul SIP INVITE sau altul. În sens invers în cazul
terminațiilor PSTN, MGC generează ISUP la ieșire , operând cu informații fie din interiorul mesajului SIP, fie din antetul SIP.

Sisteme și Rețele de Comunicații Digitale


Interconectarea rețelelor VoIP cu PSTN

Sisteme și Rețele de Comunicații Digitale

S-ar putea să vă placă și