SFLphone, Soft Phone para Linux

Estoy haciendo pruebas con varios Soft Phone para linux. Al principio intenté con la opción de una cuenta SIP que trae el mismo Empathy, pero no es funcional, carece de los númeritos necesarios para cuando navegas en los menús del sistema de buzón de voz.

Hasta ahorita el que más me ha convencido es SFLphone, es simple y muy sencillo de configurar.

SFLPhone

Entre las muchas opciones con las que viene incluido tiene dos puntos a su favor que me hacen preferirlo:

  • Soporta el protocolo IAX2.
  • Y tiene una buena integración con PulseAudio , el servidor de sonido de Ubuntu.

Recibiendo una llamada

Para una lista completa de las opciones que tiene pueden visitar la página de Features. SFL Phone esta amparado por la licencia GNU GPL v3.

¿Ustedes conocen algún otro que valga la pena probar?

Como configurar un SPA922 para un conmutador Elastix

linksys spa922

El proyecto del conmutador Elastix va viento en popa. Me acaban de llegar los teléfonos Linksys SPA922 y son una chulada.

Escribo esto como una guía de como configurarlos, de hecho se parece mucho a la configuración del SPA3102, pero vámonos por partes.

Configurar una extensión en el servidor elastix.

Configurar la extensión

Lo primero es dar de alta la extensión en el servidor Elastix, no voy a dar muchos detalles al respecto porque lo mejor es leer los dos libros que recomiendo en este artículo Construyendo un conmutador telefónico con Elastix.

Lo más importante de este paso es dar de alta una extensión SIP , su número y la contraseña (aquí le llaman Secret ).

Conectar el teléfono y conseguir su dirección IP

Conectar el teléfono no tiene mayor ciencia, puse el cable ethernet en el puerto llamado WAN y lo conecté a la energía electrica.

Teléfono SPA922Conexiones de red

Una vez que arranca el teléfono presionamos el botón de Configuración (tiene forma de hoja de papel) para tener acceso al menú.

Botón de configuración

Navegamos hasta el menú 9 Network, por default el aparatito esta configurado par obtener su dirección IP de un servidor DHCP.

IP Asignada por el DHCP

Más abajo podemos ver la dirección IP, en mi caso fue 192.168.0.128

Con esa dirección abrimos un navegador y veremos la página inicial de bienvenida del dispositivo.

Pagina inicial

Configurar el SPA922

Ahora si, llegó el momento chucu chucu…

Hacemos clic en Admin login y luego en Advanced y vamos a la pestaña SIP.

Vamos a la sección RTP Parameters, y modificamos el valor RTP Packet Size a 0.020

RTP Packet Size

Ahora vamos a la pestaña Ext 1 y localizamos la sección Proxy and Registration.

Registro del SPA922

Ajustamos los siguiente valores:

Proxy :  Aquí ponemos la dirección IP de nuestro servidor elastix.
Use outbound proxy: no
Register: yes
Register expires: 300
Make call without reg: yes
Ans call without reg: yes
En la sección Suscriber Information:
User ID: El número de la extensión que configuramos
Password: La contraseña de la extensión ( secret en elastix )
Use Auth ID: no
En la sección Dial Plan (un poco más abajo):
Dial Plan: (x.|*x.|x.)
dial plan

Presionamos el botón que dice Submit All Changes que esta al final de la página y hacemos “changuitos”.

Comprobando la extensión

Ahora vamos a revisar si todo esta correcto, nuevamente presionamos el botón de configuración y navegamos hasta el menú 11 Status y de ahí a Ext1

Dispositivo registrado

Como pueden ver en la imagen dice Registered eso quiere decir que ingresó correctamente a nuestro servidor Elastix, el nombre de usuario y contraseña fueron correctos.

Además pueden ver un relojito en cuenta regresiva, ese valor lo ajustamos en Register Expires, establecí un valor corto de 300 segundos (o 5 minutos) porque estoy haciendo pruebas con el equipo, pero probablemente cuando estén instalados aumente ese valor a cada hora ( 3600 ).

Claro que no hay mejor prueba que hacer y recibir llamadas 😛

Recibiendo una llamada

Configurar el horario de verano

Estos teléfonos muestran un reloj en la pantalla y con los cambios en el horario de verano es normal que muestren la hora incorrectamente. He probado muchas cosas pero esta es la que mejor me ha funcionado.

Primero debemos de establecer un servidor NTP, primero entramos a la página de configuración de nuestro teléfono y ya saben Admin Login  y Advanced (ambos en la esquina superior derecha). Luego vamos a la pestaña System y establecemos un valor para Primary NTP Server. Yo uso un servidor local, pero también pueden usar la hora oficial de méxico cronos.cenam.mx y presionan el botón Submit All Changes.

Primary NTP Server
Le indicamos al teléfono un servidor de hora.

Luego vamos a la pestaña Regional en la sección de Miscellaneous y revisamos que el Time Zone sea el correcto . También agregamos esta regla en donde dice Daylight Saving Time Rule.

start=4/1/7/2:0:0;end=10/-1/7/2:0:0;save=1
Daylight Saving Time Rule

En la mayoría de México, el horario de verano empieza el primer domingo de abril y termina el último domingo de octubre. La regla ayuda a ajustar el reloj quitando y agregando una hora en esos días.

