CDRouter Support

CDRouter BBF.069 User Guide

user-guide version 10.3

Introduction

CDRouter BBF.069 is the official collection of test cases using the Broadband Forum’s BBF.069 test process to certify TR-069 devices. The actual certification process is conducted at the University of New Hampshire Interoperability Lab (UNH-IOL). These test cases are available through QA Cafe, giving you the ability to perform the same testing in your own lab prior to or while seeking certification from the UNH-IOL. This allows companies to prepare for the BBF.069 certification and perform regression testing in the future.

Test Methodology

The CDRouter BBF.069 add-on consists of 108 individual test cases as defined in the Broadband Forum’s IR-069 document. The BBF.069 test cases are grouped into test modules that define mandatory and optional functionality. In addition, test modules are defined as being fully automated or requiring some manual testing.

A breakdown of the available test modules is provided below.

Mandatory Tests

Test Module Tests Type Description
ACS_URL_Behavior 3 Mandatory-Automated Tests functionality specific to the ACS URL.
Add_Delete 4 Mandatory-Automated Tests the functionality of the Add and Delete Objects RPCs.
CWMP_Faults 3 Mandatory-Automated Tests the handling of common CWMP Faults.
Diagnostics 1 Mandatory-Automated Tests the functionality of IPPing Diagnostics.
Download 4 Mandatory-Automated Tests the functionality of the Download RPC. This package requires editing of the config file to include complete Firmware paths.
GetParameterAttributes 6 Mandatory-Automated Tests the functionality of the GetParameterAttributes RPC.
GetParameterNames 6 Mandatory-Automated Tests the functionality of the GetParameterNames RPC.
GetParameterValues 6 Mandatory-Automated Tests the functionality of the GetParameterValues RPC.
GetRPCMethods 1 Mandatory-Automated Tests the functionality of the GetRPCMethods RPC.
HTTP_Redirect 6 Mandatory-Automated Tests the functionality of HTTP redirection.
HTTP_SOAP 10 Mandatory-Automated Tests the functionality of SOAP and HTTP.
PeriodicInform 3 Mandatory-Automated Tests the functionality of Periodic Informs.
Session_Retry 1 Mandatory-Automated Tests the handling of retrying sessions.
Sessions 5 Mandatory-Automated Tests the handling of sessions.
SetParameterValues 4 Mandatory-Automated Tests the functionality of the SetParameterValues RPC.
TOTAL: 63
Test Module Tests Type Description
Events_Informs 9 Mandatory-Manual Tests the behavior of Informs and Events.
Reboot 2 Mandatory-Manual Tests the handling of Reboots and the functionality of the Reboot RPC.
SetParameterAttributes 8 Mandatory-Manual Tests the functionality of the SetParameterAttributes RPC.
TOTAL: 19

Conditional Tests

Test Module Tests Type Description
Secure_CWMP 8 Conditional-Automated Tests the functionality of secure CWMP sessions.
Upload 3 Conditional-Automated Tests the functionality of the Upload RPC.
TOTAL: 11
Test Module Tests Type Description
DHCP_URL_Discovery 1 Conditional-Manual Tests the handling DHCP URL discovery.
DHCPv4 4 Conditional-Manual Tests DHCPv4 options and functionality
DHCPv6 4 Conditional-Manual Tests DHCPv6 options and functionality.
Optional_RPCs 7 Conditional-Manual Tests the functionality of various conditional functions and RPCs.
TOTAL: 16

Mandatory Versus Conditional Test Modules

The bulk of the tests defined in BBF.069 are mandatory. All other test modules cover optional features and functionality which may or may not be supported by the DUT. Tests that cover optional features are considered “conditionally mandatory”, meaning they are required for devices that support the optional functionality.

Automated Versus Manual Testing

Most of the CDRouter BBF.069 test modules are fully automated and can be run together in one package or session. However, some of the test modules require manual intervention during the test runs. Manual testing is assisted through the use of CDRouter’s built-in pause mode which will automatically pause a test at specific points and prompt the user for manual interaction.

