TLDR:
We're testing a new algorithm for duplicate calls handling on the following systems:
Details
I've written a new duplicate call algorithm that aims to eliminate duplicate calls from multiple nodes on the same trunked radio system. The traditional way which we detect and reject duplicate calls is to reject any calls with the same timestamp that come in +/- 2 seconds. That has somewhat worked ok, but it's been subject to the following problems
So far, I'm pleasantly surprised how well the new approach is working. Some concerns I have which I'm trying to suss out are how we miss some calls during a node assignment switchover for talkgroups that aren't extremely active, but aren't dead silent either. I'm also seeing duplicates display on our "All Received Calls" for a trunked system and I'm not sure why, because they don't show up for playlists, individual talkgroups etc. This might be due to some filtering I had previously implemented on those individual pages and now we're doing things differently it very well could be a race condition that I need to account for.
Your feedback is welcome. I'll probably implement this on more systems as we progress.
note that there are almost certainly bugs to iron out, but I’m hopeful this is the right approach for us to take.
We're testing a new algorithm for duplicate calls handling on the following systems:
Allied Radio Matrix for Emergency Response (ARMER) - All Calls Live
Trunked System: Allied Radio Matrix for Emergency Response (ARMER) - All Received Calls
www.broadcastify.com
Michigan's Public Safety Communications System (MPSCS) - All Calls Live
Trunked System: Michigan's Public Safety Communications System (MPSCS) - All Received Calls
www.broadcastify.com
Morris County - All Calls Live
Trunked System: Morris County - All Received Calls
www.broadcastify.com
North Texas Interoperable Radio Network (NTIRN) - All Calls Live
Trunked System: North Texas Interoperable Radio Network (NTIRN) - All Received Calls
www.broadcastify.com
Details
I've written a new duplicate call algorithm that aims to eliminate duplicate calls from multiple nodes on the same trunked radio system. The traditional way which we detect and reject duplicate calls is to reject any calls with the same timestamp that come in +/- 2 seconds. That has somewhat worked ok, but it's been subject to the following problems
- If two different calls for the same talkgroup come in within 2 secs, one is rejected. This would result in "quick" short transmissions being rejected as duplicate
- problems between nodes running different software monitoring the same talkgroups (Trunked Recorder vs SDRTrunk etc) - some send conversations vs individual calls
- Node Skews between different nodes - some nodes operate slower than others due to processing power. Some nodes operate on slower internet connections etc. This causes problems with duplicate detection
- Nodes with incorrect set time.
So far, I'm pleasantly surprised how well the new approach is working. Some concerns I have which I'm trying to suss out are how we miss some calls during a node assignment switchover for talkgroups that aren't extremely active, but aren't dead silent either. I'm also seeing duplicates display on our "All Received Calls" for a trunked system and I'm not sure why, because they don't show up for playlists, individual talkgroups etc. This might be due to some filtering I had previously implemented on those individual pages and now we're doing things differently it very well could be a race condition that I need to account for.
Your feedback is welcome. I'll probably implement this on more systems as we progress.
note that there are almost certainly bugs to iron out, but I’m hopeful this is the right approach for us to take.