Archives de Categoría: Linux

3CX compra Elastix

3cxelastixAsí, como suena. Resulta que la empresa 3CX ha comprado Elastix. Esta es sin duda la noticia del año en el mundo de la VoIP. Para ambas empresas, las cosas pueden estar más o menos claras, pero para todo aquel que trabajase con Elastix, las consecuencias no están del todo claras. Voy a intentar, hasta donde sé, y de una forma objetiva, aclarar los puntos más relevantes, es decir, lo que va a suceder de ahora en adelante:

¿ Qué sucede con las versiones Elastix 4 y Elastix MT ?

La respuesta oficial es que, por cuestiones legales, no están disponibles para ser descargadas desde el sitio oficial de Elastix. La postura de 3CX, la nueva propietaria de Elastix, es que no van a entrar en batallas legales para poner Elastix 4 y Elastix MT de nuevo disponibles. Con lo cual, podemos decir que Elastix 4 y Elastix MT dejarán de estar oficialmente disponibles.

Bien es cierto que si tienes las ISO de cualquiera de dichas de ediciones, van a seguir siendo funcionales, pero no van a recibir actualizaciones de ningún tipo por parte de Elastix.

¿ Qué sucede con la versión Elastix 2.5 ?

Por suerte, la versión Elastix 2.5 si está disponible para ser descargada desde el sitio oficial de Elastix. Es una edición que sigue siendo funcional y que puede ser actualizada, ya que los repositorios repo.elastix.org y mirror.elastix.org están de nuevo disponibles. La mala noticia para está versión de Elastix es que no va a recibir nuevas actualizaciones ni van a salir nuevos Addons para ella. Es decir, podemos instalarnos una Elastix 2.5 y actualizarla hasta lo que hubiera publicado hasta el día de la compra por parte de 3CX. A partir de entonces, ni actualizaciones ni addons ni nada nuevo en el horizonte para Elastix 2.5.

Es importante reseñar que de momento, los repositorios para Elastix 2.5 están ahí, pero no han garantizado su presencia permanente en el futuro, con lo cual, hay que andar con ojo.

¿ Y cómo que de repente tenemos una Elastix 5.0 ?

Obviamente no ha sido algo que haya salido de repente. Elastix 5.0 es la edición Linux de 3CX V15, la cual ya existía desde hace algún tiempo. Lógicamente, si 3CX ha comprado Elastix, lo esperable es que saliera “algo” con el nombre de Elastix y que llevase 3CX. En resumen, que da lo mismo que te instales Elastix 5.0 o la edición Linux de 3CX V15, ya que son la misma cosa.

¿ Qué sucede con el soporte ?

Bien, en el caso de Elastix 5, el soporte pasa a ser gestionado por 3CX. En este caso (sin entrar a discutir lo bueno o malo que es ser Partner de 3CX), debes darte de alta como Partner de 3CX, para así tener acceso al Soporte Gratuito que brindan a los Partners. En dicho soporte se incluye el soporte gratuito de Elastix 5.

El soporte para Elastix 2.5 NO será gestionado por 3CX. En principio, se deja para que sea un soporte vía foros, comunidad, etc. Teóricamente, Palosanto será quien de soporte sobre Elastix 2.5, pero ¿ hasta cuando? …

¿ Qué sucede con las Certificaciones: ECT, ECE … ?

A nivel de certificaciones, decimos adiós a las certificaciones de Elastix tal cual las conocíamos. Siguen siendo válidas, pues todo aquel que se haya sacado un ECT o un ECE ha demostrado tener los conocimientos requeridos para obtener dichas titulaciones. Pero, lamentablemente, no se va a seguir comercializando ningún tipo de curso oficial de Elastix que afecte a las versiones Elastix 2.5 / 4 / MT ni tampoco se van a celebrar nuevas convocatorias para sacarse un ECT o un ECE. Se acabaron.

