The Broadband Forum is a non-profit corporation organized to create guidelines for broadband network system development and deployment. This Test Plan is owned and copyrighted by the Broadband Forum, and portions of this Test Plan may be owned and/or copyrighted by Broadband Forum members.
Intellectual Property
Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of this Test Plan, and to provide supporting documentation.
Terms of Use
Recipients of this document may use it (a) for internal review and study purposes, (b) to provide to the Broadband Forum the comments and notification requested in the preceding paragraph, and (c) if the Recipient is a Broadband Forum member, to implement the Test Plan in a product or service made commercially available. Any other use of this Test Plan is expressly prohibited without the prior written consent of the Broadband Forum.
THIS TEST PLAN IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT AND ANY IMPLIED WARRANTIES ARE EXPRESSLY DISCLAIMED. ANY USE OF THIS TEST PLAN SHALL BE MADE ENTIRELY AT THE USER’S OR IMPLEMENTER’S OWN RISK, AND NEITHER THE FORUM, NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY USER, IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS TEST PLAN, INCLUDING BUT NOT LIMITED TO, ANY CONSEQUENTIAL, SPECIAL, PUNITIVE, INCIDENTAL AND INDIRECT DAMAGES.
All copies of this Test Plan (or any portion hereof) must include the notices, legends and other provisions set forth on this page.
NOTE: The right to display a Broadband Forum Certification Logo may only be granted by the Broadband Forum, and that right is available only to Broadband Forum members that have successfully passed certification testing by a duly authorized Test Agency. Further details on the Broadband Forum Certification Programs can be found at http://www.broadband-forum.org.
In order to ensure the continued growth of the TR-069 market and further the interoperability of the protocol, the Broadband Forum is creating a TR-069 Certification Program. Within this program, devices implementing a TR-069 management interface may be tested for their conformance to the TR-069 specification and various use cases. The TR-069 Certification Program started with the TR-069 Conformance Test Plan and now the CWMP Data Model Implementation Test Plan. To provide a consistent scope for this verification, BBF developed these test plans that are to be used by the testing agencies in the verification process.
This Test Plan provides a test plan that may be used to verify Interoperability of a CPE Device with an ACS Server through use cases.
1 Purpose and Scope
1.1 Purpose
The purpose of this document is to provide a set of use test cases, which will be used as a common testing language during Interoperability testing of a CPE Device with an ACS Server.
1.2 Scope
The tests detailed in this document are only intended to facilitate TR-069 interoperability use case testing. The tests in this document are limited to ACSs and CWMP enabled CPE devices.
1.3 Test Execution
The tests detailed in this document are to be run in a controlled environment. There is no specified order to the tests in this document.
2 References and Terminology
2.1 Conventions
In this Test Plan, several words are used to signify the requirements of the specification. These words are always capitalized. More information can be found be in RFC 2119 [4].
MUST
This word, or the terms “REQUIRED”, means that the definition is an absolute requirement of the specification.
MUST NOT
This phrase means that the definition is an absolute prohibition of the specification.
SHOULD
This word, or the adjective “RECOMMENDED”, means that there could exist valid reasons in particular circumstances to ignore this item, but the full implications need to be understood and carefully weighed before choosing a different course.
SHOULD NOT
This phrase, or the phrase “NOT RECOMMENDED” means that there could exist valid reasons in particular circumstances when the particular behavior is acceptable or even useful, but the full implications need to be understood and the case carefully weighed before implementing any behavior described with this label.
MAY
This word, or the adjective “OPTIONAL”, means that this item is one of an allowed set of alternatives. An implementation that does not include this option MUST be prepared to inter-operate with another implementation that does include the option.
2.2 References
The following references are of relevance to this Test Plan. At the time of publication, the editions indicated were valid. All references are subject to revision; users of this Test Plan are therefore encouraged to investigate the possibility of applying the most recent edition of the references listed below, including any released amendments or corrigendum materials.
A list of currently valid Broadband Forum Technical Reports is published at www.broadband-forum.org.
[1]
IR-069 Issue 2, TR-069 Conformance Test Plan, Broadband Forum, 2016
[2]
OD-361, CWMP Certification Program Guidelines, Broadband Forum, 2016
[3]
REC-xml, Extensible Markup Language (XML) 1.0 (Fifth Edition), W3C, 2008
[4]
RFC 2119, Key words for use in RFCs to Indicate Requirement Levels, IETF, 1997
Hypertext Transfer Protocol over Secure Socket Layer
ID
Identifier
IP
Internet Protocol
IPv6
Internet Protocol version 6
LAN
Local Area Network
NAT
Network Address Translation
NTP
Network Time Protocol
RFC
Request for Proposal
RPC
Remote Procedure Call
SOAP
Simple Object Access Protocol
SSL
Secure Socket Layer
STB
Set Top Box
STUN
Session Traversal Utilities for NAT
TCP
Transmission Control Protocol
TFTP
Trivial File transfer Protocol
TLS
Transport Layer Security
TR
Technical Report
TTL
Time to Live
UDP
User Datagram Protocol,
URL
Universal Resource Locator
URN
Uniform Resource Name
UTC
Coordinated Universal Time
UTF
Universal Multiple-Octet Coded Character Set Transformation Format
UUID
Universally Unique Identifier
VoIP
Voice over Internet Protocol
WAN
Wide Area Network
XML
Extensible Markup Language
WA
Work Area
3 Test Plan Impact
3.1 Energy Efficiency
TP-181 has no impact on Energy Efficiency.
3.2 IPv6
TP-181 intends to support the IPv6 protocol. However, in this issue of the Working Text, IPv6 specific test cases have not been identified.
3.3 Security
TP-181 requires the use of authentication when connecting CPE to an ACS. Use of an HTTPS URL indicates that the CPE can establish an SSL or TLS connection to the ACS.
4 Test Setup
4.1 Test Equipment
The necessary set of test equipment to deliver reliable and repeatable test results is specified in Table 1.
Table 1: Required Test Equipment
Test Equipment
Description and Functional Capabilities
ACS
The ACS is an interoperability partner in this test plan
Traffic Analyzer
To verify certain test metrics, Traffic Analyzers MUST be present between the CPE and ACS and between the CPE and any LAN Device
Access Node
For infrastructure needs, an Access Node will be provided to bridge connections between the CPE and ACS
File Server
The File Server MUST support HTTP PUT & GET, as well as FTP PUT & GET
CPE
The CPE is an interoperability partner in this test plan
Network Router
There may be one or more Network Routers between the CPE & ACS. If the CPE is a LAN CPE, one Network Router may be configured to provide a Network Address Translation (NAT) function
Firewall
The Firewall MUST support the ability to selectively block traffic based on IP address
NTP Server
Two NTP Servers. Public NTP Servers such as NIST Internet Time Servers may be used
RADIUS Server
To authenticate end devices in WPA Enterprise test cases
DHCP Server
To assign addresses and other provisioning information to the CPE on the WAN
DNS Server
To resolve addresses on the WAN
LAN Device
To connect to the LAN side of a Gateway CPE
Wireless LAN Device
To connect to the LAN side of a Gateway CPE over wireless
4.2 Test Setup and Execution
The Interoperability test setup is shown below in Figure 1. The following pieces of test equipment needs to be connected to the Internet and reachable over IP, but there is no other topology requirement: ACS, DHCP Server, DNS Server, File Server, NTP Server, RADIUS Server. The Access Node may not be required if the primary CPE connection is Ethernet.
4.2.1 Common Test Setup
This section describes the test setup shared between all test cases. Any additional setup steps will be described in the “Test Setup” section of the test case.
ACS is connected to the network
CPE is connected to the network and configured with an ACS URL that corresponds to the ACS in step 1.
Have a Network Analyzer to capture traffic between ACS and CPE.
4.2.2 Determine WAN Interface
This section describes steps to determine the WAN interface of a device. These steps are referenced in the Test Procedures.
For CPE that support the Device:2 data model:
The ACS performs a GetParameterNames RPC on the Interface table. The interface with the WAN IP address is the WAN interface.
For CPE that support the InternetGatewayDevice:1 root data model [9]:
The ACS performs a GetParameterValues RPC on InternetGatewayDevice.Layer3Forwarding.DefaultConnectionService. This will return the WAN interface.
4.2.3 Test Execution
Each test is defined as a separate entity that can be run independent of all other test procedures. These tests, performed sequentially, may cause changes to the ACS & CPE states during the course of testing.
If a CPE returns a status of 1 in a SetParameterValuesResponse or an AddObjectResponse, the following steps MUST be followed:
Terminate the CWMP session.
Configure the ACS to issue a connection request.
Configure the ACS to issue a GetParameterValues RPC for the changed variable(s) and verify that they are correct.
4.3 CPE Test Requirements and Prerequisites
OD-361 section 3.4.4 [2] states that passing IR-069i2 [1] is a prerequisite for a CPE undergoing this test plan.
Each test case includes a References section that refers to a version of a data model definition or other standard document. For all Broadband Forum data models and Broadband Forum Technical Reports, the test case references the earliest version the CPE can support to run the test case.
Each test case includes a Profiles section that includes the profiles needed to run the test case. Any additional requirements are included in the Optional Features section. If the CPE supports the profile and the optional feature listed, the test case MUST be run.
Note: For test cases that require Baseline:1 or Baseline:2 support, the CPE MUST support each parameter listed in the test case, but does not need to support each parameter in the profile.
A list of test cases by profile is included below. Note, there may be additional parameters required or required parameter values. Refer to the test case for complete information.
The ACS MUST be configurable to include an interface that allows control of the ACS to execute the test procedures. An API SHOULD be provided to the test lab to support automation of this test plan. The ACS MUST allow its certificates to be configured.
4.5 Interoperability Testing
This test plan tests the ACS/CPE system, therefore a failure may indicate a deficiency from either the ACS or CPE.
4.6 Test Validation
A test is considered successful (or passed) when the corresponding test procedure has been completed and the specified success metrics are attained. Tests can be validated by observing functional changes in the DUTs, through feedback interfaces on the devices under test, results attained from the ACS, and via a Traffic Analyzer connected to the relevant links.
5 Test Procedures
5.1 Basic Setup
5.1.1 Factory Reset
5.1.1.1 Purpose:
To verify that an ACS can perform a Factory Reset on the CPE.
Have a file server accessible on the WAN with known credentials.
Place firmware to download on the file server.
5.1.4.7 Procedure:
ACS issues a GetParameterValues RPC on the CPE SoftwareVersion parameter listed in the parameters section to learn the CPEs current software version
ACS issues a Download RPC to the CPE with the following arguments set
Download RPC Argument
Value
CommandKey
<string>
FileType
“1 Firmware Upgrade Image”
URL
URL of firmware image on the file server
Username
File server username
Password
File server password
FileSize
Size of file to download in bytes
TargetFileName
Name of the firmware to download
DelaySeconds
SuccessURL
<empty>
FailureURL
<empty>
Allow the CPE to complete firmware download from the file server, apply the firmware, and reboot if necessary After CPE issues a “7 TRANSER COMPLETE” event code, the ACS issues a GetParameterValues RPC on the on the CPE SoftwareVersion parameter listed in the parameters section to learn the CPEs new software version
5.1.4.8 Test Metrics:
Ensure the software version reported by the CPE before the firmware download is different than the software version reported by the CPE after the firmware download.
5.1.5 GetRPCMethods
5.1.5.1 Purpose:
This test is designed to verify that the ACS can schedule a GetRPCMethods RPC to a CPE and get back the correct response
Allow the CPE to respond with the GetRPCMethodsResponse
5.1.5.8 Test Metrics:
Verify that the CPE responds to the GetRPCMethods RPC
Verify that the GetRPCMethodsResponse contains all mandatory RPCs
5.1.6 Configuration Backup and Restoration
5.1.6.1 Purpose:
This test is designed to verify that the ACS can schedule an upload of a CPE’s configuration and then perform a restoration of that same configuration.
These arguments are for the Upload and Download RPCs. Note, if the CPE supports Upload FileType “3 Vendor Configuration File <i>”, the test case MUST be run using that FileType.
Upload RPC Argument
Value
CommandKey
<string>
FileType
“3 Vendor Configuration File <i>” OR “1 Vendor Configuration File”
URL
URL of firmware image on the file server
Username
File server username
Password
File server password
DelaySeconds
Download RPC Argument
Value
CommandKey
<string>
FileType
“3 Vendor Configuration File”
URL
URL of configuration file on the file server
Username
File server username
Password
File server password
FileSize
Size of file to download in bytes
TargetFileName
Name of the configuration file to download
DelaySeconds
SuccessURL
<empty>
FailureURL
<empty>
The following parameter path is required to be implemented for this test.
For CPE that support the Device:2 data model:
Device.DeviceInfo.VendorConfigFile.
For CPE that support the InternetGatewayDevice:1 data model:
Have a file server accessible on the WAN with known credentials that can accept uploads and downloads.
If CPE supports “3 Vendor Configuration File <i>” Upload FileType, perform a GetParameterValues RPC on the partial path above to determine the correct instance number to upload.
5.1.6.7 Procedure:
ACS performs a GetParameterValues RPC on PeriodicInformInterval to determine its value.
ACS schedules an Upload RPC on the CPE with the parameters above.
Allow the upload to complete.
ACS performs a SetParameterValues RPC on PeriodicInformInterval for a value that is different than the value returned in step 1.
Wait for the CPE to send 2 Periodic Informs and check the interval between them.
ACS schedules a download RPC on the CPE with the parameters above.
Allow the download to complete.
Wait for the CPE to send 2 Periodic Informs and check the interval between them.
5.1.6.8 Test Metrics:
Verify that the CPE responds to the Upload RPC with an UploadResponse
Verify that the DUT uploaded the configuration to the server
Verify that the CPE sends Periodic Informs at the interval set in Step 4.
Verify that the CPE responds to the Download RPC with a DownloadResponse
Verify that the CPE sends Periodic Informs at the interval returned from the device in Step 1.
5.1.7 PPP Interface Change
5.1.7.1 Purpose:
This test is designed to verify that the ACS can configure the PPP interface of the CPE.
CPE supports the appropriate DHCP parameters in the parameters section
Have a LAN device that can connect to the CPE via DHCP.
Have a Network Analyzer to capture traffic between the CPE and LAN device.
If the DUT implements the Device:2 root data model, determine whether or not an existing entry exists for the object specified above.
5.1.8.7 Procedure:
If the DUT implements the Device:2 root data model, and no entry exists for Device.DHCPv4.Server.Pool.{i}., perform an AddObject RPC on Device.Server.Pool., recording the InstanceNumber value returned in the AddObjectResponse.
On the ACS schedule a SetParameterValues RPC on the appropriate Configurable parameters in the Parameters Section, setting the DHCP pool’s minimum and maximum to be completely outside the existing range, if any (for example, by setting the new minimum above the current maximum).
Allow the end system to connect to the CPE via DHCP.
Perform a reboot of the CPE
Allow the end system to connect to the CPE via DHCP
5.1.8.8 Test Metrics:
Verify that the SetParameterValuesResponse RPC is correct for all parameters
Verify that the end system connects to the CPE within the designated range.
Verify that that end system connects to the CPE within the designated range after the reboot
5.1.9 SPV on a Boolean Parameter
5.1.9.1 Purpose:
This is a test case to verify that the ACS can change the Boolean on a CPE and receive the correct response.
Have a host on the WAN network that can answer pings.
Refer to Determine WAN Interface to determine the WAN interface. This will be used for the Interface parameter.
5.2.1.7 Procedure:
ACS performs a SetParameterValues RPC on the ping diagnostics parameters in the parameter section above.
ACS performs a GetParameterValues on the InternetGatewayDevice.IPPingDiagnostics or Device.IP.Diagnostics.IPPing to determine results of ping test
5.2.1.8 Test Metrics:
Verify that the CPE transmitted 3 ICMP Echo Requests to the target Host.
Validate that the CPE sends an Inform RPC to the ACS with Event Code “8 DIAGNOSTICS COMPLETE”.
Validate that the DiagnosticsState is set to “Complete”.
Verify that the SuccessCount and FailureCount match what is seen on the network capture.
5.2.2 Download Diagnostics over HTTP
5.2.2.1 Purpose:
To verify that an ACS and CPE can interoperate while performing the download diagnostics function over HTTP. This test will be run if supported on the CPE.
Have an HTTP server and file to perform the download. The file should be big enough for the file transfer to last at least 30 seconds.
5.2.2.7 Procedure:
On the ACS schedule a SetParameterValues RPC on the Interface, DownloadURL and DiagnosticsState parameters listed in the parameters section.
Allow the CPE to perform the specific diagnostic tests and send an Inform message with an event code of “8 DIAGNOSTICS COMPLETE”.
On the ACS schedule a GetParameterValues RPC on the DownloadDiagnostics object.
Perform a reboot of the CPE.
On the ACS schedule a GetParameterValues RPC on the DownloadDiagnostics object.
5.2.2.8 Test Metrics:
Verify that the SetParameterValuesResponse RPC is correct
Verify that an Inform message is received with an event code of “8 DIAGNOSTICS COMPLETE”
Verify that the GetParameterValuesResponse contains a valid value for the DiagnosticsState parameter.
Verify that TestBytesReceived is correct.
Verify that EOMTime – BOMTime is within 1 second of the time that the file server reports the transfer took.
Verify that the GetParameterValuesResponse contains a valid value for the DiagnosticsState parameter.
If the value is “Completed” verify that the values in the DownloadDiagnostic object are the same as they were before the reboot.
Verify that TotalBytesReceived is within 1% of the measured traffic.
5.2.3 Download Diagnostics over FTP
5.2.3.1 Purpose:
To verify that an ACS and CPE can inter-operate while performing the download diagnostics function over FTP. This test will be run if supported on the CPE.
Have an FTP server and file to perform the download. The file should be big enough for the file transfer to last at least 30 seconds.
5.2.3.7 Procedure:
On the ACS schedule a SetParameterValues RPC on the Interface, DownloadURL and DiagnosticsState parameters listed in the parameters section.
Allow the CPE to perform the specific diagnostic tests and send an Inform message with an event code of “8 DIAGNOSTICS COMPLETE”.
On the ACS schedule a GetParameterValues RPC on the DownloadDiagnostics object.
Perform a reboot of the CPE.
On the ACS schedule a GetParameterValues RPC on the DownloadDiagnostics object.
5.2.3.8 Test Metrics:
Verify that the SetParameterValuesResponse RPC is correct
Verify that an Inform message is received with an event code of “8 DIAGNOSTICS COMPLETE”
Verify that the GetParameterValuesResponse contains a valid value for the DiagnosticsState parameter.
Verify that TestBytesReceived is correct.
Verify that EOMTime – BOMTime is within 1 second of the time that the file server reports the transfer took.
Verify that the GetParameterValuesResponse contains a valid value for the DiagnosticsState parameter.
If the value is “Completed” verify that the values in the DownloadDiagnostic object are the same as they were before the reboot.
5.2.4 Upload Diagnostics over HTTP
5.2.4.1 Purpose:
To verify that an ACS and CPE can inter-operate while performing the upload diagnostics function over HTTP. This test will be run if supported on the CPE.
On the ACS schedule a SetParameterValues RPC on the Interface, UploadURL and DiagnosticsState parameters listed in the parameters section.
Allow the CPE to perform the specific diagnostic tests and send an Inform message with an event code of “8 DIAGNOSTICS COMPLETE”.
On the ACS schedule a GetParameterValues RPC on the UploadDiagnostics object.
Perform a reboot of the CPE
On the ACS schedule a GetParameterValues RPC on the UploadDiagnostics object.
5.2.4.8 Test Metrics:
Verify that the SetParameterValuesResponse RPC is correct
Verify that an Inform message is received with an event code of “8 DIAGNOSTICS COMPLETE”
Verify that the GetParameterValuesResponse contains a valid value for the DiagnosticsState parameter.
Verify that the test server received a file of TestLengthBytes size.
Verify that EOMTime – BOMTime is within 1 second of the time that the file server reports the transfer took.
Verify that the GetParameterValuesResponse contains a valid value for the DiagnosticsState parameter.
If the value is “Completed” verify that the values in the UploadDiagnostic object are the same as they were before the reboot.
Verify that TotalBytesSent is within 1% of the measured traffic.
5.2.5 Upload Diagnostics over FTP
5.2.5.1 Purpose:
To verify that an ACS and CPE can inter-operate while performing the upload diagnostics function over FTP. This test will be run if supported on the CPE.
The following parameters within the InternetGatewayDevice.UploadDiagnostics table (for devices that implement the InternetGatewayDevice:1 root data model) and Device.IP.Diagnostics.UpLoadDiagnostics table (for devices that implement the Device:2 root data model) are required to be implemented for this test:
For CPE that implement the Device:2 root data model:
Device.IP.Diagnostics.UploadDiagnostics.
DiagnosticsState
Requested
Interface
Returned from device
UploadURL
<URL of FTP server>
TestFileLength
<value long enough for the upload to last 30 seconds>
UploadTransports
Returned from device
For CPE that implement the InternetGatewayDevice:1 root data model:
InternetGatewayDevice.UploadDiagnostics.
DiagnosticsState
Requested
Interface
Returned from device
UploadURL
<URL of FTP server>
TestFileLength
<value long enough for the upload to last 30 seconds>
Have one device connectable on each interface that the CPE supports.
Have a Network Analyzer to capture traffic between the CPE and each LAN device.
5.3.5.7 Procedure:
On the ACS schedule a SetParameterAttributes RPC with active notification on the CPE for HostNumberOfEntries
Connect a device to the CPE on each interface the CPE supports.
Verify that the ACS receives a notification containing the HostNumberOfEntries parameter.
On the ACS schedule a SetParameterAttributes RPC with active notification on the CPE for each host object’s active parameter (Host.{i}.Active).
Disconnect a device from the CPE
Verify that the ACS receives a notification containing the Active parameter.
Schedule a GetParameterNames RPC on the CPE for Host.
5.3.5.8 Test Metrics:
Verify that the CPE responds to the SetParameterAttributes RPC
Verify the CPE sends an Inform containing a “4 VALUE CHANGE” for each device that is connected to the CPE. Verify the ParameterList includes the HostNumberOfEntries parameter.
Verify the CPE sends an Inform containing a “4 VALUE CHANGE” when the device is disconnected from the CPE. Verify the ParameterList includes the Host.{i}.Active parameter. If the CPE does not list inactive host, verify that the GetParameterNames does not include the Host instance of the inactive device.
5.4 Port Mappings
5.4.1 Create a Port Mapping – Single Interface
5.4.1.1 Purpose:
To verify that an ACS can create a port mapping, the CPE can create the port mapping that the ACS requested, and that internet traffic can traverse the port mapping.
The following parameters are required to be implemented by the CPE for this test:
For devices that support the Device:2 root data model:
Device.NAT.PortMapping.
Enable
true
Interface
Returned from device
LeaseDuration
ExternalPort
1400
InternalPort
1401
Protocol
UDP
InternalClient
<IP Address of the End Device (laptop)>
For devices that support the InternetGatewayDevice:1 root data model:
InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.PortMapping.{i}.
OR
InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}.PortMapping.{i}.
Have a Network Analyzer to capture traffic between the CPE and the LAN device.
5.4.1.7 Procedure:
ACS performs an AddObject RPC to create a new PortMapping instance.
ACS performs a SetParameterValues RPC on the parameters above using the returned PortMapping instance number.
ACS performs a GetParameterValues RPC on the PortMapping instance.
Reboot the CPE.
ACS performs a GetParameterValues RPC on the PortMapping instance.
Send UDP traffic to the CPE’s IP Address with destination port 1400 from the WAN side of the CPE.
5.4.1.8 Test Metrics:
Validate that the values of the PortMapping instance match the values that were set.
Validate that the CPE retains the PortMapping instance and configuration across a reboot.
Validate that the UDP traffic is forwarded to the LAN Device’s IP address, port 1401.
5.4.2 Create a Port Mapping – All Interfaces (Device:2 only)
5.4.2.1 Purpose:
To verify that an ACS can create a port mapping, the CPE can create the port mapping that the ACS requested, and that internet traffic can traverse the port mapping.
The following parameters are required to be implemented by the CPE for this test:
Device.NAT.PortMapping.
Enable
true
AllInterfaces
true
LeaseDuration
ExternalPort
1400
InternalPort
1401
Protocol
UDP
InternalClient
<IP Address of the End Device (laptop)>
5.4.2.6 Test Setup:
Refer to Common Test Setup for setup steps. Have a LAN device connected to the LAN side of the CPE Have a device connected on the WAN side of the CPE that can send UDP traffic. ACS ensures that the port mapping being created doesn’t already exist by retrieving all instances of the PortMapping table via a GetParamterValues RPC
If PortMapping already exists, remove it via the DeleteObject RPC
Have a Network Analyzer to capture traffic between the CPE and the LAN device.
5.4.2.7 Procedure:
ACS performs an AddObject RPC to create a new PortMapping instance.
ACS performs a SetParameterValues RPC on the parameters above using the returned PortMapping instance number.
ACS performs a GetParameterValues RPC on the PortMapping instance.
Send UDP traffic to the CPE’s IP Address with destination port 1400 from the WAN side of the CPE.
5.4.2.8 Test Metrics:
Validate that the values of the PortMapping instance match the values that were set.
Validate that the UDP traffic is forwarded to the LAN Device’s IP address, port 1401.
5.4.3 Create a Port Mapping – External Port Range
5.4.3.1 Purpose:
To verify that an ACS can create a port mapping, the CPE can create the port mapping that the ACS requested, and that internet traffic can traverse the port mapping.
The following parameters required to be implemented for this test:
For devices that support the Device:2 root data model:
Device.NAT.PortMapping.
Enable
true
Interface
Returned from device
LeaseDuration
ExternalPort
1400
ExternalPortEndRange
1405
InternalPort
1401
Protocol
UDP
InternalClient
<IP Address of the End Device>
For devices that support the InternetGatewayDevice:1 root data model:
InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.PortMapping.{i}.
OR
InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}.PortMapping.{i}.
Have a Network Analyzer to capture traffic between the CPE and the LAN device.
5.4.3.7 Procedure:
ACS performs an AddObject RPC to create a new PortMapping instance.
ACS performs a SetParameterValues RPC on the parameters above using the returned PortMapping instance number.
ACS performs a GetParameterValues RPC on the PortMapping instance.
Send UDP traffic to the CPE’s IP Address with destination port 1400 from the WAN side of the CPE.
Send UDP traffic to the CPE’s IP Address with destination port 1403 from the WAN side of the CPE.
5.4.3.8 Test Metrics:
Validate that the values of the PortMapping instance match the values that were set.
Validate that the UDP traffic to port 1400 is forwarded to the LAN Device’s IP address, port 1401.
Validate that the UDP traffic to port 1403 is forwarded to the LAN Device’s IP address, port 1401.
5.4.4 Create a Port Mapping – Lease Duration > 0
5.4.4.1 Purpose:
To verify that an ACS can create a port mapping, the CPE can create the port mapping that the ACS requested, and that internet traffic can traverse the port mapping.
LeaseDuration or PoerMappingLeaseDuration supports non-zero value
5.4.4.5 Parameters:
The following parameters required to be implemented for this test:
For devices that support the Device:2 root data model:
Device.NAT.PortMapping.
Enable
true
Interface
Returned from device
LeaseDuration
120
ExternalPort
1400
InternalPort
1401
Protocol
UDP
InternalClient
<IP Address of the End Device>
For devices that support the InternetGatewayDevice:1 root data model:
InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.PortMapping.{i}.
OR
InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}.PortMapping.{i}.
Have a Network Analyzer to capture traffic between the CPE and the LAN device.
5.4.4.7 Procedure:
ACS performs an AddObject RPC to create a new PortMapping instance.
ACS performs a SetParameterValues RPC on the parameters above using the returned PortMapping instance number.
ACS performs a GetParameterValues RPC on the PortMapping instance.
Send UDP traffic to the CPE’s IP Address with destination port 1400 from the WAN side of the CPE.
Wait for the PortMapping Instance to expire.
Send UDP traffic to the CPE’s IP Address with destination port 1400 from the WAN side of the CPE.
5.4.4.8 Test Metrics:
Validate that the values of the PortMapping instance match the values that were set.
Validate that the UDP traffic to port 1400 is forwarded to the LAN Device’s IP address, port 1401.
Validate that the UDP traffic to port 1400 is NOT forwarded to the LAN Device after the PortMapping Instance expires.
5.4.5 Create a Port Mapping – Remote Host Restriction
5.4.5.1 Purpose:
To verify that an ACS can create a port mapping, the CPE can create the port mapping that the ACS requested, and that internet traffic can traverse the port mapping.
The following parameters required to be implemented for this test:
For devices that support the Device:2 root data model:
Device.NAT.PortMapping.
Enable
true
Interface
Returned from device
LeaseDuration
RemoteHost
<IP Address of Telnet Client1>
ExternalPort
1400
InternalPort
1401
Protocol
UDP
InternalClient
<IP Address of the End Device>
For devices that support the InternetGatewayDevice:1 root data model:
InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.PortMapping.{i}.
OR
InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}.PortMapping.{i}.
Have a Network Analyzer to capture traffic between the CPE and the LAN device.
5.4.5.7 Procedure:
ACS performs an AddObject RPC to create a new PortMapping instance.
ACS performs a SetParameterValues RPC on the parameters above using the returned PortMapping instance number.
ACS performs a GetParameterValues RPC on the PortMapping instance.
Send UDP traffic to the CPE’s IP Address with destination port 1400 from WANDevice1.
Send UDP traffic to the CPE’s IP Address with destination port 1400 from WANDevice2
5.4.5.8 Test Metrics:
Validate that the values of the PortMapping instance match the values that were set.
Validate that the UDP traffic to port 1400 from WANDevice1 is forwarded to the LAN Device’s IP address, port 1401.
Validate that the UDP traffic to port 1400 from WANDevice2 is NOT forwarded to the LAN Device.
5.4.6 Create a Port Mapping – Multiple Entries – Precedence Rules
5.4.6.1 Purpose:
To verify that an ACS can create a port mapping, the CPE can create the port mapping that the ACS requested, and that internet traffic can traverse the port mapping.
The following parameters required to be implemented for this test:
For devices that support the Device:2 root data model:
Device.NAT.PortMapping.
Enable
true
Interface
Returned from device
LeaseDuration
ExternalPort
InternalPort
1401
Protocol
UDP
InternalClient
<IP Address of the End Device>
For devices that support the InternetGatewayDevice:1 root data model:
InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.PortMapping.{i}.
OR
InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}.PortMapping.{i}.
Have a Network Analyzer to capture traffic between the CPE and the LAN device.
5.4.6.7 Procedure:
ACS performs an AddObject RPC to create a new PortMapping instance.
ACS performs a SetParameterValues RPC on the parameters above using the returned PortMapping instance number. ExternalPort is 0, InternalPort is 1401.
ACS performs an AddObject RPC to create a new PortMapping instance.
ACS performs a SetParameterValues RPC on the parameters above using the returned PortMapping instance number. ExternalPort is 1400, InternalPort is 1402.
ACS performs a GetParameterValues RPC on the PortMapping instance.
Send UDP traffic to the CPE’s IP Address with destination port 1399 from WANDevice1.
Send UDP traffic to the CPE’s IP Address with destination port 1400 from WANDevice2.
5.4.6.8 Test Metrics:
Validate that the values of the PortMapping instance match the values that were set.
Validate that the UDP traffic to port 1399 from WANDevice1 is forwarded to the LAN Device’s IP address, port 1401.
Validate that the UDP traffic to port 1400 from WANDevice2 is forwarded to the LAN Device’s IP address, port 1402.
5.4.7 Modify a Port Mapping
5.4.7.1 Purpose:
To verify that an ACS can change a port mapping, the CPE can change the port mapping in the way that the ACS requested, and that internet traffic can traverse the altered port mapping.
The following parameters required to be implemented for this test:
For devices that support the Device:2 root data model:
Device.NAT.PortMapping.
Enable
true
Interface
Returned from device
LeaseDuration
ExternalPort
1400
InternalPort
1401
Protocol
UDP
InternalClient
<IP Address of the End Device>
For devices that support the InternetGatewayDevice:1 root data model:
InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.PortMapping.{i}.
OR
InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}.PortMapping.{i}.
Have a Network Analyzer to capture traffic between the CPE and the LAN device.
5.4.7.7 Procedure:
ACS performs an AddObject RPC to create a new PortMapping instance.
ACS performs a SetParameterValues RPC on the parameters above using the returned PortMapping instance number. ExternalPort is 1400, InternalPort is 1401.
Send UDP traffic to the CPE’s IP Address with destination port 1400 from the WAN side of the CPE.
ACS performs a SetParameterValues RPC on the parameters above using the returned PortMapping instance number. ExternalPort is 1401, InternalPort is 1402.
ACS performs a GetParameterValues RPC on the PortMapping instance.
Send UDP traffic to the CPE’s IP Address with destination port 1401 from the WAN side of the CPE.
5.4.7.8 Test Metrics:
Validate that the UDP traffic to port 1400 is forwarded to the LAN Device’s IP address, port 1401.
Validate that the values of the PortMapping instance match the values that were set.
Validate that the UDP traffic to port 1401 is forwarded to the LAN Device’s IP address, port 1402.
5.4.8 Delete a Port Mapping
5.4.8.1 Purpose:
To verify that an ACS can remove a port mapping, the CPE can remove the port mapping that the ACS requested, and that internet traffic will not traverse the across the removed port mapping.
The following parameters are required to be implemented by the CPE for this test:
For devices that support the Device:2 root data model:
Device.NAT.PortMapping.
Enable
true
Interface
Returned from device
LeaseDuration
ExternalPort
1400
InternalPort
1401
Protocol
UDP
InternalClient
<IP Address of the End Device (laptop)>
For devices that support the InternetGatewayDevice:1 root data model:
InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.PortMapping.{i}.
OR
InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}.PortMapping.{i}.
Have a LAN device connected to the LAN side of the CPE
Have a device connected on the WAN side of the CPE that can send UDP traffic.
ACS ensures that the port mapping being altered already exists by retrieving all instances of the PortMapping table via a GetParamterValues RPC
If PortMapping does NOT already exist, add it via the DeleteObject/SetParameterValues RPC: see “Create a PortMapping (single interface)” test for procedures
Have a Network Analyzer to capture traffic between the CPE and the LAN device.
5.4.8.7 Procedure:
Send UDP traffic to the CPE’s IP Address with destination port 1400 from the WAN side of the CPE.
ACS performs a DeleteObject RPC on the PortMapping Instance.
ACS validates that the PortMapping entry no longer exists by retrieving all instances of the PortMapping table via a GetParamterValues RPC
Send UDP traffic to the CPE’s IP Address with destination port 1400 from the WAN side of the CPE.
5.4.8.8 Test Metrics:
Validate that the UDP traffic to port 1400 is forwarded to the LAN Device’s IP address, port 1401.
Validate that the PortMapping Instance no longer exists in the table.
Validate that the UDP traffic to port 1400 is NOT forwarded to the LAN Device after the PortMapping has been deleted.
5.4.9 Create a Port Mapping – TCP
5.4.9.1 Purpose:
To verify that an ACS can create a port mapping, the CPE can create the port mapping that the ACS requested, and that internet traffic can traverse the port mapping.
The following parameters are required to be implemented by the CPE for this test:
For devices that support the Device:2 root data model:
Device.NAT.PortMapping.
Enable
true
Interface
Returned from device
LeaseDuration
ExternalPort
1400
InternalPort
1401
Protocol
TCP
InternalClient
<IP Address of the End Device (laptop)>
For devices that support the InternetGatewayDevice:1 root data model:
InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.PortMapping.{i}.
OR
InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}.PortMapping.{i}.
Device that can send and receive TCP and UDP connections connected to the LAN side of the CPE (End Device)
Device that can send and receive TCP and UDP connections connected on the WAN side of the CPE (WAN Device)
Have a Network Analyzer to capture traffic between the CPE and the End Device.
5.5.2.7 Procedure:
Configure ACS to send an AddObject RPC for Device.Firewall.Level and record the returned instance number.
Configure ACS to send a GetParameterValues RPC for Device.Firewall.Level.{i}.Chain.
Configure ACS to send an AddObject RPC for Device.Firewall.Chain.{i}.Rule using the path returned in step 2 and record the returned instance number.
ACS performs a SetParameterValues RPC on the following parameters using the instance numbers returned in steps 1-3.
Device.Firewall.
Config
Advanced
AdvancedLevel
Device.Firewall.Level.{i}.
Device.Firewall.Level.{i}.
Chain
Returned from device
DefaultPolicy
Drop
Device.Firewall.Chain.{i}.Rule.{i}.
Target
Accept
DestIP
<Unused IP Address>
SourceIP
<Unused IP Address>
ACS enables the Firewall by sending a SetParameterValues RPC for Device.Firewall.Enable with the value set to “true.”
End Device attempts to open a TCP connection with WAN Device.
End Device attempts to open a UDP connection with WAN Device.
Configure ACS to send an AddObject RPC for Device.Firewall.Chain.{i}.Rule. and record the returned instance number.
ACS Configures the new Firewall Rule by sending a SetParameterValues RPC with the following name/value pairs using the instance number returned in step 8.
Device.Firewall.Chain.{i}.
Enable
true
Device.Firewall.Chain.{i}.Rule.{i}.
Target
Accept
DestInterface
Default WAN Interface
Protocol
6 (TCP)
End Device attempts to open a TCP connection with WAN Device.
End Device attempts to open a UDP connection with WAN Device.
Configure ACS to send an AddObject RPC for Device.Firewall.Chain.{i}.Rule. and record the returned instance number.
ACS Configures the new Firewall Rule by sending a SetParameterValues RPC with the following name/value pairs using the instance number returned in step 12.
Device.Firewall.Chain.{i}.
Enable
true
Device.Firewall.Chain.{i}.Rule.{i}.
Target
Accept
DestInterface
Default WAN Interface
Protocol
17 (UDP)
End Device attempts to open a TCP connection with WAN Device.
End Device attempts to open a UDP connection with WAN Device.
5.5.2.8 Test Metrics:
In Step 6, CPE does not forward TCP traffic to the WAN side.
In Step 7, CPE does not forward UDP traffic to the WAN side.
In Step 10, CPE forwards TCP traffic to the WAN side.
In Step 11, CPE does not forward UDP traffic to the WAN side.
In Step 14, CPE forwards TCP traffic to the WAN side.
In Step 15, CPE forwards UDP traffic to the WAN side.
5.5.3 Deny/Allow Outbound Ports (Device:2 Only)
5.5.3.1 Purpose:
To verify the ACS can configure a firewall on the CPE that denies or allows specific outbound ports.
5.5.3.2 References:
Device:2.2
5.5.3.3 Profiles:
Device:2
InternetGatewayDevice:1
AdvancedFirewall:1
N/A
5.5.3.4 Optional Features:
None
5.5.3.5 Parameters:
The following parameters are required to be implemented for this test:
Device that can send and receive TCP and UDP connections connected to the LAN side of the CPE (End Device)
Device that can send and receive TCP and UDP connections connected on the WAN side of the CPE (WAN Device)
Have a Network Analyzer to capture traffic between the CPE and the End Device.
5.5.3.7 Procedure:
Configure ACS to send an AddObject RPC for Device.Firewall.Level and record the returned instance number.
Configure ACS to send a GetParameterValues RPC for Device.Firewall.Level.{i}.Chain.
Configure ACS to send an AddObject RPC for Device.Firewall.Chain.{i}.Rule using the path returned in step 2 and record the returned instance number.
ACS performs a SetParameterValues RPC on the following parameters using the instance numbers returned in steps 1-3.
Device.Firewall.
Config
Advanced
AdvancedLevel
Device.Firewall.Level.{i}.
Device.Firewall.Level.{i}.
Chain
Returned from device
DefaultPolicy
Drop
Device.Firewall.Chain.{i}.Rule.{i}.
Target
Accept
DestIP
<Unused IP Address>
SourceIP
<Unused IP Address>
ACS enables the Firewall by sending a SetParameterValues RPC for Device.Firewall.Enable with the value set to “true.”
End Device attempts to open a TCP connection, destination port 80, with WAN Device.
End Device attempts to open a TCP connection, destination port 443, with WAN Device.
Configure ACS to send an AddObject RPC for Device.Firewall.Chain.{i}.Rule and record the returned instance number.
ACS Configures the new Firewall Rule by sending a SetParameterValues RPC with the following name/value pairs using the instance number returned in step 8.
Device.Firewall.Chain.{i}.
Enable
true
Device.Firewall.Chain.{i}.Rule.{i}.
Target
Accept
DestInterface
Default WAN Interface
Protocol
DestPort
80
End Device attempts to open a TCP connection, destination port 80, with WAN Device.
End Device attempts to open a TCP connection, destination port 443, with WAN Device.
Configure ACS to send an AddObject RPC for Device.Firewall.Chain.{i}.Rule and record the returned instance number.
ACS Configures the new Firewall Rule by sending a SetParameterValues RPC with the following name/value pairs using the instance number returned in step 12.
Device.Firewall.Chain.{i}.
Enable
true
Device.Firewall.Chain.{i}.Rule.{i}.
Target
Accept
DestInterface
Default WAN Interface
Protocol
DestPort
443
End Device attempts to open a TCP connection, destination port 80, with WAN Device.
End Device attempts to open a TCP connection, destination port 443, with WAN Device.
5.5.3.8 Test Metrics:
In Step 6, CPE does not forward TCP traffic with destination port 80 to the WAN side.
In Step 7, CPE does not forward TCP traffic with destination port 443 to the WAN side.
In Step 10, CPE forwards TCP traffic with destination port 80 to the WAN side.
In Step 11, CPE does not forward TCP traffic with destination port 443to the WAN side.
In Step 14, CPE forwards TCP traffic with destination port 80 to the WAN side.
In Step 15, CPE forwards TCP traffic with destination port 443 to the WAN side.
5.5.4 Deny/Allow Source IP Address (Device:2 Only)
5.5.4.1 Purpose:
To verify the ACS can configure a firewall on the CPE that denies or allows specific outbound ports.
5.5.4.2 References:
Device:2.2
5.5.4.3 Profiles:
Device:2
InternetGatewayDevice:1
AdvancedFirewall:1
N/A
5.5.4.4 Optional Features:
None
5.5.4.5 Parameters:
The following parameters are required to be implemented for this test:
Two Devices that can send and receive TCP and UDP connections connected to the LAN side of the CPE (End Device 1 and End Device 2)
Device that can send and receive TCP and UDP connections connected on the WAN side of the CPE (WAN Device)
Have a Network Analyzer to capture traffic between the CPE and the End Device.
5.5.4.7 Procedure:
Configure ACS to send an AddObject RPC for Device.Firewall.Level and record the returned instance number.
Configure ACS to send a GetParameterValues RPC for Device.Firewall.Level.{i}.Chain.
Configure ACS to send an AddObject RPC for Device.Firewall.Chain.{i}.Rule using the path returned in step 2 and record the returned instance number.
ACS performs a SetParameterValues RPC on the following parameters using the instance numbers returned in steps 1-3.
Device.Firewall.
Config
Advanced
AdvancedLevel
Device.Firewall.Level.{i}.
Device.Firewall.Level.{i}.
Chain
Returned from device
DefaultPolicy
Drop
Device.Firewall.Chain.{i}.Rule.{i}.
Target
Accept
DestIP
<Unused IP Address>
SourceIP
<Unused IP Address>
ACS enables the Firewall by sending a SetParameterValues RPC for Device.Firewall.Enable with the value set to “true.”
End Device 1 attempts to open a TCP connection, destination port 80, with WAN Device.
End Device 2 attempts to open a TCP connection, destination port 80, with WAN Device.
Configure ACS to send an AddObject RPC for Device.Firewall.Chain.{i}.Rule and record the returned instance number.
ACS Configures the new Firewall Rule by sending a SetParameterValues RPC with the following name/value pairs using the instance number returned in step 8.
Device.Firewall.Chain.{i}.
Enable
true
Device.Firewall.Chain.{i}.Rule.{i}.
Target
Accept
DestInterface
Default WAN Interface
Protocol
DestPort
80
SourceIP
End Device1 IP
End Device 1 attempts to open a TCP connection, destination port 80, with WAN Device.
End Device 2 attempts to open a TCP connection, destination port 80, with WAN Device.
Configure ACS to send an AddObject RPC for Device.Firewall.Chain.{i}.Rule and record the returned instance number.
ACS Configures the new Firewall Rule by sending a SetParameterValues RPC with the following name/value pairs using the instance number returned in step 12.
Device.Firewall.Chain.{i}.
Enable
true
Device.Firewall.Chain.{i}.Rule.{i}.
Target
Accept
DestInterface
Default WAN Interface
Protocol
DestPort
80
SourceIP
End Device2 IP
End Device 1 attempts to open a TCP connection, destination port 80, with WAN Device.
End Device 2 attempts to open a TCP connection, destination port 80 with WAN Device.
5.5.4.8 Test Metrics:
In Step 6, CPE does not forward TCP traffic from End Device 1 to the WAN side.
In Step 7, CPE does not forward TCP traffic from End Device 2 to the WAN side.
In Step 10, CPE forwards TCP traffic from End Device 1 to the WAN side.
In Step 11, CPE does not forward TCP traffic from End Device 2 to the WAN side.
In Step 14, CPE forwards TCP traffic from End Device 1 to the WAN side.
In Step 15, CPE forwards TCP traffic from End Device 2 to the WAN side.
Have an End Device with the ability to connect to wireless networks.
5.6.8.7 Procedure:
Perform a GetParameterValues on the root partial path listed in the parameters section to learn the existing stack hierarchy. If no SSID objects exist, perform an AddObject RPC on the Device.Wifi.SSID. partial path. #. Record the instance number received in the AddObjectResponse. #. If no AccessPoint objects exist, perform an AddObject RPC on the Device.Wifi.AccessPoint. partial path #. Record the instance number received in the AddObjectResponse #. Configure the Wifi settings on the CPE using a single SetParameterValues. #. Reboot the CPE. #. Perform a GetParameterValues on the Stats object listed in the Parameters section and note the values. #. The End Device connects to the CPE’s newly created wifi access point. #. Stimulate network traffic across the Wifi connection #. Perform a GetParameterValues on the Stats object listed in the Parameters section and note the values.
5.6.8.8 Test Metrics:
Verify that the SetParameterValuesResponse to be valid.
Settings persist across reboot.
The End Device can connect to the wifi connection.
The End Device has appropriate network access through the wifi connection.
The Stats object has updated to reflect the network traffic across the wifi connection.
5.6.9 Wi-Fi Setup WPA Enterprise (Device:2 Only)
5.6.9.1 Purpose:
To verify that an ACS can set a valid Wi-Fi configuration on the CPE using WPA Enterprise Encryption.
Refer to Section 4.2.1, Common Test Setup, for setup steps.
Have a RADIUS Server set up configured with a secret and a user account with a known username and password.
Have an End Device with the ability to connect to wireless networks.
5.6.16.7 Procedure:
Perform a GetParameterValues on the root partial path listed in the parameters section to learn the existing stack hierarchy.
If no SSID objects exist, perform an AddObject RPC on the Device.Wifi.SSID. partial path.
Record the instance number received in the AddObjectResponse.
If no AccessPoint objects exist, perform an AddObject RPC on the Device.Wifi.AccessPoint. partial path
Record the instance number received in the the AddObjectResponse
Configure the Wifi settings on the CPE using a single SetParameterValues.
Reboot the CPE.
Perform a GetParameterValues on the Stats object listed in the Parameters section and note the values.
The End Device connects to the CPE’s newly created wifi access point, authenticated from the RADIUS Server.
Stimulate network traffic across the Wifi connection
Perform a GetParameterValues on the Stats object listed in the Parameters section and note the values
5.6.16.8 Test Metrics:
Verify that the SetParameterValuesResponse is valid.
Settings persist across reboot.
Verify CPE sends a Radius request on End Device connection to the Radius server and receives a valid response.
The End Device has appropriate network access through the wifi connection.
The Stats object has updated to reflect the network traffic across the wifi connection.
5.6.17 Wi-Fi Setup – Add SSID (Device:2 Only)
5.6.17.1 Purpose:
To verify that an ACS can add an SSID object successfully to a preexisting Wifi configuration and that the new SSID is able to be successfully used to gain appropriate network access.
Have a pre-existing, working Wi-Fi Configuration on the CPE.
Have an End Device with the ability to connect to existing wireless networks.
5.6.17.7 Procedure:
Perform a GetParameterValues on the root partial path listed in the parameters section to learn the existing stack hierarchy. Take special note of the existing SSID object’s LowerLayers parameter (Device.Wifi.SSID.{j}.LowerLayers)
Perform an AddObject RPC on “Device.Wifi.SSID.” and record the instance number and status returned.
If the status of the Add Object RPC returned a 1, reboot the device.
Perform a Get Parameter Values RPC on the path from Procedure step 2 and confirm the object was added successfully.
Peform an AddObject RPC on “Device.WiFi.AccessPoint.” and record the instance number and status returned.
If the status of the Add Object RPC returned a 1, reboot the device.
Perform a Get Parameter Values RPC on the path from Procedure step 5 and confirm the object was added successfully.
Configure the Wifi settings on the CPE to utilize the new SSID object using the SetParameterValues RPC:
Device.Wifi.SSID.{i}.LowerLayers = <Value returned in Procedure step 1>
Device.Wifi.SSID.{i}.Enable = true
Device.Wifi.SSID.{i}.SSID = <Value different from Device.Wifi.SSID.{j}.SSID>
The End Device connects to the CPE’s newly created Wi-Fi SSID using the same authentication method and credentials that the preexisting configuration uses.
Reboot the CPE
Perform a GetParameterValues on the Stats object listed in the Parameters section and note the values.
The End Device connects to the CPE’s newly created wifi SSID using the same authentication method and credentials that the preexisting configuration uses.
Stimulate network traffic across the Wifi connection.
Perform a GetParameterValues on the Stats object listed in the Parameters section and note the values.
5.6.17.8 Test Metrics:
Verify that the SetParameterValuesResponse is valid.
Settings persist across reboot.
The End Device can connect to the new SSID.
The End Device has appropriate network access using the new SSID.
The Stats object has updated to reflect the network traffic across the Wi-Fi connection.
5.6.18 Wi-Fi Setup – Remove SSID (Device:2 Only)
5.6.18.1 Purpose:
To verify that an ACS can remove an SSID object successfully from a preexisting Wifi configuration and that the new SSID is able to be successfully used to gain appropriate network access.
Have a preexisting, working Wifi configuration on the CPE.
Have an End Device (Laptop) with the ability to connect to wireless networks.
5.6.18.7 Procedure:
Verify that the existing Wifi configuration is operating correctly by connecting the End Device to it. Note the SSID that was connected to.
Perform a GetParameterValues on the root partial path listed in the parameters section to learn the existing stack hierarchy. Note the instance number of the SSID object with the SSID field matching the one connected to in Procedure Step 1 as well as the instance number of the AccessPoint with the SSIDReference field mapped to the appropriate SSID.
Peform a DeleteObject RPC on the Device.Wifi.SSID.{instance noted in Procedure Step 2} and Device.Wifi.AccessPoint.{instance noted in Procedure Step 2}, noting the returned value.
If the status returned is 1, reboot the CPE.
Perform a GetParameterValues on Device.Wifi.SSID. And Device.Wifi.AccessPoint. to confirm deletion.
Attempt to re-connect the End Device to the removed SSID.
If status returned in the DeleteObject was 0, reboot the CPE and then perform a GetParameterValues on Device.Wifi.SSID. And Device.Wifi.AccessPoint. to confirm deletion persisted across reboot.
5.6.18.8 Test Metrics:
End Device can initially connect to the SSID
Deletion of SSID object persists across reboot.
The End Device cannot connect to the deleted SSID.
5.7 Localized Strings
5.7.1 Non-Printable ASCII Characters in SetParameterValues RPC (Device:2 Only)
5.7.1.1 Purpose:
To verify that an ACS can configure localized strings in the device.
ACS performs a SetParameterValues RPC on the ProvisioningCode and sets a new value. In the SPV the ACS uses a ParameterKey, which is randomly generated and fulfills these criteria:
The string contains non-printable ASCII characters
The string contains XML characters, which have to be escaped like “<,>, &”.
ACS ends the session.
ACS triggers a new session with the CPE.
The CPE establishes the session.
ACS performs a GetParameterValues on ParameterKey.
ACS ends the session.
Repeat steps 1-8 with a new randomly generated string.
Repeat steps 1-8 with a new randomly generated string.
5.7.3.8 Test Metrics:
Validate that both session can be successfully executed.
Validate that the GetParameterValues RPC and the SetParameterValues RPC are successful.
Validate that the string returned in step 7 matches the string set in step 3.
Validate that the string is properly encoded in step 3 and step 7.
5.7.4 Multi-Byte Encoding in ParameterKey (Device:2 Only)
5.7.4.1 Purpose:
To verify that an ACS can configure strings in the CPE that are 32 characters but more than 32 bytes.
ACS performs a SetParameterValues RPC on the ProvisioningCode and sets a new value. In the SPV the ACS uses a ParameterKey, which is randomly generated and fulfills these criteria:
The string uses a multi-byte encoding
The string contains 32 characters
ACS ends the session
ACS triggers a new session with the CPE
The CPE establishes the session
ACS performs a GetParameterValues RPC on ParameterKey.
ACS ends the session
5.7.4.8 Test Metrics:
Validate that both session can be successfully executed
Validate that the GetParameterValues RPC and the SetParameterValues RPC are successful
Validate that the string returned in step 7 matches the string set in step 3
Validate that the string is properly encoded in step 3 and step 7
5.7.5 Non-ASCII Characters in CommandKey (Device:2 Only)
5.7.5.1 Purpose:
To verify that an ACS can configure localized strings in the device.
Download parameters:
CommandKey: a unique value
FileType: "3 Vendor Configuration File"
URL: location of the invalid file
Username: used to authenticate CPE with file server
Password: used to authenticate CPE with file server
FileSize: size of the file in bytes
TargetFileName: name of file
DelaySeconds: 0
SuccessURL: Empty string
FailureURL: Empty string
5.8.0.4 Test Setup:
ACS connected to the network
CPE connected to the network and configured with an ACS URL that corresponds to the ACS in #1
Have device to capture traffic between the device and both the file server and ACS
Establish a server to download files.
5.8.0.5 Procedure:
ACS schedules a download RPC on the CPE with the parameters above
Allow CPE to respond DownloadResponse or TransferComplete
5.8.0.6 Test Metrics:
Verify that the CPE responds to the Download RPC with a DownloadResponse or TransferComplete with one of the following fault codes: 9003 (Invalid argument),
5.9 DHCP Provisioning – Disable DHCP
5.9.0.1 Purpose:
To verify that an ACS can configure the basic DHCPv4 configuration required on a CPE device.
5.9.0.2 References:
TR-181i2a7
5.9.0.3 Parameters:
The following parameters within the InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement. table (for devices that implement the InternetGatewayDevice:1 root data model) and Device.DHCPv4.Server.Pool.{i}. table (for devices that implement the Device:2 root data model) are required to be implemented for this test:
Name
InternetGatewayDevice:1
Device:2
Value
Server Configurable
DHCPServerConfigurable
–
true
Server Enable
DHCPServerEnable
Disable
FALSE
Interface
–
Interface
Returned from Device
Minimum Address
MinAddress
MinAddress
<minimum address>
Maximum Address
MaxAddress
MaxAddress
<maximum address>
Lease Time
DHCPLeaseTime
–
60
5.9.0.4 Test Setup:
ACS connected to the network
CPE connected to the network and configured with an ACS URL that corresponds to the ACS in #1
CPE supports the appropriate DHCP parameters in the parameters section
If a Device CPE, verify that the Interface parameter is a valid path name in the IP Interface table.
Have an end system that can attempt to connect to the CPE via DHCP.
5.9.0.5 Procedure:
If the DUT implements the Device:2 root data model, perform an AddObject RPC on Device.Server.Pool., recording the InstanceNumber value returned in the AddObjectResponse
On the ACS schedule a SetParameterValues RPC on the appropriate Configurable parameters in the Parameters Section
Allow the end system to connect to the CPE via DHCP.
Perform a reboot of the CPE
Allow the end system to attempt connect to the CPE via DHCP
5.9.0.6 Test Metrics:
Verify that the SetParameterValuesResponse RPC is correct for all parameters
Verify that the end system doesn’t connect to the CPE within the designated range.
Verify that that end system doesn’t connects to the CPE within the designated range after the reboot
5.10 Diagnostics IPPing – Error Condition
5.10.0.1 Purpose:
To verify that an ACS can perform an IP Ping Diagnostics test on the CPE where the CPE returns a Error_NoRouteToHost.
5.10.0.2 References:
InternetGatewayDevice:1.6 and Device:2.6
5.10.0.3 Parameters:
The following parameters within the InternetGatewayDevice.IPPingDiagnostics. table (for devices that implement the InternetGatewayDevice:1 data model) or Device.IP.Diagnostics.IPPing. table (for devices that implement the Device:2 data model) are required to be implemented for this test:
Name
InternetGatewayDevice:1
Device:2
Value
Diagnostics State
DiagnosticsState
DiagnosticsState
Requested
Interface
Interface
Interface
Return from device
Host
Host
Host
Unknown Host
Number of Repetitions
NumberOfRepetitions
NumberOfRepetitions
Time out
Timeout
Timeout
1000
Data block size
DataBlockSize
128
DSCP
DSCP
DSCP
TimeZone
LocalTimeZone
LocalTimeZone
The following WAN Interface parameters are to determine the WAN interface of the CPE, InternetGatewayDevice.Layer3Forwarding.Default and Device.IP.Interface:
Name
InternetGatewayDevice:1
Device:2
Value
Connection
DefaultConnectionService
Interface
Returned from Device
The following Diagnostics parameters are to determine the state of the IP ping test of the CPE, InternetGatewayDevice.IPPingDiagnostics and Device.IP.Diagnostics.IPPing:
Name
InternetGatewayDevice:1
Device:2
Value
DiagnosticsState
DiagnosticsState
DiagnosticsState
Returned from Device
5.10.0.4 Test Setup:
ACS connected to the network
CPE connected to the network and configured with an ACS URL that corresponds to the ACS in Setup #1
Wireshark running between ACS and CPE.
5.10.0.5 Procedure:
ACS performs a GetParameterValues RPC on the WAN Interface parameter to determine the current interface in the parameter section above.
ACS performs a SetParameterValues RPC on the ping diagnostics parameters in the parameter section above.
ACS performs a GetParameterValues on the InternetGatewayDevice.IPPingDiagnostics or Device.IP.Diagnostics.IPPing to determine results of ping test
5.10.0.6 Test Metrics:
Validate that an Inform RPC is sent from the ACS with Event Code “8 DIAGNOSTICS COMPLETE”
Validate that the DiagnosticsState is set to Error_NoRouteToHost.
5.11 TraceRoute Diagnostics – Error Condition
5.11.0.1 Purpose:
This test is designed to validate that the CPE supports TraceRoute diagnostics test and reports results appropriately to the ACS.
5.11.0.2 References:
InternetGatewayDevice:1.6 and Device:2.6
5.11.0.3 Parameters:
The following parameters with the InternetGatewayDevice.TraceRouteDiagnostics. table (for devices that implement the InternetGatewayDevice:1 data model) and Device.IP.Diagnostics.TraceRoute. (for devices that implement the Device:2 data model) are required to be implemented for this test:
Name
InternetGatewayDevice:1
Device:2
Value
Interface
Interface
Return from device
Host
Host
Host
Ping host
Number of Tries
NumberOfTries
Time out
Timeout
Timeout
5000
Data block size
DataBlockSize
DataBlockSize
128
DSCP
DSCP
DSCP
Max Hop Count
MaxHopCount
MaxHopCount
Diagnostic State
DiagnosticsState
DiagnosticsState
5.11.0.4 Test Setup:
ACS connected to the network
CPE connected to the network and configured with an ACS URL that corresponds to the ACS in Setup #1
Wireshark running between ACS and CPE.
Ensure there are at least 2 hops between the CPE and Host
5.11.0.5 Procedure:
Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
Schedule a GetParameterValues RPC on the current WAN interface.
Schedule a SetParameterValues RPC on the DUT on the trace route diagnostic parameters listed above.
Schedule a GetParameterValues RPC on the DUT on Diagnostic State.
5.11.0.6 Test Metrics:
The DUT can properly respond to the GetParameterValues request on WAN interface.
The DUT is able to properly respond to the SetParameterValues for diagnostics parameter.
Validate that the DiagnosticsState is set to “Error_MaxHopCountExceeded”
5.12 IPPing Diagnostics – Periodic Inform
5.12.0.1 Purpose:
To verify that an ACS can perform an IP Ping Diagnostics test on the CPE and receive a periodic inform without an Diagnostic complete event before the diagnostic completes.
5.12.0.2 References:
InternetGatewayDevice:1.6 and Device:2.6
5.12.0.3 Parameters:
The following parameters within the InternetGatewayDevice.IPPingDiagnostics. table (for devices that implement the InternetGatewayDevice:1 data model) or Device.IP.Diagnostics.IPPing. table (for devices that implement the Device:2 data model) are required to be implemented for this test:
Name
InternetGatewayDevice:1
Device:2
Value
Diagnostics State
DiagnosticsState
DiagnosticsState
Requested
Interface
Interface
Interface
Return from device
Host
Host
Host
Unknown Host
Number of Repetitions
NumberOfRepetitions
NumberOfRepetitions
10000
Time out
Timeout
Timeout
100000
Data block size
DataBlockSize
128
DSCP
DSCP
DSCP
TimeZone
LocalTimeZone
LocalTimeZone
The following WAN Interface parameters are to determine the WAN interface of the CPE, InternetGatewayDevice.Layer3Forwarding.Default and Device.IP.Interface:
Name
InternetGatewayDevice:1
Device:2
Value
Connection
DefaultConnectionService
Interface
Returned from Device
The following Diagnostics parameters are to determine the state of the IP ping test of the CPE, InternetGatewayDevice.IPPingDiagnostics and Device.IP.Diagnostics.IPPing:
Name
InternetGatewayDevice:1
Device:2
Value
DiagnosticsState
DiagnosticsState
DiagnosticsState
Returned from Device
The following parameters are to set to ensure the CPE performs a periodic inform prior to the completion of Diagnostic, InternetGatewayDevice.ManagementServer and Device.IP.Diagnostics.ManagementServer:
Name
InternetGatewayDevice:1
Device:2
Value
PeriodicInformInterval
PeriodicInformInterval
PeriodicInformInterval
30
5.12.0.4 Test Setup:
ACS connected to the network
CPE connected to the network and configured with an ACS URL that corresponds to the ACS in Setup #1
Wireshark running between ACS and CPE.
5.12.0.5 Procedure:
ACS performs a SetParameterValues RPC on the ManagementServer parameters in the parameter section above.
ACS performs a GetParameterValues RPC on the WAN Interface parameter to determine the current interface in the parameter section above.
ACS performs a SetParameterValues RPC on the ping diagnostics parameters in the parameter section above.
ACS performs a GetParameterValues on the InternetGatewayDevice.IPPingDiagnostics or Device.IP.Diagnostics.IPPing to determine results of ping test
5.12.0.6 Test Metrics:
During diagnostic: Validate that the Inform RPC does not have a “8 DIAGNOSTICS COMPLETE” Event Code
After diagnostic:-Validate that an Inform RPC is sent from the ACS with Event Code “8 DIAGNOSTICS COMPLETE”
5.13 Deny/Allow Inbound IPv6 (Device:2 Only)
5.13.0.1 Purpose:
To verify the ACS can configure a firewall on the CPE that allows certain IPv6 traffic from the WAN side.
5.13.0.2 References:
Device:2.2
5.13.0.3 Parameters:
The following parameters are required to be implemented for this test:
Two Devices that can send and receive TCP and UDP connections over IPv6 connected to the LAN side of the CPE (End Device 1 and End Device 2)
Device that can send and receive TCP and UDP connections over IPv6 connected on the WAN side of the CPE (WAN Device)
Have a Network Analyzer to capture traffic between the CPE and the End Device.
5.13.0.5 Procedure:
Configure ACS to send an AddObject RPC for Device.Firewall.Level and record the returned instance number.
Configure ACS to send a GetParameterValues RPC for Device.Firewall.Level.{i}.Chain.
Configure ACS to send an AddObject RPC for Device.Firewall.Chain.{i}.Rule using the path returned in step 2 and record the returned instance number.
ACS performs a SetParameterValues RPC on the following parameters using the instance numbers returned in steps 1-3.
Device.Firewall.
Config
Advanced
AdvancedLevel
Device.Firewall.Level.{i}.
Device.Firewall.Level.{i}.
Chain
Returned from device
DefaultPolicy
Drop
Device.Firewall.Chain.{i}.Rule.{i}.
Target
Accept
DestIP
<Unused IP Address>
SourceIP
<Unused IP Address>
ACS enables the Firewall by sending a SetParameterValues RPC for Device.Firewall.Enable with the value set to “true.”
WAN Device attempts to open a TCP connection over IPv6, destination port 25, with End Device 1.
WAN Device attempts to open a TCP connection over IPv6, destination port 25, with End Device 2.
Configure ACS to send an AddObject RPC for Device.Firewall.Chain.{i}.Rule and record the returned instance number.
ACS Configures the new Firewall Rule by sending a SetParameterValues RPC with the following name/value pairs using the instance number returned in step 8.
Device.Firewall.Chain.{i}.
Enable
true
Device.Firewall.Chain.{i}.Rule.{i}.
Target
Accept
DestInterface
Default WAN Interface
Protocol
DestPort
25
DestIP
End Device1 IP
WAN Device attempts to open a TCP connection over IPv6, destination port 25, with End Device 1.
WAN Device attempts to open a TCP connection over IPv6, destination port 25, with End Device 2.
Configure ACS to send an AddObject RPC for Device.Firewall.Chain.{i}.Rule and record the returned instance number.
ACS Configures the new Firewall Rule by sending a SetParameterValues RPC with the following name/value pairs using the instance number returned in step 12.
Device.Firewall.Chain.{i}.
Enable
true
Device.Firewall.Chain.{i}.Rule.{i}.
Target
Accept
DestInterface
Default WAN Interface
Protocol
DestPort
25
DestIP
End Device2 IP
WAN Device attempts to open a TCP connection over IPv6, destination port 25, with End Device 1.
WAN Device attempts to open a TCP connection over IPv6, destination port 25, with End Device 2.
5.13.0.6 Test Metrics:
In Step 6, CPE does not forward TCP traffic from WAN Device to End Device1.
In Step 7, CPE does not forward TCP traffic from WAN Device to End Device2.
In Step 10, CPE forwards TCP traffic from WAN Device to End Device1.
In Step 11, CPE does not forward TCP traffic from WAN Device to End Device2.
In Step 14, CPE forwards TCP traffic from WAN Device to End Device1.
In Step 15, CPE forwards TCP traffic from WAN Device to End Device2.
5.14 Download Diagnostics over HTTPS – TotalBytesReceived
5.14.0.1 Purpose:
To verify that an ACS and CPE can interoperate while performing the download diagnostics function over HTTPS. This test will be run if supported on the CPE.
Have an HTTP server and file to perform the download over HTTPS. The file should be big enough for the file transfer to last at least 30 seconds.
5.14.0.5 Procedure:
On the ACS schedule a SetParameterValues RPC on the Interface, DownloadURL and DiagnosticsState parameters listed in the parameters section.
Allow the CPE to perform the specific diagnostic tests and send an Inform message with an event code of “8 DIAGNOSTICS COMPLETE”.
On the ACS schedule a GetParameterValues RPC on the DownloadDiagnostics object.
Perform a reboot of the CPE.
On the ACS schedule a GetParameterValues RPC on the DownloadDiagnostics object.
5.14.0.6 Test Metrics:
Verify that the SetParameterValuesResponse RPC is correct
Verify that an Inform message is received with an event code of “8 DIAGNOSTICS COMPLETE”
Verify that the GetParameterValuesResponse contains a valid value for the DiagnosticsState parameter.
Verify that TestBytesReceived is correct.
Verify that EOMTime – BOMTime is within 1 second of the time that the file server reports the transfer took.
Verify that the GetParameterValuesResponse contains a valid value for the DiagnosticsState parameter.
If the value is “Completed” verify that the values in the DownloadDiagnostic object are the same as they were before the reboot.
Verify that TotalBytesReceived is within 1% of the measured traffic.
5.15 Upload Diagnostics over HTTP - TotalBytesSent
5.15.0.1 Purpose:
To verify that an ACS and CPE can inter-operate while performing the upload diagnostics function over HTTP. This test will be run if supported on the CPE.