Asterisk 1.6.2.X en Ubuntu 10.04 Desktop con modulo chan_datacard - Primera Parte

Ya hay muchas personas que utilizan a diario una computadora con un sistema operativo Linux instalado. Muchos optan para Ubuntu Desktop por ser de fácil instalación y con muchos programas disponibles. No es mala idea instalar en el mismo computador Asterisk y dotarlo de uno o más Gateway GSM para las llamadas a celulares. De esta forma cuando estamos sentados delante de nuestro computador, podremos efectuar llamadas a la red celular, enviar mensajes de texto (SMS) y, si tenemos un proveedor VoIP configurado, llamar a las líneas fijas utilizando un teléfono SIP o un Softphone. Si somos atrevidos y queremos dejar prendido el computador todo el día, podemos usar el Gateway GSM como troncal de entrada a la central Asterisk e di ahí sacar la llamadas a los teléfonos fijos utilizando el proveedor VoIP.

Es esta guía, dividida en dos partes, veremos como instalar Asterisk PBX versión 1.6.2.X en Ubuntu Desktop 10.04, y sucesivamente como instalar y configurar un modem Huawei E1692 que en Italia vende el operador TIM con planes de conexión a Internet.

Esta guía no cubre la instalación de Ubuntu Desktop 10.04. En esta pagina encuentran una.

Terminada la instalación de Ubuntu desktop 10.04 empezamos con Asterisk PBX 1.6.2.X que se instalará completamente desde las fuentes.

Antes que nada, si acabamos de instalar Ubuntu lo actualizamos (desde la ventana terminal):

sudo apt-get upgrade

sudo apt-get update

En mi caso se ha instalado una nueva versión del Kernel  y he reiniciado la maquina:

reboot

De regreso al sistema, abrimos una ventana terminal y seguimos con la librerías vorbis:

sudo apt-get install libogg-dev libvorbis-dev

la librería curl:

sudo apt-get install libcurl3 libcurl3-dev

y los programas/librerías para compilar las fuentes:

sudo apt-get install bison flex wget subversion ncurses-dev gcc make zlib-bin g++ gawk libnewt-dev autoconf automake

Instalamos MySQL (cliente e servidor):

sudo apt-get install mysql-server mysql-client mysql-admin libmysqlclient-dev

durante la instalación de MySQL, deberemos escoger la contraseña para el usuario root de MySQL

ODBC:

sudo apt-get install unixodbc-dev unixodbc libltdl7 libltdl7-dev libmyodbc

y festival con el paquete del español:

sudo apt-get install festival festival-dev festvox-ellpc11k

Terminada esta primera fase, continuamos con Speex:

cd /usr/src
sudo wget http://downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gz
sudo tar -xf speex-1.2rc1.tar.gz
cd speex-1.2rc1
sudo ./configure --prefix=/usr
sudo make
sudo make install

Lame:

cd /usr/src
sudo wget http://ufpr.dl.sourceforge.net/sourceforge/lame/lame-3.98.4.tar.gz
sudo tar -xf lame-3.98.4.tar.gz
cd lame-3.98.4
sudo ./configure --prefix=/usr
sudo make
sudo make install

Libmad:

cd /usr/src
sudo wget http://prdownloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz
sudo tar -xf libmad-0.15.1b.tar.gz
cd libmad-0.15.1b
sudo ./configure --prefix=/usr
sudo make
sudo make install

El formato Wav:

cd /usr/src
sudo wget http://www.wavpack.com/wavpack-4.60.1.tar.bz2
sudo tar -xf wavpack-4.60.1.tar.bz2
cd  wavpack-4.60.1
sudo ./configure --prefix=/usr
sudo make
sudo make install

y para terminar, SoX:

cd /usr/src
sudo wget http://ufpr.dl.sourceforge.net/sourceforge/sox/sox-14.3.1.tar.gz
sudo tar -xf sox-14.3.1.tar.gz
cd sox-14.3.1
./configure –prefix=/usr
sudo make
sudo make install

Llegados a este punto, podemos instalar DAHDI y DAHDI-Tools:

cd /usr/src
sudo wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-curr...
sudo tar -xf dahdi-linux-current.tar.gz
cd dahdi-linux-2.4.0
sudo make
sudo make install

cd /usr/src
sudo wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/dahdi-tools-curr...
sudo tar -xf dahdi-tools-current.tar.gz
cd dahdi-tools-2.4.0
sudo ./configure
sudo make
sudo make install
sudo make config

Iniciamos el servicio:

sudo service dahdi start

Si queremos el soporte FAX tendremos que instalar SpanDSP:

sudo apt-get install libtiff-dev libxml2-dev

cd /usr/src
sudo wget http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.6pre17.tgz
sudo tar -xf spandsp-0.0.6pre17.tgz
cd spandsp-0.0.6
sudo ./configure --prefix=/usr
sudo make
sudo make install

