Topic Keywords: MM4, operator MMSC
MM4 is the standard protocol that is defined for connecting together two or more MMSCs.
MM4 is an SMTP based protocol, meaning that the MM4 protocol defines how MMS messages are encapsulated for delivery over the SMTP protocol.
In NowSMS, to define an MM4 interconnection, it is necessary to define two components.
The outbound connection to the other MMSC is defined under “MMSC Routing”.
The inbound connection from the other MMSC is defined under “MMSC VASP”.
Part 1: Outbound – “MMSC Routing”
To define an outbound/”MMSC Routing” for the MM4 connection to the other MMSC, here are the basic settings you need to know:
“Account Name” is a name that is used to identify the connection within NowSMS only.
“Account Description” is a description that is used to identify the connection within NowSMS only.
“Default Sender Address” should be left blank.
“Allow Sender Address Override” should be checked.
“Route Messages to this account for recipient phone numbers” should have a list of phone number patterns to be routed to this other MMSC … e.g., +234*,+44*
Alternatively, instead of defining number patterns, it is possible to define this routing as the “Default Route” on the “MMSC Routing” page. This means that the route will be used as a default, unless a better match is found in another “MMSC Routing” definition. (For example, if another “MMSC Routing” was defined as the “Default Route”, but this route had the number patterns +234*,+44* … a message to +447777777777 would go this route instead of the “Default Route”.)
“Route messages to VASP via” should be set to “MM4”.
“Server Address” is the DNS host name or IP address for the external MM4 connection. It can have the following format: host.name, ip.address, host.name:#### or ip.address:#### …. the #### is a port number, if a port number is not specified, 25 (the standard SMTP port) is assumed.
“Login Name” and “Password” specify a username and password to be used for SMTP basic authentication. Most MMSCs do not use any type of username authentication, and they authenticate based upon IP addresses only. In that case, these fields should be left blank.
“E-Mail Domain” refers to the e-mail domain name for MMS messages that is used by the other system (e.g., phonenumber@domain.name).
“Message Format” is normally set to MM4, which means that standard MM4 headers are used in the messages. For special circumstances, the SMTP setting will avoid the use of MM4 specific headers.
“Request MM4 Ack” can be set to “Yes” or “No”, depending on the requirements of the partner. It is usually best to start with “Yes”, but some partners may reject messages unless this parameter is set to “No”.
“3GPP MMS Version” should only be changed if a specific version is required by the partner.
“Max Connections” can be set to allow multiple concurrent connections to the partner for higher throughput. In most situations, this field can be left blank, where it defaults to 1.
Once this “MMSC Routing” definition is in place, any MMS messages that are addressed to a phone number that matches one of the patterns defined in “Route Messages to this account for recipient phone numbers” will be routed via this connection.
Part 2: Inbound – “MMSC VASP”
The next step is to define an inbound connection to allow your MMSC to accept messages from the other MMSC. This is done by defining an “MMSC VASP” account.
The “Account Name” and “Password” fields are used to define authentication parameters that allow the partner to submit messages to your MMSC. Most MMSCs do not support user-based authentication. In this case, you need to define the external IP address of the other MMSC as the “Account Name” and leave the “Password” field blank. If the MMSC has multiple IP addresses from which it will connect to you, then multiple “MMSC VASP” definitions must be defined.
“Account Description” is a description that is used only within NowSMS itself.
“IP Address Restrictions” is a comma delimited list of IP addresses from which the partner is allowed to connect. (This setting is somewhat redundant if the “Account Name” is an IP address.)
“Accept Connections via” should be set to MM4 for an MM4 connection.
“VASP Sender Address” should be left blank.
“Allow Sender Address Override” should be checked.
“MM4 Ack Routing” should be set to the name of the outbound “MMSC Routing” definition that you defined for routing messages to the other MMSC. (This ensures that acknowledgments are sent back to the correct server.)
“3GPP MMS Version” should be changed only if a specific version is required by your partner.
“MM7 Schema” is not used for MM4 connections.
“Remove White Space from XML” is not used for MM4 connections.
“MMSC Routing for Received Messages” should be set to “Standard MMS Delivery”.
Credit balances and message sending limits are normally not used for MM4 interconnection partners.
Additional Information: MMS Accounting Callbacks
When external MMSC Routes exist, such as these MM4 connections, there are additional parameters in the MMS Accounting Callbacks, beyond the parameters defined in https://nowsms.com/support/bulletins/tb-nowsms-001.htm.
The following additional parameters may be present in both the MMSSend PreAuth Callback and the MMSSend Accounting Callback:
VASPIN=xxxxxxx – This parameter is present if the message was received via an inbound connection defined in the “MMSC VASP” list.
VASP=xxxxxxx – This parameter is present if the NowSMS MMSC is routing the message to an outbound connection defined in the “MMSC VASP” list.
Additional Information: MMS Routing Callbacks
Sometimes the “Route Messages to this account for recipient phone numbers” parameter setting in an “MMSC Routing” definition is not flexible enough for real world environments with Mobile Number Portability (MNP).
The NowSMS MMSC implements a dynamic MMS routing callback facility for environments where more advanced MMS routing capabilities are required.
The standard NowSMS MMSC configuration allows for MMS routing based upon phone number prefixes. However, in MNP environments, it may be necessary to query a database to determine how to properly route an MMS message.
Dynamic MMS routing callbacks also allow for MMS routing control based upon who submitted the MMS message. For example, it may be desirable to block MMS sending to international destinations for some or all MMS VASP accounts.
More information on these routing callbacks can be found in the following post:
For comments and further discussion, please click here to visit the NowSMS Technical Forums (Discussion Board)...