Archive for the ‘PrimusProject’ Category

Bridge IPv6 con OpenVPN, segunda parte

Friday, August 31st, 2007

Como hoy me encuentro inspirado, y Saúl me recordó el otro día que tenía algo pendiente, vamos a completar la historia que iniciamos el otro día.

Así que ahora nos toca configurar el cliente VPN cuya configuración es idéntica a la que usaríamos para conectarnos a un servidor OpenVPN cualquiera salvo que en lugar de usar interfaces tun los usaremos del tipo tap:
(more…)

Bridge IPv6 con OpenVPN, primera parte

Friday, August 10th, 2007

Tras tener olvidado durante un tiempo IPv6 ayer volví a conectar las estaciones y portátiles que tenemos en el trabajo con este protocolo a través del servicio de go6. La necesidad de usar IPv6 es para empezar a experimentar en el funcionamiento de la señalización SIP y transporte RTP para sesiones de audio y video. Una de las premisas fundamentales era que siempre se dispusiera de la misma dirección IPv(4|6) independientemente de que uno se encontrara en la LAN o en la VPN. Lo que viene a continuación es una guía básica de como ponerlo en funcionamiento sin entrar en detalle de como funciona y las diferentes opciones de las que disponemos.
(more…)

Cliente SIP para dispositivos móviles

Wednesday, July 25th, 2007

Llevo unos días dándole vueltas a la mejor forma de desarrollar un cliente SIP para móviles, PDA’s, consolas y tal. Busco algo multiplataforma y alternativas a Java así que la opción que creo que queda es Flash Lite de la gente de Adobe. La duda que tengo es si es posible licenciar la obra como software libre, lo lógico sería que si pero habrá que darle un repaso a las EULA’s de todas las herramientas que hacen falta para montar esto, si alguien lo tiene claro se podría echar un comentario.

El Primus Project va despegando

Tuesday, July 24th, 2007

El escuadrón de diseño ya tiene terminada la maqueta de lo que será el sitio del Proyecto Primus. Como base está corriendo Radiant CMS con algunas extensiones que hemos desarrollado para el formulario de contacto y los comentarios de las entradas en la bitácora. Esperamos que para mediados de agosto tengamos el sitio totalmente accesible al público y veáis las cosillas en las que estamos trabajando :-)

Dolores de cabeza con SOAP::Mapping::Object

Wednesday, July 4th, 2007

Estoy trabajando en un cliente en Ruby para conectar a la API de Voxbone basada en SOAP, seguramente sea el primer proyecto que aloje en RubyForge. El problema es que me he pasado toda la mañana intentando averiguar como interpretar los datos que recibia como respuesta. Me llegaba un objeto de la clase SOAP::Mapping::Object que a simple vista era un string infumable dentro de un array. Tras dar varias vueltas por listas, blogs y demás encontré en ruby-talk un hilo que inició una persona con el mismo problema, al que le respondieron que podía usar como claves los nombres de los elementos XML como si de un hash se tratara, flipando vamos….

Al final ya tengo los datos tal y como los quiero ver en mi aplicación. Un ejemplo:

irb(main):001:0> require 'vox_api_client'
=> true
irb(main):002:0> vox = VoxboneAPIClient.new
ignored attr: {}version
ignored attr: {}nillable
ignored attr: {}default
ignored element: {http://www.w3.org/2001/XMLSchema}minExclusive
ignored element: {http://www.w3.org/2001/XMLSchema}minLength
ignored element: {http://www.w3.org/2001/XMLSchema}maxLength
=> #
irb(main):003:0> puts vox.get_pop_list.to_yaml
—
BE:
- 81.201.82.21
- 81.201.82.22
- 81.201.82.23
- 81.201.82.24
- 81.201.82.25
- 81.201.82.26
- 81.201.82.27
- 81.201.82.28
- 81.201.82.30
- 81.201.82.31
- 81.201.82.32
- 81.201.82.33
US:
- 81.201.84.21
- 81.201.84.22
- 81.201.84.23
- 81.201.84.24
- 81.201.84.25
- 81.201.84.26
- 81.201.84.27
- 81.201.84.28
- 81.201.84.29
- 81.201.84.30
- 81.201.84.31
- 81.201.84.32
- 81.201.84.33
- 81.201.84.34
=> nil

Este es el método de la API del ejemplo y el que viene a continuación el que lo llama, un poco sucio pero ya lo limpiaré:

def get_pop_list
  params = { :UserToken => user_token }
  res = @driver.GetPOPList(params)

  pops = {}
  res.arrayOfPOPs['POP'].each do |pop|
    country_code = pop['Name']
    ip_addresses = pop['ArrayOfIPs']['IP']
    pops[country_code] = ip_addresses
  end

  return pops
end