A partir de ahora, toda la formación irá orientada a 3CX V15 (Elastix 5). Se dispondrán de 3 Certificaciones: Básica, Intermedia y Avanzada. 3CX está trabajando en dichas Certificaciones para que a partir de ya nos podamos sacar los nuevos Certificados. Todos los recursos a nivel de formación de Elastix 5 serán completamente gratuitos, así como sus Certificaciones, las cuales se podrán obtener online y serán completamente gratuitas.

Si Elastix 2.5, Elastix 4 y Elastix MT no tenían límites de llamadas simultáneas, ¿ por qué Elastix 5 si lo tiene ?

Bien, como he dicho, Elastix 5 es realmente 3CX V15. Para todo aquel usuario de Elastix que lo desconozca, 3CX V15 ( o sea, Elastix 5 ) está basado en un sistema de licenciamiento. Dicho licenciamiento está basado a su vez en llamadas simultáneas (desde Licencias para 4 llamadas simultáneas, hasta licencias para 1024 llamadas simultáneas). O sea, que posiblemente, haya que pasar por caja.

Vale, ya se que Elastix 5 se basa en licencias por llamadas, pero, ¿ cuantos tipos de licencias existen ?

A día de hoy, para Elastix 5 tenemos 5 tipos de licencias:

  • Licencia NFR: Licencia gratuita que te otorga 3CX por ser Partner 3CX. Tienes desde 4 llamadas simultáneas hasta 32 (según tu nivel de Partner) y todas las capacidades de telefonía de 3CX V15.
  • Licencia PBX Edition: Licencia personal que te envía 3CX a tu correo electrónico con capacidades básicas de telefonía y gratuita.
  • Licencia Standard Edition: Licencia comercial. Disponible desde 4 llamadas simultáneas hasta 1024 y tienes disponibles casi todas las capacidades de telefonía.
  • Licencia Pro Edition: Licencia: Licencia comercial. Disponible desde 4 llamadas simultáneas hasta 1024 y tienes disponibles todas las capacidades de telefonía excepto el Failover integrado con una única licencia.
  • Licencia Enterprise Edition: Licencia comercial. Disponible desde 4 llamadas simultáneas hasta 1024 y tienes disponibles todas las capacidades de telefonía, failover incluído en la misma licencia.

Aquí podéis ver las capacidades que incluye cada tipo de Licencia: Comparación de Ediciones de 3CX V15 / Elastix 5

Aquí podéis ver los precios de cada tipo de Licencia (son públicos y te costará igual en cualquier lado): Precios de Licencias de 3CX V15 / Elastix 5

Conclusión

Seguramente me deje muchas cosas en el tintero, ya que este movimiento por parte de 3CX (comprar) y de Elastix (venderse) no va a dejar a nadie indiferente y va a traer bastante cola. Cualquier duda que os quede con respecto a esto, podéis hacerlas llegar directamente a 3CX. Por mi parte, si queréis preguntarme algo, estaré encantando de responder lo que buenamente pueda.

Categorías 3CX, Elastix, Linux.

SSH Inverso: Soporte a una máquina Linux

sshlogoEn este mundo de las comunicaciones, todos aquellos que nos dedicamos a dar soporte técnico a clientes nos enfrentamos a diario a las dificultades que se nos plantean con muchos clientes a la hora de tratar de resolverle una incidencia. Me refiero sobre todo al típico caso en el que necesitamos acceder de forma remota, por ejemplo, a la centralita del cliente. En muchas ocasiones, dicha centralita está basada en un sistema Linux (puede ser un Asterisk, puede ser una central Elastix, etc.) Y también, en muchas ocasiones, el cliente no puede proporcionarnos un acceso SSH a dicha máquina por multitud de razones.

En esta situación, en la que el necesitamos entrar en la máquina del cliente y éste no puede habilitarnos un puerto externo, podemos encontrarnos con que el cliente nos ofrece la posibilidad de acceder por TeamViewer (un clásico) o cualquier otro sistema similar. He de recordar que tanto esta herramienta como otras similares son herramientas de pago si se usa para fines profesionales y no necesariamente en nuestra empresa tendremos licencias de uso de todas estas herramientas. Incluso en el caso de TeamViewer, si se llega a abusar sin licencia, las sesiones se terminan cortando con lo cual hacen que la prestación del soporte no sea la adecuada.

