<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Hola,<br>
      <br>
      El 27/08/12 21:09, David Rubert escribió:<br>
    </div>
    <blockquote
cite="mid:CAF-Hj--LXLR331yx=E9PyTmWQ8gi65Db=G9e9xzS2QffBm1umQ@mail.gmail.com"
      type="cite">Primero que nada, veo que hay varios apartados para la
      web:
      <div><br>
      </div>
      <div>* Página pública de información de un nodo de la PLN. Incluye
        información sobre  el propio nodo u otros nodos de la red. ¿Cómo
        hacemos esa información dinámica? Una opción sería páginas
        estáticas, pero el document_root de ese directorio fuera la raiz
        de un repositorio git, que fuera haciendo pulls frecuentes
        mediante cron (con lo que obtendría nueva documentación, nuevos
        nodos incorporados a la red, etc.) No sé si es eso lo que
        teníais pensado. ¿Qué otras opciones hay?</div>
    </blockquote>
    <br>
    La idea es que cada nodo mantenga unos ficheros con los listados de:<br>
    <br>
    * nodos PLN<br>
    * usuarios PLN<br>
    * usuarios locales<br>
    * info del nodo local<br>
    * y otros, ver 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <a href="http://pad.marsupi.org/plnfiles">http://pad.marsupi.org/plnfiles</a><br>
    <br>
    Por ejemplo, para actualizar el listado de nodos y de usuarios de la
    PLN, cada X un script descarga el listado de usuarios locales y los
    datos de todas las IPs de la VPN que respondan.<br>
    <br>
    Opcionalmente, un admin de un nodo podría decidir que en vez de
    mapear él mismo toda la red, descargará simplemente los ficheros que
    haya generado otro nodo que sí que mapee la red cada X<br>
    <br>
    <blockquote
cite="mid:CAF-Hj--LXLR331yx=E9PyTmWQ8gi65Db=G9e9xzS2QffBm1umQ@mail.gmail.com"
      type="cite"><br>
      <div>Otra cosa, he visto que habláis de publicar información en
        formato CSV. ¿Esto es requerimiento de Asterisk? ¿No podríamos
        publicar esa misma información en JSON? Es un formato mucho más
        atacable desde web, desde la capa de cliente podríamos acceder a
        los datos y presentarlos en el diseño sin tener que parsear nada
        de una manera cómoda y sencilla.</div>
    </blockquote>
    <br>
    Puse CSV por ser algo fácilmente parseable y que ocupa lo justo. +1
    a usar JSON, creo que el tiempo de los programadores vale más que
    los Mb que puedan llegar a ocupar de más el listado de usuarios.<br>
    <br>
    <blockquote
cite="mid:CAF-Hj--LXLR331yx=E9PyTmWQ8gi65Db=G9e9xzS2QffBm1umQ@mail.gmail.com"
      type="cite">
      <div><br>
      </div>
      <div>Veo que también habláis de geolocalizar los nodos con
        OpenStreetMaps, me parece cojonudo, por eso si definimos un
        formato de archivo JSON con todos los datos básicos sería
        fácilmente accesible desde cualquier sitio. Algo del estilo:</div>
      <div><br>
      </div>
      <div>wget -q -O /dev/stdout <a class="moz-txt-link-freetext" href="http://">http://</a><a moz-do-not-send="true"
          href="http://patiomaravillas.dyndns.org/patiomaravillas.json">http://patiomaravillas.dyndns.org/patiomaravillas.json</a></div>
      <div><br>
      </div>
      <div>{ name: "patiomaravillas",</div>
      <div>  dundi_publickey: "<a moz-do-not-send="true"
          href="http://patiomaravillas.dyndns.org/patiomaravillas.pub">http://patiomaravillas.dyndns.org/patiomaravillas.pub</a>",</div>
      <div>  tinc_publickey: "<a moz-do-not-send="true"
          href="http://patiomaravillas.dyndns.org/patiomaravillas">http://patiomaravillas.dyndns.org/patiomaravillas</a>",</div>
      <div>  position: { "lat": 3.1283872202, "lng": -0.98932823},</div>
      <div>  ....</div>
      <div>}</div>
      <div><br>
      </div>
      <div>Sólo con eso ya podríamos generar páginas estáticas, sin
        necesidad de ningún parser CGI que informaría dinámicamente de
        todos los nodos de la red.</div>
      <div><br>
      </div>
    </blockquote>
    <br>
    +1 , pero que el fichero con la información del nodo tenga un nombre
    genérico, por ejemplo pln-node.json<br>
    <br>
    Así los scripts podrán descargar éste fichero sin conocer el nombre
    del nodo, sólo con un wget a su IP en la VPN.<br>
    <br>
    <br>
    <blockquote
cite="mid:CAF-Hj--LXLR331yx=E9PyTmWQ8gi65Db=G9e9xzS2QffBm1umQ@mail.gmail.com"
      type="cite">
      <div><br>
      </div>
      <div>Para redondear el tocho, a ver qué os parece esta idea. Se me
        ocurre que a modo de Proof-of-concept se podría hacer hacer una
        demo web similar a lo que en su día impresionaba en la web de
        jahjah[0]. Básicamente, permitir vía web introducir un número de
        teléfono de origen y otro de destino, de manera que desemboca en
        que asterisk llama al origen, lo pone en espera y mientras llama
        al número de destino para terminar estableciendo la llamada. En
        su día era la caña, y hoy en día se podría hacer prácticamente
        gratix.</div>
      <div><br>
      </div>
      <div>Esto último es un poco marcianada, pero puede ser útil para
        coger experiencia en la implementación de webs que interactuen
        con asterisk, jejeje. </div>
      <div><br>
      </div>
      <div>[0] <a moz-do-not-send="true"
          href="http://www.jajah.com/call/trial/">http://www.jajah.com/call/trial/</a></div>
    </blockquote>
    <br>
    Estaría genial algo así :D<br>
    <br>
    Teléfono de origen: número tradicional PSTN<br>
    Teléfono destino: número PLN<br>
    <br>
    Otra: que en los resultados de la búsqueda del listín aparezca junto
    al teléfono un icono de llamar y que te dé opción de llamar desde el
    navegador o introducir tu teléfono tradicional.<br>
    <br>
    :D<br>
    <br>
    Saludos,<br>
    Santiago Crespo.<br>
  </body>
</html>