Tag-Archive for ◊ openSER ◊

OpenSER Advanced Programming Course
Wednesday, August 13th, 2008 | Author: AlexJ

Saptamana aceasta, Voice System a organizat un curs de progamare openSER. Ma inscrisesem de mai mult timp la el, dar aparent nu stiam despre ce era vorba. A avut loc la Hotel JW Marriot, sala Galati.

In primul rand, nu constientizasem amploarea. A fost un curs international. Au fost prezenti oameni din toata Europa (eu eram, cel putin in prima zi, singurul roman :P ).  Sa nu mai vorbesc ca participantii respectivi lucrau de multi ani in domeniu (eram si cel mai tanar participant :P ). Acest lucru mi-a prins bine in mod special deoarece am avut ocazia in timpul mesei sa vad cum arata in realitate domeniul de Voice over IP. Mi s-au confirmat niste lucruri de care mai auzisem, gen ca SIP este principalul protocol folosit in lume si ca providerii de VoIP sunt mai mult companii noi si mici care au o mare competitie din partea companiilor cu experienta de teleconunicatii (exemplu BT – British Telecom in Marea Britanie). Am aflat si cam ce inseamna sa fii un admin… citez “a little tech support, configurations and lots of custom made scripts” (i found that funny :P ).  De asemenea mi-a placut sa vorbesc mai personal cu oamenii (exemplu era un tip din Munchen caruia ii placeau plimbarile, care a fost impresionat de Parcul Cismigiu si caruia i-am recomandat sa mearga prin Herastrau :) ).

Revenind la cursul propriu-zis, a fost tinut de catre Bogdan Iancu (co-fondator openSER) si Anca Vamanu. Ni s-a prezentat cum este structurat softul. Partea de Core si partea de Module. Am aflat ca partea de Core este format din divese layere (cum ar fi partea de transport- TCP/UDP/RTP stuff, parserul SIP, fisierul de configuare si sub acestea un layer cu mai multe bucati, fiecare cu o functie specifica – exemplu: managerul de memorie, database API, timer, etc). Acest Core controleaza celelalte Module. Am aflat cum sunt sunt structurate procesele openSER, ce rol au si cum sunt pornite (openSER se bazeaza pe mai multe procese si, desi tot a zis de ce s-a ales aceasta metoda, tot ma gandeam ca ar fi mai eficient sa fie pe threaduri din atatea motive incat nu le pot lista…anyway…). Dupa aceasta prezentare a urmat o prezentare a codului unui modul, care mi s-a parut incredibil de incurcat.

Overall a fost o experienta interesanta, desi nu prea m-am potrivit acolo deoarece aparent nu aveam destule cunostinte de programare (era advanced programming course si semana mai mult cu kernel programming).

Ultimele zile au fost pline de VoIP (a se vedea ultimele posturi:P ).  Incerc sa trec la altceva (cum ar fi WordPress coding ca sa tweak this site ;)   ).

Instalare openSER
Wednesday, August 13th, 2008 | Author: AlexJ


Voi incerca sa fac un scurt tutorial despre openSER.

Ce este openSER? Evoluat din SER (SIP Express Rotuer), openSER ste un server SIP (Session Initiation Protocol) open-source. Daca nu stiti despre SIP (protocolul de semnalizare), inseamna ca ar mai trebui sa invatati cate ceva despre VoIP inainte de a citi acest tutorial.

Echipamente:

Vom face totul software. Intregul sistem va fi rulat pe o singura masina fizica, serverul fiind intr-o masina virtuala in VMWare Player. Masina gazda este un Windows Vista iar cea virtuala un GNU/Linux Debian 4.0r4. Cele doua sisteme sunt conectate printr-o retea virtuala 192.168.75.0/24.

Instalare openSER

Toata instalarea se va face cu drepturi de root!

Vom folosi Aptitude din Debian pentru instalare. Pentru aceasta, trebuie sa avem in lista de repositories un server unde sa se afle pachetele openSER (ex. http://ftp.de.debian.org/debian/ ). Adaugati in /etc/apt/sources.list linia “deb http://ftp.de.debian.org/debian sid main”.

Mai scurt, puteti folosi   # echo “deb http://ftp.de.debian.org/debian sid main” >>/etc/apt/sources.list

Dupa adaugarea repo-ului, trebuie updatata baza de date # apt-get update

Putem vizualiza pachetele openSER disponibile cu comanda # apt-cache search openser

Vom instala pachetul ‘openser’ # apt-get install openser

Asteptati instalarea. Veti primi un mesaj ca inainte de a porni seviciul, trebuie editat /etc/default/openser . In acest fisier, modificati linia “RUN_OPENSER = no ” in “RUN_OPENSER = yes“.

Serviciul este pornit din init.d #/etc/init.d/openser start

Va aparea un mesaj cu deschiderea serviciului pe portul 5060 TCP si UDP pe interfetele active. Puteti verifica acest lucru prin #netstart -ntl pt TCP (respectiv -nul pt UDP).

Instalare Clienti

Ca si client SIP de Windows vom folosi X-Lite (versiunea free). Get it here.

Pentru a adauga un cont SIP, dati click dreapta pe ecran si pe SIP Account Settings.  ATENTIE! In acest moment, la serverul SIP se poate loga oricine si cu orice user!!! Completam campul User Name cu un user (poate fi un numar. De obicei se creaza un Alias la nivel de server intre user(e) si numar(numere) de telefon ). Domeniul este serverul SIP. In cazul nostru este adresa IP a serverului Linux.

Pe masina de Linux vom instala o a doua aplicatie: KPhone. Pentru a instala programul, folositi # apt-get install kphone . Desi nu arata la fel de bine ca Xlite, it does the job. Adaugam si aici un cont.

Si in final testam tot sistemul.

What do you know…it works :D

Deci, daca nu va place voice chat-ul de la Skype, Yahoo Messenger sau GTalk, acum puteti sa va faceti propria retea VoIP. Voi reveni pe viitor cu o configurare de baza de date mySQL pentru useri ce se pot loga pe baza de parola.

De mentionat ca eu am folosit versiunea 1.3 al openSER, dar la momentul scrierii acestui articol se scosese deja versiunea 1.4, dar pe care nu am apucat sa o testez. In other news, openSER si-a schimbat, odata cu versiunea si numele. Se numeste acum openSIPS (e atat de nou incat o cautare pe Google la ‘opensips’ returneaza “Did you mean ‘opensims’ ” :P ).  Si bonus news: openSIPS a facut un parteneriat cu Yate (Yet Another Telephony Engine) probabil pt a face o concurenta mai buna cu Asterisk.

Sper ca a fost informativ.

Category: HOWTOs, Tech Stuff |  Tags: , , , , , | 6 Comments