Reliable Method for Identifying Active SIP Calls in Homer 11 #913
|
Hi everyone, I'm trying to determine how many active calls are currently running on my system using Homer 11. My environment consists of: 5 PBXs and 1 SBC All of them are sending SIP/HEP data to Homer. Since Homer is primarily a SIP capture platform and not a real-time call state engine, I'm trying to infer active calls from the captured SIP signaling. My idea is to identify dialogs that have recent activity and have not yet received a BYE. Copilot suggested the following query: WITH recent_calls AS ( My concern is whether this is actually a reliable way to identify active calls, since: Calls older than 5 minutes but still active might be missed. Has anyone implemented a more accurate query in Homer 11 to estimate active calls? How can i extract the data to a output file / prometheus ? I am able to extract the number of active calls from the SBC using Zabbix, but I cannot do the same for the PBXs because they are extremely old. Any suggestions or examples would be greatly appreciated. |
Replies: 1 comment
|
You're right that Homer 11 is a SIP capture / analytics lake, not a real-time dialog state machine — there is no built-in “active calls” counter. On the proposed query“Recent activity + no BYE” is a reasonable approximation, but not reliable as a concurrent gauge:
Example estimate (tune windows for your network): WITH recent AS (
SELECT
session_id,
bool_or(response_code = '200' AND cseq_method = 'INVITE') AS answered,
bool_or(method IN ('BYE','CANCEL') OR cseq_method IN ('BYE','CANCEL')) AS terminated,
max(timestamp) AS last_ts
FROM hep_proto_1_call
WHERE date >= current_date - 1
AND timestamp >= now() - INTERVAL 6 HOUR
GROUP BY session_id
)
SELECT count(*) AS approx_active
FROM recent
WHERE answered AND NOT terminated
AND last_ts >= now() - INTERVAL 5 MINUTE;For B2B, group by correlated Prometheus / Zabbix / fileBuilt-in Export options:
For an authoritative concurrent number, keep using the SBC dlg counter; use Homer for an estimate across the old PBXs and for call drill-down ( |
You're right that Homer 11 is a SIP capture / analytics lake, not a real-time dialog state machine — there is no built-in “active calls” counter.
On the proposed query
“Recent activity + no BYE” is a reasonable approximation, but not reliable as a concurrent gauge:
session_id(Call-ID) as the dialog key;cidis for B2B correlation and can merge multiple legs.method IN ('BYE','CANCEL') OR cseq_method IN ('BYE','CANCEL').date/timestamp(DuckLake partitions).Example …