Cursos Asterisk en México

Problema con el registro entre 2 asterisk

Colapsar

Anuncio

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

  • Problema con el registro entre 2 asterisk

    Hola a todos he configurado mis dos asterisk y he tratado de que exista comunicacion entre ellos, que las extensiones de ellos puedan funcionar , hasta el momento me da este problema podrian ayudarme


    NOTICE[6070]: chan_iax2.c:4973 register_verify: No registration for peer 'serverA'

  • #2
    Problema con el registro entre 2 asterisk

    Con esto lo único que se logra saber es que existe un usuario remoto que trata de registrarse mediante IAX2 a tu Asterisk con el nombre de usuario 'serverA', por lo que necesitas que exista una entrada llamada [serverA] dentro de tu iax.conf en el Asterisk que te está dando este error.

    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
      Problema con el registro entre 2 asterisk

      Hola , gracias por contestar =) , mira he intentado conectar dos servidores asterisk sin ke hasta el momento haya logrado que se conecten y pueden hacer llamadas entre ellos, estas son las configuraciones que le he hecho a mis servidores , podrias echarle un vistazo para ver que es lo que tengo mal, por que hasta el momento he probado varias configuraciones pero ninguna me ha dado resultado.

      server A
      iax.conf
      ***********************
      [general]
      port=4569
      amaflags=default
      bandwidth=low
      disallow=all
      allow=gsm
      jitterbuffer=yes
      ;auth=md5
      tos=lowdelay
      trunk=yes

      [7000]
      type=friend
      context=conexion
      secret=7000
      host=dynamic
      allow=gsm

      [7001]
      type=friend
      context=conexion
      secret=7001
      host=dynamic
      allow=gsm

      [conexion_peer]
      type=peer
      username=conexion_peer
      host=10.0.7.38
      auth=plaintext
      secret=dolphin
      auth=plaintext
      username=peer
      context=conexion
      ***************************
      server A /extensions.conf
      [general]
      static = yes
      writeprotect = no
      clearglobalvars = no

      [entrada]
      exten => 7000,1,Dial(IAX2/7000)
      exten => 7001,1,Dial(IAX2/7001)

      [conexion]
      exten => 1000,1,Dial(IAX2/10.0.7.38/1000)
      exten => 1001,1,Dial(IAX2/10.0.7.38/1001)
      exten => 7000,1,Dial(IAX2/10.0.7.40/7000)
      exten => 7001,1,Dial(IAX2/10.0.7.40/7001)

      ------------------------------------
      Server B /iax.conf

      [general]
      port=4569
      bandwidth=low
      disallow=all
      allow=gsm
      jitterbuffer=yes
      tos=lowdelay

      [1000]
      type=friend
      context=conexion
      secret=1000
      host=dynamic
      allow=gsm

      [1001]
      type=friend
      context=conexion
      secret=1001
      host=dynamic
      allow=gsm

      [conexion_user]
      type=user
      username=conexion_user
      auth=plaintext
      secret=dolphin
      context=conexion
      **************************
      Server B/extensions.conf
      [general]
      static = yes
      writeprotect = no
      clearglobalvars = no
      [entrada]
      exten => 1000,1,Dial(IAX2/1000)
      exten => 1001,1,Dial(IAX2/1001)

      [conexion]
      exten => 7000,1,Dial(IAX2/10.0.7.40/7000)
      exten => 7001,1,Dial(IAX2/10.0.7.40/7001)
      exten => 1000,1,Dial(IAX2/10.0.7.38/1000)
      exten => 1001,1,Dial(IAX2/10.0.7.38/1000)


      --------------------------------------
      He creado dos extensiones en cada servidor, si cambio el contexto en cada servidor a "entrada" , hasta ahi se ke al menos por separado funcionan.

      Cuando quiero interconectarlos , para realizar llamadas entre los servers, cree un contexto nuevo llamado "conexion", al momento de realizar la llamada desde extensiones diferentes, uno de los servers me da este resultado.
      ejemplo de la extension 1000 ( server B) hacia la extension 7000 (server A) me da este error

      -- Accepting AUTHENTICATED call from 10.0.7.39:
      > requested format = gsm,
      > requested prefs = (),
      > actual format = gsm,
      > host prefs = (gsm),
      > priority = mine
      -- Executing [1000@conexion:1] Dial("IAX2/7000-2", "IAX2/10.0.7.38/1000") in new stack
      -- Called 10.0.7.38/1000
      [Jun 14 13:42:53] WARNING[9492]: chan_iax2.c:6951 socket_process: Call rejected by 10.0.7.38: No authority found
      -- Hungup 'IAX2/conexion_peer-3'
      == Everyone is busy/congested at this time (1:0/0/1)
      [Jun 14 13:43:03] WARNING[9509]: pbx.c:2460 __ast_pbx_run: Timeout, but no rule 't' in context 'conexion'
      -- Hungup 'IAX2/7000-2

      y el otro server me da este

      CLI> [Jun 14 13:38:28] NOTICE[19266]: chan_iax2.c:7149 socket_process: Host 10.0.7.40 failed to authenticate as conexion_user

      El problema radica yo creo en el archivo extensions.conf por que tal vez no encuentre la ruta de destino la llamada , pero como saber si al menos ya estan conectados o que necesito modificarle al contexto para que encuentre la ruta hacia el otro servidor y que la llamada se realize.

      He leido que tengo que usar la variable register tambien , pero este es en caso de que mi direccion sea dinamica, si uso esta variable, haciendo los cambios en la variable host =dynamic | mi ip , y colocando register => conexion_user:dolphin@10.0.7.38 no me acepta la conexion y me da este otro error

      en el server A

      [Jun 14 15:49:15] WARNING[9694]: chan_iax2.c:6951 socket_process: Call rejected by 10.0.7.38: No authority found
      -- Hungup 'IAX2/10.0.7.38:4569-5'
      == Everyone is busy/congested at this time (1:0/0/1)
      [Jun 14 15:49:25] WARNING[9720]: pbx.c:2460 __ast_pbx_run: Timeout, but no rule 't' in context 'conexion'
      -- Hungup 'IAX2/7000-4'

      En el server B

      [Jun 14 15:44:39] NOTICE[19591]: chan_iax2.c:7149 socket_process: Host 10.0.7.40 failed to authenticate as conexion_user
      [Jun 14 15:44:49] NOTICE[19590]: chan_iax2.c:7149 socket_process: Host 10.0.7.40 failed to authenticate as conexion_user
      [Jun 14 15:45:20] NOTICE[19595]: chan_iax2.c:4973 register_verify: No registration for peer 'conexion_user' (from 10.0.7.40)

      Cualquier ayuda es bien recibida =)

      Comentario


      • #4
        Problema con el registro entre 2 asterisk

        El problema que tienes es que mandas el comando Dial hacia una IP, sin especificar el username y password.

        Te recomiendo 2 cosas:
        1) Agrega las IPs correspondientes a cada server dentro de los iax.conf bajo la instrucción host
        2) Cuando mandes las llamadas, mándalas de la siguiente manera Dial(IAX2/conexion_peer@conexion_peer/${EXTEN})

        La sintaxis para que el Dial te salga bien es Dial(IAX2/<username>@<contexto>/<extension>). EN este caso, tu username se llama conexion_peer y tu contexto (en el que dicho username está definido) es conexion_peer también.

        En otras palabras por si no me doy a entender, <username> es el usuario con el que vas a ser reconocido del otro lado, y <context> es la entrada de iax.conf que te dice DONDE debes de mandar la llamada.

        Espero te sirva. 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


        • #5
          Problema con el registro entre 2 asterisk

          Disculpa pero no entendi muy bien , dices que debo seguir esta sintaxis
          Dial(IAX2/<username>@<contexto>/<extension>)

          y segun deberia quedar de esta manera

          Dial(IAX2/conexion_peer@conexion_peer/${EXTEN})
          sin embargo mi contexto es "conexion" pero si lo cambio a esta me marca que no encuentra el contexto.

          Comentario


          • #6
            Problema con el registro entre 2 asterisk

            Si, es que cuando digo contexto, me refiero al nombre que pones entre corchetes [] dentro del iax.conf.

            Otra cosa: agrega la instrucción peercontext en cada uno de tus usuarios IAX en iax.conf. El peercontext se refiere al contexto al que el usuario va a tener acceso del otro lado, una vez que se haya ejecutado el dial.

            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


            • #7
              Problema con el registro entre 2 asterisk

              Hola he aqui de nuevo, he agregado el campo de Host , con la ip que le corresponde a cada servidor , sin embargo me da este error en ambos servers

              -----------------------------
              Server A (conexion_peer)
              -- Accepting AUTHENTICATED call from 10.0.7.39:
              > requested format = gsm,
              > requested prefs = (),
              > actual format = gsm,
              > host prefs = (gsm),
              > priority = mine
              -- Executing [1001@conexion:1] Dial("IAX2/10.0.7.39:32789-2", "IAX2/conexion_peer@conexion_peer/1001") in new stack

              [Jun 15 11:40:42] NOTICE[17069]: chan_iax2.c:6769 socket_process: Rejected connect attempt from 10.0.7.40, who was trying to reach '1001@'
              [Jun 15 11:40:42] WARNING[17072]: chan_iax2.c:6951 socket_process: Call rejected by 10.0.7.40: No authority found
              [Jun 15 11:40:42] NOTICE[17072]: chan_iax2.c:1725 iax2_destroy: Avoiding IAX destroy deadlock
              -- Called conexion_peer@conexion_peer/1001
              -- Hungup 'IAX2/conexion_peer-3'
              == Everyone is busy/congested at this time (1:0/0/1)
              [Jun 15 11:40:52] WARNING[17086]: pbx.c:2460 __ast_pbx_run: Timeout, but no rule 't' in context 'conexion'
              -- Hungup 'IAX2/10.0.7.39:32789-2'

              ------------------------

              En otra configuraciones me he fijado que invierten las ip de los servers que se conectaran , lo he hecho pero me da este otro resultado

              server A
              *CLI> -- Accepting AUTHENTICATED call from 10.0.7.39:
              > requested format = gsm,
              > requested prefs = (),
              > actual format = gsm,
              > host prefs = (gsm),
              > priority = mine
              -- Executing [1001@conexion:1] Dial("IAX2/10.0.7.39:32789-2", "IAX2/conexion_peer@conexion_peer/1001") in new stack
              -- Called conexion_peer@conexion_peer/1001
              [Jun 15 11:43:45] WARNING[17118]: chan_iax2.c:6951 socket_process: Call rejected by 10.0.7.38: No authority found
              -- Hungup 'IAX2/conexion_peer-3'
              == Everyone is busy/congested at this time (1:0/0/1)
              [Jun 15 11:43:54] WARNING[17134]: pbx.c:2460 __ast_pbx_run: Timeout, but no rule 't' in context 'conexion'
              -- Hungup 'IAX2/10.0.7.39:32789-2'

              [Jun 15 11:44:26] NOTICE[17118]: chan_iax2.c:7359 socket_process: Registration of 'conexion_user' rejected: 'Registration Refused' from: '10.0.7.38'
              [Jun 15 11:45:17] NOTICE[17121]: chan_iax2.c:7359 socket_process: Registration of 'conexion_user' rejected: 'Registration Refused' from: '10.0.7.38'
              ------------------------

              Server B
              *CLI> [Jun 15 11:39:08] NOTICE[4320]: chan_iax2.c:6769 socket_process: Rejected connect attempt from 10.0.7.40, who was trying to reach '1001@'

              Asi he hecho los cambios en mis configuraciones, en cada server (server A y B)

              Se que defini conexion_peer (A) y conexion_user (B) , donde aplico el conexion_user

              exten => 7000,1,Dial(IAX2/conexion_peer@conexion_peer/7000)
              exten => 7001,1,Dial(IAX2/conexion_peer@conexion_peer/7001)
              exten => 1000,1,Dial(IAX2/conexion_peer@conexion_peer/1000)
              exten => 1001,1,Dial(IAX2/conexion_peer@conexion_peer/1001)

              y en cada extension

              [7000]
              type=friend
              context=conexion
              peercontext=conexion_peer
              secret=7000
              host=dynamic
              allow=gsm

              Si mi server A es el peer , entonces debo dejar mi extensions.conf como esta definido anteriormente, para recibir llamadas desde el servidor B (user), mi server user por lo que te entendi debe direccionar hacia el A que es el peer el extensions que puse esta bien.
              Muchas dudas =S

              Comentario

              Nube de Etiquetas

              Colapsar

              Principales Usuarios Activos

              Colapsar

              No hay usuarios activos superiores.
              Trabajando...
              X