Tag Archives: twilio

OpenVBX Launched

I am very pleased that Twilio’s OpenVBX launched today. This is a project that I had the great pleasure of working on last year for several months with the fine folks at Twilio. When I last touched it, I thought it was 99% ready to go and felt a little frustrated that it wasn’t launched sooner.

Now that I see what they’ve been working on in the meantime I understand. A great deal of refinement and documentation has made this product so much better than what it was. They even made a very Apple-esque intro video to describe what it is and why it is a win for businesses. I am installing it now on my server and will update with my impressions soon.

While not yet advertised anywhere, OpenVBX is based on CodeIgniter, a very popular PHP framework. Even if you are more familiar with other frameworks like CakePHP, Kohana, Silverlight, etc., you should find the code easy to understand.

Commenters on this news at HN have been oddly upset over Twilio’s reasonable per-minute charge, which is not new. “Why pay 3¢ a minute when you can roll your own PBX with Asterisk and pay 0.0000000000000001¢ per minute with some VOIP provider?” they ask. Fair enough. But when you go eat a burger for lunch today, ask yourself why you didn’t raise and slaughter your own beef, grind the meat, and fry your own patties? Why pay a farmer, butcher, grocer, and restauranteur to do what you could have done yourself?

By the way, when it the last time someone has successfully used the word “restauranteur” in a sentence?

A Free Phone Screen/Interview App With Twilio

I have thoroughly enjoyed working with Twilio for the last 6 months or so on an open-source project that will soon be released (can’t wait!). Now that my part in that project has wrapped up, I’ve got some extra time to play around with my own projects and look for my next job. Over on the Twilio support forums, someone recently requested help, and it caught my eye:

I have to conduct a lot of phone interviews every year for my company with fairly standard questions. Would there be a way to use Twilio to manage this in an automated fashion? I don’t want to spend the time actually conducting the interviews but would rather listen to them when I have a chance. [...]
During the call, I would like to have the user enter the # sign or something when they have finished answering the question, to prompt the next question. This way, I could have my 10 standard questions recorded in Mp3, and then have the whole process managed through Twilio ideally where i enter the interviewee’s phone number and a time for the call ideally.

Someone posted a link there that lead me to this service: VoiceScreener which starts at $169/month. Yikes! Twilio, on the other hand, is 3¢/minute and $5/month/phone number. I got to thinking: this is incredibly easy to set up with Twilio’s API; why not just whip it up? So I did.

Here’s a demo where you can try a sample phone interview and here’s where you can download the code. To install and customize it, just follow these directions:

  1. Unzip the file to a directory on a web server that runs PHP 5
  2. Edit the file inc/config.php with your own Twilio authentication credentials and the email address that will receive reports.
  3. I have included my sample MP3 files in the files directory, but you should replace them with your own. The file names should be self explanatory: intro.mp3, thanks.mp3, conclusion.mp3, and question_XX.mp3, where XX is a two-digit number.

As it is written now, this works without any database at all because we can use Twilio’s REST API to query the call details and list of associated recordings. This project is more of a starter and proof of concept, although for simple interview scenarios it would work just fine. Other possible upgrades (some requiring a database) could be:

  • Account for unanswered questions in the report
  • Allow interviewers to hang up in the middle of the interview and call back later to pick up where they left off
  • Allow the interviewer to review their answer and re-record
  • Allow for question branching, where the user enters a touch-tone response for yes/no on some answers and is asked only relevant questions from then on
  • Set up multiple types of interviews
  • Show the text of the question in the interviewer’s web browser  while they are listening to it on the phone using AJAX
  • Make the interview conclusion a menu, as in: “To hear more about the company, press 1. To hear more about this position, press 2…”

If you are interested in having me work on this for you, please contact me and I’d be happy to help you out. If you have any suggestions or improvements, please send them my way too.