Content-type: text/html
Options:
[-A <file> | --alias <file>] [-a <file> | --announce <file>] [-B <file> | --blacklist <file>] [-C <file> | --config <file>] [-c <file> | --cidlog <file>] [-D | --debug] [-d <file> | --datalog <file>] [-e <identifier> | --lineid <identifier>] [-f <command> | --audiofmt <command>] [-g <0|1> | --gencid <0|1>] [-H <0|1|2|3> | --hangup <0|1|2|3>] [-h | --help] [-I <string> | --initstr <string>] [-i <string> | --initcid <string>] [-j <0|1|2|3> | --cidinput <0|1|2|3>] [-L <file> | --logfile <file>] [-l <file> | --lockfile <file>] [-M <MaxBytes> | --cidlogmax <MaxBytes>] [-m <0|1|2|3> | --hupmode <0|1|2|3>] [-N <0|1> | --noserial <0|1>] (Obsolete, replaced by -j|--cidinput) [-n <0|1> | --nomodem <0|1>] (Obsolete, replaced by -j|--cidinput) [-P <file> | --pidfile <file>] [-p <portnumber> | --port <portnumber>] [-Q <dotted-ip> | --ifaddr <dotted-ip>] [-r <0|1|2> | --regex <0|1|2>] [-S <ttyspeed> | --ttyspeed <ttyspeed>] [-s <datatype> | --send <datatype>] [-T <0|1> | --ttyclocal <0|1>] [-t <ttyport> | --ttyport <ttyport>] [-V | --version] [-v <1-9> | --verbose <1-9>] [-W <file> | --whitelist <file>] [--osx-launchd]
- one of more modems or CID devices on a telephone line - one of more CID gateways on the network - or both modems and gateways
It formats the data on a single text line and then sends it to one or more Network Caller ID (NCID) clients over TCP/IP. The ncidd server also allows an alias for the number, an alias for the name and an alias for the telephone line identifier.
The telephone company limits names to 15 upper case characters, so by using the alias function, you can display the name as you would like to view it, or correct a name that was truncated. You can even change or mask (hide) a telephone number.
The send cidinfo option configures ncidd to send a CIDINFO line to clients at each ring and when ringing stops. It contains a telephone LINE label and a RING indicator.
If the Caller ID is obtained from a modem and the modem supports it, the server will include a ring count in each CIDINFO line. When ringing stops, the ring count will be zero. This allows, for example, a client to send the call information to a pager or cell phone on a specific ring count. If the ring count is not reached, it is assumed the phone was answered and there is no need to send a page or cell phone notification.
If ncidd is using a modem that indicates ring but not Caller ID, ncidd can handle calls without Caller ID by generating call data on ring number 2 and sending it to the connected clients. The number will be "RING" and the name will be "No Caller ID". This feature is on by default.
If the Caller ID is obtained from a Gateway, the CIDINFO line may be sent at the beginning and end of a call. At the end of a call, RING indicates either Hangup Without Answer or Hangup after Answer. This allows a cell phone or pager to receive a message only if the phone was not answered.
If the Caller ID is obtained from a Gateway that supports outgoing calls and the send callout option is configured, ncidd will send outgoing call text lines to the clients.
If the Caller ID is obtained from a Gateway that supports automatic hangup, ncidd will send hangup call text lines to the clients.
Internal Hangup refers to call termination that is based on the blacklist and whitelist files. A Hangup Extension refers to call termination that is based on a user-defined external script or program.
If the Internal Hangup --hangup option and/or the Hangup Extension --hupmode option is configured, ncidd will automatically hangup the call and send a hangup (HUP) text line to the clients. Both --hangup and --hupmode have identical modes: normal hangup, FAX hangup and Announce hangup. If the --hangup option and/or --hupmode option is configured for FAX hangup, but the modem does not support FAX, ncidd changes the mode from a FAX hangup to a normal hangup. Similarly, if the --hangup option and/or --hupmode option is configured for Announce hangup, but the modem does not support Voice or the Announcement file is missing, ncidd changes hangup from an Announce hangup to a normal hangup.
A client can send ncidd a text message. The text message is then sent to all connected clients, including the one that sent it.
A client can also send ncidd a job. The job can be adding, modifying, or deleting entries from the alias file; adding or removing entries from the blacklist or whitelist files; updating the call logs; dialing a number.
Gateways send ncidd a CALL text line. The CALL text line is either an incoming call (CID), an outgoing call (OUT), a hangup (HUP), or a message (MSG). Gateways are normally used in place of a modem, but can also be used with a modem connected to ncidd.
Gateways also send ncidd CALLINFO text lines. A SIP gateway will send a CALLINFO line when it receives a CANCEL or BYE command. The server then sends a ring count of -1 to its clients to indicate a hangup with no answer.
The NCID gateway sends ncidd CID and CIDINFO text lines instead of the normal gateway CALL and CALLINFO lines which need conversion.
When ncidd receives a SIGHUP signal, it reloads the alias, blacklist and whitelist files.
When ncidd receives a SIGUSR2 signal, it sends a list of connected clients to the logfile. This is for troubleshooting in debug mode.
0: Caller ID from a modem and optional gateways 1: Caller ID from a serial or USB device and optional gateways 2: Caller ID from a gateway with modem support 3: Caller ID from gateways without modem support
If --hupmode is set to 1, ncidd will immediately hangup the call. If --hupmode is set to 2, ncidd will generate FAX tones and then hangup the call. (If FAX mode does not produce FAX tones try setting pickup = 0 in ncidd.conf.) If --hupmode is set to 3, ncidd will play an announcement file and then hangup the call.
Use 0 for Simple Expressions (default) Use 1 for Posix Extended Regular Expressions Use 2 for Perl-compatible Regular Expressions
^ = partial match from beginning * = partial match after the '*' ^1? = optional leading 1 for US numbers only
Posix Regular Expression Description and Syntax: https://en.wikipedia.org/wiki/Regular_expression
Perl-compatible regular expression syntax Cheatsheet https://www.debuggex.com/cheatsheet/regex/pcre
Introduction to Regular Expressions: http://www.regular-expressions.info/quickstart.html
The ncidd.alias(5) file is used to create aliases. The syntax of the ncidd.alias(5) file is discussed separately and should be consulted for detailed reference information.
The CID: line gives the CID information of the current call.
The CIDLOG: line gives the CID information of a line in the CID logfile.
The CID: and CIDLOG: lines are identical, with data stored as name and value pairs. Clients should always locate the line identifier and then scan for a field name and get its value. It's possible that additional name/value pairs may be added in the future.
CID: *DATE*mmddyyyy*TIME*hhmm*NMBR*number*MESG*NONE*NAME*name* CIDLOG: *DATE*mmddyyyy*TIME*hhmm*NMBR*number*MESG*NONE*NAME*name*
The CIDINFO: line gives a line number and ring count from the server. The ring count starts at 1 and increases until ringing ends, at which time a count of 0 is sent. The line number default is 1. If Distinctive Ring service is being provided by the telco, ncidd will add one of the letters A, B, C, or D to indicate the virtual line called.
The MSG: line gives messages from the server.
The MSGLOG: line gives a message logged in the CID logfile.
The MSG: and MSGLOG: lines are identicalformat:
MSG: Too many clients connected: 15 MSGLOG: Too many clients connected: 15
The CIDOUT: line gives outgoing call information.
Return Code Meaning ----------- ------- 0 Successful -100 Usage -101 Invalid port number -102 TTY lockfile exists -103 Unable to set modem for Caller ID -104 Configuration file error -105 No modem found -106 Invalid data type. -107 Invalid number -108 Invalid tty port speed [set in config file] -109 Alias file error -110 PID file already exists -111 Cannot init TTY -112 Serial device error -113 string too long -114 Blacklist or whitelist file error -? System error