Guten Tag Gemeinde,
habe mal wieder ein Problem und bräuchte einen Denkansatz:
Ich frage täglich mittels eines SQL-Befehls die ein- und ausgehenden Anrufe ab, die mir dann mittels eMail nachts geschickt werden. So habe ich Überblick, wer wie lange mit wem telefoniert und ob es über SIP oder ISDN sowie über den Provider. Für mich ein schönes Tool, da ich einen Teil der Tagesberichte damit einsparen kann.
select * from (
(select calldate, cnum as NMR, cnam, duration, if(channel regexp '1202','ISDN', 'SIP') as CHNL, "" as cn from asteriskcdrdb.cdr
where disposition = 'ANSWERED' and length(cnum) > 2 and calldate like '%2014-04-02%'and dstchannel like '%/10%'order by calldate asc)
Union
(select calldate, right(dst,length(dst)-1) as nmr,"", duration, if(dstchannel regexp '1202','ISDN', 'SIP') as CHNL, if (clid regexp '2985645','T-Online','Vodafone') as cn from asteriskcdrdb.cdr
where disposition = 'ANSWERED' and length(dst) > 2 and calldate like '%2014-04-02%'and channel like 'SIP/10%'order by calldate asc)
)as Gesamt;
Jetzt würde ich gerne in die Auswertung einbauen, wie lange die Klingeldauer war, bis abgenommen wurde. Da ich aber die eingehenden Anrufe über eine QUEUE abarbeite klingeln zunächst ja erst einmal alle Apparate und nur der Annehmende ist auf Answered.
Any Ideas, wie ich das in die SQL-Abfrage reinbekomme?
Gruß Peter
habe mal wieder ein Problem und bräuchte einen Denkansatz:
Ich frage täglich mittels eines SQL-Befehls die ein- und ausgehenden Anrufe ab, die mir dann mittels eMail nachts geschickt werden. So habe ich Überblick, wer wie lange mit wem telefoniert und ob es über SIP oder ISDN sowie über den Provider. Für mich ein schönes Tool, da ich einen Teil der Tagesberichte damit einsparen kann.
select * from (
(select calldate, cnum as NMR, cnam, duration, if(channel regexp '1202','ISDN', 'SIP') as CHNL, "" as cn from asteriskcdrdb.cdr
where disposition = 'ANSWERED' and length(cnum) > 2 and calldate like '%2014-04-02%'and dstchannel like '%/10%'order by calldate asc)
Union
(select calldate, right(dst,length(dst)-1) as nmr,"", duration, if(dstchannel regexp '1202','ISDN', 'SIP') as CHNL, if (clid regexp '2985645','T-Online','Vodafone') as cn from asteriskcdrdb.cdr
where disposition = 'ANSWERED' and length(dst) > 2 and calldate like '%2014-04-02%'and channel like 'SIP/10%'order by calldate asc)
)as Gesamt;
Jetzt würde ich gerne in die Auswertung einbauen, wie lange die Klingeldauer war, bis abgenommen wurde. Da ich aber die eingehenden Anrufe über eine QUEUE abarbeite klingeln zunächst ja erst einmal alle Apparate und nur der Annehmende ist auf Answered.
Any Ideas, wie ich das in die SQL-Abfrage reinbekomme?
Gruß Peter
Zuletzt bearbeitet: