Detalii tehnice

Session Initiation Protocol (SIP)

SIP, definit de IETF in RFC-ul 3261, descrie o serie de protocoale pentru stabilirea conexiunii si transmiterea fluxurilor media (incluzand si voce) prin retele IP. El include definitii pentru protocolul de initiere a sesiunii (SIP), protocolul de anuntare a sesiunii (SAP) si protocolul de descriere a sesiunii (SDP).

SIP suporta o modalitate flexibila de adresare a terminalelor. Destinatarul poate fi reprezentat printr-o adresa de mail, un URL sau un numar de telefon in format ITU-T E.164. Protocolul este de tip cerere-raspuns cu o sintaxa si o semantica asemanatoare cu cea a protocolului HTTP folosit pe World Wide Web (WWW). Dupa cum sugereaza si numele, SIP este folosit pentru a initia sesiuni intre utilizatori, dar intr-o maniera foarte simpla. Aceasta deoarece SIP realizeaza un serviciu de localizare, management al terminalelor si stabilire de conexiun i, dar nu si rezervare de resurse pentru circuite sau tuneluri folosite in transmiterea de informatii. Aceste caracteristici il fac sa fie asemanator cu protocolul H.225. SAP este folosit impreuna cu SDP pentru a descrie sesiunile utilizatorilor cu ajutorul pachetelor UDP.

SDP contine informatii despre fluxurile media, atribute ale caracteristicilor sursei, adresa destinatie pentru unicast sau multicast, portul UDP, tipul continutului, si asa mai departe. Caracteristicile sursei pot include lista codecurilor pe care le poate folosi in cadrul sesiunii. Aceste atribute pot fi renegociate in mod dinamic in timpul sesiunii cu scopul de a reduce posibilitatea congestiei. Aceste caracteristici ale SDP-ului il aseamana foarte mult cu protocolul H.245.

Rezulta ca protocolul SIP trebuie folosit impreuna cu alte protocoale pentru a putea oferi servicii complete utilizatorilor.Totusi, functionalitatea de baza si modul de operare al protocolului SIP nu depind de nici unul dintre aceste protocoale.

SIP nu ofera servicii. Mai degraba, SIP ofera primitive care pot fi folosite pentru a implementa diferite servicii. De exemplu, SIP poate localiza un utilizator si ii poate trimite un "obiect" incapsulat la locatia sa curenta. Daca aceasta primitiva este folosita pentru a trimite o descriere de sesiune in format SDP, de exemplu, terminalele pot negocia cu ajutorul ei parametrii sesiunii. Daca aceeasi primitiva este folosita pentru a trimite o fotografie a utilizatorului impreuna cu descrierea sesiunii, se poate implementa usor un serviciu prin care destinatarul sa poata vedea fotografia utilizatorului care doreste inceperea unei conversatii. Dupa cum putem observa din acest exemplu, o singura primitiva poate fi folosita pentru a crea un numar mare de servicii.

SIP nu ofera servicii de management pentru conferinte multimedia si nici nu specifica cum ar trebui sa se realizeze stabilirea unei astfel de conferinte. Pr otocolul SIP poate fi folosit insa pentru a initia o sesiune care foloseste un alt protocol pentru managementul conferintelor. Deoarece mesajele SIP si sesiunile stabilite cu ajutorul lor pot trece prin tipuri diferite de retele, SIP nu poate si nici nu ofera nici un fel de mecanism de rezervare a resurselor.

Terminologie

Cele mai importante elemente ale arhitecturii SIP sunt agenti utilizator (UA): clienti (UAC) sau servere (UAS) precum si serverele : de localizare, de redirectare, proxy si de inregistrare. Toate acestea vor fi definite pe scurt in paragrafele urmatoare.

User Agent Client (UAC): un UAC este o entitate logica care creaza cereri, si foloseste apoi masina de stari client pentru a o trimite. Rolul de UAC este asumat doar pe perioada acelei tranzactii. Cu alte cuvinte, daca o bucata de program initiaza o cerere, ea reprezinta un UAC pe durata acelei tranzactii. Daca mai tarziu primeste la randul ei o cerere, ea isi va asuma rolul de user agent server pe parcursul procesarii acelei tranzactii.

User Agent Server (UAS): un UAS este o entitate logica care genereaza raspunsuri la cererile SIP. Raspunsul poate insemna acceptare, rejectare sau redirectare a cererii. Acest rol este asumat doar pe durata acelei tranzactii. Cu alte cuvinte, daca o bucata de program genereaza raspunsul pentru o anumita cerere, ea reprezinta un UAS pe parcursul acelei tranzactii. Daca mai tarziu initiaza o cerere, ea isi va asuma rolul de user agent client pe parcursul procesarii acelei tranzactii.

Back-to-Back User Agent: un B2BUA este o entitate logica care primeste cereri si le proceseaza ca un UAS. Pentru a determina raspunsul la acea cerere, el se comporta ca un UAC si genereaza cereri mai departe. Spre deosebire de un server de proxy, mentine starea dialogului si trebuie sa se afle in calea tuturor cererilor trimise in cadrul dialogurilor pe care le-a stabilit. Deoarece reprezinta imbinarea unui UAC cu un UAS, comportamentul ei nu are nevoie de definitii explicite.

