[HOW TO] Ubuntu Server + Asterisk + FreePBX

Responder
Alejandro Donato
Avanzado
Avanzado
Mensajes: 34
Registrado: Vie Nov 19, 2010 6:40 am
Ubicación: Río Cuarto - Córdoba

[HOW TO] Ubuntu Server + Asterisk + FreePBX

Mensaje por Alejandro Donato » Vie Mar 11, 2011 12:12 pm

Finalmente, veamos como montar una central.

Los componentes a utilizar son:

Ubuntu Server: la base, el sistema base del server, que, se supone, ya lo tenemos instalado siguiendo ESTE [HOW TO].

Asterisk 1.8: es la máxima versión disponible hoy. No vale la pena trabajar sobre versiones viejas, ya que las nuevas no solo tienen errores corregidos, sino que ademas tienen funcionalidades nuevas.

FreePBX 2.9: al igual que la Asterisk, FreePBX evoluciona permanentemente, por lo que, lo ideal es utilizar la última versión disponible.

Alejandro Donato
Avanzado
Avanzado
Mensajes: 34
Registrado: Vie Nov 19, 2010 6:40 am
Ubicación: Río Cuarto - Córdoba

Re: [HOW TO] Ubuntu Server + Asterisk + FreePBX

Mensaje por Alejandro Donato » Sab Mar 12, 2011 1:57 am

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"

Código: Seleccionar todo

root@DSServer:~# cd /usr/src
root@DSServer:/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)

Código: Seleccionar todo

root@DSServer:/usr/src# mkdir asterisk
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")

Código: Seleccionar todo

root@DSServer:/usr/src# 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***

Alejandro Donato
Avanzado
Avanzado
Mensajes: 34
Registrado: Vie Nov 19, 2010 6:40 am
Ubicación: Río Cuarto - Córdoba

Re: [HOW TO] Ubuntu Server + Asterisk + FreePBX

Mensaje por Alejandro Donato » Sab May 14, 2011 7:49 pm

COMPILANDO UNA ASTERISK DESDE LA FUENTE


Manos a la obra.
Primero, necesitamos instalar las "dependencias" requeridas por la central. Dependiendo de las funciones que queramos instalar, son la librerías a usar.

Por ejemplo, si vamos a utilizar ciertos tipos de canales, ciertos tipos de codecs, etc, cada uno tiene sus propios requerimientos. Un canal creado para utilizar por ejemplo, el codec "speex", necesita las librerías y dependencias (incluidas las de desarrollo, con el nombre terminado en "-dev").

Veamos, un ejemplo de como saber que librerías y dependencias se necesitan para, cono en este ejemplo, implementar un canal "speex"

El sistema de instalación de paquetes (el APT en este caso) nos permite buscar todo lo relacionado con alguna frase clave.

Por eso, colocando apt-cache search speex veremos:

Código: Seleccionar todo

root@JYBSERV:~# apt-cache search speex
libasound2-plugins - ALSA library additional plugins
libspeex-dev - The Speex codec library development files
libspeex1 - The Speex codec runtime library
libspeexdsp-dev - The Speex extended library development files
libspeexdsp1 - The Speex extended runtime library
libtunepimp-dev - MusicBrainz tagging library development files
libtunepimp5 - MusicBrainz tagging library
libtunepimp5-dbg - Debug symbols for libtunepimp5 library
python-mutagen - audio metadata editing library
speex-doc - Documentation for speex
celt - The CELT codec command line tools
celt-doc - Documentation for the CELT audio codec library
cplay - A front-end for various audio players
ihu - Qt VoIP softphone with an own, encrypted protocol
jlgui - graphical music player
libcelt-dev - The CELT codec library development files
libcelt0-0 - The CELT codec runtime library
libfishsound1 - simple API that wraps Xiph.Org audio codecs
libfishsound1-dbg - simple API that wraps Xiph.Org audio codecs (debugging information)
libfishsound1-dev - simple API that wraps Xiph.Org audio codecs (development files)
libjspeex-java - Java Implementation of Speex
libspeex-ocaml - OCaml interface to the speex library
libspeex-ocaml-dev - OCaml interface to the speex library
moc - ncurses based console audio player
music123 - A command-line shell for sound-file players
python-speex - python bindings for Speex
python-tunepimp - Python bindings for MusicBrainz tagging library
speex - The Speex codec command line tools
sweep - Audio editor and live playback tool
sweep-dev - Audio editor and live playback tool (development)
timidity - Software sound renderer (MIDI sequencer, MOD player)
transmageddon - video transcoder for Linux and Unix systems built using GStreamer
twinkle - Voice over Internet Protocol (VoIP) SIP Phone
xmms2-plugin-speex - XMMS2 - Speex decoder
kid3 - KDE MP3 ID3 tag editor
kid3-qt - Audio tag editor
abcde - A Better CD Encoder
aqualung - Gapless Gtk-based audio player
root@JYBSERV:~# 

