Major Changes
- NCID client:
Plugin capabilities were added.
Search for names in the history window.
- New hardware support:
The company ARTECH manufactures a model AD102 USB device for a single phone line. It detects incoming Caller ID (including Call Waiting Caller ID) and outgoing dialing.
The company CidEasy manufactures CID Easy Model-E and CID Easy Model-F USB devices. There are two models; one for up to two phone lines, and one for up to four phone lines. It detects incoming Caller ID only and does not detect Call Waiting Caller ID.
Other Changes
- Fixes and Code Improvements:
ncid client
ncid.conf client configuration
ncidd server
ncidd.conf server configuration
- New features:
- Updated:
Country carrier metadata for North American Numbering Plan, France, Japan, United Kingdom which is used by ncidd, cidupdate and ncidnumberinfo
Server
New: The default call log (cidcall.log) size was changed from 110K bytes to 1M bytes and the maximum call log size was changed from 500K bytes to 100M bytes.
New: Field pair PCALL added to capture the end-of-call pickup date and time, used by clients to calculate talk time duration
Code improvements and bug fixes.
Client
New: Plugin capabilities were added as a new Plugins menu in the menu bar, and added as individually named plugins to the context menu for history window lines. They will be enabled and appear if they are configured in ncid.conf. Programs added to the Plugins menu are simply launched when selected. Similarly, programs added to the context menu are launched when selected but they can also pass any of the data on a history window line (NAME, NUMBER, DATE, etc.).
New: Search menu was added to the menu bar with sub-menu Find Names to find names in the history window. A complete or partial name can be specified.
Updated: The menu bar now looks like this:
File | Search | Server | Preferences | Themes | Plugins | Help
New: NCID 1.13 added DURATION to Preferences->Select Columns->Gateway Columns. In this new release, if you select column DURATION to be shown, a new option is enabled: Preferences->Duration Mode. Choices are either Call Time (defined as the time from the first RING to call termination) or Talk Time (defined as the time from pickup to call termination). The column heading will be shown as DURATION-C and DURATION-T respectively. The default Duration Mode is Call Time.
Code improvements and fixes.
Removed: Setting DialPrefix has been deprecated and its functionality incorporated into Server->Dial Number Manually and into the history window's context menu Dial Number From History.
New: The Server->Dial Number Manually submenu and history window's context menu Dial Number From History can be disabled with the new disable_server_dialer setting. Default is for the server dial capability to be enabled.
New: Plugin support. Examples are included and pre-enabled in ncid.conf to serve as a guide to making your own. Plugins currently run on Linux distros and is to be considered experimental on Windows.
menu plugin label: Hello World
context plugin label: Check NANPA Number
- context plugin label: Display ncid variables
Normally all lines in ncid.conf are commented out for each release because defaults are used if no ncid.conf is present. For this release, the new plugin lines are not commented so you can try them out. Note that if you are upgrading from a previous release, your customized ncid.conf still takes precedence and you'll need to manually edit ncid.conf and add the plugins to try them out.
Client Plugins
- Hello World
New
Description: Launches zenity notification program to pop up a window with the text "hello world".
Requires: zenity
On Windows, we have successfully tested these versions of zenity:
Zenity for Windows version 3.20.0, dated August 11, 2016 (on the Wayback Machine) Even though this has an older date than WinZenity, it is recommended because it has more features. Be sure to read this reported issue before installing; the NCID Developers did not experience this issue.
WinZenity (Zenity version 3.6 Portable for Windows), dated February 10, 2020.
Client GUI Location: menu bar Plugins menu
Script Location: built into ncid.conf
- Check NANPA Number
New
Description: Launches a python script to determine if the phone number of the currently selected history window line is a valid number using the North American Numbering Plan. If it is valid, it will launch your default browser to do a reverse phone number lookup at https://www.usphonebook.com.
Requires: python
Client GUI Location: history window's context menu
Script Location: plugins/check_nanpa_number
- Display ncid variables
New
Description: Launches a wish script that shows all of the data variables and their descriptions.
Requires: nothing special
Client GUI Location: history window's context menu
Script Location: plugins/display_ncid_variables
Gateways
New
Linux: Incoming Caller ID has been tested fairly extensively in France. The Call Waiting Caller ID and outgoing dial detection should be considered experimental.
macOS: Support is to be considered experimental.
The ARTECH AD102 hardware is sensitive to the signal levels and timings present on a country's phone lines and will likely need adjusting via artech2ncid.conf. Feel free to submit a Support Request and we'll do our best to help.
New
Linux: The device works reliably.
macOS: Support is to be considered experimental.
- Code improvements and fixes.
- Code improvements and fixes.
- Code improvements and fixes.
Tools
- Code improvements and fixes.
- Code improvements and fixes.
Documentation
- Updated
New: field pair PCALL date/time the call is picked up (used for end-of-call accounting)
Updated: reinstated ncidd.conf::cidnoname - enable/disable detection of Caller ID name from Telco
New: artech2ncid
New: artech2ncid.conf
New: cideasy2ncid
New: cideasy2ncid.conf
Updated: ncid
Updated: ncid.conf
Updated: ncid_gateways
Updated: ncidd.blacklist
Updated: ncidd.whitelist
Updated: ncidnumberinfo
Updated: update-cidcall
Downloads
- The large green Download button on the SourceForge Project Page detects which operating system you're using. For Windows, it defaults to downloading only the latest Windows client setup program. Otherwise it defaults to the complete, latest source package. Select Files to view and download any of the available packages.
Client
- All operating systems
- Requires TCL/TK version 8.6.6 or newer.
- Windows
Requires the installation of ActiveTcl.
OUTPUT MODULES are not supported but Windows 10 can run Ubuntu using Windows Subsystem for Linux (WSL). We have not installed or tested NCID using WSL, so any feedback would be appreciated if you try this.
- Fedora
- For releases 1.7 and earlier, the presence of Emoji fonts will crash the GUI client and/or cause an X Windows error on start-up or when doing a Preferences->Font->Re-scan.
If ncid dies on startup, you must remove the $HOME/.ncid file if using Linux based distribution, FreeBSD or macOS, or the <INSTALLDIR>/.ncid file if using Windows.
The ncid client, starting with release 1.8, ignores all Emoji fonts. For client releases prior to 1.8, the only fix is to manually remove all Emoji fonts.
- macOS
- The ncid client is not supported under the native Aqua graphical user interface. Installation steps handle the XQuartz application which provides a custom X Windows, and a version of TCL/TK that is for X Windows/XQuartz.
Source Compile Requirements
- g++ or c++14 compiler
- libphonenumber 7 or greater
- libicu 57 or greater
If the above are not available then NCID release 1.11 should be used.
Fedora Upgrade
When doing an upgrade from NCID 1.2 on Fedora, the client post-script installed with NCID 1.2 will fail.
- Everything is installed properly but if you had any clients with output modules running, you may need to restart them after the upgrade.
Macintosh Upgrade
Beginning with NCID 1.12, you must compile from source because no self-extracting installer script is available. Your existing configuration settings will be preserved.
Upgrades for All Operating Systems (including Fedora and Macintosh)
It is highly recommended that you run the new update-cidcall tool after upgrading to NCID 1.12 but before launching the ncidd server for the first time.
If you don't run update-cidcall then call log data prior to NCID 1.12 will show blanks instead of the new fields.
Once NCID 1.12 is installed and running, the new call log data will automatically be populated with the new fields.
Cygwin Support
Cygwin is no longer supported beginning with NCID 1.12 because it does not provide dependencies for libphonenumber. If you still need to run on Cygwin then NCID release 1.11 should be used.
Language Support
You are welcome to contact us to request that additional countries be included for the ncid client. The NCID source has documentation and the tools that we use in case you want to add a new country on your own, but be aware that doing so is non-trivial (it depends on the format that the country's telecom authority will use).
Home page for all the NCID distributions.
Overview of the NCID package and requirements.
Lists all the features of the server and client.
Downloads and release notes for this release.
Explains how to get started with NCID and how to set up the various features. It is a good reference even for those experienced with NCID.
The manual pages describe all the software that comes with NCID.
An incomplete table of modems that are compatible and incompatible with NCID.
Home page for the NCID WiKi.
Information needed to develop servers, clients, client output modules and gateways for NCID (Network Caller ID).
A tar archive that contains the API and test scripts for building an NCID server, client, or gateway.
List of package versions for project ncid in all primarily Red Hat and Fedora repositories.