Asterisk 1.8
La gente desarrolladora de Asterisk, se ha tomado el trabajo de hace un menu de selección de componentes de la central a instalar.
Esto es muy útil, ya que, nos permite "compilar" la central a medida. Podemos compilarla completa, o solo con los canales modulos y utilidades que consideremos necesarias.
Obviamente, el mejor "programa" es el que menos cosas innecesarias tiene, por lo que, al momento de compilar la central, es importante seleccionar los elementos necesarios solamente. No es que no funcione si la compilamos completa, al contrario, pero, si estamos ajustados de hardware, o no queremos utilizar recursos innecesarios, conviene no compilar lo que no vamos a utilizar.
Además, agregarle luego funcionalidades, es tan simple como compilarla nuevamente con lo necesario y reinstalarla. No se perderan los archivos actuales de configuración, por lo que, siempre se puede agregar algún modulo nuevo sin mucho esfuerzo.
Asterisk, como muchos otros programa en linux, necesita algunas "dependencias". Las dependencias son librerías de programas que permiten, por ejemplo, manejar otras funcionalidades. Si queremos que la central pueda "hablar" por la placa de sonido, necesitaremos, como dependencia, las librerías del sistema de sonido.
Cada programa tiene sus requisitos (o sea, se enumeran las dependencias necesarias) y se suele indicar todo en los archivos README o INSTALL de los mismos.
En el caso de Asterisk, los desarrolladores, como saben que tiene bastantes dependencias, hicieron un "script" (un archivo con una secuencia de comandos) que, instala las dependencias necesarias ANTES de intentar compilar la central.
Esto se hace en ese orden, porque al momento de compilar la central, esta verifica las dependencias disponibles y habilita compilar o no los módulos que las cumplen.
De todas formas, cada vez que compilemos algo (y esto es general, no solo para asterisk), el compilador nos informará si falta alguna dependencia, la instalamos, y volvemos a compilar hasta que el resultado sea que todo ha sido compilado con éxito.
Aclarado esto, descarguemos el código fuente de la central. Conviene ser ordenado, para no perder las ubicaciones de las cosas y no marearnos al momento de armar algo. En Linux, se suele utilizar la carpeta /usr/src/ para almacenar los sources (las fuentes) de los programas.
Por lo tanto, primero que nada, vamos a la consola y nos ubicamos en ese directorio, con la instrucción "
cd /usr/src"
Creemos una carpeta llamada Asterisk, para almacenar las fuentes y los componentes que utilizaremos en la central, co la instrucción "
mkdir asterisk" (nótese que puse todo en minúsculas, en linux las mayúsculas y minúsculas cuentan, puede utilizarse cualquiera, pero luego tienen que coincidir cuando necesitemos nombrarlas)
Ahora, entremos a esa carpeta para trabajar en ella, con el comando "
cd asterisk" (TIP: si escribimos una parte del nombre y presionamos la tecla TAB, el sistema completara la línea con la opción mas cercana, o nos mostrará una lista de posibilidades, por lo tanto, escribiento "cd ast" y presionando TAB, se autocompletará a "cd asterisk")
asumiendo que estamos manejando el server por consola remota desde una ventana, podemos buscar el link de descarga con nuestro navegador preferido. En vez de descargarlo en nuestra PC, copiamos el link y le decimos al server que lo descargue.
Abrimos nuestro navegador, entramos a
http://www.asterisk.org/, click en
Asterisk 1.8, y veremos los links de descarga (actualmente "Asterisk 1.8.3 Source Tarball"). En vez de descargarlo, click con el botón derecho y, en el menú que surge, seleccionamos "Copiar dirección del enlace".
Así, ya tenemos el link copiado en el portapapeles de nuestra PC.
Vamos a la ventana del terminal, y ponemos "wget " (nótese el espacio al final) y luego simplemente pegamos el portapapeles (que contiene el link de descarga) con CONTROL + V.
Que logramos con esto? No tenes que memorizar una URL de descarga, y pasarla directamente al server.
La consola quedaría así:
Código: Seleccionar todo
root@DSServer:/usr/src/asterisk# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8.3.tar.gz
--2011-03-12 02:20:42-- http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8.3.tar.gz
Resolving downloads.asterisk.org... 76.164.171.233, 2001:470:e0d4::e9
Connecting to downloads.asterisk.org|76.164.171.233|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 26806503 (26M) [application/x-gzip]
Saving to: `asterisk-1.8.3.tar.gz'
100%[======================================>] 26.806.503 363K/s in 65s
2011-03-12 02:21:48 (404 KB/s) - `asterisk-1.8.3.tar.gz' saved [26806503/26806503]
root@DSServer:/usr/src/asterisk#
Ya tenemos el archivo comprimido con las fuentes de la central! Si ponemos en la consola el comando "
ls", veremos que el archivo esta alli, de color rojo (que indica que esta comprimido)
Código: Seleccionar todo
root@DSServer:/usr/src/asterisk# ls
asterisk-1.8.3.tar.gz
root@DSServer:/usr/src/asterisk#
La terminación .tar.gz nos indica que el archivo esta comprimido con el compresor "tar" usando librerias "gzip". Es una forma de comprimir bastante usada, que "aplasta" muchísimo los contenidos, y muy habitual en distribuciones de código fuente.
Como la descomprimo? con el comando "tar -zxvf asterisk-1.8.3.tar.gz" (TIP: de nuevo, si luego del comando "tar" y sus modificadores "-zxvf " escribimos "ast" y presionamos TAB, el nombre del archivo se autocompletará. Notensé los espacios!)
Código: Seleccionar todo
root@DSServer:/usr/src/asterisk# tar -zxvf asterisk-1.8.3.tar.gz
asterisk-1.8.3/
asterisk-1.8.3/sounds/
asterisk-1.8.3/sounds/sounds.xml
asterisk-1.8.3/sounds/asterisk-moh-opsound-wav-2.03.tar.gz
asterisk-1.8.3/sounds/asterisk-core-sounds-en-gsm-1.4.20.tar.gz
asterisk-1.8.3/sounds/Makefile
asterisk-1.8.3/doc/
asterisk-1.8.3/doc/api-1.6.2-changes.txt
asterisk-1.8.3/doc/asterisk.8
asterisk-1.8.3/doc/AST.txt
asterisk-1.8.3/doc/IAX2-security.pdf
asterisk-1.8.3/doc/lang/
....
asterisk-1.8.3/agi/
asterisk-1.8.3/agi/numeralize
asterisk-1.8.3/agi/agi.xml
asterisk-1.8.3/agi/eagi-sphinx-test.c
asterisk-1.8.3/agi/jukebox.agi
asterisk-1.8.3/agi/DialAnMp3.agi
asterisk-1.8.3/agi/eagi-test.c
asterisk-1.8.3/agi/fastagi-test
asterisk-1.8.3/agi/Makefile
asterisk-1.8.3/agi/agi-test.agi
root@DSServer:/usr/src/asterisk#
si volvemos a colocar el comando "ls", veremos que ahora hay una carpeta "asterisk-1.8.3" (diferenciada con color celeste) además del archivo "tar" original.
Dentro de dicha carpeta habrá mas carpetas y archivos, que son, justamente las fuentes del programa Asterisk.
Código: Seleccionar todo
root@DSServer:/usr/src/asterisk# ls
asterisk-1.8.3
asterisk-1.8.3.tar.gz
root@DSServer:/usr/src/asterisk#
Entramos a dicha carpeta con "cd asterisk-1.8.3" y con "ls" vemos el contenido.
Código: Seleccionar todo
root@DSServer:/usr/src/asterisk# cd asterisk-1.8.3
root@DSServer:/usr/src/asterisk/asterisk-1.8.3# ls
addons include
agi install-sh
apps keys
asterisk-1.8.3-summary.html LICENSE
asterisk-1.8.3-summary.txt main
autoconf Makefile
bootstrap.sh Makefile.moddir_rules
bridges Makefile.rules
BSDmakefile makeopts.in
BUGS menuselect
build_tools menuselect-tree
cdr missing
cel mkinstalldirs
ChangeLog pbx
CHANGES phoneprov
channels README
codecs README-addons.txt
config.guess README-SERIOUSLY.bestpractices.txt
configs res
config.sub sample.call
configure sounds
configure.ac static-http
contrib tests
COPYING UPGRADE-1.2.txt
CREDITS UPGRADE-1.4.txt
default.exports UPGRADE-1.6.txt
doc UPGRADE.txt
formats utils
funcs Zaptel-to-DAHDI.txt
images
root@DSServer:/usr/src/asterisk/asterisk-1.8.3#
Como verán, hay muchos archivos y directorios, veamos que son y como, en definitiva, usarlos para compilar nuestra central.
***continua***