Cursos Asterisk en México

Fastagi - ayuda.

Colapsar

Anuncio

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

  • Fastagi - ayuda.

    Estimados Amigos:

    Estoy intentando generar una conexión por fastagi entre 2 servidores, mediante un script de php pero al ejecutarlo no me esta retornando el verbose q puse en el php, dejo aca el ejemplo:


    llamandolo local me funciona pero al ejecutarlo desde el otro equipo no...

    esto es lo que tengo de prueba:

    #!/usr/bin/php -q
    <?php
    include('/var/lib/asterisk/agi-bin/phpagi/phpagi.php');
    $agi = new AGI();
    $agi->verbose("TEST");
    ?>

    y lo llamo asi desde el dialplan hacia el equipo remoto de la misma red.
    exten => _XXXXX.,1,Agi(agi://192.168.0.201/test.php)


    el agi esta en el directorio base:

    /var/lib/asterisk/agi-bin/test.php

    al ejecutarlo me sale esto:

    -- Executing [0961200131@default:1] AGI("SIP/2000-00000000", "agi://192.168.0.201/test.php") in new stack
    -- AGI Script agi://192.168.0.201/test.php completed, returning 0
    == Auto fallthrough, channel 'SIP/2000-00000000' status is 'UNKNOWN'


    Muchas Gracias , espero una luz para continuar...

  • #2
    Y tu server tiene permisos para accesar al directorio? Habilita el AGI DEBUG para saber un poco mas de la falla.

    Comentario


    • #3
      Hola Amigo , creo que tengo problemas de conexion por el puerto en la configuracion de telnet , como debe ir los parametros de conexion en los servidores?

      tengo en la ruta: nano /etc/xinetd.d/fastagi

      service fastagi
      {
      socket_type = stream
      user = root
      group = nobody
      server = /var/lib/asterisk/agi-bin/phpagi/phpagi-fastagi.php
      wait = no
      protocol = tcp
      bind = 192.168.0.201
      port = 4573
      disable = no
      }




      esto me aparece en el cli al ejecutar:

      Connected to Asterisk 1.4.44 currently running on pruebausa1 (pid = 3304)
      Verbosity is at least 3
      -- Executing [7777@default:1] AGI("SIP/2000-00000009", "agi://192.168.0.201/test.php") in new stack
      AGI Tx >> agi_network: yes
      AGI Tx >> agi_network_script: test.php
      AGI Tx >> agi_request: agi://192.168.0.201/test.php
      AGI Tx >> agi_channel: SIP/2000-00000009
      AGI Tx >> agi_language: es
      AGI Tx >> agi_type: SIP
      AGI Tx >> agi_uniqueid: 1357581683.9
      [Jan 7 15:01:23] ERROR[3443]: utils.c:968 ast_carefulwrite: write() returned error: Connection reset by peer
      AGI Tx >> agi_callerid: 2000
      [Jan 7 15:01:23] ERROR[3443]: utils.c:968 ast_carefulwrite: write() returned error: Broken pipe
      AGI Tx >> agi_calleridname: demo jp
      [Jan 7 15:01:23] ERROR[3443]: utils.c:968 ast_carefulwrite: write() returned error: Broken pipe
      AGI Tx >> agi_callingpres: 0
      [Jan 7 15:01:23] ERROR[3443]: utils.c:968 ast_carefulwrite: write() returned error: Broken pipe
      AGI Tx >> agi_callingani2: 0
      [Jan 7 15:01:23] ERROR[3443]: utils.c:968 ast_carefulwrite: write() returned error: Broken pipe
      AGI Tx >> agi_callington: 0
      [Jan 7 15:01:23] ERROR[3443]: utils.c:968 ast_carefulwrite: write() returned error: Broken pipe
      AGI Tx >> agi_callingtns: 0
      [Jan 7 15:01:23] ERROR[3443]: utils.c:968 ast_carefulwrite: write() returned error: Broken pipe
      AGI Tx >> agi_dnid: 7777
      [Jan 7 15:01:23] ERROR[3443]: utils.c:968 ast_carefulwrite: write() returned error: Broken pipe
      AGI Tx >> agi_rdnis: unknown
      [Jan 7 15:01:23] ERROR[3443]: utils.c:968 ast_carefulwrite: write() returned error: Broken pipe
      AGI Tx >> agi_context: default
      [Jan 7 15:01:23] ERROR[3443]: utils.c:968 ast_carefulwrite: write() returned error: Broken pipe
      AGI Tx >> agi_extension: 7777
      [Jan 7 15:01:23] ERROR[3443]: utils.c:968 ast_carefulwrite: write() returned error: Broken pipe
      AGI Tx >> agi_priority: 1
      [Jan 7 15:01:23] ERROR[3443]: utils.c:968 ast_carefulwrite: write() returned error: Broken pipe
      AGI Tx >> agi_enhanced: 0.0
      [Jan 7 15:01:23] ERROR[3443]: utils.c:968 ast_carefulwrite: write() returned error: Broken pipe
      AGI Tx >> agi_accountcode:
      [Jan 7 15:01:23] ERROR[3443]: utils.c:968 ast_carefulwrite: write() returned error: Broken pipe
      AGI Tx >>
      [Jan 7 15:01:23] ERROR[3443]: utils.c:968 ast_carefulwrite: write() returned error: Broken pipe
      -- AGI Script agi://192.168.0.201/test.php completed, returning 0
      == Auto fallthrough, channel 'SIP/2000-00000009' status is 'UNKNOWN'

      Comentario


      • #4
        ¿Y si haces un telnet 127.0.0.1 4573 te responde algo?
        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
          servidor 1 me responde en:

          [root@pruebausa1 agi-bin]# telnet 127.0.0.1 4573
          Trying 127.0.0.1...
          telnet: connect to address 127.0.0.1: Connection refused
          telnet: Unable to connect to remote host: Connection refused
          [root@pruebausa1 agi-bin]#


          Servidor 1, donde esta el dialplan : Tiene la ip: 192.168.0.60

          Servidor 2, donde se encuentra los AGI : Tiene la ip : 192.168.0.201
          /etc/xinetd.d/fastagi

          ¿Como deben ir configurados los archivo en ambos servidores? asi?:


          service fastagi
          {
          socket_type = stream
          user = root
          group = nobody
          server = /var/lib/asterisk/agi-bin/phpagi/phpagi-fastagi.php
          wait = no
          protocol = tcp
          bind = 192.168.0.201
          port = 4573
          disable = no
          }


          service fastagi
          {
          socket_type = stream
          user = root
          group = nobody
          server = /var/lib/asterisk/agi-bin/phpagi/phpagi-fastagi.php
          wait = no
          protocol = tcp
          bind = 192.168.0.60
          port = 4573
          disable = no
          }


          atento a sus comentarios.

          Gracias

          Comentario


          • #6
            Logre ejecutar el php desde el asterisk al equipo remoto
            en el dialplan deje asi :

            [default]

            exten => 124,1,Answer()
            exten => 124,2,AGI(agi://192.168.0.201:4573/test.php)


            y en el archivo del servidor remoto esto nano /etc/xinetd.d/fastagi :

            # default: off
            # description: fastagi is a remote AGI interface

            service fastagi
            {
            socket_type = stream
            user = root
            group = nobody
            server = /var/lib/asterisk/agi-bin/phpagi/jp.php
            wait = no
            protocol = tcp
            bind = 192.168.0.201
            port = 4573
            disable = no
            }


            y al ejecutar la llamada me muestra ahora asi en el CLI:

            -- Executing [124@default:1] Answer("SIP/2000-00000090", "") in new stack
            -- Executing [124@default:2] AGI("SIP/2000-00000090", "agi://192.168.0.201:4573/test.php") in new stack
            AGI Tx >> agi_network: yes
            AGI Tx >> agi_network_script: test.php
            AGI Tx >> agi_request: agi://192.168.0.201:4573/test.php
            AGI Tx >> agi_channel: SIP/2000-00000090
            AGI Tx >> agi_language: es
            AGI Tx >> agi_type: SIP
            AGI Tx >> agi_uniqueid: 1357596721.144
            AGI Tx >> agi_callerid: 2000
            AGI Tx >> agi_calleridname: demo jp
            AGI Tx >> agi_callingpres: 0
            AGI Tx >> agi_callingani2: 0
            AGI Tx >> agi_callington: 0
            AGI Tx >> agi_callingtns: 0
            AGI Tx >> agi_dnid: 124
            AGI Tx >> agi_rdnis: unknown
            AGI Tx >> agi_context: default
            AGI Tx >> agi_extension: 124
            AGI Tx >> agi_priority: 2
            AGI Tx >> agi_enhanced: 0.0
            AGI Tx >> agi_accountcode:
            AGI Tx >>
            AGI Rx << ANSWER
            AGI Tx >> 200 result=0
            AGI Rx << VERBOSE "PRUEBA JPPPPPPPPPPPPPPPPPPPPPPPPPPPPP" 1
            agi://192.168.0.201:4573/test.php: PRUEBA JPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
            AGI Tx >> 200 result=1
            -- AGI Script agi://192.168.0.201:4573/test.php completed, returning 0
            == Auto fallthrough, channel 'SIP/2000-00000090' status is 'UNKNOWN'


            En lo unico que estoy topando ahora es que si o si tengo que colocar el nombre del archivo php en la ruta server = /var/lib/asterisk/agi-bin/phpagi/jp.php
            y deberia quedar algo asi para que lea cualquier archivo php : server = /var/lib/asterisk/agi-bin/phpagi/*.php



            atento a sus comentarios.

            Comentario


            • #7
              Según la propia documentación de PHPAGI:
              Código:
              # default: off
              # description: fastagi is a remote AGI interface
              service fastagi
              {
                      socket_type  = stream
                      user         = root
                      group        = nobody
                      server       = /var/lib/asterisk/agi-bin/phpagi/phpagi-fastagi.php
                      wait         = no
                      protocol     = tcp
                      bind         = 127.0.0.1
                      disable      = no
              }
              En lo personal nunca lo he ocupado, ya que mis scripts suelen correr localmente, pero así tal cual viene en los docs.

              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

              Principales Usuarios Activos

              Colapsar

              No hay usuarios activos superiores.
              Trabajando...
              X