A Client-Server-Gateway Caller ID System

Description

The NCID server, called ncidd,
obtains Caller ID information or outgoing call information and makes it available to clients over the network.
It also makes use of aliases to change the NUMBER or NAME received, before sending the call information to its clients.

The server can send messages to its clients. The messages are either from clients or alert messages from the server itself.

The server can also automatically hangup up a call if the name or number is in the blacklist file.

The server can modify the call, alias, blacklist, and whitelist files with information obtained for a client.

The NCID server obtains the Caller ID information from either a modem, a serial device, or gateways. A SIP gateway obtains
The Caller ID information for incoming calls and information on outgoing calls. Multiple
gateways are supported and can be used along with a modem or serial device. If the hardware or gateway supports outgoing calls,
ncidd can also send that information to its clients

The NCID server can also function without Caller ID if a modem is used that indicates ring. The date and time of the
call will be noted, but not the name or number of the caller.

The NCID client, called ncid, receives call and messsage information from the server and either
displays it, sends it to a output module, or both. The client has multiple output modules available and a display program for a TiVo.
There can be multiple clients in GUI mode, but only one client per output module. The client can send jobs to the server which can create,
update, or delete an alias, create or delete entries from the blacklist or whitelist files, and update the call file with new aliases.

Perfect for

Maintaining a list of telephone calls from one or more POTS lines, one or more VoIP systems, and one or more Android phones.

Requirements

The NCID server requires either a modem that
supports Caller ID or RING indication, a Caller ID device like Whozz Calling
or NetCallerID, or a Gateway that obtains the Call information.

You can use a modem that supports RING but not Caller ID if you are only interested
when the date and time of a call. The NCID server sends "RING" for the number and "No Caller ID"
for the name when sending the call information to its clients.

NCID runs under Linux, OSX, UNIX, and Cygwin.
Fedora, Ubuntu, Raspbian, OSX, FreeBSD, Raspbian, and Cygwin are supported, but
it can be built on UNIX based and Linux based systems. In addition, RPM and DEB
packages can be built using the source.
NCID also runs on a RaspberryPI.
NCID runs under Windows if using the cygwin or Ubuntu Window packages.