Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MMS with Multiple pictures fails to send (large PDU) silently. #228

Open
dngray opened this issue Oct 15, 2021 · 3 comments
Open

MMS with Multiple pictures fails to send (large PDU) silently. #228

dngray opened this issue Oct 15, 2021 · 3 comments
Labels

Comments

@dngray
Copy link

dngray commented Oct 15, 2021

Hi,

I noticed sending these two images worked, with the com.android.messaging but not com.simplemobiletools.smsmessenger. v5.10.2

c99nu03eeno71
e_ldttvkaelsi6.

Here's the logcat from com.simplemobiletools.smsmessenger

MmsServiceBroker: sendMessage() by com.simplemobiletools.smsmessenger
MmsService: sendMessage messageId: 0
MmsService: Current running=0, current subId=-1, pending=0
MmsService: Add request to running queue for subId 1
MmsService: [SendRequest@740908 messageId: 0] Executing...
MmsService: mms config for sub 1: Bundle[{httpSocketTimeout=60000, aliasMinChars=2, smsToMmsTextThreshold=-1, enableSMSDeliveryReports=true, maxMessageTextSize=-1, supportMmsContentDisposition=true, enabledTransID=false, aliasEnabled=false, supportHttpCharsetHeader=false, allowAttachAudio=true, smsToMmsTextLengthThreshold=-1, recipientLimit=2147483647, uaProfTagName=x-wap-profile, aliasMaxChars=48, maxImageHeight=480, enableMMSDeliveryReports=false, userAgent=, mmsCloseConnection=false, config_cellBroadcastAppLinks=true, maxSubjectLength=40, httpParams=, enableGroupMms=true, emailGatewayNumber=, maxMessageSize=307200, naiSuffix=, enableMMSReadReports=false, maxImageWidth=640, uaProfUrl=, enabledMMS=true, enabledNotifyWapMMSC=false, sendMultipartSmsAsSeparateMessages=false, enableMultipartSMS=true}]
MmsService: PDU read is too large
MmsService: [SendRequest@740908 messageId: 0] Failed to prepare for request
MmsService: [SendRequest@740908 messageId: 0] processResult: 5, httpStatusCode: success (0)
MmsService: [SendRequest@740908 messageId: 0] MMS failed with error: 5 httpStatus:0
MmsService: Schedule requests pending on SIM

Meanwhile with com.android.messaging everything seems fine:

