MM7 Deliver

MM7_Deliver

Receive MMS MO submitted by end users to your platform

Skycore delivers messages from end users to your platform by supplying the MMS as the payload of the request message. The deliver request is made using MM7 SOAP “DeliverReq”. Message include identification of the request that is used by your platform to correlate a response to the message. Your platform must reply with a SOAP response “DeliverRsp”, indicating that the message was successfully received and will be processed. If you cannot identify the requested content or if the delivered content does not fulfill the conditions you’d expect, then your platform should indicate a failure in the “DeliverRsp” status field.

MM7_Deliver.REQ

MM7 MO deliver request elements

1. HTTP header elements

Header NameDescriptionReturned
X-Skycore-Carrier-IdSkycore Mobile Operator ID.
Examples: AT&T=0001470, Verizon=0001890.
See all Skycore Operator IDs.
Only when provided by mobile operator

2. Elements in the SOAP header and body

ElementDescriptionReturned
TransactionIDIt is a Skycore generated transaction ID.Identifies the DeliverReq/DeliverRsp pair.Always
DeliverReqIdentifies the message as an MM7 deliver request.Always
MM7VersionIdentifies the MM7 Version.
See all supported MM7 Versions & Namespaces
Always
SenderThe mobile phone number of the end user. This must be a valid mobile number in international format without a leading + symbol; for example: 12515550123 (US) and 447700900750 (UK).Always
RecipientsThe address of the message recipients i.e., Shortcode/LongcodeAlways
LinkedIDIdentifier for the MO message. This is a Skycore generated ID.Always
TimeStampThe date and time of the submission of the MO message. This value is in UTC.Always
PriorityThe priority (importance) of the message. Possible values: High, Normal, LowOnly when provided by mobile operator
SubjectTitle of the whole multimedia message.Only when provided by mobile operator
ContentA reference to the content of the MM7 message. Contains an “href:cid” attribute that links to the content ID of the first attachment in the MM7 message.Only when provided by mobile operator
UACapabilitiesInformation about the capabilities of the MMS user agent that originated the multimedia message. In this context, the associated timestamp is not populated.Only when provided by mobile operator

See Unsupported elements

Example

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<soap-env:Envelope xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env::Header>
   <TransactionID xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4" soap-env:mustUnderstand="1">1000001</TransactionID>
</soap-env::Header>
<soap-env::Body>
   <DeliverReq xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4">
      <MM7Version>6.8.0</MM7Version>
      <LinkedID>1000001</LinkedID>
      <Sender>
         <Number>1617423433</Number>
      </Sender>
      <Recipients>
         <To>
         <Number displayOnly="false">111122</Number>
         </To>
      </Recipients>
      <TimeStamp>2014-04-14T16:15:23.414Z</TimeStamp>
      <Priority>Normal</Priority>
      <Content href="cid:default.cid" allowAdaptations="true"/>
   </DeliverReq>
</soap-env:Body>
</soap-env:Envelope>

MM7_Deliver.RES

MM7 MO deliver response elements

Your system should respond to the deliver request with a deliver response containing the elements described in the following table. Returning any HTTP response other than HTTP 200 will trigger a retry.

ElementDescriptionRequired
TransactionIDIdentifies the DeliverReq/DeliverRsp pair. It is part of the SOAP header. You must return the same value as the one provided in the request.No
DeliverRspIdentifies the message as a MM7 Deliver Response. If you do not provide this element it will not be considered a valid response.Yes
MM7VersionIdentifies the MM7 Version. Typically you would respond with the same version as the request.No
StatusCodeA code that indicates whether you received the MO message request successfully. The status code for success is 1000. Any other status code will trigger a retry.Yes
StatusTextHuman readable description of the status. This text is informational only.No

Example

<?xml version="1.0" encoding="UTF-8" ?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header>
   <TransactionID xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4" soap-env:mustUnderstand="1">1000001</TransactionID>
