MMS messages don't download because of a bug
My wife's phone has been having problems downloading picture messages for a while now.
I'm an Android developer so I plugged her phone into the adb debugger and pulled some trace messages as her phone tried to download the picture messages. Trace messages are like a play-by-play logbook of what the phone and its apps are doing at any given time.
As it turns out, her phone is being provided an invalid URL for the multimedia portion of the message and so her phone is never able to download certain messages.
In other words, VERIZON is saying "hey, here's your message, here's the subject, here's the body, and use this URL to get the picture" but that URL is mangled sometimes.
I've seen two forms of malformed URLs on her phone so far, I'll paste the relevant portions of the trace log:
First test message, from me:
[FONT=Courier new, monospace]
04-26 19:11:35.783 I/InetAddress( 299): Unknown host 69.78.70..70, throwing UnknownHostException[/FONT]
And then we see this from a picture message from another source:
[FONT=Courier new, monospace]
04-26 19:27:31.087 I/InetAddress( 299): Unknown host 69.78.130103, throwing UnknownHostException
In both cases the IP address of the MMS provider is mangled.
The big question: How would one ever get this information to the developers at Verizon?
Two more broader message snippets:
04-26 19:27:29.913 V/MmsProvider( 114): Query uri=content://mms/28, match=1
04-26 19:27:30.853 D/HtcCdmaStatusBar( 68): provide dormancy network icon net:5
04-26 19:27:31.087 I/InetAddress( 299): Unknown host 69.78.130103, throwing UnknownHostException
04-26 19:27:31.093 V/RetrieveTransaction( 299): Unexpected IOException.
04-26 19:27:31.093 V/RetrieveTransaction( 299): java.io.IOException: Cannot establish route for http://[SIZE=5]69.78.130103/servlets/mms?message-id=<DELETED_MESSAGE_ID>: Unknown host
04-26 19:27:31.093 V/RetrieveTransaction( 299): at com.android.mms.transaction.Transaction.ensureRouteToHost(Transaction.java:206)
04-26 19:27:31.093 V/RetrieveTransaction( 299): at com.android.mms.transaction.Transaction.getPdu(Transaction.java:171)
04-26 19:27:31.093 V/RetrieveTransaction( 299): at com.android.mms.transaction.RetrieveTransaction.run(RetrieveTransaction.java:147)
04-26 19:27:31.093 V/RetrieveTransaction( 299): at java.lang.Thread.run(Thread.java:1058)
04-26 19:27:31.093 E/RetrieveTransaction( 299): Retrieval failed.
Message 2:
04-26 19:11:35.663 V/TransactionService( 299): Adding transaction to list: com.android.mms.transaction.RetrieveTransaction: serviceId=1
04-26 19:11:35.673 V/TransactionService( 299): Starting transaction: com.android.mms.transaction.RetrieveTransaction: serviceId=1
04-26 19:11:35.683 V/TransactionService( 299): Started processing of incoming message: { what=1 when=1633652 arg1=1 obj=com.android.mms.transaction.TransactionBundle@4357c868 }
04-26 19:11:35.683 V/MmsProvider( 114): Update uri=content://mms/23, match=1
04-26 19:11:35.693 V/MmsProvider( 114): Update values=st=129
04-26 19:11:35.753 V/MmsProvider( 114): Broadcasting intent: Intent { action=android.intent.action.CONTENT_CHANGED (has extras) }
04-26 19:11:35.763 D/MyWidgetViewWL( 116): message widget observer onChange, isDelete false
04-26 19:11:35.783 I/InetAddress( 299): Unknown host 69.78.70..70, throwing UnknownHostException
04-26 19:11:35.793 V/RetrieveTransaction( 299): Unexpected IOException.
04-26 19:11:35.793 V/RetrieveTransaction( 299): java.io.IOException: Cannot establish route for
http://[SIZE=5]69.78.70..70[/SIZE]/servlets/mms?message-id=<DELETED_MESSAGE_ID>: Unknown host
04-26 19:11:35.793 V/RetrieveTransaction( 299): at com.android.mms.transaction.Transaction.ensureRouteToHost(Transaction.java:206)
04-26 19:11:35.793 V/RetrieveTransaction( 299): at com.android.mms.transaction.Transaction.getPdu(Transaction.java:171)
04-26 19:11:35.793 V/RetrieveTransaction( 299): at com.android.mms.transaction.RetrieveTransaction.run(RetrieveTransaction.java:147)
04-26 19:11:35.793 V/RetrieveTransaction( 299): at java.lang.Thread.run(Thread.java:1058)
04-26 19:11:35.793 E/RetrieveTransaction( 299): Retrieval failed.
[/SIZE][/FONT]