Puneet Varma (Editor)

Network Caller ID

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
John L. Chmielewski

Operating system
  
Cross-platform

Stable release
  
1.4 / June 17, 2016 (2016-06-17)

Written in
  
C, Perl, Tcl, Unix Shell

Type
  
Plain Old Telephone Service (POTS) and Voice over Internet Protocol

License
  
GNU General Public License

Network Caller ID (NCID) is an open-source client/server network Caller ID (CID) package.

Contents

NCID consists of a server called ncidd (short for NCID daemon, a universal client called ncid, and multiple client output modules and gateways. The server, ncidd, monitors either a modem, device or gateway for the CID data. The data is collected and sent, via TCP, to one or more connected clients.

There are non-modem devices (which includes smartphones) and services that can detect CID information. An NCID gateway collects CID data from these other sources and passes it on to the main NCID server. From there the CID data is distributed to all connected clients, just like CID data collected from a traditional modem. One example of a non-modem device is a VoIP (Voice over IP) service that collects CID data as SIP packets. Another example is the Whozz Calling series of Ethernet Link devices that obtain CID information from multiple POTS (Plain old telephone service) lines.

NCID supports messages. Clients can send a one line message to all connected clients.

The client can also be used to push CID to other computers and devices with output modules.

Various clients are available on numerous platforms, including Android, iOS, Linux, macOS and Windows.

Modems

If you have tested a serial, USB or PCI modem, please edit the table below to indicate whether it worked or not.

Manually add entries in alphabetical order by Manufacturer / Model.

Longer notes

  • Note A: RING means ring only, no Caller ID, no hangup. CID means Caller ID and simple hangup. FAX and VOICE mean their respective hangup options. Unless otherwise noted, the presence of VOICE indicates the modem will use the default NumberDisconnected.rmd (raw modem file) distributed with NCID.
  • Note B: Zoom and TRIXES. Prior to NCID version 0.89, FAX hangup was not a configurable option, and two blog/forum posts (here and here) have patches to add FAX hangup. Starting with NCID version 0.89, FAX hangup is now a configurable option so the patches are no longer necessary. The NCID developers have been unable to contact the author at Murphy 101 Blog to have the blog updated.
  • Note C: US Robotics 5637. Tested with Fedora, Raspberry Pi and Ubuntu. Connected to the UK British Telecom and US caller id systems. FAX hangup will not hangup the line, will disconnect the modem and will abort ncidd. Several users report problems using this modem with the Raspberry Pi in particular.
  • Note D: 3Com 3CP2976. Linux utility lspci reports "04:01.0 Serial controller: 3Com Corp, Modem Division 56K FaxModem Model 5610 (rev 01)".
  • Note E: Works on several Linux distros. Confirmed to work on Raspberry Pi 3 running Ubuntu Mate.
  • Creating Raw Modem Data (RMD) files from scratch

    This table gives you the parameters you need when creating your own RMD files to use with Announce Hangup Feature. This applies to modems in the above table that include "VOICE" in the column "NCID Features Supported".

    You convert files from a format supported by the Linux SoX utility to Portable Voice Format (PVF), a conversion step that only needs to be done once.

    Then you convert the PVF with the Linux pvftormd utility to a Raw Modem Data (RMD) file that is unique for a modem's chipset. The same PVF can be used to create an RMD for any modem chipset supported by pvftormd.

    References

    Network Caller ID Wikipedia