Elastix 3 Multi Tenant – Configuración 1 (Extensiones y trunks)

elastix3

Luego de participar en el ELastix World en Chile y ver la excelente participación del gran Edgar Landivar @elandivar (Creador de Elastix) explicando las novedades de Elastix 3 y antes escuchar a Jon Bonilla @jbmanwe , explicar a nivel de arquitectura de software , Elastix 3+Kamailio y motivar estoy seguro, a mas de uno a meterle tiempo y ganas, al nuevo mundo que se abre en el rubro de VoIP con esta solución , me puse manos a la obra.

Personalmente he metido mucho tiempo a entender el funcionamiento de Kamailio, ya que tiene muchas formas de funcionar y requiere bases de conocimiento del protocolo SIP a bajo nivel,  sin embargo luego del curso, que tuve la oportunidad de llevar en México con Olle Johansson @oej  Nunca vuelves a ver a SIP del mismo modo y todo lo que es posible hacer.

Vamos al grano, este tutorial asume que se ha podido instalar correctamente una plataforma ELX3 y todos los líos de red están superados. así mismo es necesario la correcta resolución de DNS y las consultas del servidor NTP en la plataforma.

 

Paso 1.- Crear Organización

Como primer paso es necesario crear una organización , en este caso la vamos a llamar SILCOM y con el dominio silcom.com.pe , como se ve a continuación.

1.1.- Ingresamos a Manager/ Organization / Organization

elastix3

1.2.- Hacer Clic en “Create New Organization” y proceder a llenar los datos de la siguiente forma.

elastix3

 

 

1.3.- Una vez que la organización está creada , es necesario recargar la configuración , al mismo estilo de ELX2.X

elastix31.4.- Finalmente tenemos la organización creada de esta forma:

elastix3

Paso 2.- Crear Extensiones

Vamos a crear las extensiones de esta organización de la siguiente forma:

 

2.1.- Ingresar a PBX / PBX Applications / Extensions  , al ingresar veremos la extensión 100 creada por defecto la cual pertenece al administrador de la organización.

elastix3

2.2.- Hacer clic en “Crearte New Extension” y crearemos la extensión 101 para este organización de la siguiente forma.

elastix3Luego las opciones del voicemail

elastix3

2.3.- Una vez que la extensión está creada , es necesario recargar la configuración , al mismo estilo de ELX2.X

elastix3

Paso 3.- Configurar Softphone

Para la configuración , voy a usar Blink creación de AG Projects en donde se encuentra Saúl Ibarra @saghul desarrollándolo , y porqué blink ?  por que es el sotfphone que mejor respeta el estándar del protocolo SIP, recordar que Kamailio es quien está adelante de Asterisk en ELASTIX3 y necesita UAs que conversen “SIP del bueno”

 

3.1.- Agregar la cuenta:

elastix3

3.2.- Configurar adecuadamente las opciones de cifrado RTP :

elastix3

3.3.- Luego configurar el proxy de salida :

elastix3

3.4.- Finalmente veremos que la extensión está registrada :

elastix3

3.5.- Del lado de Elastix 3 la veremos la extensión  de la siguiente forma :

elastix3

Una manera bastante sencilla de probar la extensión , es llamando al buzón de voz , *98

Selection_999(107)

Paso 4.- Crear la troncal de salida

4.1.- Ingresar a PBX / PBX / Trunks

elastix3

4.2.- Hacer clic en “Create New Trunk” y creamos la troncal de la siguiente forma

General :

elastix3

Peer Settings:

elastix3Registration :

elastix3

Del lado de Elastix 3 la veremos de la siguiente forma :

elastix3

 

Paso 5.- Configurar la ruta de salida

5.1.- Ingresar a PBX / PBX / Outbound Routes y editamos la ruta creada (9 + numero) luego vamos a la pestaña “Tunk Secuence” y le indicamos que use la troncal creada previamente, como se muestra a continuación :

 

elastix3

5.2.- Probar llamadas salientes :

elastix3

Notas Finales

