(Version française disponible ici)
Here in Switzerland the major telco (Swisscom) has an option to let you see your last 20 answered and missed calls on your account webpage.
Not wanting to log in every time I want to check if I missed a call, I wrote some scripts and that fetches the content of my account web page and display them on an iOS app.
The names are fetched from the iPhone address book, and the iPhone receives a notification via Prowl when a call is missed.
Or perhaps all this was an excuse to write some code during the holidays. Who knows.
I can’t make this app an official app because:
- I need the Swisscom credentials to access the portal and I wouldn’t trust a stranger and give them access to my account. As you do.
- The process of fetching the list of calls is not an officially approved method and may break (and did) when Swisscom changes the layout of the page.
- The iOS app can also retrieve the owner of an unknown number via a call to the local.ch (more or less the official swiss white pages site). Of course, the API endpoint is not official nor public. Please be nice and don’t abuse this unofficial endpoint.
So I made the source available on GitHub: https://github.com/sburlot/phonecalls
Oh, if you work for Swisscom, or know someone who does, ask for a method to fetch this data with a secure login option. That would be great, because I could make this app available via the AppStore.
Or Swisscom could add this feature to their official app. PLEASE.
Or Swisscom could hire me to implement this feature in their official app. I’m a freelance developer and I’m available!
Some tech details
On the server a Perl script fetches the data (via cron) from the Swisscom and stores the numbers in a MySQL database (any DB would work).
The iOS app calls a PHP script on the server to access the data: the PHP scripts fetches the data from the database and returns a JSON object.
PS: of course I can wait to return home and check my calls on my phone, but where’s the fun? 😉
I wrote this app 2 years ago and I still use it.
(this is a longer version of the original post)