Problems Sending/Receiving MMS and Group Messages

I was fascinated by @tcecyk link to the Gitlab source code for apns-conf.xml, with some 3,800 and more entries. I realised eventually I had thrown a red herring, I edited my “old story” above, they could not have said that MMS would use my wifi, they would have said it used another internet connection.

I tried to grab the same info off my phone with some variation of

# content query --uri content://telephony/carriers

This required root and adb shell and I found some help with

$ adb shell content --help

But I could not extract what I wanted in an efficient way at first so will not include further detail. Edit, updated Post #16

As we have many with MMS difficulties my hypothesis is that MMS may not be carried by your carrier’s default APN settings. If you do not have MMS APN settings, I believe it is your carrier’s job to provide or send them on request.

Here’s what I have. I know my carrier already sent me his MMS APN setting, and this was confirmed by the image above.

Now let’s look at the MMS section of the two settings.

Meanwhile I searched the Gitlab sources and found my two tariffs.

Vodafone Pre Pay

<apn carrier="Vodafone Pre Pay"
mcc="234" mnc="15"
apn="pp.vodafone.co.uk" proxy="" port=""
user="wap" password="wap"

mmsc=""
type="default,supl" />

Vodafone Pre Pay MMS

<apn carrier="Vodafone Pre Pay MMS"
mcc="234" mnc="15"
apn="pp.vodafone.co.uk" proxy="" port=""
user="wap" password="wap"

mmsc="http://mms.vodafone.co.uk/servlets/mms"
mmsproxy="212.183.137.12" mmsport="8799"
type="mms" />

Finally this is what I extracted from the device.


Row: 492 _id=493,
name=Vodafone Pre Pay,
numeric=23415, mcc=234, mnc=15, carrier_id=-1, apn=pp.vodafone.co.uk,
user=wap, server=, password=wap, proxy=, port=,
mmsproxy=, mmsport=, mmsc=,

authtype=-1, type=default,supl,
current=1, protocol=IP, roaming_protocol=IP, carrier_enabled=1,
bearer=0, bearer_bitmask=0, network_type_bitmask=0, mvno_type=,
mvno_match_data=, sub_id=-1, profile_id=0, modem_cognitive=0,
max_conns=0, wait_time=0, max_conns_time=0, mtu=0, edited=0,
user_visible=1, user_editable=1, owned_by=1, apn_set_id=0, skip_464xlat=-1

and

Row: 496 _id=497,
name=Vodafone Pre Pay MMS,
numeric=23415, mcc=234, mnc=15, carrier_id=-1, apn=pp.vodafone.co.uk,
user=wap, server=, password=wap, proxy=, port=,
mmsproxy=212.183.137.12, mmsport=8799, mmsc=http://mms.vodafone.co.uk/servlets/mms,

authtype=-1, type=mms,default,supl,
current=1, protocol=IP, roaming_protocol=IP, carrier_enabled=1,
bearer=0, bearer_bitmask=0, network_type_bitmask=0, mvno_type=,
mvno_match_data=, sub_id=-1, profile_id=0, modem_cognitive=0,
max_conns=0, wait_time=0, max_conns_time=0, mtu=0, edited=0,
user_visible=1, user_editable=1, owned_by=1, apn_set_id=0, skip_464xlat=-1

Working conclusion, if looking at the graphical APN settings, you are seeing MMSC = Not set - you need to ask your carrier to supply the settings.

1 Like

For my carrier (which recently switched to a new style of SIM card, apparently to accommodate 5G capability), the MMS settings are incorporated into the main APN settings. In the case of their old-style SIMs, they were also part of the main APN settings, but their troubleshooting guide recommended an alternate setting if MMS was not working. In that case, two APNs were used, a main APN with the MMS settings removed, and an additional APN for MMS only. The phone would automatically choose whichever APN was appropriate for the function. This doesn’t work with the new SIMs, apparently.

It’s interesting that the Gitlab entry for my carrier is significantly different from what Ting now supplies, and which works on my phone. I haven’t tried the Gitlab settings, since I suspect they are outdated for Ting.

In any case, I think I can safely say that my particular issue is related to DNS, as MMS only works when I’m using Network DNS. Unfortunately.

