MMS send method is not working with every carriers

MMS send method is not working with every carriers SearchSearch
Author Message
Olivier Paris
New member
Username: Olivierp

Post Number: 1
Registered: 03-2013
Posted on Thursday, March 14, 2013 - 04:45 pm:   

Hi, I posted a new thread but it did not appear, maybe because there was a link in the post. Here it is again.

First of all I am very new to the MMS world. MIME, SMIL, WAP push are all things I have met very recently.
I want to send a MMS message through commands to a HSPA+ cellular modem. By looking at the documentation on this website and other sources on the net I was able to figure it out and it was even working fine sending to the MMS gateway of a cellular carrier (Telus).
However when I tried with a different cellular carrier (Rogers Wireless), the MMS would never get delivered. The APN, MMSC, proxy, and port settings are correct because that configuration works when sending a MMS with a cellphone.

When I look at the log from the recipient’s cellphone activity, the MMS sent using Telus is marked as “Incomming MMS” while the MMS sent with Rogers on a cellphone is marked as “Data transmission”.
Is it possible I need to send the MMS with WAP push to be supported by most cellular carriers?

I would be very grateful if someone could confirm if I really need WAP push and if I could get hints on how it is done.

Here is how I sent the MMS using the cellular modem. It is working for Telus but not Rogers Wireless.
The following example is for Telus.
-------
POST xxxxxxxxxxxxxxxxxxxxx HTTP/1.1
Host: 74.49.0.18
Content-Type: application/vnd.wap.mms-message
Content-Length: 204

/*The following is the PDU message in a “readable” format*/
0x8C 0x80 // X-MMS-MESSAGE-TYPE = m-send-req
0x98 “20130313094107” // X-MMS-TRANSACTION-ID
0x8D 0x90 // X-MMS-MMS-VERSION = 1.0
0x85 0x04 0x51 0x33 0x1A 0xB3 // Date 2013/03/03 09:41:07
0x8B “20130313094107A” // Message-Id
0x89 0x1A 0x80 0x18 0x84 “+1xxxxxxx/TYPE=PLMN” // From
0x97 “+1xxxxxxx/TYPE=PLMN” // To
0x96 “xxxxxxxxxxxxxxxxxxxxxx” // Subject
0x8A 0x80 // X-MMS-MESSAGE-CLASS = Personal
0x8F 0x81 // X-MMS-PRIORITY = Normal
0x86 0x81 // X-Mms-Delivery-Report = No
0x90 0x81 // X-Mms-Read-Reply = No
0x84 0xB3 // Content-Type = application/vnd.wap.multipart.related
0x01 0x2B 0x1D // 1 part, header length 43, content length 29
0x0F 0x83 0x85 “mmsmsg.txt” 0x81 0x84 0xC0 0x22 “<mmsmsg.txt>” 0x8E mmsmsg.txt //header
“This is the content of a MMS.”

Thank you,
Olivier
Olivier Paris
New member
Username: Olivierp

Post Number: 2
Registered: 03-2013
Posted on Friday, March 15, 2013 - 09:58 pm:   

Is it possible the service provider requires MMS to be submited with the MM7 protocol?
I will try it and post the result.

Olivier
Olivier Paris
New member
Username: Olivierp

Post Number: 3
Registered: 03-2013
Posted on Friday, March 22, 2013 - 06:12 pm:   

I believe something else is needed as Rogers Wireless requires a data plan to send a MMS.

I have also used a unlocked cellphone on which I configured the proxy with my own IP address. When I send a MMS with the phone I can see the whole POST command with MMS PDU by using a socket listener. I was able to see exactly what my phone was sending but it was very similar to what I have been doing. I copied the whole data and tried sending it with my cellular modem but it still did not work.

Actually, here are the responses I get.
From Telus, this one successfully sends the MMS

HTTP/1.1 200 OK
Date: Fri, 22 Mar 2013 14:45:19 GMT
Content-Type: application/vnd.wap.mms-message
Content-Length: 73
Via: 1.1 wap2.telusmobility.com:8088

20130313094107 MMS brought to you by TELUS AFFMbn8AEHK0ASkKIe4N

