Moving on, again

En el mes de junio de 2010 decidí dejar mi posición como Country Manager Ecuador y Chief Technology Officer de ONUVA, empresa de la que formé parte desde 2008, cuando dejé mi posición en el Centro de Cómputo de EDELCA en Caracas.

ONUVA me deja la satisfacción del trabajo cumplido y de retos superados, y quiero agradecer a todo mi equipo de trabajo en Caracas, con quienes trabajé hasta 2009 y los de Miami y Quito, así como a los socios y directores que confiaron en mi en la ejecución de estos planes, y desde luego a clientes, proveedores y asociados, incluyendo a partners de la industria como HP, IBM y Microsoft.

Cuando entré a la empresa había muchas energías en un envase chiquito, no cabían ni 5 personas en la oficina de Torre Humboldt. Gracias al esfuerzo de todos y todas, la empresa llegó a tener más de 60 personas en su equipo y se expandió a Miami, Bogotá y Quito, ofreciendo soluciones de misión crítica con software libre y estándares abiertos. En 2009 me encargué de la oficina en Ecuador, liderando y ejecutando diversos proyectos.

Dentro de los proyectos que recuerdo con cariño puedo citar, por supuesto, la distribución Canaima GNU/Linux 2.0, el cluster de correo electrónico Zimbra Collaboration Suite de PDVSA, el Laboratorio de Interoperabilidad del Complejo de Refinación de Paraguaná, la clusterización en blade del INCES, el sistema ITIL de CEMEX Venezuela, los escenarios de interop con Microsoft, la auditoría del Sistema de Contratación Pública del Ecuador, el monitor de redes de la CNT y la infraestructura VoIP de la ANP en Quito y los distintos proyectos en Estados Unidos, así como miles de usuarios finales migrados a Linux en varios clientes; tuve en todos la oportunidad de liderar al equipo hacia el éxito de sus operaciones.

Además de la experiencia y tecnologías aprendidas, queda en el equipo gente personal y profesionamente valiosa como Sandra Morocho, Máximo Terán, Julio Ortega, Christian Sánchez y Fabiola Morales, con quienes tengo muchos años trabajando y a quienes aprecio de corazón, y muchos que ya no continúan en la empresa. A todos, ¡éxitos!

Brief notes on Asterisk and Cisco SPA5xx phones

Sipura, then Linksys, then Cisco, makes beautiful SIP phones. Under the new “Cisco Small Business Pro” line, Cisco sells the SPA5xx phones, which have great interaction with an Asterisk IPBX.

There’s an official, supported method for zero-touch configuration of SPA5xx phones with Asterisk. You need, of course, access to the DHCP server, the TFTP server and the IPBX. In my case, there’s no such thing as zero-touch since my client works on a separate VLAN, which I need to manually input on the phone. Of course, I could also send the phones a bogus configuration file stating the new VLAN, they’ll reboot and voila.

Anyway, as with any Cisco phone, this configuration file is an ugly XML one, but it’s a flat-profile on SPA5xx phones, so you can use awk, grep, sed and whatever without XML parsing if you need to build yours.

Better yet, you can get a “sample” XML configuration file by calling a GET method on the embedded web server of the SPA5xx phones, say:

curl http://10.1.1.254/admin/spacfg.xml

Once you have this file, it’s just a matter of substituting the needed variables. Here’s a brief provision script which finds for #TAGS# inside a demo XML file:

EXTENSION=$1
STATIONNAME=$2
MAC=$3
SHORTNAME=$STATIONNAME
DISPLAYNAME=$STATIONNAME

sed "s/#EXTENSION#/$EXTENSION/" spacfg.xml > spa$MAC.xml
sed -i "s/#STATIONNAME#/$STATIONNAME/" spa$MAC.xml
sed -i "s/#SHORTNAME#/$SHORTNAME/" spa$MAC.xml
sed -i "s/#DISPLAYNAME#/$DISPLAYNAME/" spa$MAC.xml

using, say:

<Station_Name group="Phone/General">#STATIONNAME#</Station_Name>
<Short_Name_1_ group="Phone/Line_Key_1">#SHORTNAME#</Short_Name_1_>
<Display_Name_1_ group="Ext_1/Subscriber_Information">#DISPLAYNAME#</Display_Name_1_>
<User_ID_1_ group="Ext_1/Subscriber_Information">#EXTENSION#</User_ID_1_>

Of course, files need to be named spa$MAC.xml, be located on /var/lib/tftpboot/xml, or wherever your TFTP server desires to serve the files under an xml/ directory, or where the spa502G.cfg file says. I could remotely configure a dynamic LDAP directory, feature codes, dial plans, remote syslog and codec information using these XML files. But you can also write an static Directory using GET and POST (it’s called “Personal Directory”) automatically if you use FreePBX, see this code.

Ah, just call /admin/restart on each phone to reboot the phones. If you are now bitten by the beauty of standards-compliant, well documented SPA5xx phones, the resources under MyCiscoCommunity will be of great help. Look for the Asterisk Zero Touch Configuration Guide, the Provisioning Guide and the Admin Guide.

Este blog refleja única y exclusivamente mis opiniones, y no las de mis empleadores, las de las organizaciones de las que formo parte ni las de ninguna otra persona natural o jurídica, pública o privada, nacional o extranjera.