Hagamos que México crezca..

Prefiere el consumo de lo Hecho en México

Visitantes








Conversación

  • Samantha Santin: ola me pueden ayudar con lo basico para un examen de linux , estoy en 10 mo de basica , por favor , gracias  
  • alexandra: hola...tengo problemas para configurar las llamadas y crear los troncales....uso elastix 2.0.3 con asterisk 1.6...y soy nueva en esto..puedo relizar llamadas dentro de una misma oficina, pero no puedo sacarlas fuera, es decir locales e internacionales...necesito asesoria...gracias  
  • Ben: Welcome to visit www.vogue4biz.com and www.seekjersey.com! Wholesale Jordan Shoes and NFL/NHL jerseys!New Arrival ! Free Shipping !
    Consequently, a Avirex jacket variety evolved into winner fashion4biz already in the market, mainly with their variety of air travel puma shoes women jackets which in turn for the most part mimics those of journey outdoor jackets put on around WWII. Due to its results, Avirex make have in addition enhanced by jackets to other common attire outlines including t shirts, hoodies, along with jeans.
    A great number of completely new attire lines also gained plenty of celebrity inside entertainment world. To its captivating pattern in addition to level of quality attire, Avirex includes received its own head connected with celebrity followers which include: Ruben Travolta, Will certainly Henderson, Puffy Hair combs, Chad Good ole', Shaquille O'Neal, Busta Rhymes,, puma shoes ladies Sylvester Stallone, Missy Elliott, Eminem, Nas, All 5, Procedure Guy,, Make Nubian, Lmost all Awesome L, David Cena, as well as Georgio Armani. Start off your individual from suppliers avirex company by www.vogue4biz.com
    Avirex regarding todayIn women s puma shoes 2008, this Avirex make has been bought in 3 entire ladies puma shoes suede puma shoes world districts, United states of america, European countries puma shoe sale along with The japanese. A brand new owner of Avirex brand in the us cat puma shoes can be Draw Ecko Corporation. According to a lot of people, each one districts possess their own libraries regarding Avirex garments range. Not really a pair of parts get identical types associated with outfits. His or her just likeness is with their particular usage of brand.
    Even puma ladies shoes so, the availability associated with flight handling outdoor jackets were quit afterwards that year. In line with Mark, all of Avirex printed government and timeless apparel had been discontinued along with used a new Clymans firm, Cockpit U . s .. Start out your own from suppliers avirex company by Sevenwholesale.com.  
  • Fernando Hernández: Hey! Ya no estan disponibles los posts sobre facturación electrónica en México, podrías pasarme el tutorial o la clase en php? Por favoooor. Gracias  
  • daniel nuñez: buenas soy de venezuela y tengo una duda yo lo que quiero es hacer una iso debian que tenga todos los paquetes necesarios completos y programas como synaptis fortran java los pluging de video y sonido ya instalados osea que tenga todo lo necesario instalado pero sin que sea una instalacion con un cd netinst, es posible ?  
  • Cesar villegas: Buenas!!! oye no tienes programado algún curso?  
  • Urbano: Hola soy de Argentina.
    Desde hace un tiempo tengo instaldo Asterbilling SL y me parece un rpoyecto útil e interesante. Ahora me compré un AT 530 con la intension de pasar la tarifa al telefono pero seguramente algo estoy haciendo mal ya que despues de configurar el script con los datos del AMI; MySQL y ejecutar el comando que indica el manual.. no pasa nada, todo sigue igual y no se muestra la tarifa en la pantalla del telefono. Tal vez deba configurar algo tambien en el telefono.. la verdad no se, es que tampoco soy un experto en la materia. Les dejo algunos datos que talvez sean utilespara que me puedan ayudar: Tengo Elastíx 2.0.3 con Asterisk 1.6; FreePBX 2.7.0.3; A2Billing 1.8.1; Astercc 1.4 y Asterbilling SL. Espero que me puedan ayudar; desde ya muchas gracias.  
  • kike: Oye filein.. necesito una cotización de unas FxO para analógicas porfa..
    saludos  
  • cristy: hola por favor tengo problemas para conectar agi con asterisk me sale un error de broken pipe, sabes de que se trata???  
  • Jose: Heyu como podria funcionar con el CM15?
    Gracias  

Escribe el código Captcha que estás viendo