MmsServiceBroker: sendMessage() by com.android.messaging
MmsService: sendMessage messageId: 0
MmsService: Current running=0, current subId=-1, pending=0
MmsService: Add request to running queue for subId 1
MessagingAppDataModel: SendMessageAction: Sending MMS message 23 asynchronously; waiting for callback to finish processing
MmsService: [SendRequest@a6aa00a messageId: 0] Executing...
MmsService: mms config for sub 1: Bundle[{httpSocketTimeout=60000, aliasMinChars=2, smsToMmsTextThreshold=-1, enableSMSDeliveryReports=true, maxMessageTextSize=-1, supportMmsContentDisposition=true, enabledTransID=false, aliasEnabled=false, supportHttpCharsetHeader=false, allowAttachAudio=true, smsToMmsTextLengthThreshold=-1, recipientLimit=2147483647, uaProfTagName=x-wap-profile, aliasMaxChars=48, maxImageHeight=480, enableMMSDeliveryReports=false, userAgent=, mmsCloseConnection=false, config_cellBroadcastAppLinks=true, maxSubjectLength=40, httpParams=, enableGroupMms=true, emailGatewayNumber=, maxMessageSize=307200, naiSuffix=, enableMMSReadReports=false, maxImageWidth=640, uaProfUrl=, enabledMMS=true, enabledNotifyWapMMSC=false, sendMultipartSmsAsSeparateMessages=false, enableMultipartSMS=true}]
MmsService: [SendRequest@a6aa00a messageId: 0] MmsNetworkManager: start new network request
MmsService: [SendRequest@a6aa00a messageId: 0] APN name is MMS
MmsService: [SendRequest@a6aa00a messageId: 0] Loading APN using name MMS
MmsService: [SendRequest@a6aa00a messageId: 0] Using APN [type=mms mmsc=http://mmsc.{{ censored }}:8002/ mmsproxy={{ censored }} mmsport=8070 name={{ censored }} MMS apn=MMS bearer_bitmask=0 protocol=IP roaming_protocol=IP authtype=-1]
MmsService: [SendRequest@a6aa00a messageId: 0] HTTP: POST http://mmsc.{{ censored }}[30], proxy={{ censored }}:8070, PDU size=139420
MmsService: [SendRequest@a6aa00a messageId: 0] HTTP: User-Agent=g020c
MmsService: [SendRequest@a6aa00a messageId: 0] HTTP: UaProfUrl=http://www.gstatic.com/android/sms/G020C.xml, UaProfUrlTagName=x-wap-profile
MmsService: [SendRequest@a6aa00a messageId: 0] HTTP: 200 OK
MmsService: [SendRequest@a6aa00a messageId: 0] HTTP: response size=67
MmsService: [SendRequest@a6aa00a messageId: 0] MmsNetworkManager: release, count=0
MmsService: [SendRequest@a6aa00a messageId: 0] processResult: -1, httpStatusCode: success (0)
MmsService: Schedule requests pending on SIM
ConnectivityService: NetReassign [no changes]
MessagingAppDataModel: ProcessSentMessageAction: Done sending MMS message 23 in conversation 6; status is SUCCEEDED
MessagingAppDataModel: ProcessPendingMessagesAction: Scheduling pending messages

I believe that if this is intentional (to provide compatibility with some carriers etc) then the messenger should tell the user the message was not sent.

@dngray
Copy link
Author

dngray commented Oct 15, 2021

Should be worth noting qksms also handles this properly.

MmsServiceBroker: sendMessage() by com.moez.QKSMS
MmsService: sendMessage messageId: 0
MmsService: Current running=0, current subId=-1, pending=0
MmsService: Add request to running queue for subId 1
MmsService: [SendRequest@42cfd51 messageId: 0] Executing...
MmsService: mms config for sub 1: Bundle[{httpSocketTimeout=60000, aliasMinChars=2, smsToMmsTextThreshold=-1, enableSMSDeliveryReports=true, maxMessageTextSize=-1, supportMmsContentDisposition=true, enabledTransID=false, aliasEnabled=false, supportHttpCharsetHeader=false, allowAttachAudio=true, smsToMmsTextLengthThreshold=-1, recipientLimit=2147483647, uaProfTagName=x-wap-profile, aliasMaxChars=48, maxImageHeight=480, enableMMSDeliveryReports=false, userAgent=, mmsCloseConnection=false, config_cellBroadcastAppLinks=true, maxSubjectLength=40, httpParams=, enableGroupMms=true, emailGatewayNumber=, maxMessageSize=307200, naiSuffix=, enableMMSReadReports=false, maxImageWidth=640, uaProfUrl=, enabledMMS=true, enabledNotifyWapMMSC=false, sendMultipartSmsAsSeparateMessages=false, enableMultipartSMS=true}]
MmsService: [SendRequest@42cfd51 messageId: 0] MmsNetworkManager: start new network request
MmsService: [SendRequest@42cfd51 messageId: 0] APN name is MMS
MmsService: [SendRequest@42cfd51 messageId: 0] Loading APN using name MMS
MmsService: [SendRequest@42cfd51 messageId: 0] Using APN [type=mms mmsc=http://mmsc.{{ censored }}:8002/ mmsproxy={{ censored }} mmsport=8070 name={{ censored }} MMS apn=MMS bearer_bitmask=0 protocol=IP roaming_protocol=IP authtype=-1]
MmsService: [SendRequest@42cfd51 messageId: 0] HTTP: POST http://mmsc.{{ censored }}[30], proxy={{ censored }}:8070, PDU size=234386
MmsService: [SendRequest@42cfd51 messageId: 0] HTTP: User-Agent=g020c
MmsService: [SendRequest@42cfd51 messageId: 0] HTTP: UaProfUrl=http://www.gstatic.com/android/sms/G020C.xml, UaProfUrlTagName=x-wap-profile
MmsService: [SendRequest@42cfd51 messageId: 0] HTTP: 200 OK
MmsService: [SendRequest@42cfd51 messageId: 0] HTTP: response size=67
MmsService: [SendRequest@42cfd51 messageId: 0] MmsNetworkManager: release, count=0
MmsService: [SendRequest@42cfd51 messageId: 0] processResult: -1, httpStatusCode: success (0)
MmsService: Schedule requests pending on SIM
MmsSentReceiver: MMS sending result: -1
MmsSentReceiver: content://mms/outbox/18
MmsSentReceiver: MMS has finished sending, marking it as so in the database
MmsSentReceiver: /data/user/0/com.moez.QKSMS/cache/send.706806587588393135.dat

@dngray
Copy link
Author

dngray commented Oct 15, 2021

So upon sending a smaller MMS with com.simplemobiletools.smsmessenger (with just this image) I noticed a couple of things:

MmsServiceBroker: sendMessage() by com.simplemobiletools.smsmessenger
MmsService: sendMessage messageId: 0
MmsService: Current running=0, current subId=-1, pending=0
MmsService: Add request to running queue for subId 1
MmsService: [SendRequest@f7e4cfe messageId: 0] Executing...
MmsService: mms config for sub 1: Bundle[{httpSocketTimeout=60000, aliasMinChars=2, smsToMmsTextThreshold=-1, enableSMSDeliveryReports=true, maxMessageTextSize=-1, supportMmsContentDisposition=true, enabledTransID=false, aliasEnabled=false, supportHttpCharsetHeader=false, allowAttachAudio=true, smsToMmsTextLengthThreshold=-1, recipientLimit=2147483647, uaProfTagName=x-wap-profile, aliasMaxChars=48, maxImageHeight=480, enableMMSDeliveryReports=false, userAgent=, mmsCloseConnection=false, config_cellBroadcastAppLinks=true, maxSubjectLength=40, httpParams=, enableGroupMms=true, emailGatewayNumber=, maxMessageSize=307200, naiSuffix=, enableMMSReadReports=false, maxImageWidth=640, uaProfUrl=, enabledMMS=true, enabledNotifyWapMMSC=false, sendMultipartSmsAsSeparateMessages=false, enableMultipartSMS=true}]
MmsService: [SendRequest@f7e4cfe messageId: 0] MmsNetworkManager: start new network request

This section here:

TelephonyProvider: Using old permission behavior for telephony provider compat
TelephonyProvider: subIdString = 1 subId = 1
TelephonyProvider: Using old permission behavior for telephony provider compat
TelephonyProvider: subIdString = 1 subId = 1
TelephonyProvider: Using old permission behavior for telephony provider compat
TelephonyProvider: subIdString = 1 subId = 1
TelephonyProvider: Using old permission behavior for telephony provider compat
TelephonyProvider: subIdString = 1 subId = 1
TelephonyProvider: Using old permission behavior for telephony provider compat
TelephonyProvider: subIdString = 1 subId = 1
TelephonyProvider: Using old permission behavior for telephony provider compat
TelephonyProvider: subIdString = 1 subId = 1
MmsService: NetworkCallbackListener.onAvailable: network=113
MmsService: [SendRequest@f7e4cfe messageId: 0] APN name is MMS
MmsService: [SendRequest@f7e4cfe messageId: 0] Loading APN using name MMS
TelephonyProvider: Using old permission behavior for telephony provider compat
TelephonyProvider: match current APN size:  2
TelephonyProvider: match MNO APN: 1
TelephonyProvider: match carrier id APN: 1
MmsService: [SendRequest@f7e4cfe messageId: 0] Using APN [type=mms mmsc=http://mmsc.{{ censored }}:8002/ mmsproxy={{ censored }} mmsport=8070 name={{ censored }} MMS apn=MMS bearer_bitmask=0 protocol=IP roaming_protocol=IP authtype=-1]
MmsService: [SendRequest@f7e4cfe messageId: 0] HTTP: POST http://mmsc.{{ censored }}[30], proxy={{ censored }}:8070, PDU size=99812
MmsService: [SendRequest@f7e4cfe messageId: 0] HTTP: User-Agent=g020c
MmsService: [SendRequest@f7e4cfe messageId: 0] HTTP: UaProfUrl=http://www.gstatic.com/android/sms/G020C.xml, UaProfUrlTagName=x-wap-profile
MmsService: [SendRequest@f7e4cfe messageId: 0] HTTP: 200 OK
MmsService: [SendRequest@f7e4cfe messageId: 0] HTTP: response size=67
MmsService: [SendRequest@f7e4cfe messageId: 0] MmsNetworkManager: release, count=0
ConnectivityService: releasing NetworkRequest [ REQUEST id=137, [ Transports: CELLULAR Capabilities: MMS&NOT_RESTRICTED&TRUSTED&NOT_VPN Specifier: <TelephonyNetworkSpecifier [mSubId = 1]> Uid: 1001 AdministratorUids: [] RequestorUid: 1001 RequestorPackageName: com.android.phone] ] (release request)
ConnectivityService: no live requests for [113 CELLULAR]; disconnecting
DcNetworkAgent: NetworkAgent: NetworkAgent channel lost
ConnectivityService: [113 CELLULAR] disconnected, was satisfying 6
MmsService: [SendRequest@f7e4cfe messageId: 0] processResult: -1, httpStatusCode: success (0)
MmsService: Schedule requests pending on SIM

Also no mention of anything from MmsSentReceiver like qksms had, in particular MMS has finished sending, marking it as so in the database. Looks to be that's because qksms uses android-smsmms which that comes from MmsSentReceiver.java#L40
.

The ROM that I am using is GrapheneOS RQ3A.211001.001.2021100606 on a Pixel 3a XL which is currently based on Android 11.

@tibbi tibbi added the bug label Oct 15, 2021
dngray added a commit to dngray/silence-backup-parse that referenced this issue Jan 22, 2022
- Don't mention Simple SMS Messenger as SimpleMobileTools/Simple-SMS-Messenger#228 still not fixed
- Don't mention QKSMS, will probably never be able to export MMS
  messages
@maverick74
Copy link

I just experienced this issue as well...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants