diff --git a/index.html b/index.html index eb329f2..10851a8 100644 --- a/index.html +++ b/index.html @@ -26,7 +26,6 @@ inlineCSS: true, noIDLIn: true, noIDLSorting: true, - extraCSS: ["../ReSpec.js/css/respec.css"], wg: "System Applications Working Group", wgURI: "http://www.w3.org/2012/sysapps/", wgPublicList: "public-sysapps", @@ -267,10 +266,15 @@

MessagingManager Interface

Identifier of the message that is requested to be marked as read or unread -
optional boolean value = true
+
boolean value
- Indicates whether the message is to be marked as read ('true', - which is the default) or unread ('false') + Indicates whether the message is to be marked as read ('true') or + unread ('false') +
+
optional boolean sendReadReport = false
+
+ Indicates that, in case a Read Report was requested, it is to be sent + ('true') or not ('false', which is the default)
@@ -285,10 +289,16 @@

MessagingManager Interface

Identifier of the conversation whose messages are requested to be marked as read or unread -
optional boolean value = true
+
boolean value
Indicates whether the messages in the conversation are to be marked as - read ('true', which is the default) or unread ('false') + read ('true') or unread ('false') +
+
optional boolean sendReadReport = false
+
+ Indicates that, in case a Read Report was requested for any MMS + message in the conversation, a Read Report is to be sent ('true') or + not ('false', which is the default)
@@ -420,7 +430,8 @@

