Closed Bug 713471 Opened 13 years ago Closed 11 years ago

Support MMS in WebSMS

Categories

(Core :: DOM: Device Interfaces, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 844431
blocking-kilimanjaro +
blocking-basecamp -

People

(Reporter: cjones, Assigned: vicamo)

References

Details

(Whiteboard: [soft])

We should figure out how to support MMS once SMS is landed and stable.
"The OMA Multimedia Messaging Service uses WAP WSP/HTTP as underlying protocols to transfer MMS PDUs between MMS Client which resides on the terminal (MS) and the MMS Proxy-Relay."[1] WSP(Wireless Session Protocol)[2] is based on WTP(Wireless Transaction Protocol)[3], WDP(Wireless Datagram Protocol)[4]. WDP over GSM SMS is defined in WAP-259-WDP-20010614-a, section 4.4.1, and is usually used for MM availability notification[5].

WDP over GSM SMS involves several Information Element Identifiers[6] like:
1) concatenated short messages, 8 bit reference number
2) application port addressing scheme, 8 bit address
3) application port addressing scheme, 16 bit address
4) concatenated short messages, 16 bit reference number
5) Wireless Control Message Protocol[7]

Reference:
1) See OMA-TS-MMS_ENC-V1_3-20110913-A, section 4, http://www.openmobilealliance.org/Technical/release_program/mms_v1_3.aspx
2) See WAP-230-WSP-20010705-a, http://www.openmobilealliance.org/Technical/wapindex.aspx
3) See WAP-224-WTP-20010710-a, http://www.openmobilealliance.org/Technical/wapindex.aspx
4) See WAP-259-WDP-20010614-a, http://www.openmobilealliance.org/Technical/wapindex.aspx
5) See OMA-TS-MMS_CTR-V1_3-20110913-A, section 6.2, http://www.openmobilealliance.org/Technical/release_program/mms_v1_3.aspx
6) See 3GPP TS 23.040, section 9.2.3.24, http://www.3gpp.org/ftp/Specs/html-info/23040.htm
7) See WAP-202-WCMP-20010624-a, http://www.openmobilealliance.org/Technical/wapindex.aspx
(In reply to Vicamo Yang [:vicamo] from comment #1)
> WDP over GSM SMS involves several Information Element Identifiers[6] like:
> 1) concatenated short messages, 8 bit reference number

done.

> 2) application port addressing scheme, 8 bit address
> 3) application port addressing scheme, 16 bit address

trivial.

> 4) concatenated short messages, 16 bit reference number

done.

> 5) Wireless Control Message Protocol[7]

"WCMP contains control messages that resemble the Internet Control Message Protocol(ICMP) messages. WCMP can also be used for diagnostics and informational purposes."[7] Android still does not implement this IEI.
Regarding the API, if we add a |attachments| property to SmsMessage that will return an array of Blobs and add a send() method that will take such an array, would that be enough to handle the MMS use case? (we might want to add something to SmsFilter too)
The WDP over SMS usually acts as WSP for WAP Push, indicating there's something on remote PPG(Push Proxy Gateway). That's not the message itself, but an initiation request instead. The message body inside a WDP-SMS is a text-encoded WBXML data for further parsing (Android's implementation resides in WapPushOverSms.java). If the data contains a "X-Wap-Application-Id" field, it will be handed over to that app, or a broadcast event for anyone interested in it (for Android, it will be the Mms app). So, the SMS layer should neither peep into the attachments of a WAP pdu, nor store some part of it as attachments.
For detailed information, see "Push OTA Protocol Specification", WAP-235-PushOTA-20010425-a, available at http://www.openmobilealliance.org/Technical/wapindex.aspx . (still reading ...)
Depends on: 738132
Depends on: 744360
(In reply to Mounir Lamouri (:volkmar) (:mounir) from comment #3)
> Regarding the API, if we add a |attachments| property to SmsMessage that
> will return an array of Blobs and add a send() method that will take such an
> array, would that be enough to handle the MMS use case? (we might want to
> add something to SmsFilter too)

It's not quite that simple, but a good start. MMS messages are essentially multipart documents with a SMIL part and multiple binary or text parts ("attachments"). We've been musing about a webby API representation a bit and it looks pretty similar to what you suggest. See https://wiki.mozilla.org/WebAPI/WebMMS. For now we've kept it entirely separate from, but inspired by WebSMS. We should discuss on the dev-webapi list whether or not WebMMS and WebSMS should be part of a unified API or not, and what the MMS API should actually look like. I'll start a thread there.
(In reply to Philipp von Weitershausen [:philikon] from comment #6)
> It's not quite that simple, but a good start. MMS messages are essentially
> multipart documents with a SMIL part and multiple binary or text parts
> ("attachments"). We've been musing about a webby API representation a bit
> and it looks pretty similar to what you suggest. See
> https://wiki.mozilla.org/WebAPI/WebMMS. For now we've kept it entirely
> separate from, but inspired by WebSMS. We should discuss on the dev-webapi
> list whether or not WebMMS and WebSMS should be part of a unified API or
> not, and what the MMS API should actually look like. I'll start a thread
> there.

IMO, we could easily merge those but I will wait for your dev-webapi message.
Whiteboard: [b2g:blocking+][soft]
blocking-basecamp: --- → +
blocking-kilimanjaro: --- → +
Whiteboard: [b2g:blocking+][soft] → [soft]
After discussing with Vicamo, this bug will be used to merge APIs. Meanwhile, bug 744684 will be the meta bug for MMS.
Assignee: nobody → vyang
MMS is desired to be ready for basecamp, but does not actually block.
blocking-basecamp: + → -
Soft-blocker and basecamp- so removing dependency from product phone meta-bug.
No longer blocks: b2g-product-phone
With bug 844431, we have already integrated API for both SMS and MMS.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.