Cool things I’ve discovered recently


I’ve never done a round-up post before, so now must be a good time. Here are a few cool things I’ve found recently:

How to use VPN to solve VoIP problems

As some of you may be aware, when I’m not busy with my day job at NASA, I run a small VoIP company. The why and when of this company is a story for another day, with intrigue, betrayal, ex-CIA agents, con artists, lawsuits and utter, utter sleep deprivation. But, as I said, that will have to wait.

It’s a simple enough business – multi-line phone service for homes and offices, complete with distinctive ring, cool automated phone trees, time-of-day dialing, etc. And it has always had one nasty technology problem in it – NAT.

Anyone who has ever dealt with VoIP has run into all the various ways that NAT can go wrong. And I thought I had worked out ways to deal with most of them – at least, until I started working with some new hardware.

Let’s skip the gory details, and summarize by saying that I’ve been forced to deal with this problem in a decisive, and final, fashion.

No more NAT. Instead – OpenVPN.

There are usually two different ways to handle getting a VoIP phone connected to a remote VPN server – either connect the phone directly (if it supports that), or put in some sort of VPN concentrator. There are even routers that support VPN tunneling – if you’re willing to pay for it.

There’s also another way – a happy story called DD-WRT. This is an alternative, open-source firmware for many of today’s most common hardware routers – including the WRT54G2 that I’ve been dealing with. Along with being just really cool, it offers both a VoIP SIP Proxy (which I opted against), and an OpenVPN implementation.

So this is what I’ve ended up with – an office LAN full of happy telephones, connected through a VPN tunnel that originates in their gateway device, and terminates in my Asterisk Server. No muss, no fuss.

And a few happy side effects, to boot:

  • Because the VPN traffic is encrypted (and prioritized by the ISP), I’m no longer vulnerable to any nasty stateful packet inspection and downgrading of third-party VoIP (see the lawsuit between Vonage and Shaw for details).
  • This VPN link works both ways – I can remotely configure all those phones without having to expose them to the public internet. Goodbye, site visits.

(Some credit for this solution goes to Chiral Software – although I didn’t find this post until after I had decided on an OpenVPN solution, it still had some helpful hints. But I believe using DD-WRT makes the whole thing more elegant.)

Turning 404 Errors into “I’m Feeling Lucky” Searches

Jesse Andrews and I often take turns copying each other. (Of course, since he’s ridiculously famous, and I’m only mildly annoying, people usually notice me copying him. Alas). Anyway, Jesse was the first one to point out Humanized Messages to me. After which, I used (and modified) a jQuery plugin to put Humanized Messages into a Firefox Extension.

404

Jesse had to go one better, and built almost the same effect into Searchy, one of HIS Firefox Extensions. But he wrote it from scratch, and made it actually much nicer.

Anyway, I had been hacking on various ways to monetize browser extensions at the time, and harking back to the days when we wrote the “HP Browser Booster” at Mercurial. One of the many things it did, was to redirect 404 errors to the AOL Search Page. I figured I could do better than that – and I wrote “Four-Oh”.

This happy extension detects a 404 error (well before the 404 page is displayed, which was a happy little piece of coding), strips the requested path off the base domain name, converts slashes into spaces, and then uses that as an “I’m feeling lucky” query for the site:<domainname.com> of the original request.

Lost?

It means that trying to go to http://overstimulate.com/taboo – will automatically land you on http://overstimulate.com/projects/taboo.

Not satisfied with simply a useful little utility, I also parse an RSS feed of random jokes, and pop one of them up on top of the resulting page – in a Humanized Message window that looks remarkably like Searchy.

Jesse, your turn.

Viewing 2 Comments

 
close Reblog this comment
blog comments powered by Disqus
Close
E-mail It