CDRouter’s pause mode can be enabled from the command-line using the cdrouter- cli -pause option. Alternatively, pause mode can be enabled from the web interface by checking off the "Pause between each test case" option when creating or modifying a test package. For more information on enabling pause mode, please see this Knowledge Base article.

Note: By default CDRouter will automatically skip all manual test modules unless pause mode is enabled. During start the following message will be displayed if pause mode is not enabled.

INFO(setup): 15:32:54.990| Manual acsIp test mode is not enabled, use package pause or -pause to enable manual tests
INFO(setup): 15:32:54.990| Skipping all BBF.069 tests that require manual mode
INFO(setup): 15:32:54.990| Test module 'Mandatory-Manual.tcl' will be skipped
INFO(setup): 15:32:54.990| Test module 'DHCPv4.tcl' will be skipped
INFO(setup): 15:32:54.991| Test module 'DHCPv6.tcl' will be skipped
INFO(setup): 15:32:54.991| Test module 'FactoryReset.tcl' will be skipped
INFO(setup): 15:32:54.991| Test module '3rdPartyURL.tcl' will be skipped
INFO(setup): 15:32:54.991| Test module 'EnableCWMP.tcl' will be skipped

Automated Tests

Test Module Tests Description
Mandatory-Automated 72 Fully automated baseline tests that all devices are required to support.
SSL 7 Optional-Automated. Contains SSL, TLS 1.0 and TLS 1.2.
Upload 4 Optional-Automated. Tests the Upload RPC in 4 different scenarios.
CancelTransfer 1 Optional-Automated. Tests the CancelTransfer RPC.
ScheduleInform 1 Optional-Automated. Tests the ScheduleInform RPC.
GetAllQueuedTransfers 1 Optional-Automated. Tests the GetAllQueuedTransfers RPC.
ActiveNotificationThrottle 1 Optional-Automated. Tests ActiveNotificationThrottle functionality.
TOTAL: 87

Manual Tests

Test Module Tests Description
Mandatory-Manual 9 Baseline tests requiring user input at some point that all devices are required to support.
DHCPv4 5 Optional-Manual. Tests DHCPv4 options and functionality.
DHCPv6 4 Optional-Manual. Tests DHCPv6 options and functionality.
FactoryReset 1 Optional-Manual. Tests the FactoryReset RPC.
3rdPartyURL 1 Optional-Manual. Tests the handling of the ACS URL being modified by a third party.
EnableCWMP 1 Optional-Manual. Tests EnableCWMP functionality.
TOTAL: 21

Requirements and License

CDRouter BBF.069 is an add-on for CDRouter that is purchased separately. It requires a base license of CDRouter or CDRouter Multiport along with the CDRouter TR-069 add-on. Please contact sales@qacafe.com for pricing and purchase information.

NOTE: The CDRouter BBF.069 add-on also requires CDRouter 7.2 Build 13 or newer.

To install the CDRouter BBF.069 add-on, your license file must first be updated. Please follow the instructions from support@qacafe.com on updating your license file to enable the CDRouter BBF.069 add-on. These instructions are normally provided at purchase time.

CDRouter will report the status of all available add-ons during the installation process and during startup. To verify that the CDRouter BBF.069 add-on is enabled on your system, go to the Utilities page within CDRouter’s web interface and verify that BBF.069 is listed as an add-on. Alternatively, you can also verify your license from the command line by executing the command cdrouter-cli -info as root and looking for the lines “BBF.069 is enabled”, as shown below. If these lines are present, the CDRouter BBF.069 add-on is enabled and ready to use.

$ cdrouter-cli -info

