XDMF2NCID(1)

πŸ“¦
version 1.18 Β· 2 versions
, in fedora 43

πŸ’– 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 🧚

either one of the following:


πŸ’… 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
  • -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-append takes precedence.
    • Default: Append to /var/log/xdmf2ncid.log
  • -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
  • -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 into test-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 and verbose = 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 and verbose = 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"
  • -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
  • -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