Tener en cuenta que esto solo es el punto de partida,  para todo lo que ofrece la plataforma , no solo a nivel de funcionalidades multi empresa , si no también a nivel de seguridad , espero escribir mas adelante algo de ello, también es altamente recomendable leer el “Manual de Administrador de ELastix 3” el cual se puede descargar desde aquí  , Además de tener conocimientos de Kamailio,  ayudan mucho en entender como es el funcionamiento interno de Elastix3.

Agradecimientos finales a  @jbmanwe por ayudarme en algunos detallitos 😀  en Kamailio.

UPDATE: 14/07/2015
En el pasado Elastix Be Free 2015 desarrollado en México, un buen amigo y colega instructor Alfio Muñoz brindó una charla sobre Elastix MT la cual detalla algunos aspectos adicionales de configuración que estoy seguro pueden servirles,

Pueden mirar el vídeo de la charla/taller : Elastix MT al descubierto

Espero les sirva el tutorial

Saludos

Juan Oliva
@jroliva

 

 

 

 

 

 

Anuncios
Esta entrada fue publicada en Manuales y tutoriales por jroliva. Guarda el enlace permanente.

Acerca de jroliva

Juan Oliva, es un consultor de seguridad informática y telefonía IP con 10 años de experiencia en el campo . Muy involucrado en proyectos de pruebas de penetración , análisis y explotación vulnerabilidades, pruebas de ingeniería social, seguridad física, revisión de código, entre otras tareas de seguridad informática. Así mismo, desarrolla proyectos de implementación y mantenimiento de VoIP, basadas en Asterisk y Elastix, proyectos de callcenter, soluciones en la nube y hosted PBX, Aseguramiento de plataformas Linux, Windows. Ha estado trabajando para una variedad de empresas en donde ha desarrollado proyectos para el estado peruano, así como para entidades privadas, nacionales y del extranjero, cuenta con certificaciones vigentes en Ethical hacking, Linux y telefonía IP. Es instructor de cursos de Ethical Hacking y certificaciónes como Linux Professional Institute y Elastix, donde ha tenido oportunidad de realizar capacitaciones en el Perú, así como en el extranjero. Es investigador de vulnerabilidades, y creador de contenidos, que son publicados en su blog personal jroliva.wordpress.com el cual mantiene desde hace mas de 6 años.

