MMS retrieval

Christopher McKenzie chris at waive.car
Wed Jun 12 19:52:02 UTC 2019


Replies below.

On 6/12/19 11:25 AM, Dan Williams wrote:
> On Wed, 2019-06-12 at 10:34 -0700, Christopher McKenzie wrote:
>> Hello,
>>
>> I've checked the mailing list and I can't find any history on this.
>> I'm
>> wondering if anyone has successfully received the content of MMS
>> messages.
>>
>> On my T-Mobile SIM I get a message that translates to
>> (binascii.unhexlify of the mmcli -m -s * content)
>> "application/vnd.wap.mms-message" with a URL link at the end of the
>> payload.  When I curl -I the url I get the following:
>>
>> 299 GBA "Generic Bootstrapping Architecture (3GPP TS 33.220) support
>> is
>> required to access the requested resource"
>>
>> After doing some research it looks like the server wants to have a
>> sophisticated conversation with me (see the spec here, warning
>> zipped
>> msword:
>> https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=2280).
>>
>> I've seen evidence that Maemo knows how to talk this language and
>> after
>> searching the source code I believe that gammu does not.
>>
>> I've found a few implementations that will decode the
>> vnd.wap.mms-message payload, but no standalone that will then proceed
>> to
>> talk with the remote server and get the content.
>>
>> Has anyone found any open source tools that can ingest these
>> application/vnd.wap.mms-message payloads and get the corresponding
>> MMS
>> content?
> IIRC it's just HTTP to the MMSC over the MMS PDP/EPS context if your
> provider uses a non-default context for MMS. Otherwise it can just go
> to the MMSC over the default context.

A standard curl request returns:

HTTP/1.1 400 Bad Request
Warning: 299 GBA "Generic Bootstrapping Architecture (3GPP TS 33.220) 
supportĀ  required to access the requested resource"
Connection: Close
Content-Length: 0
Content-Type: text/html; charset=UTF-8


On my mobile phone it doesn't seem to use the URL at all. If I disable 
data and turn off my wifi I can still receive photographs. Even when I 
have only the wifi on if I do tcpdump at the router there's no traffic 
that goes over the network to retrieve the image.

So this means that there's ways of retrieving the media OTA without 
using the internet and that I'd at least have to modify my HTTP header 
to get the server to play nicely. Maybe it's effectively just and HTTP 
GET but I need to append something to the request to tell the server I'm 
special somehow

>
> Which is why ModemManager doesn't do anything MMS-related because MMS
> is all at the IP level so once MM has set up connectivity then anything
> can do MMS.
>
> For example, fMMS:
>
> https://github.com/frals/fmms/blob/315e24068ef23e87f68838ff96e6ec91f7849959/wappushhandler.py#L225

This appears to just do essentially an HTTP GET ... I tried it with the 
x-wap-profile header as the code does just for kicks but I continue to 
get the 400 Bad Request. There may be a proxy as the code suggests but I 
haven't found evidence of that.


>
> But I don't actually know much more than that. But I think fMMS is
> basically what you want, albeit in Python and coded to Maemo UI and
> system services.
>
> MM might still be involved if it doesn't correctly deliver/interpret
> the SMS Push messages that say you have a new MMS to receive, but I
> think it already does that. I haven't checked though.
yes, you can do this through dbus.


>
> Dan
>
>> Or, alternatively, is there another way to retrieve the (mostly)
>> images
>> from an MMS message that doesn't use this approach? Thanks.
>>
>> ~chris.
>>
>> _______________________________________________
>> libqmi-devel mailing list
>> libqmi-devel at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/libqmi-devel


More information about the libqmi-devel mailing list