SpeedDial AIR App: Dial from the Desktop

Go ahead. Dump your wallet out on your desk and filter through your receipts and frequent-diner cards trying to find that one business card with that one phone number. Then proceed to pick up that phone and take on the monumental task of manually dialing each and every grueling digit. Pshhhh. That’s so last year.

Introducing SpeedDial. Run the app and click on a Google contact with a phone number. Your phone will ring. You pick up. The contact’s phone will ring. They pick up. Done. Want to call them again? Click their name. Done. Again? Click their name. Done.

Found a phone number on the web for ordering a late-night pizza? Ugh, the agony of lifting the phone and punching in each and every digit! Copy text, open SpeedDial, hit the call button. Done.

You will need to be on a phone system with a PBX (like a workplace) for the application to function. See the juicy details below for more info.

The juicy details

Calls are made using a simple RESTful API made available by a PBX (generally Asterisk-based). Once the PBX is in place and you’ve discovered the REST API used to make calls, you can pass the URL into SpeedDial as an argument. For example, let’s say I pass in this URL as an argument to SpeedDial:


When placing the call, SpeedDial will use the URL but replace {extension} with the user’s extension, {destination} with the phone number the user is calling, and {pin} with the user’s phone PIN. An HTTP request will then be made to the URL and the PBX takes it from there. By passing in the URL to the app in this manner, you can configure SpeedDial to your specific workplace without modifying the code and creating a new build.

As for other juicy details, SpeedDial stores credentials using an AIR encrypted local store and contacts are loaded using the Google ClientLogin API. The app uses Flex 4 and Robotlegs. The full source can be found here.

Fork Project

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.