Thanks for the fuller explanation of why your situation is special. I did rather think that I had gone off your topic! :blush:

I’m wondering if there’s a way to direct MMS to Network DNS, while keeping everything else on Preferred/Private DNS…

Probably not, I expect.

P.S. My internet connectivity always works, regardless of the DNS setting, so that’s not a concern. By the way, the Gitlab settings don’t even match the previous Ting settings, so I don’t know where those come from. https://help.ting.com/hc/en-us/articles/205428698-APN-setup-guide

I don’t know where those come from

if you click git blame in the upper right, the commit message of the respective line applying to your SIM can give insight. “Ting Data” is present, you can also search for the mmc+mnc numbers via [mcc="310" mnc="260"] (without the brackets).

What is adb shell getprop gsm.operator.numeric saying btw? (its mmc+mnc combined, no separator)

If its 310260 instead of 310240 (your help page has them as X1/X3 type SIMs, see the mnc difference), then your custom entry does not get applied, and too the Lineage and /e/ entries are outdated/incomplete to the current carrier specs.

1 Like

In the morning light, I see my syntax error(s)!

Now for Ting from 0.19-q-20211027142973-dev-a3xelte

content query --uri content://telephony/carriers --where "numeric='310240'"
Row: 0 _id=1202, name=Ting Data, numeric=310240, mcc=310, mnc=240, carrier_id=-1, apn=wireless.dish.com, user=, server=, password=, proxy=, port=, mmsproxy=, mmsport=, mmsc=http://wholesale.mmsmvno.com/mms/wapenc, authtype=-1, type=default,admin,fota,mms,supl,hipri,internet,dun, current=NULL, protocol=IPV4V6, roaming_protocol=IPV4V6, carrier_enabled=1, bearer=0, bearer_bitmask=0, network_type_bitmask=0, mvno_type=, mvno_match_data=, sub_id=-1, profile_id=0, modem_cognitive=0, max_conns=0, wait_time=0, max_conns_time=0, mtu=0, edited=0, user_visible=1, user_editable=1, owned_by=1, apn_set_id=0, skip_464xlat=-1

A second numeric I see used, 310260 produces 27 results, two include Ting.

content query --uri content://telephony/carriers --where "numeric='310260'"
Row: 11 _id=1214, name=Ting MMS, numeric=310260, mcc=310, mnc=260, carrier_id=-1, apn=wholesale, user=, server=, password=, proxy=, port=, mmsproxy=, mmsport=, mmsc=http://wholesale.mmsmvno.com/mms/wapenc, authtype=-1, type=default,mms,supl,admin, current=NULL, protocol=IP, roaming_protocol=IP, carrier_enabled=1, bearer=0, bearer_bitmask=0, network_type_bitmask=0, mvno_type=, mvno_match_data=, sub_id=-1, profile_id=0, modem_cognitive=0, max_conns=0, wait_time=0, max_conns_time=0, mtu=0, edited=0, user_visible=1, user_editable=1, owned_by=1, apn_set_id=0, skip_464xlat=-1
Row: 25 _id=1228, name=Ting Data, numeric=310260, mcc=310, mnc=260, carrier_id=-1, apn=wholesale, user=, server=, password=, proxy=, port=, mmsproxy=, mmsport=, mmsc=, authtype=-1, type=default,admin,fota,mms,supl,hipri,internet,dun, current=NULL, protocol=IPV6, roaming_protocol=IPV6, carrier_enabled=1, bearer=0, bearer_bitmask=0, network_type_bitmask=0, mvno_type=, mvno_match_data=, sub_id=-1, profile_id=0, modem_cognitive=0, max_conns=0, wait_time=0, max_conns_time=0, mtu=0, edited=0, user_visible=1, user_editable=1, owned_by=1, apn_set_id=0, skip_464xlat=-1

So that shows separate APNs: Ting Data and Ting MMS, but the one for Ting Data doesn’t remove the MMS settings (and it should, since the Ting MMS APN would cover for MMS, at least, according to Ting’s old troubleshooting guide).

By the way, a Ting rep told me there are no alternate settings with the new X3 SIM. (Which is the combined “Ting Data” APN, with MMS and all.)

So, just to check, are you in Germany?

