[Xperia Z3 Compact Q&A, Help & Troubleshooting] GoldenStake:
When somebody sends me a group text or picture message, I get an error saying it can't download the message.

I'm absolutely sure that the APN settings are absolutely correct after many, MANY calls with the straight talk support team.

I am looking for people that can help me out with experience with MMS on Straight talk or incite into the problem.

I have tried on two different messaging apps, the default one, and TextSecure. TextSecure seems to provide a more detailed log, of the failure when I run logcat.

These are the log messages from TextSecure app (the ones I found that pertain to MMS).

also I can't post "outside links" so I added spaces around some periods and colons on hostnames and ip addresses.

W/MmsListener(26264): Got MMS broadcast . . . android . provider . Telephony . WAP_PUSH_DELIVER
W/MmsListener(26264): Relevant!
W/MmsListener(26264): Got MMS broadcast . . . android . provider . Telephony . WAP_PUSH_RECEIVED
W/PduParser(26264): parse() called . . .
W/PduParser(26264): Message Type: 130
W/RecipientProvider(26264): Cache miss [SYNC]!
D/CountryDetector( 879): The first listener is added
W/MmsDatabse(26264): Message received type: 130
W/MmsReceiveJob(26264): Inserted received MMS notification . . .
W/MmsDownloadJob(26264): MmsDownloadJob:onRun()
W/MmsDownloadJob(26264): About to parse URL . . .
W/MmsDownloadJob(26264): Downloading mms at 198 . 228 . 238 . 80
W/MmsDownloadJob(26264): Changing radio to MMS mode . .
D/QcConnectivityService( 879): startUsingNetworkFeature reconnecting to 0: enableMMS
W/MmsRadio(26264): startUsingNetworkFeature status: 1
W/MmsRadio(26264): Got connectivity change . . .
W/MmsRadio(26264): Connected: NetworkInfo: type: mobile_mms[LTE], state: DISCONNECTED/IDLE, reason: (unspecified), extra: (none), roaming: false, failover: false, isAvailable: true, isConnectedToProvisioningNetwor
k: false
W/MmsRadio(26264): Connected: NetworkInfo: type: mobile_mms[LTE], state: DISCONNECTED/IDLE, reason: (unspecified), extra: (none), roaming: false, failover: false, isAvailable: true, isConnectedToProvisioningNetwor
k: false
D/QcConnectivityService( 879): startUsingNetworkFeature X: return APN_REQUEST_STARTED
D/ConnectivityServiceHSM( 879): Actual State: DefaultConnectivityState, Current State: DefaultConnectivityState . processMessage what=458752
D/MobileDataStateTracker( 879): mms: Broadcast received: android . intent . action . ANY_DATA_STATE apnType=mms
D/MobileDataStateTracker( 879): mms: Received state=CONNECTING, old=DISCONNECTED, reason=dataEnabled
D/MobileDataStateTracker( 879): mms: setDetailed state, old =IDLE and new state=CONNECTING
D/MobileDataStateTracker( 879): fota: Broadcast received: android . intent . action . ANY_DATA_STATE apnType=fota
D/MobileDataStateTracker( 879): fota: Received state=DISCONNECTED, old=DISCONNECTED, reason=dataEnabled
D/MobileDataStateTracker( 879): dun: Broadcast received: android . intent . action . ANY_DATA_STATE apnType=dun
D/MobileDataStateTracker( 879): dun: Received state=DISCONNECTED, old=DISCONNECTED, reason=dataEnabled
D/MobileDataStateTracker( 879): supl: Broadcast received: android . intent . action . ANY_DATA_STATE apnType=supl
D/MobileDataStateTracker( 879): supl: Received state=DISCONNECTED, old=DISCONNECTED, reason=dataEnabled
D/MobileDataStateTracker( 879): hipri: Broadcast received: android . intent . action . ANY_DATA_STATE apnType=hipri
D/MobileDataStateTracker( 879): hipri: Received state=DISCONNECTED, old=DISCONNECTED, reason=dataEnabled
D/MobileDataStateTracker( 879): ims: Broadcast received: android . intent . action . ANY_DATA_STATE apnType=ims
D/MobileDataStateTracker( 879): ims: Received state=DISCONNECTED, old=DISCONNECTED, reason=dataEnabled
D/MobileDataStateTracker( 879): cbs: Broadcast received: android . intent . action . ANY_DATA_STATE apnType=cbs
D/MobileDataStateTracker( 879): cbs: Received state=DISCONNECTED, old=DISCONNECTED, reason=dataEnabled
D/ConnectivityServiceHSM( 879): Actual State: DefaultConnectivityState, Current State: DefaultConnectivityState . processMessage what=458752
D/ConnectivityServiceHSM( 879): ConnectivityChange for mobile_mms: CONNECTED/CONNECTED
D/ConnectivityServiceHSM( 879): Actual State: DefaultConnectivityState, Current State: DefaultConnectivityState . processMessage what=5001
D/MobileDataStateTracker( 879): mms: Broadcast received: android . intent . action . ANY_DATA_STATE apnType=mms
D/MobileDataStateTracker( 879): mms: Received state=CONNECTED, old=CONNECTING, reason=dataEnabled
D/MobileDataStateTracker( 879): mms: setDetailed state, old =CONNECTING and new state=CONNECTED
V/ ( 270): RouteController
V/ ( 270): RouteController
V/ ( 270): RouteController
V/ ( 270): RouteController
V/ ( 270): RouteController
V/ ( 270): RouteController
V/ ( 270): RouteController
V/ ( 270): RouteController
D/ConnectivityServiceHSM( 879): Actual State: DefaultConnectivityState, Current State: DefaultConnectivityState . processMessage what=112
D/ConnectivityServiceHSM( 879): Actual State: DefaultConnectivityState, Current State: DefaultConnectivityState . processMessage what=112
D/Nat464Xlat( 879): requiresClat: netType=2, hasIPv4Address=true
D/MobileDataStateTracker( 879): default: setPolicyDataEnable(enabled=true)
W/NetworkPolicy( 879): shared quota unsupported; generating rule for each iface
D/ConnectivityServiceHSM( 879): Actual State: DefaultConnectivityState, Current State: DefaultConnectivityState . processMessage what=112
D/ConnectivityServiceHSM( 879): Actual State: DefaultConnectivityState, Current State: DefaultConnectivityState . processMessage what=112
D/MobileDataStateTracker( 879): default: setPolicyDataEnable(enabled=true)
D/Ulp_jni ( 879): Location CB invoked
D/ConnectivityServiceHSM( 879): Actual State: DefaultConnectivityState, Current State: DefaultConnectivityState . processMessage what=111
D/Tethering( 879): MasterInitialState . processMessage what=3
D/CaptivePortalTracker( 879): NoActiveNetworkState{ when=0 what=1 obj=NetworkInfo: type: mobile_mms[LTE], state: CONNECTED/CONNECTED, reason: dataEnabled, extra: tfdata, roaming: false, failover: false, isAvailable: true, isConnectedToProvisioningNetwork: false target=com . android . internal . util . StateMachine$SmHandler }
D/CaptivePortalTracker( 879): NoActiveNetworkState not a wifi connectivity change, ignore
W/MmsRadio(26264): Got connectivity change . . .
W/MmsRadio(26264): Connected: NetworkInfo: type: mobile_mms[LTE], state: CONNECTED/CONNECTED, reason: dataEnabled, extra: tfdata, roaming: false, failover: false, isAvailable: true, isConnectedToProvisioningNetwork: false
W/MmsRadio(26264): Notifying connected . . .
W/MmsRadio(26264): Connected: NetworkInfo: type: mobile_mms[LTE], state: CONNECTED/CONNECTED, reason: dataEnabled, extra: tfdata, roaming: false, failover: false, isAvailable: true, isConnectedToProvisioningNetwork: false
W/MmsDownloadJob(26264): Downloading in MMS mode with proxy . . .
W/MmsCommunication(26264): Getting MMSC params for apn tfdata
W/TelephonyUtil(26264): Choosing MCC+MNC info from TelephonyManager . getSimOperator()
W/ApnDatabase(26264): Querying table for MCC+MNC 310410 and APN name tfdata
W/ApnDatabase(26264): Returning preferred APN Apn{ mmsc: "http : //mms-tf . net", proxy: "mms3 . tracfone . com", port: 80 }
D/TelephonyProvider( 1416): Column apn id key is 'apn_id'
I/AmazonVideo . connectivity( 4236): NetworkConnectionManager$ConnectivityChangeReceiver . onReceive: Received CONNECTIVITY_ACTION intent . Refreshing network info .
W/ContextImpl(10518): Calling a method in the system process without a qualified user: android . app . ContextImpl . startService:1512 android . content . ContextWrapper . startService:494 android . content . ContextWrapper . startService:494 com . sonymobile . enterprise . service . RoamingReceiver . onReceive:58 android . app . ActivityThread . handleReceiver:2469
D/TelephonyProvider( 1416): Column apn id key is 'apn_id'
I/ActivityManager( 879): Start proc com . sonymobile . podcast for broadcast com . sonymobile . podcast/ . feed . PodcastBroadcastReceiver: pid=16061 uid=10074 gids={50074, 3003, 1028, 1015, 1023}
D/dalvikvm( 274): GC_EXPLICIT freed 43K, 5% free 24059K/25240K, paused 4ms+2ms, total 24ms
W/MmsCommunication(26264): Checking route to address: mms3 . tracfone . com, 66 . 209 . 11 . 33
W/MmsCommunication(26264): requestRouteToHost result: true
W/IncomingMmsConnection(26264): got successful route to host mms3 . tracfone . com
W/MmsCommunication(26264): connecting to http : //198 . 228 . 238 . 80:8009/1205052709700020000030000 using proxy
D/QcConnectivityService( 879): requestRouteToHostAddress ok=true
I/MusicLeanback(10295): Conditions not met for autocaching .
I/MusicLeanback(10295): Stop autocaching .
D/GCM ( 1704): GcmService start Intent { act=android . net . conn . CONNECTIVITY_CHANGE flg=0x4000010 cmp=com . google . android . gms/ . gcm . GcmService (has extras) } android . net . conn . CONNECTIVITY_CHANGE
D/ConnectivityServiceHSM( 879): Actual State: DefaultConnectivityState, Current State: DefaultConnectivityState . processMessage what=104
D/ConnectivityServiceHSM( 879): Actual State: DefaultConnectivityState, Current State: DefaultConnectivityState . processMessage what=5006
I/iu . Environment( 1611): update connectivity state; isNetworkMetered? true, isRoaming? false, isBackgroundDataAllowed? true
D/ConnectivityReceiverDelegate( 4236): action: android . net . conn . CONNECTIVITY_CHANGE connected: true
D/dalvikvm(15851): GC_FOR_ALLOC freed 1315K, 8% free 26639K/28944K, paused 30ms, total 30ms
I/wpa_supplicant( 1163): wlan0: CTRL-EVENT-SCAN-STARTED
D/ConnectivityServiceHSM( 879): Actual State: DefaultConnectivityState, Current State: DefaultConnectivityState . processMessage what=105
D/ConnectivityServiceHSM( 879): Actual State: DefaultConnectivityState, Current State: DefaultConnectivityState . processMessage what=5007
D/QcConnectivityService( 879): handleInetConditionHoldEnd: net=0, condition=100, published condition=100
D/LocationFilter( 1749): Location jumpped by 5 . 125801639673951m . Will ignore change=true
W/ContextImpl(16061): Implicit intents with startService are not safe: Intent { act=com . google . android . gms . analytics . service . START (has extras) } android . content . ContextWrapper . bindService:517 com . google . analytics . tracking . android . AnalyticsGmsCoreClient . connect:82 com . google . analytics . tracking . android . GAServiceProxy . connectToService:279
I/GAV2 (16061): Thread[GAThread,5,main]: No campaign data found .
D/Ulp_jni ( 879): Location CB invoked
W/MmsCommunication(26264): * response code: HTTP/1 . 1 504 Gateway Time-out
W/IncomingMmsConnection(26264): java . io . IOException: unhandled response code
W/IncomingMmsConnection(26264): at org . thoughtcrime . securesms . mms . MmsConnection . makeRequest(MmsConnection . java:149)
W/IncomingMmsConnection(26264): at org . thoughtcrime . securesms . mms . IncomingMmsConnection . retrieve(IncomingMmsConnection . java:73)
W/IncomingMmsConnection(26264): at org . thoughtcrime . securesms . jobs . MmsDownloadJob . retrieveAndStore(MmsDownloadJob . java:197)
W/IncomingMmsConnection(26264): at org . thoughtcrime . securesms . jobs . MmsDownloadJob . onRun(MmsDownloadJob . java:116)
W/IncomingMmsConnection(26264): at org . thoughtcrime . securesms . jobs . MasterSecretJob . onRun(MasterSecretJob . java:18)
W/IncomingMmsConnection(26264): at org . whispersystems . jobqueue . JobConsumer . runJob(JobConsumer . java:72)
W/IncomingMmsConnection(26264): at org . whispersystems . jobqueue . JobConsumer . run(JobConsumer . java:46)
W/MmsDownloadJob(26264): java . io . IOException: Connection manager could not obtain route to host .
W/MmsDownloadJob(26264): at org . thoughtcrime . securesms . mms . IncomingMmsConnection . retrieve(IncomingMmsConnection . java:80)
W/MmsDownloadJob(26264): at org . thoughtcrime . securesms . jobs . MmsDownloadJob . retrieveAndStore(MmsDownloadJob . java:197)
W/MmsDownloadJob(26264): at org . thoughtcrime . securesms . jobs . MmsDownloadJob . onRun(MmsDownloadJob . java:116)
W/MmsDownloadJob(26264): at org . thoughtcrime . securesms . jobs . MasterSecretJob . onRun(MasterSecretJob . java:18)
W/MmsDownloadJob(26264): at org . whispersystems . jobqueue . JobConsumer . runJob(JobConsumer . java:72)
W/MmsDownloadJob(26264): at org . whispersystems . jobqueue . JobConsumer . run(JobConsumer . java:46)

