Repeat Caller 1.0.1 is ready for wider testing and feedback. It promises nothing more at this stage.
It has been tested in normal use and throughout its development, but this is currently an unsigned module that hasn’t been put under heavy load, so please apply the safety features defensively (snooze, suppression, self-trigger protection, etc).
Repeat Caller repeatcaller is a new community module that turns qualifying inbound call activity into actionable incidents and alerts on FreePBX and PBXact 16 or 17. It supports two distinct modes that occur within the selected time window: Repeat and Invert. Repeat mode detects when the same caller reaches the configured threshold. Invert mode detects when there are fewer than the configured number of matching calls.
WARNING
DO NOT attempt to install this on FreePBX 15 or below, please. It is versions 16 and 17 only.
This was a real, recent end user request, and they were happy for the work to be shared with the wider community under a GPLv3 licence, fully open source.
A customer needed FreePBX to detect when normal behaviour starts to look abnormal, to count the calls and raise an alert when repetition becomes an incident.
Repeat mode works with fixed windows of time and inbound routes. It looks for patterns in the CDR to see if something keeps happening:
• Why has the same person called three times in an hour?
• Why does someone keep hitting our out-of-hours voicemail without leaving a message?
• Why is the same caller trying multiple numbers?
Invert mode asks why something expected never happened at all:
• Why didn’t on-site security call in on the hour as always?
• Why hasn’t our vulnerable client called for a chat today?
• Why has a number that normally gets plenty of calls received nothing this morning?
A phone system can’t reliably answer those questions, but it can recognise when they need to be asked. The GitHub repository contains everything you need to get started:
After reading the README, one way to install the module is by running the following as root:
Install from GitHub. Git commands require the modules/repository directory context. After cloning, switch back to a neutral directory before running fwconsole commands.
FreePBX 16 / PBXact 16 (CentOS 7)
Check whether Git is installed:
rpm -q git
If Git is not installed:
yum install -y git
FreePBX 17 / PBXact 17 (Debian 12)
Check whether Git is installed:
dpkg -l git
If Git is not installed:
apt update
apt install -y git
Then run the following commands as root:
cd /var/www/html/admin/modules
git clone https://github.com/kierknoby/repeatcaller.git repeatcaller
cd ~
fwconsole ma install repeatcaller
fwconsole chown
fwconsole reload
I am keen to hear your thoughts and anything you find in wider testing. Something that seemed so niche soon became pretty interesting, and across our customer base I have seen a lot more “repeat caller” activity than initially expected. When someone needs to get hold of someone, they really do keep trying.
This was a fair bit of work and I will keep on improving it. Not just by maintaining it for our customer, who contributed financially towards its development, but by continuing to develop it for everyone. It is a relatively complex and challenging module, so I am expecting to see plenty of edge cases and patch releases in 1.0.x before developing new features. Please let me know your ideas though.
If you like the module, I would really appreciate a
on GitHub, as well as any comments and messages.
Cheers,
Kieran
Demo screenshot below.

