Cursos Asterisk en México

Asterisk detras de NAT y Xlites detras de otro NAT diferente

Colapsar

Anuncio

Colapsar
No hay anuncio todavía.
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Asterisk detras de NAT y Xlites detras de otro NAT diferente

    La situación es ésta:

    Centralita asterisk detrás de nat (ip publica por ejemplo 83.33.44.55)
    Clientes xlite detras de otro nat (ip publica por ejemplo 214.23.42.56)

    Los xlite se consiguen loguear en la centralita. Cuando el xlite 1 llama al xlite 2, a éste último le salta la llamada del xlite 1 y puede descolgar. Pero al atender la llamada no se oye nada y en la consola del asterisk aparece:

    Jan 12 14:30:20 WARNING[3699]: chan_sip.c:694 retrans_pkt: Maximum retries exceeded on call EEBA57FA-3CD4-4D9D-875D-EBC76231104A@192.168.3.30 for seqno 10013 (Non-critical Response)

    cuelgo los dos xlites, pero si hago en la consola "sip show channels", compruebo que la comunicación sigo abierta.

    Cómo puedo solucionarlo?

  • #2
    Asterisk detras de NAT y Xlites detras de otro NAT diferente

    tienes la opcion de nat=yes? tienes forwardiados todos los puertos de tu rtp.conf? o almenos abiertos?

    Comentario


    • #3
      En el router que es la puerta de enlace de la centralita (83.33.44.55), están mapeados los puertos UDP 5060,4569,5036,del 10000 al 10500 (en rtp.conf he configurado que el rango de puertos RTP sea del 10000 al 10500).

      Sí, uso nat=yes. También he probado a añadirles qualify=yes.

      Hay algo que no entiendo bien y que creo que puede ser la causa del problema. Si hago un "sip show peers" en asterisk, veo desde que ip (214.23.42.56) están registrados los xlites. También aparecen los puertos. Me imagino que, cuando un xlite llama a otro, asterisk manda los paquetes (intentando hacerlos llegar al segundo xlite) a la ip 214.23.42.56 y al correspondiente puerto (el del segundo xlite) que aparece al hacer "sip show peers". Pero como sabe el router (83.33.44.55) a que xlite (a qué dirección ip) tiene que mandar esos paquetes?? Es que si se tratase de una comunicación normal, esos puertos (los que aparecen al hacer "sip show peers") tendrian que mapearse en el router de los xlites a cada una de las ip´s correspondientes, y claro está que esto es inviable, puesto que con cada login de un xlite en la centralita lo hace con un puerto diferente.

      Comentario


      • #4
        Prueba agregando la línea de localnet=xxx.xxx.xxx.xxx/yyy.yyy.yyy.yyy en cada uno de tus sip.conf

        Donde xxx.xxx.xxx.xxx es tu red local de esa máquina y las yyy.yyy.yyy.yyy son tu máscara de subred
        dCAP Christian Cabrera R.
        Para aprender a usar Asterisk, asiste a uno de mis cursos Asterisk
        Si deseas asesoría pagada, por favor contáctame

        Comentario


        • #5
          Las ip´s privadas de los xlite´s son 192.168.3.2 y 192.168.3.3; la ip privada de la centralita asterisk (en la oficina remota) es 192.168.5.100

          En la centralita asterisk de la oficina remota (el unico asterisk que hay) he configurado en su sip.conf:

          localnet=192.168.5.0/255.255.255.0
          externip=83.33.44.55

          Y no funciona.

          También he probado con:

          localnet=192.168.0.0/255.255.0.0
          externip=83.33.44.55

          Y tampoco he conseguido que funcione.

          Comentario


          • #6
            para este caso no te resultara mejor usar iaxcomm? o algun software para iax2? y asi solo encargarte de 1 puerto?

            Comentario


            • #7
              Podría pensar que si es el problema del cual hablas (lo de que el router no sepa identificar a que X-Lite va cada paquete) puesto que he pasado por cosas similares
              dCAP Christian Cabrera R.
              Para aprender a usar Asterisk, asiste a uno de mis cursos Asterisk
              Si deseas asesoría pagada, por favor contáctame

              Comentario


              • #8
                Creo que la forma de luchar contra el Nat, es generar VPNs..... te doy una idea de como lo haria.
                1) En el servidor Asterisk, instalo un servidor de VPN poptop (pptpd).
                2) En el firewall que este nateando al servidor Asterisk, hago un prerouting de los ports tcp y udp del servicio pptpd, no recuerdo bien de memoria los ports, pero creo que son los protocolos 47,50,51 y el port 500 y 1723.
                3) Si el firewwall tiene ip publica fija, no hay problemas, sino, habria que asociarlo a algun dominio.
                4) En las PC en donde corren los X-lite, configuro el cliente de VPN, y los conecto con el server, de esa forma el servidor Asterisk y los clientes X-lite, formaran una Lan entre ellos.

                Si conoces un poco de VPNs de este estilo client-server, lo puedes hacer andar en un par de minutos.
                Yo actualmente lo estoy utilizando ya que tengo conectado 2 servidores Asterisk y uno de ellos esta detras de un NAT.
                Te recomiendo esta web http://pptpclient.sourceforge.net/ de todas formas en internet hay mucha informacion sobre el tema, en bulma hay muchos articulos tambien, y en planetmirror hay parches para el kernel y mas informacion.

                Comentario


                • #9
                  He leido en www.voip-info.org algo sobre montar un SIP Proxy (puesto que asterisk no lo es). De momento, he intentado instalar SER sip proxy (uno de los que recomiendan en la web) sin éxito. Piensan que ésta es una buena solución???. No sé cómo funcionaria de esta manera, pero me imagino que entonces los xlite´s tendrían que registrarse en el sip proxy y no en el asterisk. Qué les parece la idea del Sip Proxy? han tenido alguna experiencia con ello?

                  Comentario


                  • #10
                    Asterisk detras de NAT y Xlites detras de otro NAT diferente

                    Creo que SER no te va a solucionar el problema del NAT.
                    Yo tuve problemas muy similares y la mejor alternativa es una armar una VPN.
                    En mi caso particular use OpenVPN, pero cualquiera herramienta es valida. De esta forma te funcionara todo (SIP, IAX2, H323, RTP).

                    Una segunda opcion como dice Mike es usar IAX2, pero te limitas a los pocos softphones que lo implementan.

                    Comentario


                    • #11
                      El tema de la VPN resolvería el problema de un plumazo pero hay situaciones en las que no es posible. Por poner un ejemplo, teniendo en casa una conexión compartida con el vecino y hardware SIP, en este caso no puedo tener una maquina para hacer de VPN.

                      A mi me pasa igual que a Cardan, Asterisk detrás de NAT (al ejecutar el sjphone con STUN, me dice que es del tipo Full Cone Restricted NAT) y los dos teléfonos detrás de NATs simétricos.

                      Ya he probado a jugar con:
                      nat = yes, never, no, route
                      qualify = yes, no
                      canreinvite = yes,no
                      localnet
                      externip
                      En la centralita los puertos los tengo con DMZ
                      rtp.conf con el rango 8000 a 65000
                      Cada vez que hacía un cambio reiniciaba el servidor en lugar de hacer reload, para que tomara bien los cambios.

                      El tema es que por más que me rompa los cuernos no consigo hacer que el audio viaje entre los dos teléfonos, o bien cuando llamo a la centralita (meetme, voicemail, ....) tampoco llega el audio.

                      Y la verdad que todo esto ya me tiene "más quemao que la moto un jippi".

                      Un ejemplo:
                      sip.conf:
                      realm=80.32.90.5
                      port=5060
                      bindaddr=0.0.0.0
                      nat=yes
                      canreinvite=no
                      localnetwork=192.168.0.0/255.255.0.0
                      externip=80.32.90.5

                      [10101]
                      type=friend
                      context=default

                      nat=yes
                      qualify=yes
                      canreinvite=no

                      regexten=10101
                      username=10101
                      secret=10101
                      callerid=Antonio F. Cano <10101>
                      host=dynamic
                      dtmfmode=rfc2833
                      incominglimit=1
                      mailbox=10101
                      callgroup=1
                      pickupgroup=1

                      -- Registered SIP '10101' at 80.35.1.123 port 50808 expires 60


                      tuxymini*CLI> sip show peer 10101
                      Addr->IP : 80.35.1.123 Port 50808
                      Defaddr->IP : 0.0.0.0 Port 5060
                      Full Contact : sip:10101@192.168.0.21:10000
                      -------> Aquí ¿Qué pada con Defaddr? ¿Full Contact no debería de ser 80.32.90.5?

                      Ahora marcamos desde el teléfono la extensión 92 (Parking):

                      Jan 25 23:26:13 WARNING[16864]: chan_sip.c:694 retrans_pkt: Maximum retries exceeded on call cwlKpBXx78vvmxP2@192.168.0.21 for seqno 1 (Non-critical Response)
                      -- Executing Park("SIP/10101-33cb", "") in new stack
                      == Parked SIP/10101-33cb on 93. Will timeout back to default,s,1 in 1800 seconds
                      -- Playing 'digits/9' (language 'es')
                      -- Playing 'digits/3' (language 'es')
                      -- Started music on hold, class 'default', on SIP/10101-33cb
                      -- Added extension '93' priority 1 to parkedcalls
                      == Spawn extension (default, s, 1) exited KEEPALIVE on 'SIP/10101-33cb'
                      Jan 25 23:26:21 WARNING[16864]: chan_sip.c:694 retrans_pkt: Maximum retries exceeded on call cwlKpBXx78vvmxP2@192.168.0.21 for seqno 2 (Non-critical Response)

                      --------> Vamos a ver que pasa
                      tuxymini*CLI> sip show channels
                      Peer User/ANR Call ID Seq (Tx/Rx) Format
                      192.168.0.21 10101 cwlKpBXx78v 00101/00002 ulaw
                      1 active SIP channel(s)

                      ¿192.168.0.21? No debería de ser la IP pública del peer 80.35.1.123

                      tuxymini*CLI> sip show channel cwlKpBXx78v
                      tuxymini*CLI>
                      * SIP Call>
                      Direction: Incoming
                      Call-ID: cwlKpBXx78vvmxP2@192.168.0.21
                      Our Codec Capability: 1039
                      Non-Codec Capability: 1
                      Their Codec Capability: 4
                      Joint Codec Capability: 4
                      Format ulaw
                      Theoretical Address: 192.168.0.21:10000
                      Received Address: 80.35.1.123:50808
                      NAT Support: Always
                      Our Tag: 956792047
                      Their Tag: rrRJCkBTFWQfgwFO
                      SIP User agent: PA168S
                      Username: 10101
                      Original uri: sip:10101@192.168.0.21:10000
                      Caller-ID: Antonio F. Cano <10101>
                      Need Destroy: 0
                      Last Message: Rx: INVITE
                      Promiscuous Redir: No
                      Route: sip:10101@192.168.0.21:10000
                      DTMF Mode: rfc2833

                      ¿El route intenta hacerlo el Asterisk a una IP privada que no existe ya que el teléfono está en otra red distinta?

                      Muchas gracias por todo lo que están haciendo y ayudando.

                      Comentario


                      • #12
                        Originalmente publicado por antoniofcano
                        El tema de la VPN resolvería el problema de un plumazo pero hay situaciones en las que no es posible. Por poner un ejemplo, teniendo en casa una conexión compartida con el vecino y hardware SIP, en este caso no puedo tener una maquina para hacer de VPN.
                        Cual es la arquietectura de conexion a Internet que tenes?
                        de alguna forma se debe poder instalar una VPN.

                        Comentario


                        • #13
                          Hola,

                          Yo tengo una situacion parecida. Estoy conectado a una red wireless en la que hay un servidor asterisk. El Softphone que uso es X-Lite, pero el problema esta en que desde las maquinas de mi red local no se escucha nada, aunque estoy conectado y puedo hacer llamads. En canvio, desde una maquina con ip de la red wireless funciona perfectamente.
                          Se puede solucionar el problema abriendo puertos en mi AP? Alguna idea?

                          Salu2

                          Comentario


                          • #14
                            Originalmente publicado por arrowes
                            Hola,

                            Yo tengo una situacion parecida. Estoy conectado a una red wireless en la que hay un servidor asterisk. El Softphone que uso es X-Lite, pero el problema esta en que desde las maquinas de mi red local no se escucha nada, aunque estoy conectado y puedo hacer llamads. En canvio, desde una maquina con ip de la red wireless funciona perfectamente.
                            Se puede solucionar el problema abriendo puertos en mi AP? Alguna idea?

                            Salu2
                            Tu caso parece curioso. Podrías por favor explicar más que dispositivos usas para conectar tu red?
                            dCAP Christian Cabrera R.
                            Para aprender a usar Asterisk, asiste a uno de mis cursos Asterisk
                            Si deseas asesoría pagada, por favor contáctame

                            Comentario


                            • #15
                              Abrir puertos en un AP?. Los AP no filtran el trafico a menos que vengan con un firewall o router incorporado, pero en tal caso debes abrir los puertos del firewall o router y no del AP. Podrias explicar un poco mas la situacion?.
                              Segun entiendo tu escenario seria algo asi como una doble NAT, es decir tu WISP te asigna una direccion de su red privada ye te permite salir a travez de su router (primera NAT) a su vez vos volves a natear esa ip privada (segunda NAT), en otras mas privadas correspondientes a tu red.
                              Si es asi la situacion es realmente complicada, podrias usar iax2 para comunicarte con otros clientes del wisp y me parece que no sera posible comunicarse con alguien en internet usando esta topologia. Culaquier cosa postea mas datos para que podamos ayudarte. Suerte!!!

                              Comentario

                              Principales Usuarios Activos

                              Colapsar

                              No hay usuarios activos superiores.
                              Trabajando...
                              X