Here are the debug logs of the native messaging app

D/GCM ( 1704): GcmService start Intent { act=android . net . conn . CONNECTIVITY_CHANGE flg=0x4000010 cmp=com . google . android . gms/ . gcm . GcmService (has extras) } android . net . conn . CONNECTIVITY_CHANGE
D/ConnectivityServiceHSM( 879): Actual State: DefaultConnectivityState, Current State: DefaultConnectivityState . processMessage what=104
D/ConnectivityServiceHSM( 879): Actual State: DefaultConnectivityState, Current State: DefaultConnectivityState . processMessage what=5006
I/iu . Environment( 1611): update connectivity state; isNetworkMetered? true, isRoaming? false, isBackgroundDataAllowed? true
D/ConnectivityReceiverDelegate( 4236): action: android . net . conn . CONNECTIVITY_CHANGE connected: true
W/MmsListener(26264): Got MMS broadcast . . . android . provider . Telephony . WAP_PUSH_RECEIVED
W/PduParser(26264): parse() called . . .
W/PduParser(26264): Message Type: 130
D/TransactionService(17861): beginMmsConnectivity
V/TransactionService(17861): beginMmsConnectivity: result=1
D/QcConnectivityService( 879): startUsingNetworkFeature reconnecting to 0: enableMMS
D/QcConnectivityService( 879): startUsingNetworkFeature X: return APN_REQUEST_STARTED
D/ConnectivityServiceHSM( 879): Actual State: DefaultConnectivityState, Current State: DefaultConnectivityState . processMessage what=458752
D/MobileDataStateTracker( 879): mms: Broadcast received: android . intent . action . ANY_DATA_STATE apnType=mms
D/MobileDataStateTracker( 879): mms: Received state=CONNECTING, old=DISCONNECTED, reason=dataEnabled
D/MobileDataStateTracker( 879): mms: setDetailed state, old =IDLE and new state=CONNECTING
D/MobileDataStateTracker( 879): fota: Broadcast received: android . intent . action . ANY_DATA_STATE apnType=fota
D/MobileDataStateTracker( 879): fota: Received state=DISCONNECTED, old=DISCONNECTED, reason=dataEnabled
D/MobileDataStateTracker( 879): dun: Broadcast received: android . intent . action . ANY_DATA_STATE apnType=dun
D/MobileDataStateTracker( 879): dun: Received state=DISCONNECTED, old=DISCONNECTED, reason=dataEnabled
D/MobileDataStateTracker( 879): supl: Broadcast received: android . intent . action . ANY_DATA_STATE apnType=supl
D/MobileDataStateTracker( 879): supl: Received state=DISCONNECTED, old=DISCONNECTED, reason=dataEnabled
D/MobileDataStateTracker( 879): hipri: Broadcast received: android . intent . action . ANY_DATA_STATE apnType=hipri
D/MobileDataStateTracker( 879): hipri: Received state=DISCONNECTED, old=DISCONNECTED, reason=dataEnabled
D/MobileDataStateTracker( 879): ims: Broadcast received: android . intent . action . ANY_DATA_STATE apnType=ims
D/MobileDataStateTracker( 879): ims: Received state=DISCONNECTED, old=DISCONNECTED, reason=dataEnabled
D/MobileDataStateTracker( 879): cbs: Broadcast received: android . intent . action . ANY_DATA_STATE apnType=cbs
D/MobileDataStateTracker( 879): cbs: Received state=DISCONNECTED, old=DISCONNECTED, reason=dataEnabled
D/MobileDataStateTracker( 879): mms: Broadcast received: android . intent . action . ANY_DATA_STATE apnType=mms
D/ConnectivityServiceHSM( 879): Actual State: DefaultConnectivityState, Current State: DefaultConnectivityState . processMessage what=458752
D/ConnectivityServiceHSM( 879): ConnectivityChange for mobile_mms: CONNECTED/CONNECTED
D/ConnectivityServiceHSM( 879): Actual State: DefaultConnectivityState, Current State: DefaultConnectivityState . processMessage what=5001
D/MobileDataStateTracker( 879): mms: Received state=CONNECTED, old=CONNECTING, reason=dataEnabled
D/MobileDataStateTracker( 879): mms: setDetailed state, old =CONNECTING and new state=CONNECTED
V/ ( 270): RouteController
V/ ( 270): RouteController
V/ ( 270): RouteController
V/ ( 270): RouteController
V/ ( 270): RouteController
V/ ( 270): RouteController
V/ ( 270): RouteController
V/ ( 270): RouteController
D/Nat464Xlat( 879): requiresClat: netType=2, hasIPv4Address=true
D/ConnectivityServiceHSM( 879): Actual State: DefaultConnectivityState, Current State: DefaultConnectivityState . processMessage what=112
D/ConnectivityServiceHSM( 879): Actual State: DefaultConnectivityState, Current State: DefaultConnectivityState . processMessage what=112
D/MobileDataStateTracker( 879): default: setPolicyDataEnable(enabled=true)
W/NetworkPolicy( 879): shared quota unsupported; generating rule for each iface

and just for completeness here are my apn settings

Name: STRAIGHT_TALK
APN: tfdata
Proxy: proxy . mvno . tracfone . com
Port: 80
MMSC: http : //mms-tf . net
MMS proxy: mms3 . tracfone . com
MMS port: 80
MCC: 310
MNC: 410
APN type: default,mms,supl
APN protocol: IPv4
APN roaming protocol: IPv4

anything not listed is unset.

the field for proxy was one that was provided from their customer support.