Como verán, hay muchos paquetes que directa o indirectamente hacen referencia a "speex". En nuestro caso nos interesan puntualmente los de desarrollo y trabajo con el codec, que son:

Código: Seleccionar todo

libspeex-dev - The Speex codec library development files
libspeex1 - The Speex codec runtime library
libspeexdsp-dev - The Speex extended library development files
libspeexdsp1 - The Speex extended runtime library
Por lo tanto, para compilar la central con soporte para este codec, necesitamos, antes de compilarla, instalar estas librerías con:

Código: Seleccionar todo

root@JYBSERV:~# apt-get install libspeex-dev libspeex1 libspeexdsp-dev libspeexdsp1
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias       
Leyendo la información de estado... Hecho
Paquetes sugeridos:
  pkg-config speex
Se instalarán los siguientes paquetes NUEVOS:
  libspeex-dev libspeex1 libspeexdsp-dev libspeexdsp1
0 actualizados, 4 se instalarán, 0 para eliminar y 0 no actualizados.
Necesito descargar 254kB de archivos.
Se utilizarán 819kB de espacio de disco adicional después de esta operación.
Des:1 http://ar.archive.ubuntu.com/ubuntu/ lucid/main libspeex1 1.2~rc1-1ubuntu1 [61,5kB]
Des:2 http://ar.archive.ubuntu.com/ubuntu/ lucid/main libspeex-dev 1.2~rc1-1ubuntu1 [83,6kB]
Des:3 http://ar.archive.ubuntu.com/ubuntu/ lucid/main libspeexdsp1 1.2~rc1-1ubuntu1 [48,1kB]
Des:4 http://ar.archive.ubuntu.com/ubuntu/ lucid/main libspeexdsp-dev 1.2~rc1-1ubuntu1 [61,1kB]
Descargados 254kB en 3s (64,0kB/s)  
Seleccionando el paquete libspeex1 previamente no seleccionado.
(Leyendo la base de datos ...  00%
62460 ficheros y directorios instalados actualmente.)
Desempaquetando libspeex1 (de .../libspeex1_1.2~rc1-1ubuntu1_amd64.deb) ...
Seleccionando el paquete libspeex-dev previamente no seleccionado.
Desempaquetando libspeex-dev (de .../libspeex-dev_1.2~rc1-1ubuntu1_amd64.deb) ...
Seleccionando el paquete libspeexdsp1 previamente no seleccionado.
Desempaquetando libspeexdsp1 (de .../libspeexdsp1_1.2~rc1-1ubuntu1_amd64.deb) ...
Seleccionando el paquete libspeexdsp-dev previamente no seleccionado.
Desempaquetando libspeexdsp-dev (de .../libspeexdsp-dev_1.2~rc1-1ubuntu1_amd64.deb) ...
Configurando libspeex1 (1.2~rc1-1ubuntu1) ...

Configurando libspeex-dev (1.2~rc1-1ubuntu1) ...
Configurando libspeexdsp1 (1.2~rc1-1ubuntu1) ...

Configurando libspeexdsp-dev (1.2~rc1-1ubuntu1) ...
Procesando disparadores para libc-bin ...
ldconfig deferred processing now taking place
root@JYBSERV:~#
Como verán, al instalar estas librerias, aparece una sección (mientras se esta procediendo a instalar lo requerido) que dice:

Código: Seleccionar todo

Paquetes sugeridos:
  pkg-config speex
Esto nos indica que el gestor de paquetes nos "sugiere", para dejar el set completo, instalar esos paquetes también.

El resto, es cíclico. El procedimiento se repite hasta instalar todas las librerías necesarias.

La pregunta del millón... que librerías necesito para la asterisk? como sé cuales son?

Todos los desarrolladores de paquetes de soft, en algún punto, especifican que dependencias requieren sus programas. Asterisk no es la excepción, y es más, en este caso, los programadores han creado un sistema de menúes, para hacer mas fácil la compilación e instalación de la centralita.

Alejandro Donato
Avanzado
Avanzado
Mensajes: 34
Registrado: Vie Nov 19, 2010 6:40 am
Ubicación: Río Cuarto - Córdoba

Re: [HOW TO] Ubuntu Server + Asterisk + FreePBX

Mensaje por Alejandro Donato » Sab May 14, 2011 8:30 pm