Starting cdrouter-cli Thu Mar 24 13:27:55 EDT 2016
Copyright (c) 2001-2016 by QA Cafe
Version 10.0 build 1 (21394 trunk), built 2016-03-23 17:36:08 by nightly@cdr-forge6.lan (x86_64)
Loaded OS distro \S Kernel \r on an \m
Loaded OS version Linux-3.10.0-327.10.1.el7.x86_64 x86_64
Loaded Tcl version 8.6.4
Loaded buddy version 10.0.1
(builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) )
Trying to load modules from '.'
Trying to load modules from '/usr/share/doc/cdrouter'
Start command: /usr/cdrouter/bin/cdrouter-cli -info
Test Suite cdrouter 10.0.1
The system ID is 2df9e2a1f8c359183cf0191a20f2cc5a
Using license installed at: /etc/cdrouter.lic
Registered to: qacafe
Maintenance, Support and Upgrades until: 2016-05-11
Licensed to run: cdrouter
    Multiport   is enabled
    IPv6        is enabled
    Storage     is enabled
    IKE         is enabled
    TR69        is enabled
    TR69-EDM    is enabled
    Nmap        is enabled
    BBF.069     is enabled
    SNMP        is enabled
    Performance is disabled
CPU is Intel(R) Core(TM) i5-4308U CPU @ 2.80GHz, bogomips 5599.98
Loaded TclXML version 3.1 (libxml2), TclDOM 3.0, xmldefs 3.1
Trying to load modules from '/usr/cdrouter/vendor/IOL/BBF.069/Tests'
BBF.069 version 1.2.075-11 (19093)

Installation

Unlike other CDRouter add-ons, CDRouter BBF.069 is installed independently on an existing and properly licensed instance of CDRouter or CDRouter Multiport. The CDRouter BBF.069 add-on utilizes a separate installer which must be downloaded from the QA Cafe Customer Lounge.

Installation of the CDRouter BBF.069 add-on is a multi-step process that can be summarized as follows:

(Please see the CDRouter BBF.069 Add-on Installation Guide for more detailed instructions)

  1. Upgrade your existing license file to include support for CDRouter BBF.069, as noted in the Requirements and License section.

  2. Download the CDRouter BBF.069 installer from the Customer Lounge. After logging in to the Customer Lounge you will see another product labeled CDRouter BBF.069 in the Downloads section. Click this link and follow the instructions to download the CDRouter BBF.069 installer. Note that the same installer is compatible with both 32 and 64 bit architectures which is why only a single file is provided on the download page.

  3. Follow the instructions on the download page to run the CDRouter BBF.069 installer.

  4. Restart the system.

Once restarted, the CDRouter BBF.069 add-on should be fully installed and ready to use. The BBF.069 tests and supporting components are installed in the following directory on the CDRouter system:

/usr/cdrouter/vendor/IOL/BBF.069

Note: Unlike other CDRouter test cases, the BBF.069 test cases are run-only and the Tcl source code is not available.

Note: The BBF.069 installer has its own release and build number, independent of CDRouter. The initial release of CDRouter BBF.069 is release 1.0.097, build 1, resulting in a file name of cdrouter-iol-bbf- 069_1.0.097-1.bin.

Please contact support@qacafe.com for help with the installation process.

Configuration

The CDRouter BBF.069 tests are not compatible with existing configuration files since they depend on a number of new BBF.069 specific testvars created by the UNH-IOL. Sample configuration files from the UNH- IOL have been included with CDRouter BBF.069 that include the required testvars for each specific scenario. For convenience, QA Cafe has also included a partial configuration that contains only the UNH-IOL’s BBF.069 related testvars.

We recommend that you use the UNH-IOL sample configuration files or the QA Cafe provided partial configuration as the basis for your initial CDRouter BBF.069 configurations. The UNH-IOL sample configurations are complete configurations that require minimal modification. The QA Cafe provided partial configuration can be sourced into existing configuration files as needed to replicate the UNH- IOL setup. Note that some configuration changes are required if using the QA Cafe provided configuration, as detailed in the following sections.

The UNH-IOL sample configuration files and the QA Cafe partial configuration file are located in the following directory:

