Hi everyone, This forum has a wealth of useful advice and is a great resource. I thought to contribute a solution to a problem I've had, that wasn't clearly dealt with anywhere else. I have the 3G iPhone locked to AT&T. When recently visiting home, abroad, I unlocked it to use with with my home carrier. On return stateside, everything seemed fine for about a week, until I had problems connecting to the network. So I tapped General > Reset > Reset Network Settings. This broke cellular web-browsing altogether. After much grief, it turned out that my APN was reset to the carrier abroad. Installing the "APN Editing" application in Cydia helped me reset this, restoring cellular web-browsing. Whenver I tried using Visual Voicemail, however, I always received error: Voicemail Unavailable Unable to initiate connection Almost two hours were lost on the phone speaking to tech-support at AT&T, thinking there was a problem with their service. It turns out that the iPhone has two APNs for use with AT&T: EDGE/GPRS Visual Voicemail The "APN Editing" application only enables/unlocks changes to the first; not the second, that is the connection used for visual voicemail. I guess AT&T didn't know this; since cellular web-browsing worked, they didn't think to check the APN settings. The correct value for these APN settings are stored on the iPhone itself, in the file: Code: /System/Library/Carrier Bundles/ATT_US.bundle/carrier.plist There's a great post on hackint0sh.org that shows you how to send yourself an e-mail with new APN settings in an XML file. My solution was to create an XML file with both APNs and load into the iPhone. In this case, it was an "apns" array list with the following: Code: <array> <dict> <key>apn</key> <string>wap.cingular</string> <key>password</key> <string></string> <key>username</key> <string></string> </dict> <dict> <key>apn</key> <string>acds.voicemail</string> <key>password</key> <string></string> <key>username</key> <string></string> </dict> </array> Problem solved!