TiVo Community Forum banner
  • TiVoCommunity.com Ambassador Program Now Open! >>> Click Here

Network Caller ID (NCID)

104K views 281 replies 57 participants last post by  jlc 
#1 ·
This entire thread was lost when the database was restored, so I am repeating the announcement and what I can remember of my two replies to two other posts.

ANNOUNCEMENT:

The home page for NCID (formally TiVoCID) has moved to http://ncid.sourceforge.net The project page is at http://sourceforge.net/projects/ncid/

NCID is a network based Caller-ID package that includes a Caller-ID server and client.

The server runs on Linux, TiVo (DirecTiVo, or Series 1 - requires external modem or internal modem mod), FreeBSD, and Macintosh OS X. Most people run the server on Linux.

The client runs on the same platforms as the server, and also Windows. Also included are Linux client interface scripts that will speak the caller's name, email the CID information to a cell phone or text pager, or send a CID message to a Windows system.

There is also a separate Linux NCID client package for LCD displays.

See the web page for a list of NCID features and client pictures.

COMMENTS TO LOST POSTS:

The NCID protocol is different from YAC, but it is a simple line based protocol that is documented in the source distribution. The file NCID-FORMAT describes the line formats, and the file PROTOCOL describes how to implement a client or server.

I am not familiar with YACC, but I believe the server connects to a listener when it receives the CID information from the modem, and it disconnects after it is sent. With NCID, the clients connect to the server and stay connected. When the server receives the CID information from the modem, it sends it to all connected clients. This permits the clients to receive the CID log from the server at connect without the need for a local copy.

NCID does include a Windows client distribution in the package. The web page also has a third party link to NCIDpop, a native Windows and Macintosh client. I also know of another third party windows client in development.

NCID has many features features, and it runs on multiple platforms. See the above web page for the feature list. The last feature added was the ability of a client to do a action based on a ring number or end of ringing. For instance, my client will send CID information to my cell phone only if it see ring 3.

---
John
 
See less See more
#152 ·
whitepelican said:
Thanks, Hichhiker. Just to be clear, then: I need to run all three of ncidd, ncid, and yac2ncid?
Yes, basically the data flow is:

YAC Server --> YAC2NCID -->NCIDD Server --> NCID client(s)

RandCfilm said:
1. When I try to run yac2ncid I get "segmentation fault"
It sounds like you may have a bad NC executable in the path (perhaps S1 version)

Please type following commands on tivo command line:
Code:
which nc

find / -name nc

nc
and post the results here

NOTE: you may need to hit crtl-c to get out of the last one (nc)

Most likely you might have more than once NC installed and the one found by default is not compatible with your tivo. your best bet is the one that came with the busybox installation. yac2ncid.conf file has a place to hardcode the nc binary you want to use.

