WCT(1)
π WCT(1) β whozz calling bestie, it's giving interactive tool β¨
User Contributed Perl Documentation π
β¨ NAME β¨
wct β Whozz Calling Ethernet Link Device interactive tool π¦
πΈ SYNOPSIS πΈ
wct [--debug | -D]
[--help | -h]
[--logfile-append | -l <filename>]
[--logfile-overwrite | -L <filename>]
[--configfile | -C <filename>]
[--man | -m]
[--set-wc]
[--pidfile | -p <filename>]
[--discover | --discovery | -d
[--discover-loop | --discovery-loop <secs>]
[--verbose | -v <1-9>]
[--version | -V]
[--wchost | -w <address1>[,address2][,...]
π DESCRIPTION π
Okay so basically this script lets you talk to a Whozz Calling device so you can look at its config or change it. π And the way this works is it's generic β like, it does not assume anything, because the actual configuration settings are different depending on which Whozz Calling model you've got and which firmware version it's running. So yeah, no cap, your mileage may vary by model. π
You type in the commands one per line, or honestly you can just hit <ENTER> all by itself if you wanna check whether there's anything pending waiting for you. π«Ά
DO NOT type the ^^Id prefix yourself!! It gets included automatically, bestie. Just don't. π
π OPTIONS π
-w <address1[,address2][,...]>,--wchost <address1[,address2],[,...]>β Tells it which Whozz Calling Ethernet Link Device(s) you mean. If you've got multiple devices, you separate their addresses with commas. β¨
The input has to be either <address> or <address1,address2,etc>.
Default: 192.168.0.90
This option gets ignored if--discoveror--discover-loopis in effect. Like, completely. π
-D,--debugβ Debug mode, bb. It shows you every single message that goes into the log file. π-h,--helpβ Prints the help message and then dips. π-m,--manβ Prints the manual page and then dips. π¦-C,--configfile <filename>β Says which configuration file to use. And listen, if it can't find a config file, the program still runs anyway. It's fine. We're fine. π
If --discover or --discover-loop is in effect, the config file still gets processed, but any wcaddr addresses inside it will be ignored. π
Default: prefix3=/etc/ncid/wc2ncid.conf
--set-wcβ Sets the IP address, the beginning line number, the number of telephone lines, and the sending port, for each Whozz Calling Ethernet Link Device. π₯
It sets the IP address for the WC device using the address from wcaddr in the configuration file, or from --wchost on the command line.
It automatically sets the beginning line number for the WC device, which gets used as a line label prefixed with WC. Each device gets a beginning line number that is the ending line number plus one from the preceding device. For example: device 1 (WC01 WC02), device 2 (WC03 WC04 WC05 WC06). β
NOTE: All devices are automatically configured to send call information on port 3520. π
This option gets ignored if--discoveror--discover-loopis in effect.
-l,--logfile-append <filename>-L,--logfile-overwrite <filename>β Says what the logfile name is that we're writing to. And again β if it doesn't have permission to write to it, the program still runs. We stay unbothered. π
If both options are present, --logfile-append wins and takes precedence. Periodt. π
Default: Append to wct.log in your current directory.
-p,--pidfile <filename>β Says what the pidfile name is that we're writing. The program will still run if it doesn't have permission to write a pidfile. The pid filename that should be used is/var/run/wc2ncid.pid. π§
Default: no pidfile
-d,--discover,--discovery =item --discover-loop <secs>,--discovery-loop <secs>β Forces discovery of every single powered-on Whozz Calling Ethernet Link Device. π Any IP addresses in the configuration file, or on the command line, get ignored.
If you use --discover-loop, it just keeps looping forever, sending a fresh new discovery (^^IdX) every <secs> seconds. π
A normal invocation of this script functions the same as wc2ncid, including the initialization of each device's configuration "toggles." So use the --discover or --discover-loop options if you want to bypass that initialization. β¨
-v,--verbose <1-9>β Outputs information, used for the logfile and the debug option. Crank the level up higher for more information. Levels range from1to9, but ngl, not all levels are used. πΈ
Default: verbose = 1
-V,--versionβ Displays the version. π
π EXAMPLES π
Start wct and go looking for all powered-on devices:
wct -d
Start wct, set the IP address to 192.168.1.90 from the command line, set the beginning line number automatically, and set the sending Ethernet port to 3520 (which is the default):
wct --set-wc --wchost 192.168.1.90
π¬ INTERACTIVE COMMAND MODE π¬
ok so this is where the actual fun starts, bestie. β¨
π d2h
Decimal-to-hex conversion. literally does what it says on the tin.
You'll get asked for the decimal number you want converted to hex. Easy.
You can also type in an IP address (like 192.168.1.90) and it'll show you the proper hex digits for the D and I commands. iykyk. π
π help
Shows you this interactive command mode help. Whenever you want out, just hit the letter q and you're back at the command prompt. no drama. π¦
π select
So when you've got multiple Whozz Calling Ethernet Link Devices in the mix, this is how you pick which one you want to talk to. main character selection moment fr.
There's also a special ALL DEVICES choice, and bestie, it means all typed commands get broadcast to every single device. For example β select ALL DEVICES, then type the Z command, and every powered-on device gets reset to its factory defaults. π
Use ALL DEVICES with care, okay?? because you could set all devices to have the same IP address, same MAC address, etc. that is a chaos pipeline and we do not want it.
π’ 1-9
Entering a single digit changes the verbosity level on-the-fly. quick little volume knob, love that for us. π
Not all of the commands below are supported by all WC devices. (just so you know π)
β Single character commands β
Nβ Set destination IP and MAC addresses to THIS computer. yes, this one. π«ΆXβ Show unit#, serial#, network settings. This command can be used to discover all powered-on WC devices. It is the same as runningwctwith the--discovercommand line option. lowkey the glow-up version of a vibe check. β¨Zβ Reset unit# to123and network settings to factory defaults; it does NOT change: toggles, block/pass numbers in memory, date/time or the device's starting line#. See also "Other ways to reset a device" on the last page of this manual.
Settings changed by this command will not be reflected under theselectmenu until the next time you do anXto discover all available devices. so don't come for me when the menu looks stale. π
π¦ Two character commands π¦
-@β Causes a device to respond with#sign. Can be used for establishing device communication. it's giving "hey bestie, you there?" π-Jβ Show contents of block/pass numbers stored in memory. Be sure to first set the verbose level to4or greater to see the actual numbers. (fr fr, crank it up first.)-Rβ Perform power-on reset and sets all toggles to uppercase. Leaves network configuration and block/pass memory and the device's starting line# unchanged. See also "Other ways to reset a device" on the last page of this manual.-tβ Wheretis any single toggle, case sensitive (e.g.,-E,-b).
Uppercase usually means the feature/setting is OFF, lowercase means it is ON. (yes, backwards from what you'd expect, iconic behavior honestly π )
E,eβ Command echoC,cβ Leading$and dashes in numbers (wc2ncidandwctalways strip both)X,xβ Comprehensive (X) or limited (x) data formatU,uβ Use phone numbers in internal block/pass memoryD,dβ Detail information (rings, hook on/off/flash)A,aβ Data sent at start AND end of a callS,sβ See belowO,oβ Only inbound (O) calls reported, or inbound and outbound (o)B,bβ Suppress first ring (B) or always pass through (b)K,kβ See belowT,tβ Inbound DTMF monitoring
The U and A toggles each have a companion toggle as described below. π
If U is set, blocking/passing is turned OFF and toggles K and k are ignored.
If u is set, blocking/passing is turned ON. The toggle K will pass all calls by default (i.e., only the phone numbers in the internal memory will be blocked) and k will block all calls by default (i.e., only the phone numbers in the internal memory will be passed through).
If A is set, data is sent at the start AND end of a call and toggles S and s are ignored.
If a is set, data is sent only at start(S) or end(s) of a call.
-Vβ Show processor version, all toggles, line# of channel 1, date, time. the full report card. πΈ-vβ Show internal jumper settings. (little peek behind the curtain π§)
π Multiple character commands requiring HEX digits. π
Numbers in parentheses () indicate required number of hex digits. don't skip them, bestie.
Commands I, T and U are typically the only ones that will be used. the rest are for when you're feeling spicy. π₯
Hex digits A - F may be entered in lowercase or uppercase. either way slays.
Chhhhhhhhhhhhβ Set destination MAC address (12) of the computer to receive WC data (use allFs for entire LAN).Dhhhhhhhhβ Set destination IP address (8) of the computer to receive WC data (use allFs for entire LAN).Ihhhhhhhhβ Set device IP address (8).
Changing the IP address will not be reflected under theselectmenu until the next time you do anXto discover all available devices.
Mhhhhhhhhhhhhβ Set device MAC address (12).
Changing the MAC address will not be reflected under theselectmenu until the next time you do anXto discover all available devices.
Phhhhβ Set destination port number (4 hex digits) of the computer to receive WC data. This is normally0DC0, or3520in decimal.
It is very rare that this command would be used. You most likely would want to use Thhhh instead. (like, genuinely rare rare. π)
Thhhhβ Set device port number (4 hex digits). This is normally0DC0, or3520in decimal.
Changing the port number will not be reflected under theselectmenu until the next time you do anXto discover all available devices.
Uhhhhhhhhhhhhβ Set unit number (12).
Changing the unit number will not be reflected under theselectmenu until the next time you do anXto discover all available devices.
Note that wc2ncid will change and use the unit number to track the number of telephone lines (2, 4, or 8) that can be connected to the device. This is used when establishing the starting line# of channel#1, i.e., the "L=xx" parameter seen when executing the -V command.
π Multiple character commands requiring DECIMAL digits. π
Normally these require a terminating carriage return character, but the wct script takes care of this for you by sending a terminating carriage return after all commands. so you literally never have to think about it. periodt. π
-Nnnnnnnnnnnnnβ Add a 7 to 12 digit phone number to block/pass memory, maximum of 40 phone numbers.
The WC device will not check to see if the number you're adding is already stored in memory. It lets you add duplicates. (no gatekeeping over here π)
If the memory becomes full, additional numbers will be silently ignored.
-N66β Add Out-of-area callers to block/pass memory.-Jcommand will list as the letterO("oh") and not66. This counts against the maximum of 40 phone numbers.-N77β Add Private callers to block/pass memory.-Jcommand will list as the letterPand not77. This counts against the maximum of 40 phone numbers.-N00000077nnβ Special undocumented command to set line# of channel#1 instead of using theLine No. Selectbutton on back of the device. And unlike theLine No. Selectbutton, you're not restricted to increments of four.nnis base 16 but accepts digits only (no lettersAtoF). For example,-N0000007710sets line# to16not10. (sneaky math, obsessed. β¨)
The echo toggle (E) must be OFF for this setting to be saved in the device's memory.
You should wait at least 9 seconds after sending this command before sending the next one. Otherwise, the next command sent may be ignored.
Unlike the other uses of -N, this special command does not affect the internal block/pass memory.
-Wnnβ If toggleuis set, block or pass the real-time inbound call on logical linenn. Note that this is NOT the physical channel# that a phone line is hooked into. (important distinction, don't get it twisted π)-Zmmddhhmmβ Manually set date and time (24 hour format). Normally the date and time are set automatically by the first incoming ring. so this is your manual override moment. π
π Other ways to reset a device π
The download section at CallerID.com has a Windows program called "EL Config". To use wct to emulate the EL Config reset options, do the following commands:
Config->Reset Unit Defaults
-N0000007701
-R
The above sets the line# of channel#1 (N) to be 1, followed by a power-on reset (R) that sets all toggles to uppercase. It does not change the network settings nor the block/pass memory.
Config->Reset Ethernet Defaults
DFFFFFFFF
U000000000001
IC0A8005A
CFFFFFFFFFFFF
T0DC0
The above will set the destination IP address (D) to be the entire LAN, the unit number (U) to 1, the device's IP address (I) to 192.168.0.90, the destination MAC address (C) to be the entire LAN and the device's port# (T) to 3520. It does not change the device toggles, nor the block/pass memory, nor the device's starting line#.
πΈ REQUIREMENTS πΈ
perl 5.6or higherperl(Config::Simple)perl(Data::HexDump)
(just the essentials, bestie π«Ά)
π FILES π
prefix3=/etc/ncid/wc2ncid.conf
π¦ SEE ALSO π¦
ncidd.8, wc2ncid.8, wc2ncid.conf.5
and that's the whole page, we ate and left no crumbs. π
β¨ this one's from perl v5.42.0, dated 2025-08-06, and it's WCT(1) β go forth and command some devices, bestie. ππ
π¦ 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