« So... close! | Main | eGO cycle registration in California? »

Sidekick Toll Averter, Wife Alerter.

A friend recently gave me his old Sidekick 2. I quickly activated it, using T-mobile's pay-as-you-go plan, which lets you have unlimited chat and data for the fairly modest $30/month (no contracts, no taxes or fees). I already had pay-as-you-go service, because, with all of the VoIP tricks I have, I was rarely using my cell phone.

It immediately occurred to me that a sidekick screen friendly click-to-call app would be really handy. Digging around the web, I found a Nerd Vittles tutorial that covered how to set things up given the Nerd Vittles setup - I had to do some adapting/extending to make it fit into my own setup.

Here is my adapted callme.php. Download it, stick it on a webserver, either one with Asterisk, or one that can reach an Asterisk server through its network. Edit it in a text editor to change the password it expects, probably also the manager interface details, as I don't know what your settings are. Though similar to the Nerd Vittles ones, I have re-factored things, and put the form inline - you only need this one script to do it all. Also, to minimize screen usage, it stashes your password in a cookie, and only shows the password prompt if you haven't set it, or the password doesn't match. Don't use this script on a machine you don't trust enough to stash your password on... password handling is naive, to say the least.

To enhance things a little, I added two more features: 1) "Connecting" notification to the first person called. 2) A Wife Alerter feature (also known as a text-to-speech mode), for sending a one-way message to someone who doesn't have a SMS/MMS capable phone.

The "connecting" notification is straightforward. I created a new macro in my dialplan that looks like this:

    [macro-notify]
    ;exten => s,1,Background(transfer)
    exten => s,1,Background(pls-wait-connect-call)
    exten => s,2,SetVar(__FestivalMessage=${ARG2})
    exten => s,n,Macro(diallocal,${ARG1})

You might need to change the last line to do an appropriate type of dial for your dialplan. I use another macro to handle dial-out logic, but, you can easily substitute a normal Asterisk Dial() command for the last line if you don't need such sophistication.

Notice that this macro also does a SetVar - this is stashing an argument passed in to it via the CallMe script, so that, if appropriate, the message is available to the dialplan on the completing extension. To make a call that delivers a message, then, just fill in the message field, set the "Call first" to whoever you want to alert, and "Connect to:" to "tts". You'll need to stash the following "tts" in an appropriate place in your outbound dial plan. Here's the line you need:

    exten => tts,1,Festival(A message for you: ${FestivalMessage})

Once you've got all that set up, give it a test - Call First: yourself, Connect to: tts, and say "Hello world" if you'd like. Depending on your Asterisk install, you might still have to set up Festival - I leave this as an exercise to the reader, but used the Voip-Info explanation with no troubles after installing the "festival" Debian package on my own machine.


In the end, I now have a Sidekick-friendly app that lets me use any nearby phone, rather than my expensive pay-as-you-go minutes, using just my Sidekick to kick it off. In addition, when I'm in traffic or in a meeting, I can send a message to a wife or friend, even if they don't have a cell phone of their own.

Enhancements that would go well with this: 1) Auto-populated drop-down lists of who you call, and where you often call from. Why re-type a number, if you've typed it recently? This could even be done with cookies, to avoid having to do anything substantial server-side. 2) Canned outgoing messages, like most SMS-capable phones have. "Honey, I'm running late, I'll be home soon" is a lot of characters to type, if you type it every time from scratch. 3) Live call status, so you can figure out errors more quickly, or cancel an accidentally dialed call.

So far, I'm really happy with this solution, though. I'll add a Sidekick screen snap as soon as I can figure out how to take one.

Update: Here's a screenshot of the UI on my Sidekick:

a screenshot of the sidekick UI

Technorati Tags: ,

Comments

I still get a busy signal whenever I call your fancy voip number :)

...and posting that comment gave me a DB error.

Yes, yes. That's cause you never asked for a better one, and VoIP companies that I use go croak too often. Specifically, one company went very belly-up, and I've never been able to figure out how to get the number out of them.

Meanwhile, this explains why you're always running up my cell phone bill... :P

i want to configar password in wifie conection

i want to secorty in wirless networking who to posivile tel me

Post a comment

Verification (needed to reduce spam):