SourceForge has been redesigned. Learn more.

#7 Show whitelisted callers in the caller id window


NCID is a great program! It can be improved with a simple feature. A lot of times someone calls me with a caller id of WIRELESS CALLER and I am apprehensive to pick it up. What I propose is if the number is listed in the white-list file, instead of showing CID in the caller id window, show WLT for a white-listed caller, BLT for a blacklisted caller (if hangup is off). This way I can easily see if the call has been white or black listed. If neither, I can let them leave a message.
Keep up the fine work!


  • John L. Chmielewski

    The blacklist and whitelist files are ignored if hangup is off. The purpose of the blacklist is to hangup up on calls you do not want.

    If you use a alias to change the name "WIRELESS CALLER" to "who is calling" based on the number, you can probably blacklist "WIRELESS CALLER" for numbers you do not know.

    See my response to the "For certain numbers, show an alternate caller id" feature request for how to create an name alias based on a number.

  • Anonymous

    Anonymous - 2013-07-08

    I'm sure you probably do not want to refactor your code to read the blacklist and whitelist files all of the time. With the alias feature it seems as if this feature is merely a convenience. I had a stint where I was needing to communicate with my landlord who uses PRIVATE CALLER so I had to turn hangup off for a couple of weeks. I ended up answering a lot of telemarketer calls which does nothing but piss me off and I don't need that. With the implementation of that feature I could glance at the caller id window (which is always open) and tell if I had blacklisted or whitelisted the number that is calling me. That way, NCID is useful whether hangup is on or off.
    HANGUP ON: blacklist = HUP, whitelist = WLT
    HANGUP OFF: blacklist = BLT, whitelist = WLT
    Thanks for your prompt response.

  • John L. Chmielewski

    I think what you are asking for is to be able to use the blacklist/whitelist files to manually decide if you should ignore or hangup the call. With an alias you would convert "PRIVATE CALLER" to a name for calls you want and any name with "PRIVATE CALLER" would be a blacklist so I really do not see the need.

    Instead of turning off hangup, I would have placed "PRIVATE CALLER" in the whitelist for as long as needed if then number did not show. If the number did show, I would place the number in the whitelist so only a "PRIVATE CALLER" with a specific number was whitelisted.

    • Anonymous

      Anonymous - 2013-07-09

      I had to read your post a few times to wrap my head around your words but you are right. What you're saying is a better way to do it. Thanks for your patience. Take care.

  • Todd Andrews

    Todd Andrews - 2013-07-12

    To the original poster: I would like to better understand your feature request and hope you could answer some questions. I think I'm just dense and missing something. Please understand the intended tone of this message is not me being a jerk; I'm just trying to understand.

    Whenever I add an entry to ncidd.blacklist, I also add it -- at the same time -- to ncidd.alias with the name beginning with "TM -" for example to mark it is a TeleMarketer, or "OP -" for Opinion Poll (survey). If I need to temporarily disable hangups (and along with that, as John mentioned, the use of ncidd.whitelist and ncidd.blacklist), I can still easily tell just from the name whether it is a call I want to take or not. If I'm understanding you correctly, my "TM -" and "OP -" would be similar to your suggestion of "BLT", and by default anything else with a real name (no capital letters) is someone I probably want to talk to, akin to your suggestion of "WLT". I always use upper/lowercase in ncidd.alias so I can easily distinguish the phone company provided CID name (usually all caps) vs. a name I've manually put into ncidd.alias.

    Wouldn't you rather see a real name you've put in ncidd.alias, instead of something like, "(WLT) WIRELESS CALLER"?

    Regarding your comment, "I'm sure you probably do not want to refactor your code to read the blacklist and whitelist files all of the time."

    Files ncidd.alias, ncidd.blacklist and ncidd.whitelist are all read when the server process (ncidd) starts up, and are re-read if the server process receives a HUP signal (i.e., 'kill -1 <ncidd process="" id="">') manually by us users. I guess I'm not understanding how reading the files "all of the time" would benefit your feature request?

    Regarding your comment, "With the alias feature it seems as if this feature is merely a convenience," I don't understand what you mean by "merely a convenience" -- could you clarify?

    As far as no-number "PRIVATE CALLERS" I just use my phone company's feature that lets me block those kinds of calls. I enabled this nearly 20 years ago and haven't look back since. :D If someone wants to talk to me, landlord or otherwise, they can provide their phone number. This might be an inconvenience to the caller, but hey, I like my evenings to be quiet. I just say NO to anonymous callers. :D If anyone in the early years complained, I just told them the truth -- I got too many telemarketers calling and I was sick, sick, sick of it. Everyone I explained this to was understanding.

  • Anonymous

    Anonymous - 2013-07-17

    Your suggestion of a different case to distinguish between an alias and real name is a great idea.

    John L. Chmielewski said "The blacklist and whitelist files are ignored if hangup is off. The purpose of the blacklist is to hangup up on calls you do not want.". That was why I said "I'm sure you probably do not want to refactor your code to read the blacklist and whitelist files all of the time." because if hangup was off the files would not even be read.

    Unfortunately it's not always possible to get people to transmit their caller id. Some people just refuse to do it. That was why I turned off hangup, although I now have hangup back on. It is unbelievable how many people do that in one form or another. To be blunt, people get pissed when they can't contact you because of the hangup done by ncid.
    With hangup off and the feature that I requested implemented, a person could look at the ncid window and see WLT for whitelist and BLT for blacklist in the same location as HUP would go if hangup was on. At a glance, I could see if I whitelisted or blacklisted the caller, or the caller has not been entered into either list yet.

    I did find out, however that if a hangup occurs you can still answer the phone and talk to the person even though they may be a bit confused from the hangup tone they heard. So having hangup on does not actually hang up on them immediately, at least on the modem I use anyway.

    Regarding my comment "With the alias feature it seems as if this feature is merely a convenience," what I meant was, the feature that I have requested is merely a convenience because of the existence of the alias feature. The alias feature makes it less important to implement my feature, but I still believe my feature request would still be useful just not detrimental to the usage of ncid which works quite well.

    I hope that this answers all of your questions. Thanks.

  • Mike

    Mike - 2014-10-20

    Here's a little script I put together to help with this situation.
    It is stored in "blacklast" as in 'black list the last" calller.
    It does two things:
    -add the most recent phone number to the black list along with a datestamp
    -adds an entry to the alias file that consists of the name that came in by caller id, followed by the word 'blacklisted', and followed by a date.


    # Get phone number from last line of NCID call log and add it to the blacklist and alias list
    # Handy when you figure out the most recent caller should be blocked.
    # Avoid editing of two files and no chance for typos
    # No parameters accepted or expected
    # Create date string with ISO format of YYYY-MM-DD
    datestring=`date +"%Y-%m-%d"`
    # get last line of caller id log
    cid=$(tail /var/log/cidcall.log --lines=1)
    # get 9th field delimited by "*" as it has the phone number
    nmbr=$(echo $cid | cut -d '*' -f9)
    # get 13th field delimited by "*" as it has the name
    name=$(echo $cid | cut -d '*' -f13)
    #add phone number and comment to blacklist
    echo $nmbr '#' $datestring $@ >> /etc/ncid/ncidd.blacklist
    echo $nmbr added to blacklist
    #add phone number, the fact it was blacklisted, and when it was blacklisted to the alias file
    #handy if you have to turn off auto hang up for some reason and still want to know this number was blacklisted
    echo 'alias NAME * = "'$name' Blacklisted' $datestring'" if' $nmbr >> /etc/ncid/ncidd.alias 
  • John L. Chmielewski

    • status: open --> closed
    • assigned_to: John L. Chmielewski


Cancel  Add attachments