Here an example (on PHP):
$message = "E90622";
$message .=
"6170706c69636174696f6e2f766e642e7761702e6d6d732d6d657373616765"; //
application/vnd.wap.mms-message
$message .= "00"; // Null Terminated
$message .= "AF84";
//---------- X-Mms-Message-Type ----------
/*
0x8C X-Mms-Message-Type
0x82 'm-notification-ind'
*/
$message .= "8C" . "82"; // m-notification-ind
/*
0x98 X-Mms-Transaction-ID
0x34 '4'
0x35 '5'
0x41 'A'
0x36 '6'
0x37 '7'
0x32 '2'
0x33 '3'
0x37 '7'
0x00 Terminating Zero
*/
//---------- X-Mms-Transaction-Id ----------
$rand = "somerandom";
$message .="98" . hex_encode("$rand") . "00";
//---------- X-Mms-Version ----------
// 0x8D X-Mms-MMS-Version
// 0x90 '1.0'
$message .= "8D" . "90"; // 1.0
//---------- X-Mms-Transaction-Id ----------
$message .="98" . hex_encode("$pin") . "00";
//---------- X-Mms-Version ----------
// 0x8D X-Mms-MMS-Version
// 0x90 '1.0'
$message .= "8D" . "90"; // 1.0
//---------- Subject ----------------
/* 0x96 Subject
0x4D 'M'
0x4D 'M'
0x53 'S'
0x00 Terminating Zero */
$message .= "96";
$sbj = "subjectMMS";
$message .= hex_encode($sbj) . "00";
//---------- X-Mms-Message-Class ----------
/*
0x8A X-Mms-Message-Class
0x80 'Personal'
*/
$message .= "8A80"; // 80 = personal, 81 = ad, 82=info, 83 = auto
//---------- X-Mms-Message-Size ----------
/*
0x8E X-Mms-Message-Size
0x04 4 bytes
0x00
0x00
0x1E
0xD3 7891 Bytes
*/
$message .= "8E020B05";
//---------- X-Mms-Expiry ----------
/*
0x88 X-Mms-Expiry
0x06 Field Size
0x80 Absolute Date Format ( 0x81 = Relative Date Format )
0x04 Size of Time field
0x45
0xA7
0xC3
0xB7 1168622519 Seconds from 1-1-1970
*/
$message .= "88058103015180";
//---------- X-MMS-Content-Location ----------
/*
0x83 X-Mms-Content-Location
0x68 'h'
0x74 't'
0x74 't'
0x70 'p'
0x3A ':'
0x6D '/'
0x6D '/'
...
0x00 Terminating Zero
*/
$mms_url = "http://blablabla/bla.mms";
$message .= "83" .hex_encode($mms_url). "00";
$udh = "0605040B8423F0";
$text = $message;
$udh = preg_replace("/(..)/","%$1",$udh);
$text = preg_replace("/(..)/","%$1",$text);
// Send it to kannel
// Put UDH and Text on parameter udh & text like this to your sendsms URL
// udh=$udh&text=$text
On Jan 18, 2008 10:07 PM, Andrew B <[EMAIL PROTECTED]> wrote:
> Ady Wicaksono wrote:
> > you might want to try mbuni (www.mbuni.org <http://www.mbuni.org>)
> > meanwhile make sure that your .mms is correct, please notes
> > this .mms files should be delivered by your webserver with right
> > content-type and also this file is not a XML/text files, it's a binary
> > file generated from SMIL/XML mms files format
> >
> >
> >
> > On Jan 17, 2008 10:16 PM, Andrew B <[EMAIL PROTECTED]
> > <mailto:[EMAIL PROTECTED]>> wrote:
> >
> > Hi,
> > I'm trying to use kannel (specifically the test_ppg portion of it)
> to
> > send out m-notification-ind messages to phones, that is, I am
> > trying to
> > send MMS notifications. I am not trying to have kannel act as an
> > MMSC,
> > but simply I am trying to get kannel to send out the notifications
> > (which are, as I understand it, simply WAP push messages with an MMS
> > header?)
> >
> > I have tried various combinations of things to get it to work, but
> > all
> > have failed.
> >
> > My current MMS header looks like this:
> >
> >
> 8C829831323334008D908A808E02FFFF8805810301518083687474703A2F2F666F6F2E636F6D2F6261722E6D6D7300
> >
> > Which I have been led to believe encodes the following:
> > 8c82 => X-Mms-Message-Type: m-notification-ind
> > 983132333400 => X-Mms-Transaction-Id: 1234
> > 8D90 => X-Mms-Version: 1.0
> > 8A80 => X-Mms-Message-Class: Personal
> > 8E02FFFF => X-Mms-Message-Size: 65535 Bytes
> > 88058103015180 => X-Mms-Message-Expiry: 24 hrs; type = relative
> > 83687474703A2F2F666F6F2E636F6D2F6261722E6D6D7300 =>
> > X-Mms-Content-Location: http://foo.com/bar.mms
> > <http://foo.com/bar.mms>
> >
> > One phone I have actually loads this as a picture message, but
> refuses
> > to open it, most phones never even hit the web-server hosting the
> MMS
> > message (hence why I don't need the MMSC, I'm just SENDING MMS
> > message
> > notifications with kannel, the messages are hosted on a regular
> > website)
> >
> > Thank you all for any insight into this, it's been troubling me
> > for weeks...
> > --Andrew
> >
> >
> >
> >
> > --
> > Regards,
> >
> > Ady Wicaksono
> > Email:
> > ady.wicaksono at gmail.com <http://gmail.com>
> > http://adywicaksono.wordpress.com/
> Yeah, my MMS file is correct, and valid (it was created using Nokia's
> Multimedia Factory or whatever it's called)
> My main issue is how to encode 3 of the fields in the m-notification-ind
> message...
>
> 8D90 => X-Mms-Version: 1.0
> 8E02FFFF => X-Mms-Message-Size: 65535 Bytes
> 88058103015180 => X-Mms-Message-Expiry: 24 hrs; type = relative
>
>
> The standards make me think that the version tag should be 8D10 for
> version 1.0, but maybe there's some byte swapping going on that I don't
> know about (speaking of which, is the binary encoding standard for all
> this big, or little endian?
>
> Secondly, for the message size, the standard says it's a long int, but
> one example I saw said that the first octet after the 8E was how many
> octets were used for the size (so 8E02FFFF means message size is 2
> octets: FFFF or 65535. on my phone, it says that the message is a
> negative size... (the standards also state that this flag, while
> required, isn't really important.
> and I am utterly confused on the message expiry tag... 88 05 apparently
> means it uses 5 octets, the 81 means that it's relative time... and the
> rest means 24 hours...
>
> I know this is a valid m-notification-ind message... I just want to know
> why, and those are the only 3 fields I'm not 100% positive about.
>
> --Andrew
>
>
--
Regards,
Ady Wicaksono
Email:
ady.wicaksono at gmail.com
http://adywicaksono.wordpress.com/