Modificar Reporte de llamadas

Discussion in 'Elastix 2.x' started by alfil2k, Dec 3, 2009.

  1. alfil2k

    Joined:
    Aug 17, 2009
    Messages:
    25
    Likes Received:
    0
    Buenas,

    Queremos modificar el modulo donde nos muestra las llamadas totales en cantidad y tiempo por extension. He encontrado este codigo de mysql:
    SELECT
    t_devices.id source,
    t_devices.description name,
    ifnull(t_cdr.num_outgoing_call,0) num_outgoing_call,
    ifnull(t_cdr.duration_outgoing_call,0) duration_outgoing_call
    FROM
    (SELECT
    c.src source,
    count(c.src) num_outgoing_call,
    sum(c.billsec) duration_outgoing_call
    FROM
    asteriskcdrdb.cdr c
    WHERE
    c.calldate>='$date_ini' AND
    c.calldate<='$date_end' AND
    c.src like '$extension%'
    GROUP BY c.src) t_cdr
    RIGHT JOIN
    (SELECT
    d.id,
    d.description
    FROM
    asterisk.devices d
    WHERE
    d.id like '$extension%' AND
    d.description like '$description%') t_devices
    ON t_devices.id=t_cdr.source
    LIMIT $limit OFFSET $offset";

    Aqui hace la suma y la cuenta. Alguien sabria como modificar esto para que las llamadas entre extensiones no se tengan en cuenta?

    Saludos,
    Pablo
     
  2. alfil2k

    Joined:
    Aug 17, 2009
    Messages:
    25
    Likes Received:
    0
    Bueno, como nadie ma ha contestado me respondo yo solo...:)

    Este es el codigo de busqueda para quitar las llamadas internas:

    (SELECT
    c.src source,
    count(c.src) num_outgoing_call,
    sum(c.billsec) duration_outgoing_call
    FROM
    asteriskcdrdb.cdr c
    WHERE
    c.calldate>='$date_ini' AND
    c.calldate<='$date_end' AND
    c.dst > '7' AND <--- Añadi solo esta linea, 7 es para calcular solo numeros marcados mas grandes que 7. c.src like '$extension%'
    GROUP BY c.src) t_cdr
    RIGHT JOIN
    (SELECT
    d.id,
    d.description
    FROM
    asterisk.devices d
    WHERE
    d.id like '$extension%' AND
    d.description like '$description%') t_devices
    ON t_devices.id=t_cdr.source
    LIMIT $limit OFFSET $offset";

    saludos,
    Pablo
     
  3. cooperbr

    Joined:
    Jun 4, 2007
    Messages:
    105
    Likes Received:
    0
    hola.

    decime en cual lugar adicionastes esta linea


    muchas gracias

    Marcelo
     
  4. alfil2k

    Joined:
    Aug 17, 2009
    Messages:
    25
    Likes Received:
    0
    Marcelo,

    Muy buenas, si te fijas en el directorio /var/www/html/modules/report_calls/libs veras un archivo que se llama paloSantoReportCall.class.php. Dentro de este fichero busca el codigo que puse arriba y veras esto:

    SELECT
    t_devices.id source,
    t_devices.description name,
    ifnull(t_cdr.num_outgoing_call,0) num_outgoing_call,
    ifnull(t_cdr.duration_outgoing_call,0) duration_outgoing_call
    FROM
    (SELECT
    c.src source,
    count(c.src) num_outgoing_call,
    sum(c.billsec) duration_outgoing_call
    FROM
    asteriskcdrdb.cdr c
    WHERE
    c.calldate>='$date_ini' AND
    c.calldate<='$date_end' AND
    c.disposition='ANSWERED' AND
    c.dst > 100000 AND

    c.src like '$extension%'
    GROUP BY c.src) t_cdr
    RIGHT JOIN
    (SELECT
    d.id,
    d.description
    FROM
    asterisk.devices d
    WHERE
    d.id like '$extension%' AND
    d.description like '$description%') t_devices
    ON t_devices.id=t_cdr.source
    LIMIT $limit OFFSET $offset";

    En rojo deberia aparecer las modificaciones. Igualmente te subo el fichero completo modificado.
     
  5. alfil2k

    Joined:
    Aug 17, 2009
    Messages:
    25
    Likes Received:
    0

Share This Page