iPhone – How to change Voicemail number

February 4, 2010 at 10:23 pm 9 comments

Every month when my new phone bill arrives, I notice a dozens of calls to my ‘Voicemail’ that are costing me money. Now I don’t actually use voicemail, these phone calls are simply the result of my fat fingers bumping the screen when it is unlocked. I had a look around on google, and couldn’t find a simple or definitive solution such as a way to change the default voicemail phone number. I was told it had something to do with some ipcc file (which made no sense to me) so I thought I would have a look into it myself and document the results. Turns out that it really isn’t that difficult. Please note that I take no responsibility for any iBricks created following these steps. You’re on your own!

Please note, the following fix will only work for  jailbroken iPhones. For non-jailbroken phones follow the process documented here!

Anyways first thing you will need to do (if you haven’t already done it) is to install SSH. This can be done a variety of ways, ie Cydia / Rock / Icy or whatever you prefer – please don’t forget to change the default root password!! This can be done from the command line with the command:

passwd root

The next step is to connect to the phone via SSH. You can do this via command line if you wish, however I prefer to use a program called ‘Cyberduck’ as the gui makes it simple with drag and drop functionality. Cyberduck is only available for mac, but I’m sure there are plenty of windows equivalents.

Once you connect, you will need to browse to the directory /System/Library/Carrier Bundles. Within this directory are a whole heap of settings for different service providers. You will need to determine which bundle you are using, which should hopefully be pretty simple. My carrier is  Optus Australia, so the bundle I was after was quite simply ‘Optus_au.bundle‘. Cyberduck has a search function that will most likely help here.

Jump into the bundle and you should see a list of  about 4 files; carrier.plist, Info.plist, and 2 default carrier .png images that may or may not be used by your carrier.

The one we are interested in, is carrier.plist. This stores the network settings provided for your carrier. Make a backup copy of this file. If you are using Cyberduck, you can right click and press ‘Duplicate File..’ and it will automatically create a timestamped copy for you. Now we need to edit the original file. If you are using the command line, you may need to copy this off to your computer to edit it, otherwise you can edit it with the Property List Editor in OS X.

If you look in the expanded plist screenshot above, you will notice the three properties in particular:

  • -> RoamingVoicemailPilotNumber
  • -> Services -> Item 3 -> ServiceCode
  • -> VoicemailPilotNumber

These guys store the voicemail phone numbers for Roaming, the number stored in Phone Settings -> Optus Services, and the general voicemail number, respectively.

Now, all you have to do here, is update these numbers to be that of your own choosing. I personally changed them to be my own phone number, this way, if i bump voicemail the call will always fail, meaning I save money 🙂 Once you make the changes, save / upload the file back to your iPhone. The first and the last properties may require a restart to take effect. Call voicemail to double check, but you should now no longer have to deal with the accidental charges!

One last note, I haven’t tested, but I’m assuming that when updated carrier settings are pushed down, these settings will be overwritten. It’s up to you to decide how you want to handle this.

Anyways have fun! As I said earlier, if you manage to break your phone, I take no responsibility. You make any changes at you own risk.

If this works for you, please like or share with others using the buttons below! Cheers

Entry filed under: Command line tools.., iPhone Tips. Tags: , , , , , , , , , , .

Some Cool iPhone apps Changing Voicemail number for non-jailbroken iPhones

9 Comments Add your own

  • […] 23, 2010 This post is a follow on from my earlier post here, regarding changing the voicemail phone number for jailbroken iPhones. It will demonstrate a […]

    Reply
  • 2. Lazaro Ravelo  |  March 2, 2010 at 7:45 am

    Doesn’t seem to work with T-Mobile USA when trying to use Youmail’s voicemail number

    Reply
    • 3. Jared  |  March 2, 2010 at 8:03 am

      There are many reasons why this may not be working, so you may have to provide a little more information. Did you update the correct bundle? Did you update all the relevant strings in the .plist file? Did you restart your device? etc.

      Reply
  • 4. Anders  |  March 15, 2010 at 9:17 am

    Worked perfectly. Thanks

    Reply
  • 5. Don-Felix  |  May 5, 2010 at 3:20 am

    Is there another directory that could contain the carrier.plist? I can’t find that file anywhere.

    Reply
  • 6. mimo  |  May 11, 2010 at 4:44 am

    100000% worked
    many thanx 🙂

    Reply
  • […] […]

    Reply
  • 8. Pit Lee  |  May 1, 2012 at 12:57 pm

    I was able to change verizon iphone 4s voice mail dial number..

    Thanks so much~~~~~~~

    Reply
    • 9. HJL  |  May 27, 2012 at 7:42 pm

      @Pit Lee – I cannot find any entries for the voicemail pilot number in Verizon’s carrier.plist file (I actually have service through a Verizon MVNO, but the file should be the same). Which file did you edit?

      Reply

Leave a comment

Trackback this post  |  Subscribe to the comments via RSS Feed


Flickr Pics

Subscribe to my blog to receive email notifications of new posts!

Join 2 other subscribers