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.