41 pensamientos en “Elastix 3 Multi Tenant – Configuración 1 (Extensiones y trunks)

  1. una consulta, en la sección de Peer Settings de la troncal, el parámetro “host” es la dirección IP del otro servidor donde nos deseamos conectar?????

  2. cuando dices superados todos los problemas de red a que te refieres, es que no he podido hacer funcionar esta version, tengo un VPS en la nuve con ip publica, la instalacion funciona perfectamente, creo las organizaciones y las extensiones, pero ninguna se puede registrar.

  3. Gracias por el post Juan, una consulta cuando quiero crear una organización, me sale un mensaje un problema con imap (Error: Error trying create email_accountfailed to login to IMAP), incluso con mi correo de gmail me da el mismo problema. estoy probando en una maquina virtual, que podria estar mal.?
    Gracias por la respuesta.

    • Hola Alejandro

      Pues es bien raro el error , por que no es que se cree un servidor de correo local por lo menos en ese momento, verifica que tengas salida a internet en esa maquina , que los dns y servicio ntp no estén bloqueados, en resumen trata de que todo el entorno esté lo mas libre posible.

      Saludos
      @jroliva

  4. Hola,
    como seria la configuracion de una troncal SIP entre elastix 3.0 y uno 2.5 es obligacion usar el Register String ?.

    saludos muy buena tu pagina

  5. Juan, buenas tardes,

    Curioso, a mi me pasa como a Jorge Vanegas.

    He instalado Elastix 3.0 en una VM de un PROXMOX que tengo en un proveedor público, he realizado el “yum update” del sistema, he solucionado el problema que se produce con el password del Admin cuando se realiza el “yum update”, y hasta aquí, Elastix 3.0 levantado.

    Bien, he seguido tu post y llegados al momento de registrar la Extensión desde un terminal o softphone, nada, no puedo registrarlo.

    La única diferencia que veo, es que en vez de registrarlo poniendo el Usuario en el softphone en la forma “2000@manolo.com”, lo estoy poniendo “2000@192.168.20.20”. No hay problema, ¿no?.

    También he hecho la prueba en una VM de un PROXMOX en local y nada…

    ¿Se me escapa algún truco?

    ¿Lo mismo no debería de realizar el “yum update” tras la instalación por si las…?

    Saludos y gracias

    • Hola Ramsés

      Pues no hay ningún truco 😀 inclusive les comento que yo no realicé actualización alguna con “yum update” bajé la iso (ultima por cierto) y procedí a configurar, por hay en algún momento reinicie el sistema, pero mas nada.

      Respecto al registro de extensiones, un detalle que tienen que tener en cuenta, es que no es igual que con Elastix 2.X , el outbound proxy tiene un papel clave y todo depende del tipo de hard/soft SIP usen , ya que depende, como envíe a Kamailio el registro SIP.

      En general la recomendación es meterte a leer logs de Kamailio y Asterisk.

      Espero les sirva

      Saludos
      Juan Oliva
      @jroliva

    • Hola Vladimir
      Los aplicativos considerados como Addons , no estan activados en esta versión, sin embargo según lo que indicó Edgar Landivar en su conferencia del ElastixWorld 2014, los incluirían posteriormente, imagino que sacaran una nueva versión con ello.

      Saludos
      Juan Oliva
      @jroliva

  6. Juan, buenas tardes,

    Cosas con las que me he encontrado, por si lo podemos cotejar, a ver si estoy en lo cierto:

    * A la hora de agregar la cuenta en Blink:

    – En primer lugar, si en “SIP Address” ponemos la Extensión que hemos creado en Elastix 3.0, en tu caso “101” (101@silcom.com.pe), no me funciona, es decir, no se registra. Claro, en mi caso pongo la Extensión que yo he creado (101@empresa1.com).

    Para que me funcione, en el campo “SIP Address” tengo que poner el “Device” que muestra al crear la Extensión, es decir, en tu caso “101_silcom.com.pe”.

    – En “Password”, ponemos la password que le hemos puesto al crear la Extensión en Elastix.

    ¡¡¡ Pero OJO !!! Me he encontrado con una situación que nos puede volver loco si no lo tenemos en cuenta, no sé si llamarlo BUG o Medida de Seguridad, el caso es que, si no lo tenemos en cuenta, nos puede dar algún dolor de cabeza. Si no vamos a Elastix 3, editamos cualquier parámetro de la configuración de una Extensión creada, y no volvemos a poner la “Password”, es decir, dejamos el campo en blanco, Elastix 3 no mantiene la Password que le habíamos puesto anteriormente, sino que la pone en blanco.

    – En “Outbound Proxy” ponemos la IP de nuestro servidor Elastix 3, o en su defecto, el Nombre DNS del Server, si tenemos resolución de éste.

    – En “Auth Username”, que en tu caso dejas en blanco, si no ponemos la Extensión que hemos creado en Elastix, en tu caso “101”, no podemos registrarnos con Blink.

    Ah, y otra cosa que he tenido que tocar en Blink para que me permita realizar llamadas es, en la pestaña “Media”, poner la opción “sRTP Encryption” en “Disabled”, si no, aunque se registraba, no me permitía ni siquiera llamar al buzón (*98).

    ¿A alguien más le sucede esto o les funciona tal cual lo has descrito tú?

    Saludos,

    Ramses

    • Hola Ramsés
      A ver, te comento por cada item planteado:

      – SIP Address
      Pues yo use 101@silcom.com.pe y tu 101_empresa1.com , dejame probar si no tengo lios , quizas tenga que ver algo en la resolucion ya que silcom.com.pe existe pero no se.

      – Outbound Proxy
      De acuerdo , es lo mismo

      – Auth Username
      Pues en mi caso no tuve que poner nada , igual voy a probarlo.

      – sRTP Encryption Disabled
      Si es es correcto, es una particularidad de blink , aunque en opcional no debería activarse de igual forma no lo hace.

      – Password de la GUI
      Programación de GUI, voy a probarlo si no habrá que reportarlo a Elastix.

      Seguimos conversando

      Saludos
      Juan Oliva
      @jroliva

  7. Pingback: Troncalización de Elastix MT y A2BILLING mediante SIP | Juan Oliva

  8. Hola excelente info, muy buena, seguí los pasos y configure sin problema el trunk saliente, ahora no logro hacer funcionar los DID (Rutas entrantes), si alguien tiene algún consejo seria bienvenido. Gracias

  9. A mi lo que me sucede (bajo el mismo escenario de Proxmox) es que desde la consola del asterisk hago un show peers y en el caso de sip no me muestra nada, como si no tuviera ninguna extension creada. En el caso de iax si me las muestra correctamente.
    Esto solo me sucede en la virtualizada, en la instalacion que tengo sobre una PC me funciona bien.
    Sobre el mismo Proxmox tengo 4 Elastix versiones anteriores y varios Asterisk en produccion sin problemas.
    Alguien tiene alguna idea porque puede ser esto?

  10. Hola como va, es 100% necesario usar proxy? Por algun motivo no logro que se registre la extension, el dominio esta resolviendo bien… Alguien podria darme alguna pista?

  11. Hola, consulta tengo 1asterisk en una empresa, el cliente ya quiere usar soft desde Android, no me gusta mucho la idea de publicar el 5060de un equipo en producción con 400extenciones, estoy intentando armar un kamalion sip proxy pero no logro, si en otro server pongo elástix 3Mt puedo decirle que haga solo de sip proxy usando ese kamalion?? O alguien q me de una gran ayuda en kamalio??

    Graciassssss

  12. Hola Lucas

    Desde mi punto de vista te complicas mucho liandote con Kamailio o ElastixMT, sin embargo también es una solución.

    Personalmente, yo lo único que hago en ese caso es asegurarme que mi sip.conf esté bien configurado, para evitar ennumeracion e invites no autorizados, y luego configuro fail2ban bien afinado.

    Tengo N instalaciones solo mostrando el 5060 con está receta sin problema alguno de seguridad.

    Espero te sirva
    Juan Oliva.

  13. Hola , he instalado el Elastix MT pero las extensiones no pueden llamar a otras extensiones , las extension es que marco salen por la troncal de salida, se supone que deben ser enrutadas dentro del elastix ,
    Espero me puedas dar un idea de lo que puede estar pasando
    Saludos

  14. juan tu aporte es muy bueno sin embargo hay muchos problemas con registro de extensiones y creación de did entrante, personalmente conseguí el registro de extensiones pero aun me falta mucho habra otra “guia total” pero esta vez para elastix MT. gracias y un saludo desde trujillo.

  15. Buenas colegas…
    Pregunto a Juan y a quien me sepa responder. Alguna indicacion para levantar Elastix MT atras de NAT?
    Tengo varias instalaciones de Elastix 2.x con IP privada detras de pfsense sin ningun problema y pudiendo registrar phones desde internet, pero entiendo que ahora la parte de Asterisk no habla mas al mundo sino a traves de Kamalio via localhost.
    Entonces los parametros para NAT que se agregaban en sip_general_custom.cfg imagino que no sirven mas y que lo que se deberia configurar para que soporte NAT seria el Kamalio?
    Conocen algun metodo/instructivo para lograr esto? O es una practica muy descabellada poner un Elastix MT detras de NAT?

    Agradezco sus experiencias y a Juan por compartir su tiempo, espacio en el blog y conocimiento para todos.

    Gracias y saludos!

    • Hola, yo he logrado montar un servidor detras del nat, si como comentas ya no sirve de mucho el archivo de configuracion sip_general_custom.cfg, pero en las opciones de administracionde de PBX viene ya la opcion del NAT, lo que no he podido realizar es las rutas entrantes, :/

  16. Buenos días llevo algunos dias intendando configurar el elastix MT, me ha funcionado el registro de extensiones, el registro del trunk, pero no me funciona las llamadas hacia el exterior, ni de dentro a fuera ni de fuera a dentro (no realiza las llamadas), si funcionan entre extensiones. Alguien me puede echar una mano? he provado de contactar con varias empresas que dan soporte y en el forum de elastix (http://forum.elastix.org/viewtopic.php?f=47&t=132211). Espero impacientemente alguna respuesta, en caso de que sea un proyecto en fase de pruevas, existe alguna otra alternativa, muchas gracias

    • Hola Oscar, como estas? Yo estuve jugando con Elastix 3 a principios del año dentras de un firewall y tuve algunos problemas sobre todo por el cambio stack interno en cuanto al procesamiento SIP a traves de Kamailio que no lo conocia y la falta de doc oficial en cuanto a la parte interna del Elastix 3 no ayudó mucho.
      Aprovecho y te propongo que trabajemos juntos asi buscamos resolver ambos temas y de paso queda documentado aqui al menos.
      Cuentame (puedes cambiar las IPs por similares x seguridad):
      – como tienes instalado el Elastix en cuanto a la red. (nat, FW, LAN, WAN, DMZ)
      – haz hecho debug SIP a ver qeu se ve?
      – haz hecho un snif con tcpdump para ver que se ve? (ten en cuenta que lo que hace Kamailio no lo puedes ver en la consola Asterisk).

      Avisame y vamos avanzando.

      abrazo

      • De momento el servidor lo tengo en local en modo de pruevas, los trunks funcionan ja que las pruevo en otra centralita de pruevas y funcionan. Tengo unos debug echos con asterisk -rnvvvvvddddddd, tcpdump -i eth0 -n -s 0 port 5060 -vvv -w, tcpdump -s 0 -i eth0 -w, pero aparte de haber muchisima informacion no se interpretar los debugs, he provado de buscar información para saber interpretar, pero la informacion que encuentro no me es de mucha utilidad. Si me facilitas un sitio donde te los pueda dejar y los revises y asi ayudarme a interpretar dicha informacion. Algunos ficheros los tengo en pcap (wireshark) y otros en txt
        Gracias

      • Esto te puede ser de ayuda, es el debug de sip set debug on

        [Klocalhost*CLI>
        [0K— (8 headers 0 lines) —

        [Klocalhost*CLI>
        [0K

        INVITE sip:699223344@emp.com;transport=TCP SIP/2.0
        Record-Route:
        Record-Route:
        Via: SIP/2.0/UDP 127.0.0.1;branch=z9hG4bK5489.31cb3c0ecbb15e1cb294b0ee503fdf63.0;i=1
        Via: SIP/2.0/TCP 10.10.0.95:62035;rport=4574;branch=z9hG4bK-524287-1—fb5331642f97e9af
        Max-Forwards: 69
        Contact:
        To:
        From: ;tag=41405117
        Call-ID: 44XFUe0yfhFZGFj-W5vX1A..
        CSeq: 2 INVITE
        Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, MESSAGE, OPTIONS, INFO, SUBSCRIBE
        Content-Type: application/sdp
        Supported: replaces, norefersub, extended-refer, timer, outbound, path, X-cisco-serviceuri
        User-Agent: Z 3.9.32144 r32121
        Allow-Events: presence, kpml
        Content-Length: 256

        v=0
        o=Z 0 0 IN IP4 10.10.0.113
        s=Z
        c=IN IP4 10.10.0.113
        t=0 0
        m=audio 12902 RTP/AVP 3 110 8 0 97 101
        a=rtpmap:110 speex/8000
        a=rtpmap:97 iLBC/8000
        a=fmtp:97 mode=30
        a=rtpmap:101 telephone-event/8000
        a=fmtp:101 0-16
        a=sendrecv
        a=nortpproxy:yes

        — (17 headers 13 lines) —
        Sending to 127.0.0.1:5060 (NAT)
        Sending to 127.0.0.1:5060 (NAT)
        Using INVITE request as basis request – 44XFUe0yfhFZGFj-W5vX1A..
        Found peer ‘103_emp.com’ for ‘103_emp.com’ from 127.0.0.1:5060

        [Klocalhost*CLI>
        [0KFound RTP audio format 3
        Found RTP audio format 110
        Found RTP audio format 8
        Found RTP audio format 0
        Found RTP audio format 97
        Found RTP audio format 101
        Found audio description format speex for ID 110
        Found audio description format iLBC for ID 97
        Found audio description format telephone-event for ID 101
        Capabilities: us – (gsm|ulaw|alaw), peer – audio=(gsm|ulaw|alaw|speex|ilbc)/video=(nothing)/text=(nothing), combined – (gsm|ulaw|alaw)
        Non-codec capabilities (dtmf): us – 0x1 (telephone-event|), peer – 0x1 (telephone-event|), combined – 0x1 (telephone-event|)
        Peer audio RTP is at port 10.10.0.113:12902
        Looking for 699223344 in emp.com-from-internal (domain emp.com)
        list_route: hop:
        list_route: hop:

        SIP/2.0 100 Trying
        Via: SIP/2.0/UDP 127.0.0.1;branch=z9hG4bK5489.31cb3c0ecbb15e1cb294b0ee503fdf63.0;i=1;received=127.0.0.1;rport=5060
        Via: SIP/2.0/TCP 10.10.0.95:62035;rport=4574;branch=z9hG4bK-524287-1—fb5331642f97e9af
        Record-Route:
        Record-Route:
        From: ;tag=41405117
        To:
        Call-ID: 44XFUe0yfhFZGFj-W5vX1A..
        CSeq: 2 INVITE
        Server: Asterisk PBX 11.13.0
        Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
        Supported: replaces, timer
        Session-Expires: 1800;refresher=uas
        Contact:
        Content-Length: 0

        [Klocalhost*CLI>
        [0KAudio is at 15568
        Adding codec 100003 (ulaw) to SDP
        Adding codec 100004 (alaw) to SDP
        Adding codec 100002 (gsm) to SDP
        Adding non-codec 0x1 (telephone-event) to SDP

        [Klocalhost*CLI>
        [0K

        SIP/2.0 183 Session Progress
        Via: SIP/2.0/UDP 127.0.0.1;branch=z9hG4bK5489.31cb3c0ecbb15e1cb294b0ee503fdf63.0;i=1;received=127.0.0.1;rport=5060
        Via: SIP/2.0/TCP 10.10.0.95:62035;rport=4574;branch=z9hG4bK-524287-1—fb5331642f97e9af
        Record-Route:
        Record-Route:
        From: ;tag=41405117
        To: ;tag=as6770c08c
        Call-ID: 44XFUe0yfhFZGFj-W5vX1A..
        CSeq: 2 INVITE
        Server: Asterisk PBX 11.13.0
        Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
        Supported: replaces, timer
        Session-Expires: 1800;refresher=uas
        Contact:
        Content-Type: application/sdp
        Require: timer
        Content-Length: 277

        v=0
        o=root 2100248627 2100248627 IN IP4 127.0.0.1
        s=Asterisk PBX 11.13.0
        c=IN IP4 127.0.0.1
        t=0 0
        m=audio 15568 RTP/AVP 0 8 3 101
        a=rtpmap:0 PCMU/8000
        a=rtpmap:8 PCMA/8000
        a=rtpmap:3 GSM/8000
        a=rtpmap:101 telephone-event/8000
        a=fmtp:101 0-16
        a=ptime:20
        a=sendrecv

        [Klocalhost*CLI>
        [0KREGISTER 11 headers, 0 lines
        Reliably Transmitting (NAT) to (null):
        REGISTER sip:sip.infordisa.com SIP/2.0
        Via: SIP/2.0/UDP 0.0.0.0:5080;branch=z9hG4bK2fef4567;rport
        Max-Forwards: 70
        From: ;tag=as40f41398
        To:
        Call-ID: 5a00676562ee46cb0dc00f8c6e6b5e86@[::1]
        CSeq: 226 REGISTER
        User-Agent: Asterisk PBX 11.13.0
        Authorization: Digest username=”1004100″, realm=”asterisk”, algorithm=MD5, uri=”sip:sip.infordisa.com”, nonce=”219f37c4″, response=”0a0f562f4d1530ead9b0a9acf247a2a8″
        Expires: 120
        Contact:
        Content-Length: 0

  17. Buenas tardes me puse Elastix Mt, sin embargo utilizan el códec G729, pero cuando pongo los ajustes de las conexiones no salen y el error “Using SIP RPT TOS bits 184 == Using SIP RPT CoS mark 5”, la forma de resolver este tipo de error?

    graciosamente

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s