Python applications2016–2017

Two-Line Caller ID

A Windows/Python application that monitors two telephone lines, identifies incoming callers and brings their saved customer information into view.

My contribution

Python desktop application development

Project archive
Serial caller-ID adapter for the two-line desktop application.
Serial caller-ID adapter for the two-line desktop application.
ENGINEERING HIGHLIGHTS

What stands out.

  • Serial hardware event integration
  • Incoming caller-to-record matching
  • Desktop interface & spreadsheet call history
Project overview

From the problem to the implementation.

The problem

Help an operator connect an incoming call with a customer record without manually searching a separate contact list.

The approach

  • Read caller numbers from a serial caller-ID device.
  • Stored a customer contact list with address, identifier and optional secondary number.
  • Displayed matching information on subsequent calls and saved incoming-call records to spreadsheets.

What came together

A two-line caller-ID workflow combining serial hardware, a Tkinter desktop interface and XLS call logging.

Project footage

See it in action

Two-line caller-ID application

Two-line caller-ID application test. Silent demonstration.

Open video
System view

How the system works

Telephone lines

Two lines provide incoming caller-ID events.

Serial adapter

Dedicated hardware reports the incoming number to the computer.

Python application

The application receives and matches the number.

Customer context

Saved information appears in the Tkinter interface.

Call log

Incoming calls are retained in spreadsheet files.

Technical notes

The detail behind the build

Two telephone lines, one interface

The desktop application listens to a serial caller-ID device connected to two business telephone lines. When a number arrives, the application links it to the stored customer information.

Turning a first call into a useful record

The operator can save a new caller with an address, customer identifier and optional additional number. On a later call, the matching record is displayed so the operator has context at the start of the conversation.

A call history outside the application

Incoming calls are saved to XLS files for later reference. Python, Tkinter, Pyserial and openpyxl provide the main desktop and data-handling workflow.

The hardware boundary

A Windows PC runs the application while a dedicated serial device receives caller-ID information from the telephone lines. The project media shows the adapter and a short application test.

Implementation

Software, hardware & tools.

Software

  • Python Windows application
  • Serial event handling & call logging

Hardware

  • Windows PC
  • Two-line serial caller-ID adapter

Technology stack

  • Python
  • Device integration
  • Desktop applications
Continue the conversation

Working on a related challenge?

Get in touch about Python, embedded systems or a research opportunity.

Next project

Industrial Alarm Monitoring

Embedded systems