Búsqueda

Buscar en 
Hagamos que México crezca..

Prefiere el consumo de lo Hecho en México

Venta de Garage

Remate de algunas chunches

Venta de Garage

Posts Recientes

About Me..

Lights of my Oaxaca City

Name : Filein Rommel Leon
Birth Year : 1981
Country/City of birth : México/Oaxaca de Juárez
Live in : México City.
Mail & MSN: fileinleon [at ] gmail [dot] com
University : Instituto Tecnológico de Oaxaca
Profession : SoftwareDeveloper
Hobbies : Photography, Basketball, Movies, Books, Gadgets, Travel, Open Source, Technology.
Movies : Knight's Tale, The life is beautiful, August Rush, 7 Dias(Mexican), Matrix, The Pianist.
Songs : La chispa adecuada(Heroes del Silencio), One(U2), Somewhere over the rainbow(Israel Kamakawiwo), Chan Chan(Buena Vista Social Club), Mesecina(Goran Bregovic), Something Inside (Jonathan Rhys Meyers).
Books : The Alchemist(Paulo Cohelo), Travel to the center of the earth(Julio Verne), The Journeyer (gary Jennings), Iliada(Homero),

Visitantes


Dispositivos Móviles

Hace ya más de 5 años que he usado SuperWaba para el desarrollo de aplicaciones móviles, aunque en la actualidad no tengo algún desarrollo en producción con esta tecnología, ya que a pesar de las grandes ventajas de SuperWaba aun faltan algunas cosas que han hecho que dejé a un lado esta tecnología.

SuperWaba es un framework con licencia GPL y LGPL para desarrollo de aplicaciones móviles, SuperWaba se puede decir que está basado en Java, más no es Java como tal si no es prácticamente una máquina virtual desarrollada desde 0 ajena a Java y la cuál puede ejecutarse en Windows Mobile, Windows CE, PalmOS, Symbian OS, Windows, Linux y como Applet.

Actualmente se encuentra en su versión 5.8, aunque desde el año pasado ya habían anunciado que no continuarían más con su desarrollo ya que se avocarían a rediseñar desde cero una nueva plataforma que saldría con el nombre de TotalCross.

Hace un mes salió el primer beta de TotalCross, una plataforma que promete mucho, la cuál entre sus características es soporte para las plataformas actuales de Superwaba incluyéndole además iPhone de Apple, los BlackBerry y en un futuro Android.

La ventaja de estas tecnologías es que tienen la característica de "Escribe una vez y córrelo dónde quieras", aparte del soporte de su propia base de datos Litebase que aunque no es libre, si permite hacer consultas SQL.

TotalCross ha lanzado un beta para los socios de SuperWaba, pero no dudo que ya próximamente anuncien la versión para la comunidad de Software Libre.

Hace unos días estando en Lerdo de Tejada, Veracruz -lugar dónde hacen un arroz a la tumbada muy sabroso-, un amigo me preguntó si conocía de algunos equipos que sirvieran como repetidores inalámbricos, es decir ellos tienen una conexión de intenet de 4 mbps y la querían compartir con varios amigos que están extendidos a los largo de la población, lo que se me ocurrió comentarles rápidamente en base a mi experiencia es que adquirieran Access Points que sirvieran como bridges y que al mismo tiempo pudiera funcinar en modo AP.

Hace tiempo trabajando en una empresa conocí alguno de estos equipos y me tocó configurarlos, los llamados Wireless Switchs, los cuáles tienen Access Ports en vez de Access Points y la configuración es centralizada, estos Access Ports entre sus características es que pueden configurarseles varios ESSID, si no mal recuerdo tenían la opción de meterles hasta 4 ESSID en algunos lo que permitia hacer repetidores inalámbricos, lo malo solo era el costo pues una solución de esta no costaba en ese entonces menos de $ 1,000.00 dólares.

Por lo que una solución como la mencionada anteriormente no era viable para estos amigos que querían realizar una función plenamente con fines de entretenimiento, por lo que regresando aqui a México, D.F., saque un router WRT54G que tenía por ahí empolvándose, previamente ya le había metido el firmware de DD-WRT, la versión 0.23 que salió hace más de un par de años, pero desde entonces no había actualizado el firmware en este equipo, por lo que dándome una vuelta en el sitio de DD-WRT vi que ya tienen la versión 0.24 con su Service Pack 1, por lo que ni tardo ni perezoso la bajé para instalársela.

Antes ya había tenido conocimiento de Redes MESH y WDS(Wireless Distribution System), pero no lo había llevado a la práctica, por lo que despues de bajar la versión 0.24 de DD-WRT pude ver que el AP WRT54G en la configuración del Wireless ya permite trabajar en modo repetidor y modo bridge, por lo que quise hacer una prueba la cuál consiste en lo siguiente:

Conectar el router Linksys en modo repetidor a un Access Point 2Wire Infinitum que está en alguna parte del edificio dónde vivo.

Aqui es importante usar el mismo ESSID, Canal y llave WEP ó WPA que tiene el Access Point "padre" por así decirlo, de forma que hay que conectar el WRT54G como cualquier cliente inalámbrico con la salvedad que en la configuración hay que decirle que está trabajando en modo repeater bridge y no en modo AP o Cliente(ver figura de abajo).

Posteriormente agregar una interfaz virtual inalámbrica en el Router, esto hará que se vea un AP más al gestionar las redes inalámbricas y de ahí poder conectarnos.

Despues solo basta ir a la parte de Wireless->Wireless Security->Virtual Interfaces wl0.1 SSID [phylevn.mexrom.net] Para poder configurar la parte de seguridad de la red inalámbrica.

Ya que quede todo esto hay que guardar las configuraciones y aplicarlas.

Despues solo ir a la parte de Status y ver como está la parte inalámbrica ahí debería verse como el WRT54G se conecta en este caso al 2Wire Infinitum y también como un cliente se conecta a la interfaz virtual del WRT54G que trabaja en modo AP.

Configuración del WRT54G en modo repetidor y también configurando la interfaz virtual del WRT54G.

Agregando Interfaz vitual inalámbrica

Gestionando las conexiones realizadas por el WRT54G, en este caso ya conectado al 2Wire Infinitum y también se observa como un cliente se conectó a la red inalámbrica phylevn.mexrom.net que es la interfaz virtual del WRT54G.

Trabajando el Repetidor inalámbrico en WRT54G

Lo interesante de todo esto es que se realiza en un par de minutos, sin gastar tantos pavos que con soluciones propietarias como las de Symbol Technologies ahora Motorola.

Solo resta agradecerle a la comunidad de desarrollo de DD-WRT y al Open Source en general por permitir esto y muchas cosas más. face-smile.png

Llevo un par de meses integrando en un servidor Linux múltiples herramientas multimedia libres para la creación de un Centro Multimedia con capacidades domóticas.

Entre las que he probado y de la que hablare ahora es de Motion.

Motion Es una utilería desarrollado bajo una licencia libre que permite detectar movimientos en cámaras web usando video4linux como interfaz para conexión con Dispositivos de Video en linux tales como cámaras web.

Lo interesante de Motion es que permite usar cualquier Cámara Web compatible con Linux para hacer VideoStreaming esto indica que podemos ver la cámara web a traves de una página web, por lo que monitorear la cámara se puede hacer desde cualquier parte del mundo siempre y cuándo la computadora dónde esta conectada la cámara estuviera conectada a una IP Homolagada, pero lo mejor de Motion es que permite configurarse para que cuándo detecte movimiento capture las imágenes y las guarde en un directorio en formato Jpeg, por lo que su uso se extiende aun más para lo que es VideoVigilancia.

Por default Motion corre en modo aplicación, pero puede configurarse desde su archivo de configuración que está en /etc/motion/motion.conf para que corra en modo demonio por lo que siempre estará corriendo en background.

Motion por default abre el puerto 8000 para que desde otras partes vía una página web se pueda monitorear la cámara web siempre y cuándo la opción de webcam_localhost esté en off, el puerto también es posible configurarlo.

Algo que me llamó mucho la atención de Motion es que es muy configurable a traves de /etc/motion/motion.conf, en dónde leyendo mediante man la documentación me entero de que tiene un trigger on_event_start que permite ejecutar alguna aplicación al momento de detectar movimientos, de tal forma que aqui solo basta usar la imaginación para poder hacer algo interesante tal como es por ejemplo mendiante Asterisk alertar con una llamada telefónica a personal de seguridad de un movimiento detectado.

