Your company here — click to reach over 10,000 unique daily visitors

xdmf2ncid - Man Page

XDMF Caller ID to NCID gateway


 xdmf2ncid [--configfile        | -C <filename>]
           [--debug             | -D]
           [--delay             | -d <seconds>]
           [--help              | -h]
           [--hostname-flag     | -H <0|1>]
           [--ht9032-ic         | -I <0|1>]
           [--logfile-append    | -l <filename>]
           [--logfile-overwrite | -L <filename>]
           [--man               | -m]
           [--ncidhost          | -n <[host][:port]>]
           [--pidfile           | -p <filename>]
           [--test              | -t]
           [--usbport           | -u <USB port>]
           [--verbose           | -v <1-9>]
           [--version           | -V]


The xdmf2ncid gateway obtains Caller ID and messages from an SDMF or MDMF USB device (or modem) and sends the information to the NCID server. The server then sends the CID information to the NCID clients.

The USB port is set to 1200 baud with 1 start bit, 8 data bits, 1 stop bit and no parity.

The gateway uses the USB port as the default line identifier, for example ttyUSB0.

The line identifier can be aliased by the NCID server so you can give each phone line a meaningful identification such as  the last 4 digits of the phone number.  For example: 1234.  You can even use the complete phone number if you desire.

The configuration file is /etc/ncid/xdmf2ncid.conf. See the xdmf2ncid.conf man page for more details.

The xdmf2ncid gateway can run on any computer, but normally it is run on the same box as the NCID server.  If it is not run on the same box as the NCID server, you must configure the server IP address in the configuration file.


Perl 5.6 or higher, perl(Config::Simple)

The NCID server


Either one of the following:

CTI Comet USB Caller ID



configured for Caller ID by setting AT+VCID=2

Holtek HT9032D based PSTN Caller ID module with required USB adapter



USB to UART TTL cable adapter for PC connection



Possibly other Type I Caller ID devices using the HT9032



-C,  --configfile <filename>

Specifies the configuration file to use.  The program will still run if a configuration file is not found.

Default: /etc/ncid/xdmf2ncid.conf

-D,  --debug

Debug mode, displays all messages that go into the log file. Use this option to run interactively.

-d <seconds>, --delay <seconds>

If the connection to the NCID server is lost, try every <delay> seconds to reconnect.

Default: 15

-h,  --help

Displays the help message and exits.

-H <0|1>, --hostname-flag <0|1>

When the hostname flag is set to 1, the IDENT string sent to a server will include the hostname with the program name.

Default: 0

-I <0|1>, --ht9032-ic <0|1>

Set to 0 for input from either the CTI Comet USB or modem, or set to 1 for input from the Holtek HT9032D based PSTN Caller ID module or possibly other devices based on the Holtek HT9032 IC.

Default: 0

-l,  --logfile-append <filename>
-L,  --logfile-overwrite <filename>

Specifies the logfile name to write.  The program will still run if it does not have permission to write to it.

If both options are present, --logfile-append takes precedence.

Default: Append to /var/log/xdmf2ncid.log

-m,  --man

Displays the manual page and exits.

-n <[host][:port]>, --ncidhost <[host][:port]>

Specifies the NCID server. Port may be specified by suffixing the hostname with :<port>.

Input must be <host> or <host:port>, or <:port>

Default:  localhost:3333

-p,  --pidfile <filename>

Specifies the pidfile name to write. The program will still run if it does not have permission to write a pidfile. The pid filename that should be used is /var/run/xdmf2ncid.pid.

Default: no pidfile


Provides a more structured, decoded output for debugging and development purposes. Output is in the form of perl comment lines, suitable for insertion into test-xdmf-calls.data.

-t,  --test

Test mode is a connection of the SDMF or MDMF USB Caller ID device to the gateway without a connection to the NCID server. It sets debug mode and verbose = 3. The verbose level can be changed on the command line.

Default: no test mode

-u <USB port>, --usbport <USB port>

Specifies the USB port to listen on for messages from an XDMF device.

Default "/dev/ttyUSB0"

-v,  --verbose <1-9>

Output information, used for the logfile and the debug option.  Set the level to a higher number for more information.  Levels range from 1 to 9, but not all levels are used.

Default: verbose = 1

-V,  --version

Displays the version.


Start xdmf2ncid in test mode at verbose level 3

xdmf2ncid --test

Start xdmf2ncid in debug mode at verbose level 1

xdmf2ncid -D



See Also

xdmf2ncid.conf(5), ncidd(8), ncidd.conf(5), ncid_gateways(7)

Referenced By

ncid_gateways(7), xdmf2ncid.conf(5).

2024-04-12 perl v5.38.2 User Contributed Perl Documentation