Callattendant

Latest version: v1.1.0

Safety actively analyzes 687881 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

1.1.0

Date
17-NOV-2020

Release Summary
This is v1.1 of the Call Attendant (__callattendant__) . This includes support for countries other than the default USA. International support is through configurable phone number formatting options and the ability to disable the _NomoRobo_ lookup service. This release also includes support for _Conextant_ based modems like the _Zoom Model 3095 Data/Fax Modem_.

Associated GitHub Issues
Description | Type | Issue
------------- | ------ | -----------
Add support for Zoom Model 3095 Data/Fax modem | enhancement | 94
Add support for other countries | enhancement | 99
Add permitted name/number regex patterns | enhancement | 117
Call Log search is broken with non-numeric phone numbers | bug | 114
No blocked call hang up if BLOCKED_ACTIONS = () | bug | 126
+VSD Silence Detection command not working on Conextant-based modems | bug | 116
Handle missing caller id data | task | 120
Make the online lookup service configurable | task | 113
Make phone number display mask configurable | task | 112
Remove phone number input mask | task | 111
Add .desktop shortcuts to setup.py package install | task | 109
Refactor Modem class | task | 10

Known Issues
Description | Type | Issue
------------- | ------ | -----------
None

User Facing Changes
- Configuration options have changed. New configuration settings have been added:
- `PERMIT_NAME_PATTERNS`
- `PERMIT_NUMBER_PATTERNS`
- `PHONE_DISPLAY_FORMAT`
- `PHONE_DISPLAY_SEPARATOR`
- `BLOCK_SERVICE`
- Removed USA phone number format restrictions from _Add Permitted Number_ and _Add Blocked Number_ dialogs.
- Alpha characters now allowed in phone numbers.
- Countries other than the USA should set `BLOCK_SERVICE=""` to disable the US-based lookup service.

Install/Update/Removal
Install/Update
`pip` is used to install and update the __callattendant__
bash
pip install callattendant

Removal
bash
pip uninstall callattendant

Operation
Command Line Options
A new `callattendant` script is placed on the system path. Use this command to start the software without specifying "python".
text.
Usage: callattendant --config [FILE] --data-path [FOLDER]
Options:
-c, --config [FILE] load a python configuration file
-d, --data-path [FOLDER] path to data and configuration files
-f, --create-folder create the data-path folder if it does not exist
-h, --help displays this help text


Data Files
The location of the database and message files is `~/.callattendant`. You can override this location via the `--data-path` command line option.

Running the __callattendant__ with the `--create-folder` command line option will create the data folder and the initial data.

