My stupid suggestion: try installing an older version that doesn't need phonetz. It was new in 1.14, so 1.13.2 can be found here: https://sourceforge.net/projects/ncid/files/ncid/1.13/
Hi Chad, First you need to verify phonetz: $ ls -l /usr/bin/phonetz -rwxr-xr-x 1 root root 1357 Jun 6 10:52 /usr/bin/phonetz It phonetz does not have execute permission, make it executable.: chmod +x /usr/bin/phonetz If the ls fails or is not the correct size (1357), reinstall phonetz from the phonetz.tgz above attachment: tar -xavf phonetz.tgz sudo cp phonetz.py /usr/bin/phonetz chmod +x /usr/bin/phonetz sudo rm /us/bin/phonetz.py # in case it's there Did you try to install the client using apt?...
NCID Client cannot install
Hi The phonetz.tgz file still makes no difference to the build. (trying) to follow the official instructions which are very confusing I must say, I after 3 weeks found this page and thought it would help. But it doesn't The file in the zip does extract and the instructions do work but when i go to install the client it get the same old error Tried it with gdebi The following packages have unmet dependencies: ncid-client : Depends: python3-pytz but it is not installable Tried it with dpkg Unpacking...
ncidd fails to start no libicuuc.so.70
Funny, I ran 'make ubuntu' previously, but I hadn't seen "make os-ubuntu" which solved it. Thank you
Your best option would be to download the source code from https://sourceforge.net/projects/ncid/ and compile it in your environment. Step-by-step instructions for the compile are in the User Manual from https://ncid.sourceforge.io/doc/doc.html or if you prefer html, in this section https://ncid.sourceforge.io/doc/NCID-UserManual.html#instl_deb_comp
ncidd fails to start no libicuuc.so.70
I sometimes get what I think you call ghost calls. What they are, in my case, are hangup calls where ncidd hungup but the caller side did not hangup, and rings again (actually continuing ringing) with no CID information.
ncidserver:~ $ date -u Fri 7 Jun 19:30:23 UTC 2024 ncidserver:~ $ date Fri 7 Jun 15:30:30 EDT 2024
The NCIDD times are normally correct. When I get these ghost calls the time stamps are incorrect
I've pulled out the code and tested it by itself. While different from the other places where this is done, it is formatting the time correctly. The time that comes out is timezone shifted from UTC, and will be the same as if ncidd used the 'date' command. Try comparing the results from 'date' and 'date -u'. You can throw your own empty test calls into ncidd to check the time by connecting with netcat. e.g. I typed this ~~~ netcat localhost 3333 CALL: ###NMBR6137778888...NAMEtime test+++ GOODBYE...
Are the times in ncidd.log also incorrect, or would it just be wrong for that one call record? (The code that formats the CID line for the missing caller ID is a bit different fro the other time formatting.)
Hi Chad, A new phonetz.py is available. The attached phonetz.tgz archive contains it. The python3 requirements reduce to python3-phonenumbers, python3-dialog Replace ncid/tools/phonetz.py, build the executable and install it: $ cd <path>/ncid/tools $ tar -xavf <path>/phonetz.tgz $ make clobber phonetz $ sudo cp phonetz /usr/bin/.
I checked and my NCIDD system clock is correct, that's why I am confused as to the different call log time reported. I am UTC -4 but the time is off by some unexpected value. Is there a bash command line way to see gettimeofday() for me to check?
When the option gencid=1, which it appears to be here, a CID record will be produced on the second RING, since caller ID is expected to come before the second RING on a POTS call. The timestamp in the record comes from the system clock when ncidd calls gettimeofday(). The same code is used for the timestamps that appear in the ncidd.log file.
In case someone is experiencing a similar issue here's a possible reference to "sip scanner ghost calls" https://wiki.voip.ms/article/Sip_Scanner_Ghost_Calls
I've been getting some single ring No Caller ID nuisance calls lately. I am using VOIP with a Grandstream VOIP to POTS device. ciddata.log just shows RING RING in the log, and NCID records my 4:00am caller as 0104 as the time? cidcall.log shows CID: *DATE*06062024*TIME*0104*LINE*POTS*NMBR*RING*MESG*NONE*FNMBR*RING*NTYPE*-*CTRY*ZZ*LOCA*-*CARI*-*NAME*No Caller ID* Where does NCIDD get the time stamp from? The other interesting tidbit is my VOIP provider and my Grandstream VOIP to POTS device log show...
Since I'm still using an old RPI2 for this (which is more than capable) the "compile/install from source" option was used following the instructions from the manual under section "DEB Package Install for Debian, raspios and Ubuntu". I just wanted to mention a couple things found from doing this: - for the Python3 packages the ones listed are python3-pytz python3-phonenumbers python3-dialog but the "python3-pytz" package could not be found, I believe this list should be python3-pytz-deprecation-shim...
Hi Chad, Only the 64-bit version of raspios is provided. The 32-bit version needs to be compiled. Surprised you found my script used to build the release. Thanks for the info on changes needed. The python3-pytz was correct until it was depreciated and recently removed. It is still installed so the app install package was built correctly. We need to review and fix the use that pytz provided for ncid. If interested, review pytz_deprecation_shim: Shims to help you safely remove pytz It explains why...
Since I'm still using an old RPI2 for this (which is more than capable) the "compile/install from source" option was used following the instructions from the manual under section "DEB Package Install for Debian, raspios and Ubuntu". I just wanted to mention a couple things found from doing this: - for the Python3 packages the ones listed are python3-pytz python3-phonenumbers python3-dialog but the "python3-pytz" package could not be found, I believe this list should be python3-tz python3-phonenumbers...
Hi, there does not seem to be a current 32 bit version available, i.e. ncid_1.16-1_raspios_bookworm_armhf.deb like there was for v1.15 ncid_1.15-1_raspios_bullseye_armhf.deb Is that something new for the current version, or am I just missing it? Thanks, Chad.
This is a good suggestion, but requires a major change of how server blacklist/whitelist code interfaces with the ncid client. It may be implemented in a future release.
Using "Carrier" field value to add into Black/White list
Ubuntu 22.04.3 build fails: needs libhidapi-dev
Ah, sorry. I copied over my old ncidd.conf and tweaked it for the updated version...maybe I saw that when I was comparing the new default file and forgot.
Yes, regex=0 is the default. It's not mentioned in the User Manual, but it is in the comments in the ncidd.conf file.
So is regex = 0 the default? I don't think it says that in the manual. Thanks again.
Yes, the quotes will work to allow you to put spaces in the expression text.
Yes, no idea why mine has red text either. But that doesn't really answer whether double-quoted strings (to enclose spaces within a CID Name) will still work when enabling regex = 0,1,2 ?
I have no idea why my reply has some words coloured green.
The documentation in the code says * store a black or white list expression for strmatch regex=0 * supports ^1?*expression*$ * the resulting abwstr struct stores precomputed flags for the * special matching characters ^ 1? * and $ plus a pointer to * the remaining substring to be matched * black, white lists are implicitly *expression* so that ^419 will match any call from the 419 area code
I use a Moto SPA122 with dual POTS output to two modems on my ncidd (RPi) server. It's still handy with the extra filtering that I have complete control over. One change I made when I went to VoIP is that I now "ring" my SPA122 line first (configured for 7 seconds), and then "follow me"/failover to the regular VoIP phones. This give ncidd a chance to filter the call before any of my "real" phones even ring...providing even more peace and quiet. I just review the cidcall log every now and then for...
When enabling regex for list-parsing (really I'm just looking to use anchors at this time, but in general...), does ncidd still understand simple, quoted names in a blacklist? Like it allows both in the same list? For example: "NYC TELEMARKETER" ^999 ^2125551212$ Can all be in one blacklist? Thanks!
The INSTALL-DEB section in the website, and also in the source, list the libhidapi-devel package as required From the required section, libhidapi-dev is on the second line as indicated by "-->": The following packages are required: sudo apt install build-essential fakeroot --> sudo apt install libpcre2-dev libhidapi-dev sudo apt install libphonenumber-dev libicu-dev sudo apt install libpcap-dev zstd rename sudo apt install libconfig-simple-perl libdata-hexdump-perl You probably missed it, but thanks...
Ubuntu 22.04.3 build fails: needs libhidapi-dev
I don't see it there either, so apparently there isn't a package for arm7l. It's pretty easy to compile from the source code, instructions are here, the hardest part is in installing the dependencies. https://ncid.sourceforge.io/doc/NCID-UserManual.html#instl_deb_comp
I don't see a 32bit RPi package on SourceForge. Do you not build for that anymore (armv7l)?
We may have reached the point where there are too many features to document in a useful manual . The user manual describes it briefly here: https://ncid.sourceforge.io/doc/NCID-UserManual.html#addedmodems In practice, an entry at the bottom of the ncidd.conf file (with the first modem) points to another config file for the second modem. The installation will give you prototype ncidd.conf and modem2.conf files. The conf files contain hints; minimal information for the second modem is a lineid and...
That's awesome news! Now the tricky follow-up: Is configuration documented anywhere? I didn't notice it in the default docs pages when I looked today. My goal is to share my whitelist/blacklist config across the two modems/lines. (I also recall enhancing the blacklist/whitelist with some rudimentary regex/matching - I'm sure I offered the code back at the time. I'll ask about that in a different post. :) )
Multiple modem support went into version 1.13 which was released mid-2022. Version 1.16 is available now. Testing with two modems on the same phone line was fun.
I noticed that multi modems (two or more lines) was described by you as a "TODO" way back in 2004 (I think, I don't have the post up in front of me). Any of the recent versions of the server actually support this? I'm running on a RPi for years - and really appreciate all your work - and had two running for a while. Now I just want to move my modem from one of the Pi's to consolidate it to one "server". Any updates??? THX
Network Caller ID (NCID) Release 1.16
ncid/CHANGES contains the changes.
Added tag v1.16 for changeset a46ddda8259b
It is quite possible that this API uses the same original data as ncid ... Another thing to consider is that by using this online API to validate incoming calls , One is actually sharing the list of incoming calls with the company (who ever that is , that is providing this online service ) . (Not great for privacy... ). On the other hand , the NCID tool is fully local , but only updated every release . (Althought manual updates are possible for "advanced" users ) .
You should be using gmake instead of make. Instructions for freebsd are in the User Manual at https://ncid.sourceforge.io/doc/NCID-UserManual.html
I'm trying to build v1.15 on FreeBSD and I'm failing miserably. I have no idea what I'm doing in FreeBSD. user@bsd14VM:~/ncid $ make freebsd make: "/home/user/ncid/Makefile" line 117: Invalid line type make: "/home/user/ncid/Makefile" line 127: Invalid line type make: "/home/user/ncid/Makefile" line 139: Invalid line type make: "/home/user/ncid/Makefile" line 151: Invalid line type make: Fatal errors encountered -- cannot continue make: stopped in /home/user/ncid Seems to me like it doesn't like...
That worked! Thanks much!!
i would do this for a new install: cd /home/galen/src/ncid/ make clobber make ubuntu sudo make ubuntu-install
Full instructions for a Debian (Ubuntu) build and install are in the User Manual
i did run sudo make local- install Thanks
My dumb question: Did you do the install as root? sudo make ubuntu-install
should have speciified ncid-1.13-2-src.tar
Newby here (80 year old retired newby) Trying to build ncidd server on ubuntu PC and I have installed the DEB packages. I get the following make error when running 'make install-local' in the server folder: install: cannot stat 'modem2.conf': No such file or directory make[1]: *** [Makefile:261: install-etc] Error 1 make[1]: Leaving directory '/home/galen/src/ncid/server' make: *** [Makefile:254: install-local] Error 2 Any help would be great.
Thank you for your responce! Is there a way to find open-source code on GitHub?
I do not know of anyone doing something similar with ncidd. I am not sure provider filtering is as good as ncidd filtering. It currently uses the fcc list, a fake number script, and a postal code list to detect <city> <state> calls that are mostly SPAM. I have not been following upgrades to provider filtering so it may be a lot better than I remember.</state></city>
There is a similar tool inside NCID which returns information about a phone number, though it may not be as up-to-date as the API call to this commercial service. The NTYPE field will be empty for an invalid number: + ncidnumberinfo 14158586273 *FNMBR*415-858-6273*NTYPE*FIX/CELL*CTRY*US*LOCA*California*CARI*NEW CINGULAR WIRELESS PCS, LLC + ncidnumberinfo 14150586273 *FNMBR*415-058-6273*NTYPE*-*CTRY*ZZ*LOCA*-*CARI*- +
I've recently ported my POTS line to Voip and added a Grandstream HT812 so I can continue to use my exiting POTS phones. I still have my NCIDD listening to the "POTS" line but it's becoming redundant now that I can filter calls via my Voip provider. NCIDD is still handy because I can imessage incoming CID to my iphone to see who is calling the old land line. Is anyone else doing something similar with their NCIDD?
Manual addition to white/black lists from client application
There's a link hiding at the bottom of the Summary that leads to the front page for NCID and the current documentation. The source files for the documentation can be found in the source code download (that you can get from the big green button at the top of the Summary page). Follow Network Caller ID Network Caller ID Web Site
Hello, I'd like to inquire whether this project has any documentation available. If not, I'm willing to contribute by creating documentation for it
Problems with finding the external hangup script are logged as errors at startup. Success is logged in /var/log/ncidd.log at verbose=1 and execution of the script is logged at verbose=3 and 4. Perhaps you haven't set the hupmode option in the ncidd.conf file to turn it on ?
The bold stuff are the comments (blame the novice in me for not realizing I should have use and not ""
Please don't bother with this for the moment. I may have tracked down the problem . But my comment about perhaps being able to calls to hangup routines still applies Thanks. I will pick this up again if my diagnosis proves to be incorrect
custom hangup app
Building on Debian 12 32-bit (q4od)
Problems solved.
Thanks for all the help. It's built now and running. If I just get the modem to answer... This is the log: ➜ ~ cat x.txt Started: 10/04/2023 20:17:01 Server: ncidd (NCID) 1.14 API: 1.13 Feature Set 1 2 3 4 5 Sysname: Linux Nodename: T40 Machine: i686 Release: 5.10.0-25-686 Version: #1 SMP Debian 5.10.191-1 (2023-08-16) Command line: /usr/sbin/ncidd --pidfile /run/ncidd.pid Logfile: /var/log/ncidd.log Processed config file: /etc/ncid/ncidd.conf Verbose level: 1 cidinput = 0 sendinfo = 1 Configured...
Well, when all else fails, change the phone wire. it's answering now. Thanks again Dan
You need to install libpcap0.8-dev. Refer to INSTALL-DEB (Debian, Raspbian or Ubuntu) in the NCID User Manual for required packages for Ubuntu.
Progress, but cd gateway; make gateway CC="gcc" CXX="g++" \ prefix=/usr prefix2= \ prefix3= BIN=/usr/bin SBIN=/usr/sbin \ OFLAGS="" MFLAGS="-Wmissing-declarations -Wunused-variable -Wparentheses -Wreturn-type -Wuninitialized -Wsign-compare -Wformat -Wformat-zero-length -Wno-stringop-truncation " STRIP= \ RFLAGS="-Wl,-z,relro,-z,now" make[2]: Entering directory '/root/Downloads/ncid/gateway' gcc -D_BSD_SOURCE -D_DEFAULT_SOURCE -DCONFIG=\"/etc/ncid/sip2ncid.conf\" -DPIDFILE=\"/var/run/sip2ncid.pid\"...
The step-by-step instructions are in the User Manual here https://ncid.sourceforge.io/doc/NCID-UserManual.html#instl_deb_comp The piece you're missing is usually obtained with sudo apt install libphonenumber-dev libicu-dev but there's a good chance that the 32 bit distro that you're getting packages from has different versions of libphonenumber and libicu. Editing the server/Makefile to change to the version you actually have might work (e.g. icu57 becomes icu56), but you might find there have been...
Building on Debian 12 32-bit (q4od)