Instalar uElastix en una Raspberry Pi

uelastix_logoUn amigo me hizo notar que tanto el instructivo del sitio oficial [al momento de escribir esto], como el que viene dentro del comprimido, están mal y se contradicen en algunas cosas, así que armé esta mini guía para que el pueblo pueda tener uElastix en su RaspberryPi.  Voy a intentar hacerlo corto y si quedan dudas las respondo en los comentarios.

Elastix es un sistema de centrales telefónicas y pueden encontrar mas info en ese lugar donde deberían haber ido primero a encontrar info. uElastix es la versión micro para dispositivos con pocos recursos.

Para esta chanchada usé la  imagen elastix-arm-2014-01-30.tar que bajé del sitio oficial.

Si usan otra, las cosas pueden cambiar, como cuando entró el patilludo en el 89 que todo fue joda y dolares, o como cuando se fue, que todo quedó como el orto y hasta tiraron las torres gemelas y ahora no se puede viajar en avión con dentífrico.

Para hacer esto usé Linux (pueden usar una VM). Se puede hacer desde cualquier otro sistema pero si empiezan un instructivo ya peleándome el sistema, sean copados y busquen en google cómo hacer cada cosa que acá se hace en Linux (Ej. formatear, montar, labelear, bailar).

raspberry_piYo hice todo como root para estar fresco porque sino ‘sudo‘ mucho.

1- Formatear la SD
Datos a tener en cuenta:
– Una particion de unos 256MB
– Una particion de unos 1.6GB
– Una particion que ocupe todo lo que queda de la SD.

Es necesario ponerle el Id ‘e'(‘Win95MadeByBillGates <3’) a la primer partición y ponerles los labels correctos, sino no funca. La forma mas simple sería:

A- Creamos las tres particiones desde donde nos quede mas cómodo (fdisk, gparted, partition magic, etc).
REPITO:
– Una particion de unos 256MB
– Una particion de unos 1.6GB
– Una particion que ocupe todo lo que queda de la SD.

B- FORMATOS Y LABELS:
Supongamos que la SD está en /dev/sdb (y ya tenemos las tres particiones /dev/sdb1, sdb2 y sdb3).
root@maquina: mkfs.vfat -n ‘/BOOT’ /dev/sdb1
root@maquina: mkfs.ext3 -L ‘/usr’ /dev/sdb2
root@maquina: mkfs.ext3 -L ‘/’ /dev/sdb3

C- SETEAR ID:
root@maquina: fdisk /dev/sdb
pulsamos tecla ‘t’
Nos pregunta qué particion, ponemos el numero 1
Nos pregunta que Id, ponemos la ‘e’
Le damos ‘w’ para que guarde los cambios.

2- Montar la gilada, extraer archivos y demontar la gilada.
A- creamos tres carpetas:
root@maquina: mkdir /mnt/BOOT
root@maquina: mkdir /mnt/usr
root@maquina: mkdir /mnt/rootfs

B- Montamos la gilada:
root@maquina: mount /dev/sdb1 /mnt/BOOT
root@maquina: mount /dev/sdb2 /mnt/usr
root@maquina: mount /dev/sdb3 /mnt/rootfs

C- Descomprimimos la gilada(las ultimas dos pueden tardar su buen rato):
Posta, van a tardar 100 años las ultimas. A menos que usen SD clase 10 o alguna magia rara, pero es una poronga la velocidad igual. Yo lo hice con una SD clase 4 de 16GB enchufada en un lector de SD por USB y un core i7 y el CPU estuvo al mango como por 2 horas.

root@maquina: tar -C /mnt/BOOT/ -xzf BOOT.tar.gz
root@maquina: tar -C /mnt/usr/ -xzf usr.tar.gz
root@maquina: tar -C /mnt/rootfs/ -xzf root.tar.gz

D- Desmontamos la gilada:
root@maquina: umount /dev/sdb1
root@maquina: umount /dev/sdb2
root@maquina: umount /dev/sdb3

3- Ponemos la cosa esta adentro de una RaspberryPi B+ y mágicamente funca.

