MMS Diameter Charging with NowSMS NextGen

MMS Diameter Charging with NowSMS NextGen SearchSearch
Author Message
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 8451
Registered: 10-2002
Posted on Thursday, June 24, 2021 - 09:27 pm:   

The process of configuring the NowSMS MMSC to use Diameter to interface with a charging system is described here:

This document explains how to adapt the above instructions to configure NowSMS NextGen to use Diameter for MMS charging.

Step 1: Refer to the section titled "MM9Test Program". There is a link to a ZIP file ( which contains mm9test.exe, which is a command-line program for Windows that is used to test and configure how the MMSC will interface with your charging system. mm9test.exe is only available for Windows at this time.

Use mm9test.exe to determine what parameters and formats are required to interface with your charging system.

The ZIP file includes two XML files that are used to define the format of the Diameter packets generated by the MMSC.

diameter-capabilities-exchange.xml defines the capabilities exchange request that is used to initiate the connection and diameter-credit-control.xml defines the charging packet format. Diameter is not an XML-based protocol, but the MMSC uses these templates to define what AVPs (attribute-value pairs) are included in Diameter requests.

Some of the AVPs in the XML are conditionally included based on whether a particular “extension set” is required. Based on our experience, different servers require different AVPs. In our default XML, we grouped these parameters as “extension sets”. Parameters marked with an extensionset attribute in the XML are enabled only if the corresponding extension set is enabled. Our experience is that most customers will be able to successfully use Diameter with either the SCAP or 3GPP extension set enabled.

When you have successfully completed a charge, and MM9 reports a successful "Diameter Result Code 2001", you are then ready to configure the MMSC for Diameter charging.

Step 2: Configure the MMSC to enable Diameter charging.

  • Create directory /var/lib/nowsms/DIAMETER
  • Copy diameter-capabilities-exchange.xml and diameter-credit-control.xml to /var/lib/nowsms/DIAMETER
  • Copy & paste the [MM9Diameter] section of mm9test.INI, adding it to MMSC.INI (Do not include the [MM9DiameterTest] section, which contains settings specific to the mm9test utility.)

Adding the [MM9Diameter] section is what enables Diameter charging. It will activate within about 60 seconds of adding the [MM9Diameter] section to the MMSC.INI file.

All client MM1 submissions will see a Diameter charge, and MMS messages will be rejected if a 2001 status is not received.

If you need to remove Diameter charging, remove the [MM9Diameter] section from the MMSC.INI file.

Known bugs and issues that exist in versions prior to 2021.06.24:

  • The [MM9Diameter] section must be added to both SMSGW.INI and MMSC.INI. The MMSC should only be reading the settings from MMSC.INI, but is sometimes reading from SMSGW.INI.
  • Removing the [MM9Diameter] section will not turn off Diameter charging until the NowSMS service is restarted. If necessary, use the command NowSMS /restart
  • If 3GPP-SGSN-MCC-MNC and 3GPP-SGSN-ADDRESS attributes are available to the MMSC, they might be encoded incorrectly in the Diameter packet, with a leading ":" character. This problem can be worked around by adding the following lines to the [MM9Diameter] section of MMSC.INI:


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