26 Nov 2012

Who called?

One service I so enjoy on my Etisalat is the missed calls sms notification. I even once tried to build something similar that cuts across networks and plans. I didn't finish work on it though. But now that something seem wrong with the service (I haven't been receiving notifications for like a month now), I decided to put together the system myself.

The architecture is simple. Really simple.

  1. Get a number that can track incoming calls.
  2. Forward the calls you want notifications for (e.g busy, unavailable, all calls) to the number.
  3. Check the number logs for the calls forwarded to it.

It is that simple. You can easily get #1 from any IVR company. Twilio, Tropo, Plivio are examples. I used Tropo because they offer a free developer account with free number. You will have to forward the number to the script that handles the calls though. You will find that (call-picker.php) in the library. #2 is the simplest part. You will find this in your phone's call settings. For #3, I simply store the call details (from the call-picker script) in a [MySQL] db. You can extend it to send you sms or mail. You will find a sample code to display notifications for the day in the index.php file.

Important note: This only works on Etisalat for now. I am yet to test on Glo though. MTN and Airtel apparently do not allow you forward calls to an international number. My guess is because they want you to roam or so. MTN tells you the number does not exist, Airtel drops the call instantly.

Here is a link to the library: https://github.com/kehers/who-called

My name is Opeyemi Obembe. I build things for web and mobile. You should follow me on Twitter (@kehers).