SIP Phone Automation for Fun and Profit

robotOver the holidays, I made a serendipitous discovery while trying to get the the Amazon Echo to control a light bulb using voice commands. If you haven’t yet heard about the Amazon Echo it is a relatively new appliance that contains a voice controlled personal agent named Alexa (Amazon’s version of Siri, Cortana and Google Now). But I digress… The discovery was the If-This-Then-That (IFTTT) Maker channel.

IFTTT (pronounced “ift”) is a consumer oriented webservice that makes software automation accessible to virtually anyone. Using hundreds of pre-built “recipes” IFTTT allows you to connect different applications together with rules that can be easily defined. The pre-built recipes include connections (called “Channels“) to virtually any consumer webservice that you can think of. Another automation webservice, Zapier, is more geared towards business applications but is not as straight-forward to setup.

Introduced in June 2015, the IFTTT Maker channel allows you to trigger a recipe with a simple HTTP post. That means that you can trigger automation tasks just by hitting a web URL. The IFTTT service lets you insert parameters into the URL that can be passed to other applications.

When combined with HTTP notification capabilities that are built into most SIP phones and ATAs, the Maker channel allows you to do some pretty amazing things that operate completely independently from the IP-PBX or SIP server that the phone is registered too. Although capabilities will vary depending on the model of SIP phone that you are using, some ideas that come to mind in the hosted PBX realm include being notified when a SIP phone becomes unregistered or when the phone’s DND button is pressed.  The possibilities are almost limitless, and will only expand as more IFTTT channels are created.

To get you started in the wonderful world of SIP Phone automation, I created a How-To video that steps through the process of logging calls from a Yealink phone to a Google Spreadsheet using Yealink Action URLs  (the video shows the Yealink phone being configured from its admin UI, but of course, this can also be auto-provisioned using the SkySwitch device provisioning server).