Creación en Lote de Extensiones en Elastix

Por: Paul Estrella

Trabajando las extensiones al detalle

Una funcionalidad que algunos integradores pasan por alto es la creación en lote de extensiones. Es probable que cuando tenemos una implementación de no más de 10 usuarios el proceso manual es sencillo y no necesitamos meterle mucha cabeza al tema.

Pero ¿Qué pasa cuando son 50, 100, o más extensiones? Crearlas una por una puede ser un verdadero desafío.

Para este caso es útil utilizar la creación en lote, siempre y cuando tengamos la información de usuarios a la mano.

Para esto vamos al GUI de Elastix a PBX -> Batch Configurations -> Batch of Extensions. En esta sección podemos subir un archivo CSV creado por nosotros que contenga al menos los siguientes campos:

  • Display Name: El nombre del usuario o el que queramos asignar a la extensión
  • User Extension: El número de la extensión.
  • Secret: La contraseña de la extensión
  • Tech: La tecnología, los valores son: sip o iax2, para uno de estos dos casos.

Para mi, siempre que hablan de CSV, me gusta usar una hoja de cálculo; es simple, te permite hacer miles de cosas fácil, y la puedes modificar a tu gusto. Después de probar varias opciones, la que mejor funcionó para este caso fue la hoja de cálculo de Libre Office (Open Office también debería funcionar bien).

Abrimos una hoja de cálculo y empezamos colocando cada nombre de campo en una columna diferente. Aquí tenemos que ser cuidadosos y colocar el nombre tal como se menciona en la interfaz, es decir con las mayúsculas y minúsculas en su sitio. Sino lo hacemos así el programa no entenderá que una de las columnas corresponde al campo requerido.

Como observamos en la imagen, hemos colocado 10 usuarios y sus respectivas extensiones. Como yo me estoy imaginando que me voy a poner una disquera de promoción de contenido libre, voy a firmar con esos usuarios 😀

Un dato importante es que la contraseña debe tener al menos una letra mayúscula y un número, caso contrario el programa no permitirá crear ninguna extensión. Esta es una medida de seguridad básica pero importante.

Una vez que tengamos el listado, lo guardamos como: Text CSV (.csv)

Inmediatamente obtendremos el siguiente cuadro:

Es muy importante que el delimitador de campos (Field delimiter) sea una “,”, el resto podemos dejarlo como está.

Luego vamos nuevamente a PBX -> Batch Configurations -> Batch of Extensions y hacemos clic en “Seleccionar archivo”, inmediatamente se abrirá una ventana que nos permitirá ubicar el archivo CSV que creamos.

Lo seleccionamos y hacemos clic en “Upload CSV File”.

Si todo salió bien obtendremos una leyenda como la que se muestra en la imagen anterior.

Ahora comprobemos que en realidad se crearon.

Vamos a PBX -> PBX Configuration y vemos que las 11 extensiones se crearon para nuestros 11 usuarios.

¿Eso es todo?

Si solo queremos crearlas de manera básica si, sin embargo si queremos ser más específicos, podemos descargar el archivo .csv de todas las extensiones existentes y observaremos algo adicional.

Vamos a PBX -> Batch Configurations -> Batch of Extensions, hacemos clic en “Download the current extensions in CSV format”. Inmediatamente se descargará un archivo CSV con todas las extensiones que contenga nuestra IPPBX. Mi recomendación es que lo abran desde Libre Office, y que se aseguren que cada campo se colocará en una columna diferente; esto se permite antes de abrir el archivo.

Al abrir el archivo podemos darnos cuenta que hay campos adicionales disponibles.

El listado completo es el siguiente:

Display Name
User Extension
Direct DID
Outbound CID
Call Waiting
Secret
Voicemail Status
Voicemail Password
VM Email Address
VM Pager Email Address
VM Options
VM Email Attachment
VM Play CID
VM Play Envelope
VM Delete Vmail
Context
Tech
Callgroup
Pickupgroup
Disallow
Allow
Deny
Permit
Record Incoming
Record Outgoing

