XDMF2NCID(1)
π XDMF2NCID β the xdmf2ncid page, bestie edition π
okay so this is XDMF2NCID(1), from the User Contributed Perl Documentation corner of the universe, and it's literally the glow-up guide for a lil gateway called xdmf2ncid. sit down, grab a strawberry π, we're doing this.
β¨ NAME β¨
xdmf2ncid β XDMF Caller ID to NCID gateway. it's giving "matchmaker between your phone line and your server" π
π SYNOPSIS π
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>]
[--pretty]
[--test | -t]
[--test-file | -T <testfile>]
[--usbport | -u <USB port>]
[--verbose | -v <1-9>]
[--version | -V]
π¦ DESCRIPTION π¦
so the xdmf2ncid gateway is out here collecting Caller ID and messages from an SDMF or MDMF USB device (or a modem, she's flexible like that) and then sending all that info straight to the NCID server. and then the server does its lil relay thing and passes the CID info along to the NCID clients. iconic pipeline behavior, no cap β¨
the USB port is set to 1200 baud with 1 start bit, 8 data bits, 1 stop bit and no parity. very specific. very demure. π
the gateway uses the USB port as the default line identifier β think something like 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. main character energy, honestly π
the configuration file is prefix3=/etc/ncid/xdmf2ncid.conf. see the xdmf2ncid.conf man page for more details, bestie, that's where the lore lives.
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. don't skip that step, i'm begging π
π§ REQUIREMENTS π§
- Perl 5.6 or higher,
perl(Config::Simple) - The NCID server
either one of the following:
- CTI Comet USB Caller ID
- Modem
- configured for Caller ID by setting
AT+VCID=2
- configured for Caller ID by setting
- Holtek HT9032D based PSTN Caller ID module with required USB adapter
- Possibly other Type I Caller ID devices using the HT9032
π OPTIONS π
-C,--configfile <filename>β tells the program which configuration file to use. the program will still run if a configuration file is not found, she's resilient like that π«Ά- Default:
prefix3=/etc/ncid/xdmf2ncid.conf
- Default:
-D,--debugβ debug mode, displays all messages that go into the log file. use this option to run interactively. it's the "tell me everything" setting π- 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. she will NOT give up on the server, periodt.- Default: 15
-h,--helpβ displays the help message and exits. the "just tell me what's going on" button πΈ-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. full government name behavior β¨- 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. pick your fighter π₯- 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. unbothered. unruffled. π- if both options are present,
--logfile-appendtakes precedence. - Default: Append to
/var/log/xdmf2ncid.log
- if both options are present,
-m,--manβ displays the manual page and exits. hi, that's this π-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
- Input must be
-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
--prettyβ provides a more structured, decoded output for debugging and development purposes. output is in the form of perl comment lines, suitable for insertion intotest-xdmf-calls.data. it's the aesthetic version, obviously π-t,--testβ test mode is a connection to the SDMF or MDMF USB Caller ID device, to the gateway without a connection to the NCID server. it sets debug mode andverbose = 4. the verbose level can be changed on the command line.- Default: no test mode
-T,--test-fileβ the test-file mode uses a test file as input instead of a SDMF or MDMF USB Caller ID device. if test mode is also set, there is no connection to the NCID server. it sets debug mode andverbose = 4. the verbose level can be changed on the command line.- Default: no test file mode
-u <USB port>,--usbport <USB port>β specifies the USB port to listen on for messages from an XDMF device.- Default
"/dev/ttyUSB0"
- Default
-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. so like, don't expect a full 9-course meal π½οΈ- Default:
verbose = 1
- Default:
-V,--versionβ displays the version. π·οΈ
π₯ EXAMPLES π₯
start xdmf2ncid in test mode at verbose level 3
xdmf2ncid --test
start xdmf2ncid in debug mode at verbose level 1
xdmf2ncid -D
πΈ FILES πΈ
prefix3=/etc/ncid/xdmf2ncid.conf
π SEE ALSO π
xdmf2ncid.conf.5, ncidd.8, ncidd.conf.5, ncid_gateways.7
ok that's the whole page, no skips, no cuts π― go forth and gateway, bestie π¦
and for the lil sign-off moment: this gorgeous piece of documentation is running under perl v5.42.0 and it's dated 2025-08-06. take a screenshot, it's iconic β
π¦ where this page comes from
- fedora 43: ncid-gateways 1.18-4.fc43 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms