Every attempt to retrieve the MMS results in a 503 (AT&T USA) - manually curl'ing works
Summary
Each attempt to retrieve an MMS (group, image, etc) results in a 503 http status code being returned. However, I can manually curl the URL via the AT&T proxy on the wwan interface, and it results in a normal 200 OK status code, and I get all the data as exected. The 503 only occurs with using mmsd-tng. Using v1.7.
Steps to reproduce
Be on the USA AT&T network, and attempt to retrieve an MMS. The relevant MMS config settings: CarrierMMSC=http://mmsc.mobile.att.net MMS_APN=NXTGENPHONE CarrierMMSProxy=proxy.mobile.att.net
What is the current bug behavior?
"Fail to get data (http status = 503)"
What is the expected correct behavior?
200 OK
Relevant logs and/or screenshots
Example log entry:
Jan 27 13:57:01 mobian mmsdtng[9695]: ../plugins/modemmanager.c:cb_dbus_signal_sms_added() Got new SMS
Jan 27 13:57:01 mobian mmsdtng[9695]: ../plugins/modemmanager.c:cb_sms_state_change() cb_sms_state_change: state received
Jan 27 13:57:01 mobian mmsdtng[9695]: ../plugins/modemmanager.c:mmsd_process_sms() Received SMS WAP!
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:mms_service_push_notify() Processing push notify
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:mms_push_notify() pdu 0x55a4ae3d20 len 177
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:mms_push_notify() 2D06226170706C69636174696F6E2F766E642E7761702E6D6D732D6D65737361676500AF848C8298414C4C423032303130313237313935363539323232303031303030303830303030008D918918802B31393230333731343139322F545950453D504C4D4E009602EA0086818A808E0280008805810303F48083687474703A2F2F3130372E3232352E39372E3134383A383030332F592F3031323731393536353932323230303130303030383030303000
Jan 27 13:57:01 mobian mmsdtng[9695]: Body Length: 140
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:mms_push_notify() Content Type: application/vnd.wap.mms-message
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/store.c:mms_store() pathname /home/username/.mms/modemmanager/d66646c913684142f918ff613f2e0ea0bdfb
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_message_decode() about to check well known
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_message_decode() about to extract short
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_message_decode() octet 130
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_message_decode() MMS_MESSAGE_TYPE_NOTIFICATION_IND
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() saw header of type 0x18
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() running handler for type 0x18
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:decode_text() claimed len: 34
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:decode_text() val: ALLB0201(MASKING MESSAGE ID)
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() handler for type 0x18 was success
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() saw header of type 0x0D
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() running handler for type 0x0D
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() handler for type 0x0D was success
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() saw header of type 0x09
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() running handler for type 0x09
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:extract_from() Successfully decoded text!
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() handler for type 0x09 was success
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() saw header of type 0x16
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() running handler for type 0x16
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() handler for type 0x16 was success
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() saw header of type 0x06
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() saw header of type 0x0A
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() running handler for type 0x0A
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() handler for type 0x0A was success
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() saw header of type 0x0E
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() running handler for type 0x0E
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() handler for type 0x0E was success
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() saw header of type 0x08
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() running handler for type 0x08
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() handler for type 0x08 was success
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() saw header of type 0x03
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() running handler for type 0x03
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:decode_text() claimed len: 55
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:decode_text() val: http://107.225.97.148:8003/Y/(MASKING MESSAGE ID)
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/mmsutil.c:mms_parse_headers() handler for type 0x03 was success
Jan 27 13:57:01 mobian mmsdtng[9695]: MMS transaction id: ALLB0201(MASKING MESSAGE ID)
Jan 27 13:57:01 mobian mmsdtng[9695]: MMS version: 1.1
Jan 27 13:57:01 mobian mmsdtng[9695]: Subject:
Jan 27 13:57:01 mobian mmsdtng[9695]: Class: Personal
Jan 27 13:57:01 mobian mmsdtng[9695]: Size: 32768
Jan 27 13:57:01 mobian mmsdtng[9695]: Expiry: 2022-01-30T13:57:01-0600
Jan 27 13:57:01 mobian mmsdtng[9695]: Location: http://107.225.97.148:8003/Y/(MASKING MESSAGE ID)
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:time_to_str() Time 1643572621, Human Format 2022-01-30T13:57:01-0600
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:activate_bearer() service 0x55a4af23d0 setup 0 active 0
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:activate_bearer() service 0x55a4af23d0 waiting for 20 seconds
Jan 27 13:57:01 mobian mmsdtng[9695]: ../plugins/modemmanager.c:set_context() Setting Context...
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:mms_service_set_mmsc() service 0x55a4af23d0 mmsc http://mmsc.mobile.att.net
Jan 27 13:57:01 mobian mmsdtng[9695]: ../plugins/modemmanager.c:set_context() Max number of bearers: 1
Jan 27 13:57:01 mobian mmsdtng[9695]: ../plugins/modemmanager.c:set_context() Current Context APN: NXTGENPHONE, mmsd-tng settings MMS APN: NXTGENPHONE
Jan 27 13:57:01 mobian mmsdtng[9695]: ../plugins/modemmanager.c:set_context() You are connected to the correct APN! Enabling context...
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:mms_service_set_apn() Service APN Set to NXTGENPHONE
Jan 27 13:57:01 mobian mmsdtng[9695]: ../plugins/modemmanager.c:set_context() Current Context APN: NXTGENPHONE, mmsd-tng settings MMS APN: NXTGENPHONE
Jan 27 13:57:01 mobian mmsdtng[9695]: ../plugins/modemmanager.c:set_context() Current Context APN: NXTGENPHONE, mmsd-tng settings MMS APN: NXTGENPHONE
Jan 27 13:57:01 mobian mmsdtng[9695]: ../plugins/modemmanager.c:bearer_handler() At Bearer Handler: path /org/freedesktop/ModemManager1/Modem/3 active 1 context_active 1
Jan 27 13:57:01 mobian mmsdtng[9695]: ../plugins/modemmanager.c:bearer_handler() active and context_active, bearer_notify
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:mms_service_bearer_notify() service=0x55a4af23d0 active=1 iface=wwan0 proxy=proxy.mobile.att.net
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:mms_service_bearer_notify() interface wwan0 proxy proxy.mobile.att.net
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:mms_service_bearer_notify() Hostname is not an IP address!
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:resolve_host() No active proxy
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:resolve_host_ares() resolve_host_ares
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:resolve_host_ares() Binding resolver queries to interface wwan0
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:resolve_host_ares() All Nameservers: dead::1,<personal DNS>,172.26.38.1
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:resolve_host_ares() IPv6 Nameservers: dead::1
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:resolve_host_ares() Only using ipv6 nameservers
Jan 27 13:57:01 mobian mmsdtng[9695]: Failed to resolve host: Could not contact DNS servers
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:resolve_host_ares() Unable to resolve host to IPv6, retrying with IPv4...
Jan 27 13:57:01 mobian mmsdtng[9695]: ../src/service.c:resolve_host_ares() Restoring original list of nameservers
Jan 27 13:57:06 mobian mmsdtng[9695]: ../src/service.c:resolve_callback() Found IP for 'proxy.mobile.att.net': 172.26.39.1
Jan 27 13:57:06 mobian mmsdtng[9695]: ../src/service.c:resolve_host() Using URI for request: http://172.26.39.1/
Jan 27 13:57:06 mobian mmsdtng[9695]: ../src/service.c:mms_service_bearer_notify() Proxy URL resolved: http://172.26.39.1/
Jan 27 13:57:06 mobian mmsdtng[9695]: ../src/service.c:mms_service_bearer_notify() Proxy URL: http://172.26.39.1/
Jan 27 13:57:06 mobian mmsdtng[9695]: ../src/service.c:mms_service_bearer_notify() Proxy is set to 1
Jan 27 13:57:06 mobian mmsdtng[9695]: ../src/service.c:process_request_queue() service 0x55a4af23d0
Jan 27 13:57:06 mobian mmsdtng[9695]: ../src/service.c:process_request_queue() location http://107.225.97.148:8003/Y/(MASKING MESSAGE ID)
Jan 27 13:57:06 mobian mmsdtng[9695]: ../src/service.c:resolve_host() There is an active proxy! Not attempting to resolve host
Jan 27 13:57:06 mobian mmsdtng[9695]: ../src/service.c:resolve_host() Using URI for request: http://107.225.97.148:8003/Y/(MASKING MESSAGE ID)
Jan 27 13:57:06 mobian mmsdtng[9695]: _g_io_module_get_default: Found default implementation gnutls (GTlsBackendGnutls) for ‘gio-tls-backend’
Jan 27 13:57:06 mobian mmsdtng[9695]: _g_io_module_get_default: Found default implementation dconf (DConfSettingsBackend) for ‘gsettings-backend’
Jan 27 13:57:06 mobian mmsdtng[9695]: watch_fast: "/system/proxy/" (establishing: 0, active: 0)
Jan 27 13:57:06 mobian mmsdtng[9695]: watch_fast: "/system/proxy/http/" (establishing: 0, active: 0)
Jan 27 13:57:06 mobian mmsdtng[9695]: watch_fast: "/system/proxy/https/" (establishing: 0, active: 0)
Jan 27 13:57:06 mobian mmsdtng[9695]: watch_fast: "/system/proxy/ftp/" (establishing: 0, active: 0)
Jan 27 13:57:06 mobian mmsdtng[9695]: watch_fast: "/system/proxy/socks/" (establishing: 0, active: 0)
Jan 27 13:57:06 mobian mmsdtng[9695]: _g_io_module_get_default: Found default implementation gnome (GProxyResolverGnome) for ‘gio-proxy-resolver’
Jan 27 13:57:06 mobian mmsdtng[9695]: GSocketClient: Starting new address enumeration
Jan 27 13:57:06 mobian mmsdtng[9695]: ../plugins/modemmanager.c:cb_sms_delete_finish() Message delete finish
Jan 27 13:57:06 mobian mmsdtng[9695]: watch_established: "/system/proxy/" (establishing: 1)
Jan 27 13:57:06 mobian mmsdtng[9695]: GSocketClient: Address enumeration succeeded
Jan 27 13:57:06 mobian mmsdtng[9695]: GSocketClient: Starting TCP connection attempt
Jan 27 13:57:06 mobian mmsdtng[9695]: ../src/service.c:soupmessage_network_event_cb() Socket 11 Binding to wwan0 length 5
Jan 27 13:57:06 mobian mmsdtng[9695]: ../src/service.c:soupmessage_network_event_cb() Socket is bound to wwan0
Jan 27 13:57:06 mobian mmsdtng[9695]: watch_established: "/system/proxy/http/" (establishing: 1)
Jan 27 13:57:06 mobian mmsdtng[9695]: watch_established: "/system/proxy/https/" (establishing: 1)
Jan 27 13:57:06 mobian mmsdtng[9695]: watch_established: "/system/proxy/ftp/" (establishing: 1)
Jan 27 13:57:06 mobian mmsdtng[9695]: watch_established: "/system/proxy/socks/" (establishing: 1)
Jan 27 13:57:06 mobian mmsdtng[9695]: GSocketClient: TCP connection successful
Jan 27 13:57:06 mobian mmsdtng[9695]: GSocketClient: Starting application layer connection
Jan 27 13:57:06 mobian mmsdtng[9695]: GSocketClient: Connection successful!
Jan 27 13:57:25 mobian mmsdtng[9695]: ../src/service.c:response_got_chunk() Got chunk: 3621
Jan 27 13:57:25 mobian mmsdtng[9695]: Fail to get data (http status = 503)
Jan 27 13:57:25 mobian mmsdtng[9695]: ../src/service.c:on_message_done() status: 503
Jan 27 13:57:25 mobian mmsdtng[9695]: ../src/service.c:on_message_done() data size = 3621
Jan 27 13:57:25 mobian mmsdtng[9695]: ../src/service.c:on_message_done() request->result_cb=0x557951f9a0 vs. retrieve_conf=0x557951f9a0/send_conf=0x557951a050/notify_resp=0x557951cc84
Jan 27 13:57:25 mobian mmsdtng[9695]: Fail to get data (http status = 503)
Jan 27 13:57:25 mobian mmsdtng[9695]: ../src/service.c:on_message_done() On attempt 1
Jan 27 13:57:25 mobian mmsdtng[9695]: ../src/service.c:on_message_done() Requeued Message
## Possible fixes
I dont have a possible solution. But I suspect it has something to do with the way mmsd must pull the data, versus something like how curl does it. And for some reason that triggers the AT&T server into sending a 503.