</soap-env:Header>
<soap-env:Body>
   <DeliverRsp xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/
   schema/REL-6-MM7-1-4">
      <MM7Version>6.8.0</MM7Version>
      <Status>
         <StatusCode>1000</StatusCode>
         <StatusText>Successfully received MMS</StatusText>
      </Status>
   </DeliverRsp>
</soap-env:Body>
</soap-env:Envelope>

Receive MMS MO Full Example

Request

POST / HTTP/1.1
SOAPAction: "http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4"
Content-Type: multipart/related; start="soap-start"; type="text/xml"; 
        boundary="----=_Part_139078_1411587550.1397492135426"
Host: api.skycore.com
Content-Length: 2546
X-Skycore-Carrier-Id: 0001890
Connection: Keep-Alive

------=_Part_139078_1411587550.1397492135426
Content-Type: text/xml
Content-ID: <soap-start>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<soap-env:Envelope xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env::Header>
   <TransactionID xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4" soap-env:mustUnderstand="1">1000001</TransactionID>
</soap-env::Header>
<soap-env::Body>
   <DeliverReq xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4">
      <MM7Version>6.8.0</MM7Version>
      <LinkedID>1000001</LinkedID>
      <Sender>
         <Number>1617423433</Number>
      </Sender>
      <Recipients>
         <To>
         <Number displayOnly="false">111122</Number>
         </To>
      </Recipients>
      <TimeStamp>2014-04-14T16:15:23.414Z</TimeStamp>
      <Priority>Normal</Priority>
      <Content href="cid:default.cid" allowAdaptations="true"/>
   </DeliverReq>
</soap-env:Body>
</soap-env:Envelope>

------=_Part_139078_1411587550.1397492135426
Content-Type: multipart/mixed; 
        boundary="----=_Part_139079_1300104441.1397492135426"
Content-ID: <default.cid>

------=_Part_139079_1300104441.1397492135426
Content-Type: image/jpeg
Content-Transfer-Encoding: binary
Content-ID: image_0.jpg
<Binary contents>

------=_Part_139079_1300104441.1397492135426
Content-Type: text/plain
Content-Transfer-Encoding: binary
Content-ID: text_0.txt
Test MO message!

------=_Part_139079_1300104441.1397492135426--

------=_Part_139078_1411587550.1397492135426--

Response

HTTP/1.1 200 OK
Server: Apache
Content-Type: application/xml; charset=utf-8
Content-Length: 715
Date: Mon, 16 Mar 2015 17:46:59 GMT

<?xml version="1.0" encoding="UTF-8" ?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header>
   <TransactionID xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4" soap-env:mustUnderstand="1">1000001</TransactionID>
</soap-env:Header>
<soap-env:Body>
   <DeliverRsp xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/
   schema/REL-6-MM7-1-4">
      <MM7Version>6.8.0</MM7Version>
      <Status>
         <StatusCode>1000</StatusCode>
         <StatusText>Successfully received MMS</StatusText>
      </Status>
   </DeliverRsp>
</soap-env:Body>
</soap-env:Envelope>

Unsupported MM7 SOAP Elements

MM7_Deliver.REQ

ElementDescription
ApplicIDThe presence of this information element indicates that this abstract message shall be provided to an application residing on an MMS User Agent. It contains the identification of the destination application
AuxApplicInfoIf present, this information element indicates additional application/implementation specific control information
MMSRelayServerIDIdentifier of the MMS Relay/Server
RecipientSPIThe SPI of the intended MM recipient, in case the MM was delivered to VASP based on the recipient address
ReplyApplicIDIf present, this information element indicates a “reply path”, i.e. the identifier of the application to which delivery reports, read-reply reports and reply-MMs are addressed if any
ReplyChargingIDIn case of reply-charging when the reply-MM is submitted within the MM7_deliver.REQ this is the identification of the original MM that is replied to.
SenderSPIThe SPI of the MM originator