Hola A todos, hemos estado hablando en el grupo de telegram sobre la mejora de la informacion al descargar el CDR de detalles de llamadas (modulo cdrreport), gracias a la orientacion de Reinaldo he podido detectar mas rapidamente el funcionamiento y lo acabo de implementar y probar.
al hacer descarga del CDR de detalles de llamadas ( modulo reportes) solo aparecian los campos de
Fecha Fuente Grupo de Timbrado Destino Canal origen Código de Cuenta Canal destino Estado Duración
he añadido el resto de campos del CDR que crei importantes y queda ahora asi
Fecha Fuente Grupo de Timbrado Destino Canal origen Código de Cuenta Canal destino Estado Duración UniqueID Recording Cnum Cnam outbound_cnum Did
de esta forma al descargar se obtiene el uniqueid de la llamada la direccion del fichero de grabacion el cnum y todo los datos mejor.
Para hacer el cambio manual deben editar el fichero
libs/paloSantoCDR.class.php
buscar
// Los datos de los registros, respetando limit y offset
237 $sPeticionSQL =
238 'SELECT calldate, src, dst, channel, dstchannel, disposition, '.
239 'uniqueid, duration, billsec, accountcode, grpnum, description'.
240 'FROM cdr '.
241 'LEFT JOIN asterisk.ringgroups '.
y añadir
237 $sPeticionSQL =
238 'SELECT calldate, src, dst, channel, dstchannel, disposition, '.
239 'uniqueid, duration, billsec, accountcode, grpnum, description, recordingfile, cnum, cnam, outbound_cnum, did '.
240 'FROM cdr '.
241 'LEFT JOIN asterisk.ringgroups '.
guardar el fichero
luego ir a editar en modules/cdrreport/index.php
buscar
if($oGrid->isExportAction()){
$limit = $total;
$offset = 0;
$arrColumns = array(_tr("Date"), _tr("Source"), _tr("Ring Group"), _tr("Destination"), _tr("Src. Channel"),_tr("Account Code"),_tr("Dst. Channel"),_tr("Status"),_tr("Duration"));
y cambiar por
if($oGrid->isExportAction()){
$limit = $total;
$offset = 0;
$arrColumns = array(_tr("Date"), _tr("Source"), _tr("Ring Group"), _tr("Destination"), _tr("Src. Channel"),_tr("Account Code"),_tr("Dst. Channel"),_tr("Status"),_tr("Duration"),_tr("UniqueID"),_tr("Recording"), _tr("Cnum"),_tr("Cnam"), _tr("outbound_cnum"), _tr("Did"));
luego justo debajo buscar
$iDuracion = $value[8];
$iSec = $iDuracion % 60; $iDuracion = (int)(($iDuracion - $iSec) / 60);
$iMin = $iDuracion % 60; $iDuracion = (int)(($iDuracion - $iMin) / 60);
$sTiempo = "{$value[8]}s";
if ($value[8] >= 60) {
if ($iDuracion > 0) $sTiempo .= " ({$iDuracion}h {$iMin}m {$iSec}s)";
elseif ($iMin > 0) $sTiempo .= " ({$iMin}m {$iSec}s)";
}
$arrTmp[8] = $sTiempo;
y añadir
$arrTmp[9] = $value[6];//uniqueid
$arrTmp[10] = $value[12];//Cnum
$arrTmp[11] = $value[13];//Cnam
$arrTmp[12] = $value[14];//Outbound_cnum
$arrTmp[13] = $value[15];//did
y listo ! ahora al ir al reporte de CDR y darle a descargar, se mostraran todos esos datos.
espero les sirva ! voy a remitirlo ahora a ver si para la proxima release llegamos a tiempo y se incorpora.
estoy revisando hacer lo mismo pero con el modulo call center que muestre el nombre del fichero de grabacion y el unique id tambien algo bastante importante creo
espero les sirvA!