Algunas librerías (por ejemplo las necesarias para "compilar" algo) son requisito permanente. Comencemos con la instalación de algunos de los paquetes necesarios, con:

Código: Seleccionar todo

root@JYBSERV:~# apt-get install linux-headers-`uname -r` build-essential cvs libnewt-dev libusb-dev libssl-dev libssl0.9.8 php5 php5-mysql php5-gd php5-cgi mime-construct libxml2 libxml2-dev libtiff4 libtiff4-dev apache2 mysql-server mysql-client libmysqlclient15-dev php-pear openssl expat perl flex bison libaudiofile-dev libncurses5-dev curl sox mpg123 speex libspeex-dev libiksemel-dev hdparm
y veremos...

Código: Seleccionar todo

Leyendo lista de paquetes... Hecho
Creando árbol de dependencias       
Leyendo la información de estado... Hecho
linux-headers-2.6.32-31-server ya está en su versión más reciente.
fijado linux-headers-2.6.32-31-server como instalado manualmente.
libssl0.9.8 ya está en su versión más reciente.
libxml2 ya está en su versión más reciente.
Nota, seleccionando libmysqlclient-dev en lugar de libmysqlclient15-dev
openssl ya está en su versión más reciente.
perl ya está en su versión más reciente.
speex ya está en su versión más reciente.
libspeex-dev ya está en su versión más reciente.
hdparm ya está en su versión más reciente.
Se instalarán los siguientes paquetes extras:
  apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common binutils dpkg-dev fakeroot fontconfig-config g++ g++-4.4 gcc gcc-4.4
  libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libasound2 libaudiofile0 libc-dev-bin libc6-dev libcurl3
  libdbd-mysql-perl libdbi-perl libfile-copy-recursive-perl libflac8 libfontconfig1 libgd2-xpm libgomp1 libgsm1 libhtml-template-perl libiksemel3
  libipc-signal-perl libjpeg62 libjpeg62-dev libltdl7 liblzma1 libmime-types-perl libmpg123-0 libmysqlclient-dev libmysqlclient16 libnet-daemon-perl
  libplrpc-perl libpng12-dev libproc-waitstat-perl libslang2-dev libsndfile1 libsox-fmt-alsa libsox-fmt-base libsox1a libstdc++6-4.4-dev libt1-5
  libtiffxx0c2 libvorbis0a libvorbisenc2 libvorbisfile3 libwavpack1 libxpm4 linux-libc-dev m4 manpages-dev mysql-client-5.1 mysql-client-core-5.1
  mysql-common mysql-server-5.1 mysql-server-core-5.1 php5-cli php5-common ssl-cert ttf-dejavu-core update-inetd xz-utils zlib1g-dev
Paquetes sugeridos:
  apache2-doc apache2-suexec apache2-suexec-custom binutils-doc bison-doc debian-keyring debian-maintainers g++-multilib g++-4.4-multilib gcc-4.4-doc
  libstdc++6-4.4-dbg gcc-multilib autoconf automake1.9 libtool gdb gcc-doc gcc-4.4-multilib libmudflap0-4.4-dev gcc-4.4-locales libgcc1-dbg libgomp1-dbg
  libmudflap0-dbg libcloog-ppl0 libppl-c2 libppl7 libasound2-plugins glibc-doc dbishell libgd-tools libipc-sharedcache-perl libsox-fmt-all
  libstdc++6-4.4-doc libaudio2 libesd0 libjack0 libpulse0 tinyca mailx php5-dev php5-suhosin
Se instalarán los siguientes paquetes NUEVOS:
  apache2 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common binutils bison build-essential curl cvs dpkg-dev expat fakeroot flex
  fontconfig-config g++ g++-4.4 gcc gcc-4.4 libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libasound2 libaudiofile-dev
  libaudiofile0 libc-dev-bin libc6-dev libcurl3 libdbd-mysql-perl libdbi-perl libfile-copy-recursive-perl libflac8 libfontconfig1 libgd2-xpm libgomp1
  libgsm1 libhtml-template-perl libiksemel-dev libiksemel3 libipc-signal-perl libjpeg62 libjpeg62-dev libltdl7 liblzma1 libmime-types-perl libmpg123-0
  libmysqlclient-dev libmysqlclient16 libncurses5-dev libnet-daemon-perl libnewt-dev libplrpc-perl libpng12-dev libproc-waitstat-perl libslang2-dev
  libsndfile1 libsox-fmt-alsa libsox-fmt-base libsox1a libssl-dev libstdc++6-4.4-dev libt1-5 libtiff4 libtiff4-dev libtiffxx0c2 libusb-dev libvorbis0a
  libvorbisenc2 libvorbisfile3 libwavpack1 libxml2-dev libxpm4 linux-libc-dev m4 manpages-dev mime-construct mpg123 mysql-client mysql-client-5.1
  mysql-client-core-5.1 mysql-common mysql-server mysql-server-5.1 mysql-server-core-5.1 php-pear php5 php5-cgi php5-cli php5-common php5-gd php5-mysql
  sox ssl-cert ttf-dejavu-core update-inetd xz-utils zlib1g-dev
