MMS issues associated with VoIP

I saw a post from douglerner asking about the MMS issues associated with VoIP. It’s a bit of a big question. As I put my thoughts together, I decided it should be it’s own post rather than a simple reply.

VoIP (Voice over Internet Protocol) is a service that has many standards associated with it. The majority of these standards are associated with the Session Initiation Protocol (SIP). Session Initiation Protocol - Wikipedia. Compliance with these standards allow interoperability between many different vendors and devices and software.

For VoIP messaging, the primary protocol standard is RFC 3428. RFC 3428: Session Initiation Protocol (SIP) Extension for Instant Messaging | RFC Editor. If you read the RFC 3428 document, you will find it refers to a single from address, single to address and simple text message. In fact, the document even use SMS as an example to compare it to.

For MMS (Multimedia Messaging Service), things get more complicated. Multimedia Messaging Service - Wikipedia. There are standards, but they are for cellular and mobile networks, not VoIP. In fact, the standards are so different, you could say they are incompatible.

Thus, VoIP.ms (https://voip.ms/) can’t be compliant with the standards associated with VoIP if they try to inject MMS into their protocols. However, they can still support MMS by providing some API (Application Programming Interface) services to receive and send MMS messages.

I did find one exception. For VoIP messaging, the standard (RFC 3428) has some flexibility for “Content-type”. It is normally “text/plain”, perfect for a SMS message. But other types are possible. For example, the Linphone app, https://www.linphone.org/, can accept and create a “Content-type” of “application/vnd.gsma.rcs-ft-http+xml”. That message’s content type contains media normally associated with MMS messages.

Thus, MMSGate2 is needed to connect or translate the VoIP.ms API to Linphone’s custom message content type. MMSGate2 has other features too. It allows messages to be delivered to more than one device, like a ring group. It also allows free messaging between extensions, just like Voip.ms allows free calls between extensions.

1 Like