Simultaneous Calls Report

Status
Not open for further replies.

qbitnetworking

Bronze Partner
Joined
Nov 28, 2020
Messages
138
Reaction score
30
Is there a way to see a report on the number of simultaneous call paths used within the past year? I want to see what the highest number simultaneous calls a customer has ever used.
 
Hi @qbitnetworking

There is no report that can show you the maximum number of simultaneous calls.
 
  • Like
Reactions: OlegR_3CX
Even tho you can't run the report for the past or in the current day as mentioned by my colleague here, but something you could consider.
What you can do is get an email notification on the maximum number of simultaneous calls that will be reached and the settings are :

Settings >> Email >> Notification tab >> "The license limit is reached" (in V18)
Dashboard >> Notification >> "The license limit is reached" (in V20)
Also, there is another way, where you can see how many simultaneous calls are used, as well as calls in a specific trunk,
open blog viewer (can be found here https://www.3cx.com/docs/3cx-log-viewer/), and convert everything to the .txt file. So in advance, your Phonesystem logs should be verbose too.


attachment


Later on, you could use Notepad++ and perform the search with the keyword "Currently active calls -", and with the same logic, you can also see calls on the trunk, the keyword is: "Line limit check:" then you will see to which trunk the call came and how many it is used. For both, the search should be without quotation marks.
 
Hi
"Currently active calls"
This doesn't appear to be an option when I download the call log csv file.
 
Hi
"Currently active calls"
This doesn't appear to be an option when I download the call log csv file.
This information would not be taken from the call log, but from the support information file of the PBX, directly in the logs folder provided in the ZIP.

Please go through the link https://www.3cx.com/docs/3cx-log-viewer/ to download the log viewer of the PBX.
 
Thanks for your reply. There are only two files that can be read by the log viewer and neither of them have anything useful in.

I am trying to get an idea of peak simultaneous calls over a 3 or 6 month period.
 
I am trying to get an idea of peak simultaneous calls over a 3 or 6 month period.
Hi.. If it can help you with your figures, then pull a trial for JEDWare, here we report down to each 15 minutes, and this will give a pretty accurate view of your SIM Call usage.
 
  • Like
Reactions: Colinofski
If it can help you with your figures, then pull a trial for JEDWare,
That seems to only work on self hosted 3cx?
 
  • Like
Reactions: jed
  • Like
Reactions: jed
if you have cdr enabled you can use this ps script copilot provided

just add the headers at the first line of the csv file

history,idcallid,duration,time-start,time-answered,time-end,reason-terminated,from-no,to-no,from-dn,to-dn,-dial-no,reason-changed,final-number,final-dn,bill-rate,bill-cost,bill-name,chain,from-type,final-type,from-dispname,to-dispname,final-dispname,bill-code,missed-queue-calls

Code:
$csvData = Import-Csv -Path "cdr.log"

# Initialize an empty hash table to store call timestamps
$callTimestamps = @{}

$rowno = 0

# Process each row in the CSV
foreach ($row in $csvData) {
    $rowno++
    if ($rowno -eq 1) {
       $startDate = $row."time-start"
    }
    #Write-Host $rowno " " $row."time-start" " -- " $row."time-end"
    $startTime = [datetime]::ParseExact($row."time-start", "yyyy/MM/dd HH:mm:ss", $null)
    $endTime = [datetime]::ParseExact($row."time-end", "yyyy/MM/dd HH:mm:ss", $null)

    # Increment the start timestamp count
    $callTimestamps[$startTime]++

    # Decrement the end timestamp count
    $callTimestamps[$endTime]--
}

$endDate = $row."time-start"

# Initialize variables for tracking maximum concurrent calls
$maxConcurrentCalls = 0
$currentConcurrentCalls = 0

# Process the timestamps and calculate concurrent calls
foreach ($timestamp in $callTimestamps.Keys | Sort-Object) {
    $currentConcurrentCalls += $callTimestamps[$timestamp]
    if ($currentConcurrentCalls -gt $maxConcurrentCalls) {
        $maxConcurrentCalls = $currentConcurrentCalls
    }
}

# Output
Write-Host "Max no of concurrent calls between $startDate and $endDate : $maxConcurrentCalls"
 
  • Like
Reactions: Colinofski
if you have cdr enabled you can use this ps script copilot provided
Thank you but I don't think you can run scripts if it is hosted with 3cx. Interesting how 3cx don't tell you that nothing works if you host it with them...
 
I don't have hosted instances, so I'm not sure you can download local files, but if you have CDR enabled you can download the csv log from activity logs -> Logs -> Instance\CDRLogs.
edit the file in text editor and add the headers in the first line, edit the csv file accordingly to the range of dates you want to check and run the powershell script locally changing the path of the csv file you downloaded.
This works for v18, I wasn't able to find where you can download the CDR csv in v20
 
Status
Not open for further replies.

Forum statistics

Threads
111,953
Messages
589,910
Members
164,845
Latest member
tdzski5