Cursos Asterisk en México

INVITE perdido usando TLS+OpenVPN

Colapsar

Anuncio

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

  • INVITE perdido usando TLS+OpenVPN

    Hola, estoy probando una instalación que usa OpenVPN, TLS/SRTP con Asterisk 11.4.0 y el teléfono Yealink T20P. El teléfono obtiene correctamente la IP del túnel OpenVPN y se registra correctamente con señalización TLS.

    El problema surge cuando marco para probar, el INVITE llega al asterisk, éste responde con el clásico UNAUTHORIZED, el teléfono empieza a mandar unos NOTIFY y SUBSCRIBE, pero jamás reenvía el INVITE con el resultado del CHALLENGE.

    Si deshabilito la parte TLS:5061 y regreso a UDP:5060 en el teléfono, se puede marcar sin problema alguno.

    Aqui el sip debug --> http://pastebin.com/hsiA079d

  • #2
    Creo que es un bug de Yealink. En mis cursos tengo una práctica de levantar TLS con T20P y tengo resultados similares:

    Tras crear el certificado, instalarlo al T20, meter la configuración a la cuenta, funciona bien hasta la primera llamada. Una vez que haces la primera llamada, Asterisk deja de responder a las peticiones que el teléfono envía.

    Si utilizo la opción de captura pcap del teléfono se observa como el primer invite lo envía correctamente a TCP 5061, pero a partir de ahí el segundo invite lo envía al UDP 5060. Es como si el teléfono "regresara" a sus orígenes de UDP, en vez de continuar con el TLS.

    Haz un debug por pcap a nivel del teléfono y/o Asterisk y checa lo que te comento. Si te pasa exactamente lo mismo, creo que puedo levantar un reporte a través del canal de distribuidores de Yealink y ver que corrijan el problema. Si hay algo que me consta es que si atienden los errores a nivel de software y están desarrollando constantemente.

    Por cierto, se me hace curioso que uses exactamente el mismo segmento de OpenVPN que yo

    Saludos,
    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


    • #3
      Gracias Christian, voy a hacer esas capturas y te comento. Sobre el segmento si es curioso, tengo una fijación por las redes 10.X.X.X la de tu casa es: 10.0.1.0/24

      PD Que fácil es configurar los yealink con tls/srtp y lo de openvpn(salvo lo del posible bug) para el precio que tienen son sumamente útiles un +1000 a yealink creo que por eso andan fuertes en el mercado.

      Comentario


      • #4
        Hola,

        Adjunto el PCAP del teléfono, el CAP del servidor, el syslog del teléfono y el sip debug de asterisk. Lo que me llama la atención es que en el syslog del teléfono por la linea 220 se ve esto:

        Código:
        Aug  7 16:57:08 syslog[625]: <1> | LEVEL4 | Message received from: 10.200.0.1:5061
        Aug  7 16:57:08 syslog[625]: <1> | LEVEL5 | STATE MACHINE MSG: [2xx received for request outside call!] 
        Aug  7 16:57:08 syslog[625]: <1> | LEVEL5 | free transaction ressource 13 117720900
        Aug  7 16:57:08 syslog[625]: <1> | LEVEL5 | free nict ressource
        Aug  7 16:57:08 syslog[625]: <1> | ERROR | SSL ERROR ZERO RETURN - SHUTDOWN
        Aug  7 16:57:08 syslog[625]: <1> |WARNING| TLS closed
        Aug  7 16:57:08 syslog[625]: <1> | LEVEL5 | Register Fail,Need Re-Register!
        Aug  7 16:57:08 syslog[625]: <1> | LEVEL4 | Register status changed to  [(LS_REGISTER_FAIL) -- (3)], reason = [<info failid="" failreason=""/>]
        Y a partir de ahí comienza don el re-registro y el invite como que queda en el limbo. Con los archivos CAP no logré ver que en efecto se regresará al puerto UDP todas las transacciones se ven en TLSv1, del lado del teléfono las tiene marcadas como UDP y en la columna info tienen la leyenda openvpn y los datos van encriptados.

        He estado probando con otros softphones como clientes y estos si envían la llamada, donde fallan es en el encriptado srtp lo que me hace pensar que si es algo del T20P.

        Gracias y saludos.
        Archivos Adjuntos

        Comentario


        • #5
          Haciendo más pruebas veo que si deshabilito el srtp en la configuración del peer y en el T20P la llamada si viaja por TLS y si se ejecuta sin problemas. Solo que el RTP no va encriptado.

          Algún softphone que recomienden con soporte TLS/SRTP he tratado con Jitsi/Bria/Blink/MicroSIP y estos me generar un error de SSL:

          Código:
          == Problem setting up ssl connection: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca
          [Aug  8 01:43:12] WARNING[29105]: tcptls.c:261 handle_tcptls_connection: FILE * open failed!
          Y el softphone Phoner parace no soportar SRTP por lo que al querer generar una llamada me mada el error:
          Código:
           == Using SIP RTP CoS mark 5
          [Aug  8 02:38:50] WARNING[29837][C-00000017]: chan_sip.c:10469 process_sdp: Matched device setup to use SRTP, but request was not!
          Ahora veo que todas esas quejas en la web son ciertas ni con la receta de la wiki de asterisk se logra una conexión TLS/SRTP

          Comentario


          • #6
            Tengo un hardphone digium, quieres que lo pruebe? Digo, si sirve de algo espero q funcione y ya sabras que comprar en dado caso

            Saludos
            Hector Alvarez
            dCAP Certified #2199
            http://mx.linkedin.com/in/alvarezhector/

            Comentario


            • #7
              En un ambiente local(igual con TLS/SRTP) el teléfono T20P funciona sin problemas. Me estoy quedando sin cabello :S

              Comentario


              • #8
                Hola Christian, ¿los T28P tienen este problema también? ¿O son confiables en este aspecto?

                Comentario


                • #9
                  No he probado con los T28P porque los T20s son los de batalla y los que utilizo durante el curso.

                  Acabo de ver un mensaje que pusiste. El error FILE * open failed! te aparece cuando no instalas en tu sistema operativo el ca.crt que Asterisk crea para firmar los certificados. Si lo instalas dando doble click en el certificado (al menos en Windows), el error desaparece.
                  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


                  • #10
                    Hola, si tengo el certificado instalado

                    Comentario

                    Principales Usuarios Activos

                    Colapsar

                    No hay usuarios activos superiores.
                    Trabajando...
                    X