'; Configuring XMPP | Incognito Help
    [0] => Array
            [version] => 4.3
            [language] => en

Rel: acs/tutorials/acs/dita/configuring_xmpp
URI: acs/tutorials/configuring_xmpp
=== Tags ===
    [994] => configuring xmpp

=== Related ===

Configuring XMPP

This tutorial provides an example approach for enabling XMPP on a device.

The sample parameters use the InternetGatewayDevice:1 data model.

To enable XMPP for devices using the Device:2 data model, change InternetGatewayDevice to Device for each parameter name.

Configure an XMPP Device

On the CPE device, configure the following parameters.

Table 1. XMPP Device Parameters
Name Value
InternetGatewayDevice.ManagementServer.ConnReqXMPPConnection Device.XMPP.Connection.1
Note: Must be unique to the device.
InternetGatewayDevice.XMPP.Connection.1.Enable true

Set XMPP Parameters Using ACS CLI

Log into the ACS CLI and set values for the following parameters.

XMPP Parameters

$ acscli -c XMPP_CONREQ_ENABLE=true
$ acscli -c XMPP_CONREQ_SERVER=<username>/<password>@<ip-address>:<port>/<resource>


<resource> matches the value defined in the parameter InternetGatewayDevice.XMPP.Connection.1.Resource

Note: For information about using the CLI, refer to the ACS CLI reference.

Configure a Device Model for XMPP

Set the XMPP parameters in the device model of the device for which you will activate XMPP.

  1. From the ACS Hub, go to Device Models.

  2. Select the device model for the XMPP device, and in the action bar, click View.
    A screen with the device model details appears.
  3. Under Options, click Supported Parameters.

  4. Select all of the following parameters at once.

  5. In the action bar, click Bulk Set.
    The Bulk Set Selected Parameters box appears.
  6. From the Monitoring Level dropdown, choose Relevant and click OK.

  7. In the action bar, click Confirm to save the device model.

Create a Service Class for XMPP

Set the XMPP parameters in the device model of the device for which you will activate XMPP.

  1. From the ACS Hub, go to Service Classes.

  2. In the action bar, click Create.
  3. Type a name for the service class. Optionally, type a description and a unique priority number.
    Note: If you do not specify a priority, a default (unique) priority is automatically assigned to the service class.
  4. In the action bar, click Save.

    A screen with the service class details appears.

  5. Click Add Parameters, and in the action bar, click Add.
    The Select Parameters screen appears.
  6. Select the parameters specified for this tutorial.

    To filter attributes in the list, click the search symbol (), type part or all of an parameter string in the query field, and press Enter. For example, use the string “periodic” to filter for PeriodicInformInterval.

  7. In the action bar, click Add.

    The Associated Parameters screen appears and displays the parameters you added.

  8. For the following parameter, set the notification to Active. (Leave Value and Access List at default).
    Note: If the InternetGatewayDevice.ManagementServer.ConnReqXMPPConnection parameter is set by ACS, it does not need to be set to Active.
    Important: The parameter value for InternetGatewayDevice.ManagementServer.ConnReqJabberID is read-only and cannot be set in the GUI. When a device establishes an XMPP connection to the XMPP server, it will have the ConnReqJabberID set. If the device does not send value change notification for ConnReqJabberID, then it will be required to reload after a change so that ACS is aware of the new value.
  9. In the action bar, click Confirm to save the parameter settings.
  10. From the Schedule type dropdown, choose a monitoring schedule. The choices are: Immediate, Next Contact, or Window.

    If you choose Window, you also need to set a date, start time, and end time for the window, and optionally, enable ACS to contact the device.
  11. In the action bar, click Confirm to save the service class.
The device contacts the specified XMPP server according to the standard and sends an Inform to ACS through the XMPP server.

About TLS

The SSL/TLS port must be that specified in your XMPP server documentation. For example, if you use TLS with the Openfire server, use port 5223.


If you use non-TLS with the Openfire server, use port 5222.

Note: When switching from TLS to non-TLS configuration, you must restart all CWMPs for proper initialization.

For more information about using TLS, refer to the TR-069 standard, Amendment 5.

Configure TLS for XMPP

Configure transport layer security (TLS) to encrypt traffic between a device and the XMPP server.

  1. Log into the ACS CLI and set the following parameter.
    $ acscli -c XMPP_CONREQ_UseTLS=true
    Note: For information about using the CLI, refer to the ACS CLI reference.
  2. Import the key certificate. For example, with the Openfire server:

    Export the key certificate.

    # keytool -export -keystore keystore -alias acsqa.qa.incognito.com_rsa -file acsqa.qa.incognito.com_rsa.cer

    Import the certificate into the default Java keystore file. The default password for the Java keystore is “changeit”.

    # sudo keytool -import -trustcacerts -alias <alias name> -file <certificate file> -keystore <java jre keystore>

    For example:

    # sudo keytool -import -trustcacerts -alias acs.example.com_rsa -file acs.example.com_rsa.cer - keystore /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/security/cacerts
  3. If CWMP is running, restart the CWMP service for the change to take effect.
    # /etc/init.d/cwmp restart