Server de proxy: o entitate intermediara care are rol atat de server cat si de client pentru a realiza cereri in numele altor clienti. Un server de proxy joaca un rol de intermediar in dirijarea mesajelor, aceasta insemnand ca rolul sau este de a trimite cererile altei entitati aflate mai aproape de destinatar. Serverele de proxy sunt deasemenea folositoare pentru a impune o politica (de exemplu, pentru a ne asigura ca utilizatorii din reteaua locala nu pot suna la o anumita destinatie). Un proxy interpreteaza si, daca este necesar, rescrie diferite parti ale cererii inainte de a o dirija in drumul ei catre destinatar. Cererile SIP pot trece prin mai multe proxy-uri in drumul lor spre destinatie. Un server de proxy poate primi o cerere pe care apoi sa o trimita mai departe la urmatorul server din cale, care poate fi alt server de proxy sau server-ul din UA-ul destinatie. Serverele de proxy pot fi impa rtite in doua mari clase: cu pastrarea starii si fara pastrarea starii. Un proxy care mentine starea tranzactiilor dirijeaza fiecare cerere catre destinatie si fiecare raspuns catre sursa cererii.

Outbound Proxy: un proxy care primeste cereri de la clienti, desi nu este el serverul care apare in campul Request-URI din antetul pachetului SIP. In general, un UA este configurat manual cu un outbound proxy, sau poate afla de prezenta lui prin intermediul unui protocol de autoconfigurare.

Server de localizare: un server de localizare este folosit de catre un server de redirectare sau de un proxy pentru a obtine infomatii cu privire la locatia posibila a destinatarului unui mesaj. El contine o lista de mapari de tipul adresa de e-mail a utilizatorului . adresa IP a terminalului unde este inregistrat la momentul respectiv utilizatorul. Maparile pot fi create si sterse in multe feluri, dar in specificatia protocolului este definita metoda REGISTER pentru a face c a aceste mapari sa nu fie sterse.

Server de redirectare: un server de redirectare este un UAS care genereaza raspunsuri la cererile primite, indicand sursei sa contacteze un alt set de URI-uri.

Server de inregistrare: un server de inregistrare accepta cereri de tip REGISTER, autentificate sau neautentificate, si trimite informatiile serverului de localizare responsabil pentru domeniul respectiv.

Rolurile de UAC sau UAS, de server de proxy sau de redirectare, pot fi asumate pe rand, de la o tranzactie la alta, de un terminal sau de catre o aplicatie. De exemplu un UA care initiaza o conversatie reprezinta un UAC cand trimite mesajul initial INVITE si reprezinta un UAS cand primeste mesajul de terminare a conversatiei BYE de la destinatar. In mod asemantor, aceeasi aplicatie poate functiona ca un server de proxy pentru o cerere si ca un server de redirectare pentru urmatoarea.

Serverele de proxy, de localizare, de inregistrare, si de red irectare definite mai sus sunt niste entitati logice. Implementarile pot insa combina mai multe servere intr-o singura aplicatie.

Comunicatia in retelele SIP

Protocolul SIP suporta cinci elemente fundamentale necesare pentru stabilirea si terminarea comunicatiilor multimedia:

  • Localizarea utilizatorilor: determina locatia curenta a destinatarului;
  • Preferintele utilizatorilor: determina, printre altele, daca destinatarul doreste sa comunice cu sursa;
  • Caracteristicile terminalelor: ajuta la stabilirea parameterilor folositi pentru fluxul media;
  • Negocierea conexiunii: stabileste parametrii conexiunii atat la sursa cat si la destinatie;
  • Managementul conexiunii: include transferul conexiunii, terminarea conexiunii, modificarea parametrilor cat si apelarea anumitor servicii auxiliare.

Din 2001, sunt disponibile telef oane SIP atat in varianta soft (care ruleaz pe PC-uri) cat si in varianta hardware ca echipamente dedicate.

Pentru dirijarea intr-o retea IP de mari dimensiuni, SIP poate folosi protocolul TRIP (dirijarea apelurilor prin retele IP, un standard la care lucreaza IETF, descris in RFC 2871) protocol pentru a localizeaza serverul catre care trebuie dirijat un anumit apel. Pentru a ruta un apel catre un terminal PSTN (telefon POTS), se poate folosi protocolul ENUM (numerotarea electronica, descrisa in RFC 2916). Protocolul ENUM converteste adresele din formatul telefonic E.164 in adrese IP (folosind un server de DNS avansat) si vice versa.

Mesajele SIP de tip cerere-raspuns includ o cerere de tip INVITE urmata de un raspuns ce indica rezultatele; de exemplu, un raspuns de tipul 200 OK inseamna ca cererea de conexiune a fost acceptata. Antetul cererii contine informatii care sumarizeaza detaliile convorbirii. Dupa antet urmeaza continutul mesajului, care contine o descriere a sesiunii ce se doreste a fi creata.

Deoarece protocolul SIP permite folosirea serverelor de proxy fara pastrarea starii tranzactiilor, in centrul retelei si servere de proxy care mentin informatii de stare la marginile retelei, protocolul SIP este in mod semnificativ mai scalabil decat protocolul H.323. Totusi, folosind gatekeepere care fac doar RAS in centrul retelei si gatekeepere care dirijeaza traficul la margini este posibil sa se obtina aproximativ acelasi nivel de scalabilitate si intr-un domeniu H.323.

Noutati

30-11-2050 :

Conturi Prepaid
Valabilitatea conturilor prepaidafla mai multe

07-10-2007 :

Smartcall News
Noile tarife Smartcall: (deschide lista cu toate tarifele)

1.9 centi/min - 1 cent/minut seara Romtelecom Bucuresti

2 centi/min - 1.6 centi/minut seara Romtelecom Interurban

9 centi/min in retelele mobileafla mai multe

Vezi toate noutatile