semvec/pypi-packages huggingface dataset:
firecall-blocker 0.1.0
A simple call blocker based on the Conexant CX93001 USB voice modem
Requires Python: >=3

![Setup 1](https://imgur.com/IJKA1Au.jpg)

_También disponible en [castellano](README.es.md)_

## Hardware installation
Firecall requires three elements:
1. A board that's able to run at least Python 3 like the Raspberry Pi, Orange Pi, BeagleBone, etc.
2. The Conexant CX93001 USB voice modem (almost every [cheap one](https://www.ebay.es/itm/USB-Fax-Modem-Demodulator-External-Dial-Up-Voice-Full-Duplex-Convenient/143462362867) from China uses this chipset)
3. A RJ11 cable (telephone cable).

There's two ways to set up Firecall:
* Between your telephone and the plug, will require an additional RJ11 cable,
in case you only have one plug at home:

![Setup 1](https://imgur.com/cwZSPh3.jpg)

* Directly to a free telephone plug.

## Software installation
Firecall's dependencies require _espeak_ and _ffmpeg_ packages to be installed 
on the system. Firecall requires Python 3 or greater. To install these dependencies on Raspbian, for example:

`sudo apt install espeak ffmpeg python3 python3-pip`

The easiest way to get the latest release of Firecall is to execute:

`pip3 install firecall-blocker`

Then, all you have to do is to start Firecall and let it run in the background. 
It will automatically monitor and block spam calls:

`python3 -m firecall`

## How does it work?
Firecall monitors the incoming calls and retrieves their caller ID. Then, 
the caller number is looked up on [listaspam.com](https://www.listaspam.com/), 
[tellows.com](https://www.tellows.com/) and [unknownphone.com](https://www.unknownphone.com/). 
If at least one report is found, the call is rejected.