Would this be the definitive solution ?
I’ve been thinking a bit about this, and I believe I have a pretty good solution, with minimal CPU load. Works in shell, and if the calls are in a db, very easy to do as well.
The idea is to list all call times, followed by 1 if its a call setup, and -1 if its a call hangup. Then loop & sum !
There it goes, on Master.csv:
awk ‘BEGIN{FS=",""} /ANSWERED/{split($11, a, “”"); split($12, b, “”");printf ("%s,1\n%s,-1\n", a[1],b[1]); }’ Master.csv | sort | awk -F , ‘{cpt=cpt+$2; printf ("%s %03d\n", $1, cpt);}’
Only issue, it does not take in consideration non established calls, that still take up some resources, but it can be easily adapted. Obviously, further selection can be done on a trunk name or any part of the CDR !
Let me know if it works for you,
J.
Keywords for search: concurrent simultaneous calls