Skip to content
This repository was archived by the owner on Oct 2, 2019. It is now read-only.

Commit b3e8d34

Browse files
author
Eduardo Fullea
committed
MMS fetch mode description and MMS reception steps
1 parent a3acc41 commit b3e8d34

File tree

1 file changed

+80
-38
lines changed

1 file changed

+80
-38
lines changed

index.html

Lines changed: 80 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,16 @@ <h3>Steps</h3>
558558
to the newly created <code>SmsMessage</code> instance.
559559
</ol>
560560

561-
<p>Upon a new MMS message being received, the <a>user agent</a> MUST:
561+
<p>The reception of an MMS message is a two-step process. Firstly an MMS
562+
notification encapsulated in a WAP Push OTA message [[OMA-PUSH]] is received
563+
at the device. This MMS notification contains limited information about the
564+
MMS message and a URL where the device can retrieve the full MMS message from.
565+
This retrieval may be automatic, i.e. performed right after the reception of
566+
the MMS notification, or manual, i.e. needs to be invoked manually by the
567+
user.
568+
569+
<p>Upon a new MMS notification being received, the <a>user agent</a>
570+
MUST:
562571
<ol>
563572
<li>create a new instance of <code>MmsMessage</code>
564573
<li>generate a identifier for this message that is globally unique within
@@ -569,46 +578,75 @@ <h3>Steps</h3>
569578
<li>set the <code>type</code> of the <code>MmsMessage</code> to 'mms'
570579
<li>set the <code>serviceID</code> of the <code>MmsMessage</code> to the
571580
identifier of the service at which the message has been received.
572-
<li>set the <code>from</code> of the <code>MmsMessage</code> to the
573-
value of the 'From' field of the MMS message
574-
<li>set the <code>timestamp</code> of the <code>MmsMessage</code> to
575-
the value of the 'Date' field of the MMS message
576581
<li>set the <code>read</code> of the <code>MmsMessage</code> to 'false'
577-
<li>add a new element in the <code>to</code> array of the
578-
<code>MmsMessage</code> for each of recipients in the 'To' field of the
579-
MMS message, if present
580-
<li>add a new element in the <code>cc</code> array of the
581-
<code>MmsMessage</code> for each of recipients in the 'Cc' field of the
582-
MMS message, if present
583-
<li>add a new element in the <code>bcc</code> array of the
584-
<code>MmsMessage</code> for each of recipients in the 'Bcc' field of the
585-
MMS message, if present
586-
<li>set the <code>subject</code> element to the value of the 'Subject'
587-
field of the MMS message, if present
588-
<li>set the <code>smil</code> element to a <code>DOMString</code>
589-
containing the SMIL object of the received MMS message, if present
590-
<li>for each of the media files attached to the received MMS message add a
591-
new element to the <code>attachments</code> array with:
592-
<ol>
593-
<li>a new <code>Blob</code> object including the media type and the
594-
actual content of the attachment.
595-
<li>the <code>contentID</code> attribute filled with the Content-ID used
596-
to reference this element from the SMIL object in the incoming MMS
597-
message, if present.
598-
<li>the <code>contentLocation</code> attribute filled with the
599-
Content-Location used to reference this element from the SMIL object in
600-
the incoming MMS message, if present.
601-
</ol>
602-
<li>set the <code>state</code> of the <code>MmsMessage</code> to
603-
'received' if the message has been downloaded or otherwise to
604-
'not-downloaded'
605-
<li>add a new element in the <code>deliveryStatus</code> array of the
606-
<code>MmsMessage</code> for each of recipients in the 'To', 'Cc' and 'Bcc'
607-
fields with value 'not-applicable'
582+
<li>if the fetch mode is manual:
583+
<ol>
584+
<li>set the <code>from</code> of the <code>MmsMessage</code> to the
585+
value of the 'From' field of the MMS notification, if present
586+
<li>add a new element in the <code>to</code> array of the
587+
<code>MmsMessage</code> for each of recipients in the 'To' field of the
588+
MMS notification, if present
589+
<li>add a new element in the <code>cc</code> array of the
590+
<code>MmsMessage</code> for each of recipients in the 'Cc' field of the
591+
MMS notification, if present
592+
<li>add a new element in the <code>bcc</code> array of the
593+
<code>MmsMessage</code> for each of recipients in the 'Bcc' field of the
594+
MMS notification, if present
595+
<li>set the <code>subject</code> element to the value of the 'Subject'
596+
field of the MMS notification, if present
597+
<li>set the <code>state</code> of the <code>MmsMessage</code> to
598+
'not-downloaded'
599+
</ol>
600+
<li>if the fetch mode is otherwise automatic:
601+
<ol>
602+
<li>make a request to the system to fetch the MMS message from the URL
603+
indicated in the X-Mms-Content-Location field of the MMS notification.
604+
Once the MMS has been fetched continue with following steps.
605+
<li>run the <dfn id="dfn-fill-mms-message">steps for filling the
606+
<code>MmsMessage</code> object with the data contained in the MMS
607+
message</dfn>
608+
<ol>
609+
<li>set the <code>from</code> of the <code>MmsMessage</code> to the
610+
value of the 'From' field of the MMS message
611+
<li>set the <code>timestamp</code> of the <code>MmsMessage</code> to
612+
the value of the 'Date' field of the MMS message
613+
<li>add a new element in the <code>to</code> array of the
614+
<code>MmsMessage</code> for each of recipients in the 'To' field of the
615+
MMS message, if present
616+
<li>add a new element in the <code>cc</code> array of the
617+
<code>MmsMessage</code> for each of recipients in the 'Cc' field of the
618+
MMS message, if present
619+
<li>add a new element in the <code>bcc</code> array of the
620+
<code>MmsMessage</code> for each of recipients in the 'Bcc' field of the
621+
MMS message, if present
622+
<li>set the <code>subject</code> element to the value of the 'Subject'
623+
field of the MMS message, if present
624+
<li>set the <code>smil</code> element to a <code>DOMString</code>
625+
containing the SMIL object of the received MMS message, if present
626+
<li>for each of the media files attached to the received MMS message add a
627+
new element to the <code>attachments</code> array with:
628+
<ol>
629+
<li>a new <code>Blob</code> object including the media type and the
630+
actual content of the attachment.
631+
<li>the <code>contentID</code> attribute filled with the Content-ID used
632+
to reference this element from the SMIL object in the incoming MMS
633+
message, if present.
634+
<li>the <code>contentLocation</code> attribute filled with the
635+
Content-Location used to reference this element from the SMIL object in
636+
the incoming MMS message, if present.
637+
</ol>
638+
</ol>
639+
<li>set the <code>state</code> of the <code>MmsMessage</code> to
640+
'received'
641+
<li>add a new element in the <code>deliveryStatus</code> array of the
642+
<code>MmsMessage</code> for each of recipients in the 'To', 'Cc' and 'Bcc'
643+
fields with value 'not-applicable'
644+
</ol>
608645
<li><a>queue a task</a> to <a>fire an event</a> named
609646
<code><a>received</a></code> with the <code>message</code> attribute set
610647
to the newly created <code>MmsMessage</code> instance.
611648
</ol>
649+
</ol>
612650