/usr/cdrouter/vendor/IOL/BBF.069/configs

Note: Before any tests can be run using the UNH-IOL sample configurations or the QA Cafe partial configuration, the variable unh_base must be properly set for the DUT. This variable represents the root object of the DUT and should be set to either InternetGatewayDevice or Device.

set unh_base InternetGatewayDevice

UNH-IOL Sample Configurations

For those using CDRouter’s web interface for testing, these sample configurations can be imported to the system using the Import utility. Once imported, we recommend preserving the original files by making a copy of them for any configs that will be used for testing. For those using the command line, these sample configurations can simply be copied as needed for each new test configuration.

There are five UNH-IOL sample configurations:

Configuration File Name Description
IOL.conf Basic configuration for HTTP testing
IOL_HTTPS_Generic.conf Basic configuration for HTTPS testing with SSLv23 compatibility
IOL_SSL.conf Basic configuration for HTTPS testing using SSLv3
IOL_TLS.conf Basic configuration for HTTPS testing using TLS 1.0
IOLv6.conf Basic configuration for HTTP over IPv6 testing

QA Cafe BBF.069 Partial Configuration

The QA Cafe provided BBF069-example.conf configuration can be sourced into existing configuration files. This configuration includes all of the BBF.069 specific testvars defined by the UNH-IOL.

Configuration File Name Description
BBF069-example.conf Partial configuration file containing only UNH-IOL BBF.069 related testvars

When using this partial configuration file there are a few additional changes that must be made to the base configuration to mimic the UNH-IOL sample configurations and test environment, as shown below:

testvar acsIp                  6.0.0.1
testvar tr69InformTimeout      300
testvar tr69MinPeriodicInform  120

testvar dnsHostname1           acs1.broadband-forum.org
testvar dnsIp1                 6.0.0.1

testvar dnsHostname2           acs2.broadband-forum.org
testvar dnsIp2                 6.0.0.2

testvar dnsHostname3           acs3.broadband-forum.org
testvar dnsIp3                 6.0.0.3

testvar dnsHostname4           acsSSL.broadband-forum.org
testvar dnsIp4                 6.0.0.3

Initial DUT Configuration

The DUT should initially be configured for DHCP on the WAN. The DUT’s CWMP settings should be configured as follows:

CWMP Setting Value
ACS URL http://acs1.broadband-forum.org
ACS Username qacafe
ACS Password qacafe123
Periodic inform enabled
Periodic interval 60

These settings represent the minimum required configuration needed to start running the Mandatory-Automated test module using the base IOL.conf configuration file. Note that some test cases rely on the periodic inform mechanism. As a result, periodic information should be enabled on the DUT with an interval of 60 seconds.

SSL Testing and Configuration

SSL is required to run the optional SSL test module. The UNH-IOL has provided three sample configuration files for SSL that differ only in the value of the testvar acsSslVersion, which defines the type of SSL used:

Configuration SSL Type Value of acsSslVersion Testvar
IOL_HTTPS_Generic.conf SSL v2.3 Not included, defaults to sslv23
IOL_SSL.conf SSLv3 sslv3
IOL_TLS.conf TLS 1.0 tlsv1

If you are using the QA Cafe partial configuration file, the following testvars must be explicitly configured within the base configuration file to enable SSL:

testvar acsIp                  6.0.0.1
testvar acsPort                443
testvar acsTransport           https
testvar tr69InformTimeout      300
testvar tr69MinPeriodicInform  120

testvar dnsHostname1           acs1.broadband-forum.org
testvar dnsIp1                 6.0.0.1

testvar dnsHostname2           acs2.broadband-forum.org
testvar dnsIp2                 6.0.0.2

testvar dnsHostname3           acs3.broadband-forum.org
testvar dnsIp3                 6.0.0.3

testvar dnsHostname4           acsSSL.broadband-forum.org
testvar dnsIp4                 6.0.0.3

