Search code examples
androidmms

How to order parts of mutlipart mms when sending programmaticaly


i have problems to order parts of mms the way i want. The problem is that text is always after iamges but i don't want this. I tried the content type parameter level but it did not have results. In fact, I don't know what does it serve because i can't find anything on wap documentation about most of the parameters. Is there a way to order body parts ? Thanks.


Solution

  • It looks like you can try this:

    SOAP attachment : multipart /related 
    -----part 1 
    -----multipart/mixed 
        -------------part 1 
        -------------part 2 
        -------------part 3
    

    The inner MIME part can be multipart/mixed or multipart/related.
    Multipart/related is used if a SMIL presentation is present.
    Multipart/mixed is used if no SMIL presentation is present.

    See the section at 6.4

    I've also come across some more concrete examples courtesy of NowSMS (the aggregator shouldnt matter) - but keep in mind it looks like the MMSC has to support it as well.

    The “Content-type:” header in the POST should be one of the “multipart” types (usually “multipart/related”), and should include a “boundary=” parameter that delimits the different parts of the message.

    The first part of the multipart message is expected to be the XML for the MM7 request, and we’re going to expect to see a section with at least one , or recipient specified.

    The second part of the multipart message is expected to be the content for the MMS message, and this in turn will usually be another MIME multipart structure.

    The following example is adapted from the official MM7 specification that is included in the 3GPP TS 23.140 specification:

    Note that this example does not include a SMIL file, and as part of the MMS content, you would probably want to include a SMIL file (application/smil), which this example does not include.

    Also note that the MM7 XML portion of the document (the first part of the main multipart content) should not use any Content-Transfer-Encoding, it should always be expressed without any encoding. For the portion of the document that includes the MMS content itself, you can use Content-Transfer-Encoding of either quoted-printable or base64, or no encoding can be specified in which case it is assumed that the binary data is to be included as is.

    Their example is (and sorry the XML is not properly formatted):

    POST /mm7 HTTP/1.1
    Host: mms.omms.com
    Content-Type: multipart/related; boundary=”NextPart_000_0028_01C19839.84698430″; type=text/xml; start=”</tnn-200102/mm7-submit>”
    Content-Length: nnnn
    SOAPAction: “”
    
    –NextPart_000_0028_01C19839.84698430
    Content-Type:text/xml; charset=”utf-8″
    Content-ID: </tnn-200102/mm7-submit>
    
    <?xml version=”1.0″ ?>
    <env:Envelope xmlns:env=”http://schemas.xmlsoap.org/soap/envelope/”>
    <env:Header>
    <mm7:TransactionID xmlns:mm7=”http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-M M7-1-3″ env:mustUnderstand=”1″>
    vas00001-sub
    </mm7:TransactionID>
    </env:Header>
    <env:Body>
    <SubmitReq xmlns=”http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-3″>
    <MM7Version>5.6.0</MM7Version>
    <SenderIdentification>
    <VASPID>TNN</VASPID>
    <VASID>News</VASID>
    </SenderIdentification>
    <Recipients>
    <To>
    <Number>7255441234</Number>
    </To>
    <Cc>
    <Number>7255443333</Number>
    </Cc>
    <Bcc>
    <RFC2822Address>7255444444@OMMS.com</RFC2822Address>
    </Bcc>
    </Recipients>
    <ServiceCode>gold-sp33-im42</ServiceCode>
    <LinkedID>mms00016666</LinkedID>
    <MessageClass>Informational</MessageClass>
    <TimeStamp>2002-01-02T09:30:47-05:00</TimeStamp>
    <EarliestDeliveryTime>2002-01-02T09:30:47-05:00</EarliestDeliveryTime>
    <ExpiryDate>P90D</ExpiryDate>
    <DeliveryReport>true</DeliveryReport>
    <Priority>Normal</Priority>
    <Subject>News for today</Subject>
    <ChargedParty>Sender</ChargedParty>
    <DistributionIndicator>true</DistributionIndicator>
    <Content href=”cid:SaturnPics-01020930@news.tnn.com” allowAdaptations=”true”/>
    </SubmitReq>
    </env:Body>
    </env:Envelope>
    –NextPart_000_0028_01C19839.84698430
    Content-Type: multipart/mixed; boundary=”StoryParts-74526-8432-2002-77645″
    Content-ID:SaturnPics-01020930@news.tnn.com
    
    –StoryParts-74526-8432-2002-77645
    Content-Type: text/plain; charset=”us-ascii”
    
    Science news, new Saturn pictures…
    –StoryParts-74526-8432-2002-77645
    Content-Type: image/gif
    Content-ID:<saturn.gif>
    Content-Transfer-Encoding: base64
    
    R0lGODlhSAAcAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/
    /////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm
    AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/
    MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm
    ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/
    mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm
    zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/
    /5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ
    AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA
    M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ
    ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A
    mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z
    zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAABIABwA
    AAj/AP8JHEiwoMGDCBMqXMiwocOF1A5GNDjxoUWJ/1Bo3LhxSkeODCtedFiRmsZ/JQ1yXBmxJcqR
    MAlOcXiSoEaPM2PqzIhCoMiDNV0K7Lnxpc+dDHs+rKlyaFGkDZUW/OnzZMqhRjdShWrzIsimNp8q
    vKpypdmzGluebYpWKtmBFT+azUiX6M2zONty9Ig2JM++egMLFvw3YUS7Hf+uzDsYBd+Pj/fO5UuQ
    WlynRecqbsy5McKekdcO7Py4tFzHgyuPTr26s2vCBQPnbW26cWizHjFrfnla7+bXgw/7vnwXN2rJ
    RXHyrH28bc7MiD8jBh69d2C6JkFKfSkSde6BOQs+X/9efHHv5ccxFzb827pm6NpPuseqm6lCsV2p
    1a7Ls3/b+60pRRVZPU1kFWD/bXeUUHDRVdVRSxWXkFSUfQWThSNlh8JW9GUUWoMxMchVWfThN+JD
    KXHIm3z2IaWiQAEBADs=
    –StoryParts 74526-8432-2002-77645–
    –NextPart_000_0028_01C19839.84698430–
    

    This is just a quick example of an MM7 connection to help you get started.

    Note that in the above example, the binary data for the image has been base64 encoded. This is not necessary when submitting MMS messages to NowSMS using MM7. The standard 8-bit binary data can be included in the MIME object without encoding.