Skip to content

Vman45/callattendant

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Call Attendant

Automated call attendant, call blocker, and voice messaging on a Raspberry Pi.

Table of Contents

Overview

The Call Attendant (callattendant) uses a Raspberry Pi coupled with a US Robotics 5637 modem to screen incoming calls on a landline. Features being developed include:

  • Robocallers and blacklisted numbers are intercepted after the first ring
  • Whitelisted callers pass straight through to the local phone system for normal call ringing and answering
  • Visual indicators to show whether the incoming call is from a whitelisted, blacklisted, or unknown number
  • Unknown callers are handled by a voice messaging system that requires human interaction, e.g, "Press 1 to leave a message"
  • Call details, blacklists, whitelists are available in a web-based user interface

The Call Attendant project was inspired by the pamapa/callblocker project, an excellent Raspberry Pi based call blocker. However, the callattendant differs from the callblocker in that adds voice messaging; and the callattendant is written entirely in Python, uses SQLite for the call logging, and implments the web interface with Flask.

Context Diagrams

System View

Alt text

Subsystem View

Alt text

More information

The following blogs from IoT Bytes by Pradeep Singh were very useful for learning to how to program the Raspberry Pi and the US Robotics 5637 modem. His blog site has many Raspberry Pi resources. Thanks Pradeep!

Software Architecture

Archtectural Viewpoints

Rational Unified Process 4+1 View

Alt text

Use Case View

Main Use Case Diagram

Alt text

Logical View

Main Class Diagram

Alt text

Process View

Main Activity Diagram

Alt text

Main Sequence Diagram

Alt text

Implementation View

TODO...

Deployment View

Main Deployment Diagram

Alt text


Software Development Plan

The development plan's phase objectives are captured in the GitHub projects.

  • Iteration #I1: v0.1
  • Iteration #E1: v0.2
  • Iteration #C1: v0.3
  • Iteration #C2: v0.4
  • Iteration #T1: v1.0

Tools

DB Browser for SQLite

sudo apt-get install sqlitebrowser

Related Projects

About

Automated call attendant, call blocker, and voice messaging on a Raspberry Pi

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 93.4%
  • HTML 6.6%