[Android Q&A, Help & Troubleshooting] smartymcfly:
Hi, I am hoping someone can help me to get T-Mobile MMS working with a DNSqache an app by xda member tdhite that uses polipo as a proxy and caches DNS requests and allows you to select the DNS provider of your choice.

When DNSqache is activated it runs this script

run killall dnsqache

run rm -f "/data/data/com.tdhite.dnsqache/var/dnsqache.pid"

run "/data/data/com.tdhite.dnsqache/bin/dnsqache" "--conf-file=/data/data/com.tdhite.dnsqache/conf/dnsqache.conf"

setprop "dnsqache.status" running

run chmod 644 "/data/data/com.tdhite.dnsqache/var/dnsqache.log"

run iptables "-t" nat "-N" dnsqache

run iptables "-t" nat "-A" dnsqache "-p" tcp "--dport" "53" "--destination" "8.8.8.8" "-j" RETURN

run iptables "-t" nat "-A" dnsqache "-p" udp "--dport" "53" "--destination" "8.8.8.8" "-j" RETURN

run iptables "-t" nat "-A" dnsqache "-p" tcp "--dport" "53" "--destination" "8.8.4.4" "-j" RETURN

run iptables "-t" nat "-A" dnsqache "-p" udp "--dport" "53" "--destination" "8.8.4.4" "-j" RETURN

run "iptables -t nat -A dnsqache -p udp --dport 53 -j DNAT --to-destination 127.0.0.1:5353

run "iptables -t nat -A dnsqache -p tcp --dport 53 -j DNAT --to-destination 127.0.0.1:5353

run iptables "-t" nat "-I" OUTPUT "-j" dnsqache​

I posted following in the DNSqache thread but no luck yet.

OK if anyone who is knowledgeable can help it would be great.​

On T-Mobile when an MultiMediaMessage is sent or received it will not go through if the DNS has changed. I think it is because the IP is a private IP so the only dnsservers that can access it are tmobiles. I have sent MMS with a "network connections" app that shows what connection is made by app, android system etc....​

The DNS servers that are stock TMobile are​

dns1:10.177.0.34,dns2:10.176.83.140​

With the following APN​

APN for T-Mobile LTE

>fast.t-mobile.com

>MMSC:

>http://mms.msg.eng.t-mobile.com/mms/wapenc

>MMS proxy:

>blank

>MMS proxy port:

>blank​

When an MMS is sent from myself to myself with standard DNS settings.

Android system connects to 10.177.0.34

then Android system and Messaging app connect to one of a few IPS that are the same for both for each message the IP's were all on port 80 were 10.176.75.129 or 10.176.75.130 or 10.184.75.130 or 10.184.75.129. Then the message is received.​

I tried editing the APN to one one of the IP addresses above thinking that the phone might send the MMS if does not have to use a lookup service and connects directly to T-Mobile's IPs like this

>MMSC:

>10.176.75.129

>MMS proxy:

>blank

>MMS proxy port:

>blank​

Send the MMS and it goes through and in network connections it shows the same connections to the IPs as when the MMSC was a domain name.​

Then I attempt to send MMS with DNSqache activated with both Google and Opendnsservers selected it does not send the MMS and will not receive MMS.​

I also tried the APN with TMObile MMS PROXY set to 216.155.165.50 port 8080 and the MMS messages go through as long as DNSqache is not active the same as if the there was nothing in MMS proxy.​

With this information can does anyone know if there is something that can be done still get MMS working with DNSqache active. In DNSqache, with polipo proxy selected I entered all the IP addresses that MMS was connecting to and the mms proxy address and that also didn't work.​

Update/edit: In adaway I set a redirect for mms.msg.eng.t-mobile.com to 10.176.75.129. And When I send the message it sends it successfully, but doesn't receive it, when it would just create an error without the redirect.​

If I set DNSqache to use One Google and one T-Mobile DNS as the one of the DNS server with DNSqache it sends and receives the message. But what I want to do is just use Google or OpenDNS cache DNS without using T-mobiles except for the android messaging apps and possibly android system as this are the apps that make connections when sending/receiving MMS or possibly just when anything on any app that is coming from or going to *.t-mobile.com* uses T-mobiles DNS while the rest if the phone uses DNSqache.

Hopefully that covers everything but if you need a log from anything I can get it.