Recuperar datos del CDR
En caso de que sea por una falla eléctrica es necesario Reiniciar servicios antes de realizar esta acción.
Luego de reiniciar los servicios, la información se debería guardar correctamente, pero la información del tiempo anterior a reiniciar los servicios es necesario corregirla.
Quedan mal los datos del CDR y Queue_log porque al iniciar los servicios, si se finalizaron de manera erronea, el mysql comienza a hacer una restauración. Esto hace que la telefonía inicie antes que la base de datos y quedan desfasadas.
Las consecuencias son:
No graba información en ccrepo.cdr_repo
Graba información con mal formato en ccrepo.queue_log_repo
Restaurar ccrepo.queue_log_repo
Ejecutar consulta donde se ingresa la fecha/hora de la primera llamada sin guardar (sin incluir las que ya se ven) y la última llamada luego de reiniciar los servicios:
UPDATE queue_log_repo
SET data1= substring_index(data,'|',1) ,
data2=substring_index(substring_index(data,'|',2),'|',-1),
data3=substring_index(substring_index(data,'|',3),'|',-1),
data4=substring_index(substring_index(data,'|',4),'|',-1),
data5=substring_index(substring_index(data,'|',5),'|',-1)
WHERE data like '%|%' and datetime >= '2017-10-11 13:22:44'
and datetime <= '2017-10-11 14:59:32'
Copiar el archivo master.csv de /var/log/asterisk/cdr-custom y eliminar la información que no se quiere importar nuevamente, es decir nos quedamos con la información que falta en la base.
Importar el archivo desde un gestor de base de datos, omitiendo el primer campo y el campo 13. No se debe cargar el campo de sequence siendo la ultima la columna 23.