MM7 Schemas and MMS Version Number Confusion

Posted by on Mar 10, 2009 in Support Blog | 0 comments

In a recent posting, I posted a reference to the SMPP specification, which is the de facto standard for application generated SMS, as well as for interconnecting SMS systems.  The most commonly used version of the SMPP specification was published 10 years ago.

There are a few ambiguities in SMPP with regard to message encoding for long text messages, and delivery receipt formats.  But overall, it’s a stable protocol, and there are just a few advanced configuration options in NowSMS to adjust for minor inconsistencies in different implementations of the protocol.
MM7 is the defined standard for application generated MMS.  And in just a few short years, there were at least 24 versions of the specification released, and at least 10 different XML schemas, some of which have rather significant differences … not just additional elements, but there have been some changes to elements defined in previous versions … to the extent that applications cannot assume that elements are upward compatible to newer versions of the XML schema, which is a major headache.
It gets even a little more confusing, because first versions of the MMS specification to define MM7 defined it only in an abstract format, without a formal XML schema.  As a result of this, two major MMSC vendors, Ericsson and LogicaCMG, implemented their own non-standard versions of MM7.
When configuring an MM7 connection in NowSMS, we have allowed the user to configure the MM7 XML Schema version and MMS Version (element) to be used, providing support for variations in different versions of the XML schema.  We have also provided configuration options to support non-standard variations, such as the original implementations from Ericsson and LogicaCMG.
However, matching up the version and schema with that of the mobile operator to which you are connecting can be confusing.
In the next major release of NowSMS, we are automatically selecting the MMS version based upon the MM7 schema version selected.  However, until this release is made available, we thought it would be helpful to associate the MMS MM7 version numbers with the associated MM7 XML Schema version.
REL-5-MM7-1-0 – 5.3.0
REL-5-MM7-1-1 – 5.3.0 (version is actually 5.4.0, but schema requires 5.3.0)
REL-5-MM7-1-2 – 5.3.0 (version is actually 5.5.0, but schema requires 5.3.0)
REL-5-MM7-1-3 – 5.6.0
REL-5-MM7-1-4 – 5.8.0
REL-5-MM7-1-5 – 5.10.0
REL-6-MM7-1-0 – 6.3.0
REL-6-MM7-1-1 – 6.4.0
REL-6-MM7-1-2 – 6.5.0
REL-6-MM7-1-3 – 6.6.0
REL-6-MM7-1-4 – 6.8.0
The full path to these schemas is relative to:
http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/
For example:
http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2
When connecting to an operator MMSC over MM7, it is important to know the schema and verison number supported by the mobile operator.  If the operator only provides you with a version number or schema, then it is possible to correlate the correct value for the other setting based on the above table.
Unfortunately, there is a considerable amount of confusion over MM7 Version numbers and schemas, because of inconsistencies in the 3GPP TS 23.140 specification that defines MMS and MM7.  For example:
3GPP TS 23.140 version 5.5.0 defines the REL-5-MM7-1-2 schema.  However, section 8.7.8.1 of the specfication says that the schema URI should reference REL-5-MM7-1-1.   Complicating matters further, a version number value of 5.5.0 is NOT valid in either the REL-5-MM7-1-2 or REL-5-MM7-1-1 schema.  However, the version number 5.5.0 is valid for the REL-5-MM7-1-3 and later schemas!
3GPP TS 23.140 sersion 5.8.0 defines the REL-5-MM7-1-4 schema.  However, section 8.7.8.1 still says that the schema URI should reference REL-5-MM7-1-1, and all of the examples reference the REL-5-MM7-1-3 schema and version 5.6.0.   At least in this case, version number 5.8.0 is valid in the REL-5-MM7-1-4 schema.
Needless to say, the inconsistencies are maddening!
The most commonly supported version/schema combinations seem to be:
REL-5-MM7-1-2 – 5.3.0 (defined in version 5.5.0 of 3GPP TS 23.140)
REL-6-MM7-1-0 – 6.3.0
REL-5-MM7-1-0 – 5.3.0
All versions of the 3GPP TS 23.140 specification can be downloaded at the following link:  http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/

Related pages:

  • MM7 Schemas and MMS Version Number Confusion, revisited Receiving this e-mail about a recent post got me thinking that it might be worth sharing these thoughts here. It’s...
  • Connecting to an Operator MMSC with MM7 While NowSMS can function as an MMSC for direct MMS message delivery, this is not an option for most content...
  • MMS to a Phone Based Application Application Directed MMS:  Send an MMS to a Java app/MIDlet In the last post, I talked about sending SMS messages...
  • Mobile Operator MMSC The NowSMS MMSC supports standard MMS protocols published by the Open Mobile Alliance (OMA), 3GPP and 3GPP2, supporting person-to-person (phone-to-phone)...
  • MMSC Routing – MM7 Below is shown the configuration for an “MMSC Routing” using an MM7 connection to an operator MMSC (or other MMSC...
  • SMPP Information and Resources SMPP (Short Message Peer-to-Peer) Protocol is an industry standard protocol that is used for exchanging SMS messages between peer entities....
  • MM7 Before submitting a message via MM7, a VASP (Value Added Service Provider) account must be defined to the Now SMS...
  • How MMS Works This document describes how MMS works, with considerable technical detail and jargon.  For information about higher level APIs used for...
  • MMS Messages This document describes MMS messaging protocols, and how MMS works, with considerable technical detail and jargon.  For information about higher...
  • NowSMS MMSC NowMobile.com is a leading supplier of MMS, SMS and WAP products to the mobile wireless industry, with the Now SMS...

Topic Category:

For comments and further discussion, please click here to visit the NowSMS Technical Forums (Discussion Board)...