mercoledì 21 aprile 2010

Installazione RTPPROXY su Ubuntu 9.10 server

In questo post descriviamo l'installazione di rtpproxy su Ubuntu Server 9.10.
RTPPROXY è un Proxy per flussi audio RTP, alternativo a Mediaproxy.
Verrà installato nello stesso host in cui ad oggi risiede Mediaproxy (la cui installazione è stata spiegata nel post precedente).

0) Posizionamoci in /usr/src
# cd /usr/src

1) Procuriamoci i sorgenti:
# wget http://b2bua.org/chrome/site/rtpproxy-1.2.1.tar.gz

2) scompattiamo il pacchetto:
# tar -zxvf rtpproxy-1.2.1.tar.gz

martedì 5 gennaio 2010

OPENSIPS + MEDIAPROXY

Ok, una volta installati OPENSIPS e MEDIAPROXY, vediamo di farli funzionare assieme.

PREMESSA : link da avere sempre sottomano http://voiprookie.blogspot.com/2009/04/blog-post.html

Perchè si utilizza mediaproxy ?
Media Proxy si utilizza perchè, nella miriade di client sip che possiamo avere, le topologie di nat/non-nat sono molteplici. Ecco che in questo modo, siccome OPENSIPS NON SUPPORTA LA GESTIONE DEL FLUSSO AUDIO, IN QUANTO E' SOLO E SOLAMENTE UN PROXY SIP, Mediaproxy si occupa del resto.
Nel dettaglio, installando il media-dispatcher nella stessa macchina che ospita Opensips, e installando tanti media-relay quanti sono i server che vogliamo adibire a gestione del flusso audio, viene delegata appunto la gestione del flusso RTP ai server Mediaproxy. I server Mediaproxy devono avere visibiltà pubblica (ovviamente) e agiscono su un set di porte, stabilito dall'amministratore. Il dispatcher dovrà quindi conoscere i relay a disposizione e demandare la gestione del flusso audio nel caso di client SIP nattati.

  1. CONFIGURAZIONE OPENSIPS per moduli 'mediaproxy', 'nathelper' e 'nat_traversal'
    La configurazione di opensips, come abbiamo già scritto più volte, risiede nel file /usr/local/etc/opensips/opensips.cfg.

    • Vediamo la configurazione del file nel punto in cui vengono caricati i moduli di opensips :
    • Vediamo ora la configurazione del file nel punto in cui vengono settati i parametri dei moduli caricati :

  2. CONFIGURAZIONE MEDIAPROXY
    Avendo installato mediaproxy in /opt/mediaproxy-x.y.z/, abbiamo, dentro alla directory appena nominata :

    • file di configurazione : config.ini
    • eseguibile media-dispatcher
    • eseguibile media-relay

mercoledì 23 dicembre 2009

INSTALLAZIONE MEDIAPROXY 2.3.8 su Ubuntu-server-9.10

Premessa :
i sorgenti di mediaproxy si trovano al link : http://download.ag-projects.com/MediaProxy/

1) Installazione dei pacchetti Ubuntu necessari all'installazione. Verranno installati tutti i pacchetti, in modo da avere qualsiasi supporto utilizzabile da mediaproxy
# apt-get -u install ....

python-all python-all-dev python-setuptools python-twisted python-zope.interface python-cjson python-pyrad python-support python-application python-sqlobject (python, di tutto e di più ;) )

libnetfilter-conntrack-dev libnetfilter-conntrack1 libnfnetlink-dev (per le funzionalità di netfilter / iptables...lo richiede nel manuale)

libgcrypt11-doc gnutls-doc gnutls-bin guile-gnutls libgnutls-dev (gnutls)

devscripts cdbs debhelper (per vedere se creiamo il pacchetto deb.... vedremo...)

2) Predisposizione sorgenti. Posizionarsi sulla directory in cui sono statiscaricati i sorgenti di mediaproxy. Per convenzione, ci posizioniamo su /opt

# cd /opt
# tar -zxvf mediaproxy-2.3.8.tar.gz
# cd mediaproxy-2.3.8

Installiamo ora, tramite il comando python 'easy_install', i pacchetti necessari alla compilazione dei sorgenti:

# easy_install twisted
# easy_install zope.interface
# easy_install python-application
# easy_install python-cjson
# easy_install python-gnutls # this needs libgnutls-dev >= 2.4.1 installed
# easy_install sqlobject
# easy_install pyrad

