En este articulo, definiremos mas "finamente" lo que vamos a instalar y requerir, para que Asterisk pueda hacer uso de cositas coquetas.
Empezamos por lo de siempre Debian 8.5 (Ultima a fecha de hoy). Desde una "NetInstall" y sin nada, quizás solo sshd, el nivel de particionado y sistemas de ficheros, al gusto del consumidor, cada uno ha de saber como hacer en su equipo. (No pongo enlaces de descarga porque se hacen viejos)
Con Debian recien instalado, no se requiere "updates" puesto que ya está a la ultima al ser NetInstall.
Asterisk, Partimos como siempre de la rama Certificada (LTS), en este caso y a fecha de hoy la ultima es la 13.8-2, se descarga de este enlace.
http://downloads.asterisk.org/pub/telephony/certified-asterisk/releases/asterisk-certified-13.8-cert2.tar.gz
INTENCIONES:
Uso de Bases de datos, (MySQL+php+Apache)
Uso de Calendarios (con ICAL)(Google Calendar) (NO MAS GotoIfTime)
Uso de CDR por web (Asterisk-CDR-Viewer) Panel estadístico de llamadas.
Uso de OCDB para la conexión con la DDBB.
Uso de servidor de correo para el envio de los mensajes del Buzón de voz.
Uso del servico VoIP de Movistar (¿Porque no? tenemos tarifa plana...)
Uso de FOP2 (Es un panel para monitorizar el estado de las extensiones y muchas mas cosas)
Instalando los paquetes necesarios Parte ODBC. (En la parte "Debian" para cumplir dependencias y que Asterisk pueda hacer uso de ellas.)
Lo de siempre, lo elemental
root@Asterisk:/#aptitude install build-essential libssl-dev libncurses5-dev
libnewt-dev libxml2-dev linux-headers-$(uname -r) libsqlite3-dev
uuid-dev subversion libjansson-dev vim-nox libvorbis-dev libspeex-dev
libspeexdsp-dev libc-client-dev libpam0g-dev doxygen sox
Para poder tener MySQL y todo lo necesario para el uso de Asterisk-CDR-Viewer
root@Asterisk:/#aptitude install mysql-server phpmyadmin (Con esto metemos esencialmente PHP5, Apache, y MySQL tambien un cliente, y un panel phpmyadmin que nos falicita el trabajo para los que no tenemos conocimientos de sentencias SQL), Aconsejable pasar el scrypt de seguridad para MySQL, para evitar olvidarnos de que es sensible a ataques del exterior, lo hacemos mediante el scrypt situado en:/usr/bin/mysql_secure_installation, adoptamos las opciones que mas nos interesen. La instalación de phpmyadmin, es trivial, solo hay que comprender que va a requereir el acceso de root y por ende de su contraseña, tambien creara una BBDD, para uso propio.
Despues para que se pueda usar ODBC, se requiere:
root@Asterisk:/#aptitude install unixodbc unixodbc-dev libmyodbc (Las herramientas, las librerias mas el driver para mysql)
Para la integración de calendarios mediante ICAL se requiere:
root@Asterisk:/#aptitude installl libneon27-dev libical-dev (Librerias para Cliente Http mas iCalendar)
Lo primero es comprobar que estos paquetes, permiten el uso de estas funcionalidades en Asterisk, la mejor manera es mirandolo mediante
make menuselect, quien nos marcara o no la funcionalidad. Pero antes de esto tenemos que descomprimir y compilar mediante.
Descargamos el fichero de Asterisk 13.8 Cert2 en:
/usr/src/ Donde descomprimimos con tar -zxvf, dejandonos el resultado el en directorio asterisk-certified-13.8-cert2, dentro de el ya podemos hacer ./configure y veamos que nos dice y si finaliza bien, podremos compilar con make y make install. Resumiendo
root@Asterisk02:/usr/src/# tar -zxvf asterisk-certified-13.8-cert2.tar.gz
root@Asterisk02:/usr/src/# cd asterisk-certified-13.8-cert2
root@Asterisk02:/usr/src/asterisk-certified-13.8-cert2# ./configure
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 : i686
configure: build-cpu:vendor:os: i686 : pc : linux-gnu :
configure: host-cpu:vendor:os: i686 : pc : linux-gnu :
root@Asterisk02:/usr/src/asterisk-certified-13.8-cert2# make nenuselect
Repasar en los siguientes apartados, que estén marcados(si salen con XXX, algo se nos paso)
En Call Detail Recording (CDR)
cdr_adaptative_odbc
cdr_odbc
OJO en Channel Drivers (Extended)
chan_sip
Dial Plan Funtions
func_odbc
Resource Modules
res_calendar_icalendar
res_config_odbc
res_odbc
Save & Exit si queremos marcar como el chanel_SIP y listos para compilar.
make (En mi caso esto tarda un poco, por ser lo que es)
make install (Instalamos, pero ojito, en las opciones que dan mirar bien si es una instalación de CERO, o ya tenia otro Asterisk y queremos conservar los ficheros, también mucho ojo, con las versiones y los famosos "deprecated" hay funciones que cambian o eliminan, y comandos que ya no esta disponibles y hay otros nuevos. por eso del LTS)
Resumiendo:
root@Asterisk02:/usr/src/asterisk-certified-13.8-cert2# make
*****
Building Documentation For: third-party channels pbx apps codecs formats cdr cel bridges funcs tests main res addons
+--------- Asterisk Build Complete ---------+
+ Asterisk has successfully been built, and +
+ can be installed by running: +
+ +
+ make install +
+-------------------------------------------+
root@Asterisk02:/usr/src/asterisk-certified-13.8-cert2# make install
*
+---- Asterisk Installation Complete -------+
+ +
+ YOU MUST READ THE SECURITY DOCUMENT +
+ +
+ Asterisk has successfully been installed. +
+ If you would like to install the sample +
+ configuration files (overwriting any +
+ existing config files), run: +
+ +
+ For generic reference documentation: +
+ make samples +
+ +
+ For a sample basic PBX: +
+ make basic-pbx +
+ +
+ +
+----------------- or ---------------------+
+ +
+ You can go ahead and install the asterisk +
+ program documentation now or later run: +
+ +
+ make progdocs +
+ +
+ **Note** This requires that you have +
+ doxygen installed on your local system +
+-------------------------------------------+
WARNING WARNING WARNING
Your Asterisk modules directory, located at
/usr/lib/asterisk/modules
contains modules that were not installed by this
version of Asterisk. Please ensure that these
modules are compatible with this version before
attempting to run Asterisk.
chan_multicast_rtp.so (Deprecated)
codec_g729.so (Pues esto no se bien....)
WARNING WARNING WARNING
Despues de eliminar el problema eliminando el modulo chan_multicast_rtp.so ya nuestro nuevo Asterisk arrancara sin WARNINGs.
Continuamos
Configurando MySQL para ODBC