Mobile Messaging: MMS Architecture and Transaction Flows
Mobile Messaging: MMS Architecture and Transaction Flows
Mobile Messaging: MMS Architecture and Transaction Flows
PART 5
MMS Architecture and
Transaction Flows
G. Le Bodic
Part 5
1
Course Contents
Part 1
Introduction to mobile communications networks
Day 1
Part 2
Standardization
Part 3
Messaging Services in Europe and elsewhere
Part 4
Short Message Service
Part 5
MMS: Architecture and Transaction Flows
Day 2
Part 6
MMS: Design of multimedia content and application
development
Part 7
Mobile Email
Part 5
2
Part 8
Instant Messaging and IMS Messaging
Part. 5
Architecture of MMS
Part 5
3
Interfaces
MMS centre
MMS client
Transcoder
User directory
Transaction Flows:
Nominal use cases
MM1 interface (MMS client to MMSC)
MM4 interface (MMSC to MMSC)
MM7 interface (MMSC to VAS application)
MMS architecture
Part 5
4
Part 5
5
MMS centre
Part 5
8
MMSC performance
Part 5
9
For large networks, the MMSC can face peak loads of several
hundreds of MPS (Christmas, goal alert, etc.).
MMS client
MMS-enabled mobile devices and which offers
the following features:
Part 5
10
Transcoder
The MMSC can request an external Transcoder to
convert media objects to other content types (content
adaptation to recipient capabilities).
The Standard Transcoding Interface (STI) bridging the
MMSC and the Transcoder is based on:
Messages (business logic in the Transcoder)
Media objects (business logic in the MMSC)
User repository
The user directory can be a database internal or
external to the MMSC.
External repositories are typically implemented as
LDAP directories.
For large networks, the user repository can hold
information for several millions MMS subscribers.
Part 5
12
Part 5
13
Content adaptation
Part 5
14
Content adaptation
Attribute name
Part 5
15
Description
Examples
MmsMaxMessageSize
30720
MmsMaxImageResolution
640x480
MmsCCPPAccept
"image/jpeg", "audio/amr"
MmsCCPPAcceptCharSet
"US-ASCII" or "ISO-8859-1"
MmsCCPPAcceptLanguage
"en", "fr"
for, respectively, English and
French.
MmsCCPPAcceptEncoding
"base64", "quoted-printable".
MmsVersion
"1.0", "1.1"
MmsCCPPStreamingCapable
"Yes" or
"No"
MmsSmilBaseSet
"SMIL-CONF-1-2", "SMIL-3GPPR4".
MmsContentClass
MmsSuppressionContentAdaptation
"Yes" or
"No"
Part 5
16
http://www.lebodic.net/mms_resource.htm
Content adaptation:
UAProf (2/3)
Part 5
17
</prf:c omponent>
</rdf:Des cription>
</RDF>
Part 5
18
http://www.sonyericsson.com/UAProf/T610R301.xml
Streaming
Part 5
19
Sequence numbering
Time-stamping
Payload-type identifier
Part 5
21
Event
Charging
Interface
Category
Message submission
MM1
Originator
O1S-CDR
Forward request
MM4
Originator
O4FRq-CDR
Forward response
MM4
Originator
OFRs-CDR
Delivery report
MM4
Originator
O4D-CDR
Delivery report
MM1
Originator
O1D-CDR
Read-reply report
MM4
Originator
O4R-CDR
Read-reply originator
MM1
Originator
O1R-CDR
n/a
Originator
OMD-CDR
Message forward
MM4
Recipient
R4F-CDR
Notification request
MM1
Recipient
R1NRq-CDR
Notification response
MM1
Recipient
R1NRs-CDR
Message retrieval
MM1
Recipient
R1Rt-CDR
Acknowledgement
MM1
Recipient
R1A-CDR
MM4
Recipient
R4DRq-CDR
MM4
Recipient
R4DRs-CDR
Read-reply recipient
MM1
Recipient
R1RR-CDR
MM4
Recipient
R4RRq-CDR
MM4
Recipient
R4RRs-CDR
n/a
Recipient
RMD-CDR
Forwarding
n/a
Forwarding
Message store
MM1
MMBox
Bx1S-CDR
Message view
MM1
MMBox
Bx1V-CDR
Message upload
MM1
MMBox
Bx1U-CDR
Message deletion
MM1
MMBox
Bx1D-CDR
Message submission
MM7
VAS
MM7S-CDR
Delivery request
MM7
VAS
MM7DRq-CDR
Delivery response
MM7
VAS
MM7DRs-CDR
Message cancel
MM7
VAS
MM7C-CDR
Message replace
MM7
VAS
MM7R-CDR
MM7
VAS
MM7DRRq-CDR
MM7
VAS
MM7DRRs-CDR
MM7
VAS
MM7RRq-CDR
Charging Data
Records (CDRs)
are generated
by the MMSC
on occurrence
of predefined
events.
Part 5
22
CDR name
F-CDR
Transactions Flows
Part 5
23
Part 5
24
Part 5
25
Part 5
26
MM1 interface
Part 5
27
Notification
Message retrieval
Delivery report
Read report
Message forward
Message store or update
into MMbox
View contents of MMbox
Part 5
28
PDU name
Description
From
OMA
M-send.req
M-send.conf
M-notification.ind
M-notifyresp.ind
WSP/HTTP GET.req
M-retrieve.conf
M-acknowledge.ind
1.0
M-delivery.ind
1.0
M-read-rec.ind
M-read-orig.ind
M-forward.req
M-forward.conf
M-Mbox-Store.req
M-Mbox-Store.conf
M-Mbox-View.req
M-Mbox-View.conf
M-Mbox-Upload.req
M-Mbox-Upload.conf
M-Mbox-Delete.req
M-Mbox-Delete.conf
1.0
1.0
1.0
1.1
1.1
1.2
1.2
1.2
1.2
Part 5
29
St.
1.0
X-Mms-Transaction-ID
1.0
X-Mms-MMS-Version
1.0
Date
1.0
From
Address of the originator MMS client (phone number or email address) or 'insert token' if the
originator address is to be provided by the MMSC.
1.0
To
One or multiple addresses (phone number or email address) for message recipient(s). Primary
recipients.
1.0
Cc
One or multiple addresses (phone number or email address) for message recipient(s). Secondary
recipients.
1.0
Bcc
One or multiple addresses (phone number or email address) for message recipient(s). Secondary
recipients / blind copy.
1.0
Subject
1.0
X-Mms-Message-Class
Message class such as 'auto' (automatically generated by the MMS client), 'personal' (default),
'advertisement' and 'informational'. Other classes can also be defined in the form of text
strings.
1.0
X-Mms-Expiry
1.0
X-Mms-Delivery-Time
Earliest delivery time. Default value for this parameter is 'immediate delivery'.
1.0
X-Mms-Priority
1.0
1.0
1.0
Parameter name
Description
X-Mms-Message-Type
X-Mms-Sender-Visibility
Part 5
30
X-Mms-Delivery-Report
Visibility of the sender address. This parameter is either set to 'show' (default) for showing the sender
address to recipient(s) or 'hide' for hiding the sender address to recipient(s). From MMS 1.2,
'show' is not anymore the default value for this parameter. If this parameter is not present in
an MMS 1.2 PDU, then network preferences for the sender anonymity feature are used.
Request for a delivery report. This parameter indicates whether or not delivery report(s) are to be
generated for the submitted message. Two values can be assigned to this parameter: 'yes'
(delivery report is to be generated) or 'no' (no delivery report requested). If the message class
is 'auto', then this parameter is present in the submission PDU and is set to 'no'.
Request for a read report. This parameter indicates whether or not read reports are
to be generated for the message. Two values can be assigned to this parameter:
'yes' (read report is to be generated) or 'no' (no read report requested). If the
message class is auto, then this parameter is present in the submission PDU and is
set to 'no'.
1.0
X-Mms-Reply-Charging
Request for reply charging. The presence of this parameter indicates that reply
charging is requested by the message originator. Two values can be assigned to this
parameter: 'requested' when the originator is willing to pay for the message reply(s)
or 'requested text only' when the originator is willing to pay for message reply(s)
containing text only. In any case, two parameters (reply message size and reply
deadline) specify conditions for the message reply to be paid for by the originator.
1.1
X-Mms-Reply-Charging-Deadline
Reply charging deadline. This parameter specifies the latest time for the
recipient(s) to submit a message reply. This parameter is only present in the PDU if
reply charging is requested.
1.1
X-Mms-Reply-Charging-Size
Reply charging maximum message size. This parameter specifies the maximum
size for message replies. This parameter is only present in the PDU if reply charging
is requested.
1.1
1.1
X-Mms-Store
MMBox storage request - This parameter indicates whether the originator MMS client
requests to save the message in the originator's MMBox in addition from sending it.
1.2
X-Mms-MM-State
MMBox message state When X-Mms-Store is set to 'yes', this parameter indicates the
message state in the originator's MMBox (e.g. sent, draft, etc.). If X-Mms-Store is set to
'yes' and if this parameter is not present then the message default state is 'sent'.
1.2
X-Mms-MM-Flags
MMBox message flag This parameter indicates the list of flags associated to a
message stored in the MMBox (considered only if X-Mms-Store is set to 'yes').
1.2
Content-Type
1.0
X-Mms-Reply-Charging-ID
Part 5
31
St.
1.0
X-Mms-Transaction-ID
Unique identifier for the submission transaction. The same as the one for the
corresponding submission request.
1.0
X-Mms-MMS-Version
1.0
X-Mms-Response-Status
Status code for the submission transaction. The submission request can be accepted
or rejected (permanent or transient errors). See status codes in Appendix B.
1.0
X-Mms-Response-Text
1.0
Message unique identifier. This identifier is always provided by the MMSC if the
submission request is accepted.
1.0
1.2
1.2
1.2
Parameter name
Description
X-Mms-Message-Type
Message-ID
X-Mms-Content-Location
X-Mms-Store-Status
Part 5
32
X-Mms-Store-Status-Text
Reference to the message stored in the MMBox - This parameter is present only if
the three following conditions are fulfilled:
- the originator MMSC supports the MMBox feature
- the X-Mms-Store parameter was present in the corresponding submission request
- the X-Mms-Store-Status indicates 'success'
When available, this parameter provides a reference to the message stored in the
MMBox (reference used later for message retrieval or view request).
MMBox message status - This parameter is present only if the two following
conditions are fulfilled:
- the originator MMSC supports the MMBox feature
- the X-Mms-Store parameter was present in the corresponding submission request
When available, this parameter indicates whether or not the submitted message has
been successfully stored in the MMBox. See status codes in Appendix D.
MMBox message textual status - Textual description qualifying the value assigned to
the X-Mms-Store-Status parameter.
Part 5
33
Request and response PDUs are transferred from the MMS client
to the MMSC as part of a WSP/HTTP Post request:
From
To
Subject
Content type
and contents
Part 5
34
Transaction id.
Version
Part 5
35
Part 5
36
Part 5
37
TP-Protocol-Identifier: 0x00
TP-Data-Coding-Scheme: 8-bit data.
TP-User-Data: as shown below
Part 5
38
Part 5
39
Part 5
40
Part 5
41
Parameter name
Description
From
OMA
St.
X-Mms-Message-Type
1.0
X-Mms-MMS-Version
1.0
Message-ID
1.0
To
1.0
Date
Date and time the message was retrieved, has expired, etc.
1.0
X-Mms-Status
1.0
Part 5
42
Part 5
43
Part 5
44
Part 5
45
Part 5
46
MM4 interface
Part 5
47
Interactions between
two MMSCs are required
for Interconnect but not
for Roaming.
PDU name
Description
MM4_forward.REQ
MM4_forward.RES
MM4_delivery_report.REQ
MM4_delivery_report.RES
MM4_read_reply_report.REQ
From
3GPP
Rel-4
Rel-4
Rel-4
Part 5
48
MM4_read_reply_report.RES
Part 5
49
Part 5
50
Forward of message
Response is optional
Delivery report
The different delivery states that can be
reported over the MM4 interface are as
follows:
Expired
Retrieved
Deferred
- Indeterminate
- Forwarded
- Unrecognized.
Read report
The different read states that can be
reported over the MM4 interface are as
follows:
Part 5
51
Read
Deleted without being read.
MM4: example
Part 5
52
MM7 interface
Part 5
53
Description
MM7_submit.REQ
MM7_submit.RES
MM7_deliver.REQ
MM7_deliver.RES
MM7_cancel.REQ
MM7_cancel.RES
MM7_replace.REQ
MM7_replace.RES
MM7_delivery_report.REQ
MM7_delivery_report.RES
MM7_read_reply_report.REQ
MM7_read_reply_report.RES
MMSC error
MM7_RS_error.RES
Rel-5
VASP error
MM7_VASP_error.RES
Rel-5
Message submission
Message delivery
Cancellation
Replacement
Delivery report
Read report
Part 5
54
From
3GPP
PDU name
Rel-5
Rel-5
Rel-5
Rel-5
Rel-5
Rel-5
Part 5
55
MM7 is based on the Simple Object Access Protocol (SOAP) with HTTP at the transport
layer.
Proprietary MM7 implementations rely on the transfer of proprietary commands over either
SMTP or HTTP.
Corresponding version
of [3GPP-23.140]
REL-5-MM7-1-0
v5.3.0
REL-5-MM7-1-1
v5.4.0
REL-5-MM7-1-2
v5.5.0
REL-5-MM7-1-3
v5.6.0
http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/
Part 5
56
Envelope
SOAP may be used over a variety of transport protocols. In the MMSE, for the
realization of the MM7 interface, SOAP is used over the HTTP transport
protocol.
Part 5
57
Part 5
58
Part 5
59
MM7: submission
Transaction flow
Response
Request
Part 5
60
MM7:
submission,
example
Request
Part 5
61
Part 5
62
MM7: delivery
Transaction flow
Request
Response
Part 5
63
MM7: cancel
Request
Response
Part 5
64
Transaction flow
MM7: replace
Transaction flow
Request
Part 5
65
Response
Request
Part 5
66
Response
Request
Part 5
67
Response
Response
Part 5
68
Part 5
69
Part 5
70