Modificar Reporte de llamadas

alfil2k

Joined
Aug 17, 2009
Messages
25
Likes
0
Points
0
#1
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
 

alfil2k

Joined
Aug 17, 2009
Messages
25
Likes
0
Points
0
#2
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
 

cooperbr

Joined
Jun 4, 2007
Messages
105
Likes
0
Points
0
#3
hola.

decime en cual lugar adicionastes esta linea


muchas gracias

Marcelo
 

alfil2k

Joined
Aug 17, 2009
Messages
25
Likes
0
Points
0
#4
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.
 

alfil2k

Joined
Aug 17, 2009
Messages
25
Likes
0
Points
0
#5

Members online

No members online now.

Latest posts

Forum statistics

Threads
30,898
Messages
130,879
Members
17,560
Latest member
manuelc
Top