MM7_Submit

Send MMS MT to end users

To send a multimedia message, you send an MT message as a submit request to Skycore and supply the multimedia message as the payload. When Skycore accepts your MT message, we respond to you with a success status using “SubmitRsp” response. This indicates that your message was accepted for delivery. It does not, however, indicate that your message was delivered to the device. If the MT message was received in error, we respond to you with a failure status using SOAP fault “RSErrorRsp” response.

Using the mobile operator ID in an MM7 request

You can supply the mobile operator details as an ID in the request header of an MM7 “SubmitReq” request. If you do not supply the mobile operator, Skycore would look it up (this may be a separately charged fee, depending on your contract). The same mobile operator ID is returned in the HTTP header of delivery reports and MO requests. For the best throughput performance, you should include the mobile operator ID in each request, otherwise an operator lookup is needed before we can forward the message to the mobile operator.

Header Name Description Required
X-Skycore-Carrier-Id Skycore Mobile Operator ID.
Examples: AT&T=0001470, Verizon=0001890.
See all Skycore Operator IDs.
No

MM7_Submit.REQ

Supported MM7 SOAP envelope request elements

Element Description Required
TransactionID The identification of the MM7 SubmitReq/SubmitRsp pair. It is located in the SOAP header. You supply this in the MM7 SubmitReq and Skycore returns it in the corresponding SubmitRsp. Yes
SubmitReq Identifies the message as an MMS MT submit. This is the message type for an MT request. Yes
MM7Version Identifies the MM7 Version.
See all supported MM7 Versions & Namespaces
Yes
VASPID Skycore provides an API key after your account is provisioned which is your VASPID. Yes
VASID Your account manager will provide you with a VASID for each shortcode. It is mandatory for accounts using shared shortcodes, otherwise optional. No
SenderAddress This is your shortcode. Should be provisioned and configured to your account and service. Yes
Recipients The 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). Multiple numbers are NOT supported. Yes
Subject Title of the whole multimedia message. Recommended size is 80 characters. No
Content Content of the multimedia message. href:cid attribute links to attachment. Yes
allowAdaptations Indicates if you wish to allow the mobile operator to re-encode (transcode) the content to make the content more suitable to the target handset. Each mobile operator may choose to obey or ignore this field; for example, some mobile operators assume or require by default the option to transcode content. AllowAdaptations is an attribute of Content element. The value must be Boolean (either true or false). Yes

See Unsupported elements

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>
        <SubmitReq xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4">
            <MM7Version>6.8.0</MM7Version>
            <SenderIdentification>
                <VASPID>skfdjslkjfdslkfj434das</VASPID>
                <VASID>126273</VASID>
                <SenderAddress>
                    <ShortCode>111122</ShortCode>
                </SenderAddress>
            </SenderIdentification>
            <Recipients>
                <To>
                    <Number>16172383232</Number>
                </To>
            </Recipients>
            <Subject>My first MM7 Message</Subject>
            <Content allowAdaptations="false" href="cid:generic" />
        </SubmitReq>
    </soap-env:Body>
</soap-env:Envelope>

MM7_Submit.RES

Supported MM7 SOAP envelope response elements

Element Description Returned
TransactionID The identification of the MM7 SubmitReq/SubmitRsp pair. It is located in the SOAP header. You supply this in the MM7 SubmitReq and Skycore returns it in the corresponding SubmitRsp. Yes
SubmitRsp Identifies the message as a MM7 Submit Response. This is the message type for an MT response. Yes
MM7Version Identifies the MM7 Version.
See all supported MM7 Versions & Namespaces
Yes
StatusCode MT message submit acception/rejection is based on Success/Failure status code. “Success” response does not mean the message was delivered to the handset.
See all Status Codes
Yes
StatusText Description of the status code. Yes
MessageId If the MT message submit is successful then this contains the Skycore generated ID of the submitted message. This ID is expected in the delivery reports relating to this message. Yes


Example: Success

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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>
      <SubmitRsp 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 parsed and validated request</StatusText>
         </Status>
         <MessageID>369500617770864640</MessageID>
      </SubmitRsp>
   </soap-env:Body>
</soap-env:Envelope>

Example: Failure

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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>
       <soap-env:Fault>
            <faultcode>soap-env:Client</faultcode>
            <faultstring>Client error</faultstring>
            <detail>
                  <RSErrorRsp 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>2007</StatusCode>
                        <StatusText>Unable to parse request</StatusText>
                        <Details>Message format corrupt</Details>
                    </Status>
                  </RSErrorRsp>
            </detail>
        <soap-env:Fault>    
   </soap-env:Body>
</soap-env:Envelope>

MT Submit Full Example

Request:

POST /mm7/v1 HTTP/1.1
Authorization: Basic dW5pdmyc2FsLXZhcj2YWwtdmFzcC1wd2Q=
Host: api.skycore.com
Accept: */*
Content-Type: multipart/related; boundary="mainBoundary"; type="text/xml"; start="<mm7-start>"
SOAPAction: "http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4"
Content-Length: 45454
X-Skycore-Carrier-Id: 0001890
Expect: 100-continue

--mainBoundary
Content-Type: text/xml; charset=utf-8
Content-ID: <mm7-start>

<?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">555e29f8879be</TransactionID>
    </soap-env:Header>
    <soap-env:Body>
        <SubmitReq xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4">
            <MM7Version>6.8.0</MM7Version>
            <DeliveryReport>true</DeliveryReport>
            <SenderIdentification>
                <VASPID>spUsdstW2u6GbvnMOsdseXrBa7NNLwTdKL</VASPID>
                <VASID>61295</VASID>
                <SenderAddress>
                    <ShortCode>111122</ShortCode>
                </SenderAddress>
            </SenderIdentification>
            <Recipients>
                <To>
                    <Number>16179593069</Number>
                </To>
            </Recipients>
            <Subject>My first MM7 Message</Subject>
            <ExpiryDate>2015-05-24T18:54:48+00:00</ExpiryDate>
            <TimeStamp>2015-05-21T18:54:48+00:00</TimeStamp>
            <Content allowAdaptations="false" href="cid:generic_content_id"/>
        </SubmitReq>
    </soap-env:Body>
</soap-env:Envelope>

--mainBoundary
Content-Type: multipart/related; start="<mms.smil>";
    boundary="subBoundary"; type="text/xml"
Content-ID: <generic_content_id>

--subBoundary
Content-Type: text/plain; charset=utf-8
Content-ID: <132c4ca56a209475>

MM7 Test Text
--subBoundary
Content-Type: application/smil; charset=utf-8
Content-ID: <mms.smil>

<?xml version="1.0" encoding="UTF-8"?><smil><head><layout><root-layout width="100%" height="100%"/><region id="Text" top="50%" left="0" height="50%" width="100%" fit="hidden"/></layout></head><body><par><text src="cid:132c4ca56a209475" region="Text"/></par></body></smil>
--subBoundary--

--mainBoundary--

Response:

HTTP/1.1 200 OK
Content-Type: application/xml; charset=utf-8
Date: Mon, 16 Mar 2015 17:46:59 GMT
Server: Apache
Vary: Accept-Encoding,User-Agent
Content-Length: 715
Connection: keep-alive

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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>
      <SubmitRsp 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 parsed and validated request</StatusText>
         </Status>
         <MessageID>369500617770864640</MessageID>
      </SubmitRsp>
   </soap-env:Body>
</soap-env:Envelope>

MM7_Submit.REQ

Element Behavior Description
ApplicID Stripped This information element contains the identification of the destination application. Upon reception, the recipient MMS VAS Application shall provide this MM7_retrieve.REQ to the specified destination application
AuxApplicInfo Stripped If present, this information element indicates additional application/implementation specific control information
ChargedParty Error An indication which party is expected to be charged for an MM submitted by the VASP, e.g. the sending, receiving, both parties third party or neither. Possible values are “Sender”, “Recipient”, “Both”, “Neither”
ChargedPartyID Error The address/id of the third party which is expected to pay for the MM
ContentClass Stripped Classifies the content of the MM to the smallest content class to which the MM belongs. Possible values are “text”, “image-basic”, “image-rich”, “video-basic”, “video-rich”, “megapixel”, “content-basic”, “content-rich”
DeliveryCondition Stripped If the condition is met the MM shall be delivered to the recipient MMS User Agent, otherwise the MM shall be discarded. The initial values are: MMS capable only; HPLMN only; any other values can be added based on bilateral agreements between the MMS Relay/Server operator and the VASP.
DeliveryReport Default to true A request for delivery report. Boolean value true/false. Ask your account manager to turn off delivery reports.
DistributionIndicator Stripped If set to ‘false’ the VASP has indicated that content of the MM is not intended for redistribution. If set to ‘true’ the VASP has indicated that content of the MM can be redistributed. Boolean value true/false
DRMContent Stripped Indicates if the MM contains DRM-protected content. Boolean value true/false
EarliestDeliveryTime Stripped The earliest desired time of delivery of the MM to the recipient (time stamp). Date format is absolute or relative
ExpiryDate Default to 3 days The desired time of expiry for the MM (time stamp). Date format is absolute.
LinkedID Stripped This identifies a correspondence to a previous valid message delivered to the VASP.
MessageClass Pass Through Class of the MM (e.g. “Informational”, “Advertisement”, “Auto”)
Priority Pass Through The priority (importance) of the message. Possible values are “High”, “Normal”, “Low”
ReadReply Stripped A request for confirmation via a read report to be delivered. Boolean true/false value. Set it ‘true’ to receive MM7 Read Replies.
ReplyApplicID Stripped If present, this information element indicates a “reply path”. It contains the application identifier which shall be used by the recipient MMS VAS Application when a reply-MM or a read-reply report is created
ReplyCharging Error A request for reply-charging. No value. Presence implies true
replyChargingSize Error In case of reply-charging the maximum size for reply-MM(s) granted to the recipient(s). Optional attribute of ReplyCharging element. Positive integer value
replyDeadline Error In case of reply-charging the latest time of submission of replies granted to the recipient(s) (time stamp). Optional attribute of ReplyCharging element. Date format is absolute or relative
ServiceCode Pass Through Information supplied by the VASP which may be included in charging/billing information. The syntax and semantics of the content of this information are out of the scope of this specification.
TimeStamp Default to Submit time The time and date of the submission of the MM (time stamp)