Blocking Rogers Voicemail SMS Notifications on S60 with mShell
Anyone who lives in Canada and has Rogers as their cell phone provider knows what a pain it can be to receive a voice mail message. Let me explain…
Any halfway modern cell phone is capable of receiving the "unread voice mail" notification off the network and display a notification. Most phones do this by first popping up a message on the screen, along with (some phones) a blinking status light.
This is all well and good. Rogers however, in their infinite wisdom, has decided that they need to also support users of cell phones from a decade ago who do not have this feature, by also sending out an SMS message. This in and of itself if great - I applaud them of their thoughtfulness! However, for people who DON’T have old phones, these messages are nothing but a royal pain in the butt, because every time you get a voice mail you will receive not one, but TWO notification popups on your mobile!
Any calls to Rogers to ask them to disable this functionality will be met with a "we can not disable the text messages without also disabling the status notification".
So what to do? Well, I have discovered the answer (at least for Nokia users!) using a nifty program called mShell. mShell is a simple scripting language that allows you to script various aspects of your phone without having to go into the nitty-gritty of programming Symbian using C++. It is highly flexible and runs quite fast, and is able to run scripts in the background as well.
Using mShell I have cooked up the below script that blocks the Rogers voice mail SMS messages from showing up in your inbox. Make sure you set the script’s encoding to UTF-8 after you upload it to the "C:\Documents\mShell" directory on your phone. I called it "BlockMessage.m"
Now I can finally not be afraid to receive voice mail!
—– BEGIN SCRIPT —–
use sms, msg; while true do nr = sms.receive(); // wait for a new message msg = sms.get(nr); // get the message if index(msg["sender"],"Ã") > -1 then // Rogers Voicemail SMS has this weird char instead of a phone number sms.delete(nr); print "Blocked voicemail text message at ", date() else print "Did not block text message from ", msg["sender"] end end;
—– END SCRIPT —–