My numbers come from my phone in the UK. What I extract from my device is not a carbon copy of the source apns-conf.xml. Maybe the install, re-writes the file to suit? This is supported by the fact that the source apns-conf.xml. has 5 hits for Ting.

You probably don’t want to come to conclusions on my secondhand data, but if my hypothesis were correct, neither a plan in Row: 0 or Row: 25, “Ting Data” would transmit MMS as I know it with an empty

mmsc=,

field. Only (on my device here) Ting MMS would be suitable.

My memory is that you are not in Germany, so perhaps you have to completely disregard my data.

I’m in the U.S.; Ting is a U.S. MVNO on T-mobile USA’s network. :slight_smile:

Quite possible.

can you disclose what your SIM really has as mnc value? (last digits of that numeric key)

Sure. … It is “240.”

thanks for mnc clarification. The Lineage+/e/ apn entries are aligned with what the Ting APN docs propose, or am I missing something?

What private DNS do you use when the setting is active? ipv4 or hostname (the latter is a good idea btw)?

I made a sanity check with my own carrier (Vodafone DE), enabled private DNS + mms sending, it was possible.

If you want to dig deeper, enabling adb root in the devoptions and installing tcpdump to see which packets go unanswered on the enabled private DNS will maybe give a hint

When compared to @aibd’s extraction above, yes (although it also shows a separate MMS APN, which is no longer valid for Ting’s new X3 SIM, if I understand).

When compared to the Gitlab link you posted, no.

I’m on .018-q unofficial for XZ1 Compact, so I’m not sure which APN settings are built in. I do recall that I originally had to create the Ting Data APN manually in order to get internet connectivity, though.

I was using “9.9.9.9” as the preferred DNS resolver, and had data, but no MMS.

Must depend on carrier plan, cause i can’t see the switch, even with data off and wifi connected
in France using Sosh provider ( owned by Orange ) my revokable plan include voice calls & SMS/MMS unlimited, data LTE/4g speed reduced after 70go/month = 25€ + 5€ ( for a second SIM, that use the same call number as the first one for voice calls, but a different call number for SMS/MMS ). using Orange network and Orange APN

No, I think you have to exclude my three European (German) options.

Say we assume the other two of five in the source might be USA, let’s drop in those two (from the source apns-conf.xml), and you have mnc=240, #2 has it - or not? If the source is not up to date, well, Ting’s job again: APN และ CarrierConfig  |  Android Open Source Project.

<apn carrier="Ting" mcc="310" mnc="120" apn="n.t8.ispsn"
type="default,supl,mms"
mmsc="http://mms.plspictures.com" mmsproxy="68.28.31.7" mmsport="80"
protocol="IPV4V6" roaming_protocol="IPV4V6" />

<apn carrier="Ting Data" mcc="310" mnc="240" apn="wireless.dish.com"
mmsc="http://wholesale.mmsmvno.com/mms/wapenc"
protocol="IPV4V6" roaming_protocol="IPV4V6" type="default,admin,fota,mms,supl,hipri,internet,dun"

Thanks, or your (…) device?

I can’t remembrer details off my fisrt s7edge device
Mostly experienced on relatively ancient devices :
Samsung Galaxy s4mini, s4, s5mini, s5,
android 7, 9, 10, 11

You’ve lost me there. Ting is a U.S. MVNO. (And you posted the Ting info in your extraction.)

Well I am sorry, I did not mean to deceive you! I was really demonstrating the method I used to extract some data from my device. Still partly in answer to

… well with global modifications perhaps?

I thought Ting was a USA outfit too, I extracted

numeric='310260'

from [mcc=“310” mnc=“260”] quoted,

and so on … then found Ting has a German footprint, but not a USA one on my device.

Thanks for the clarification. I think I understand what you’re saying, although I don’t have any experience with adb.

I suspect it’s because Ting is one of the few U.S. MVNOs that has international roaming agreements.

BTW, I said earlier that Ting runs on T-mobile USA’s network, but they also use Verizon’s network for customers that don’t have good T-mobile coverage at their home. I don’t know which APN settings are in effect in that case. Possibly the same as the published X3 settings. I wonder if that could also be reflected in the source APN file…? (But that’s neither here nor there, really.)