hangup-greylist [-v] <string>
where string is in this format:
"*DATE*<mmddyyyy>*TIME*<hhmm>*LINE*<lineid>\ *NMBR*<number>*NAME*<name>*MODE*<hupmode>\ *FNMBR*<formatted number>*NTYPE*<type of device>\ *CTRY*<country code>*LOCA*<location>*CARI*<carrier>\ *NAME*<name>*
hangup-greylist blocks most robocalls by requiring an unknown caller hang up and call again from the same number. The assumption is that automated calls will be unlikely to call back.
Script is not called if caller number or name is in ncidd.whitelist.
Callers from unknown numbers will optionally have a recording played to them after which ncidd hangs up. If using a recording, a customized recording should be provided by the user and should instruct the caller to call again from the same number within the user-defined time limit. Hupmode 3 is required for the recording to be played. If Hupmode is 1, ncidd will hang up without playing a recording. If Hupmode is 2, the extension will abort and allow the call.
The goal is to encourage a human caller to call again. Hupmode 1 causes an immediate hangup and the caller may just assume there was a problem and call right back. Hupmode 3 uses a recording to give the caller explicit instructions. Hupmode 2 would play a FAX tone. This is not appropriate for greylisting as it would make the caller think they had the wrong number. hangup-greylist adds the unknown number to a "greylist" file along with an expiration time.
Incoming calls from numbers that are in the greylist are accepted if the expiration time has not been reached. The expiration time may be optionally extended each time a call is accepted. An incoming call from a number in the list where the expiration time has been reached is treated as an unknown call.
Entries in the greylist file with expired time limits are removed from the file whenever a call is processed. The user should occasionally review the greylist file and add numbers to the whitelist or blacklist files as appropriate. ncidd does not call this script if the caller number or name is in ncidd.whitelist.
Server hangup extensions are only executed by the server unless testing.
show help message
turn on verbose and send additional data to STDOUT for troubleshooting
Set hupname to the name of this script ncidd.conf.
Set hupmode to 1, 2 or 3 in ncidd.conf.
Set huprmd to a unique voice file in ncidd.conf, if hupmode set to 3.
ncidd(8), ncidd.whitelist(5), ncidd.greylist(5), hangup-calls(1), hangup-closed-skel(1), hangup-skel(1)