Dicho esto, voy a explicar una alternativa que seguramente muchos conocéis ya pero que quizás no se le ha prestado nunca la atención merecida. Por mi parte, la vengo poniendo en práctica cada vez que puedo y los resultados la verdad que son satisfactorios. Se trata de usar el llamada SSH Inverso.

Básicamente, consiste en que el cliente es el que inicia la conexión SSH y después, nosotros nos conectaremos usando esa primera conexión para acceder a la máquina final sin necesidad de que el cliente tenga que habilitarnos ningún puerto. Aquí tenéis una imagen del escenario en la que se resume todo el proceso.

SSH Inverso

Os comento el escenario particular que vengo usando yo (el de la imagen anterior), que seguramente será el más sencillo, aunque hay otras posibilidades.

Requisitos

En mi caso tengo una máquina Linux en la nube con una IP fija. Necesitaremos una máquina Linux a la que el cliente se pueda conectar. En principio, una máquina en la nube nos sirve. Dicha máquina debe tener habilitado el acceso por SSH. Vamos a suponer que dicha máquina se llama IPNUBE.

Preparativos por nuestro lado

Conectarnos nosotros a IPNUBE con las credenciales necesarias y crear un usuario de Linux para nuestro cliente. Basta ejecutar el siguiente comando (necesarios privilegios de root) y seguir las indicaciones que nos van saliendo.

> adduser cliente

Por razones de seguridad, lo siguiente que haremos será quitarle al usuario recién creado la posibilidad de iniciar sesión en nuestra máquina para ejecutar comandos. Para ello, editaremos el fichero /etc/passwd con nuestro editor favorito (requiere privilegios de root) y buscar la línea (será la última normalmente) con el usuario creado en el paso anterior. Tendremos que cambiar el final de la línea, que normalmente será /bin/bash y poner /bin/false. Guardaremos los cambios.

Comunicación con el cliente

Una vez preparado todo, debemos comunicar al cliente que debe ejecutar el siguiente comando desde la máquina a la que deseamos conectar:

> ssh -R 7777:localhost:22 cliente@IPBUNE -N -f

  • 7777: Debemos elegir un puerto libre en IPNUBE. En este caso, 7777 es el elegido.
  • 22: El puerto por defecto para acceder por SSH es el puerto 22. Ese puerto 22 debe ser el puerto a través del cual el cliente conecta localmente a la máquina usando SSH.
  • cliente: Es el nombre de usuario que hemos creado para el cliente. En este caso, lo llamamos cliente.

Debemos solicitarle al cliente las credenciales de acceso a la máquina destino (credenciales de root normalmente). El cliente, lo único que deberá hacer es ejecutar el comando comentado en la máquina Linux objetivo y proporcionarnos las credenciales de acceso. Eso es todo por su parte.

Accediendo a la máquina del cliente

Finalmente, nosotros nos conectamos por SSH a IPNUBE con nuestras credenciales y una vez dentro, ejecutamos el siguiente comando:

> ssh -p 7777 localhost

Se nos debe abrir una conexión SSH. Ahí debemos proporcionar las credenciales que nos ha proporcionado el cliente y ¡estaremos dentro de su máquina!

Limpiando

Una vez finalizada la intervención, podremos eliminar el usuario creado en IPNUBE para el soporte con el siguiente comando:

> deluser cliente

Si además, queremos desconectar la conexión abierta por cliente sin que éste haga nada, podremos localizar el proceso con el comando ps:

> ps aux

y matarlo con el siguiente comando:

> kill -9 5568

suponiendo que 5568 es el ID del proceso de la conexión SSH del cliente.

Existe una buena variedad de formas para montar un escenario en el que dar soporte a un cliente usando SSH Inverso. Aquí tan solo se ha explicado una de las formas habituales de realizar este tipo de conexiones. Desde el punto de vista del cliente, las acciones que debe realizar si optamos por este tipo de acceso remoto son mínimas y no requieren de configuraciones adicionales ni, en principio, de la instalación de ningún software extra.

Categorías Linux.