Configuration file
An example configuration is provided: [app.cfg.example](https://github.com/emxsys/callattendant/blob/master/callattendant/app.cfg.example). A copy of this file, named `app.cfg`, is placed in the data folder after the first execution of the software. You can copy/rename this file to match its purpose (e.g., `debug.cfg`) and edit it to match your preferences.

Documentation
See the project's Wiki pages:
- [User Guide](https://github.com/emxsys/callattendant/wiki/User-Guide)
- [Developer Guide](https://github.com/emxsys/callattendant/wiki/Developer-Guide)

Community
See the project's forum:
- https://groups.io/g/callattendant

1.0.0

Date
1-SEP-2020

Release Summary
This is v1.0.0 of the Call Attendant (__callattendant__) . This is the first stable/production release and it includes all of the functionality planned for the system.

- A call blocker that intercepts robocallers and blocked numbers at or before the first ring
- Allows permitted numbers pass straight through to the local phone system for normal call ringing and answering
- Visual indicators (LEDs) show whether the incoming call is from a permitted, blocked or unknown number
- Call history, permitted and blocked numbers, and voice messages are available in a web-based user interface
- Calls can be handled by a voice messaging system that optionally requires human interaction, e.g, "Press 1 to leave a message"

Associated GitHub Issues
Description | Type | Issue
------------- | ------ | -----------
Package and make installable via PyPi | epic | 37
Generate end-user documentation in the Wiki | enhancement | 43
Document LED Wiring | task | 89
Embellish configuration | task | 88
Web Interface Improvements | task | 87
Need to mock the Modem class/object | task |81

Known Issues
Description | Type | Issue
------------- | ------ | -----------
None.

User Facing Changes
- Installation has changed. The software is distributed by [PyPI](https://pypi.org/project/callattendant/) is now installed with `pip`.
- Data location has changed. The default location for data is now `~/.callattendant`, most likely expanded to `home/pi/.callattendant`
- Command line has changed. A system-wide command is provided: `callattendant [--config <cfg file>]`

Operation
Command Line Options
A new `callattendant` script is placed on the system path. Use this command to start the software without specifying "python".
text.
Usage: callattendant --config [FILE] --data-path [FOLDER]
Options:
-c, --config [FILE] load a python configuration file
-d, --data-path [FOLDER] path to data and configuration files
-f, --create-folder create the data-path folder if it does not exist
-h, --help displays this help text


Data Files
The location of the database and messages has changed from `[application folder]/data/` to `~/.callattendant`. This makes the data easier to locate and backup. You can override this location via the `--data-path` command line option.

If you are upgrading from an earlier release, you should move your database file and messages from the `data/ ` folder after starting and stopping the upgraded __callattendant__. Running the __callattendant__ with the `--create-folder` command line option will create the data folder and the initial data. Overwrite the new files with your existing files.

Configuration file
An example configuration is provided: [app.cfg.example](https://github.com/emxsys/callattendant/blob/master/callattendant/app.cfg.example). A copy of this file, named `app.cfg`, is placed in the data folder after the first execution of the software. You can copy/rename this file to match its purpose (e.g., `debug.cfg`) and edit it to match your preferences.

Documentation
See the project's Wiki pages:
- [User Guide](https://github.com/emxsys/callattendant/wiki/User-Guide)
- [Developer Guide](https://github.com/emxsys/callattendant/wiki/Developer-Guide)

Install/Update/Removal
Install/Update
`pip` is used to install and update the __callattendant__
bash
pip install callattendant

Removal
bash
pip uninstall callattendant

0.5

Date
23-AUG-2020

Release Summary
The v0.5 is the Call Attendant (__callattendant__) release candidate -- ahead of the 1.0 release. This release includes all of the functionality planned for the system.

- A call blocker that intercepts robocallers and blocked numbers at or before the first ring
- Allows permitted numbers pass straight through to the local phone system for normal call ringing and answering
- Visual indicators (LEDs) show whether the incoming call is from a permitted, blocked or unknown number
- Call history, permitted and blocked numbers, and voice messages are available in a web-based user interface
- Calls can be handled by a voice messaging system that optionally requires human interaction, e.g, "Press 1 to leave a message"

Associated GitHub Issues
Description | Type | Issue
------------- | ------ | -----------
Enable Voice Mail for screened and permitted callers | enhancement | 62
Add a Settings page | enhancement | 70
Add name search capability | enhancement | 78
Change the default location of data to ` ~/.callattendant` | task | 85
Add confirmation for delete message | task | 72
Move Unit Tests to a tests folder | task | 67
"New message" status not reset after playing message | bug | 71

Known Issues
Description | Type | Issue
------------- | ------ | -----------
None.

User Facing Changes
- Installation has changed. The software is distributed by [PyPI](https://pypi.org/project/callattendant/) is now installed with `pip`.
- Data location has changed. The default location for data is now `~/.callattendant`, most likely expanded to `home/pi/.callattendant`
- Command line has changed. A system-wide command is provided: `callattendant [--config <cfg file>]`

Operation
Command Line Options
A new `callattendant` script is placed on the system path. Use this command to start the software without specifying "python".
text.
Usage: callattendant --config [FILE] --data-path [FOLDER]
Options:
-c, --config [FILE] load a python configuration file
-d, --data-path [FOLDER] path to data and configuration files
-f, --create-folder create the data-path folder if it does not exist
-h, --help displays this help text


Data Files
The location of the database and messages has changed from `[application folder]/data/` to `~/.callattendant`. This makes the data easier to locate and backup. You can override this location via the `--data-path` command line option.

If you are upgrading from an earlier release, you should move your database file and messages from the `data/ ` folder after starting and stopping the upgraded __callattendant__. Running the __callattendant__ with the `--create-folder` command line option will create the data folder and the initial data. Overwrite the new files with your existing files.

Configuration file
An example configuration is provided: [app.cfg.example](https://github.com/emxsys/callattendant/blob/master/callattendant/app.cfg.example). A copy of this file, named `app.cfg`, is placed in the data folder after the first execution of the software. You can copy/rename this file to match its purpose (e.g., `debug.cfg`) and edit it to match your preferences.

Documentation
See the project's Wiki pages:
- [User Guide](https://github.com/emxsys/callattendant/wiki/User-Guide)
- [Developer Guide](https://github.com/emxsys/callattendant/wiki/Developer-Guide)

Install/Update/Removal
Install/Update
`pip` is used to install and update the __callattendant__
bash
pip install callattendant

Removal
bash
pip uninstall callattendant

0.4

Date
15-AUG-2020

Release Summary
The v0.4 is a beta release of the Call Attendant (__callattendant__). This release includes the following new features:

* Responsive User Interface
* New Dashboard display for the home screen
* Consistent user experience across web interface
* Consistent REST API style web addresses for pages
* Hardware LED support for new message waiting indicator

Associated GitHub Issues
Description | Type | Issue
------------- | ------ | -----------
Improve web user interface | epic | 40
Add Dashboard page | enhancement | 41
Add CRUD support to Blocked Numbers page | enhancement | 39
Add CRUD support to the Permitted Numbers page | enhancement | 38
Add a "New Messages Waiting" LED indicator | enhancement | 55
Add Call History page | enhancement | 24
Add ACTION column to call log table | task | 23
Rerecord Voice Mail .wav files | task | 65
Refine Call Log | task | 61
Add a Messages table for tracking voice messages | task | 59
Default configuration is invalid | bug | 64
Play Message modal dialog should set message played status | bug | 63
System sometimes fails to answer call | bug | 54
Permitted/Blocked name should override CID name in Call Log | bug | 44
flask_paginate module not found when run as a service | bug | 42
The Cache table is not used | bug | 35

Known Issues
Description | Type | Issue
------------- | ------ | -----------
Need a Settings page | enhancement | 70
Need to move Unit Tests to a tests folder | task | 67
Need to enable Voice Mail for screened and permitted callers | enhancement | 62

User Facing Changes
User interface changes
- User interface screens have changed
- New dashboard page has been added as the home screen
- Navigation has changed
- New voice message recordings

Operation
- This release uses Python 3. On the Raspberry Pi you must use the `python3` command to invoke Python 3 (unless you are running in a virtual environment, in which case you can use the `python` command)
- The location of the `callattendant.db` file has changed from `src/callattendant.db` to `data/callattendant.db`. If you are upgrading from a v0.2 release, you should move your database file to the _data folder_ before starting the __callattendant__.

Configuration file
- An example configuration is provided: `src/app.cfg.example`. This file should be copied/renamed (e.g., to `app.cfg`) and edited to match your preferences.

Command Line
- The command line options have changed to allow the passing in of a configuration file, example:
bash
cd callattendant
python3 src/callattendant.py --config app.cfg


Documentation
See the project's Wiki pages:
- [User Guide](https://github.com/emxsys/callattendant/wiki/User-Guide)
- [Developer Guide](https://github.com/emxsys/callattendant/wiki/Developer-Guide)

Install/Update/Removal
Install
1. [Download Release v0.4](https://github.com/emxsys/callattendant/archive/v0.4.zip).
2. Unzip the downloaded release. For example, to create the callattendant app under your home folder:
bash
cd
unzip ~/Downloads/callattendant-0.4.zip
cd callattendant-04

You can rename the `callattendant-04` folder if you wish.

Removal
- Delete the `callattendant-04` folder and its contents.

Update
If you are updating from a previous release, you should copy/move the `src/callattendant.db` file from the previous release to `data/callattendant.db` in this release.

0.3

Date
07-AUG-2020

Release Summary
The v0.3 is a alpha release of the Call Attendant (__callattendant__). This release includes the following new features and bug fixes:

* Voice Messaging
* Improved User Interface
* Configuration Options

Associated GitHub Issues
Description | Type | Issue
------------- | ------ | -----------
Add Voice Messaging features | epic | 28
Play a voice message via web interface | enhancement | 7
Play pre-recorded message to blocked callers | enhancement | 15
Add voice messaging menu | enhancement | 9
Record voice message | enhancement | 29
Create flexible and robust application configuration | enhancement | 27
Modem play audio (wav file) fails | bug | 49
Deprecate whitelist/blacklist terms in favor of permitted/blocked | task | 26
Add pagination to the call log | task | 20
Add pagination to the Blocked list | task | 32
Add pagination to the Permitted list | task | 33
Add a favicon to the web app pages | task | 31
Change the mouse cursor to a hand when hovering over a Call Details row | task | 34
Add metrics to Call Details | task | 30
Use a configuration file to specify regex call patterns | task | 21
Port to Python3.x | task | 36
Validate configuration items | task | 52

Known Issues
Description | Type | Issue
------------- | ------ | -----------
System sometimes fails to answer call | bug | 54
Must add create/edit/delete support to Blocked Numbers page | enhancement |39
Must add create/edit/delete support to the Permitted Numbers page | enhancement |38

User interface
- Menu item names have changed

Operation
- This release uses Python 3. On the Raspberry Pi you must use the `python3` command to invoke Python 3 (unless you are running in a virtual environment, in which case you can use the `python` command)
- The location of the `callattendant.db` file has changed from `src/callattendant.db` to `data/callattendant.db`. If you are upgrading from a v0.2 release, you should move your database file to the _data folder_ before starting the __callattendant__.

Configuration file
- An example configuration is provided: `src/app.cfg.example`. This file should be copied/renamed (e.g., to `app.cfg`) and edited to match your preferences.

Command Line
- The command line options have changed to allow the passing in of a configuration file, example:
bash
cd callattendant
python3 src/callattendant.py --config app.cfg


Documentation
See the project's Wiki pages:
- [User Guide](https://github.com/emxsys/callattendant/wiki/User-Guide)
- [Developer Guide](https://github.com/emxsys/callattendant/wiki/Developer-Guide)
Install/Update/Removal
Install
1. [Download Release v0.3](https://github.com/emxsys/callattendant/archive/v0.3.zip).
2. Unzip the downloaded release. For example, to create the callattendant app under your home folder:
bash
cd
unzip ~/Downloads/callattendant-0.3.zip
cd callattendant-03

You can rename the `callattendant-03` folder if you wish.

Removal
- Delete the `callattendant-03` folder and its contents.

Update
If you are updating from a previous release, you should copy/move the `src/callattendant.db` file from the previous release to `data/callattendant.db` in this release.

0.2

Release v0.2 is a functional prototype that establishes the baselined architecture derived from addressing the architecturally significant scenarios. This release demonstrates that the baselined architecture will support the requirements of the system at a reasonable cost and with a reasonable effort.

This release uses the following hardware:
- The system runs on a **Raspberry PI 3 B+**
- The telco interface is a **US Robotics 5637 USB modem**

This release has implemented several primary use cases:
- Logs all incoming calls
- Performs call screening based on a *permitted number* list, a *blocked number* list and a **Nomorobo** robocall and scam lookup service
- Implements web interfaces for viewing the call log and managing the membership in the permitted number and blocked number lists
- Call Details: `http://localhost:5000`
- Permitted Numbers: `http://localhost:5000/whitelist`
- Blocked Numbers: `http://localhost:5000/blacklist`
- Manage Caller: `http://localhost:5000/manage_caller/[call-number]`

Features not implemented yet include:
- Call attendant phone menu system
- Recording voice messages
- Playback of voice messages

Page 1 of 2

Links

Releases

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.