|
Location:
Tue, 02 Oct 2007
Unlock your iPhone, use it on another carrier, and lose visual voicemail, right?. Well, not so fast. Primer So, first, lets look at how visual voicemail works on at&t: The iPhone makes use of 2 GPRS PDP contexts for IP data: a connection to the "wap.cingular" APN for general internet access, and a special connection to the APN called "acds.voicemail". The phone likes to keep wap.cingular on interface IP1, and the voicemail on interface IP2. For the most part, the phone will remain on wap.cingular for general internet access. On reception of a special SMS with voice indication value specified, the phone knows that it has received a voicemail. Within a few seconds, it switches over to the acds.voicemail context, obtains an IP address, and connects to the visual voicemail server on port TCP 5400 (probably a VIP). The phone will do a simple HTTP 1.1 POST, accepting audio/amr format. The server responds with quite a few details in the header regarding the message, including source number, etc. Eventually, you will get the AMR binary data for playback. This all occurs in the background. You may have noticed that sometimes, your visual voicemail will not play immedately if you quickly go in and try to listen to it. This is because it is still in the process of fetching the data files. After the transaction is complete, the phone quickly jumps off and eventually releases its IP address on the acds.voicemail PDP context. I am not certain if it is using a CMUX interface so both acds.voicemail and wap.cingular can be accessed at the same time. I am also not certain how it knows to connect to one particular voicemail server. The IP address is either hardcoded, resolved via DNS, or passed in the messaging. So what does that mean? This means that for users with unlocked iPhones on different carriers, there is a chance of getting visual voicemail working on your phone too with a combination of VoIP, asterisk, and a simple web server -- if you got creative. This also could open the door to a couple third party apps to entirely replace the phone application. This post should get someone started. Frankly, I am not very motivated to work on this (or even test it), as I am on at&t. For past blog entries, check out the archive on the side or click here. |
Make some extra cash with your blog too: |