testvar acsSslVersion          ssvl23 (or ssl3, or tlsv1)
testvar acsCertPath            ${unh_path}/Security_Certificate/acs1/CDRouter_acsCert.pem
testvar acsCaCertPath          ${unh_path}/Security_Certificate/acs1/CDRouter_acsCaCert.pem

The SSL test module includes seven optional automated test cases. Although this test module is automated, different configurations are required for some of the test cases, as shown in the table below. As a result, it is not possible to run all of the tests in this module in a single test package. Multiple test packages must be created for each of the three required configurations and run sequentially.

Test Case Description Config File
commonName_validation Common Name Certificate Validation IOL_HTTPS_Generic.conf
connection_SSL Connection Establishment using SSL 3.0 IOL_SSL.conf
connection_TLS Connection Establishment using TLS IOL_TLS.conf
rejection_SSL Rejection of Invalid certificate IOL_HTTPS_Generic.conf
redirect_HTTPS_matching_certificate HTTP Redirection HTTPS with URL Matching Certificate IOL_HTTPS_Generic.conf
redirect_HTTPS_mismatched_certificate HTTP Redirection HTTPS with URL/Certificate Mismatch IOL_HTTPS_Generic.conf
certificates_used_no_ntp Use of Certificates In The Absence Of NTP IOL_HTTPS_Generic.conf

The UNH-IOL has provided a number of self signed certificates for BBF.069 SSL testing. These certificates are installed in the following directory:

/usr/cdrouter/vendor/IOL/BBF.069/Security_Certificate

Each ACS that is used during the BBF.069 test cases has it’s own sub-directory where the server, intermediate, and root CA certificates are located. The server certificate and private key for each ACS are contained in the CDRouter_acsCert.pem file within the appropriate sub-directory. Likewise, the intermediate and root CAs are located in the CDRouter_acsCaCert.pem file. During the SSL handshake process the ACS will provide both the server certificate and intermediate CA to the DUT.

To enable SSL on the DUT, the DUT’s ACS URL must be updated to https://acs1 .broadband-forum.org, ie “ACS1”. In addition, the root CA for ACS1 must also be installed on the DUT. Root CAs for other ACS instances may also be required as dictated by the BBF.069 test cases.

The root CA for ACS1 is the second CA in the following file on your CDRouter system:

/usr/cdrouter/vendor/IOL/BBF.069/Security_Certificate/acs1/CDRouter_acsCaCert.pem

Note: If you have issues with SSL, please refer to this Knowledge Base article for some helpful tips.

Download Testing

Four firmware download tests are included in the CDRouter BBF.069 Mandatory- Automated test module. In order to run these tests two different versions of firmware for the DUT must be copied to the following directory on the CDRouter system:

/usr/cdrouter/vendor/IOL/BBF.069/Firmware

Two different versions are required to verify that the DUT properly installs and reports the specified version. Once the DUT’s firmware has been copied to the CDRouter system, four different testvars from the sample configurations must be updated with the full path to the firmware.

The download_delay and download_queuing tests should use the same firmware which should be different than the firmware initially installed on the DUT. The testvars delayDownloadPath and queuingDownloadPath are used to specify the firmware for the download_delay and download_queuing tests, respectively.

Likewise, the download and download_retry tests should use the same firmware which should be different than the firmware used for the download_delay and download_queuing tests. If all four tests are run in sequence, we recommend using the firmware initially installed on the device for these two tests. The testvars basicDownloadPath and retryDownloadPath are used to specify the firmware for the download and download_retry tests, respectively.

