Hagamos que México crezca..

Prefiere el consumo de lo Hecho en México

Visitantes








Conversación

  • Elvin: Estimado ando muy preocupado me compre el USRP2 y las tarjetas de GSM cuando me entere que no trabaja openbts con usrp2, help me :(  
  • Phylevn: Si claro, hay un software israelí que es gratuito no recuerdo como se llama, solo tienes que compilar asterisk-addons para que también guarde en el CDR el ID de la llamada para asi despues relacionarla con la grabación.  
  • Cesar: Que ta amigo... sobre la pregunta de ligar una extencion a una troncal o hice con customcontext en freepbx.
    solo tengo una duda, hay algun plugin para freepbx para poder monitorear las llamadas grabadas como en elastix?
    gracias.. y saludos  
  • Sergio: Hola!!
    Oie al parecer hay errores en las entradas sobre la Facturacion Electronica del SAT, hace unos dias lei los Post y hoy YA NO PUEDO ENTRAR, me marca que la pagina no se encontro.
    Gracias  
  • Conmutador IP: @Max: Para que tu Tel IP haga y reciba llamadas necesitas configurarlo, si tu teléfono usa el protocolo SIP entonces necesitas configurar usuario, password, dominio o proxy, outbound proxy en algunos casos y puerto que el default es 5060, estos datos te los da el proveedor IP con los que contrates el servicio como puede ser Alestra en México, o callcentric.com en estados unidos por ejemplo  
  • Max: hola tengo una duda, tengo un telefono IP pero nose si se requiere alguna configuracion para que trabaje con el modem de infinitum, es decir que tengo q hacer para que pueda hacer y recibir llamadas con el.
    espero puedas ayudarme  
  • Phylevn: Si lo puedes hacer, busca lo que son los contextos en asterisk.  
  • Cesar: Que tal, si me funciono, solo que curiosamente con no-ip o ddns solo fuinciona cuando son isp diferentes, aquí en Nayarit, Telmex y Megacable, si lo hago solo con Megacable debo poner la ip de la der de Megacable, 10.163.x.x no tengo idea por que solo así funciono... Otra duda, en asterisk se puede hacer que por ejemplo la extensión 500 solo use la troncal 1 y todas las demás extensiones utilizen otra troncal? Esto sin teniendo el mismo plan de marcado en ambas troncales, es decir, poder hacer que una troncal y una extensión estén vinculadas para hacer llamadas.  
  • Angel Reyes: Hey Filein,
    Quiero conversar contigo sobre una oportunidad de negocio. ¿me pasas tu email?
    Saludos.  
  • Comutador IP: @Cesar: Si es posible, solo requieres poner el puerto SIP de tu Conmutador IP Asterisk en una IP Pública, puedes usar DynDNS para este caso junto con DDClient y ya solo el SPA lo apuntas a la IP Pública de tu conmutador IP Asterisk siguiendo los mismos pasos de configuración de siempre. Eso es todo.  

Escribe el código Captcha que estás viendo

Trabajo y Proyectos

  • Script en PHP para organizar archivos por Fecha

    Hace un par de meses instalé un conmutador de Voz sobre IP a un cliente el cuál realiza en promedio cerca de 150 llamadas diarias, por lo que me solicitó que en el conmutador se grabaran las llamadas que recibiera e hiciera, esto quedo funcionando bien, el detalle que en ese tiempo se me pasó agregar un parámetro para que después de finalizada la grabación copiara el archivo de la llamada grabada a una carpeta con la fecha actual de la grabación, esto para ir organizando las llamadas, pero como esto no se hizo 40 días después obviamente tenía miles de llamadas grabadas por lo que revisar una por una fue complicado.

    Por lo que se me ocurrió rápidamente hacer un script en PHP que listara la información por fecha y en base a la fecha del archivo crear una carpeta si es que este directorio no existiera y mover ahí el archivo grabado.

    El script es el siguiente:

    <?php
    $busqueda= "/var/spool/asterisk/monitor/*.wav";
    $directorio= "/var/spool/asterisk/monitor/";
    echo $comando = " ls -l $busqueda | awk    '{print \$6\"#\" \$8}' " ;
    $_result  = shell_exec( $comando );
    $_info = preg_split('[\n]', $_result);
    $count = 0;
    while($count<count($_info)){
            if( isset( $_info[$count] ) and  $_info[$count]!="" ){
                    echo $_info[$count]."\n";
                    $_data = split('#',$_info[$count] );
                    if(count($_data)==2){
                            if( !file_exists("$directorio/$_data[0]")){
                                    exec("mkdir -p $directorio/$_data[0] ");
                            }
                            exec("mv $_data[1] $directorio/$_data[0]/");
                            //echo "mv $_data[1] $directorio/$_data[0]/";
                    }
            }
            $count++;
    }
    ?>
     


    En el código solo modificar el directorio de búsqueda y el directorio dónde se crearán las carpetas y moverán los archivos, obviamente este script puede funcionar para cualquier tipo de archivo pero aquí lo hice para que busque archivos wav, cree un directorio de la fecha del archivo si esta no existe y mover ahí el archivo, y asi consecutivamente con todos los archivos.


    Espero este script pueda serle de utilidad a alguien más y cualquier comentario hacérmelo llegar.. face-smile.png
  • ¿ Internet de Banda de 3 Mbits de Bajada con 2 Mbits de Subida por $391.00 Pesos ?

    Buscando alternativas a la conexión de "Infiernitum" y otros proveedores que hay aquí en México y que dejan mucho que desear, encontré por casualidad el servicio de Tangennte.

    Lo interesante de este nuevo proveedor de Internet es que ofrece servicios de banda Ancha de 3 Mbits de bajada con 2 Mbits de Subida, un servicio que pocas veces podemos ver con ese ancho de banda de subida, pero lo más interesante es su precio $391.00 mensuales ya con IVA incluído y otros impuestos.

    El sitio del servicio es http://www.tangentte.com

  • Curso de Integración de Telefonía de Voz sobre IP con la Plataforma Asterisk PBX sobre Linux.

    Curso de Integración de Telefonía de Voz sobre IP con la Plataforma Asterisk PBX sobre Linux.

    Hemos dividido nuestro curso de Telefonía de Voz sobre IP basada en la plataforma Asterisk PBX en 2 cursos, básico-principiantes e intermedio-avanzado, los cursos están diseñados para que el asistente con el curso de principiantes conozca desde los aspectos básicos de telefonía hasta los conocimientos principales para poder integrar un conmutador de voz sobre IP y ponerlo en producción, dónde podrá integrar un conmutador mediante tarjetas de telefonía Sangoma, Digium así como configurar opciones como son IVRs, Grupos de Marcación, Extensiones, Rutas de llamadas entrantes, salientes, bloqueo de llamadas, correos de Voz, etc .

    El curso intermedio avazando se enfoca en cuestiones avanzadas de la telefonía de Voz sobre IP como son integración de Asterisk con CRM, desarrollo de aplicaciones, integración de bases de datos, texto a voz y reconocimiento de voz, videoconferencia, domótica y casas inteligentes entre, monitoreo entre otros temas avanzados que le darán al usuario mayores conocimientos en la integración de soluciones de Voz sobre IP más allá de un conmutador IP.

    Para información del Temario, Fechas y Costos puede obtenerse mayor información en el siguiente PDF

    Temario Costos y Fecha para Curso-Asterisk-Basico-Intermedio-Avanzado.pdf

    O contactarnos directamente en http://www.oaxrom.com
  • Resolviendo el problema de unexpected T_GOTO, expecting T_STRING in phpagi.php

    Hace unos días instalé Asterisk sobre la nueva versión de servidor de Ubuntu, el detalle con esta versión es que ya trae PHP 5.3 por lo que me salió un problema al instalar mis agis, el error que me salía era el siguiente:

    PHP Parse error:  syntax error, unexpected T_GOTO, expecting T_STRING in /var/lib/asterisk/agi-bin/phpagi/phpagi.php on line 1184<br>
     
    Esto ya que en el código de phpagi se creó una función llamada goto, función que no existía antes en PHP, pero que desde la versión 5.3 ya existe

    T_GOTO          goto     (available since PHP 5.3.0)<br>
     
    Por lo que había un conflicto con los tipos de parámetros, para esto solo basto editar el código y renombrar la función goto a goto2

    function goto($context, $extension='s', $priority=1)
     
  • Twinkle un práctico y funcional Softphone SIP para Linux.

    Hace unos días instalé un conmutador de Voz sobre IP para un cliente, el detalle en esta ocasión es que se usarían softphones pero no sobre Windows como se hacía con anteriores clientes, si no sobre Linux.

    Al principio no le vi complicación pues existen diversos softphones para Linux, tanto open source, gratuitos y comerciales, pero despues de evaluar varios todos tenían una pega.

    En el caso de los comerciales requerían del pago de una licencia por softphone por lo que para el cliente no le era atractivo, los gratuitos estaban muy limitados y los open source no todos funcionaban bien.

    Pero buscando y buscando lei la recomendación en varios foros del SoftPhone Twinkle, el cuál es un softphone SIP que funciona solo para Linux y es Open Source.

    Su interfaz no es muy atractiva, pero despues de empezar a usarla es muy funcional



    Al principio tuve problemas son este softphone ya que al recibir llamadas se me quedaba colgado el softphone, pero buscando info encontré que era por falta de librerías.

    Entre las principales características es que te permite elegir un dispositivo de sonido para el timbrado y otro para hablar y escuchar, esto es práctico cuándo se usan diademas ya que asi se puede conectar una diadema usb y hacer que el timbrado suene por el dispositivo principal de sonido y la conversación se realice por las diademas USB. Gracias a lo anterior también es posible elegir un tono para el timbrado por lo que es práctico cuándo se tienen múltiples extensiones en una misma oficina asi ya no se confunden entre los timbrados.

    También este softphone permite elegir el tipo de códec a usar soportado G711u, G711a, GSM, iLBC, G726, Speex.

    Soporta cancelación de eco, ajuste automático de volúmen de dispositivos.

    Entre otras muchas características que lo hacen interesante y práctico para su uso en producción.

    Su instalación en debian o Ubuntu se puede realizar por paquetes y es necesario instalar las librerías adicionales para no tener problemas de funcionamiento.

    sudo apt-get --yes install twinkle
    sudo apt-get --yes install libcommoncpp2-dev
    sudo apt-get --yes install libccrtp-dev
    sudo apt-get --yes install libccrtp1-1.7-0
    sudo apt-get --yes install libzrtpcpp-1.4-0
    sudo apt-get --yes install libboost-dev
     


    Más info en :

    http://www.twinklephone.com/
  • ¿ Tu conmutador IP está seguro ?

    Hace un rato leyendo el grupo de Asterisk ES encuentro un post dónde alguien comenta que han accedido a su servidor de forma remota y han hecho llamadas a Liberia consumiendo un crédito de $800.00 Euros, cantidad que en cierta forma no es mucha, pues he leído de casos dónde han habido robos de hasta miles de euros o dólares.


    Generalmente quienes hacen esto son phreakers quienes violan sistemas IP inseguros para hacer llamadas a paises dónde los costos por minuto son muy altos como por ejemplo IRAN, COREA DEL NORTE, CUBA, LIBERIA, AFGANISTAN, etc., paises que generalmente tienen el bloqueo y embargo económico de los Estados Unidos.


    Por lo que se me ocurre a primera instancia para medio asegurar un sistema de Voz sobre IP mediante los siguiente sencillos y básicos pasos:

  • La primera es no poner un * en una IP Pública o DMZ.
  • Segunda en caso de que se quiera tener extensiones remotas, es usar una VPN ya sea como un cliente VPN o si es un teléfono IP alguno que soporte PPTP.
  • Tercera es pedir password en la marcación a números del extranjero
  • La cuarta que debería ser la primera nunca usar planes de marcación XX.
  • La quinta usar iptables para restringir accesos de IP desconocidas a nuestro servidor.
  • La sexta en lo posible usar IP Fijas en vez de dinámicas.
  • Séptima poner en cron una aplicación que mida el consumo de alguna extensión y lanzar mediante AMI una alerta a un teléfono.
  • Octava que debería ser la primera también nunca usar user 101 password 101.
  • La novena no se me ocurren más ahorita, ¿ Más recomendaciones ?.


    Instalar un Asterisk no es solo bajar elastix e instalarlo, hay que llevar a cabo medidas que ayuden a hacer un sistema confiable y seguro para nuestros clientes.
  • Como hacer llamadas en automático usando AMI y el comando originate en Asterisk PBX

    Muchos amigos me han preguntado como lanzar llamadas en automático a través de Asterisk, aparte que es muy común que en diversos foros salgan este tipo de preguntas. Por ello aquí posteo un código muy simple hecho en PHP que permite marcar a un número para luego enlazarlo a un AGI, Un grupo de marcación, grupo de extensiones, IVR, etc.,
    <?
    #Direccion IP del Servidor de Asterisk Manager
                    $strHost = "localhost";
    #Usuario dado de alta en el Asterisk Manager definido en /etc/asterisk/manager.conf o /etc/asterisk/manager_custom.conf
                    $strUser = "cloudvoox";
    #Password del usuario del Asterisk Manager  definido en /etc/asterisk/manager.conf o /etc/asterisk/manager_custom.conf
                    $strSecret = "cloudvoox";
    #especificamos el contexto
                    $strContext = "from-internal";
    #indicamos el tiempo de espera de la marcación
                    $strWaitTime = 45;
    #La prioridad para colocar la llamada
                    $strPriority = 1;
    #maximo de reintentos
                    $strMaxRetry = "2";
    #Extensión a dónde mandaremos la llamada realizada, previamente debemos definirla extension en /etc/asterisk/extensions_custom.conf, esta puede ser un AGI, un Grupo de marcación, IVR, Extension, Cola de llamadas, etc.
                    $number="1997";
    #A partir de aquí podemos crear un ciclo que lea diversos números a marcar, por ejemplo podría ser un mysql_fetch_array que nos obtenga los numeros a marcar y sustituirlos en el número de abajo
    #Aqui podemos enlazar los destinatarios externos ya sean extensiones internas SIP o IAX, o también pueden ser números de la PSTN que salgamos mediante IAX2, SIP, Zaptel o DAHDI
    #En este caso estoy llamando a traves de voipjet al número de la ciudad de México 11689818 (+525511689818)
                    $strChannel =  "IAX2/voipjet/011525511689818";
                    if ($strChannel!="" ) :
                            $errno=0 ;
                            $errstr=0 ;
                            $strCallerId = " WebCall<$number>";
                            $oSocket = fsockopen ($strHost, 5038, $errno, $errstr, 20);
                            if (!$oSocket) {
                                    echo "$errstr ($errno)<br>\n";
                            } else {
                                                                           
                                    fputs($oSocket, "Action: login\r\n");
                                    fputs($oSocket, "Events: off\r\n");
                                    fputs($oSocket, "Username: $strUser\r\n");
                                    fputs($oSocket, "Secret: $strSecret\r\n\r\n");
                                    fputs($oSocket, "Action: originate\r\n");
                                    fputs($oSocket, "Channel: $strChannel\r\n");
                                    fputs($oSocket, "WaitTime: $strWaitTime\r\n");
                                    fputs($oSocket, "CallerId: $strCallerId\r\n");
                                    fputs($oSocket, "Exten: $number\r\n");
                                    fputs($oSocket, "Context: $strContext\r\n");
                                    fputs($oSocket, "Priority: $strPriority\r\n\r\n");
                                    fputs($oSocket, "Action: Logoff\r\n\r\n");
                                    sleep(2);
                                    fclose($oSocket);
                            }
                            if (!isset($_REQUEST['exten'])){
                                    echo "";
                            } else {
                                    echo "$strChannel  enlazando a $number." ;
                            }
                    else :
                            exit() ;
                    endif ;
    ?>
     
    El código anterior es muy fácil de entender, básicamente lo que hace es parametrizar el comando originate del protocolo AMI de Asterisk [ http://www.voip-info.org/wiki/view/Asterisk+Manager+API+Action+Originate ]

    Ahí previamente debemos tener creada la extensión 1997 en el plan de marcación de asterisk, esa extensión es a dónde vamos a mandar las llamadas contestadas, en este caso por ejemplo se puede crear en /etc/asterisk/extensions_custom.conf en caso de que se use freepbx como lo hacemos a continuación

    sudo editor /etc/asterisk/extensions_custom.conf

    #Y agregamos lo siguiente o editamos en caso de que ya exista

    [from-internal-custom]
    include=>asterisk-calls
    [asterisk-calls]
    exten => 1997,1,Answer
    exten => 1997,n,SetMusicOnHold(Publicidad)
    exten => 1997,n,MusicOnHold()
    exten => 1997,n,Hangup
    #guardamos el archivo y reiniciamos el plan de marcación en la consola de asterisk

    sudo asterisk -rvvv

    dialplan reload
     


    Básicamente lo que hicimos en el plan de marcación es poner la música de fondo llamada publicidad, que previamente debimos haberla creada, aquí también puede ser un AGI, o marcar a un grupo de extensiones, IVR, etc.

    Con esto fácilmente podemos subir una lista de números a marcar, para que enseguida ejecutar el script y Asterisk les llame para luego enlazar las llamadas a la extensión 1997 dónde podemos tener cualquier aplicación como puede ser un AGI que haga una encuesta por ejemplo

    También podemos crear un script que genere hilos de llamadas dependiendo del número de canales de voz disponibles en nuestro conmutador de Voz sobre IP.
  • Software Comercial vs Software Hecho en Casa vs Software de Codigo Abierto

    El Software enfocado para empresas tales como los ERP (Enterprise Resource Planning) y los CRM (Customer Relationship Management) tienden a ser únicos. Esto debido a que cada empresa los utiliza de diversa manera, por lo que cada Software ERP y CRM deben ser personalizados de acuerdo a las necesidades de cada organización. Tradicionalmente esto implica desarrollar un Sistema ERP o CRM a la medica para los requerimientos específicos de una organización o la otra opción, comprar un Sistema ERP o CRM  existente y personalizarlo.
    Ambas opciones tienen significantes detalles.
    Software hecho en casa
    Un desarrollo hecho en casa generalmente tiende a iniciar desde cero, partiendo de la filosofía de "Nosotros sabemos que necesitamos, asi que hagámoslo", "Hacerlo" en desarrollo de software podría resultar caro y riesgoso, y la mayoría de los proyectos de software hechos en casa últimamente fallan en el conocimiento de las necesidades del usuario.
    Pero el más grande riesgo actualmente es "saber lo que tu necesitas", incluso si el desarrollo conoce las necesidades al tiempo que este es desarrollado, ya que quizá un software hecho en casa pueda no seguir las mejores prácticas de la industria o no anticipar los planes a largo plazo de la organización.
    Tanto la tecnología y los negocios necesitan cambios, asi que la organización tristetemente tendrá que mantener los cambios del software y cubrir los costos que implica. Estudios muestran que los costos de mantenimiento a largo plazo  de un software propio incluso son tres o cuatro veces más del costo original del software.
    Software Comercial
    Comprar un ERP o CRM Comercial de algún proveedor presenta un conjunto de detalles diferentes. Al principio esta opción aparentemente debería eliminar los riesgos de un software hecho a la medida, pues de inicio obtiene las mejores prácticas de la industria y lo más último en tecnología, hace un lado los costos del desarrollo inicial el software a traves de los distribuidores y hace al distribuidor responsable por el mantenimiento a largo plazao del software.
    Aunque en realidad un ERP o CRM comercial podría ser más caro y difícil de personalizar, aparte que podría dejar al usuario vulnerable a depender de un solo proveedor.
    El software comercial requiere de un licenciamiento, incluso antes de que la organización sepa si realmente el software cumple con sus necesidades.
    El software comercial está basado en la visión  del proveedor de lo que podría ser una compañía "ideal", si esa visión se desvía de la realidad del usuario, entonces ahí tenemos una limitacion para cambiar el software esto porque no se tiene acceso al código fuente del software.
    Finalmente, si el proveedor es comprado por otra compañía, se sale del negocio o simplemente descontinúa el producto, entonces el usuario se quedará sin algún tipo de soporte para sus aplicaciones.


    La alternativa Open Source Code (Software de Código Fuente Abierto)


    El Código Abierto brinda una alternativa la cuál direcciona muchos de los problemas clave tanto del software comercial como de software hecho a la medida. De inicio el Open Source ofrece al usuario un código base disponible libremente como punto de inicio. El usuario puede obtenerlo gratis y libremente para probarlo, y saber si cumple con sus requerimientos, sin correr el riesgo de pagar el costo de licenciamiento de un software que podría no funcionarle.
    Si ninguna modificación es requerida, el software de código abierto puede ser implementado rápidamente tal como los software comerciales empaquetados.
    Si es requerida la adecuación del software, el usuario ya tiene un avance significativo con un existente código base desarrollado, por lo tanto las empresas pueden continuar con la personalización del software a traves de su propio personal  o hacer uso de la experiencia de la comunidad de desarrolladores.
    La ventaja de un proyecto código abierto es que trae el conocimiento de los requerimientos del negocio debido a la contribución de muchas organizaciones, reduciendo significativamente los típicos riesgos de un software hecho a la medida.
    La comunidad de código abierto también ofrece múltiples usuarios y desarrolladores que colaboran en el desarrollaro y pruebas de su software.
    El resultado neto es, mejor software en menos tiempo.
    A largo plazo el software de código abierto ofrece al usuario el control de un software personalizado y también de recursos externos que solo están disponibles en software comerciales.
    Con el código fuente en la mano, el usuario puede decidir sobre un soporte y actualización futura.
    Aquí nadie descontinuará el software, ya que el software comparte las mismas raíces del software libre, por lo que las organizaciones pueden obtener soporte y actualizaciones de la comunidad open source o adquirir soporte profesional de múltiples distribuidores en la comunidad.
    Asi que el riesgo de llegar a ser abandonado debido a la perdida del distribuidor o de un empleado llave son reducidos significativamente con el código abierto.
  • Sistema de cotizaciones de OaxRom Mobile Computing

    En OaxRom Mobile Computing hemos estado trabajando en diversos proyectos últimamente y uno de ellos ha sido nuestro propio sistema de cotizaciones el cuál ya está terminado y solo le hemos estado agregando cada vez más funcionalidades para la parte de administración, pero la parte del cotizador para los usuarios externos ya está terminada en su primera versión.



    Ahora puedes cotizar directamente desde nuestro sitio web http://www.oaxrom.com los productos y servicios que ofrecemos como nuestras soluciones de Conmutador de voz sobre IP CloudVoox, Teléfonos VoIP, Tarjetas Sangoma para puertos FXO & FXS, Telulares IP GSM & Gateways GSM Analogicos, Adaptadores Telefónicos Analógicos(ATAs) Linksys & Atcom, Porteros, Equipos para redes inalámbricas, Software para Call Centers, Tarificadores, etc.

    Posteriormente publicaremos la versión 2.0 del cotizador en AJAX.

    Por ahora hemos estado publicando los productos más comunes, pero poco a poco iremos capturando la información de toda la gama de productos y servicios que ofrecemos, si deseas conocer nuestros productos o servicios date una vuelta en nuestro cotizador y mándanos un feedback de que te pareció la interfaz.

    OaxRom Mobile Computing 2010
  • Convierte tu lector de código de barras en Wireless Barcode Scanner

    Desarrollando para un cliente una solución basada en J2ME que es java para dispositivos móviles como teléfonos celulares y smartphones, anduve buscando soluciones de lectores de códigos de barras con soporte bluetooth asi como también adaptadores de códigos de barras para celulares, encontré ambas opciones pero nada baratas, la más económica estaba en $500.00 US Dlls.

    Pero buscando y buscando encontré una solución que parece la más interesante a un precio bastante atractivo, el equipo mencionado es el Adaptador Inalámbrico para Lectores de Códigos de Barras, en este caso este adaptador se conecta al puerto del lector de código de barras y de ahí transmite la información vía bluetooth a cualquier dispositivo móvil que soporte bluetooth como puede ser un teléfono celular.

    Aquí muestro el modelo SL-BA10 que es para lectores Symbol como puede ser el LS1203. LS2208, LS1902

    Este adaptador cuesta menos de $100.00 US Dlls más el costo del lector de código de barras que puede ser el LS1203 que puede costar unos $100.00 US Dlls, por lo que podríamos tener un lector de código de barras inalámbrico bluetooth con valor menor a $200.00 US Dlls.

    Este adaptador es específico para Symbol Motorola, pero también los hay para Intermec, Datalogic y Zebex que son otras marcas de lectores de códigos de barras existentes en el mercado.

    Esto parece ser una solución económica para la aplicación móvil que estamos desarrollando que es un sistema de pedidos desarrollado en J2ME, por lo que podría integrarse con algún teléfono que soporte Java y Bluetooth de los cuáles cuestan alrededor de $100.00 US Dlls, sin duda una opción económica como Para toma de Pedidos e Inventarios en Batch y quizá usando GPRS hasta en línea mediante web services.
  • Anterior página 1 2 3 4 ... 11 Siguiente página
    109 entradas

    Estadísticas de visitantes

    185873

    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