A- La IP por defecto dice ser 192.168.1.251/16 (o sea IP 192.168.1.251 y mascara 255.255.0.0) y la verdad no me fijé mucho, pero yo creo que es bullshit y la IP es 192.168.1.251/24 (o sea IP 192.168.1.251 y mascara 255.255.255.0)
B- El usuario ssh por defecto es root y la clave es ‘palosanto’
C- El usuario web por defecto es admin y la clave es ‘palosanto’
D- No tengo idea de las claves mysql y esas yerbas, pero asumo son ‘palosanto’ y también estaría piola cambiarlas para que no venga un kaker y rompa todo.

4- Configurar el bicho este bien y a gusto y despues hacerle una imagen única (un único archivo img) como para que a futuro solo haya que flashear una imagen desde cualquier sistema operativo.

Acá un manual rápido que encontré buscando en Google

5- Como siempre, al completar una tarea de forma correcta, es necesario bailar “saluda ivan el pan de mi nabo”. Acá les dejo el video por si no lo tienen en cassette:

 

Saludos

Tom

9 pensamientos en “Instalar uElastix en una Raspberry Pi”

  1. Hola Amigos.

    Les cuento que parí como los grandes, NO funciona en Raspberry Pi 3, es correcto lo que dice Tomich, mejor utilizar RasPBX, ya la probé y a pesar de tener varios Bugs (Pulgas), corre muy rápido en una 16GB Extreme de SandDisk.
    Es una pena que Elastix tenga abandonado dicho proyecto, asumo que dado a que ellos tienen unos Appliances que portan dicho OS, no les sirve actualizar el mismo.
    En fin les agradezco Tomich, excelente Post.

    Pura Vida!!

  2. Hola antes que nada felicidades por este gran aporte, estoy haciendo un proyecto como este, pero al momento de los formatos el comando que ingresó es mkfs.ext3 -L ‘/usr’ /dev/sdb2 (la partición de la sd) me marca el siguiente error:
    mke2fs 1.42.9 (4-Feb-2014)
    No se puede poner /dev/sdb2 — No existe el archivo el directorio

    En apariencia, el dispositivo no existe; ¿Se especificó correctamente?

    Y después de ahí no me permite hacer nada, espero puedas ayudarme a corregir ese error, Gracias de antemano….

    1. No, porque no es nombre, sino el punto de montaje y el linkeo se hace al punto ‘/’ porque lo estamos haciendo a nivel sistema directamente. Si fuera una partición que tocamos externamente para luego manipularla, podríamos ponerla en ‘/rootfs’ si el sistema operativo que usamos espera realmente ese punto de montaje, para luego hacer un chroot allí y terminarla usando virtualmente cono ‘/’, pero este no es el caso.

      1. otra cosa, lo he probado en una raspberry pi b + y no me funciona, se me queda en la pantalla se loggin y no puedo usar el teclado y no se me encienden las luces del puerto de red, en los foros he leido que funciona hasta el modelo raspberry pi B normal y no en el B + , ¿que modelo usastes? sabes si sirve una raspberry pi 2 o 3?

        1. Yo tengo una B+, pero esto lo probé en una B y me encontré con varios problemas en la B+ y en la 2. Honestamente este proyecto esta bastante abandonado (para RasPi) con actualizaciones del 2013. Te recomiendo muchisimo probar RasPBX, un port de FreePBX para Raspi 1, 2, 3, 4, 5, 6, y cualquier que salga en 9000 años que tiene updates todos los días y funciona un millon de veces mejor. Hablamos de que con RasPBX podés doblar o triplicar la cantidad de clientes SIP que con Elastix en Raspberry Pi. Uso ELX en el trabajo, pero para la Pi conviene mucho mas algo actualizado, optimizado y más simple como RasPBX.

    1. Buenas noches David.

      Si, es totalmente posible, pero vas a tener que lidiar con algunos drivers y librerías que no funcionan correctamente en algunos casos. Si vas a probar con RPi2, te recomiendo usar la ultima versión de ELX y si no funciona, entonces instalar algo como pidora o centos e instalar Elastix manualmente arriba de eso. En todo caso, te recomendaría NO utilizar ELX(dependiendo de tus necesidades, por supuesto) y usar directamente RasPBX, que es una distro de freePBX especifica para RPi (1 y 2). Funciona muchisimo mejor y es mucho mas estable. Los devs de ELX estan bastante ocupados con el lanzamiento de ELX4 y MT y no están dandole mucha bola al tema de RPi, lo cual es totalmente entendible, dado que apuntan a una plataforma mucho mas completa de lo que puede correr una RPi. Saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *