After moving to Canada, part of initial culture shock was the fact how expensive cell phone services are. That motivated me to started thinking how to migrate off cell-provided services.
Another reason for migration was the fact that service providers have surprisingly poor service quality:
@Fidomobile been trying to give you my money but you're resisting too hard. Yet my number stopped working. “Thanks"! pic.twitter.com/BLQXQGs972
— gmarik (@gmarik) April 16, 2016
Voicemail was the perfect candidate to migrate and this post covers how to do it with Twilio.
Prerequisites
Assuming you’re registered with Twilio and have a positive balance. All prices mentioned are in USD and are for Canada(your price may be different).
Get a Twlio phone number
Number costs USD$1 per month
Receiving calls costs USD$0.0075/min and is ridiculously cheap comparing to what cell-providers offer.
Setup call forwarding
Voicemail is a “buffer” that captures the call while the receiver is not available to answer the phone. In order for the buffer to capture the call it’s required to instruct the provider to forward the call to it. The instructions are provider dependant; for my one it’s described here
Twimlets
Twilio runs little known service Twimlets for hosting TwiML(a markup instructing Twilio how to act in event of receiving a call). Which means there’s no need to host markup yourself.
We’ll create 1 simple twimlet using voicemail
generator form, where:
email
is the email address voicemail transcription should be sent to. Yes, this is a very cool feature.transcribe
- enables voicemail transcription. Set to your preference. Transcription is a paid feature (very cheap though).message
is the message a caller hears before the recording starts.
Save the form for convenience once above fields are filled-in
Now copy the saved url; it’ll be further used to configure the number’s Voicemail.
Setting up the Voicemail for Twilio number
- Go to Manage numbers, select the number you had acquired.
- Expand Voice section, and paste the
Voicemail
twimlet url to the Request URL field
Like this:
Note: by default you’ll have a http
url, make sure to change it to https
.
Testing
At this point it should be possible to call the number and reach the created Voicemail.
If everything is configured well you should be able to see the call in the dashboard and hear the recording. If transcription is enabled you’ll also receive the email with transcribed message.
Conclusion
With minimal effort it’s possible to easily create Voicemail that’s quite cheap and convenient.
There are things to consider thought: I’m not aware of SLA of the twimlets service so if the service goes down the Voicemail may be unreachable. If you care about the availability it’s quite easy to host twimlets yourself for example in s3 or Dropbox.
Thank you!