613651
<p> The <dfn><code>clear</code></dfn> method when invoked MUST run the
614652
following steps:
@@ -1078,8 +1116,10 @@ <h3>Steps</h3>
10781116
</ol>
10791117
</ol>
10801118

1081-
<p> The <dfn><code>fetch</code></dfn> method when invoked MUST run the
1082-
following steps:
1119+
<p> The <dfn><code>fetch</code></dfn> method can be invoked to fetch an MMS
1120+
message that has not been automatically fetched upon receiving the
1121+
corresponding MMS notification due to the fetch mode being manual. When this
1122+
method is invoked the User Agent MUST run the following steps:
10831123
<ol>
10841124
<li>Create a new <code>MessagingRequest</code> object
10851125
<li>If the <code>messageID</code> parameter passed in the request matches with an
@@ -1092,6 +1132,8 @@ <h3>Steps</h3>
10921132
handler</a> of the <code>MessagingRequest</code> object
10931133
<li>When the request has been completed:
10941134
<ol>
1135+
<li>run the <a href="#dfn-fill-mms-message">steps for filling the
1136+
<code>MmsMessage</code> object with the data contained in the MMS message</a>
10951137
<li>set the <code>readyState</code> of the
10961138
<code>MessagingRequest</code> object to 'done'
10971139
<li>set the <code>result</code> of the <code>MessagingRequest</code>

0 commit comments

Comments
 (0)