La mia idea iniziare era di fare un grabbing della pagina indicata (
http://192.168.1.1/modals/mmpbx-log-modal.lp) e sparare per mail i nuovi record.
Ho però trovato il file dove sono memorizzati questi dati, ovvero un database di sqlite 3.x su /etc/lasdb.db quindi voglio provare a lavorare direttamente su quello...vediamo se arrivo a qualcosa!
edit
Se a qualcuno può servire, ecco lo script che ho messo sul TimHub (per adesso per l'invio delle mail mi appoggio a un'altra macchina) da far girare tramite cron
#!/bin/sh
db_rows2event()
{
db_sqlite=$1
from_id=$2
to_id=$3
sql="Select EntryIdentifier, case when ReadStatus = 255 then 'NO' else 'SI' end as risposta, Remote, Direction, Cast((JulianDay(endtime) - JulianDay(connectedTime)) * 24 * 60 * 60 as Integer) as durata, strftime('%s', connectedTime) as data from calllog where EntryIdentifier between $from_id and $to_id"
for row in `/usr/bin/sqlite3 $db_sqlite "$sql"` ;do
echo -e "GET http://192.168.xx.xx/event.php?$row HTTP/1.1\r\nHost: 192.168.xx.xx.eg\r\n\r\n" | nc 192.168.xx.xx 80 > /dev/null
done
}
db_sqlite=/etc/lasdb.db
file_last_id="/tmp/last-call-id"
last_id=0
new_id=0
if [ -f "$file_last_id" ]; then
last_id=`cat $file_last_id`
fi
new_id=`/usr/bin/sqlite3 $db_sqlite "Select max(EntryIdentifier) from calllog;"`
if [ "$new_id" -gt "$last_id" ]; then
#record da inviare
db_rows2event $db_sqlite $last_id $new_id
echo $new_id > $file_last_id
fiSul server poi faccio il parsing della chiamata "GET
http://192.168.xx.xx/event.php?591|SI|12345789|1|186|1565179052 HTTP/1.1" 404 287 "-" "-"
dove i parametri sono, nell'ordine
ID del record
SI|NO indica se la telefonata ha avuto risposta
Numero chiamante o chiamato
1|2 chiamata in entrata/uscita
Durata telefonata (sec)
Timestamp telefonata