2. Following VoIP setup when I try to run ncidsip I get
I am sorry if I misled you here, but the only thing you want from VoIP setup is how to disable modem (see John's post above) - You do not need ncidsip unless you are actually using it. The reason I brought it up is because it is another configuration that is not using the modem.

-HH
 
#153 ·
Hichhiker said:
It sounds like you may have a bad NC executable in the path (perhaps S1 version)

Please type following commands on tivo command line:

which nc

find / -name nc

nc

and post the results here

NOTE: you may need to hit crtl-c to get out of the last one (nc)

Most likely you might have more than once NC installed and the one found by default is not compatible with your tivo. your best bet is the one that came with the busybox installation. yac2ncid.conf file has a place to hardcode the nc binary you want to use.

-HH
Since I am also experiencing the segmentation fault, I tried your ideas above regarding nc. I found that I only have the busybox version installed and it is located in /tivo-bin (which is in my path). Just for fun, I hardcoded the NETCAT and NETCAT_TYPE in yac2ncid.conf to point to the correct path and busybox version. That didn't seem to help, either, as I'm still getting the segmentation fault when I run yac2ncid. Any other ideas?
 
#154 ·
whitepelican said:
Since I am also experiencing the segmentation fault, I tried your ideas above regarding nc. I found that I only have the busybox version installed and it is located in /tivo-bin (which is in my path). Just for fun, I hardcoded the NETCAT and NETCAT_TYPE in yac2ncid.conf to point to the correct path and busybox version. That didn't seem to help, either, as I'm still getting the segmentation fault when I run yac2ncid. Any other ideas?
Do you get segmentation fault when you are running nc directly?

-HH
 
#156 ·
Hichhiker said:
Code:
which nc

find / -name nc

nc[/QUOTE]
Here are the results, and /tivo-bin is in rc.sysinit.author path command. Using Alphawolf's All-In-One package.
Code:
Porta's HDTiVo /var/tmp# which nc
/tivo-bin/nc
Porta's HDTiVo /var/tmp# find / -name nc
/tivo-bin/nc
Porta's HDTiVo /var/tmp# nc
BusyBox v1.2.1 (2006.10.21-02:27+0000) multi-call binary

Usage: nc [OPTIONS] [IP] [port]

Netcat opens a pipe to IP:port

Options:
        -l              listen mode, for inbound connects
        -p PORT         local port number
        -i SECS         delay interval for lines sent
        -e PROG         program to exec after connect (dangerous!)
        -w SECS         timeout for connects and final net reads

Porta's HDTiVo /var/tmp#
 
#157 ·
RandCfilm or whitepelican,

Can you do me a favor,
Add "set -x" to second line (one bellow #!/bin/bash) of yac2ncid and run it manually, PM me the output. You can undo the change afterwards

Unfortunately I do not have a HD Tivo so I will need to rely on your help to troubleshoot it

Thanks

-HH
 
#158 ·
Hichhiker said:
yac2ncid needs a supported version of 'nc' binary and most known versions are supported and should work without config changes. In a rare case, you may need to deal with nc binary/ (Zipper installs busybox which includes a compatible nc, btw)-HH
I downloaded the zipper file and pulled the busybox.tar and extracted that on the TiVo, I find no nc and 'find / -name nc' still only shows /tivo-bin/nc.
 
#159 ·
Mine looks pretty much like RandCfilm's.

Code:
<HR10-250>/var/hack/bin: /var/hack/bin/yac2ncid
++ basename /var/hack/bin/yac2ncid
+ ME=yac2ncid
+ ME=yac2ncid
+++ dirname /var/hack/bin/yac2ncid
++ cd /var/hack/bin
++ pwd -P
+ MYDIR=/var/hack/bin
+ PIDFILE=/var/run/yac2ncid.7679.ncpid
+ trap dienice INT TERM EXIT
Segmentation fault
<HR10-250>/var/hack/bin:
 
#161 ·
Hichhiker said:
You can stop worrying about nc, looks like its a bash issue. Let me look into it and post a fix.
I was able to replicate this on my tivo.

Attached is a fix. Replace the yac2ncid file with one contained in the zip file.

Let me know how this works out.

NOTE: This version is meant to replace one found in 0.68.1 release of the files and will be removed as soon as next version of NCID is released. Do not apply this over any other NCID distribution.
 

Attachments

#162 ·
Hichhiker said:
I was able to replicate this on my tivo.

Attached is a fix. Replace the yac2ncid file with one contained in the zip file.

Let me know how this works out.
Nice work and FAST! And best of all the screens on HME are not messed up.
 
#163 ·
RandCfilm said:
Nice work and FAST! And best of all the screens on HME are not messed up.
Does NCID / NCIDD mess with HME screens? I'm looking into HME and trying to figure out where to start. I finally just got NCID / NCIDD posting caller-id (seemed to work fine with 6.3b, 6.3c things were messed up again).

Not to drift too far off-topic, but can you start a new thread or place a link here to another one describing if you went with JavaHMO or were able to get Galleon working?
 
#165 ·
OK, I'm stuck and need some help.

I've successfully set up the latest version of ncid and tivoncid to run on my primary zippered Series 2, and I can also successfully run tivoncid on my second zippered Series 2 box, pointing back to the first box.

But when I try to run tivoncid on my PTVnet (non-zippered) HR-250 w/6.3d, it gives me the following:

bash-2.02# ls
cidalias cidcall cidupdate ncid tivocid tivoncid yac2ncid
bash-2.02# tivoncid 192.168.15.163 &
bash: tivoncid: command not found
[1] 1014
bash-2.02#
 
#166 ·
headcase said:
OK, I'm stuck and need some help.

I've successfully set up the latest version of ncid and tivoncid to run on my primary zippered Series 2, and I can also successfully run tivoncid on my second zippered Series 2 box, pointing back to the first box.

But when I try to run tivoncid on my PTVnet (non-zippered) HR-250 w/6.3d, it gives me the following:

bash-2.02# ls
cidalias cidcall cidupdate ncid tivocid tivoncid yac2ncid
bash-2.02# tivoncid 192.168.15.163 &
bash: tivoncid: command not found
[1] 1014
bash-2.02#
most likely your current directory is not in the path. Your choices are:

1 - add current directory to the path (i.e. export PATH=%PATH:/path/to/binary/ - should be done somewhere where it is done on every boot - i.e. rc.sysinit.author file or similar)

2 - move binaries to a directory in the path

3 - call the binary by absolute name (i.e. /path/to/binary/tivoncid)

4 - call the binary by relative name (i.e. ./tivoncid inside the right directory)

Alternatively your tivoncid may not be executable, make it so (chmod +x tivoncid)

Good luck.

-HH
 
#167 ·
JLC and Hitch and anyone else that contributed..

Thanks!

I've used YAC on my home network for quite a while and always liked the simplicity of setup and use. Even my wife can use it.

I've had NCID working on my HDTivo before but that damn modem causes stability issues (at least for me it did). The feature set of NCID has always been impressive.

And now you guys have married the two and voila, CID works like a charm and is stable. After a few tweaks of the out2osd.conf I have both my HDTivo's dialed in displaying CID perfectly. Thanks, thanks, thanks. While it may seem like a trivial add-on once you get used to it there is no going back. We watch tv and movies mostly in our home theater where it is dark and the phone doesn't display easily what is coming in. Hell just remembering to bring the phone is a miracle.

The only thing I can recommend is putting ncidd, out2osd, tivocid, tivoncid, yac2ncid and basically anything and everything people might want to run this in one tarball and instruct them to copy it /var and tar it off. Also I'd just have all the executables extract to /var/hack/bin but maybe that's just me. i only suggest these things to ease the simple support questions that always come your way. Hell since I didn't read and docs maybe I better check the instuctions before blabbing. :)

Thanks again guys, very nice.
 
#168 ·
kkluba said:
The only thing I can recommend is putting ncidd, out2osd, tivocid, tivoncid, yac2ncid and basically anything and everything people might want to run this in one tarball and instruct them to copy it /var and tar it off. Also I'd just have all the executables extract to /var/hack/bin but maybe that's just me. i only suggest these things to ease the simple support questions that always come your way. Hell since I didn't read and docs maybe I better check the instuctions before blabbing. :)
John is working on something that will blow the doors off of that idea and may even completely change Tivo hacking as we know it... but I probably said too much ;-)

-HH
 
#171 ·
If anyone running 6.2 wants easy access to their caller-id history, they can use my cidrss module for TivoWebPlus. It reads the NCID log (or elseed, if you're using that) and outputs it as a feed which can be sent to any computer, or back to your tivo via JavaHMO. There's now a link for it on the NCID page, or go directly to my software page here.

100Tbps said:
Not to drift too far off-topic, but can you start a new thread or place a link here to another one describing if you went with JavaHMO or were able to get Galleon working?
 
#172 ·
Greetings,
I'm trying to run yac2ncid on S1S1 from /hack instead of /var/hack. Ithing i've'edited the all the needed files, but when I start yac2ncid I receive the error:
PHP:
# /hack/bin/./yac2ncid -v
/hack/bin/./yac2ncid: basename: command not found
/hack/bin/./yac2ncid: dirname: command not found
: Enabling verbose mode due to command line option
: Auto-detecting the netcat type
: Detected *Hobbit* version of netcat
: Using Hobbit settings...
: Listening for new connections
/tivo-bin/nc: error in loading shared libraries
: undefined symbol: getservbyport
/hack/bin/./yac2ncid: kill: (410) - No such pid
I cannot find basename or dirname for a S1, and have no idea what
PHP:
/tivo-bin/nc: error in loading shared libraries
: undefined symbol: getservbyport
means.
Thanks
OOOOPS!
 
#173 ·
OOOOPS! said:
Greetings,
I'm trying to run yac2ncid on S1S1 from /hack instead of /var/hack. Ithing i've'edited the all the needed files, but when I start yac2ncid I receive the error:
PHP:
# /hack/bin/./yac2ncid -v
/hack/bin/./yac2ncid: basename: command not found
/hack/bin/./yac2ncid: dirname: command not found
: Enabling verbose mode due to command line option
: Auto-detecting the netcat type
: Detected *Hobbit* version of netcat
: Using Hobbit settings...
: Listening for new connections
/tivo-bin/nc: error in loading shared libraries
: undefined symbol: getservbyport
/hack/bin/./yac2ncid: kill: (410) - No such pid
I cannot find basename or dirname for a S1, and have no idea what
PHP:
/tivo-bin/nc: error in loading shared libraries
: undefined symbol: getservbyport
means.
Thanks
OOOOPS!
It looks like many basic utilities are missing - which is normal for stock tivos - and the netcat version you have is not fully functional. No worries though - your best bet is to install busybox for S1 tivo and make sure it is in the path before you start yac2ncid. Busybox will include its own netcat as well.

-HH
 
#175 ·
NCID version 0.69 has been released.

It includes a new SIP gateway, sip2ncid, to replace ncidsip so Perl is no longer required. VoIP support for the TiVo is available when the package is installed. Check out the Release Notes for other improvements and fixes. This is the first release of sip2ncid in the wild, so there may be some problems.

You should look at the Setup-sip2ncid file on the ncid page, not the home page, to see how to configure sip2ncid and ncidd. The FAQ should also help. The hardest part is that you may have to configure your network and check a couple of SIP Invite ports.

On my home LAN, SIP packets were on port 6051, but are now on port 10000. This is for Vonage using a Linksys RT31P2 router. The computer running sip2ncid had to be in the DMZ zone, in order to receive the SIP packets. Port forwarding did not work.

You need to be very careful if you put a TiVo in a router DMZ zone. Make sure your telnet and ftp is password protected, better yet use ssh.

If anyone uses SIP on the TiVo, please provide feedback giving the VoIP company name, the SIP port, the phone hardware, and the network setup.

I should soon release a package of NCID that uses a package manager to install and update it. It will also contain ssh and other Linux utilities. Adding, removing, and updating packages should be very easy.
 
#176 ·
I have been using Packet8 (VOIP) for a few years so I didn't even think about trying to get this or anything else like it to work with my DirectvTivos (A few Directv Series 2 and one HR10-250). I got my first HR20-100/700 receiver this last summer. Knowing that the HR20 by default has Caller ID I decided to try it. It worked! CAller ID on the screen when using the HR20 and Packet8 Voip.

Yesterday I started looking to spread the fun to my HR10-250. I have all my units hacked with the Zipper. I scanned over this thread. I uninstalled the script included with the Zipper and reran the install to include the NCID installation. I tried it and WHOAAA Caller ID on my HR10-250 with no really no thinking on my part! ;-) You can't ask for more!

I installed the NCIDPOP (CLIENT) on a few of my Windows XP and Windows Vista PCs. It works on there too!

Of course I have one problem and a question.

Looking at the CIDCALL.log file via Tivowebplus shows no history of calls and a file size of zero.

I installed the Tivowebplus add-on (post 171 above). When I click on the Caller-ID link there it comes back with an error -

"INTERNAL SERVER ERROR
--cut here--
action_cidrss '' 'set "view" "web";'
invalid command name "bodytext"
while executing
"bodytext "Caller-ID History""
(procedure "MOD::action_cidrss" line 85)
invoked from within
"$cmd $p1 $p2 $p3"
(procedure "do_action" line 19)
invoked from within
"do_action $action $chan $part $env 1"
--cut here--
-------------

Anyone have any ideas on my two issues? Configuration issue? My issue?

Thanks. Otherwise this is such an awesome add-on for my HR10-250 and my PC's!
 
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top