Llevaba tiempo rondándome la idea, pero no me atrevía a hacerlo por si cascaba el sistema en producción sobre el que pretendía realizar la actualización. Pero como hay que ser valientes para poder aprender, anoche me decidí a migrar el sistema Trixbox 2.2.4 desde Asterisk 1.2.25 a la nueva versión de Asterisk1.4.17.
Me dije… Paco prepárate que vienen curvas!!!, así que me puse a buscar algo de información para ver si el camino se hacía mas o menos liviano. Como quiera que no hubo forma de dar con nada específico o ya hecho, tuve que juntar trocitos de wikis, forums y tutoriales (por supuesto en inglés) hasta que al final conseguí dejar el sistema casi nuevecito (lo de casi, porque todavía sigue el señor Trixbox dando vueltas por ahí, aunque ya no se mete con mi asterisk :).
Manos a la obra. Lo primero, y como mandan los cánones, bajarse las fuentes de Asterisk 1.4 y descomprimirlas
cd /usr/src
wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz
wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4-current.tar.gz
tar zxvf asterisk-1.4-current.tar.gz
tar zxvf zaptel-1.4-current.tar.gz
tar zxvf asterisk-addons-1.4-current.tar.gz
Antes de meternos a instalar nada, deberemos terminar los procesos que tenga abiertos asterisk, habitualmente
killall -9 safe_asterisk
killall -9 asterisk
aunque si usamos FreePBX, podemos parar el servicio con
amportal stop
también se podía haber entrado por CLI y ejecutar un ‘stop now’. Puesto que en mi máquina tenía hardware de Digium instalado, concretamente una tarjeta TDM400 y otra TDM800, se hizo necesario descargar los módulos de zaptel. Para saber exactamente que módulos tenemos cargados, deberemos ejecutar,
[root@paco]# lsmod | grep zaptel
zaptel 214820 2 zttranscode,wctdm,wctdm24xxp
crc_ccitt 2113 1 zaptel
Una vez que sabemos lo que hay cargado, descargamos los módulos del núcleo
modprobe -r wctdm
modprobe -r wctdm24xxp
modprobe -r zttranscode
modprobe -r zaptel
Para quitar completamente Asterisk 1.2, sólo nos queda hacer una copia de seguridad de nuestra configuración actual y borrar los ficheros existentes,
cp -r /etc/asterisk/ /etc/asterisk.bak/
rm -rf /etc/asterisk
cp -r /etc/zaptel.conf /etc/zaptel.conf.bak/
rm -f /etc/zaptel.conf
cp -r /var/log/asterisk/ /var/log/asterisk.bak/
rm -rf /var/log/asterisk
cp -r /var/lib/asterisk/ /var/lib/asterisk.bak/
rm -rf /var/lib/asterisk
cp -r /var/spool/asterisk/ /var/spool/asterisk.bak/
rm -rf /var/spool/asterisk
cp -r /usr/lib/asterisk/ /usr/lib/asterisk.bak/
rm -rf /usr/lib/asterisk
Tras realizar lo anterior, habremos dejado nuestro sistema listo para instalar la nueva versión. Procederemos de la siguiente forma, teniendo en cuenta que no se instalará el paquete libpri ya que en este caso no se dispone de hardware ISDN.
Zaptel
cd /usr/src/zaptel-1.4.<version>
./configure
make menuselect
Se nos abre una ventanita, donde seleccionaremos los módulos que nos interesan pulsando la barra espaciadora (en mi caso fue wctdm y wctdm24xxp). Salvamos la elección y continuamos con la instalación.
make
make install
make config
Tras instalar zaptel, procedemos con Asterisk
Asterisk
cd /usr/src/asterisk-1.4.<version>
./configure
make menuselect
make
make install
Asterisk-addons
cd /usr/src/asterisk-addons-1.4.<version>
./configure
make
make install
Una vez instalados los paquetes, comprobaremos que todo ha ido bien, ejecutando
asterisk
asterisk -rvvvvvv
o si tenemos FreePBX
amportal start
asterisk -rvvvv
Deberíamos conectar con la consola de asterisk y por tanto, ya tendremos listo nuestro sistema para ponerlo en marcha.
Aquellos que aún sigan usando FreePBX, simplemente deberán colocar en su sitio las copias de seguridad que hicieron de zaptel.conf, zapata.conf y asterisk.conf, al objeto de que FreePBX no proteste al ejecutarse de nuevo. Se accede a la web de configuración de FreePBX, se modifica cualquier parámetro sin importancia para que nos permita aplicar cambios y….. voilà!!!… todo andando de nuevo.
Espero que os haya servido a todos…