Tech Talk #2: How imp Screens Calls
Andy Dale here, I have designed and built the technology behind imp. I wanted to share with you some of what makes imp . . . . well, impish.
Three components work together to provide our call screening service. The imp box is a small hardware box that gets plugged into a phone line; The imp app helps manage the box and the system from a smartphone or tablet, and; The imp network servers that keep the imp box and app in sync.
imp’s core call screening functionality is based on two things:
- Caller ID service from your landline phone provider
- A list of contacts that you allow to ring through to a landline phone. We call this list of “wanted” or “allowed” callers a Greenlist. At setup, the imp app builds the initial Greenlist based on contacts listed in your smartphone.
When a call comes into your landline, shortly after the first audible ring, there is a burst of data on the line that carries the Caller ID (“CID”) information. The imp box suppresses the first audible ring and then listens to the CID. The imp box then uses the CID to decide how to process the call. This function is performed locally and is not dependent on network connectivity at the time of the call.
There is a lack of standardization in both the caller ID systems and address book systems that make the simple screening function surprisingly hard. You can save phone numbers in your mobile phone's address book in many ways. Similarly, different phone providers present CID data in different formats. There are also four different components of the CID, not all of which will be present on any call: Name, Number, Location, and a catch all for Other Details. When a call comes into your landline, the imp box has less than 1 second, the time between rings, to decode the CID, perform a matching algorithm, and determine how to handle the call.
There are 4 possible outcomes of the matching algorithm:
- The number is found on your Greenlist and the phone rings
- The number is found on your Greylist and the imp box takes a message
- The number is found on your Redlist and the imp box hangs up on the caller
- The number is not found on any of your lists and the imp box takes a message.
imp is designed to optimize for Greenlist calls. While the initial Greenlist is based on your smartphone contacts, the list is anticipated to grow and change over time.
- Additional users can share in the management of an imp, and contribute their contacts to the Greenlist.
- All contact updates or additions to the smart phone of any user are automatically added to the Greenlist.
- imp can automatically Greenlist numbers dialed from the home phone.
- All users can assign callers to different lists from the imp app by simple finger swipes.
The Greenlist typically includes many people not in your smartphone contact list, like the pizza delivery guy, the plumber you just called, or even your child’s 5th grade teacher who called once and might call again. There will also be instances where you may add members of your contact list to the Greylist, so that they go directly to voicemail. I use this for my chatty Aunt and the dental hygienist who invariably calls at dinner time to remind me of my upcoming appointment.
Redlist calls tend to make up less than 5% of the call volume. In contrast, Greylist calls make up 70% of the average call volume. In all instances, imp will pass along all the CID information it receives and can decode. Experientially, between 5 and 10% of all calls have no CID information.
The imp app allows users to trigger changes to the normal screening operation of the imp box via two buttons, Do Not Disturb (“DND”) and Allow All Calls (“AAC”). DND shunts all calls, including Greenlist calls, to voicemail. AAC lets both Greenlist and Greylist calls ring through on the landline. Redlist calls are still terminated in AAC mode. Both DND and AAC can be triggered for various durations.
In general, the imp box is designed to sort calls based on CID and other user settings, and then to record and report information about calls, including voice mail messages. The imp app is designed to present the reported information, and give users the ability to control the sorting. As noted, the imp network servers keep the imp box and app in sync via secure communication channels.
Our system is also designed to “do no harm”. So if, for example, someone poured a glass of water on the imp box, or if the imp box ever lost functionality, your home phone would not be affected. Old school phones that do not need power will be usable in a power outage, even with the imp box in the mix. The imp box was designed to weather the inconsistencies of the internet, including spotty internet and Wifi connectivity. If calls come in while your internet is down, imp will store the messages, and then deliver them when connectivity is regained.
I hope this gives you some insight into how imp works. If you have any questions please feel free to reach out to me at firstname.lastname@example.org