I have a 2011 528 and have an android phone. I was quite intrigued with the BMW Office functionality but I was disappointed that there was no good support across all the major US Telcos for android phones. As you are probably aware BMW Office requires Bluetooth MAP profile and most phones do not include this, there seemed to be no possibilities of non-BB users using the Office functionality.

I am happy to report that the developers at XDA have cracked this and included the Bluetooth MAP profile in the Cyanogenmod 9 nightly ROM!!

With this ROM I have been able to pair my phone to the car to display and have the car read SMS messages. I did not have much luck with email even though iDrive shows me options related to email. I suspect my email does not show up due to some security issues. with our Exchange email. However I need to research more on this.

In order to get the BT MAP profile and at the very least get the SMS messages working, here are the steps I followed.

Please Note;

1) Full credit goes to XDA developers and their awesomeness in resolving this
2) I am not responsible for anything bad happening to your phone or car if you follow this procedure. In other words, You do this on your own risk!!
3) I am only listing the steps I followed to make fellow BMW drivers aware of this possibility.

Note 1: I could not explicitly find an option in the BT profile on either phone or iDrive to enable MAP profile. However, after pairing the phone, under Telephone Menu in iDrive, the screen showed what profiles were available (Telephone & Audio). In Office Menu in iDrive, under messages there is now a new filter with an option to show only Text Messages or Service Messages (directions I sent from Google Maps). When I moved the iDrive controller to far-right side, I had options to download emails!!

2nd note: The whole experience is not as intuitive as I would have preferred but important thing to note is the text messages are now working. All you can see is a spinning wheel in the nav so I could not really tell, whether the car was trying to read messages or just downloading my Phone Book.

3rd note: In case you dont see text messages show up on receipt in your phone, please pair your phone once again. I have had to do it only once since I had flashed a custom ROM on my phone for the first time.

What works,

1) SMS messages in car.
2) Car can read the SMS messages to you
3) You can call the sender directly from this menu itself

Unintended bonus,
1) With this ROM, now under telephone, Conference facility is available. This is not available under the standard Google ROM that comes with the phone and is also noted thus on BMW site.

What does not work,

1) Emails may work but they are not working for me. I suspect some security credentials our administrator installs on phone to block this. However I am not sure. Kindly let me know if any of you have better luck than me.

2) Calendar, Tasks and Notes do not work yet as I have just learnt that these do not use MAP profile to sync with the car but another BT profile called SyncML. So the quest for this functionality continues!

I also have a Nokia 6700 Classic which although not a true smartphone is very compact and reasonable battery life. Although this does not support SMS or emails, the conference facility works well as does the Calendar, Notes and Tasks. The Calendar syncs well with my Google Calendar. This Nokia also supports the Data via Bluetooth.

I suspect we will see more and more phones starting to support the MAP profile as its not just BMW that needs it. All the Ford vehicles need the MAP profile support to work properly as well

Initially, when Android was in Froyo/Gingerbread version, applications were allowed to read the phone's SMS & Email database and displayed them on our F10 . However, Google is since locked down the email database and no longer allow it to be read, citing security concerns. Therefor, bluetooth MAP can now only show SMS on our car, no more Emails.

The other F10 office functions besides SMS/Email, such as Calender, Task, Agenda..etc... uses yet another bluetooth profile known as SyncMLServer , which no Android phone to date supports. It is however, supported by other makes of phones, such as BlackBerry, Nokia N9, Windows Phone.

Hope this explains why some phones work and some don't eventhough they are all running Android.

Another investigation i made is why songs Autoplay and Auto-restart-from-beginning for the A2DP connection. If anyone wants to know how to hack this on Android, let me know.

Alright my story is that i often listen to podcast while i am driving. One very frustrating thing that happeneds is that when i reach my destination and shut my F10 down, it disconnects and when i get in my car again, the current track i am listening to gets restarted from the beginning. I would be half way through my hour long podcast only to have it start from the beginning, which is extremly annoying. I want it to pick up where it left off, i tried different apps and all other stuff and it would not work. In the end, i found the perfect solution.

What happeneds is that when your phone connects to the car and if you are in the bluetooth source mode, the CAR sends a MEDIA_PLAY command to your phone. If you switch mode (say to FM radio) , the car sends a MEDIA_PAUSE to the phone. When you switch back to bluetooth source, another MEDIA_PLAY gets sent from the car to the phone.

Now when you turn your car off, the car sends a MEDIA_STOP to the phone, which tells the phone to stop the current track and reset it to the beginning of the track. What i did was (root needed) edit the file (only applicable to Android) edit the file /system/usr/keylayout/AVRCP.kl and changed bluetooth mapping for MEDIA_STOP to MEDIA_PAUSE. This is the perfect solution and fixes the reset problem and now behaves exactly how i want it.

Alright my story is that i often listen to podcast while i am driving. One very frustrating thing that happeneds is that when i reach my destination and shut my F10 down, it disconnects and when i get in my car again, the current track i am listening to gets restarted from the beginning. I would be half way through my hour long podcast only to have it start from the beginning, which is extremly annoying. I want it to pick up where it left off, i tried different apps and all other stuff and it would not work. In the end, i found the perfect solution.

What happeneds is that when your phone connects to the car and if you are in the bluetooth source mode, the CAR sends a MEDIA_PLAY command to your phone. If you switch mode (say to FM radio) , the car sends a MEDIA_PAUSE to the phone. When you switch back to bluetooth source, another MEDIA_PLAY gets sent from the car to the phone.

Now when you turn your car off, the car sends a MEDIA_STOP to the phone, which tells the phone to stop the current track and reset it to the beginning of the track. What i did was (root needed) edit the file (only applicable to Android) edit the file /system/usr/keylayout/AVRCP.kl and changed bluetooth mapping for MEDIA_STOP to MEDIA_PAUSE. This is the perfect solution and fixes the reset problem and now behaves exactly how i want it.

Not sure if anyone else was encountering this 'problem'

sounds good. I am sorry if this sounds 'simple' or obvious, but would it not be less trouble to just change to FM radio a couple of seconds before you turn the engine off so it triggers the Media_pause command?

By the way, when I listen to music from my USB, the car remembers the exact point the song was left at, and picks it up from there next time I start the car. Is it different when you stream the music through bluetooth?

Doesn't help. Even in Radio mode, shutting the car off, it sends the STOP command. I prefer to stream through my phone because i have another car (not a BMW) and continue listening where i left off there. That car doesn't have the restart problem. It's a BMW thing