3) Installazione. Una volta posizionati dentro a /opt/mediaproxy-2.3.8

# ./build_inplace

In questo modo, dentro alla stessa directory esistono :
  • ./media-dispatcher , il componente 'dispatcher' (che si collega ad opensips per smistare il traffico voce)
  • ./media-relay , il componente 'relay' che si occupa dello smistamento vero e proprio del traffico vocale

! 'media-dispatcher' va lanciato nella stessa macchina nella quale è presente opensips

! 'media-relay' andrà configurato rispettivamente in ognuno dei server adibiti al traffico voce

4) File di configurazione. A questo punto, dentro la directory /opt/mediaproxy-2.3.8 vi sono i due eseguibili, rispettivamente 'media-dispatcher' e 'media-relay'. Nella stessa directory, troveremo anche il file

config.ini.sample

Rinominiamo config.ini.sample in questo modo

# cp config.ini.sample config.ini

A questo punto, i 2 eseguibili preleveranno la configurazione all'avvio da quel file, che si trova nella loro medesima directory.
Per quanto riguarda la configurazione, il file config.ini è molto dettagliato, basta leggerlo.

INSTALLAZIONE OPENSIPS 1.6.1 su Ubuntu-server-9.10

Premessa :
I sorgenti di OPENSIPS si trovano al link : http://opensips.org/pub/opensips/latest/src/
La versione installata proviene dal tar : opensips1.6.1-tls.tar.gz
Scompattiamo i sorgenti nella directory /usr/src
# cd /usr/src
# tar -zxvf opensips1.6.1-tls.tar.gz

1) Installazione dei pacchetti Ubuntu necessari all'installazione. Verranno installati tutti i pacchetti, in modo da avere qualsiasi supporto utilizzabile da opensips (mysql, postgres, tls, ecc...)

# apt-get -u install ....

build-essential bison flex (per la compilazione di opensips)

openssl (per supporto TLS)

libsctp1 (per supporto sctp)

libmysqlclient16-dev (per supporto mysql)

libpqxx-dev (per supporto postgres)

unixodbc unixodbc-dev (per unixodbc DB)

libexpat1-dev libexpat1 libiksemel-dev libiksemel3 libiksemel-utils (per XMPP)

libxml2 libxml2-dev (necessari per modulo 'presence' di opensips)

libxmlrpc-c3 (per il supporto XML-RPC della Management Interface MI)

libperl5.10 libperl-dev (connettore per scripting in Perl : modulo 'perl' di opensips)

libsnmp15 libsnmp-dev (funzionalità SNMP client per opensips)

libldap2-dev (per supporto LDAP)

libconfuse0 libconfuse-dev (necessari per modulo 'carrierroute' di opensips)

2) Andare su directory dei sorgenti di opensips
# cd /usr/src/opensips-1.6.1-tls
# make all
# make install

3) Una volta terminata l'installazione, vediamo DOVE OPENSIPS ha installato COSA :

- /usr/local/etc/opensips : in questa directory sono presenti i file di configurazione
- /usr/local/lib/opensips/modules : in questa directory sono presenti i moduli di opensips
- /usr/local/lib/opensips/opensipsctl : opensipsctl (vedremo poi cos'è)
- /usr/local/sbin/ : in questa directory vi sono i comandi "opensips","opensipsctl","opensipsdbctl" e "opensipsunix"
- /usr/local/share/doc/opensips : documentazione opensips

Per ulteriori, informazioni, digitare :
# locate opensips
e apparirà la lista di tutte le occorrenze del termine 'opensips' sul filesystem.

4) Creiamo l'init.d per opensips :
# cp /usr/src/opensips-1.6.1-tls/packaging/debian/opensips.init /etc/init.d/opensips
# chmod 744 /etc/init.d/opensips
Creiamo la directory /var/run/opensips
# mkdir /var/run/opensips
Creiamo il gruppo opensips (ce lo chiede il file di init.d)
# addgroup opensips
Linkiamo il file di configurazione con gli opportuni path richiesti dal file init.d
# mkdir /etc/opensips
# ln -s /usr/local/etc/opensips/opensips.cfg /etc/opensips/opensips.cfg

Ora siamo pronti per avviare/fermare opensips, tramite i comandi :
# /etc/init.d/opensips start
oppure
# /etc/init.d/opensips stop