0 actualizados, 99 se instalarán, 0 para eliminar y 0 no actualizados.
Necesito descargar 76,7MB de archivos.
Se utilizarán 226MB de espacio de disco adicional después de esta operación.
¿Desea continuar [S/n]? 
Como notarán, son muchísimas dependencias de dependencias. Por eso es que el sistema APT es útil, ya que nos resuelve el problema de tener que estar buscando e instalando dependencias manualmente.

De todas formas, estas librerías que instalamos NO SON TODAS las necesarias, dependiendo como se aclaró, de la configuración seleccionada. Lo bueno del sistema de menu para compilar la asterisk, es que, nos va indicando que librerías requiere para los módulos que vayamos seleccionando. Esto nos permite, si requerimos de algún módulo, saber que dependencias instalar. Y así, no llenamos el sistema de librerías (aunque en su mayoría no ocupan mucho ni afectan al rendimiento, solo ocupan lugar en el HD) que no utilicemos.

Veamos entonces, como, mediante el menu de configuración, seleccionar que compilar de la central.

Cada vez que instalemos algún paquete que requiera ser configurado, nos surgirá una "ventana" indicándonos que ingresemos algo o seleccionemos algo para configurar el paquete.
En este caso, nos pide configurar el servidor MYSQL (que la asterisk utiliza para llevar la base de datos de llamados)

Código: Seleccionar todo

┌──────────────────────────────────────┤ Configuración de mysql-server-5.1 ├───────────────────────────────────────┐
│ While not mandatory, it is highly recommended that you set a password for the MySQL administrative "root" user.  │ 
│                                                                                                                  │ 
│ If this field is left blank, the password will not be changed.                                                   │ 
│                                                                                                                  │ 
│ New password for the MySQL "root" user:                                                                          │ 
│                                                                                                                  │ 
│ ************____________________________________________________________________________________________________ │ 
│                                                                                                                  │ 
│                                                      <Aceptar>                                                   │ 
│                                                                                                                  │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 
                     
En estos casos, luego de por ejemplo, escribir el password correspondiente (que elegiremos nosotros mismos, no olvidarlo, lo vamos a necesitar luego), solo se ven **** ya que esta "enmascarado". Para ACEPTAR el cambio, con la tecla TAB (el tabulador) seleccionamos "ACEPTAR" y luego con ENTER confirmamos.

Alejandro Donato
Avanzado
Avanzado
Mensajes: 34
Registrado: Vie Nov 19, 2010 6:40 am
Ubicación: Río Cuarto - Córdoba

Re: [HOW TO] Ubuntu Server + Asterisk + FreePBX

Mensaje por Alejandro Donato » Sab May 14, 2011 9:27 pm

Instaladas las dependencias "generales", veamos como iniciar la configuración de la compilación para la central. En este paso, podremos seleccionar que módulos utilizaremos en nuestra asterisk. También podremos, si hace falta, ver que dependencias faltan para las funciones o módulos que querramos.

Ya hemos descargado y descomprimido las fuentes de la central en post anteriores, volvamos entonces a la carpeta donde la descomrpimimos y ejecutemos:

Código: Seleccionar todo

root@JYBSERV:/usr/src/asterisk/asterisk-1.8.4# ./configure


con "./configure" (que suele de hecho ser el primer paso para compilar muchas mas cosas), el programa revisa la instalación actual y verifica que tiene las librerías necesarias para poder "armar" la central.

Si este paso culmina correctamente, veremos:

Código: Seleccionar todo

checking pthread.h presence... yes
checking for pthread.h... yes
checking for pthread_create using -lpthreads... no
checking for pthread_create using -lpthread... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating mxml.list
config.status: creating mxml.pc
config.status: creating config.h
configure: Menuselect build configuration successfully completed

               .$$$$$$$$$$$$$$$=..      
            .$7$7..          .7$$7:.    
          .$$:.                 ,$7.7   
        .$7.     7$$$$           .$$77  
     ..$$.       $$$$$            .$$$7 
    ..7$   .?.   $$$$$   .?.       7$$$.
   $.$.   .$$$7. $$$$7 .7$$$.      .$$$.
 .777.   .$$$$$$77$$$77$$$$$7.      $$$,
 $$$~      .7$$$$$$$$$$$$$7.       .$$$.