And from Rogers Wireless. The MMS is not delivered.

HTTP/1.1 200 OK
Date: Fri, 22 Mar 2013 14:57:59 GMT
Server: Apache-Coyote/1.1
Content-Type: application/vnd.wap.mms-message
Content-Length: 22
Set-Cookie: JSESSIONID=8D2F74876CDB40DA9EB00AAFBA474E1B; Path=/mms
Connection: close
Content-Language: ca
X-Pad: avoid browser bug

20130313094107


Anybody knows what else I need to do to get the SMS delivered?

Regards,
Olivier
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4335
Registered: 08-2008
Posted on Friday, March 22, 2013 - 09:01 pm:   

H Olivier,

What is the hex of the response data? I'm wondering if it has an error code that might provide a clue. I notice that it is much shorter in length than your successful attempt.

--
Des
NowSMS Support
Olivier Paris
New member
Username: Olivierp

Post Number: 4
Registered: 03-2013
Posted on Tuesday, March 26, 2013 - 07:18 pm:   

Hi Des,

Thank you for taking the time to follow up on this. Here are the responses with all hex characters.

HTTP/1.1 200 OK<0x0D><0x0A>
Date: Fri, 22 Mar 2013 14:45:19 GMT<0x0D><0x0A>
Content-Type: application/vnd.wap.mms-message<0x0D><0x0A>
Content-Length: 73<0x0D><0x0A>
Via: 1.1 wap2.telusmobility.com:8088<0x0D><0x0A>
<0x0D><0x0A>
<0x8C><0x81><0x98>20130313094107<0x00><0x8D><0x90><0x92><0x80><0x93>MMS brought to you by TELUS<0x00><0x8B>AFFMbn8AEHK0ASkKIe4N<0x00>


HTTP/1.1 200 OK<0x0D><0x0A>
Date: Fri, 22 Mar 2013 14:57:59 GMT<0x0D><0x0A>
Server: Apache-Coyote/1.1<0x0D><0x0A>
Content-Type: application/vnd.wap.mms-message<0x0D><0x0A>
Content-Length: 22<0x0D><0x0A>
Set-Cookie: JSESSIONID=8D2F74876CDB40DA9EB00AAFBA474E1B; Path=/mms<0x0D><0x0A>
Connection: close<0x0D><0x0A>
Content-Language: ca<0x0D><0x0A>
X-Pad: avoid browser bug<0x0D><0x0A>
<0x0D><0x0A>
<0x8C><0x81><0x98>20130313094107<0x00><0x8D><0x90><0x92><0x83>

Regards,
Olivier
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4343
Registered: 08-2008
Posted on Wednesday, March 27, 2013 - 12:14 pm:   

Hi Olivier,

This is the important bit:

<0x92><0x83>

It means:

X-Mms-Response-Status: Error-message-format-corrupt

Without a full detailed analysis, it's hard to say what might be wrong. But here are a few thoughts ....

The from header is generally inserted by the MMSC. The client should use the insert address token value.

Although not strictly required, there is an assumption by most MMS clients (and servers) that a SMIL file will be present. I'd have to go back and really analyse the specs, but the fact that you are using multipart/related but not including SMIL or other parameters (such as start=) may be a problem.

Finally, I'd strongly suggest that you take a look at your transaction with Wireshark. Make sure it can decode the request properly, and that its decode matches your intent.

--
Des
NowSMS Support
Olivier Paris
New member
Username: Olivierp

Post Number: 5
Registered: 03-2013
Posted on Tuesday, April 02, 2013 - 02:02 pm:   

I have something that seems to work every time now.
I did not spend enough time to pinpoint exactly what was wrong with my previous mms format, I am just happy it is working now.

I have attached the structure I am using if it can help anyone else.

Thank you very much for your help
Olivier
text/plainmms example for text and a JPG image using SMIL
mms_example.txt (2.3 k)

Add Your Message Here, or click here to start a new topic.
Post:
Bold text Italics Underline Create a hyperlink Insert a clipart image
Options: Automatically activate URLs in message
Action: