How to Download Voicemail From an IPhone

257,101

7

18

Posted

Introduction: How to Download Voicemail From an IPhone

You can copy voicemail and other files from an iTunes backup just by renaming some files.

No jailbreaking or re-recording required!

This does require some familiarity with the command prompt (aka. command shell).

I was thinking of writing a small program or script to automate this but I am not sure what language to write it in.

I also don't really know how to illustrate this.

Step 1: When You Sync Your IPhone, ITunes Backs Up Your Files

When you sync your iPhone, iTunes backs up your files in:
Mac: ~/Library/Application Support/MobileSync/Backup/
Windows XP: \Documents and Settings\(username)\Application Data\Apple Computer\MobileSync\Backup\
Windows Vista and Windows 7: \Users\(username)\AppData\Roaming\Apple Computer\MobileSync\Backup\

Apple has some more information about iPhone and iTouch backups here.
It doesn't mention voicemail, but voicemail files are indeed included.

Step 2: You Could Just Read These Files, But ITunes Renames Them

iTunes renames all your files xxxxxxx.mddata.  So all you need to do is figure out the original file name extension and you will be able to view the file.

First, be sure to make a copy of the entire directory and work only on the copy.

From a command prompt, you can use the command file, which reads a file and figures out what sort of data it actually contains.  Then you can rename the file with the proper extension so your operating system will recognize it and can open it.  For example, voicemail is stored as an Adaptive Multi-Rate Codec (GSM telephony) .amr file.  If you rename a file with this extension, Quicktime will open it.

The Macintosh command prompt includes the file command as part of the operating system.

On Windows, you have to download and install the file command manually.  This program is one possibility using the windows command prompt.

Another possibility is cygwin which installs a unix-like command shell that includes the file command  (This is what I used, since I already had it installed).

Once you have the command installed you would type something like:
file *.mddata
to see what sort of file each mddata file actually is.

Here is some of the results from my iPhone:
f879f904659340b84f23853b997e0a13b8db608f.mddata: Adaptive Multi-Rate Codec (GSM telephony)
f8d2d53f86ac550432e597654a2b5d456524a5ca.mddata: Apple binary property list
f936b60c64de096db559922b70a23faa8db75dbd.mddata: SQLite 3.x database
fb3108570150f89af665302ff4d3c25027c149b9.mddata: PNG image data, 127 x 127, 16-bit/color RGB, non-interlaced
fb520955c98189505f20d2af90a46a1ced8c2e9c.mddata: data
fb5933a1d7f0155d2656a00f4ed5e6c63429262a.mddata: JPEG image data, JFIF standard 1.01
fb7786ced1add24313fa258c8e1ed041e24d52a4.mddata: Apple binary property list
fc5e3306c70847e0c7eff69da7a33a2ec978e516.mddata: JPEG image data, EXIF standard 2.21
fdff09f7f56b266b40c42606bc71a06fac258007.mddata: ASCII text

Quicktime will open the following files:
change extension to .amr: Adaptive Multi-Rate Codec (GSM telephony)
change extension to .jpeg: JPEG image data, EXIF standard 2.21
change extension to .png: PNG image data, 127 x 127, 16-bit/color RGB, non-interlaced
change extension to .mpeg: ISO Media, MPEG v4 system, iTunes AAC-LC
change extension to .mpeg: ISO Media, Apple QuickTime movie

sqlite browser
will open SQLite 3.x database files.

.mdinfo files and some of the .mddata files are Apple binary property list.  This page talks about how to read them.  Here is some source code.  Or use this program.

Step 3: Caveats

Note that backup files do not include iTunes music.  That can accessed by plugging your iPhone into a Ubuntu 10.04 Linux system.

You can have iTunes encrypt your backups, and this method won't work.

I found iBackupBot (Backup Manager Software for iTunes) software ($34.95 trialware) which makes browsing iTunes backups much easier, but won't let me listen to voicemail or save it to another file.

I also tried YouMail which completely redirects your voicemail to a different service (that includes being able to email and transcript voicemail) but it was way overkill for what I wanted.