Voy a enfocarme solamente en los más importantes y al final del artículo haremos una mención a información complementaria.

  • Display Name: Como mencionamos anteriormente el nombre del usuario.
  • User Extension: El número de la extensión.
  • Outbound CID: Este número sobre-escribe al caller ID cuando se realiza una llamada saliente.
  • Call Waiting: Habilita la llamada en espera.
  • Secret: La contraseña de la extensión.
  • Voicemail Status: Habilita la casilla de Voicemail.
  • Voicemail Password: La contraseña de nuestra casilla de Voicemail.
  • VM Email Address: Habilita el envío de un correo electrónico con información del Voicemail.
  • VM Email Attachment: Habilita el envío del Voicemail como adjunto al correo electrónico.
  • VM Play CID: Habilita la mención del número de quien llamó antes del mensaje, cuando se ejecute el Voicemail.
  • VM Play Envelope: Habilita la mención de la hora y la fecha antes del mensaje, cuando se ejecute el Voicemail.
  • VM Delete Vmail: Habilita que se borre el Voicemail del servidor.
  • Context: El contexto que utiliza la extensión, si no lo sabemos el valor por defecto es “from-Internal”.
  • Tech: La tecnología, los valores son: sip o iax2, para uno de estos dos casos.
  • Disallow: Deshabilita todos los codecs, de tal manera que podamos seleccionar uno específico en el siguiente campo. El valor si necesitamos especificarlo es “all”.
  • Allow: Permite habilitar un códec específico. Más adelante indicaremos como saber los valores relacionados.

Si sabemos estos específicos, y queremos crear todas nuestras extensiones con ellos, simplemente creamos un archivo colocando todas las cabeceras que ya mencionamos en el primer listado, tal como deben ser con sus mayúsculas y minúsculas. En los campos que no necesitamos nada simplemente los dejamos vacíos.

Hagamos un ejemplo.

El campo “call waiting” utiliza el valor ENABLED o DISABLED, en mayúsculas, a diferencia del campo “Voicemail Status”. Salvo ese detalle, el resto es como se muestra en las figuras anteriores.

Guardamos el archivo como Text CSV (.csv), con delimitación por coma, tal como lo hicimos la primera vez.

Como nota adicional, si queremos saber los codecs que tiene disponible nuestra IPPBX, entramos a la consola de Linux de Elastix como usuario root y luego a la consola de Asterisk. Una vez ahí escribimos: core show translation.

El comando no solo nos muestra los codecs sino el tiempo de traducción (transcoding) a los diferentes códigos instalados en microsegundos. Este valor lo calcula Asterisk en función de la capacidad de procesamiento de nuestro servidor, por lo cual es un valor variable de equipo en equipo.

Los nombres de los codecs son los que se observan en la columna izquierda y en la fila superior. Si queremos utilizar más de un codec, por ejemplo, ulaw y G.722, entonces deberíamos colocar: ulaw&g722. El orden en que los coloquemos establecerá la prioridad.

Una vez que tenemos listo el archivo, vamos nuevamente a PBX -> Batch Configurations -> Batch of Extensions y hacemos clic en “Seleccionar archivo”, ubicamos el archivo CSV que creamos, lo seleccionamos y luego hacemos clic en “Upload CSV File”.

Si todo salió bien, la interfaz nos inficará que se actualizaron 2 extensiones.

Solo como medida de verificación, vamos a PBX -> PBX Configuration e ingresamos a una de las extensiones nuevas, para ver los campos creados.

¿Esto es todo?

No, siempre hay posibilidad de ser más específico en la inclusión de los datos cuando creamos el archivo. Para eso es importante investigar más sobre cada campo y eso lo podemos hacer buscando la ayuda embebida que aparece cuando colocamos el ratón sobre uno de los campos.

Información adicional también puede ser encontrada en el proyecto FreePBX, ya que Elastix utiliza este software para varios módulos relacionados con la creación de configuraciones de PBX.

Por último, David Duffett, Community Director de Asterisk e Instructor de Elastix, ha sacado un libro muy interesante y el cual creo que es una guía práctica para toda persona que inicia en Elastix.

El libro está en Inglés, sin embargo algunos miembros del equipo Elastix, estamos trabajando ya en una traducción autorizada y que pronto verá la luz.

Mientras tanto este es el link del libro: Getting Started with Elastix

Los dejo para que le metan mano al módulo de configuraciones en lote, hasta la próxima y feliz nochebuena 😀

Comparte este artículo con tus amigos