Cursos Asterisk en México

Ayuda con FreePBX con un proveedor

Colapsar

Anuncio

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

  • Ayuda con FreePBX con un proveedor

    Buenos días.

    Les escribo en mi nombre, pero también en el de miles de usuarios más de Vodafone España. Somos de ASDLZone, un foro de usuarios español donde configuramos routers neutros.

    El problema que tenemos es sencillo. No sabemos cómo crear el Trunk con FreePBX. Se trata de algo completamente por nuestra cuenta, sin soporte del operador. Lo hacemos extraoficialmente, obtenemos los datos SIP de nuestros router y queremos meterlos en la centralita FreePBX.

    ¿Qué hemos conseguido? En realidad mucho, hemos conseguido registrar y hacer funcionar teléfonos IP físicos de varias marcas y también softphones como PhonerLite.

    Esta es la configuración de Yealink, por ejemplo (100% FUNCIONAL):

    Nombre de registro: 3491XXXXXXX@ims.vodafone.es
    Nombre de usuario: +3491XXXXXXX
    Contraseña: YYYYYY
    Servidor SIP: ims.vodafone.es Puerto: 5095
    Habilitar servidor de salida Proxy: Sí
    Servidor de salida Proxy 217.130.174.Y Puerto 5095
    Transporte: UDP
    Copia de seguridad de Servidor de salida Proxy 217.130.174.Z Puerto 5095
    Transversal NAT: No



    ¿Qué nos falta? El Trunk de FreePBX. Es este, pero falla.

    PEER Details
    username=+3491XXXXXXX
    type=peer
    secret=YYYYYY
    qualify=no
    port=5095
    outboundproxy=217.130.174.XX:5095
    nat=yes
    insecure=port,invite
    host=ims.vodafone.es
    fromuser=+3491XXXXXXX
    fromdomain=ims.vodafone.es:5095
    context=default
    canreinvite=yes

  • #2
    Haz probado probar el contexto a "from-trunk" ademas te falta agregar los codecs, pon "allow" y "disallow", prueba cambiar de "peer" a "friend", Saludos !

    Código:
    http://www.voip-info.org/wiki/view/Asterisk+sip+type

    Comentario


    • #3
      Acepto tus cambios y también adjunto el REGISTER STRING:

      +3491XXXXXXX@"ims.vodafone.es:5095" : YYYYYY : "3491XXXXXXX.ims.vodafone.es"@217.130.174.XX:5 095


      Pero aún así sigue sin funcionar.

      Las llamadas entrantes funcionan perfectamente, aunque solo si se pone el Allow Anonymous Inbound SIP Calls a YES. Cosa rara...

      Las llamadas salientes es que no lo intenta, en el momento de marcar te devuelve un 480 sin ni siquiera intentarlo (he comprobado que la centralita NO progresa el INVITE hacia el proxy).

      Gracias por la ayuda.
      Editado por última vez por Malosa; https://asteriskmx.org/foros/member/2316-malosa en 07-22-2014, 05:34 PM.

      Comentario


      • #4
        Intenta cambiando el UserAgent muchos proxies bloquean al Asterisk.

        Comentario


        • #5
          Originalmente publicado por navaismo Ver Mensaje
          Intenta cambiando el UserAgent muchos proxies bloquean al Asterisk.
          Ya estaba cambiado (disculpa por no haberlo mencionado). De hecho, está puesto el mismo que el router de Vodafone.

          Comentario


          • #6
            No queda más que ver el SIP debug.

            Comentario


            • #7
              LOG:

              [2014-07-30 21:58:53] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@sub-record-check:13] GotoIf("SIP/203-00000005", "0?out,1") in new stack
              [2014-07-30 21:58:53] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@sub-record-check:14] Set("SIP/203-00000005", "__REC_STATUS=INITIALIZED") in new stack
              [2014-07-30 21:58:53] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@sub-record-check:15] Set("SIP/203-00000005", "NOW=1406753933") in new stack
              [2014-07-30 21:58:53] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@sub-record-check:16] Set("SIP/203-00000005", "__DAY=30") in new stack
              [2014-07-30 21:58:53] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@sub-record-check:17] Set("SIP/203-00000005", "__MONTH=07") in new stack
              [2014-07-30 21:58:53] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@sub-record-check:18] Set("SIP/203-00000005", "__YEAR=2014") in new stack
              [2014-07-30 21:58:53] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@sub-record-check:19] Set("SIP/203-00000005", "__TIMESTR=20140730-215853") in new stack
              [2014-07-30 21:58:53] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@sub-record-check:20] Set("SIP/203-00000005", "__FROMEXTEN=203") in new stack
              [2014-07-30 21:58:53] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@sub-record-check:21] Set("SIP/203-00000005", "__CALLFILENAME=out-652317XXX-203-20140730-215853-1406753933.5") in new stack
              [2014-07-30 21:58:53] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@sub-record-check:22] Goto("SIP/203-00000005", "out,1") in new stack
              [2014-07-30 21:58:53] VERBOSE[3284][C-00000004] pbx.c: -- Goto (sub-record-check,out,1)
              [2014-07-30 21:58:53] VERBOSE[3284][C-00000004] pbx.c: -- Executing [out@sub-record-check:1] ExecIf("SIP/203-00000005", "1?Set(__REC_POLICY_MODE=dontcare)") in new stack
              [2014-07-30 21:58:53] VERBOSE[3284][C-00000004] pbx.c: -- Executing [out@sub-record-check:2] GosubIf("SIP/203-00000005", "0?record,1(exten,652317XXX,203)") in new stack
              [2014-07-30 21:58:53] VERBOSE[3284][C-00000004] pbx.c: -- Executing [out@sub-record-check:3] Return("SIP/203-00000005", "") in new stack
              [2014-07-30 21:58:53] VERBOSE[3284][C-00000004] pbx.c: -- Executing [652317XXX@from-internal:6] Macro("SIP/203-00000005", "dialout-trunk,2,652317XXX,,off") in new stack
              [2014-07-30 21:58:53] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-dialout-trunk:1] Set("SIP/203-00000005", "DIAL_TRUNK=2") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/203-00000005", "0?sub-pincheck,s,1()") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/203-00000005", "0?disabletrunk,1") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-dialout-trunk:4] Set("SIP/203-00000005", "DIAL_NUMBER=652317XXX") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-dialout-trunk:5] Set("SIP/203-00000005", "DIAL_TRUNK_OPTIONS=tr") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-dialout-trunk:6] Set("SIP/203-00000005", "OUTBOUND_GROUP=OUT_2") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/203-00000005", "1?nomax") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Goto (macro-dialout-trunk,s,9)
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/203-00000005", "0?skipoutcid") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-dialout-trunk:10] Set("SIP/203-00000005", "DIAL_TRUNK_OPTIONS=") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-dialout-trunk:11] Macro("SIP/203-00000005", "outbound-callerid,2") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-outbound-callerid:1] ExecIf("SIP/203-00000005", "0?Set(CALLERPRES()=)") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-outbound-callerid:2] ExecIf("SIP/203-00000005", "0?Set(REALCALLERIDNUM=203)") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-outbound-callerid:3] GotoIf("SIP/203-00000005", "1?normcid") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Goto (macro-outbound-callerid,s,6)
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-outbound-callerid:6] Set("SIP/203-00000005", "USEROUTCID=") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-outbound-callerid:7] Set("SIP/203-00000005", "EMERGENCYCID=") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-outbound-callerid:8] Set("SIP/203-00000005", "TRUNKOUTCID=+34915524622") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-outbound-callerid:9] GotoIf("SIP/203-00000005", "1?trunkcid") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Goto (macro-outbound-callerid,s,14)
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-outbound-callerid:14] ExecIf("SIP/203-00000005", "1?Set(CALLERID(all)=+34915524622)") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-outbound-callerid:15] ExecIf("SIP/203-00000005", "0?Set(CALLERID(all)=)") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-outbound-callerid:16] ExecIf("SIP/203-00000005", "0?Set(CALLERID(all)=)") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-outbound-callerid:17] ExecIf("SIP/203-00000005", "0?Set(CALLERPRES()=prohib_passed_screen)") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-outbound-callerid:18] Set("SIP/203-00000005", "CDR(outbound_cnum)=+34915524622") in new stack
              [2014-07-30 21:58:54] VERBOSE[3284][C-00000004] pbx.c: -- Executing [s@macro-outbound-callerid:19] Set("SIP/203-00000005", "CDR(outbound_cnam)=") in new stack

              Comentario


              • #8
                Me ha costado poder subir el debug, pero ahí va:






                ¡Gracias!

                Comentario


                • #9
                  Todo parece indicar que tienes mal los detalles del peer, primero porque todas las llamadas entrantes las tratas como anonymous y después porque al enviar la llamada al peer Asterisk dice "Subscriber absent". Verifica tanto la linea de registro hacia el proveedor como los detalles de tu peer. El comando sip show registry debe mostrar registered y el comando sip show peers debe mostrar OK a tu peer.

                  Comentario


                  • #10
                    Gracias.

                    El asunto es que yo solo tengo los datos de registro:

                    Nombre de registro: 3491XXXXXXX@ims.vodafone.es
                    Nombre de usuario: +3491XXXXXXX
                    Contraseña: YYYYYY
                    Servidor SIP: ims.vodafone.es Puerto: 5095
                    Habilitar servidor de salida Proxy: Sí
                    Servidor de salida Proxy 217.130.174.Y Puerto 5095
                    Transporte: UDP
                    Copia de seguridad de Servidor de salida Proxy 217.130.174.Z Puerto 5095
                    Transversal NAT: No


                    Me funcionan perfectamente en 3 dispositivos: un teléfono IP, el softphone PhonerLite e incluso un adaprador ATA (conversor RJ11-RJ45). Los tres me registran perfectamente y recibo y realizo llamadas.

                    El problema es que no sé qué campos poner en PEER datails. De momento, poniendo este tipo de campos tal cual los he puesto me ha funcionado todos los operadores españoles que ofrecen SIP: Movistar, Jazztel y Netelip.

                    ¿O he de suponer que si el resgistro no funciona es culpa del REGISTER STING?


                    +3491XXXXXXX@"ims.vodafone.es:5095" : YYYYYY : "3491XXXXXXX.ims.vodafone.es" @ 217.130.174.XX : 5095
                    (es así, sin espacios)

                    La verdad es que he comprobado que todos los campos del mensaje REGISTRER coinciden.

                    Saludos y gracias.

                    Comentario


                    • #11
                      "sip show registry" muestra "Registered", "1 SIP registration"
                      "sip show peers" dice OK a mis teléfonos y Unmonitored a la conexión SIP de Vodafone.

                      Cuando intento hacer la llamada saliente, lo que sale es:
                      WARNING[3003][C-00000002]: app_dial.c:2437 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Subscriber absent)

                      Comentario


                      • #12
                        Registered y OK debe decir para tu proveedor, los demás no interesan, para que tu peer del proveedor diga OK usa el setting qualify=yes en la configuración del peer.

                        Comentario


                        • #13
                          Eso es: está en Registered y OK, pero no funciona.

                          Comentario


                          • #14
                            Estoy viendo que el dominio ims.vodafone.es no se puede resolver, asi que ese equipo no existe y es solo una dirección para nombre de dominio.

                            Reemplaza la configuración de host por la de la dirección IP de tu proxy de salida (217.130.174.XX). Al menos eso debe provocar que el mensaje de subscriber absent ya no te aparezca.
                            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
                              Efectivamente al cambiar el host por la IP del proxy ya no da subscriber absent, pero ahora directamente mi proveedor no responde al mensaje INVITE.

                              Mañana haré más pruebas.

                              Comentario

                              Principales Usuarios Activos

                              Colapsar

                              No hay usuarios activos superiores.
                              Trabajando...
                              X