# ----- DOWNLOAD TESTS ----------------------------
# Download Delay ------------
# Download Delay and queuing should use same firmware. Ensure that
# firmware used is different than what is currently on device.
testvar delayDownloadPath ${unh_path}/Firmware/
testvar delayDownloadDelay 60
testvar delayDownloadTimeout 600
# Download Queuing ----------
testvar queuingDownloadPath ${unh_path}/Firmware/
# Basic Download ------------
# Download and retry should use same firmware. Ensure that firmware
# used is different than what is used for Download Delay
testvar basicDownloadPath ${unh_path}/Firmware/
testvar basicDownloadImageSize 123456
testvar basicDownloadTimeout 600
testvar downloadFileType "1 Firmware Upgrade Image"
# Download Retry ------------
testvar retryDownloadPath ${unh_path}/Firmware/
testvar retryDownloadTimeout 600
#--------------------------------------------------

All other download related testvars should be left in their default states unless otherwise indicated.

Upload Testing

The optional Upload test module is designed to verify the DUT’s config file upload functionality using the CWMP Upload RPC. This is a fully automated test module with four test cases covering a variety of scenarios. In most situations this test module requires no additional CDRouter or DUT configuration. All uploaded config files will be placed in the following directory with a unique name on the CDRouter system:

/usr/cdrouter/vendor/IOL/BBF.069/Firmware

The following sample configuration options related to upload testing should not be modified unless explicitly required.

#
# Upload
#
# Set uploadCommandKey to "" unless device requires specific commandKey
testvar uploadCommandKey ""
testvar uploadDelay 60
testvar tr69UploadPath ${unh_path}/Firmware/
testvar uploadType "1 Vendor Configuration File"

Possible Problems

There are a few common problems you may run into when trying to run the CDRouter BBF.069 add-on.

Bad Initial Configuration

At a minimum, the DUT should be configured for DHCP on the WAN with an ACS URL of:

http://acs1.broadband-forum.org

The standard qacafe/qacafe123 credentials for the ACS are also required if using one of the UNH-IOL’s CDRouter sample configurations. Please see the Initial DUT Configuration section for more information.

Bad Firmware Paths

Four firmware download tests are included in the CDRouter BBF.069 Mandatory- Automated test module. In order to run these tests two different versions of firmware for the DUT must be copied to the following directory on the CDRouter system:

/usr/cdrouter/vendor/IOL/BBF.069/Firmware

Two different versions are required to verify that the DUT properly installs and reports the specified version. Once the DUT’s firmware has been copied to the CDRouter system, four different testvars from the sample configurations must be updated with the full path to the firmware.

The download_delay and download_queuing tests should use the same firmware which should be different than the firmware initially installed on the DUT. The testvars delayDownloadPath and queuingDownloadPath are used to specify the firmware for the download_delay and download_queuing tests, respectively.

Likewise, the download and download_retry tests should use the same firmware which should be different than the firmware used for the download_delay and download_queuing tests. If all four tests are run in sequence, we recommend using the firmware initially installed on the device for these two tests. The testvars basicDownloadPath and retryDownloadPath are used to specify the firmware for the download and download_retry tests, respectively.

# ----- DOWNLOAD TESTS ----------------------------
# Download Delay ------------
# Download Delay and queuing should use same firmware. Ensure that
# firmware used is different than what is currently on device.
testvar delayDownloadPath ${unh_path}/Firmware/
testvar delayDownloadDelay 60
testvar delayDownloadTimeout 600
# Download Queuing ----------
testvar queuingDownloadPath ${unh_path}/Firmware/
# Basic Download ------------
# Download and retry should use same firmware. Ensure that firmware
# used is different than what is used for Download Delay
testvar basicDownloadPath ${unh_path}/Firmware/
testvar basicDownloadImageSize 123456
testvar basicDownloadTimeout 600
testvar downloadFileType "1 Firmware Upgrade Image"
# Download Retry ------------
testvar retryDownloadPath ${unh_path}/Firmware/
testvar retryDownloadTimeout 600
#--------------------------------------------------

All other download related testvars should be left in their default states unless otherwise indicated.

Contents

×

About CDRouter

CDRouter is made by QA Cafe, a technology company based in Portsmouth, NH.

Get in touch via our Contact page or by following us on your favorite service: