« MT 3.2 with FastCGI under Apache | Main | Peerflix, first takes »

VoIP hack: Custom call routing based on your current Plaze

I've been trying to think of something else cool to do with my VoIP system. I've lately added crude least-cost call routing, several more incoming numbers (I found a company at least currently providing Bay-Area local numbers for apparently no subscription cost! Hello, business model?).

Anyway, I've also been playing lately with a kind of nifty location service called plazes. In a nutshell, plazes provides a system whereby your computer registers itself. Plazes uses information about the network you're currently on (information about the gateway, actually) to uniquely identify a network. If your network has already been identified and information about it entered into Plazes in the past, Plazes will know where you are. (There are some limits, and the tool that registers your location only currently runs from full-fledged machines. No laptop? Plazes probably won't work for you - I was hoping to code support for Plazes for the PSP, but that seems doubtful, at least, without an expensive PSP development license, given what Plazes needs to know about your local network to identify it).

Like any good Web 2.0 company, you can get at this information programmatically. You can query where you are directly, and opt-in to letting others see where you are and where you've been, if you so desire.

I've been wanting such information for a while to teach my home asterisk system how to route calls for me.... see, when I'm at home, my cell phone is really unreliable. Sure, you can simultaneously dial a bunch of numbers (this is a trivial thing in Asterisk, why is it so hard for normal phone systems?), and just let the first one to pick up win. But, what if your home cell coverage is so bad that your cell phone sometimes goes straight to voicemail - thus, cutting off the simultaneous ringing of your other services?

Besides, there are other times when location can be a better hint to how to route calls. I'd rather my work phone not ring all weekend, when I'm working from home, etc. There's no reason for it to, and it means someone at work could possibly answer my phone when I'm not around.

My solution was to use the plazes information to decide what numbers to simultaneously dial. Right now, when I'm home, I just ring my home phone, and, optionally, a software phone on my laptop. When I'm at work, I don't ring the home phone, but I ring both my cell and my office number. When I'm not logged in to plazes, or I'm at a plaze I haven't written a rule for, I try my home, my cell, and my softphone.

Well, there's the background. Want to do the same thing? (prereqs: have an Asterisk install, a plazes account, and at least one DID service for your Asterisk) Head over to my tiddly wiki where I lay out the code and the instructions.

Questions/Comments? Please post them in the comments.

Tags: , ,

Comments

your google ads block out the text!

Tom - what browser are you using where you have this problem? It looks fine on both Firefox and Safari.

Post a comment

Verification (needed to reduce spam):