If you’d like to give end users to option to send MMS to your endpoint, you’ll need to configure your endpoint to receive these calls from Vibes. For more information on setting up your endpoint and whitelisting IPs, see our Receive SMS article

The format and parameters of each request and response may vary depending on the MM7 version that you choose to receive. Be sure you’ve selected your MM7 version before you begin.

👍

Blank responses

The MO and delivery responses can support blank responses. For a client who is new to MM7 and SOAP format, this allows an easier integration by accepting a response with HTTP 200 and a response text of blank.

MM7 5.5.0

🚧

Double-check your version

Vibes supports MM7 protocol for multiple versions of MM7, so be sure you’re referencing the correct MM7 version before you get started.

Skip to MM7 6.8.0

Example Request

This example highlights one example MIME payload. Please note that any MIME-formatted data can be delivered, as the content is created by the device and passed through without modification or alteration. This should be used as one example format and individual payloads can have varied MIME data.

POST /client/mms/deliver HTTP/1.1
Content-Type: multipart/related; type="text/xml"; boundary="----=_Part_1_2045721805.1414695261749"
User-Agent: Java/1.6.0_65
Host: 127.0.0.1:8092
Connection: keep-alive
Content-Length: 47103
------=_Part_1_2045721805.1414695261749
Content-Type: text/xml; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Id: 549710183.1414695261747.sun-soap.jeetumac.local
<?xml version="1.0" encoding="utf-16"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header>
        <mm7:TransactionID SOAP-ENV:mustUnderstand="1" xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4">becc3e4a6e065bd6</mm7:TransactionID>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
        <mm7:DeliverReq xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4">
            <mm7:MM7Version>6.8.0</mm7:MM7Version>
            <mm7:MMSRelayServerID />
            <mm7:Sender>
                <mm7:Number>+13127536330</mm7:Number>
            </mm7:Sender>
            <mm7:Recipients>
                <mm7:To>
                    <mm7:ShortCode>63901</mm7:ShortCode>
                </mm7:To>
            </mm7:Recipients>
            <mm7:Priority>Normal</mm7:Priority>
            <mm7:Subject>Hello Client</mm7:Subject>
        </mm7:DeliverReq>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
------=_Part_1_2045721805.1414695261749
Content-Type: multipart/mixed;
    boundary="----=_Part_1_504396287.1414695261748"
Content-ID: <<sample.gif>-<Simple.txt>>
Content-Disposition: inline; filename="null"
------=_Part_1_504396287.1414695261748
Content-Type: image/gif; name=sample.gif
Content-Disposition: attachment; filename=sample.gif
Content-ID: <sample.gif>
GIF89aÔ ....
------=_Part_1_504396287.1414695261748
Content-Type: text/plain; name=Simple.txt
Content-Disposition: attachment; filename=Simple.txt
Content-ID: <Simple.txt>
Simple Attachment
------=_Part_1_504396287.1414695261748--
------=_Part_1_2045721805.1414695261749--

Elements & Attributes of Request

ElementRequired?Description
TransactionIDYesThe transactionID associated with the message. Making this unique per request should help with the request tracking within the system.
MessageTypeYesDeliverReq
MM7VersionYes5.3.0

The MM7Version should be set to 5.3.0 because of a bug in the 5.5.0 XSD.
Sender IdentificationYes
VASPIDNoNot used. Authentication is based on the Authorization header value.
VASIDNoNot used. Authentication is based on the Authorization header value.
SenderAddressYesThe source address of the MMS message. The Shortcode element within the SenderAddress should have the source.
RecipientsYesThe destination address for the MMS. The Number element within Recipients → To should contain the destination.
TimeStampNo
PriorityNoMessage priority.
SubjectNoThe subject sent along with the MMS message.
ContentNo
hrefNo

Example Response

Below is an example of the response that should be generated by your endpoint and returned to Vibes. This sample complies with our specifications.

<?xml version="1.0" encoding="utf-16"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header>
        <TransactionID xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4">becc3e4a6e065bd6</TransactionID>
    </soapenv:Header>
    <soapenv:Body xmlns:ns3="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4">
        <ns3:DeliverRsp xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4">
            <ns3:Status>
                <ns3:StatusCode>1000</ns3:StatusCode>
                <ns3:StatusText>Success</ns3:StatusText>
            </ns3:Status>
        </ns3:DeliverRsp>
    </soapenv:Body>
</soapenv:Envelope>

Elements & Attributes of Response

ElementRequired?Description
TransactionIDYesThe transactionID associated with the message.
MM7VersionYes5.3.0

The MM7Version should be set to 5.3.0 because of a bug in the 5.5.0 XSD.
StatusCodeYesA numeric code indicating the result of the request.
StatusTextYesA free-text description of the result of the request.
DetailsNoOptional free text that may be included to further describe the result of the request.

MM7 6.8.0

🚧

Double-check your version

Vibes supports MM7 protocol for multiple versions of MM7, so be sure you’re referencing the correct MM7 version before you get started.

Skip to MM7 5.5.0

Example Request

This example highlights one example MIME payload. Please note that any MIME-formatted data can be delivered, as the content is created by the device and passed through without modification or alteration. This should be used as one example format and individual payloads can have varied MIME data.

POST /client/mms/deliver HTTP/1.1
Content-Type: multipart/related; type="text/xml"; boundary="----=_Part_1_2045721805.1414695261749"
User-Agent: Java/1.6.0_65
Host: 127.0.0.1:8092
Connection: keep-alive
Content-Length: 47103
------=_Part_1_2045721805.1414695261749
Content-Type: text/xml; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Id: 549710183.1414695261747.sun-soap.jeetumac.local
<?xml version="1.0" encoding="utf-16"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header>
        <mm7:TransactionID SOAP-ENV:mustUnderstand="1" xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4">becc3e4a6e065bd6</mm7:TransactionID>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
        <mm7:DeliverReq xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4">
            <mm7:MM7Version>6.8.0</mm7:MM7Version>
            <mm7:MMSRelayServerID />
            <mm7:Sender>
                <mm7:Number>+13127536330</mm7:Number>
            </mm7:Sender>
            <mm7:Recipients>
                <mm7:To>
                    <mm7:ShortCode>63901</mm7:ShortCode>
                </mm7:To>
            </mm7:Recipients>
            <mm7:Priority>Normal</mm7:Priority>
            <mm7:Subject>Hello Client</mm7:Subject>
        </mm7:DeliverReq>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
------=_Part_1_2045721805.1414695261749
Content-Type: multipart/mixed;
    boundary="----=_Part_1_504396287.1414695261748"
Content-ID: <<sample.gif>-<Simple.txt>>
Content-Disposition: inline; filename="null"
------=_Part_1_504396287.1414695261748
Content-Type: image/gif; name=sample.gif
Content-Disposition: attachment; filename=sample.gif
Content-ID: <sample.gif>
GIF89aÔ ....
------=_Part_1_504396287.1414695261748
Content-Type: text/plain; name=Simple.txt
Content-Disposition: attachment; filename=Simple.txt
Content-ID: <Simple.txt>
Simple Attachment
------=_Part_1_504396287.1414695261748--
------=_Part_1_2045721805.1414695261749--

Elements & Attributes of Request

ElementRequired?Description
TransactionIDYesThe transactionID associated with the message. Making this unique per request should help with the request tracking within the system.
MM7VersionYes6.8.0
VASPIDNoNot used. Authentication is based on the Authorization header value.
VASIDNoNot used. Authentication is based on the Authorization header value.
LinkedIDNoNot used.
SenderYesThe MDN that sent the MO MMS.

The MDN will be formatted in E.164 format.

The MDN will be wrapped in a <Number> element.
RecipientsYesThe Shortcode to deliver the message MMS to.
The MDN should be wrapped in a <ShortCode> element.
The ShortCode element will be wrapped in a <To> element.
Multiple ShortCodes will not be sent.
The <Cc> and <Bcc> elements will not be used.
The DISPLAYONLY flag will not be used.
PreviouslysentbyNo
PreviouslysentdateandtimeNo
SenderSPINo
RecipientSPINo
TimeStampNo
ReplyChargingIDNo
PriorityNoMessage priority.
SubjectNoThe subject sent along with the MMS message.
ApplicIDNo
ReplyApplicIDNo
AuxApplicInfoNo
UACapabilitiesNo
ContentNo
HrefNo

Example Response

Below is an example of the response that should be generated by your endpoint and returned to Vibes. This sample complies with our specifications.

<?xml version="1.0" encoding="utf-16"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header>
        <TransactionID xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4">becc3e4a6e065bd6</TransactionID>
    </soapenv:Header>
    <soapenv:Body xmlns:ns3="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4">
        <ns3:DeliverRsp xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4">
            <ns3:Status>
                <ns3:StatusCode>1000</ns3:StatusCode>
                <ns3:StatusText>Success</ns3:StatusText>
            </ns3:Status>
        </ns3:DeliverRsp>
    </soapenv:Body>
</soapenv:Envelope>

Elements & Attributes of Response

ElementRequired?Description
TransactionIDYesThe transactionID associated with the message from the submit request.
MM7VersionNo6.8.0
StatusCodeYesA numeric code indicating the result of the request.
StatusTextYesA free-text description of the result of the request.
DetailsNoOptional free text that may be included to further describe the result of the request.