Trabajo y Proyectos

  • Como implementar un AGI con PHP en un conmutador de VoIP sobre Asterisk

    Un par de años atras desarrollé una aplicación para la empresa de un conocido que se integró a un conmutador de Voz sobre IP para poder dar mayor atención a sus clientes . Esta aplicación permitía dar información telefónica hablada de forma automática a diversos clientes, cuándo ellos llamaban a una de las líneas del conmutador había una opción dentro del IVR(Interactive Voice Response) que los llevaba a una extensión dónde tenía configurada la aplicación, esta aplicación permitía recibir el ID del cliente y darle información de sus pedidos, envíos, facturas, y de la información de saldos todo esto lo podía hacer el cliente solo usando su teléfono.
    Esta aplicación lo que hacía era pedir la información del cliente a traves del teléfono y luego esa información digitada por el cliente, era consultada en una base de datos de MySQL, y regresaba la información de forma hablada usando Festival usando la tecnología que se le conoce como Text to Speech.
    El uso de los AGIs me permitió implementar esta funcionalidad dentro del conmutador de Voz sobre IP y tener una interacción oral entre el cliente y el conmutador de Voz sobre IO, explico todo esto ya que hace unos días me llegó un correo dónde me preguntaba un amigo como implementar un AGI en Asterisk por lo que a continuación pongo un How To en base al procedimiento que use hace un par de años y que ahora puede ser que haya quedado obsoleto.
    Antes de usar este How To, también es recomendable darle un ojo al How To que puse de como configurar Festival para usarlo con Asterisk

    http://phylevn.mexrom.net/index.php/blog/show/_Como_configurar_Festival_en_Asterisk_.html

    Aunque el uso de AGIs se puede implementar en cualquier lenguaje de programación que funcione sobre linux, he preferido usar PHP en este caso.
    También el desarrollo de los AGIs puede ser manual, es decir usando las interfaces de entrada, salida y depuración definidas por al API de asterisk, aunque esto no es recomendable por el hecho simple que puede ser más tardado programarlo, por lo que recomiendo una clase PHPAGI que ya lleva algunos años de desarrollo y que puede obtenerse la última versión desde la siguiente URL, la cuál contiene un sin fin de funciones bastante prácticas.
    http://phpagi.sourceforge.net/
    De ahí he descargado los siguientes archivos:
    phpagi-2.14.tgz       34851      5128      Platform-Independent      .gz
    phpagi-examples-2.14.tgz     670707     3601     Platform-Independent     .gz
    phpagi-2.14.tgz este archivo contiene todos los métodos de la clase PHPAGI para echar andar los AGis con Asterisk
    phpagi-examples-2.14.tgz Este archivo contiene ejemplos para usar la clase PHPAGI
    Despues de la descarga de los archivos descomprimir las librerías dentro del directorio de agi-bin de Asterisk
    cd /var/lib/asterisk/agi-bin
    phylevn@linuxmovil:/var/lib/asterisk/agi-bin$
    #Descomprimir  el archivo de phpagi-2.14.tgz
    phylevn@linuxmovil$ sudo tar -xzvf ~/asterisk/phpagi-2.14.tgz
    #renombrar el directorio generado
    phylevn@linuxmovil$ sudo mv phpagi-2.14 phpagi
    #Crear un archivo .php dónde implementemos un AGI demo
    sudo emacs demoagi.php
    #Dentro este archivo añadimos lo siguiente:
     
    //*****************
    #!/usr/bin/php -q
    <?php
    //llamamos a las librerías de phpagi
     require("phpagi/phpagi.php");
    //activamos la bandera de enviar todo lo que se realice a consola como modo depuracion
     error_reporting(E_ALL);
    //creamos una instancia de la clase AGI
    $agi = new AGI();
    //generamos el comando Answer de Asterisk, este comando siempre lo ejecutamos al inicio de un AGI
    $agi->answer();
    //Este demo consultará información en una base de datos y regresará la información de forma hablada por lo que generamos una conexion a la base de datos de sql
    $conexion = mysql_connect("localhost","pruebas","pruebas") or die("Error: El servidor no puede conectar con la base de datos");
    //Referenciamos el cursor a la base de datos
    mysql_select_db("pruebas",$conexion);
     
    //obtenemos el caller id de quién realiza la llamada
    $_cid = $agi->parse_callerid();
    //enviamos un mensaje de voz por medio de festival que está configurado en idioma espanol
    $agi->text2wav("Hola, Tu número es {$_cid['name']}.");
     do {
    //enviamos otro mensaje para que introduzca un código de producto seguido por # o 999# para salir
           $agi->text2wav('Cual es la clave del producto  ?  Presiona la tecla gato despues de introducir la clave del producto.  Presiona 999 seguido de la tecla gato para salir.');
    //enviamos un beep y esperamos 20 segundos en la espera de una respuesta
      $_result = $agi->get_data('beep', 3000, 20);
    //obtenemos la información introducida desde el telefono
      $keys = $_result['result'];
    //si introdujo un valor el cliente entonces creamos el string la consulta sql y la ejecutamos
      if($keys!=""){
        $query = "select descripcion, precio from productos where clave_producto=\"$keys\" ";
        $_result = mysql_query($query, $conexion);
        //verificamos si existe un resultado
        if($_re = mysql_fetch_array($_result)) {
           //Regresamos de forma hablada la informacion encontrada
            $agi->text2wav("El producto es $_re[description], y su precio $_re[price]");
        }else{
           //de lo contrario enviamos un mensaje de que el producto no pudo ser encontrado
           $agi->text2wav("El producto no pudo ser encontrado en nuesta base de datos");
       }
      }
     
    } while($keys != '999');
     $agi->text2wav('Goodbye');
    //al finalizar el script del AGI siempre es recomendable ejecutar esta función para no dejar el canal abierto.
     $agi->hangup();
    ?>
    //
    *****************
     
    #Despues de agregar lo anterior guardamos el archivo demoagi.php
    #le damos permisos de ejecucion
    sudo chmod +x demoagi.php
    #Creamos el archivo phpagi.conf en el directorio de archivos de configuración de Asterisk.
    sudo emacs /etc/asterisk/phpagi.conf
    #Y en ese archivo introducimos lo siguiente
    [festival]
    text2wave=/usr/bin/text2wave
    tempdir=/var/lib/asterisk/sounds/tmp/
    #ojo solo verificar la ruta de instalacion de text2wave, con whereis text2wave sabremos su directorio
    # si no se encuentra el directorio /var/lib/asterisk/sounds/tmp/,  creamos el directorio, y le asignamos el usuario de ejecución del pbx de asterisk
    #Despues de guardar los cambios al archivo editado anteriormente, creamos una extension dentro del archivo extensions_custom.conf en el directorio de configuración Asterisk
    sudo emacs /etc/asterisk/extensions_custom.conf
    #y agregamos algo como esto
    [custom-agiphp]
    exten=>101,1,Answer
    exten=>101,2,agi(demoagi.php)
    exten=>101,3,Hangup
    #guardamos el archivo y reiniciamos asterisk, este modo de reinicio es pensando que tenemos FreePBX instalado.
    sudo amportal restart
    #Si tenemos instalado FreePBX en nuestro servidor de Voz sobre IP, esto también se puede configurar en la parte de configuración de extensión para Aplicaciones.
    #Despues de que Asterisk haya inicializado, solo desde alguna extensión marcamos la extensión 101 y podremos notar que nuestra aplicación comienza a funcionar.
     
    El uso de los AGIs también se puede implementar con la librería comercial de LumenVox para poder incorporar la tecnología de reconocimiento de voz, por lo que la comunicación entre nuestra aplicación y el usuario sería completamente Oral.
  • ArgoUML una herramienta de diseño UML

    A mediados del 2005 cuándo empezaba un desarrollo más o menos grande necesité de una herramienta para llevar el diseño del sistema que estaba desarrollando, en ese tiempo buscado y buscando encontré un sin fin de herramientas muchas de ellas propietarias de las cuáles en un principio por su facilidad empecé a usar Case Studio, la comencé a usar en modo demo, recuerdo que por esos días estaba usando Windows ya que era con lo que contaba en la empresa dónde trabajaba, por lo que seguí usando Case Studio, pero un mes despues tuve la oportunidad de adquirir mi propia laptop por lo que al adquirirla y recien desempacada lo primero que hice fué particionar el disco duro para instalarle una de las versiones de Ubuntu que empezaba a ponerse de moda.
    El desarrollo era web por lo que hacía uso de WAMP, por lo que no tenía ningún problema en continuar con el desarrollo en mi lap pero ahora con Linux, por lo que la versión de Case Studio no me serviría más, ya que solo funcionaba para Windows, por lo que buscando nuevamente otra herramienta de diseño UML, pude hallar Umbrello, una herramienta de software libre para hacer diagramas de caso, casos de uso, de estado, secuencia y hasta poder hacer la estructura de la base de datos y poder generar el código SQL, bastante decente por lo que en un principio me decidí por usar esta herramienta, pero semanas despues navegando en internet pude hallar ArgoUML una herramienta desarrollada en Java y de código libre, que soporta mucha de las características de UML 2.0 por lo cuál me resulto bastante práctica para llevar el control del diseño de la aplicación a nivel base de datos, así como también a nivel de casos de uso, diagramas de estado, y clases, aparte ArgoUML entre sus características es multiplataforma por lo que puede ejecutarse tanto en Windows o Linux.
    ArgoUML puede descargarse desde el siguiente sitio:
  • http://argouml.tigris.org/

    Aunque hay otras herramientas propietarias bastante profesionales como Rational Rose, pero creo que para algo básico ArgoUML puede ser un candidato bastante interesante.
  • Mejorando el "boton magico" de Microsoft® Response Point™ PBX usando Asterisk PBX

    Microsoft lanzó apenas hace unos meses un conjunto de aplicaciones enfocadas a lo que se denomina Mensajería Unificada algo que ya venía haciendo Asterisk PBX desde hace tiempo.
    El concepto de mensajería unificada corresponde a tener diferentes medios de comunicación por asi llamarlos almacenados y controlados desde un solo medio de administración, hablando por ejemplo de Asterisk podemos controlar correos electrónicos, correos de voz y video, faxes, videoconferencias, Telefonía Celular y SMS, porteros, etc., desde Asterisk usando diversos gateways y teniendo un conjunto de aplicaciones trabajando alrededor de Asterisk para que toda esta información pueda ser accedida desde diversos dispositivos como telefonos, faxes, camaras, PDAs, celulares, sitios webs, etc.
    Una de las características principales de Microsoft Response Point y que Microsoft ha remarcado es algo llamado "Blue Button", el cuál permite gestionar el directorio de contactos a traves de la tecnología de reconocimiento de voz, lo que permitiría buscar contactos y marcarles usando solo la voz.
    Esto parecería novedoso, pero es algo que Asterisk aunque no lo implementa directamente, pero si es posible desarrollarlo a traves de una librería de terceros propiedad de Lumen Vox, el cuál es un conjunto de librerías propietarias la cuál permite integrarse dentro de Asterisk y hacer la función de reconocimiento de Voz en varios idiomas entre ellos el español, el cuál con el kit de desarrollo que podemos adquirir a partir de $ 50.0 dlls, con el cuál no solo podríamos implementar el famosísimo "blue button" de Microsoft Response Point , el cuál nos permitiría buscar o listar contactos mediante voz, si no que usando las librerías de LumenVox también nos permitiría desarrollar un sin fin de aplicaciones tales como transferir llamadas, parkear llamadas, enviar SMS, buscar información en bases de datos a traves de comandos de voz, tal como lo hiciera una aplicación web pero en este caso nuestro dispositivo de entrada no sería el teclado si no la voz, entre otras cosas que se podrían crear alrededor de Asterisk gracias a la interfaz que se creo para comunicarse con Asterisk y enviarle diversos comandos a traves de cualquier lenguaje de programación, pudiéndose auxiliarnos también a traves de AGIs con lo que la potencialidad de el reconocimiento de voz en Asterisk es muy grande.
  • ¿ Qué es reconocimiento de Voz ?
    http://www.lumenvox.com/resources/tips/tipsWhatIs01.aspx
  • SPT1846 de Symbol Technologies ya tiene sustituto con Janam XP30 aqui en Mexico

    Symbol Technologies hace algunos años desarrolló una terminal portátil que incluía PalmOS con capacidad de lectura de código de barras, en su primera versión que era completamente batch(Procesamiento local bajo previo recibo de datos y posterior envío de información) la cuál salió bajo el modelo SPT1550 el cuál incluía una versión monocromática de PalmOS 3.5 y con conexión de datos a traves de un puerto serial, posteriormente desarrollo la SPT1746 con PalmOS 3.5 y la tecnología propietaria de Symbol Technologies llamada Spectrum24(pre 802.11b) a 2 mb de transmisión inalámbrica, para luego sacar su versión SPT1846 con PalmOS 4.1 y agregando el soporte de el estándar 802.11b (transmisión de datos a 11 mbits ).
    Esta terminal la SPT1846 se hizo muy famosa en el mercado mundial, ya que Windows CE aún no era tan eficiente ya que las versiones de Windows CE 2.0 comparadas con PalmOS 4.1 eran lentas por lo que PalmOS se llevaba por mucho la preferencia de las empresas.
    Por lo que en las empresas se empezaron a desarrollar cantidad de módulos de sus ERP bajo la plataforma de PalmOS y apuntadas hacia las SPT1846 de Symbol Technologies, pero años despues Windows CE y PocketPC recuperaron mucha fuerza y absorbieron el mercado de los dispositivos móviles por lo que Symbol Technologies dejó de dar soporte a PalmOS y anunció que dejaría de producir estos equipos y desarrollar sus terminales bajo la plataforma de Windows Mobile y Windows CE. Por lo que aquí en México no se hizo esperar la reacción de los clientes de Symbol Technologies que ya tenían sus proyectos comprometidos bajo la plataforma de PalmOS, algunos que contaban con el know-how suficiente para el desarrollo de aplicaciones móviles no tardaron en migrar sus aplicaciones a Windows CE 4.X(MC9060) ó Windows Mobile 2002(PPT8146), pero ese fué el caso de la minoría, otras decidieron esperar hasta que el tiempo los alcanzará, cosa que no tardo mucho cuándo se sintieron presionadas ya que no había en el mercado dispositivos PalmOS con soporte de lectura de código de barras y conexión inalámbrica de uso rudo como las Palms SPT1846.
    Afortunadamente Janam una empresa que se dedica también a la fabricación de equipos de captura de datos para uso industrial sacó su versión mejorada de PalmOS para uso rudo, la XP-20 y XP-30, la cuál se puede decir que mejoró la versión de PalmOS de la SPT1846 de Symbol Technologies, ya que ahora ofrece una versión más actual de PalmOS denominada Garnet 5.4 si no que también mejoró la lectura de código de barras soportando códigos de 1 dimensión y de 2 dimensiones(Ejem PDF-417), aparte que ahora no solo es monocromática si no que también ya hay una versión a color, con soporte de bluetooth y lectura de SD Cards, y con sellado IP54(Norma de seguridad).
    Esta terminal no solo fué una solución al problema que tenían algunos clientes con respecto a la escasez de terminales portátiles SPT1846, si no que también les permitió ampliar la capacidad de sus aplicaciones como soporte de impresión vía bluetooth, soporte de almacenamiento de datos vía una SD Card y compatibilidad con las aplicaciones que tenían desarrolladas.
  • iFon de TabletMedia ¿ Un fraude ?

    Hace más de un año adquirí en el sitio de TabletMedia un cliente de VoIP llamado iFon para dispositivos móviles con Windows Mobile.
    Este cliente de VoIP llamado iFon por lo que pude ver en su sitio "tiene" caracteristicas interesantes comparados a otros clientes de VoIP para PDAs, una de las cosas más importante es que soporta videoconferencias usando las cámaras de las PDAs a través del protocolo SIP usando codecs H.263, H.261 y MPEG-4 , por lo que es compatible con Asterisk, aparte que ya trae integrado el codec comercial G729A, por lo que resultó muy interesante para mi adquirir este cliente y hacer pruebas con un conmutador de Voz sobre IP que tengo trabajando con Asterisk 1.4 para ver como se comportaba el uso de videoconferencias a traves de internet usando VoIP y dispositivos móviles, ya que usando el soporte de VideoConferencia de Asterisk con clientes para PC como Ekiga en Linux funciona bastante bien.
    Despues de ver la lista de compatibilidad de dispositivos móviles con cámaras incluídas en http://tabletmedia.com/compatibility.htm pues no lo pensé más e hice la compra del cliente iFon.
    Despues de hacer la compra y adquirir el cliente de iFon me dispuse a probarlo, pero sorpresa! el cliente comprado no soporta VideoConferencia, puesto que solo la versión iFon OEM trae el soporte de videoconferencia más no la versión de iFon Mobile que fué la que adquirí.
    Por lo que le envío un correo a la gente de TabletMedia informándoles de porqué en el sitio web en especial en el apartado de iFon Mobile si indican que soporta VideoConferencia?, por lo que solo me responden que lamentan la confusión que tuve, pero ellos claramente ponen que la versión iFon Mobile no soporta videoconferencia solo la versión de iFon OEM, así que no hay nada que hacer, más que olvidarme de mis $ 60 dlls.


    Esto realmente me decepcionó, ya que para poder adquirir la versión OEM necesito ser fabricante y adquirir cierto número de licencias, cosa que no me es posible, aparte que no he encontrado en la página de internet de los fabricantes alguna versión de iFon que pueda comprar con el soporte de VideoConferencia.
    De tal forma que tuve que pagar $ 60 dlls por una cliente de VOIP que pude descargar gratuitamente con una versión de SJPhone para mi PDA, la cuál se puede descargar desde su sitio web en http://www.sjlabs.com de forma gratuita, claro con la restricción de que SJPhone no soporta el codec G729, pero SJPhone si es compatible con el protocolo SIP, aparte que también tenía la opción del SoftPhone para VoIP de OpenWengo la cuál aparte de ser gratuita y software libre funciona bastante bien con Asterisk.
    Ni modos.. despues de todo esto hasta en internet hay que intentar ver siempre las letras chiquitas.. :S
  • Resolviendo "No Such Host Is Know" en Dispositivos Móviles con Windows CE 4.1

    Hace poco más de medio año desarrollé una aplicación para un cliente quehabía adquirido terminales portátiles Symbol MC9060G con Windows CE 4.1.
    Algo de historia sobre la aplicación:
    La aplicación básicamente lo que hace es leer un código de barras de doble dimensión PDF417 y separar los campos de acuerdo a las necesidades del usuario para almacenarlos en una base de datos dentro de la terminal portátil, despues al final de la captura la terminal envía un archivo de texto plano con la información de forma inalámbrica( WiFi 802.11b) a un servidor FTP para luego el ERP de la empresa importe la información a la base de datos de MS SQL Server.
    En ese tiempo la aplicación funcionó correctamente y envíaba la información al servidor FTP, pero hace unos días me llamó el cliente informándome que la terminal ya no enviaba la información al servidor como antes lo hacía y que la excepción que le puse a la conexión desde programación le regresaba el mensaje "No Such Host Is Know".
    Este mensaje indicaque la terminal no encuentra el host del servidor FTP, lo curioso es que la terminal si tenía conexión inalámbrica incluso se podía hacer ping al servidor vía IP y por HostName, pero por alguna razón desde la aplicación no resolvia ni el nombre del servidor, ni asignando en la configuración de la aplicación la Dirección IP directa del servidor tampoco lograba resolverla.
    Lo curioso es que este error me lo mandaba asignando el nombre del servidor o la IP del servidor FTP que está dentro del mismo segmento de la terminal portátil, pero si le asignaba la IP o nombre de dominio de un servidor FTP en internet todo funcionaba a la perfección.
    Por lo que imaginé que algo paso en la configuración de la red delcliente en los últimos meses, como pudo haber sido un cambio del servidor WINS o DNS para la red local el añadir un firewall o algo así, motivo por el cuál la terminal no lograba resolver el hostname del servidor en la red local.
    Como no quería buscar culpables ni mucho menos pelearme con su configuración de red, quise darle la vuelta y buscarle por el lado de la terminal.
    Para probar hice una pequeña aplicación en C# para saber cuál era el problema usando el método System.Net.Dns.Resolve, la cuál me permite resolver un nombre de dominio ó IP, pero también seguía teniendo problemas y me aventaba la excepción "No Such Host Is Know".
    Investigando más encontré este blog:
    http://windowsmobilepro.blogspot.com/2006/04/etchosts-file-equivalent-in-windows.html
    El cuál mencionaba que Windows CE resolvía los nombres de dominio por medio de DNS ó un WIns en caso de redes locales. Propiamente Windows CE o Pocket PC no tienen un archivos de host como en Windows o Linux(/etc/hosts), pero mencionaban que esto podría hacerse mediante la configuración del registro de Windows CE, en este caso no lo hice de esta manera ya que no tengo instalado aqui en mi máquina Embedded C++ 4.0 que es un entorno de desarrollo para móviles de Microsoft y el cuál contiene una utilería para extraer o monitorear el registro de Windows CE y despues modificarlo.
    En este caso en el blog también menciona de la existencia una aplicación gratuita llamada "Pocket Hosts" que hace lo mismo de configurar a mano el nombre del host y la direccción IP en el registro de Windows de Pocket PC para que se pueda resolver sin ningun problema las conexiones TCP/IP.
    Sin dudarlo bajé la aplicación que ademas es gratuita de la siguiente url
  • http://www.zimac.de/cestuff.htm
    Al instalar el .cab e iniciar la aplicación de Pocket Host solo basta dar el nombre el host y la dirección IP para luego activar en la lista la configuración creada.
  • Con esta aplicación realmente útil pude resolver mi problema de "No Such Host Is Know" que me puso en jaque media tarde para poder darle una solución al cliente, ya que asignando la IP o el Nombre del Host en la configuración de mi aplicación pude enviar sin ningún problema de forma inalámbrica la información de la captura de la terminal portátil al servidor FTP en el segmento de la red local.
    Lo que hace la aplicación de "Pocket Host" básicamente es dar de alta dentro del registro de windows de Windows CE el host configurado de la singuiente manera:
    HKEY_LOCAL_MACHINE\Comm\Tcpip\Hosts\mexrom
    "ipaddr"=hex:C0 A8 01 B0
    Dónde C0 A8 01 B0 es la dirección del Host configurado en formato hexadecimal.
  • Instalando aplicaciones para Familiar Linux en una iPaq RX3715

    Una de las cosas que hacen más agradable a Familiar Linux la distribución de Linux para dispositivos móviles es que permite instalar alrededor de 23,000 aplicaciones diversas para PDAs, en especial para Familiar Linux con procesadores Arm.
    Pero algo muy interesante es que permite hacer las instalaciones al estilo Debian ó Ubuntu, si recuerdan instalar aplicaciones en Debian es muy fácil usando apt-get, en el caso de Familiar Linux existe el comando ipkg, el cuál de igual forma que apt-get se conecta a un repositorio de paquetes y desde ahí comienza.
    Pero si lo que desean es buscar un paquete ue por alguna razón no estuviera dentro de los repositorios, pueden buscar los paquetes desde la siguiente url:
  • http://ipkgfind.handhelds.org/
    Si ya activaron el wifi en su PDA, solo bastaría hacer un wget del archivo-version.ipk en cuestión y despues solo un ipkg install archivo-version.ipk.
    También podrían encontrar un listado de más aplicaciones para la versión .0.8.4 de Familiar Linux en la siguiente URL
  • http://familiar.handhelds.org/releases/v0.8.4/feed/base/
    Por ejemplo podrías intentar cambiar los repositorios que trae por default Familiar Linux para la versión de iPaq RX3715 a los repositorios oficiales para le versión .0.8.4.
    Para hacer esto tienes que editar el archivo /etc/ipkg.conf usando el editor vi desde la consola.

    vi /etc/ipkg.conf
    Para activar la edición presiona las teclas [Shift+I]
    Borra todas las lineas que comiencen con
    src/gz
    Y pega en el archivo las siguientes:
    src/gz base http://familiar.handhelds.org/releases/v0.8.4/feed/
    src/gz perl http://familiar.handhelds.org/releases/v0.8.4/feed/perl/
    src/gz x11 http://familiar.handhelds.org/releases/v0.8.4/feed/x11/
    src/gz common http://familiar.handhelds.org/releases/v0.8.4/feed/common/
    src/gz opie http://familiar.handhelds.org/releases/v0.8.4/feed/opie/
    src/gz updates http://familiar.handhelds.org/releases/v0.8.4/feed/updates/
    Cuándo termines de copiar esas lineas al archivo de /etc/ipkg.conf presiona la tecla : y luego intrroduce wq y presiona enter.
    despues actualiza los repositorios

    ipkg update
    Con esto ya tendras todo el listado de aplicaciones disponibles para descarga e instalacion
    Ahora por ejemplo si quieres instalar perl en tú PDA con Linux ejecuta la siguiente instrucción en la consola

    ipkg list | grep perl
    Con este comando te aparecerían todas los paquetes relacionados con perl, solo ubica el que quieres e instálalo.
    Algo interesante de ipkg es que te permite resolver dependencias, y las instala automáticamente lo que te complica menos la vida.
  • ¿ Porqué no usar una MC35 de Motorola (antes Symbol Technologies) ?

    El año pasado 2007 fué lanzado aquí en México el smartphone MC35 desarrollado por la empresa de Symbol Technologies ahora adquirida por Motorola. Esta terminal se anunció con bombo y platillo en un Road Show de Symbol Techonlogies para todos los partners y distribuidores de Symbol aquí en México, yo no pude asistir ya que ni soy partner, ni distribuidor ni nada por el estilo,solo un desarrollador independiente de aplicaciones para dispositivos móviles, al ver las especificaciones y datasheet de esta terminal en internet pues me llamó la atención su infinidad de características interesantes como soporte cuatribanda para conexions GSM/GPRS/Edge, GPS, Cámara de 2 Mega Pixeles y Lector de código de barras de 1 y 2 dimensiones( UPC/EAN, Codabar, Code 128, Code 39, DataMatrix, I 2 of 5, PDF417), Conexión bluetooth, WiFi(IEEE 802.11b/g), SD card, 64 Mb y 128 Mb en Rom, Teclado Qwerty, Audio y Voz y Windows Mobile 2005 vaya un dispositivo móvil con un conjunto de característica por mucho muy atractivas para un usuario común y no se diga para un desarrollador, por lo que desde que vi el anuncio d esta terminal ya estaba viendo las posibilidades de adquirir una máquina de estas.
    En el último trimestre del 2007 pude tener una máquina MC35 en mis manos, por lo que no podía ocultar mi emoción, pero estaba muy lejos de saber lo que realmente dejaba a desear esta terminal MC35, y lo digo por lo siguiente.
  • Tiene un procesador apenas de 420 Mhz, qué para una terminal con WIndows Mobile 2005 y características GPRS, GPS, WiFi y Bluetooth pues resulta demasiado lento, por lo que solo al ejecutar una aplicación notas las consecuencias de este error de diseño al estar esperando segundos y segundo en que se ejecute un proceso en la terminal.
  • La interfaz de envío de mensajes no es muy práctica, acostumbrado a las interfaces de otros smartphones y teléfonos celulares para el envío de SM, usando la MC35 me doy cuenta de la rudimentaria herramienta de SMS que deja mucho que desear.
  • No es posible marcar un número desde un mensaje SMS, volviendo a la rudimentaria herramienta de SMS, no es posible marcar al número de dónde llego el mensaje drectamente, si no más bien hay que copiar el numero y pegarlo en la interfaz de llamada.
  • El controlador de llamadas es completamente inestable, muchas veces por alguna razón no respondes una llamada y queriendo revisar posteriormente quién te llamo resulta que el historial de llamadas no siempre guarda los números a los cuáles llamas o te llaman, por lo que esto es decepcionante cuándo buscas el número de alguien quién te llamó.
  • El controlador de llamadas es muy lento, esto debido también a la capacidad del procesador qe deja mucho que desear, por lo que a veces cuándo te llaman y suena la MC35, tratas de presionar el botón de esperar llamada y como el procesador de la MC35 es muy lento y tarda en digerir tú respuesta, como hasta que presionas el botón por tercera vez acepta la llamada, si no es que antes ya te colgaron.
  • Duración de la batería es muy ineficiente, intentar usar un SmartPhone de MC35 como teléfono realmente no es recomendable, pues la batería en un uso bajo/medio se te va en pocas horas, teniendo la terminal en modo standby con suerte hasta 2 días, pero eso si cuándo se descargue se apaga y ni forma de que quede en modo de bajo consumo y suenen llamadas urgentes que esperabas, no como otros teléfonos que he tenido de Nokia e incluso Motorola que me llegaban a durar hasta 5 días sin recargar, lo que resultaba muy práctico cuándo salía de viaje y por alguna razón se me olvidaba llevar conmigo el cargador, pero ahora con la MC35 hasta es terrorífico pensar salir sin el cargador.
  • Inestabilidad de la pantalla gráfica, algo curioso que me pasa con la MC35 es que cuándo inicio un servidor VNC en la PDA para hacer alguna demo de un desarrollo a diversos prospectos, la pantalla se pone negra y no es hasta despues de un reinicio que puedo tener una pantalla remota vía VNC y la de la terminal misma activada.
  • Inestabilidad del Sistema Operativo, por alguna razón la terminal queda bloqueada completamente y hay que presionar el botón de reinicio, esto constantemente sucede en esta PDA.
  • No sé que exactamente pase, pero cuándo abres un Menú alguna opción queda habilitada que la terminal empieza a escribir en la pantalla como si hubieras dejado presionado un botón y evitándote seleccionar otras opciones, esto deja de pasar hasta que presionas la tecla Windows.
  • De la cámara ya ni hablamos, a pesar de que es una cámara de 2 Mega Pixeles, al tomar fotografías con esta cámara y pasarlas a una PC se observa la mala calidad fotográfica de la MC35, con otra PDA que tengo una iPaq RX3715 muy a pesar de que la resolución es de apenas 1.3MP la calidad es mucho mejor que la de la MC35.
  • A pesar de que la terminal MC35 contiene un intérprete de código de barras, es muy ineficiente pues algunos códigos de barras con suerte si te los decodifica pero en el caso de codigos de 2 dimensiones como PDF-417 resulta casi imposible poder hacerlo en condiciones normales.
    Podría seguir enumerando las diversas malas experiencias que he tenido con esta terminal pero creo que es innecesario, me sorprende que Motorola siendo de los líderes en teléfonos móviles haya aceptado continuar con la venta de este smartphone cuándo adquirió Symbol Technologies sin antes haberle dado un toque de su propio estilo, si la MC35 quiso salir al mercado para competir con otros smartphones como las Treo, iPhone, HP iPaq, etc., pues en mi opinión está muy lejos de la calidad que tienen otros productos.
    Como desarrollador definitivamente no recomendaría una terminal MC35 a mis clientes, ya que en un futuro a ellos les ocasionaría problemas y sin duda que me los reflejarían, si su desición es no usar una terminal de uso rudo como una terminal MC70 por ejemplo, recomendaría una HP iPaq 69XX que tiene características similares a la MC35(excepto por el lector de código de barra, pero a la iPaq se le podría adaptar un lector láser externo) pero que tiene un diseño mucho mejor y más eficiente al mismo precio.
  • Tendencias tecnológicas en México con Google Trends

    Tratando de ver las perspectivas que han tenido, tiene y tendrán las nuevas tecnologías en nuestro pais México, me meto a Google Trends para comparar terminos tecnológicos y conocer cuál ha sido su comportamiento en los últimos años hasta el presente.
    Herramienta
    Google Trends básicamente permite hacer una comparación entre diversos términos y nos permite saber la cantidad de búsquedas que han tenido en google, así como también la cantidad de referencias existentes en internet que podríamos decir que es la cantidad de artículos, paginas, post, documentos, archivos, etc., que hay sobre el término en internet. Google Trends también permite ver el comportamiento de las búsquedas por paises y estados de los países, así como también de forma global.
    Tecnología de Identificación Automática de Datos
    Codigo de Barras y RFID
  • http://www.google.com/trends?q=codigo+de+barras%2C+rfid&ctab=0&geo=MX&geor=all&date=all&sort=0

    En esta gráfica observamos el resultado de la comparación de las tecnologías de Código de Barras y RFID. por lo que se observa en la gráfica, la información de RFID en sitios de México es mucho mayor que la existente de código de barras, más sin embargo la información consultada del término código de barras es definitivamente mucho mayor que de RFID, esta tendencia es absolutamente normal, ya que en México la tecnología de código de barras lleva alrededor de 30 años en uso, mientras que la tecnología de RFID es considerablemente nueva en el pais, por lo qué los usuarios hasta el momento se encuentran más interesados en soluciones de códigos de barras que de implmentación de RFID, pero no se descarte que en un futuro la tecnología de RFID vaya subiendo el raiting, aunque todavía RFID su uso esta muy segmentado a ciertas aplicaciones debido a su alto costo en comparación de una implementación de código de barras.
    El interes por código de barras y RFID en México, varía por mucho en comparación del interes mundial, ya que en otras partes del mundo es más solicitada la información de RFID que de código de barras como se muestra en la siguiente URL, esto debido a que en México aun no tenemos la capacidad tecnológica como en otros paises, pues nosotros somos más que nada consumidores de tecnologías más que creadores y desarrolladores, por lo que tenemos que esperar a que se consolide en otros paises para que la tecnología sea importada a nuestro pais.
    http://www.google.com/trends?q=codigo+de+barras%2C+rfid&ctab=0&geo=all&geor=all&date=all&sort=0
    Tecnologias de Comunicacion de Datos
    BlueTooth, WiFi, WiMax, Ethernet, Modem

    En esta gráfica podemos observar cosas interesante con respecto a tecnologías de comunicación de datos, con respecto al volumen de información podemos notar que a excepción de WiMax que el volumen de información en México ha explotado en el último año, las demas tecnologías permanecen constantes.
    En base al criterio de volúmen de búsqueda, notamos qué las conexiones vía móden fueron muy consultadas en los años pasados, viniendo de más a menos últimamente, en cambio las redes ethernet tuvieron unos altibajos al principio, pero se ha mantenido constante la búsqueda por parte de los usuarios, aunque ha sido superada últimamente por las comuniaciones bluetooth y WiFi. Por lo que vemos también es que las busquedas de comunicaciones BlueTooth empezó a incrementar mediados del 2005 y la cuál se ha mantenido constante desde esa fecha incluso mucho más que las redes WiFi, esto se debe principalmente a que el uso de esta tecnología se ha dado en teléfonos celulares. También podemos observar que las busquedas de conexiones WiFi empezaron a darse con mayor frecuencia a principios del 2006, esto puede deberse a su masificación que se dió por el internet de banda ancha impulsado principalmente por la compañía de TelMex. Con respecto a las redes WiMax, podemos darnos cuenta que es una tecnología que aún no aparece con suficiente volúmen de búsquedas para compararse con las otras tecnologías, esto debido que su uso aun no se ha masificado como las redes ethernet, wifi o bluetooth y por ahora está concentrado más en proveedores de internet o soluciones empresariales, pero no dudo que pronto el boom pueda llegar hasta el usuario común.
    En el plano mundial podemos observar algo interesante, pues son las mismas tendencias que en México.
    http://www.google.com/trends?q=bluetooth%2C+wifi%2C+wimax%2C+ethernet%2C+modem&ctab=0&geo=all&geor=all&date=all&sort=0
    Comunicaciones Móviles
    GSM, GPRS, TDMA, 3G, iDEN

    En esta gráfica podemos ver el comportamiento de las búsquedas en google por parte de los usuarios en México, a simple vista podemos observar que las redes de telefonía celular GSM son por mucho las ganadoras, aunque algo interesante que se puede observar es que hay mayor información disponible en internet con respecto a redes 3G.
    Algo curioso que también se puede ver es de que a pesar de que las redes GPRS han ido de la mano con las redes GSM, estas han tenido mayor volúmen de búsqueda a principios del 2008 y antes no tenían el volumen suficiente de búsquedas para aparecer en las estadísticas de google trends. Esto puede deberse a que en este año las aplicaciones móviles están tomando auge en las empresas permitiendo conectar dispositivos móvil desde cualquier lugar a la red empresarial usando redes GPRS.
    También es interesante ver las consultas sobre las redes 3G, en la gráfica se observa que se disparó en este 2008, a pesar de que las redes 3G en México llevan ya muchos años siendo distribuídas por parte de la empresa IUSACELL, más sin embargo el aumento de interes por parte de los usuarios con respecto a las redes 3G es la incursión de Movistar y principalmente de Telcel el mayor proveedor de telefonía celular en México, sin duda esto refleja que la mercadotecnia de Telcel con respecto a las redes 3G ha tenido gran impacto en los usuarios finales.
    Se puede observar que las tecnologías iDEN que son las que usa Nextel para sus comunicaciones, al igual que las redes TDMA que tuvieron a finales de los 90s, el interes de los usuarios no ha sido tanta como el que se refiere a las otras tecnologías.
    En el plano mundial podemos ver que el comportamiento es el mismo, las redes GSM son las que despiertan mayor interes en el público, pero es interesante ver que mientras en México las redes 3G apenas comienzan a ser más populares, en el mundo han tenido considerable interes desde hace más de 5 años.
    http://www.google.com/trends?q=gsm%2C+gprs%2C+tdma%2C+3g%2C+iDen&ctab=0&geo=all&geor=all&date=all&sort=0
    Sistemas Operativos
    Linux, Windows XP, Windows Vista, Mac OS X, Unix

    La gráfica superior nos muestra básicamente el interes de los usuarios hacia los sistemas operativos más populares.
    A simple vista podemos observar que Windows XP ha sido el Sistema Operativo con mayor interes por parte de los usuarios, aunque en el último año han disminuído las consultas por parte de los internautas con respecto a este sistema, esto se debe principalmente al conocimiento que tienen los usuarios, puesto que en un principio se desconociá de este OS por lo cuál había mayor consultas sobre el sistema.
    Con respecto a Linux podemos decir que el interes hace unos 4 años no es el mismo del que ahora hay, aunque se mantiene constante y al parejo de Windows XP y Windows Vista muy a pesar de que este sistema operativo tiene mucho menor cantidad de usuarios que los que tiene el sistema propietario de Microsoft. La gran cantidad de volúmenes de búsqueda se puede entender a que este sistema operativo tiene usuarios con mayor capacidad informática lo que hace que sean los que busquen como sacarle más provecho a este sistema operativo.
    Con respecto a Unix vemos que la tendencia se ha mantenido constante, aunque las consultas han sido mucho menor que Linux y Windows, la constante se puede deber a que Unix es un sistema empresarial por lo que el interes de las empresas siempre ha exisitido sobre este sistema operativo desde hace mucho tiempo.
    Algo interesante es el comportamiento de Mac OS X, el sistema operativo de Apple, digo que es interesante puesto que su volumen de consultas aumentó a principios del 2006, aunque este sistema operativo lleva mucho más tiempo en el mercado, pero el incremento de su popularidad se debe también gracias a la venta de iPod's e iPhone's lo que ha permitido a Mac OS X tener un escaparate para este OS lo que también se ve reflejado en sus ventas.
    En la parte de inferior de la gráfica podemos observar algo mucho más interesante, que los sistemas operativos con mayor volumenes de información en internet disponibles son Windows XP por mucho y Mac OSX.
    El comportamiento de interes del usuario en México, es muy similar a la tendencia global por lo que se puede observar en esta gráfica:
    http://www.google.com/trends?q=Linux%2C+%22Windows+XP%22%2C+%22Windows+Vista%22%2C+Mac+OS+X%2C+Unix&ctab=0&geo=all&geor=all&date=all&sort=0
    Sistemas Operativos para Dispositivos Móviles
    Symbian OS, Pocket PC, Black Berry, Palm OS, Android, iPhone, OpenMoko

    Esta gráfica muestra el interes de los internautas con respecto a los dispositivos móviles.
    Claramente podemos ver que Pocket PC es el sistema operativo que atrae la mayor atención de los usuarios y el cuál mantiene poca pero constante información en internet en todos estos años, este fenómeno se debe a que el mercadode Pocket PC va desde el industrial, pasando por el empresarial llegando hasta el usuario que usan un smartphone como teléfono personal.
    El sistema Operativo Symbian OS es el que mas se acerca al sistema operativo de PDAs y Smartphones Microsoft Pocket PC, el cuál ha despuntado a partir del 2007 llegando a tener un ligero incremento superior al que tiene Pocket PC hasta principios del 2008, este interes se debe principalmente al apoyo de Nokia en sus dispositivos móviles por lo que los usuarios más jóvenes son los que han sido atraídos por este sistema.
    También podemos notar queel sistema operativo Black Berry ha llamado la atención desde mediados del 2007 y se ha colocado de forma constante hasta la fecha en la preferencia de los usuarios, aunque todavía muy por debajo de Symbian OS y Pocket PC.
    Podemos ver también un ligero y efímero despunte de Android, que es la nueva plataforma para dispositivos móviles impulsada por google y otras compañías como Motorola. Si se observa ese despunte se dá a finales del 2007 que es cuándo se hace público en diferentes medios de comunicación por lo que llamó la atención de los usuarios de internet, aunque debido a que todavía no existe un dispositivo en el mercado con esta plataforma desapareció el interes rápidamente, pero que sin duda lo recuperará cuándo las grandes compañías de tecnología lanzen sus dispositivos con esta plataforma.
    Por otra parte es interesante ver que PalmOS no figura en la gráfica de consultas de google, esto puede deberse primero a que Palm Inc decidió tener Windows Mobile en sus dispositivos Palm, así como también el desinteres de seguir desarrollando el sistema operativo PalmOS.

    Esta gráfica complementa la anterior y nos muestra la comparación del nuevo dispositivo de Apple el tan nombrado iPhone con respecto a los otros dispositivos. Como se logra observar el aplastante interes que tenían los usuarios por Pocket PC se ve abrumado por el interes de los usuarios de iPhone y eso a pesar de que en México aun no se distribuyen equipos iPhone de manera autorizada por parte de Apple. Sin duda que esta gráfica muestra la gran aceptación que tienen los usuarios por todo lo exhibido por la empresa de la manzanita.
    También podemos observar como queda parado la plataforma libre Open Moko con respecto a Pocket PC e IPhone. OpenMoko fué de las plataformas que mas sobresalieron de una comparación entre OpenEmbedded, Access Linux Platform y Familiar Linux para competir con las otras plataformas comerciales.
    Las tendencias a nivel mundial son practicamente similares a las de México, remarcando el máximo interes de los usuarios de internet por el iPhone a partir del 2007.
    Linux y el interes de los usuarios mexicanos
    Ubuntu, Red Hat, Mandriva, Suse, Debian, Gentoo, Slackware, Fedora, CentOS
    La siguiente gráfica muestra la relación de interes entre los usuarios mexicanos con respecto a plataformas de software libre como lo es Linux y sus diversas distribuciones.
    Como se puede observar la distribución de Ubuntu Linux es la que se lleva por mucho la preferencia de los usuarios de internet y de Linux, esto debido a que la compañía canonical ha hecho sobre esfuerzos para acercar el entorno Linux a los usuarios más comunes, haciéndolo cada día más fácil de usar e incluyendo herramientas de software libre que permiten a usuarios comunes tener las mismas herramientas que tienen en Windoes, pero ahora en un ambiente más libre y sin costo.
    Por otro lado podemos ver a una de las distribuciones de Linux pioneras como lo es Red Hat apenas estar en la línea más baja de preferencia de los usuarios de Linux, pero esto es muy normal, ya que Red Hat en los últimos años ha pasado a ser una distribución orientada a las empresas por lo que las consultas han sido más por parte de especialistas del software libre qué de usuarios comunes como en el caso de Ubuntu.
    Por otra parte vemos que el comportamiento de interes de los usuarios hacia Debian y Suse se ha mantenido estándar desde hace muchos años, sumándose con poco menos consultas a mediados del 2006 la distribución producto de la fusión de Mandrake con Conectiva llamada Mandriva. Aunque las preferencias de estas distribuciones son en mucho menor frecuencia en comparación de Ubuntu, esto es debido a que estas distribuciones tienen usuarios ciertamente especializados y que en base a su experiencia tienen su distro favorita.

    En la gráfica añadimos a las distros de Gentoo, Slackware, Fedora y CentOS a la comparación contra el preferido que es Ubuntu.
    Como se observa Fedora es otro de los sistemas preferidos por los usuarios de software libre, manteniendo un comportamiento similar a Debian y SuSe, más abajo podemos ver a CentOS, aunque su nivel de consultas bajo a finales del 2007.
    Por otro lado vemos que Gentoo y Slackware se quedaron fuera de los volúmenes mínimos requeridos por Google Trends para entrar a la comparación, pero esto es porqué Gentoo y Slackware tienen usuarios muy selectos, los cuáles tienen un conocimiento mucho mayor a la media de usuarios de Ubuntu, por lo cuál los volúmenes de consultas sobre Gentoo y Slackware son mucho menores y solo corresponden a sus respectivos usuarios.

    Las gráficas anteriores ciertamente no son la realidad actual de las tecnologías en México, pero también es cierto que reflejan la mayor parte de las tendencias tecnológicas de nuestro pais, gracias los registros del mejor buscador de internet: Google.
    Podemos concluir en base al análisis que México está en el mismo camino tecnológico que otros paises del mundo, aunque ciertamente le da menor uso a la tecnología.
    También es interesante saber que aunque en México algunas tecnologías no son tan populares como en otros países, las tendencias son las mismas aunque en mucho menor escala.
    Esta información ha sido producto de mi análisis y propia experiencia profesional, pero no refleja por ningún motivo una opinión certificada por lo que esta información debería tomarse como una lectura tecnológica no oficial.
  • Mejorando la conexión de PHP a un servidor remoto de Microsoft SQL Server.

    La semana pasada necesité generar todo el esquema de facturación electrónica con la información que se captura en un dispositivo móvil, la idea al principio era que la terminal portátil generara los sellos electrónicos de facturación de formal local, pero por cuestiones de seguridad y de consistencia de la información, se decidió al final de que la terminal enviará la información capturada a un servidor remoto de base de datos de MS SQL Server -ya que el ERP de la empresa a la que se desarrolló el sistema usa MS SQL Server como motor de base de datos- a traves de GPRS pasando por una VPN configurada especialmente para la conexión de las terminales portátiles al servidor de la empresa, y despues el servidor en las oficinas de la empresa fuera el encargado de generar la facturación electrónica, para que posteriormente la terminal consultará el resultado de facturación electrónica y enviara la impresión del documento a una impresora Zebra vía bluetooth.
    Despues de haber decidido que la facturación electrónica se generara en el servidor, la siguiente pregunta fué ¿ Qué herramienta usar ?, no lo pensé 2 veces y me decidí por PHP y Apache, ya que sería un proceso sencillo de instalación e implementación. Consultar información de MS Sql Server, => procesar y generar cadenas y XML en base al formato de SAT=> obtener el sello dígital de la facturación electrónica, => para despues ser consultada e impresa por el dispositivo móvil.
    Al principio me encanté por usa un código como el siguiente demo para hacer las consultas a SQL Server
    <?php
    require("config.php");
    //intentamos realizar la conexion a sql server con los parametros previamente dados en config.php
    $dbhandle = mssql_connect($sal_server, $sql_server_user, $sql_server_password)  or die("Couldn't connect to SQL Server on ".$sql_server);
    //damos el nombre de la base de datos a usar previamente definida en config.hp
    $selected = mssql_select_db($sql_server_db, $dbhandle)  or die("Couldn't open database ".$sql_server_db);
    //asignamos la consulta sql que se ejecutará
    $sql_query = "SELECT TOP 50 *  FROM TABLA_CLIENTES_DEMO ";
    //ejecuta la consulta y regresa el resultado a $resutl
    $result = mssql_query($sql_query);
    $numRows = mssql_num_rows($result);
    echo "<h1>" . $numRows . " Row" . ($numRows == 1 ? "" : "s") . " Returned </h1>";
    //Muestra los resultados
    while($row = mssql_fetch_array($result))
    {
            echo "<li>" . $row["id_user_demo"] . $row["name_user_demo"]  ."</li>";
    }
    //Cierra la conexion
    mssql_close($dbhandle);
    ?>
     
    Pero al ejecutar el código, la respuesta o ejecución del código fué bastante lenta, por lo que modificando algunos de los parámetros de conexión seguía aun lento.
    Buscando cual podría ser la configuración ideal di con otra forma de conectarse a Microsoft SQL Server que desde mis pruebas y punto de vista resulto ser mucho más eficiente y para el cuál pongo el siguiente código:
            require("config.php");
           
            //creamos el objeto de conexion ADODB
            $db = new COM("ADODB.Connection");
           
            //Generamos sl string para la conexión
            $dsn = "DRIVER={SQL Server}; SERVER={$sql_server};UID={$sql_server_user}<img src="plugins/Emoticons/images/tongue.png" border="0" alt="tongue.png " width="16" height="16" />WD={$sql_server_password}; DATABASE={$sql_server_db}";
           
            //Abrimos la conexión
            $db->Open($dsn);
           
            //Ejecutamos una consulta
            $rs = $db->Execute("SELECT top 50 * FROM TABLA_CLIENTES_DEMO ");
            //
            while (!$rs->EOF)
            {
                    echo $rs->Fields['name_user_demo']->Value."<BR>";
                    $rs->MoveNext();
            }
     
    Obviamente este código solo funciona en Windows, en este caso he usado el proyecto WAMPServer que ya trae todo incluído para montar un servidor web el cuál puede descargar e instalarse para Windows en la siguiente URL http://www.wampserver.com/en/.
    Para conectar PHP con MS SQL Server usando alguna distro de Linux, existe una librería llamada FreeTDS que permite hacer la conexión.
    Toda esta info la he obtenido a traves de http://mx2.php.net/mssql
  • Anterior página 1 ... 9 10 11 ... 13 Siguiente página
    125 entradas

    Emblemas

    Energizado por Jaws Project
    Soporta RSS2
    Energizado por Software Libre
    Energizado por Mozila Firefox
    Energizado por Ubuntu Linux
    Energizado por PHP
    Energizado por Apache Web Server
    Energizado por MySQL
    Energizado por SQLite
    atom

    ¿ Where The Hell Am I ?

    Mi Flickr







    Aquí Mis Mejores Fotos

    Eventos

    Encuesta

    ¿Que medio de comunicación usas más ?

    Comentarios Recientes