También algo que me agradó de TextMotion es que guarda imágenes cuándo se detecta movimiento, asi como también tiene la opción de grabar un video de cuándo se detecta el movimiento y mejor aún de mostrar el área dónde se está registrando el movimiento..

Tambien es posible configurar el número de frames necesarios parapoder considerar un evento de movimiento.

Aquí pongo la configuración que uso para usar Motion como un detector de movimiento, con esta configuración guardo videos en formato avi con el codec msmpeg en el directorio default /var/lib/motion/snapshots y también desactivo la opción de que genere archivos JPG o PNG de movimiento, configuro a Motion para que muestre el video usando una calidad de 320x240 por cuestiones de rendimiento y ejecutando al momento de que se detecte un movimiento un script en PHP que es un Agi de asterisk que me permite marcar a una extensión telefónica.

# Minimal motion example config file provided by the
# Debian motion package - for basic webcam operation.
#
# You most certainly want to investigate
# /usr/share/doc/motion/examples/motion-dist.conf.gz
# for further configuration options. Also, refer to the
# motion man page and /usr/share/doc/motion/motion_guide.html
# for detailed information on configuration options.

daemon off
quiet on

# You may very well need to change this (check with 'dmesg'
# after plugging in your webcam).
videodevice /dev/video0

# Image size in pixels (valid range is camera dependent).
#Si se tiene una cámara que soporte mayor calidad como por ejemplo 640x480 entonces cambiar los valores, por cuestiones de rendimiento he dejado los valores por default aqui
width 320
height 240

framerate 25
#calidad con que guardará las imágenes JPEG, en cuestiones de seguridad a veces es bueno darle un 100% asi  se tendrá una imagen más tínida, aunque esto requerirá mayores espacios
quality 75
auto_brightness off

# General threshold level and noise threshold
# level (for distinguishing between noise and motion).
threshold 4500
noise_level 64

# Initial brightness, contrast, hue (NTSC), and saturation.
# 0 = disabled (valid range 0-255).
brightness 0
contrast 0
saturation 0
hue 0

# Encode movies in real-time (install ffmpeg before enabling).
#default ffmpeg_cap_new off
#ffmpeg_cap_new off
#Habilitar esta opción para grabar videos cuándo haya movimiento
ffmpeg_cap_new on

# Codec to be used by ffmpeg for the video compression.
# Supported formats: mpeg4, msmpeg4.
#se configura el codec a usar
ffmpeg_video_codec msmpeg4

# Target base directory for pictures and films (you may need
# to change this (or change its permissions) depending on
# which system user runs motion).
target_dir /var/lib/motion/snapshots

# Define a port number (e.g. 8000) to enable the mini-http server.
# 0 = disabled.
webcam_port 8000

# Set to 'off' to allow anybody (not just localhost) to view the
# webcam via the mini-http server (http://hostname<img src="http://phylevn.mexrom.net/plugins/Emoticons/images/tongue.png" border="0" alt="tongue.png " width="16" height="16" />ort).
#webcam_localhost on
webcam_localhost off

webcam_quality 70
webcam_maxrate 8

#Configuracion personalizada

#Puerto para entrar a la configuracion
control_port 8001
#Usuario y password para acceder a la configuracion
control_authentication motion:m0t10n

#Numero de frames requeridos para poder lanzar el evento de movimiento
#minimum_motion_frames  10

#Comando que se ejecuta al detectarse movimiento
on_event_start  "php -q /var/lib/asterisk/agi-bin/makeCallwithAsterisk.php"

#Esta opcion siempre generaria imagenes cada cierto tiempo aunque no haya movimiento
#output_all on

#Muestra la región donde se localiza el movimiento
locate on

#muestra un texto en la esquina inferior izquierda
text_left "phylevn.mexrom.net"
#aumenta el tamano del texto
text_double on

#se asegura de que haya movimiento
roundrobin_skip 2

#desactivamos la opción de que guarde archivos de imágenes
output_normal off

#indicamos que guarde los archivos en formato NTSC para el caso de Mexico
norm 1

 

Existen otras aplicaciones para monitoreo de cámaras tales como webcam-server, pero a mi gusto Motion por mucho se lleva las palmas.

Para mis prubeas he usado una cámara web Creative Live! Cam, la cuál adquirí por $ 180 pesos en la plaza de la computación.

Para poder conectar esta cámara en Ubuntu Linux 7.10, use el driver ov51x-jpeg-1.5.9. Es posible usar la cámara también para el AMSN y otros programas que hagan uso de Video4Linux.

Hace un par de años encontré VoIPJet, un proveedor de Telefonía a traves de Internet, lo interesante de este proveedor es que ofrece su servicio usando el protocolo IAX, que es un protocolo nativo de Asterisk, el cuál IAX permite hacer las comunicaciones de Voz sobre IP de forma transparente aun estando detras de redes NAT, por lo que se volvió mi proveedor de Voz sobre IP favorito para mis implementaciones de conmutadores PBX de Voz sobre IP, aparte sus precios son bastante buenos:

https://www.voipjet.com/prices.php

Pero desafortunadamente desde hace algunos meses el servicio de Voz sobre IP con VoIPJet se restringió solo para proveedores de telefonía IP autorizados por los gobiernos locales, por lo que ya no podrá ser contratado este servicio por usuarios finales, a menos que se tenga un permiso por escrito en el caso de México por parte de la COFETEL, el cuál debe ser enviado a VoipJet para que asi activen el servicio.

Afortunadamente hay otros servicios que si son para usuarios finales, aunque sus precios no son tan bajos como los de VoipJet, pero siguen siendo bastante atractivos para ser implementados en conmutadores de Voz sobre IP.

Hace unos días estando en Oaxaca visitando a mi familia y degustando de los panes de muertos, me preguntó mi papá si podía instalarle un programa para reproducir música, esto ya que mi padre rentó la licencia del Bar "La Chinita" que allá en la Ciudad de Oaxaca está enfrente de la Tienda del Issste de la Calz. Madero, probando algunas aplicaciones como Amarok, Esperanza con XMMS2, Mplayer, Xine, XMMS, Juk, Jukx, entre otros se me hicieron demasiado complejas para poder usarlas como Rockolas, por lo que una noche caminando por la estación del ferrocarril se me ocurrió la idea de desarrollarla usando una interfaz web, una base de datos empotrable al código como sqlite, y una utilidad que reprodujera la música sin que se requiriera interfaz gráfica como lo hace XMMS2, por lo que llegando a la casa de mis padres empecé con las primeras líneas de código.

El resultado final fué el siguiente:

Screenshot Rockola (ALfabeto cervezas)

Características de la Rockola:

  • Lectura recursiva de archivos MP3 de los directorios asignados en la configuración.
  • Extracción de información de Artista, Titulo, Album y Genero de los archivos MP3 encontrados.
  • Almacenamiento de la información en la base de datos SQLite (SQLite no requiere configuración adicional)
  • Clasificación de canciones MP3 por Artista, Album ó Género.
  • Subclasificación de canciones MP3 por Alfabeto.
  • Busqueda personalizada de canciones por artista titulo, album ó género.
  • Listado de MP3 por Artista, Album ó Género.
  • Muestra información detallada de canción MP3 seleccionado.
  • Agrega MP3 a la cola de reproducción de XMMS2.
  • Limpia la cola de reproducción de canciones ya reproducidas.
  • Interfaz web.
  • Modo pantalla completa(Fullscreen) mediante Firefox y r-kiosk.
  • Componentes Ajax para clasificación de información y para todo el manejo de la interfaz.
  • Teclado virtual para busqueda personalizada de canciones.
  • Muestreo de botones de alfabeto en modo botón o imagen.

    Requerimientos:

  • Linux
  • XMMS2
  • Apache
  • PHP
  • PHP5-SQLite3
  • Extract
  • Firefox
  • Add-on R-Kiosk.

    Aquí algunos otros screenshots.

    Screenshot Rockola (Teclado Virtual)


    Screenshot Rockola (Config)

    El código fuente de lo subiré a SourceForge en cuánto me habiliten el servicio para subir el proyecto.

    Update El código puede descargarse de la siguiente URL: http://sourceforge.net/projects/rockolaweb20/

  • Este viernes 24 y sábado 25 de Octubre del 2008 estuve en el ENLi presentando un par de charlas sobre Fotografía y Telefonía de Voz sobre IP con Asterisk, el evento del ENLi fué un éxito había asistentes y ponentes de todas partes. Llegué a Puebla el día viernes, venía de Oaxaca ya que estuve ahí unos días con mi familia, por lo que salí de Oaxaca a la 1 am para llegar a Puebla a las 6 a.m, como aun me faltaba terminar mi presentación sobre Fotografía Digital en Linux, me senté en el área de comida de la CAPU(Central de Autobuses de Puebla) aprovechando que por ahí había redes wifi con internet, ya por hay de las 9 a.m. tomé un taxi para la UPAEP universidad dónde se llevó a cabo el Encuentro Nacional de Software Libre, llegando a las 9:30 me registré ya que a las 10:00 A.m. tenía un taller de J2ME al que me inscribí para saber más acerca del tema.

    Despues fué la comida de los ponentes que fué en un restaurant con un buffete de comida china bastante bueno, terminando más que satisfecho y con ganas de una siesta, pero tenía que dar una charla sobre fotografía digital en linux, la charla salió bien me falló al último la generación de un HDR con QTPFSGUI, pero los demas ejemplos con GIMP y UFRaw salieron bastante bien.

    Despues de la charla anduve vagando por la UPAEP y ya más tarde me retiré al hotel. Ya como eso de las 11:00 P.M fui para el antro Toushé dónde se llevaría acabo la fiesta del ENLi, pero al llegar lo noté muy vacío por lo que no me quedé más de 10 minutos y tomé de regreso un taxi para el hotel.

    Ya al día siguiente del día sábado me tocó dar otra charla más técnica, Telefonía de Voz sobre IP con Asterisk, por lo que me dirigí a la sala dónde tenía que presentarla, ya estando ahí coloqué todas las chunches que usaría, ATAs, Teléfonos, Router, bluetooth, Móvil, etc., a media plática se acercó el Tacvbo y pensé que haría una promoción sobre sus equipos, pero cuál fué mi sorpresa que no solo haría publicidad para la empresa en la que participa Neocenter quién patrocinó al ENLi, si no también me regaló un teléfono de Voz sobre IP Aastra 480i el cuál viendo sus características es bastante bueno, por lo que salí rayadísimo del ENLi.

    Por lo que no me queda más que agradecer a los asistentes a mis charlas, al ENLi, a los organizadores y a NeoCenter que se puso la del Puebla con el teléfono de Voz sobre IP .face-smile.png

    Aastra 480 Telefono VoIP

    Hace unos días adquirí un teléfono Nokia 3500 en plan prepago con Movistar, ya que el plan de renta que tengo con Telcel se me está haciendo cada vez más caro, lo lindo de este teléfono no solo fué su precio de apenas $ 900.00 si no también sus características como soporte de J2ME, Bluetooth, USB y en Linux es posible enviar SMS a traves de Gnokii, por lo que aprovechando estas característica me he puesto a jugar con esta chunche haciendo mis pininos con java y también unas pruebas de bluejacking que dejé pendientes que más tarde postearé aquí, pero ahora este post va relacionado con el envío de SMS usando GNokii a traves de una página con PHP mediante pipes.

    Requisitos:

  • PHP
  • Apache
  • Gnokii
  • Algún teléfono móvil, los Nokia funcionan bien con Gnokii, de preferencia USB.

    El proyecto aquí comentado puede bajarse de la siguiente url: http://files.mexrom.net
    projects / sms / sms-gnokii-001.zip
    login: invitado
    password: invitado

    Básicamente en Ubuntu Linux instalar Gnokii es simple:

    sudo apt-get install gnokii gnokii-smsd libgnokii3 libgnokii3-dev
     

    Ya teniendo listo Gnokii, en el caso del Nokia 3500 editar en modo super usuario el archivo

    sudo scite /etc/gnokiirc

    Y ahí poner lo siguiente

    [global]
    port = /dev/ttyACM0
    model = AT
    connection = serial
    debug=on
     

    Ahora solo basta poner el siguiente script en un directorio web:

    <?php
    /**
     *
     * Script para enviar SMS desde una pagina web usando PHP como lenguage script y Gnokii como interfaz de conexión entre el teléfono y la aplicación
     *
     * Desarrollado por Filein Rommel León Méndez
     * Script liberado bajo la licencia GPL
     *
     */

     
     echo siteHeader();
     $option = $_POST["status_page"];
     
     switch($option){
            case "":
                          echo showForm();
                   break;
            case "sms_sender":
                          pipes(ValidateNumber( $_POST["phone_number"]), $_POST["sms_message"]);
                   break;
     }
     
     function showForm(){
            $frontEnd =
            "<div align=center>" .
            "<form name=smssender method=post action=\"$_SERVER[PHP_SELF]\" >".
                    "<table  class=MAINFORM>".
                    "<tr> <td colspan=2 >Envia SMS</td> </tr>".
                    "<tr> <td colspan=2></td> </tr>".
                    "<tr> <td class=NAME_FIELD>Telefono:</td>  <td><input type=text name=phone_number size=70 maxlenght=16 class=TEXT_BOX></td> </tr>".
                    "<tr> <td class=NAME_FIELD>Mensaje:</td>  <td><textarea name=sms_message cols=60 rows=5 class=TEXT_AREA></textarea></td> </tr>".
                    "<tr> <td></td>  <td><input type=button name=send_message value='Enviar' onClick='javascript:document.forms[0].submit();' class=TXT_BUTTON></td> </tr>".
                    "<input type=hidden name=status_page value=\"sms_sender\" >".
                    "</table>".
            "</form>" .
            "</div>";
            return $frontEnd;            
     }
     

     
     function siteHeader(){
            $header = "<link rel=stylesheet type=text/css href=estilo.css>";
            return $header;
     }
     
     
            function pipes($number="", $message=""){
     
            if(is_numeric($number)!="" and is_string($message) and $message!=""){
                            error_reporting(E_ALL);
                    //message       
                            $echo_pipe = popen(" echo \"$message\" ", 'r');
                            //echo "'$echo_pipe'; " . gettype($echo_pipe) . "\n";
                    //gnokii       
                            $gnokii_pipe = popen("gnokii --sendsms $number -r", 'w');
                            //echo "'$gnokii_pipe'; " . gettype($gnokii_pipe) . "\n";
                    //pipes validate     
                        if ((!$echo_pipe) || (!$gnokii_pipe)) {
                                    fprintf(stderr, "One or both pipes failed.\n");
                                    return EXIT_FAILURE;
                        }
                        $bytes_read = 0;
                    //execute pipes
                        while ($buffer = fread($echo_pipe, 2096)) {
                                    fwrite($gnokii_pipe, $buffer);
                                    $bytes_read += strlen($buffer);
                        }
                    //close pipes
                        //printf("Total bytes read = %d\n", $bytes_read);
                        $status_function = 0;
                        if (pclose($echo_pipe) != 0) {
                                    fprintf(stderr, "Could not run 'echo', or other error.\n");
                                    $status_function++;
                        }
                        if (pclose($gnokii_pipe) != 0) {
                                    fprintf(stderr, "Could not run 'festival', or other error.\n");
                                    $status_function++;
                        }
                        if($status_function>=2){
                            echo sms_successful($number, $message);
                        }
                            echo sms_successful($number, $message);
                        
                    }
            }
            
            
            function sms_successful($number="", $message=""){
                   return "<div align=center>" .
                   "<table class=MAINFORM><tr class=successful><td colspan=2>Mensaje enviado exitosamente</td></tr>" .
                   "<tr><td class=name_field>Telefono: </td><td class=value_field>$number</td></tr>" .
                   "<tr><td class=name_field>Mensaje: </td><td class=value_field>$message</td></tr>" .
                   "</table>" .
                   "</div>";     
            }
            
            function ValidateNumber($number ){
                   return eregi_replace("[^0-9]", "", $number);
            }
     
    ?>
     

    De ahí solo basta ir a Firefox al directorio dónde se instaló el script para ejecutarlo:

    http://localhost/sms/

    Dar un número de teléfono y mensaje a enviar.. si todo salió bien debería enseguida verse el mensaje enviado desde la página, en el teléfono destino.

  • La semana pasada fuí a Guadalajara, Jal., a entregar un proyecto que me gustó mucho desarrollar, ya que en este proyecto que duró varios meses de desarrollo, se mezclaron varias tecnologías por lo cuál el aprendizaje y la experiencia fué grata pues el desarrollo se comenzó desde cero.

    El proyecto consistió en hacer módulos de cotizaciones, gestión de cortes de pedidos, devoluciones y generación de facturación electrónica para dispositivos móviles con PocketPC 2003 y Windows Mobile 2005, este proyecto se desarrolló como complementó a un ERP existente que hace uso la empresa Grupo Venta Internacional S.A de C.V., una empresa especializada desde 1990 en el suministro de equipo y material quirúrgico para Cirugía Plástica y Reconstructiva, Neurocirugía, Cirugía Maxilofacial, Traumatología, Otorrinolaringología y Antienvejecimiento.

    La aplicación en el dispositivo móvil permite descargar catálogos de la base de datos del ERP, a la cuál se accede vía GPRS desde algún lugar dónde haya cobertura de telefonía celular GSM/GPRS, por cuestiones de seguridad se hizo a traves de un tunel VPN, para lo cuál se implementó un servidor VPN libre por software el cuál hace la función de redireccionamiento entre la red local de la empresa y la red VPN de los móviles.

    Ya descargada la información se almacena en una base de datos SQLite versión 3 la cuál tiene un rendimiento bastante eficiente en la terminal portátil, y a partir de ahí se pueden realizar cotizaciones en modo batch, no requiriendo tener conexión GPRS con el servidor para poder generar las cotizaciones de los clientes, y así en algún momento enviar la información al servidor para que las cotizaciones generadas sean atendidas de forma inmediata por el personal de Servicio a Clientes y asi rápidamente convertirlas a órdenes para luego surtirlas.

    Otro proceso que permite realizar la terminal portátil es el corte de pedidos que básicamente es llevar un control sobre los productos pedidos por los clientes, de tal forma que es posible generar devoluciones, registrar que productos mantiene el cliente y que productos va a facturar, en el caso de facturación aquí se hace uso de facturación electrónica que está basado en el estándar legal de SAT(secretaría de Administración Tributaria) en México. De tal forma que la terminal al momento de estar facturando los productos hace una conexión a un webservice para poder extraer el sello digital en base al resultado de la cadena original y del XML generado previamente, para luego poder ser impresa la factura en una impresora portátil Zebra RW420 mediante Bluetooth.

    Lo interesante del desarrollo fué hacer las conexiones remotas y hacer que toda la información se guardara en las correspondientes tablas del ERP, ya que hay muchas dependencias en varias tablas por lo que había que llevar un control minucioso sobre los registros actualizados en el ERP. También fué interesante realizar las conexiones VPN desde un móvil a un servidor OpenVPN usando conexiones GPRS, así como también la impresión de reportes usando conexiones bluetooth.

    Detalles del desarrollo:

  • Plataforma: PocketPC 2003 & Windows Mobile 2005
  • Base de datos móvil: SQLite 3.0
  • Conexiones: GPRS, OpenVPN, Bluetooth, ActiveSync.
  • Desarrollo: C# .Net Compact Framework & OpenNet CF
  • Facturación Electrónica: XML, OpenSSL & WebService.
  • Impresión: Bluetooth.
  • Impresora:Zebra RW420
  • Terminal portátil: Symbol Motorola MC70
  • Código de barras: PDF-417

  • The last week I was in Guadalajara, Jalisco for work questions and the saturday I went to the Cathedral of Guadalajara to take any photographs, being there in the afternoon there was an event in the "Santos Degollado" Theater, the event was about of the History of the theater represented by lights and images displayed over the building..

    To display the images in the building of the theater, they turned off the lights of the whole park, then I was taking any pictures in manual mode with my camera using an exposure time lingering. I want to take a picture of the Cathedral and as I didn't have my tripod I use my glass of coffe as tripoid, the result is the following..

    Catedral de Guadalajara
    The picture was taked in raw mode, I make three photos of the original (low, medium, high exposure) and I create an HDR Image using photomatix with the three photographs.. after seeing the picture get myself attention that the stars were seen, apart the stain of blue light that this in the left part of the picture. A friend told me that is a cloud, another commented that is reflection of the Cathedral and another told me that is a stain of the lens of the camera. The curious things is that viewing the pictures without HDR process I can't see the stars and the stain.. only when I mix the Three exposure pictures..

    Remate de algunos equipos seminuevos :

    Información de contacto:

    Teléfono: 5542238407
    Correo: fileinleon en gmail punto com
    Ubicación: México DF.

    Antena Satelital HughesNet 2 Watts
    Precio : $ 8,000.00 + Gastos de Envío..
    Antena Satelital Marca Hughes Net con Modem HN7000. Antena de 98cm con Radio de 2 Watts de potencia. Modem HughesNet HN7000 con velocidad de Transmisión hasta de 500kbps de subida y 2 Mbps de bajada según el plan contratado.

    Esta antena más el modem tiene un costo de $ 8,000.00 entregado en la Ciudad de Oaxaca ó más gastos de envío en caso de que se requiera enviar a otra ciudad.

    Puedo enviar el archivo de sistema para que verifiquen la información válida del equipo.

    Esta antena en mercado libre la consiguen en $ 950.00 dlls + Gastos de Envío e Instalación cómo puede verse en el siguiente link: http://articulo.mercadolibre.com.mx/MLM-24674764-internet-satelital-hn7000s-antena-98cm-instalado-_JM

    La venta es del puro equipo satelital módem HugesNet y antena de .98cm, se requiere hacer la reactivación del equipo con un proveedor de HugesNet. Pueden verse los planes de renta del servicio de Internet en la siguiente página: http://espacioenmovimiento.com/costos.html

    Es excelente para poner un cybercafé en lugares dónde no haya Infinitum o cable y funciona muy bien para navegación web, chat msn, correo Electrónico, videoconferencias, Descarga de arhivos y música, etc.

    Nota: Solo he usado esta antena como pruebas por 1 semana y desde entonces la tengo guardada.

    Computadora de Escritorio seminueva
    Precio : $ 6,000.00
  • Monitor Compaq 19 pulgadas
  • Procesador AMD Sempron 2800+ (2.0Ghz)
  • Memoria 1.25 Gb DDR 333
  • 1 Disco duro IDE de 40 Gb
  • 1 Disco duro IDE de 60 Gb
  • Lector de DVD ROM LG 16X
  • Quemador de DVD LG 22X
  • Cámara web genius usb (640x480 px)
  • Tarjeta de TV con control remoto, entrada para audio y video externo, salida de audio, conector para antena..
  • Tarjeta de Video Nvidia 128 Mb con salida de SuperVideo para TV y DVI (Conecta tú computadora a una televisión más grande).
  • Tarjeta Genius con soporte de sonido de 5.1 canales.
  • Teclado Multimedia inalámbrico y Mouse inalámbrico con pilas recargables incluídas.
  • Tarjeta de Red Fast Ethernet 10/100 mbits.
  • Fax/Modem
  • Gabitenete ATX.
  • 5 Puertos USB, 3 frontales y 2 traseros.
  • 2 PUertos Seriales, 1 Puerto paralelo.
  • Lector de tarjetas 12 en 1 (SD, micro SD, XD Card, Compact Flash,..) empotrado al gabinete.
  • 1 Joystick de 5 botones para jugar SuperNintendo, N64, PS en la Computadora.
  • 1 Pad de 8 botones para jugar SuperNintendo, N64, PS en la Computadora.
  • Windows XP Service Pack2 y Ubuntu Linux preinstalado.
    Linksys SPA 3102 Compatible con Asterisk
    Precio : $ 850.00 Vendidos

    Caracteristicas

    1 FXS + 1 FXO + 1RJ45 (LAN) + 1RJ45 (WAN). Adaptador analógico + Gateway.

    El SPA3102 es un adaptador analógico (FXS) que rehaliza las funciones de gateway (FXO), puediendo conectarse a una línea analógica o a una extensión de una centralita. Dispone de las funcionalidades del SPA 3000 con la característica añadida de ser un router neutro (SPA 2100).

    Este dispositivo permite dirigir llamadas de la telefonía tradicional o GSM a través de un proveedor de voz sobre IP y viceversa. Con ello es posible definir que todas las llamadas locales sean encaminadas a través de la línea telefónica tradicional (FXO) y las llamadas internacionales a través de un Internet (RJ45) mediante un proveedor de voz sobre IP y así reducir el gasto telefónico de manera significativa.

    Caracterísiticas:

    • Control de volumen
    • Identificador de llamada
    • Servidow Web para administración y configuración
    • Cancelación de eco (G.165/G.168)
    • VAD y supresión de silencio
    • 2 puertos Ethernet 10/100 Mbps (RJ45) (1 LAN + 1 WAN)
    • 1 puerto FXS RJ11
    • 1 puerto FXO RJ11

    Codecs Soportados:

    • G.711 (a-law y mu-law)
    • G.726
    • G.729A
    • G.723.1

    Protocolos de Señalización Soportados:

    • SIPv2

    Dimensiones:

    • 101 mm x 101 mm x 28 mm

    Linksys PAP-2 - Compatible con Asterisk VoIP
    Precio : $ 550.00
    Llama a cualquier parte del mundo y recibe llamadas desde cualquier parte del mundo usando tú red de internet por menos de 1 peso el minuto ó llama a celulares por .20 ctv de dólar.

    En la compra te digo como configurar este equipo para que puedas hacer llamadas por internet a precios bastante bajos y también para que puedas recibir llamadas con números de diversas partes del mundo.

    El precio original de este equipo es de más de 0.00 cómo lo puedes ver en la siguiente URL:

    http://www.paguito.com/cgi-local/SoftCart.exe/online-store/scstore/p-LIK00137.html?L+scstore+jcnv1534ffee05ee+1228208288

    Solo 1 disponible

    Dispositivo que permite conectar terminales analógicos (Teléfonos convencionales domésticos) a un router ADSL o Cable, para poder realizar llamadas de Voz sobre IP contratando el servicio en un operador de VOiP. El nuevo adaptador telefónico de Linksys, combinado con una subscrición a un plan específico de servicio VoIP, convierte la conexión de Internet existente en una línea telefónica de alta calidad para realizar y recibir llamadas telefónicas. El adaptador telefónico viene equipado con dos puertos telefónicos estándares (RJ-11) y un puerto Ethernet (RJ-45). Los usuarios conectan sus teléfonos inalámbricos o fijos existentes o una máquina de fax al adaptador telefónico, y conectan el adaptador telefónico a un router o gateway a través del puerto Ethernet. Cada conector telefónico opera individualmente, con servicio telefónico y números telefónicos separados; como tener dos líneas telefónicas. Con el servicio telefónico de alta calidad se obtiene una recepción telefónica clara y conexiones de fax confiables mientras que se navega en Internet al mismo tiempo.

    Dos puertos telefónicos estándares (RJ-11) y un puerto Ethernet (RJ-45)

    Compatibilidad: con todas las características comunes de un teléfono: Llamada ID, llamada en espera, Voice mail, etc.

    Tarjeta X100P compatible con Asterisk
    Precio : $ 500.00 Vendido
    Tarjeta compatible con Asterisk. Provee un canal FXO. Compatible con los drivers Zaptel.

    Airlink 430w
    Precio : $ 400.00 Vendida
    Ruteador inalámbrico super G con capacidad de transmisión de hasta 108 Mbits compatible con el protocolo 802.11b/g. 1 Püerto Wan 4 puertos Ethernet Firmware dd-wrt 2.4 Service Pack 1 Activado.. Listo para trabajar en Modo AP con funcionalidades de un Router avanzado profesional, así como también ya viene listo para poder implementarse un WDS(Wireless Distribution System) lo que te permitira sin usar cables extender haciendo saltos tú red inalámbrica.

    Informacion sobre DD-WRT

  • http://www.dd-wrt.com/wiki/index.php/%C2%BFQu%C3%A9_es_DD-WRT%3F

    Audifonos Inalambricos
    Precio: $ 300.00
    Audifonos inalámbricos con base que transmite en la frecuencia de los 900 Mhz. Permite escuchar hasta 20 metros de la base. También permite escuchar teléfonos inalámbricos en la frecuencia de los 900 Mhz.

    Incluye cable de audio.

    Router Linksys RTP300 Precio $ 850.00
  • Incluye un puerto WAN
  • Incluye 4 puertos 10/100 LAN para conexión ethernet
  • Permite configuración de firewall, redireccionamiento de puertos, filtrado web, etc.
  • Incluye 2 Puertos FXS para conectar teléfonos a redes de Voz sobre IP.
  • Compatible con el protocolo SIP
  • Soporta Codecs G729, G711u, G711a, Ilbc, G723, GSM

    El precio de este equipo en tiendas de internet va de los $ 1,200 pesos más IVA.

    2 Teléfonos Inalámbricos GE
    Precio : $ 200.00 C/U
    Buzón de mensajes. Base con altavoz. Incluye:

    • Cable telefónico
    • Batería recargable
    • Base
    • Cable de corriente
    • Teléfono inalámbrico 2.45 Ghz
    Impresora Multifuncional HP C4180 Seminueva
    Precio : $ 1, 100.00 (Incluye cartucho nuevo de tinta a color y B/N originales) Vendida

  • Andando de ocioso por la red buscando información sobre como tomar ventaja del lente macro que trae integrado mi cámara Fujifilm S5600, para poder hacer macros más lindas, encontré algunos videos en youtube sobre fotografía.

    Macro tomada con cámara Fujifilm S5600 por el usuario de Flickr dee_777

    Estos videos se dividen en capítulos y empiezan desde lo básico que es como elegir una cámara, pasando por partes de una cámara, como sujetar una cámara, profundidad de campo, diafragma, enfoque, velocidad de obturación, etc. Lo cuál hace un video bastante interesante para ir aprendiendo sobre este delicioso arte que es la fotografía.

    Se puede comenzar aprender un poco más desde el primer capítulo en la siguiente url:

  • http://www.youtube.com/watch?v=OBOMEQdNkxY

    Muchos de esos conceptos los he ido aprendiendo paso a paso al salir con un grupo de flickeros de DFlickr, aunque sin duda el video puede ayudarte mucho a conocer sobre el mundo de la fotografía, creo que la mejor forma de aprender es tomar tú cámara, salir a la calle e ir experimentando, obviamente no debes salir solo pues con la inseguridad que reina este pais, ja creo que no tomarías más de 10 fotos antes de llamar la atención de un amante de lo ajeno.

  • Hace unas semanas atras escribi un post sobre un video donde unos chicos holandeses hacen lo que se llama bluehacking desde un telefono bluetooth a otros telefonos con esta tecnologia, que no es mas que enviar mensajes y/o archivos a dispositivos bluetooth en un rango de distancia cercano.

    Diente Azul..!

    A ese post alguien me paso informacion sobre una herramienta de software libre llamada bluezSpammer que permite hacer lo mismo pero desde una computadora mediante Linux, un dispositivo bluetooth y herramientas de software libre haciendo uso del protocolo Obex en especifico ObexPush y ObexFTp.

    Leyendo mas en la pagina que me enviaron encontre informacion explicada de una manera facil sobre la arquitectura de la tecnologia BlueTooth, asi como la explicacion del stack del protocolo, la definicion de las clases de perfiles de servicio, entre otros temas que son bastante interesantes y que hacen facil la compresion del stack bluetooth.

    La especificacion del protocolo puede leerse en la siguiente pagina:

    http://gospel.endorasoft.es/bluetooth/especificacion-bluetooth/arquitectura-de-protocolo/index.html

    El documento es muy interesante y vale la pena darle un ojo, se aprendera mucho sobre bluetooth y mas aun sobre las herramientas de Linux para conexiones bluetooth.

    Hace unos días platicando con un amigo sobre soluciones de servidores multimedia me puse a investigar de alguna solución que pudiera satisfacer estas necesidades que pudieran ser para uso personal o incluso aplicarse en otros campos, por lo que investigando me encontré LinuxMCE el cuál es un proyecto desarrollado para implementar Centros Multimedia y Automatización de Casas.

    LinuxMCE permite hacer una integración con varios componentes de software y hardware para realizar todo esto, tal como dispositivos de video, audio, voz sobre ip, controles remotos, cámaras, relevadores, luces, dvd, vcrs, tv satelital, intercomunicadores, soporte de videoconferencias, etc.

    LinuxMCE también tiene una integración interesante con diversos controladores remotos, desde controles vía infrarrojo, bluetooth como el Wii remote, vía ethernet, wifi e incluso a traves de una página web puede monitorearse y controlarse el sistema de LinuxMCE.

    Una de las principales funciones de LinuxMCE es funcionar como servidor de Audio y Video, lo cuál permite enviar Audio y video a uno o más dispositivos de TV, Estereos ó computadoras. De tal forma que es posible tener un catálogo integrado dentro de LinuxMCE dónde se pueden seleccionar los videos, audio a reproducir en los dispositivos.

    LinuxMCE también permite realizar videoconferencias, llamadas a través de servidores de voz sobre ip, correo de voz y de video, redigir llamadas telefónicas, asi como también enlazar porteros con telefonía celular para siempre estar atentos a quién llega a tocar a la puerta de la casa estando nosotros desde algún lugar remoto.

    LinuxMCE también permite controlar el encendido y apagado de las luces de la casa, reproducir música y video automáticamente, controlar otros aspectos desde controles remotos o desde el mismo teléfono móvil.

    Lo mejor de todo es que LinuxMCE corre desde una PC y su implementación no es tan complicada, aunque eso si requiere de otros componentes para poder explotarse al máximo la alta tecnología que provee Linux Media Center and Home Automation.

    Aquí un video de LinuxMCE que funciona como servidor multimedia.

    Documentándome un poco sobre cosas interesantes que se pueden hacer con Asterisk encontré un video dónde muestran como mover una cámara desde un teléfono que está conectado a Asterisk.

    En ese video se puede observar que cuándo el usuario presiona algunas teclas, la cámara se va moviendo de un lado para otro..

    ¿ Cómo funciona ? Primeramente se tiene un conmutador telefónico implementado con Asterisk PBX. Al servidor de Asterisk está conectado vía una interfaz rs232 una interfaz que mandándole ciertas señalizaciones por el puerto rs232 puede girar, tal como lo pudiera hacer un relevador. Remotamente un teléfono podría entraral conmutador y marcar a una extensión que este enlazada a un AGI, el agi recibiría los comando DMTF y dependiendo de la tecla pulsada en el teléfono manda las señalizaciones a una aplicación que bien pudiera ser escrita en C que sirva de interfaz con el dispositivo serial y así poder mover remotamente la cámara a traves de un canal de telefonía.

    Esto y muchas cosas más se pueden ir haciendo con asterisk, solo basta imaginar cosas para dar soluciones reales.

    Ayer en la noche estuve configurando un conmutador de Voz sobre IP con Asterisk para instalar un servicio de Telefonía IP a traves de una red satelital en la comunidad de Santo Domingo Cacalotepec allá en la Sierra Norte de Oaxaca ya que por la lejanía de la población y la orografía del estado se encuentra marginada, por lo que en la actualidad está incomunicada, motivo por lo cuál nació la idea de un familiar de meter internet satelital y a traves de esa conexión meter telefonía IP, por lo que se me ocurrió usar para este caso Asterisk, combinando el protocolo IAX2, junto con el codec G729 , dispositivos SIP y tecnología jitterbuffer, que juntos pueden lograr una eficiente comunicación VoIP a traves de las complicadas transmisiones redes satelitales.

    Por lo que aproveché para actualizar un how to de como configurar Asterisk y FreePBX y aquí posteándolo ahora.

    Este versión de how-to trabaja con las versiones 1.4.21 de Asterisk, así como también con la versión 2.4.0 de FreePBX.

    #<li>Procedimiento para Instalar Asterisk VoIP en Ubuntu Server

    #<li> Servidor:                    Ubuntu 7.10
    #<li> Conmutador de VoIP:    Asterisk asterisk-1.4.21
    #<li> Admninistrador Web :    FreePBX 2.4.0

    #<li>Editar /etc/apt/sources.list y activar los siguientes repositorios
    sudo editor /etc/apt/sources.list

    #<li>descomentar, guardar y actualizar
     deb http://us.archive.ubuntu.com/ubuntu/ gutsy universe
     deb-src http://us.archive.ubuntu.com/ubuntu/ gutsy universe
     
     
     sudo apt-get update

    #<li>   1 Instalar librerias para acceso via SSH
    sudo apt-get install openssl libssl-dev ssh

    #<li>   2 librerías de compilación de software, sirve para compilar Asterisk
    sudo apt-get install gcc make g++

    #<li>   3 verificar que versiones de kernel tengo instalado en el servidor
    uname -a

    #<li>   el comando me regresa algo como esto
        Linux MexRom 2.6.22-14-generic #1 SMP Sun Oct 14 23:05:12 GMT 2007 i686 GNU/Linu

    #<li>   4       Buscar las fuentes del kernel con las versiones instaladas en el server  2.6.17
    apt-cache search 2.6.22-14-generic

    #<li>   5        Instalamos los encabezados para el kernel 2.6.17 especificos para el procesador (linux-headers-2.6.17-10-generic , linux-source-2.6.17 , linux-image-2.6.17-10-generic )
     sudo apt-get install  linux-headers-2.6.22-14-generic linux-source-2.6.22 linux-image-2.6.22-14-generic

    #<li>   6       Instalamos algunas utilerias de linux, Lynx es un navegador web de texto, nmap es sniffer depuertos, emacs es un editor de textos potente aunque puedes usar editor instalado ya en Ubuntu y sencillo de usar
    sudo apt-get install nmap lynx emacs21

    #<li>   7       Festival son paquetes para el manejo de texto a voz en diversos Idiomas, y funcionará con asterisk para hacer aplicaciones de texto a voz
    sudo apt-get install festival festival-dev

    #<li>   8       Librerias para poder usar la consola de asterisk
    sudo apt-get install ncurses-base ncurses-bin ncurses-term libncurses5 libncursesw5 libncurses5-dev libncursesw5-dev

    #<li>   9       Librerias de compresion de Asterisk
    sudo apt-get install zlib1g zlib1g-dev

    #<li>   10      librerias requeridas por el Servicio Web de FreePBX
    sudo apt-get install bison bison-doc

    #<li>   11      librerias requeridas por el servicio web de FreePBX
    sudo apt-get install libxml2 libxml2-dev

    #<li>   12      librerias requeridas por el servicio web de FreePBX
    sudo apt-get install libtiff4 libtiff4-dev

    #<li>   13      librerias requeridas por el servicio web de FreePBX
    sudo apt-get install libasound2 libgsm1 libltdl3 libpq4 libspeex1 libsqlite0 libtonezone1 libaudiofile0 libaudiofile-dev

    #<li>     14       En caso que se vaya a usar una tarjeta sangoma, se requiere instalar flex para que funcione el driver wanpipe
    sudo apt-get install flex

    #<li>   15      Librerias requeridas por Asterisk para el manejo de ayuda y de extraccion de archivos del CVS
    sudo apt-get install subversion curl doxygen

    #<li>   16      librerias requeridas por el servicio web de FreePBX
    sudo apt-get install libnet-telnet-perl mime-construct libipc-signal-perl libmime-types-perl libproc-waitstat-perl

    #<li>   17      Servidor web para FreePBX
    sudo apt-get install apache2

    #<li>   18      Librerias requeridas por el servicio web de FreePBX
    sudo apt-get install php5 php5-cli php5-mysql php-pear libapache2-mod-php5 php5-curl php5-gd php-db

    #<li>   19      Base de datos para el CDR y FreePBX
    sudo apt-get install mysql-client-5.0 mysql-server-5.0 libmysqlclient15-dev

    #<li>   despues de instalar MySQL probablemente nos pedira una configuracion como la siguiente
       2. Configurar como Internet Site
       3. localhost.localdomain
             
            
    **************        
             2da Parte.. Compilacion e Instalacion de Asterisk 1.4 + FreePBX
       
    ************         

    #<li>   20 creamos un repositorio local para almacenar los archivos fuente de asterisk
    mkdir ~/asterisk
    cd asterisk

    #<li>   Comenzamos a obtener los archivos y los almacenamos en el directorio creado requeridos para Asterisk

    #<li>   21       Obtenemos el Gateway entre freepbx y asterisk
    wget http://www.cpan.org/modules/by-category/25_Bundles/Asterisk/asterisk-perl-0.10.tar.gz

    #<li>   22      Librerias para el manejo de archivos de sonido con asterisk
    wget http://internap.dl.sourceforge.net/sourceforge/sox/sox-14.0.1.tar.gz

    wget http://easynews.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz

    #<li>   23      Obtenemos los paquetes para el administrador web de FreePBX, podemos aqui instalar la version 2.3 de FreePBX la mas actualizada que es compatible con Asterisk 1.4 y seguir con el mismo procedimiento
    wget http://mirror.freepbx.org/freepbx-2.4.0.tar.gz

    #<li>   24      Obtenemos los archivos para Asterisk 1.4, ir al directorio http://asterisk.org/downloads y descargar los archivos de la version 1.4

    wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.4.21.tar.gz

    wget http://downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz

    wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz

    wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4-current.tar.gz

    wget http://downloads.digium.com/pub/telephony/sounds/asterisk-core-sounds-es-gsm-current.tar.gz
    wget http://downloads.digium.com/pub/telephony/sounds/asterisk-core-sounds-en-gsm-current.tar.gz
    wget http://downloads.digium.com/pub/telephony/sounds/asterisk-extra-sounds-en-gsm-current.tar.gz
    wget http://downloads.digium.com/pub/telephony/sounds/asterisk-moh-freeplay-gsm.tar.gz

    #<li>   25 Instalamos el Editor de Sonidos de Asterisk
            cd /usr/src/
            sudo tar -xvzf ~/asterisk/lame-3.97.tar.gz
            cd lame-3.97
            sudo ./configure --prefix=/usr --sysconfdir=/etc
            sudo make && sudo make install

    #<li>   26 Instalamos SOX, utileria para manejar los archivos de sonidos en Asterisk
            cd /usr/src/
            sudo  ~/asterisk/sox-14.0.1.tar.gz
            cd sox-14.0.1
            sudo ./configure
            sudo make && sudo make install

    #<li>   27 Instalamos el gateway entre Asterisk y FreePBX
            cd /usr/src/
            sudo tar -xzvf ~/asterisk/asterisk-perl-0.10.tar.gz
            cd asterisk-perl-0.10
            sudo perl Makefile.PL
            sudo make all
            sudo make install

    #<li>   28 Instalamos FreeBX el Administrador Web de Asterisk, aqui podemos tambien instalar la version 2.2.1 en vez de la 2.1.1
            cd /usr/src
            sudo tar -xzvf ~/asterisk/freepbx-2.4.0.tar.gz       
            cd freepbx-2.4.0/     

    #<li>    Comenzamos a instalar la Base de Datos para el Administrador Web FreePBX y para los CDR.
    #<li>    Iniciacilizacion de la implementacion de Bases de Datos en Mysql para Asterisk
    #<li>   Accedemos a MySQL si no han configurado su password de root mysql, solo presionar Enter

    mysql -u root -p
       ENTER
       show databases;
       use mysql ;
       show tables;
       select * from user;

    #<li>   Creamos las bases de datos  para FreePBX y para el CDR, cambiamos los password de root y creamos un usuario para Asterisk
       update user set password = password("PaSsWoRd") where user = "root";
       create database asteriskcdrdb;
       create database asterisk;
       grant all privileges on asteriskcdrdb.* to asterisk@localhost identified by "4st3r1sk";
       grant all privileges on asterisk.* to asterisk@localhost identified by "4st3r1sk";
       flush privileges;
       exit

    #<li>   Pasamos el esquema y la informacion de los scripts de bases de datos por default de FreePBX
            mysql -u asterisk -p4st3r1sk asterisk < /usr/src/freepbx-2.4.0/SQL/newinstall.sql
            mysql -u asterisk -p4st3r1sk asteriskcdrdb < /usr/src/freepbx-2.4.0/SQL/cdr_mysql_table.sql

    #<li>   Termina la implementacion de Bases de Datos en Mysql para Asterisk

    #<li>   29      creacion del usuario y grupo que manejara los procesos de asterisk
    sudo groupadd asterisk
    sudo useradd -c "PBX asterisk" -d /var/lib/asterisk -g asterisk asterisk
    sudo mkdir /var/run/asterisk
    sudo chown asterisk:asterisk /var/run/asterisk

    #<li>   30      Cambiamo el usuario propietario de Apache ,para guardar presionar ctrl+x ctrl+s, para salir ctr+x, ctr+c
    sudo emacs /etc/group
    www-data:x:33:asterisk

    #<li>   ejecutamos el comando find para ubicar el archivo de configuracion de apache
      find /etc/apache2/ -type f | xargs grep Group

    #<li>   31      editamos el archivo de apache
      sudo emacs /etc/apache2/apache2.conf

    #<li>en emacs para buscar, presionar Ctrl+s y  cambiar de www-data a asterisk
      User www-data
      Group www-data
    #<li>   por
      User asterisk
      Group asterisk
    #<li>   guardamos para guardar es presionar ctrl+x ctrl+s, para salir ctr+x, ctr+c

    #<li>   32      cambiamos los permisos para el directorio de sesiones de PHP
      sudo chown -R asterisk /var/lib/php5

    #<li>   33      edicion de php para aumentar el tama?o de archivos que se suben al servidor web
      sudo emacs /etc/php5/apache2/php.ini
           upload_max_filesize = 32M
           max_execution_time=300
           max_input_time=300
           
    #<li>   34      creamos un directorio para la instalacion de los paquetes de Asterisk
      sudo mkdir /usr/src/asterisk
      cd /usr/src/asterisk 

    #<li>  35       libreria o drivers para tarjetas line PRI en caso de que se usen tarjetas de ese tipo
        sudo tar -xzvf ~/asterisk/libpri-1.4-current.tar.gz   

    #<li>  36       librerias o drivers para tarjetas ZAPTEL  en caso de que se usen tarjetas digium
       sudo tar -xzvf ~/asterisk/zaptel-1.4-current.tar.gz

    #<li>   37      El PBX Asterisk
       sudo tar -xzvf ~/asterisk/asterisk-1.4.21.tar.gz         

    #<li>   38      utilerias de asterisk(cdr, rep music on hold. etc)
       sudo tar -xzvf ~/asterisk/asterisk-addons-1.4-current.tar.gz

    #<li>   39      archivos de IVR por default
        sudo mkdir sounds
        cd sounds
        sudo tar -xzvf ~/asterisk/asterisk-core-sounds-en-gsm-current.tar.gz
        sudo tar -xzvf ~/asterisk/asterisk-moh-freeplay-gsm.tar.gz
        sudo tar -xzvf /home/mexrom/asterisk/asterisk-extra-sounds-en-gsm-current.tar.gz

    #<li>   40      Iniciamos la compilacion de las librerias PRI (aunque no se usaran)
       cd /usr/src/asterisk/libpri-1.4.4/
       sudo make & sudo make install

    #<li>   41      Compilamos las librerias de zaptel
       cd /usr/src/asterisk/zaptel-1.4.11/
       sudo make clean
       sudo make &&  sudo make install

    #<li>   42      compilacion de Asterisk
       cd /usr/src/asterisk/asterisk-1.4.21
       sudo make clean
       sudo ./configure
       sudo make &&  sudo make install
       sudo make samples &&  sudo make progdocs

    #<li>   43      compilacion de Utilerias de Asterisk
       cd /usr/src/asterisk/asterisk-addons-1.4.7
       sudo ./configure
       sudo make && sudo make install
       sudo make samples

    #descontinuado
    ##<li>   44     Instalacion de los archivos de sonido de Asterisk
    #   cd /usr/src/asterisk/asterisk-sounds-1.2.1
    #   sudo make &&  sudo make install

    #<li>    45   reiniciamos el servidor web apache
            sudo /etc/init.d/apache2 restart

    #<li>     46    Antes de instalar FreePBX creamos el directorio de asterisk en /var/run
            sudo mkdir /var/run/asterisk

    #<li>      47    Editamos el archivo de configuraci?n de Asterisk
            sudo emacs /etc/asterisk/asterisk.conf
    #<li>   Y editamos la siguiente línea para que quede de la siguiente forma
            RUNASTERISK=/var/run/asterisk

    #<li>   48      asignamos los permisos
            sudo chown -R asterisk:asterisk /var/run/asterisk

    #<li>    49     continuamos con la instalacion de FreePBX
               cd /usr/src/freepbx-2.4.0/
               sudo pear install db
            #en caso de que no se pueda hacer la instalación automática de pear-db, descargar el paquete e instalarlo manualmente sudo pear install db.17.0.0.tgz
              
               sudo mkdir /var/www/cgi-bin
               sudo chown asterisk:asterisk /var/www/cgi-bin
    #<li> Ejecutamos el script de asterisk antes de instalar freepbx
    ./start_asterisk start

    #<li>Ejecutamos el script de instalacion y configuracion de asterisk, si existe una configuracion previa de FreePBX, eliminar el archivo en/etc/amportal.conf
    sudo ./install_amp

    #<li>La instalacion de Asterisk pedira los siguientes valores
    Enter your USERNAME to connect to the 'asterisk' database:
     [] asterisk
    Enter your PASSWORD to connect to the 'asterisk' database:
     [] 4st3r1sk
    Enter the hostname of the 'asterisk' database:
     [localhost] localhost
    Enter a USERNAME to connect to the Asterisk Manager interface:
     [admin] asterisk
    Enter a PASSWORD to connect to the Asterisk Manager interface:
     [amp111] 4st3r1sk
    Enter the path to use for your AMP web root:
     []
    /var/www/asterisk
    Enter the IP ADDRESS or hostname used to access the AMP web-admin:
     [xx.xx.xx.xx] 192.168.1.4
    Enter a PASSWORD to perform call transfers with the Flash Operator Panel:
     [passw0rd] 4st3r1sk
    Use simple Extensions [extensions] admin or separate Devices and Users [deviceanduser]?
     [extensions] extensions
    Enter directory in which to store AMP executable scripts:
     []
    /var/lib/asterisk/bin
    Enter directory in which to store super-user scripts:
     []
    /usr/sbin
    /etc/amportal.conf writtenAssuming new install, --install-moh added to command line
    OK
    Reading /etc/amportal.conf..OK
    Checking for /etc/asterisk/asterisk.conf..OK
    Reading /etc/asterisk/asterisk.conf..OK
    Using asterisk as PBX Engine
    Checking for Asterisk version..Checking for selinux..OK
    Connecting to database..OK
    Checking current version of AMP..2.3.0beta1
    Installing new FreePBX files..OK (328 files copied, 0 skipped)
    Configuring install for your environment..OK
    Setting permissions on files..OK
    Checking for upgrades..0 found
    Checking framework.. already at 2.3.0beta1.0
    Checking core.. already at 2.3.0beta1.2
    Generating AMP configs..
    Generating Configurations.conf, (if Asterisk is not running, you will get an error
    In case of error, start Asterisk and hit the red bar in the GUI to generate the Configuraions.conf files

    Checking for PEAR DB..OK
    Checking for PEAR Console::Getopt..OK
    Running module install.php and install.sql scripts
    Checking for /etc/amportal.conf..OK
    Reading /etc/amportal.conf..OK
    Reading /etc/asterisk/asterisk.conf..OK
    Connecting to database..OK
    Connecting to Asterisk manager interface..Mon, 02 Jul 2007 02:02:25 -0500 - Unable to connect to manager 127.0.0.1:5038 (111): Connection refused
    FAILED
    [FATAL] Cannot connect to manager interface
    Generating AMP configs..OK
    Restarting Flash Operator Panel..op_server.pl: no process killed
    OK
    Please update your modules and reload Asterisk by visiting http://192.168.1.4/asterisk/

    ***************
    * Note: It's possible that if you click the red 'Update Now' bar BEFORE *
    * updating your modules, your machine will start dropping calls. Ensure *
    * that all modules are up to date BEFORE YOU CLICK THE RED BAR. As long *
    * as this is observed, your machine will be fully functional whilst the *
    * upgrade is in progress.                                               *
    *****************
    #<li>Probablemente la primera vez envie un error como este [FATAL] Cannot connect to manager interface,debido que aun no se ha ejecutado Asterisk para que escuche en el pueto de AMI

    #<li>    si marcara otro error ./installamp revisar usuarios de base de datos, librerías de php y de mysql, reiniciar apache y peardb, php-db
    #<li>    en caso de que tuviera un error al ejecutar FreePBX para reconfigurarlo previamente elimine el archivo de configuracion en /etc/amportal.conf

    Despues de que se haya instalado freepbx, creamos un enlace dinámico en el directorio root del servidor web, esto para que se pueda ver el panel desde el menú de freepbx en nuetro conmutador
            cd /var/www
            sudo ln -s /var/www/asterisk/panel panel

    #<li>   49 creamos la carpeta donde se almacenaran los sonidos del IVR y configuramos los permisos para el directorio de Asterisk
              sudo mkdir /var/lib/asterisk/sounds/custom
              sudo chown -R asterisk:asterisk /var/lib/asterisk/
              
    #<li>   Editamos el siguiente archivo /etc/amportal y cambiamos la siguiente linea AUTHTYPE=none a database, esto para que pida autenticación de administración de usuarios
            sudo emacs /etc/amportal.conf
            AUTHTYPE=database
           
            #guardamos y ejecutamos el siguiente comando
            sudo /usr/src/freepbx-2.4.0/apply_conf.sh

    #<li>   ejecutamos amportal
            sudo amportal start

    #<li> Si al ejecutar amportal enviara un error parecido  "error: Bad fd number", entonces editamos el archivo /usr/sbin/safe_asterisk y cambiamos la primera linea de /bin/sh a /bin/bash
    #<li> Si al ejecutar amportal enviara un error parecido  "/op_server.pl: not found", entonces editamos el archivo /var/www/asterisk/safe_opserver   y cambiamos la primera linea de #!/usr/bin/env sh a #!/usr/bin/env bash

    #<li>   verificamos que efectivamente se haya ejecutado correctamente y deberiamos ver algo parecido
            ps aux

            asterisk  2380  0.0  0.1   3852   724 pts/1    S    16:53   0:00 /bin/bash /usr/sbin/safe_asterisk -U asterisk -G asterisk
            asterisk  2387  0.0  1.8  19376  8388 pts/1    Sl   16:53   0:00 /usr/sbin/asterisk -f -U asterisk -G asterisk -vvvg -c
            asterisk  2419  0.0  0.1   1756   500 pts/1    S    16:53   0:00 sh /var/www/asterisk/panel/safe_opserver
            asterisk  2420  0.1  1.8  11076  8356 pts/1    S    16:53   0:00 /usr/bin/perl -w /var/www/asterisk/panel/op_server.pl

    #<li>Editamos el siguiente archivo y modificamos la siguiente línea
            sudo emacs /etc/default/asterisk
            RUNASTERISK=yes

    #<li>   Abrir en un navegador de preferencia Firefox la direccion del servidor Asterisk por ejemplo que el servidor corra en una IP 192.168.1.4
            http://192.168.1.4/asterisk/

    #<li>Introducimos el login y password configurado:
    asterisk
    4st3r1sk

    #<li>Ahora tenemos habilitado El conmutador de Voz Sobre IP Asterisk
    #<li>Y el administrador Web de Asterisk FreePBX.

    #<li>Descargar modulos de administracion de Asterisk.
     

    Hace unos días investigando como instalar un proxy sobre un WRT54G con el firmware cambiado a dd-wrt, entré a la página de www.mini-itx.com y le pasé la liga a un amigo que estaba en el chat, y minutos más tarde me comentó que había visto en la URL el motherboard mini TX VIA EPIA PX, el cuál me pareció bastante interesante por sus caracterpisticas de hardware, ya que a pesar de su tamaño tenía caracteristicas similares a las de una PC.

    Entre sus propiedades podría mencionar las siguientes:

  • Tiene un procesador de 1 Ghz
  • Soporte para un zócalo de memoria D