Fri, 05 Aug 2005

Vonage + DirecTiVo = Headache

I'm reminded of a game I used to play as a young boy on long transatlantic flights. Having played Microprose's "F-15 Strike Eagle" on my Apple IIc, I was under the impression that I knew the basics of flying a jet, and would often imagine that the little lever that allows the tray table to be in the stowed position, was actually the flight controls of the 747 in which I was flying. I would "fly" the 747 by tweaking this little lever around as the plane banked this way and that, engaged in a childish fantasy that the flight controls had been routed from the cockpit to the tray latch in seat 19E.

This boyhood game has more to do with VOIP technology than you might think. Let's start with how VOIP works, in a nutshell. When you pick up your home phone, the dial tone you hear is coming from your Vonage box on your home network. When you dial the number you want to call, the number is encoded and sent over the Internet to the Vonage Internet network, where they determine what locale you're trying to call. With knowledge about what locale you're trying to reach, your Vonage device is connected to a Vonage-operated device in that locale, which has been provided with the number you originally dialed. This remote Vonage-operated device is connected to the standard "PSTN" (Public Switched Telephone Network), and completes the phone call, in that local area, as a local (i.e. effectively "free") call.

From then on, all the noises picked up by your phone are converted from analog sound waves into digital voice data which is encoded by your Vonage box on your home network, and sent over the Internet as 1's and 0's to that remote box in the locale you called, which ultimately decodes those 1's and 0's back into an analog sound wave sent over the last few miles of the PSTN network to your intended destination.

Compare this to one of the technologies of yesteryear, analog modem communications. By contrast, the modem is taking almost exactly the opposite approach. A modem is a way of using a standard POTS (Plain Old Telephone Service) line to do digital communication. Your computer, for example, speaks 1's and 0's internally. But when it connects via a "dialup" call, it "modulates" the digital signal into an audio signal, which can then be transmitted over a phone line to another modem which will "demodulate" that audio data into 1's and 0's that it can itself understand natively.

It starts to get interesting when you combine these technologies. Not out of choice, mind you. People who buy Vonage service are looking to kick their crufty old RBOC (Regional Bell Operating Company, i.e. Qwest in my case) to the curb. And the geeky early adopters who'd sign up for Vonage are probably just that teensy bit more likely to also be somewhat ahead of the adoption curve on technologies like Satellite TV and TiVo too. Enter DirecTiVo, which, at least until recently, only shipped with the ability to get certain updates from the TiVo "mothership" over its built-in analog modem.

Perhaps you see where I'm going with this. If not, let me break it down thusly: A Linux-based TiVo box, which encodes its 1's and 0's as a modulated analog signal for delivery via a telephone line, dials a number in an area code over a simulated phone line which in reality is being proxied through an Internet gateway, which means it gets re-encoded into 1's and 0's again, gets delivered across the Internet as tiny little TCP/IP packets, gets re-assembled on the other end as a stream of digital bits, undergoes a digital to analog conversion into voice data, and is finally picked up by a modem on the other side, and undergoes a final analog to digital demodulation to complete the circuit.

And if that didn't make a whole lot of sense, it's nearly akin to making an European train with a 1m running gear operate on an American guage track 3ft. across using nothing but baling wire and popsicle sticks to build a mechanical coupling between the two. And if that didn't make sense, suffice it to say that "Vonage is from Mars, and DirecTiVo is from Venus".

Clear as mud so far? Great.

