Go to primary content
Oracle® Communications Diameter Signaling Router Service Capability Exposure Function User's Guide
Release 8.4
F12301-02
Go To Table Of Contents
Contents

Previous
Previous
Next
Next

MQTT Configuration

MQTT Broker exposes Management bean, accessible via OCSG Admin Portal.
  1. Access the DSR API GW Admin console using https://<Admin-Server-XMI-IP>:9002/console.
  2. Login using the admin account created when configuring the APIGW.
  3. Navigate to OCSG > AppServerx > Communication Services > Mqttbroker_rest_plugin_Instancexxx.
  4. Enter the required values for the fields shown in Figure A-24.

Figure A-24 MQTT Configuration

Attributes:

ListenPort

Description: TCP Listen port of MQTT Broker.

Scope: Local to AppServer.

AAAServerIntegration

Description: Enable/Disable AAA Integration. Option enabled always. Option given for future enhancements.

Scope: Shared across AppServers. Changes on one AppServer reflects on all other AppServers.

PSKHint

Description: PSK hint presented by MQTT broker in a response to MQTT Device TCP hello request with PSK cipher support.

Scope: Cluster, Shared across AppServers. Changes on one AppServer reflects on all other AppServers.

NoOfDeviceSubscriptionAllowed

Description: Limit on number of subscriptions received per device.

Range: 1-10

Scope: Cluster, Shared across AppServers. Changes on one AppServer reflects on all other AppServers.

WeblogicDataSource

Description: Data source name configured on OCSG, used to connect to MQTT database of broker. By default, it is wlng.datasource. This attribute changes only in case MQTT broker point to database other than OCSG DB.

Scope: Cluster, Shared across AppServers. Changes on one AppServer reflects on all other AppServers.

JMSCrossRoutingWaitTime

Description: Application T8 requests are cross-routed across AppServers when the MQTT device connects to different AppServer than the one received in T8 request. This parameter defines the waiting time, the originating AppServer waits for a response for a cross-routed message. This parameter is applicable only in case of MT message to a single device.

Range: 1-10 (in seconds)

Scope: Cluster, Shared across AppServers. Changes on one AppServer reflects on all other AppServers.

SSLListenPort

Description: SSL Listen port of MQTT Broker.

Scope: Local to AppServer.

ListenAddr

Description: IP Address of server, MQTT Broker listen for client connections.

Scope: Local to each AppServer.

MQTTDBCleanUpStartTimer

Description: MQTTDBCleanUpStartTimer (hh:MM)

Scope: Cluster, Shared across AppServers. Changes on one AppServer reflects on all other AppServers.

MQTTDBCleanUpTaskInterval

Description : MQTTDBCleanUpTaskInterval interval for each successive tasks (in seconds)

Scope: Cluster, Shared across AppServers. Changes on one AppServer reflects on all other AppServers.

MQTTDBRecordValidityPeriod

Description: MQTTDBRecordValidityPeriod for the DB records (in days)

Scope: Cluster, Shared across AppServers. Changes on one AppServer reflects on all other AppServers.

RetainMessageOnBroadCast

Description: This flag will decide if message to be retained on broadcast (true or false)

Scope: Cluster, Shared across AppServers. Changes on one AppServer reflects on all other AppServers.

MqttCdrRecordType

Description: MQTT CDR record type

Scope: Cluster, Shared across AppServers. Changes on one AppServer reflects on all other AppServers.

Operations:

addOrUpdateMQTTAPNRateControl

Description: This operation adds new APN Rate control or updates existing rate control with given values.

Input:
  • APNName: Name of the APN, such as, oracle.com
  • APNRate: Rate of the messages allowed from this APN per device. Value should be between 1 - 2, 147, 483, 647.
  • APNPeriod: Period for which the defined rate is applicable. Unit is seconds. Consumption rate is reset at start of period. Value should be between 1- 2, 147, 483, 647.

Scope: cluster, performing operation on one Appserver is sufficient.

deleteMQTTAPNRateControl

Description: This operation deletes the APN rate control set.

Input:

APNName: APN name to be removed.

Scope: cluster, performing operation on one Appserver is sufficient.

listAllMQTTAPNRateControl

Description: This operation lists the configured APN rate control sets.

Output: Displays the configured APN rate control sets.

For example:

apn2@oracle.com, 20, 20

apn1@oracle.com, 3, 120

addOrUpdatePSKInfo

Description: This operation adds or updates the PSK information for MQTT devices.

Input: Absolute path of csv file containing psk information as <mqtt_client_id,psk>

Note: PSK CSV file shall be copied to one of the AppServer. Invoking operation on AppServer is sufficient to configure the PSK for mqtt devices. PSK is encrypted and stored in database based on OCSG domain security identities. It is important to backup the domain folder in Admin server periodically. For more details, refer to DSR API Gateway Installation Guide.

Scope: cluster, performing operation on one Appserver is sufficient.

deletePSKInfo

Description: This operation delete the PSK information for MQTT devices.

Input: Absolute path of csv file containing MQTT client id

Note: Copy the csv file to one of the AppServer. Invoking operation on AppServer is sufficient to delete the PSK for MQTT devices.

Scope: cluster, performing operation on one Appserver is sufficient.

listAllPSKCipherSuites

Description: This operation lists all PSK ciphers enabled in MQTT Broker.

Output: List of enabled PSK ciphers.

updateSupportedPSKCipherSuites

Description: This operation updates the list of PSK ciphers enabled in MQTT Broker.

Input: Comma separated list of PSK ciphers must be enabled.

Note: This operation will cause MQTT broker to restart.

Scope: cluster, performing operation on one Appserver is sufficient.

listAllMQTTDBCleanUpList

Description: This operation lists the table names that are part of DB cleanup schedule in MQTT Broker.

Output: List the table names.

updateMQTTDBCleanUpList

Description : This operation updates the list of table names (provided with comma separated) to schedule DB cleanup.

Input: Comma separated list of table names to be scheduled.

SCEF AAA Configuration

A Management bean is exposed to configure diameter configurations.

Navigate to Service-gatekeeper-domain > OCSG > AppServerx > Communication Services > SCEF_AAA_Configurationxxxxx.

Figure A-25 SCEF AAA configuration



Attributes:

DiameterListernerPort

Description: Diameter server port.

Scope: Local to Appserver.

DiameterListenerHost

Description: Diameter server hostname/IP. This can also be used to configure OCSG AAA FQDN.

Scope: Local to Appserver.

Steps to configure OCSG AAA FQDN:
  1. In the Appserver1, execute “sudo vim /etc/hosts”

    Add the following line at the end, such as:
    “<IPaddress of Appserver1 on which 3868 port is opened > scefa01-acc-dr.scef.msk.iot.mnc001.mcc250.3gppnetwork.org”
    For example:
    200.168.100.3 scefa01-acc-dr.scef.msk.iot.mnc001.mcc250.3gppnetwork.org
  2. Navigate to Admin WebLogic Console > Domain Structure > OCSG > AppServer1 > Communication Services > SCEF_AAA_Configuration
  3. Modify Diameter host with Fqdn instead of existing IP address.
  4. Repeat above steps on all the Appservers.

DiameterOriginRealm

Description: Diameter server realm.

Scope:

cluster, shared across Appservers.