Google Voice looks like it will email and transcript voicemail as well.  You need to get and invite to use this service, however.

Share

Recommendations

  • Epilog Challenge 9

    Epilog Challenge 9
  • Sew Warm Contest 2018

    Sew Warm Contest 2018
  • Paper Contest 2018

    Paper Contest 2018
user

We have a be nice policy.
Please be positive and constructive.

Tips

Questions

14 Comments

All of these solutions are a lot of work. The easiest way is to use Bulk Rename Utility and VLC player which are both free for this purpose. In Bulk Rename Utility navigate to a copy of the backup file in the menu on the left. select all files in the box on the right. In the seventh box "add (7)" there is a box called Suffix. In the Suffix box put in ".amr" (without the quotes). then hit rename. All the files should have the suffix .amr now. Open the files in VLC player files with duration are either videos or the voice mails. Only problem is you have to sort through them yourself.

Hello,

I tried the above command line in Bash, while in the directory that has my phone's backup file, and it didn't produce any files in the vm directory (which is also in same directory as the backup file). Bash took the command as it didn't balk any errors, what am I doing wrong?

Thanks!!

This worked well for me, after I remembered to create the vm folder! thx


Here is the command I used in the Windows 7 command prompt:

@for %f in (*) do @(for /F "usebackq tokens=1,2* delims=; " %g in (`file %f`) do @(if %h==Adaptive copy %g %g.amr))

When I run that, I get a message (that endlessly scrolls) that says" 'file' is not recognized as an internal or external command"

I tried installing "File" from the site you suggested, but it must not have installed. Any ideas?

Thanks very much,

Jon

Yes, the script above uses gnuwin32 file program that you have to install.

Here is a cygwin version that does the same thing:

for f in *; do file $f | grep -q Adaptive; if [ $? == 0 ]; then cp $f $f.amr;
fi; done

It checks all the files in the current directory.  If the file contains Adaptive Multi-Rate Codec (GSM telephony), it renames the file to add a .amr extension.

Hi Alan,

Thanks for providing a command line for renaming the files to *.amr in Cygwin. However, when I entered that, nothing happens.

Here is the command as entered in Cygwin...the directory with the itunes backup files is a529*

Jon@JON-YALE-OPLEX /home/a52933419a0fa72b7716fed06fea5dae7fdf6447
$ for f in *; do file $f | grep -q Adaptive; if [ $? == 0 ]; then cp $f $f.amr; fi; done

I appreciate your help

Did you cd to the correct directory before running the command?

Did you check if it added a .amr extension to any of the files?

The command itself doesn't print any output.

In cygwin, you can just type:

file *

in the correct directory and then look for files with Adaptive Multi-Rate Codec (GSM telephony) and rename them with the .amr extension manually.

Yes I cd'd to the directory with the files. The command you gave didn't add the .amr extension, but I noticed a comment from SmithersJR who suggested a command to run on a Mac that would rename the codec files:

file * | grep 'Adaptive Multi-Rate Codec' | awk '{ FS = ":" } { print $1 }' | xargs -I file mv file ./vm/file.amr

So I created a directory vm and ran the command. At first I didn't think it had worked, but because I am so unfamiliar with Cygwin and its directory structure, I couldn't at first locate where I had created the vm directory, so I figured the command had failed. As I was looking around to see if your command had added the extension (it had not), I found the vm directory, did ls on that directory and, voila!, the re-named files are there. I should be able to run that same command changing 'Adaptive...' to 'JPEG' and 'vm' to something like 'Images' and be able to extract all of the .jpg image files.

I glad you got something to work for you!

This really helped me. Thanks.
On Windows, I find that all the files have no extension (i.e. no .mddata extension). Here's the command line I used to copy all the voicemails to .amr files:
@for %f in (*.) do @(for /F "usebackq tokens=1,2* delims=; " %g in (`file %f`) do @(if %h==Adaptive copy %g %g.amr))
If you put it in a batch file, you'll need to double up some of the % signs.
The backups seem to include deleted or old voicemails. Next time, I will explore ways to zero in on the ones I want to save.