Well, after hours of troubleshooting (read: twiddling the tray table dial) I seemed to find a way to make it work (read: I am under the illusion that I'm actually flying the 747 from seat 19E).

First, however, I should tell you a little about my setup.
  • DirecTiVo: RCA DVR39
  • Linksys WRT54GP2; Firmware Version 1.28.00; Voice Version 3.1.3(LI) [find your version at http://192.168.your.iphere/Voice_Info.htm]
The key to making it all work is to fool your TiVo into dialing into a Manhattan phone number. I'm not sure why this is key. I'm guessing that Vonage's Internet network is low-latency and high quality of service between most points in the United States and New York, and so too, most likely, are most of our broadband connections. Couple that with high quality phone lines between the Vonage networks and the telephone company's central office in South Manhattan, and we've effectively got a few of the flight controls such that they'll be responsive to the tray dial in seat 19E. Since not all of us originally put the 212 area code into our TiVo's, we need to trick the TiVo box into using this number.

Another key is to make a "high quality" phone call by using the *99 prefix which I'm guessing tells your Vonage device "I'm going to make a data call, so don't use lossy compression like you would on a standard voice call".

You also want to tell your TiVo box to use "low band" communication with its modem, with a prefix like #096 (9600 bps), #019 (19,200 bps), #034 (34,800bps). The idea here is that in the encoding/decoding, the less modulation you do per second, the less likely one of the fragile links in this outrageous chain of technology is to break.

And finally, since you've slowed the data rate for communications waaaaaaaaaaaay down, your data calls are going to take much longer, which means you should also inform your Vonage device to turn off call waiting (code: *70), which would really be a bummer since an incoming call would impose an audible beep into your data call and cause the whole thing to fall apart somewhat unspectacularly.

This results in the following settings:
Dial Prefix: 12122773895
Call Waiting Prefix: *99,,*70,,#019,,
Phone Available: Off
Dial Tone Detect: Off
Now, I'm pretty sure the FAA would never allow any 747 to take off with it's flight controls, hydraulic lines and electrical systems wired into seat 19E. But so long as the pilots are known to be dead in the cockpit, everyone else on the flight is in mortified terror, and you're the only one who has the gumption to take any action, perhaps a little seatback rudder and stick action won't crash and burn every time your 747 comes in for a landing. In other words, your mileage may vary, but I've managed to make a few successful calls with this setup which enabled me to at least complete a test call whereas before I couldn't connect at all.

I'm still running TiVo version 3.1.1e01-2-121 as of this post -- stay tuned to see if I can stay connected long enough to complete a firmware upgrade with these settings.


Name/Blog: miah
URL: http://www.chia-pet.org/~miah
Title: uhm, why?
Comment/Excerpt: Hi, You obviously have a decent internet connection since you have Vonage, so why not just spend $30 on a usb ethernet for your tivo and make it connect via tcp/ip? It's much more reliable and fast. -miah

Name/Blog: Khan
URL:
Title: Response: uhm, why?
Comment/Excerpt: A couple reasons... Getting Ethernet into my living room is nontrivial, and as far as going with the USB/802.11 route, that was what I was going to do if I couldn't get this to work. Also playing into my reluctance was the prospect that I might have to hack my TiVo to get it working. At that point, I'd probably dump the TiVo in favor of MythTV.

Name/Blog: Mike
URL:
Title: Possible wrong code in Call Waiting Prefix?
Comment/Excerpt: You are using *99, in your call waiting prefix, however that is a code that is specific to the Cisco ATA-186 adapter and you said you have a Linksys WRT54GP2, which I believe is based on the Sipura adapters. if so, then I think you will find that the correct codes to use are *027110, or *027111, to force the use of the G711u or G711a codec, respectively. I don't think that *99, is recognized by Sipura adapters, but I may be wrong. I will say that anyone who has a Sipura SPA-2000 and that uses VoicePulse rather than Vonage will almost certainly need to use either *027110, or *027111,

Name/Blog: Mike
URL:
Title: USB Ethernet with DirecTV
Comment/Excerpt: > Hi, You obviously have a decent internet connection since you have Vonage, so why not just spend $30 on a usb ethernet for your tivo and make it connect via tcp/ip? It's much more reliable and fast. Unfortunately this isn't supported with a DirecTivo without hacking it. There is a serial cable you can make or buy for the Tivo that allows a PPP serial connection to a PC to do Tivo updates over the internet. This works for me, but only for the Tivo software and not the DirecTV billing calls.

Name/Blog: POMP
URL: http://www.pomp.us
Title: My TiVo / Vonage Saga
Comment/Excerpt: Here is my TiVo / Vonage Saga for anyone that's interested in trying a different method. It involves an external modem, a Stereo to Serial Cable, and a DB9 to DB25 Port Adapter. It has worked flawlessly for me for over a year. http://pompproductions.blogspot.com/2004/08/my-tivo-vonage-saga.html

Name/Blog: Jason
URL: http://janderson163.typepad.com/
Title:
Comment/Excerpt: You might want to consider doing a firmware upgrade on the Linksys router. They are now up to version 4 or something with the firmware. It was rumored that a user could plug a USB wireless ethernet adapter into the Tivo box and obtain updates. Possible? Yes, if you have a Tivo Series II box. DirecTV uses it's own flavor of Tivo boxes so it isn't an option for us. The new Tivo's available from DirecTV (80 hours of recording) might be the Series II hardware and configuration. Mine is going to be installed tomorrow, so I will let you know. Now I need to be a smart ass. Never depend on one type of technology. VoIP just isn't there yet. Sure Comcast offers enough bandwith in theory to support the load, but since the upload speeds are controlled, Vonage can have reduced voice quality. Let's say the broadband connection goes down? We all hate it, but it does happen. Now you are SOL with your phone. Stick to a simple POTS line for making your calls. If you want to make long distance calls or something, maybe consider Skype or something.

Name/Blog: Khan
URL:
Title: Re: Jason
Comment/Excerpt: I checked Linksys before I began tinkering with my setup on Saturday. I have the latest firmware of their Vonage+802.11b device, at least that's what their website says. Also, yes, you can use the USB ports if you're willing to hack your TiVo. If I was in a hacking mood, I'd set up a MythTV. When it comes to consumer electronics, I'm pretty hands-off. :) As far as never depending on one type of technology, "Right you are, Ken". I have the Vonage account plus a cell phone, so all my calling needs are well met (except for this specific instance where I need a landline, and even then, I can technically do without it if I'm willing to put up with the TiVo nag screens)... If I lose broadband, I can connect to my cell phone via bluetooth to download email, or login from work, or go to Starbucks+TMobile... Plus, Vonage rocks. :-)

Name/Blog: Brian Beatty
URL: http://coldchilli.blogspot.com
Title: Yea!! IT Works
Comment/Excerpt: After 75 Days. Its finally connected. Tivo Version 6.2-01-2-151

Name/Blog: Aaron
URL:
Title: What's the trick?
Comment/Excerpt: You mention that you have to trick your TiVo into dialing the NY # yet I failed to locate where you explain this "trick" in your documentation. For my system to access a 212 #, it has to make a call to download all of the available dial-in #s. What's the deal?

Name/Blog: Khan Klatt
URL:
Title: What's the Trick?
Comment/Excerpt: In response to Aaron's comment, the "trick" is to put the 212 number in the dialing prefix!? Dial Prefix: 12122773895 So regardless of what number your TiVo thinks it is dialing, since the dial prefix is a 1-212 number, your TiVo will dial that first, and THEN your local number, but by then, Vonage is already connecting you to Manhattan. You can tell this by eavesdropping on your actual phone call-- that is, if you're any good at all at aurally deciphering DTMF sounds. :)

Name/Blog: Ricardo
URL: ricardo_khan at_sign emailias.com
Title: yep. it works.
Comment/Excerpt: Yep. All the bubble gum, bailing wire and string works. Key is to call New York. Go figure. All the other call prefix numbers are nice, but unnecessary (at least here). Nice description of living on the edge of technology. Now if I could only explain to my wife why she has to boot all these gizmos in a particular order when one of them decides it's got a headache. Ricardo

Name/Blog: Greg
URL:
Title: Thanks for your help
Comment/Excerpt: Everything worked but the #019. None of the # configurations worked. It would always give me a fast busy when trying them. The good news is that it worked without it. I thought about getting the upgrade kit to internet enable my TiVo but it would void the warranty. Thanks for your help!

Name/Blog: RonCo
URL:
Title: Duh...
Comment/Excerpt: i have a very funny counterexample. I had been trying unsuccessfully to get my DirecTivo Series 2 to connect via either my DSL line (with a filter in-line) or my Vonage adapter. After reading all of the suggestions and messing with all of the codes and prefixes to no avail, I decided to go back to basics. First, I plugged the DirecTivo back into the DSL filter, then into the DSL line. I set all of the Tivo dialing options to None/Off. Lo and behold, it worked immediately and downloaded a new set of dial-in numbers. I picked one close to me. However, when I tried to test the settings, I couldn't get it to connect. I then got curious. I decided to try the same approach with my Vonage conection. I plugged the Tivo directly into the Vonage box, and left all of the dialing settings set to None/Off. Wouldn't you know, it connected immediately and did a short update session successfully. Unbelievable, but I'm very pleased. My config for the record: Linksys RTP300 Vonage adapter Hughed HDVR2 DirecTV receiver Software version 6.2-01-2-151

Name/Blog: robbie
URL: iwishihadacaddie at_sign yahoo.com
Title: NO WAY TO MAKE IT WORK
Comment/Excerpt: I work at directv and have been trying for 277 days to make a call. Theres no way with vonage and tivo to work succesfuly. No tricks or trades will work the way you need it to.

Name/Blog: Khan
URL:
Title: Re: Robbie
Comment/Excerpt: Well, perhaps you don't have the same software/hardware I do, but if you do, what I mentioned did, and as you can see for several others, *has* worked. It's a pain in the ass to get it to work, but you can if you twiddle the right options the right way.



Khan Klatt

Khan Klatt's photo