Aclaro que esta es la configuración más básica, el dispositivo tiene muchas más opciones, pero con esto es más que suficiente para iniciar a utilizar los equipos.

Construyendo un conmutador telefónico con Elastix

Hace como tres semanas tuvimos un desagradable incidente en el trabajo. La noche anterior hubo una fuerte tormenta eléctrica en la Comarca Lagunera y al llegar a la oficina tuve el “agradable” recibimiento de un conmutador telefónico agonizante.

Dos de sus módulos se fueron al cielo de los conmutadores y los que quedaban resultaban inútiles sin los otros.

Después del estupor inicial y de comunicar a la empresa con teléfonos inalámbricos tenía que volver a echar a andar el conmutador.

Plan A

Llamé a la empresa en Monterrey que nos vendió e instaló el conmutador y nos mando las cotizaciones para ver las opciones. Como es un aparato ya algo “viejito” se podría reemplazar las piezas con unas usadas con la aclaración de que no tendría garantía, lo que, según su cotización saldría en unos 4,000 USD. O ya de plano comprar todo un equipo nuevo, lo que subiría el costo a unos 6,000 USD poco más, poco menos.

Plan B

Conseguir las piezas por internet, que afortunadamente si se pudo y nos vamos a ahorrar una gran suma, aunque van a tardar un poco en llegar.

Pensandolo con calma me pude dar cuenta de lo costoso que pueden ser estos equipos, lo exclusivos de los aparatos y si algo se descompone tienes que depender de un tercero.

Tiempo atras había leído varios articulos de mi amigo El Cánibal sobre servidores que ejecutaban asterisk y voz sobre ip, pero como no se me había tenido la necesidad no tenía idea de como montar uno.

Después de una llamada con él usando skype junté la suficiente información como para hacer un servidorcito de pruebas.

Receta para un servidor elastix de pruebas.

Manuales

No se puede ir a la guerra sin fusil, y en este caso me armé de dos excelentes documentos. Elastix with out tears de Ben Sharif y Elastix a ritmo de merengue de Alfio Muñoz.

Ambos documentos se complementan, los consultaba constantemente y son mi primer fuente de consulta ante cualquier duda.

Software

Por recomendación de Oscar aka El Cánibal, descargué Elastix, una distribución de software libre basada en Cent OS que incluye programas como Asterisk, Hylafax, Openfire, Postfix, vTigerCRM y SugarCRM.

Estos programas en conjunto permiten dar servicios de: • Voz sobre IP con funciones de PBX • Fax • Mensajería Instantánea • Email • Colaboración

Como no tenía una computadora disponible instalé elastix en una computadora con VirtualBox, le puse una configuración mínima de 384 MB en RAM y 8 GB de espacio en el disco duro, la tarjeta de red la configuré en modo Bridge para que quedara dentro de mi misma subred.

Como telefonos de software bajé Xten lite para windows y en linux hice pruebas con Empathy, este último recibe las llamadas pero queda un poco corto en otras funciones.

Hardware

Tengo un par de Linksys SPA3102 que había utilizado en un experimento anterior. Estos aparatitos son una maravilla !!!, se configuran mediante una página web y tienen dos puertos uno FXO (Line) y otro FXS (Phone).

Uno lo configuré como extensión conectándolo al puerto que dice Phone (FXS), este fue el má sencillo de configurar siguiendo la guía SPA3102 and FreePBX HOWTO.

Extensión con un SPA3102

El otro lo puse como troncal conectando una línea telefónica al puerto Line (FXO), este aparatito es el que se encarga de ser el intermediario entre la línea (en este caso de Axtel) y el servidor Elastix.

Este no fue tan sencillo de configurar, literalmente me sacó canas verdes y un día de leer tutoriales y manuales.

En los primeros intentos logré que salieran las llamadas, pero para recibir no se podía, simplemente no le pasaba la estafeta a la extensión que programé.

Fue hasta que dí con este tutorial How to setup a Linksys SPA-3102 or Sipura SPA-3000 with FreePBX (ya no funciona este enlace, en su lugar pueden probar How to Configure SPA3102 as SIP Trunk on Elastix ) y releerlo en más de una ocasión que pude hacer que funcionara.

SPA3102 configurado como troncal

Al final mi instalación quedó de la siguiente manera:

Diagrama de conexiones del conmutador elastix

Planes futuros

Todo este trabajo fue para montar un servidor de pruebas, el siguiente paso es instalar todo en un equipo real.

Sustituiré el SPA3102 que esta como troncal con una tarjeta Openvox A400P con capacidad de 4 líneas telefónicas.

Como todas las partes del conmutador son “genéricas” espero que en el caso de una falla poder conseguir fácilmente las refacciones. Además su sistema de respaldos es genial, con un par de clics hice una copia de mi configuración para poder regresar a ella si hacía algo mal.

Todavía me falta conseguir teléfonos IP y adaptadores ATA (para poder conectarle maquinas de FAX o teléfonos normales). El problema es que hay una enorme variedad de modelos de estos aparatos, estoy buscando entre equipos Grandstream, Linksys, Cisco, pero si ustedes saben de uno que cumpla con el sello de calidad mexicano de las 3 B, se los agradecería mucho.

Como ven este artículo no es una guía de instalación, apenas si rasca un poco sobre la superficie del amplio tema de conmutadores que usan software libre, sin embargo, espero que sea un buen punto de partida.