NCID - Network CallerID

Web Site: http://ncid.sourceforge.net

NCID Features: http://ncid.sourceforge.net/ncid/ncid.html

Man Pages: http://ncid.sourceforge.net/man/man.html

Software Development Kit: http://ncid.sourceforge.net/NCID-SDK.odt

File last changed: Sun Jan 30, 2011

Directories:
    cidgate:     gateway programs
    client:      client program
    Debian:      files specific to Debian.
    doc:         most of the documentation
    Fedora:      files specific to Fedora.
    FreeBSD:     files specific to FreeBSD.
    man:         man pages
    modules:     client modules
    server:      server program
    screenshots: screenshots for ncid and tivocid
    scripts:     logrotate scripts
    server:      server program
    test:        test scripts for the server and client
    TiVo:        files specific to the TiVo
    tools:       log file scripts
    Win:         files specific to windows

The NCID package contains:
    - a Network CallerID server: ncidd
      ncidd runs on Linux/TiVo/UNIX/Macintosh OSX/Cygwin
    - a Network CallerID client: ncid
      ncid runs on Linux/TiVo/UNIX/Windows/Mac OSX/Cygwin (requires tcl/tk)
    - client output modules and a configuration script for them
    - a Network CallerID hangup client: ncidhangup
    - A NCID to NCID gateway: ncid2ncid
    - A SIP Invite Gateway: sip2ncid
      sip2ncid runs on Linux/UNIX/Windows/Mac OSX/Cygwin
    - Original SIP Invite Gateway: ncidsip
      ncidsip runs on Linux/UNIX/Windows/Mac OSX/Cygwin
      (requires Perl and Perl modules)
    - A YAC to NCID gateway: yac2ncid (requires a yac server to input CID)
      yac2ncid Linux/UNIX/Cygwin/Mac
    - tools to work with the CID log and alias files: ncidtools
      ncidtools runs on Linux/UNIX/Mac OSX/Cygwin/TiVo (requires Perl)
    - a log rotate module
    - init scripts for Fedora, and Ubuntu
    - rc scripts for FreeBSD

The server, ncidd, is a TCP/IP Caller ID Daemon.  It either monitors a modem
or serial device for Caller ID, or obtains it from a CID gateway.  It sends
the CID information over the network to its clients.  The server can alias
the NUMBER, NAME, NUMBER and NAME, and LINE identifier received before it
is sent to its clients.

The telco always sends the CID between RING 1 and RING 2.  If ncidd does
not receive the CID by RING 2, ncidd can be configured to indicate a call
by sending RING as the number and "No CID From Modem" as the name.  This
permits NCID to display a visual indication of a call along with the date
and time.  This requires of a modem that indicates RING.

The ncidd server can also be configured to send outgoing calls to its clients.
This only works with SIP gateways that indicate outgoing calls.

The NCID package has the following features:

    Server Features (ncidd):
    - Gets CID information from a modem, device or gateway.
    - Indicates a call from modems that indicate ring but not Caller ID.
    - Shares the modem for outgoing calls.
    - Supports CID devices like NetCallerID
    - Supports VoIP using SIP
    - Supports outgoing calls if the SIP gateway supports it
    - Allows multiple clients and gateways.
    - Does Name/Number/Line aliases, so the display can be customized.
      For example: "Wireless Caller" becomes "John on Cell".
    - Can alias the telephone line identifier
    - Logs all calls:  Track who called when.
    - Has a configuration file to set most options and aliases.
    - Runs on Linux, UNIX, Macintosh OS X, TiVo and Windows using andLinux
      or Cygwin.
    - Supports Distinctive Ring
    - Supports Multiline (1 POTS and 1 or Gateways)
    - VoIP supports requires a SIP Gateway
    - Supports a remote modem using a YAC Gateway
    - Send important error messages to the clients.
    - Send a message received from a client to all connected clients.
    - Reloads the alias file when it receives a SIGHUP signal.
    - Sends ring count or -1 for hangup before answer or -2 for hangup after
      answer if input device supports it.
    - supports sending outgoing calls to clients if received from a gateway
    - Automatically terminates a telephone call using a modem if name or
      number is in the blacklist file.
    - Reloads the alias and blacklist files when it receives a SIGHUP signal.
    - Documented protocol

    Client Features (ncid):
    - Displays the number in a specific country format for US, Sweden,
      United kingdom, Germany, and no format.
    - Displays the current Caller ID Log when a call is received.
    - Displays outgoing calls if they are supported by the server
    - Displays messages received from the server.
    - Supports Distinctive Ring and multiple telephone lines.
    - Supports output modules to customize its output and to send the CID
      to cell phones, pagers or email.
    - Can call a output module on a specific ring count or hangup indicator
    - Can send a message to all active clients using the server
    - Multiple clients allowed, usually each with a different output module.
    - Runs on Windows, Linux, UNIX, and Macintosh OS X.
    - Documented protocol

    CID Gateway Features (sip2ncid and ncidsip)
    - Receives Caller ID information from SIP Invite
    - Creates a CID Message and sends it to the NCID server
    - indicates call answered or not answered
    - Handles multiple VoIP Lines
    - Indicates the telephone line by the last 4 digits
    - can have multiple ncidsip clients, each monitoring VoIP hardware
    - Documented protocol

    NCID Gateway Features (ncid2ncid)
    - Forwards Caller ID information and messages from selected NCID
      (sending) servers to a selected NCID (receiving) server
    - Handles up to 3 sending NCID servers
    - Documented protocol

    YAC Gateway Features (yac2ncid)
    - Receives Caller ID information from a YAC server
    - Creates a CID Message and sends it to the NCID server
    - telephone line identifier can be set in yac2ncid.conf
    - Documented protocol

See the doc directory for most documentation, including OS
specific INSTALL files.

See cidgate/README.gateways Fedora/README.Fedora FreeBSD/README.FreeBSD
modules/README.modules scripts/README.logfile, tools/README.tools, and
test/README.

Instructions to make and install the ncid package are in the various
INSTALL files included and the web site.

man pages:
Instructions for using ncidd are in the man page: ncidd.8
Instructions for configuring ncidd are in the man page: ncidd.conf.5
Instructions for configuring ncidd aliases are in the man page: ncidd.alias.5
Instructions for ncid.blacklist are in the man page: ncidd.blacklist.conf.5

Instructions for using ncid are in the man page: ncid.1
Instructions for configuring ncid are in the man page: ncid.conf.5

Instructions for using ncidmodules are in the man page: ncidmodules.1
Instructions for configuring ncidmodules are in the man page: ncidmodules.conf.5

Instructions for using ncid2ncid are in the man page: ncid2ncid.1
Instructions for configuring ncid2ncid are in the man page: ncid2ncid.conf.5

Instructions for using sip2ncid are in the man page: sip2ncid.8
Instructions for configuring sip2ncid are in the man page: sip2ncid.conf.5

Instructions for using yac2ncid are in the man page: yac2ncid.1
Instructions for configuring yac2ncid are in the man page: yac2ncid.conf.5

Instructions for using ncidrotate are in the man page: ncidrotate.1

Instructions for using ncidtools are in the man page: ncidtools.1

Formatted man pages are text files and html files. They are created in the
man directory after a "make mandir" in the top level directory, or a "make"
in the man directory.

The distributed configuration files are:
    ncid.conf
    ncidd.conf
    ncidd.alias
    ncidd.blacklist
    ncidsip.conf
    ncidrotate.conf
    ncidmodules.conf
    ncid2ncid.conf
    sip2ncid.conf
    yac2ncid.conf

NCID is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License located
in a file called doc/LICENSE.
