VoicemailBox
VoicemailBox is an application for reading voice messages left on a fixed telephone line.
Its graphical interface is based on the Kivy framework.
Created to run on a Raspberry Pi with a touch screen, it should work on any GNU/Linux system.
Purpose
In France, some operators offer, as an option, to send voice messages left on a fixed line to a given email address.
VoicemailBox retrieves the voicemail messages thus sent, signals their arrival and offers a graphical interface to read them.
For now, it is designed to work with the French operator Bouygues Telecom.
Installation - General case
VoicemailBox can be installed with pip :
pip install voicemailbox
Installation - Raspberry Pi
The app has been tested on a Raspberry Pi 3, running Raspberry Pi OS Lite (Buster release), and the following hardware :
- official Raspberry Pi touchscreen ;
- OneNiceDesign touchscreen case ;
- adafruit speaker bonnet ;
- adafruit stereo enclosed speaker set.
On this system, some packages have to be installed first (Source) :
apt install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev \
libsdl2-ttf-dev pkg-config libgl1-mesa-dev libgles2-mesa-dev \
python3-setuptools python3-dev libmtdev-dev \
xclip xsel libjpeg-dev ffmpeg
Then, Kivy and VoicemailBox can be installed (virtual environment recommended) :
pip install --upgrade pip setuptools Cython
pip install kivy[base,media] --no-binary kivy
pip install voicemailbox
To allow rpi-backlight to manage touchscreen backlight without root access,
a udev rule has to be created :
$ echo 'SUBSYSTEM=="backlight",RUN+="/bin/chmod 666 /sys/class/backlight/%k/brightness /sys/class/backlight/%k/bl_power"' | sudo tee -a /etc/udev/rules.d/backlight-permissions.rules
Additionnal configuration
The following instructions enable VoicemailBox to be integrated with the hardware described above :
-
edit
/boot/config.txt:- touchscreen rotation : add
lcd_rotate=2 - GPU's memory set to 256 Mb : add
gpu_mem=256 - adafruit speaker bonnet :
- add
dtoverlay=hifiberry-dac - add
dtoverlay=i2s-mmap - comment
dtparam=audio=on
- add
- touchscreen rotation : add
-
for speaker bonnet support, create
/etc/asound.confwith the following content :pcm.speakerbonnet { type hw card 0 } pcm.dmixer { type dmix ipc_key 1024 ipc_perm 0666 slave { pcm "speakerbonnet" period_time 0 period_size 1024 buffer_size 8192 rate 44100 channels 2 } } ctl.dmixer { type hw card 0 } pcm.softvol { type softvol slave.pcm "dmixer" control.name "PCM" control.card 0 } ctl.softvol { type hw card 0 } pcm.!default { type plug slave.pcm "softvol" }
-
Wi-Fi : create wpa_supplicant.conf file in
/bootwith following content (Source) :ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=<Insert 2 letter ISO 3166-1 country code here> network={ ssid="<Name of your wireless LAN>" psk="<Password for your wireless LAN>" }
-
to use kivy with Raspberry Pi touchscreen, modify
~/.kivy/config.ini, add under[input]section :mouse = mouse mtdev_%(name)s = probesysfs,provider=mtdev hid_%(name)s = probesysfs,provider=hidinput
-
create systemd service to run at startup :
-
create
/etc/systemd/system/voicemailbox.servicewith the follonwing content :[Unit] Description=voicemailbox After=multi-user.target [Service] Type=idle Environment=KIVY_AUDIO=ffpyplayer ExecStart=/home/pi/.venv/bin/python -m voicemailbox WorkingDirectory=/home/pi/ User=pi [Install] WantedBy=multi-user.target
-
run at start-up :
sudo systemctl enable voicemailbox
-
-
use Log2Ram :
- install :
echo "deb http://packages.azlux.fr/debian/ buster main" | sudo tee /etc/apt/sources.list.d/azlux.list wget -qO - https://azlux.fr/repo.gpg.key | sudo apt-key add - apt update apt install log2ram
- modify frequency : run
systemctl edit log2ram-daily.timerand add :[Timer] OnCalendar=weekly
- install :
Usage
Some environment variables have to be defined before running the application :
VOICEMAILBOX_IMAP_SERVER # IMAP server address
VOICEMAILBOX_EMAIL_ADDRESS # User email address
VOICEMAILBOX_EMAIL_PASSWORD # User password
Then VoicemailBox can be launched :
python -m voicemailbox
Third party libraries and dependencies
VoicemailBox makes use of the following third party projects :
- Kivy (MIT license) ;
- IMAPClient (New BSD license) ;
- rpi_backlight (MIT license) ;
- python_dotenv (BSD license) ;
- PYYaml (MIT license).
VoicemailBox also includes :
- the FontAwesome icons (SIL Open Font License) ;
- the ring song from LaSonotheque.org (Free license).
License
VoicemailBox is placed under CeCILL license (version 2.1).
Metadata
Release files for voicemailbox 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| voicemailbox-0.1.5.tar.gz | 580.6 kB | Without provenance | Details for voicemailbox-0.1.5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| voicemailbox-0.1.5-py3-none-any.whl | Python 3 | none | any | Details for voicemailbox-0.1.5-py3-none-any.whl |
Total release size: 1.2 MB
Release files / voicemailbox-0.1.5.tar.gz
| Download URL | voicemailbox-0.1.5.tar.gz |
|---|---|
| Size | 580.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dc16bc12dd41da0da9a1fa173501ff07e2876ece4dbfe37300717bd979ebc742
|
|
BLAKE2b-256 checksum How to use checksums |
6adffbf6c5c329faaf675093e05278a341b4a2a995455689dd3d8fe388e4b1aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.4 CPython/3.6.9 Linux/5.4.0-65-generic
|
Release files / voicemailbox-0.1.5-py3-none-any.whl
| Download URL | voicemailbox-0.1.5-py3-none-any.whl |
|---|---|
| Size | 581.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7e3786cdf8ddea0ad1f7c3985e5a693b2f279dbe3e16352307f2e5ec589be963
|
|
BLAKE2b-256 checksum How to use checksums |
710e0235c35c26dfc4adb7c73990a5e2479eb2e409ed49dcd4e0fb37b09d5e32
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.4 CPython/3.6.9 Linux/5.4.0-65-generic
|
Security for voicemailbox 0.1.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.