.$$7          .7$$$$$$$7:          ?$$$.
$$$          ?7$$$$$$$$$$I        .$$$7 
$$$       .7$$$$$$$$$$$$$$$$      :$$$. 
$$$       $$$$$$7$$$$$$$$$$$$    .$$$.  
$$$        $$$   7$$$7  .$$$    .$$$.   
$$$$             $$$$7         .$$$.    
7$$$7            7$$$$        7$$$      
 $$$$$                        $$$       
  $$$$7.                       $$  (TM)     
   $$$$$$$.           .7$$$$$$  $$      
     $$$$$$$$$$$$7$$$$$$$$$.$$$$$$      
       $$$$$$$$$$$$$$$$.                

configure: Package configured for: 
configure: OS type  : linux-gnu
configure: Host CPU : x86_64
configure: build-cpu:vendor:os: x86_64 : unknown : linux-gnu :
configure: host-cpu:vendor:os: x86_64 : unknown : linux-gnu :
root@JYBSERV:/usr/src/asterisk/asterisk-1.8.4# 
Paso seguido, invocamos el menu de selección de paquetes con
root@JYBSERV:/usr/src/asterisk/asterisk-1.8.4# make menuselect
con esto, veremos:

Código: Seleccionar todo


   ┌─────────────┤ Asterisk Module and Build Option Selection ├──────────────┐
   │                                                                         │ 
   │   Add-ons (See README-addons.txt)    [ ] app_mysql                    ↑ │ 
   │   Applications                       [ ] app_saycountpl               ▮ │ 
   │   Bridging Modules                   [ ] cdr_mysql                    ▒ │ 
   │   Call Detail Recording              XXX chan_mobile                  ▒ │ 
   │   Channel Event Logging              [ ] chan_ooh323                  ▒ │ 
   │   Channel Drivers                    [ ] format_mp3                   ▒ │ 
   │   Codec Translators                  [ ] res_config_mysql             ▒ │ 
   │   Format Interpreters                                                 ▒ │ 
   │   Dialplan Functions                                                  ▒ │ 
   │   PBX Modules                                                         ▒ │ 
   │   Resource Modules                                                    ↓ │ 
   │                                                                         │ 
   │  Simple Mysql Interface                                                 │ 
   │                                                                         │ 
   │      Depends on: mysqlclient(E)      ┌───────────────┐   ┌──────────┐   │ 
   │         Can use: N/A                 │  Save & Exit  │   │   Exit   │   │ 
   │  Conflicts with: N/A                 └───────────────┘   └──────────┘   │ 
   │                                                                         │ 
   └─────────────────────────────────────────────────────────────────────────┘ 
                                                                               

  <ENTER> toggles selection | <F12> saves & exits | <ESC> exits without save

egonzalez
Principiante
Principiante
Mensajes: 1
Registrado: Jue Jun 09, 2011 4:57 pm

Re: [HOW TO] Ubuntu Server + Asterisk + FreePBX

Mensaje por egonzalez » Jue Jun 09, 2011 5:02 pm

Hola Alejandro!

Muy buen tutorial guí sobre la forma de instalación de Asterisk + FreePBX, además que ambos están actualizados a las últimas versiones, sin embargo, comencé a seguir la guí pero veo que no está completa!!!!!

La verdad soy nuevo en el tema de Asterisk y quiero aprender sobre él, por este motivo quiero preguntarte si tienes planeado terminar el tutorial para seguirlo!!

Tienes información adicional que pueda seguir mientras tanto? Hay algo en lo que te pueda ayudar para que termines con la publicación?

Por favor déjame saber tus comentarios.


Saludos,
Elkin

Alejandro Donato
Avanzado
Avanzado
Mensajes: 34
Registrado: Vie Nov 19, 2010 6:40 am
Ubicación: Río Cuarto - Córdoba

Re: [HOW TO] Ubuntu Server + Asterisk + FreePBX

Mensaje por Alejandro Donato » Lun Jul 09, 2012 2:27 am

attacho un documento en PDF de una guia vieja pero útil, hecha por Erick Manzur

Pienso terminar estas guías en breve, ni bien tenga que armar otra central y tenga un rato hago las capturas y la sigo.

Saludos
Adjuntos
Debian_Lenny-Asterisk.pdf
Guia Asterisk + Freepbx + hylafax + otros por Erick Manzur
(898.58 KiB) Descargado 579 veces

Responder