Para el modulo res_jabber (que nos permite conectarnos a cualquier servidor XMPP (ej: GoogleTalk):

sudo apt-get install gnutls-dev gnutls-bin

cd /usr/src
sudo wget http://iksemel.googlecode.com/files/iksemel-1.4.tar.gz
sudo tar -xf iksemel-1.4.tar.gz
cd iksemel-1.4
sudo ./configure --prefix=/usr
sudo make
sudo make check
sudo make install

Seguimos con un servidor de correo electrónico (en mi caso SendMail):

sudo apt-get install sendmail sendmail-cf

OpenLdap para el modulo res_ldap:

sudo apt-get install ldap-server ldap-utils

SNMP para el modulo res_snmp:

sudo apt-get install libsnmp libsnmp-dev libsnmp-base

y portaudio para el chan_console:

sudo apt-get install portaudio19-dev

Ya podemos seguir con la instalación de Asterisk PBX:

cd /usr/src
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.6.2-curr...
sudo tar -xf asterisk-1.6.2-current.tar.gz
cd asterisk-1.6.2.16
sudo ./configure
sudo make menuselect

Cuando nos aparece la ventana de configuración, navegamos entre los varios menú y verificamos que estén seleccionados los módulos que nos interesa. Guardamos los cambios y compilamos:

sudo make
sudo make install
sudo make samples
sudo make config

Asterisk-addons:

cd /usr/src
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.6...
sudo tar -xf asterisk-addons-1.6.2-current.tar.gz
cd asterisk-addons.1.6.2.2
sudo ./configure
sudo make menuselect

aquí también controlamos los módulos que se van a instalar. Guardamos los cambios y seguimos con la compilación:

sudo make
sudo make install
sudo make samples

Creamos una base de datos, la tabla para guardar los registros de las llamadas y un usuario que tenga acceso (local y remoto) a la base de datos creada:

mysql -u root -p

mysql> create database asteriskcdr;
Query OK, 1 row affected (0.00 sec)

mysql> use asteriskcdr
Database changed

mysql> CREATE TABLE cdr (
  calldate datetime NOT NULL default '0000-00-00 00:00:00',
  clid varchar(80) NOT NULL default '',
  src varchar(80) NOT NULL default '',
  dst varchar(80) NOT NULL default '',
  dcontext varchar(80) NOT NULL default '',
  channel varchar(80) NOT NULL default '',
  dstchannel varchar(80) NOT NULL default '',
  lastapp varchar(80) NOT NULL default '',
  lastdata varchar(80) NOT NULL default '',
  duration int(11) NOT NULL default '0',
  billsec int(11) NOT NULL default '0',
  disposition varchar(45) NOT NULL default '',
  amaflags int(11) NOT NULL default '0',
  accountcode varchar(20) NOT NULL default '',
  uniqueid varchar(32) NOT NULL default '',
  userfield varchar(255) NOT NULL default ''
);
Query OK, 0 rows affected (0.14 sec

mysql> GRANT ALL PRIVILEGES ON asteriskcdr.* TO 'asterisk'@'localhost' IDENTIFIED BY 'sesamo';
Query OK, 0 rows affected (0.01 sec)

mysql> GRANT ALL PRIVILEGES ON asteriskcdr.* TO 'asterisk'@'%' IDENTIFIED BY 'sesamo';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

Modificamos el archivo de configuración del modulo que se hace cargo de conectarse a la base de datos y guardar los registros de las llamadas:

sudo nano /etc/asterisk/cdr_mysql.conf

añadimos/modificamos las siguientes líneas:

[global]
hostname=localhost
dbname=asteriskcdr
table=cdr
password=sesamo
user=asterisk
port=3306
sock=/var/run/mysqld/mysqld.sock

Guardamos los cambios.

Iniciamos Asterisk:

sudo service asterisk start

Entramos en la consola:

sudo asterisk –rvvvvvvvvvvvvv

verificamos que haya conexión a la base de datos:

CLI> cdr mysql status
Connected to asteriskcdr@localhost, port 3306 using table cdr for 3 minutes, 52 seconds.
  Wrote 0 records since last restart.

Salimos de la consola:

CLI> quit
Executing last minute cleanups

Para terminar esta primera parte, configuramos el sip.conf creando una extensión que utilizaremos para las llamadas salientes a la red celular:

sudo mv /etc/asterisk/sip.conf /etc/asterisk/sip.conf.old

sudo nano /etc/asterisk/sip.conf

Pegamos las siguientes líneas:

[general]
context=default
allowguest=no
allowtransfer=yes
;realm=mydomain.tld
udpbindaddr=0.0.0.0:5060
tcpenable=no
tcpbindaddr=0.0.0.0:5060
srvlookup=yes
maxexpiry=3600
minexpiry=60
defaultexpiry=120
mwiexpiry=3600
qualifyfreq=60
disallow=all
allow=ulaw
allow=alaw
mohinterpret=default
mohsuggest=default
language=es
sendrpid = yes
prematuremedia=no
useragent=Asterisk PBX
sdpsession=Asterisk PBX
dtmfmode = rfc2833
videosupport=yes
maxcallbitrate=384
callevents=yes
alwaysauthreject=yes
rtptimeout=60
rtpholdtimeout=300
allowsubscribe=yes
subscribecontext = subscribe
notifyringing=yes
notifyhold=yes
callcounter = yes
t38pt_udptl = yes,fec,maxdatagram=400
faxdetect=yes

registertimeout=20
registerattempts=10

localnet=192.168.100.0/255.255.255.0
externip = 12.34.56.78

[1000]
accountcode=1000
language=it
type=friend
secret=seamo
qualify=yes
mailbox=1000@default
host=dynamic
dtmfmode=rfc2833
context=phones
directmedia=no
nat=no
callerid=Fulano <1000>
callgroup=1
pickupgroup=1
disallow=all
allow=alaw
allow=ulaw
allow=h264

En localnet ponemos el rango de direcciones de nuestra red local y en externip la dirección IP publica (Internet).

Guardamos los cambios y actualizamos Asterisk:

sudo asterisk –rvvvvvvvvvvvvvvvvvvvvvv

CLI> sip reload

En la próxima parte veremos como instalar y configurar el modem Huawei E1692 con el modulo chan_datacard

Vota el Articulo: 

Sin votos (todavía)
Evalúa la calidad del articulo
Suscribirse a Comentarios de "Asterisk 1.6.2.X en Ubuntu 10.04 Desktop con modulo chan_datacard - Primera Parte" Suscribirse a VozToVoice - Todos los comentarios