Steps

  • Make a request to the system to mark as read/unread (depending on the value parameter being respectively 'true' or 'false') the message with identifier equal to the messageID parameter - passed in the request. + passed in the request, and to send a Read Report if + sendReadReport is set to 'true'.
  • If an error occurs invoke resolver's reject algorithm with error as the value argument. @@ -443,7 +454,9 @@

    Steps

  • Make a request to the system to mark as read/unread (depending on the value parameter being respectively 'true' or 'false') the messages in the conversation with identifier equal to the - conversationID parameter passed in the request. + conversationID parameter passed in the request, and in case + sendReadReport is set to 'true', to send a Read Report for + each of the MMS messages for which it was requested.
  • If an error occurs invoke resolver's reject algorithm with error as the value argument. @@ -557,9 +570,9 @@

    SmsManager Interface

    report is received on this messaging service manager.
    - attribute EventHandler ondeliveryfailure + attribute EventHandler ondeliveryerror
    -
    Handles the deliveryfailure event of type +
    Handles the deliveryerror event of type DeliveryReportEvent, fired when a new failure delivery report is received on this messaging service manager.
    @@ -582,8 +595,7 @@

    SmsManager Interface

    Steps

    -

    The send method when invoked MUST run the - following steps: +

    The send method when invoked MUST run the following steps:

    1. Let promise be a new Promise object and resolver its associated resolver @@ -637,8 +649,9 @@

      Steps

    2. Invoke resolver's fulfill algorithm with smsMessage as the value argument. -
    3. Queue a task to fire an event named sent - with the message attribute set to smsMessage. +
    4. Queue a task to fire an event named sent with + the message attribute set to smsMessage.
    @@ -701,9 +714,9 @@

    Steps

    'received'.
  • Set the deliveryStatus of smsMessage to 'not-applicable'. -
  • Queue a task to fire an event named - received with the message attribute set - to smsMessage. +
  • Queue a task to fire an event named received + with the message attribute set to smsMessage.
  • Queue a task to fire a system message named received of type ReceivedMessage with the message attribute set to smsMessage. @@ -721,9 +734,11 @@

    Steps

    to the delivery time of the SMS message, i.e. the TP-Discharge-Time (TP DT) parameter included in the SMS-STATUS-REPORT Protocol Data Unit [[!GSM-SMS]]. -
  • Queue a task to fire an event named - deliverysuccess or deliveryfailure respectively if the - delivery was successfull or not, with +
  • Queue a task to fire an event named deliverysuccess or deliveryerror + respectively if the delivery was successfull or not, with
    1. the messageID attribute set to the messageID attribute of smsMessage, @@ -735,8 +750,8 @@

      Steps

      to delivery time of such message.
  • Queue a task to fire a system message of type - DeliveryReportnamed deliverysuccess or - deliveryfailure respectively if the delivery was successfull or + DeliveryReportnamed deliverysuccess or + deliveryerror respectively if the delivery was successfull or not, with
    1. the messageID attribute set to the @@ -750,8 +765,7 @@

      Steps

    -

    The clear method when invoked MUST run the - following steps: +

    The clear method when invoked MUST run the following steps:

    1. Let promise be a new Promise object and resolver its associated resolver @@ -792,38 +806,42 @@

      Event handlers

      onreceived - received + received MessagingEvent handles received messages onsent - sent + sent MessagingEvent handles sent messages ondeliverysuccess - deliverysuccess + deliverysuccess DeliveryReportEvent handles successful delivery reports - ondeliveryfailure - deliveryfailure + ondeliveryerror + deliveryerror DeliveryReportEvent handles failure delivery reports onserviceadded - serviceadded + serviceadded ServiceChangeEvent handle new messaging services onserviceremoved - serviceremoved + serviceremoved ServiceChangeEvent handle disabled messaging services @@ -921,10 +939,10 @@

      MmsManager Interface

      Content and recipients of the MMS message to be sent.
      -
      optional DOMString serviceID
      +
      optional MmsSendParameters sendParameters
      - Identifier of the service through which the message is requested to - be sent. + Set of parameters related to the submission of the message (e.g. + request of delivery/read report or not).
      @@ -976,12 +994,26 @@

      MmsManager Interface

      report is received on this messaging service manager.
      - attribute EventHandler ondeliveryfailure + attribute EventHandler ondeliveryerror
      -
      Handles the deliveryfailure event of type +
      Handles the deliveryerror event of type DeliveryReportEvent, fired when a new failure delivery report is received on this messaging service manager.
      +
      + attribute EventHandler onreadsuccess +
      +
      Handles the readsuccess event of type + ReadReportEvent, fired when a new succesful read report is + received on this messaging service manager.
      + +
      + attribute EventHandler onreaderror +
      +
      Handles the readerror event of type + ReadReportEvent, fired when a new failure read report is received + on this messaging service manager.
      +
      attribute EventHandler onserviceadded
      @@ -1006,8 +1038,7 @@

      MmsManager Interface

      Steps

      -

      The send method when invoked MUST run the - following steps: +

      The send method when invoked MUST run the following steps:

      1. Let promise be a new Promise object and resolver its associated resolver @@ -1023,9 +1054,9 @@

        Steps

      2. Set the type of mmsMessage to 'mms'.
      3. Set the serviceID of mmsMessage to the identifier of the service used to send the message, i.e. the one passed in - the serviceID parameter, if provided, or otherwise to the - first item in the serviceIDs attribute of the - MmsManager. + the serviceID parameter in MmsSendParameters, if + provided, or otherwise to the first item in the serviceIDs + attribute of the MmsManager.
      4. Set the from of mmsMessage to the number of the mobile subscription used to send this MMS message.
      5. Set the read of mmsMessage to 'true'. @@ -1048,13 +1079,14 @@

        Steps

        to, cc and bcc parameters (i.e. a single item if the same address has multiple ocurrences across these parameters), with the recipient attribute set to this - recipient's address and the deliveryStatus attribute set to + recipient's address, with the deliveryStatus attribute set to 'pending', if a delivery report has been requested, or 'not-applicable' - otherwise. + otherwise and with the readStatus attribute set to 'pending', + if a read report has been requested, or 'not-applicable' otherwise.
      6. Make a request to the system to send an MMS message with the content passed in the content parameter to the number(s) of indicated in the to parameter, using the proper service as described - above. + above and asking for delivery and/or read report if requested.
      7. Queue a task to monitor MMS sending progress.
    2. If an error occurs run these substeps and terminate these @@ -1077,9 +1109,9 @@

      Steps

    3. Invoke resolver's fulfill algorithm with mmsMessage as the value argument. -
    4. Queue a task to fire an event named - sent with the message attribute set to - mmsMessage. +
    5. Queue a task to fire an event named sent with + the message attribute set to mmsMessage.
    @@ -1179,6 +1211,10 @@

    Steps

    Content-Location used to reference this attachment from the SMIL object in the incoming MMS message [[!MMS13]], if present. +
  • Set the readReportRequested attribute to 'true' + if the 'X-Mms-Read-Report' field is present in the incoming MMS + message [[!MMS13]] and has the value 'Yes', and to 'false' + otherwise.
  • Set the state of mmsMessage to 'received'. @@ -1190,7 +1226,7 @@

    Steps

    the deliveryStatus attribute set to 'not-applicable'.
  • Queue a task to fire an event named - received with the message attribute set + received with the message attribute set to mmsMessage.
  • Queue a task to fire a system message named received of type ReceivedMessage with the @@ -1268,16 +1304,18 @@

    Steps

    value of the X-Mms-Status element in the M-Delivery.ind Protocol Data Unit [[!MMS13]] is 'Retrieved', or
  • to 'error', in case of failed delivery, i.e. if the value of - the X-Mms-Status element in the the M-Delivery.ind Protocol Data + the X-Mms-Status element in the M-Delivery.ind Protocol Data Unit [[!MMS13]] is 'Expired', 'Rejected' or 'Unreachable'.
  • set its deliveryTimestamp attribute to the delivery time, i.e. the 'Date' field in the M-Delivery.ind Protocol Data Unit [[!MMS13]], in case of successful delivery. -
  • Queue a task to fire an event named - deliverysuccess or deliveryfailure respectively if the - delivery was successfull or not, with +
  • Queue a task to fire an event named deliverysuccess or deliveryerror + respectively if the delivery was successfull or not, with
    1. the messageID attribute set to the messageID attribute of mmsMessage, @@ -1292,8 +1330,8 @@

      Steps

      same position of the recipients array.
  • Queue a task to fire a system message of type - DeliveryReportnamed deliverysuccess or - deliveryfailure respectively if the delivery was successfull or + DeliveryReport named deliverysuccess or + deliveryerror respectively if the delivery was successfull or not, with
    1. the messageID attribute set to the @@ -1310,8 +1348,66 @@

      Steps

    -

    The clear method when invoked MUST run the - following steps: +

    Upon a read report of a previously sent MMS message being received, the + user agent MUST +

      +
    1. Let mmsMessage be the instance of MmsMessage + to which this read report is related. +
    2. For each of the items in the deliveryInfo array + attribute of mmsMessage whose recipient + attribute matches one of the recipients of the MMS to which the read + report is related, +
        +
      1. set its readStatus attribute: +
          +
        1. to 'success', in case the message has been read, i.e. if the + value of the X-Mms-Read-Status element in the M-Read-Orig.ind + Protocol Data Unit [[!MMS13]] is 'Read', or +
        2. to 'error', in case the message has been deleted without being + read, i.e. if the value of the X-Mms-Status element in the + M-Read-Orig.ind Protocol Data Unit [[!MMS13]] is 'Deleted without + being read'. +
        +
      2. set its readTimestamp attribute to the read + time, i.e. the 'Date' field in the M-Read-Orig.ind Protocol Data Unit + [[!MMS13]], in case the message has been read. +
      +
    3. Queue a task to fire an event named readsuccess or + readerror + respectively if the message has been read or not, with +
        +
      1. the messageID attribute set to the + messageID attribute of mmsMessage, +
      2. the serviceID attribute set to the + serviceID attribute of mmsMessage, +
      3. the recipients attribute set to the subset of the + original recipients of mmsMessageto which this read + report is related, and +
      4. in case the message has been read, with each of the items in the + readTimestamps attribute set to the read time of + the MMS message by the corresponding recipient, i.e. that in the + same position of the recipients array. +
      +
    4. Queue a task to fire a system message of type + ReadReport named readsuccess or + readerror respectively if the message has been read or not, with +
        +
      1. the messageID attribute set to the + messageID attribute of mmsMessage, +
      2. the serviceID attribute set to the + serviceID attribute of mmsMessage, +
      3. the recipients attribute set to the subset of the + original recipients of mmsMessageto which this read + report is related, and +
      4. in case the message has been read, with each of the items in the + readTimestamps attribute set to the read time of + the MMS message by the corresponding recipient, i.e. that in the + same position of the recipients array. +
      +
    + +

    The clear method when invoked MUST run the following steps:

    1. Make a request to the system to delete all the messages associated to the messaging service with identifier equal to the serviceID @@ -1352,38 +1448,54 @@

      Event handlers

      onreceived - received + received MessagingEvent handles received messages onsent - sent + sent MessagingEvent handles sent messages ondeliverysuccess - deliverysuccess + deliverysuccess DeliveryReportEvent handles successful delivery reports - ondeliveryfailure - deliveryfailure + ondeliveryerror + deliveryerror DeliveryReportEvent handles failure delivery reports + + onreadsuccess + readsuccess + ReadReportEvent + handles successful read reports + + + onreaderror + readerror + ReadReportEvent + handles failure read reports + onserviceadded - serviceadded + serviceadded ServiceChangeEvent handle new messaging services onserviceremoved - serviceremoved + serviceremoved ServiceChangeEvent handle disabled messaging services @@ -1394,6 +1506,22 @@

      Event handlers

  • + +
    +

    MmsSendParameters Dictionary

    +
    +
    optional DOMString serviceID
    +
    Identifier of the service through which the message is requested to be + sent.
    + +
    boolean requestDeliveryReport
    +
    Flag to indicate whether a delivery report is requested.
    + +
    boolean requestReadReport
    +
    Flag to indicate whether a read report is requested.
    + +
    +
    @@ -1526,6 +1654,10 @@

    MmsMessage Interface

    status and, if applicable, the delivery time to each of the recipients of the message. +
    readonly attribute boolean? readReportRequested
    +
    MUST return true in case the originator of a received message requested + a read report and false otherwise. MUST return null for sent messages.
    +
    @@ -1596,19 +1728,30 @@

    MmsAttachment Dictionary

    MmsDeliveryInfo Dictionary

    -
    DeliveryStatus deliveryStatus
    -
    - The delivery status of the MMS message to a specific recipient. -
    DOMString recipient
    The recipient of the MMS to which the delivery status is related.
    +
    DeliveryStatus deliveryStatus
    +
    + The delivery status of the MMS message to a specific recipient. +
    Date deliveryTimestamp
    The time the message was delivered to the recipient, i.e. the 'Date' field in the M-Delivery.ind Protocol Data Unit [[!MMS13]]. It is not provided if there is no positive knowledge about the delivery of the - message.
    + message. + +
    ReadStatus readStatus
    +
    + The read status of the MMS message to a specific recipient. +
    +
    Date readTimestamp
    +
    The time the message was read by the recipient, i.e. the 'Date' + field in the M-Read-Orig.ind Protocol Data Unit [[!MMS13]]. It is not + provided if there is no positive knowledge about the delivery of the + message. +
    @@ -1746,7 +1889,7 @@

    DeliveryReport Interface

    MUST return the identifier of the message to which this delivery report is related.
    readonly attribute DOMString[] recipients
    -
    MUST return an array contining the addresses of the subset of the +
    MUST return an array containing the addresses of the subset of the original recipients of the message to which this delivery report is related. As delivery reports related to just part of the recipients of the MMS message are possible, this array may not contain the full list of @@ -1765,6 +1908,42 @@

    DeliveryReport Interface

    + +
    +

    ReadReport Interface

    +

    The ReadReport interface represents a system message related to + a read report of a sent MMS message. This event is originated from the system + and will start the application if it is not currently running. + +

    The application that consumes this API MAY set a message handler for the + ReadReport system message to listen for when a system + message related to a received read report is fired. + +

    +
    readonly attribute DOMString serviceID
    +
    MUST return the identifier of the service used to send the message to + which this read report is related.
    +
    readonly attribute DOMString messageID
    +
    MUST return the identifier of the message to which this read + report is related.
    +
    readonly attribute DOMString[] recipients
    +
    MUST return an array containing the addresses of the subset of the + original recipients of the message to which this read report is + related. As read reports related to just part of the recipients of the + MMS message are possible, this array may not contain the full list of + recipients to which the MMS message was sent. +
    +
    readonly attribute Date[]? readTimestamps
    +
    MUST return an array containing the read dates by each of the + recipients to which this read report event relates. Each element in the + array refers to the recipient in the same position of the + recipients array. +
    +
    +
    + +

    MessagingEvent Interface

    @@ -1793,7 +1972,7 @@

    DeliveryReportEvent Interface

    MUST return the identifier of the message to which this delivery report event is related.
    readonly attribute DOMString[] recipients
    -
    MUST return an array contining the addresses of the subset of the +
    MUST return an array containing the addresses of the subset of the original recipients of the message to which this delivery report event is related. As delivery reports related to just part of the recipients of the MMS message are possible, this array may not contain the full list of @@ -1812,6 +1991,36 @@

    DeliveryReportEvent Interface

    + +
    +

    ReadReportEvent Interface

    +

    The ReadReportEvent interface represents events related + to a read report of a sent message. +

    +
    readonly attribute DOMString serviceID
    +
    MUST return the identifier of the service used to send the message to + which this read report event is related.
    +
    readonly attribute DOMString messageID
    +
    MUST return the identifier of the message to which this read + report event is related.
    +
    readonly attribute DOMString[] recipients
    +
    MUST return an array containing the addresses of the subset of the + original recipients of the message to which this read report event is + related. As read reports related to just part of the recipients of the + MMS message are possible, this array may not contain the full list of + recipients to which the MMS message was sent. +
    +
    readonly attribute Date[]? readTimestamps
    +
    MUST return an array containing the read dates for each of the + recipients to which this read report event relates. Each element in the + array refers to the recipient in the same position of the + recipients array. +
    +
    +
    + +

    ServiceChangeEvent Interface

    @@ -2031,6 +2240,31 @@

    Enumerations

    +

    The attibute readStatus can have the following values: +

    +
    success
    +
    + The message has been read by the recipient. +
    + +
    pending
    +
    + There is no positive knowledge that the message has been read by + the recipient. +
    + +
    error
    +
    + The delivery of the message has failed. +
    + +
    not-applicable
    +
    + The read status is not applicable either because a read report has + not been requested or because the message is an inbound message +
    +
    +

    The MMS fetch mode can have the following values:

    automatic