You're on the right path - but there are a couple of things you should be aware of.<br><br>First, for MO (Mobile Orignated) MMS - it's quite straight forward: The Mobile Device sends an HTTP POST to the MMSC.  However, there is one very important detail missing: identity management.  In order for the MMSC to know "who" you are (aka who is posting the MMS Message), it relies on what has been traditionally known as a "WAP Gateway".  In the WAP2 Context, this is an HTTP Proxy (WAP1 has its own stack for communication between the mobile and the WAPGW).  Usually, when you create a PDP Context, the GGSN will send a RADIUS Accounting message to the WAP Gateway.  This gives the WAP Gateway you Mobile IP Address and your Phone Number.  When you do the HTTP POST to the MMSC, the MMSC relies on the WAP Gateway appending your Phone Number (MSISDN) as an HTTP Request header.  For security reasons, the MMSC is never directly accessible by the Mobile - only via the WAP Gateway.<br>
<br>So in order to support MO Originated MMS the following need to happen:<br>1) OpenGGSN needs to send RADIUS<br>2) An HTTP Proxy that appends the MSISDN as an HTTP Request Header needs to be had<br><br><br>Second, for MT (Mobile Terminated) MMS - you need everything for MO plus you need a Push Proxy Gateway.  That is, once an MMS is placed on your MMS it needs to alert the subscriber that they have an MMS waiting.  This is done by Posting an MMS Encapsulated MMS Notification to the PPG - with the subscriber's MSISDN as the recipient.  The PPG will then encapsulate the message, and send it as one or more specially crafted SMS's (typically via SMPP).  Once the mobile receives the MMS notification, it'll retrieve the MMS Content Location from the Notification.  It then sends an HTTP GET via the WAPGW to the MMS Location (this is a unique url like <a href="http://mmsc.carrier.com/fklvu348f9gervrfd">http://mmsc.carrier.com/fklvu348f9gervrfd</a>).  The WAPGW will append the MSISDN as a request header, and the MMSC will validate that the requester (based on MSISDN in request header) is the owner of the message.  If so, the response to the HTTP request will be the actual MMS Message.<br>
<br><br>So in addition to the requirements for MO Originated MMS, MT MMS also requires:<br>1) A Push Proxy Gateway<br><br>There are opensource PPGs available (See: Kannel).  Where the challenge is, is that OpenBSC does not have an SMPP Interface today (at least not osmo-nitb).<br>
<br>I believe there's also an opensource MMSC available today.  Additionally, I have written my own PPG and MMSC and could assist if you have questions on these.  The biggest challenge, I think is the SMPP Interface to OpenBSC.  Hacking RADIUS into openggsn, and hacking squid to support radius request headers (it may already support it?) seem very simple by comparison.<br>
<br>Thanks,<br>Gus<br><br><br><div class="gmail_quote">On Mon, Aug 15, 2011 at 2:33 AM, Simon Barnett <span dir="ltr"><<a href="mailto:n6vale@googlemail.com">n6vale@googlemail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi all,<br>
<br>
I would like to test sending MMS messages to mobile devices.  Out of<br>
the box I know OpenBSC supports SMS, which I have been able to use,<br>
however, I feel that MMS will be more tricky.  My initial thoughts are<br>
to set up OpenBSC with GPRS using this: -<br>
<br>
<a href="http://openbsc.osmocom.org/trac/wiki/OpenBSC_GPRS" target="_blank">http://openbsc.osmocom.org/trac/wiki/OpenBSC_GPRS</a><br>
<br>
And then try to bolt some kind of MMS support on top.  Before I get<br>
started though, I was wondering if anyone had done this before and/or<br>
had any ideas as to how I might go about implementing this.<br>
<br>
I really would appreciate any guidance anyone could offer me.<br>
<br>
Thanks in advance,<br>
<font color="#888888"><br>
Simon<br>
<br>
</font></blockquote></div><br>