CDRouter BBF.069 Test Summaries (Full)

Test Case Descriptions

  • Modules: 26
  • Test Cases: 125

Below is a full description of the testcases in each module


DHCPv4.tcl

Tests DHCPv4 options and functionality

Test Name Synopsis
ACS Discovery Using DHCPv4 5_001_DHCPv4_ACS_discovery ACS Discovery Using DHCPv4

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT attempts to use DHCPv4 to discover the ACS URL when the DUT has no value for the ManagementServer.URL
  
  Section of TR: Section 3.1/TR-069a1 or later
  RFC 2132
  
  Optional Functionality Tag: Conditionally Mandatory - DHCPv4 ACS URL Discovery
  
  Test Execution Type: Manual
  
  Test setup steps:
    1.     Configure the DHCPv4 server or simulator to include the ACS URL in its DHCPv4 option 43.
    2.     Configure the DUT to have an empty or null value for the ManagementServer.URL parameter.
    3.     Connect the DUT, DHCPv4 server or simulator, and CWMP Analyzer to the network infrastructure
  Test Procedures:
    1.     Allow the DUT to send the 'dslforum.org' string in the DHCPv4 Vendor Class Identifier (Option 60).
    2.     Respond to the DHCPv4 request with a valid response to set the ACS URL.
    3.     Allow the DUT to use the value received from the DHCPv4 server in the Vendor Specification Information (DHCPv4 option 43) to set the ManagementServer.URL.
    4.     Allow the DUT to establish a CWMP session with the ACS specified by the URL.
    5.     Allow the DUT to terminate the session.
  Test metrics:
    1.     The DUT  successfully receives  the ACS URL via DHCPv4 when its ManagementServer.URL parameter has no value (empty or null).
    2.     The DUT establishes a CWMP session with the ACS specified by the URL.

  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
ACS rediscovery Using DHCPv4 5_003_DHCPv4_ACS_rediscovery ACS rediscovery Using DHCPv4

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT consistently utilizes DHCPv4 to discover the ACS URL.
  
  Section of TR: Section 3.1/TR-069a1 or later
  RFC 2131
  
  Optional Functionality Tag: Conditionally Mandatory - DHCPv4 ACS URL Discovery
  
  Test Execution Type: Manual
  
  
  Test setup steps:
    1.     Configure the DHCP server or simulator to include the ACS URL in its DHCPv4 options.
    2.     Configure the DUT so that it must use DHCP to obtain an ACS URL the first time after its most recent factory default.
    3.     Connect the DUT, DHCPv4 server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Allow the DUT to establish a CWMP session with the ACS specified by the DHCPv4 supplied URL.
    2.     Configure the DHCPv4 server or simulator to include an invalid ACS URL.
    3.     Set an invalid ACS URL through a manual mechanism other than CWMP.
    4.     Allow the DUT to request an ACS URL through DHCPv4.
    5.     Respond to the DHCPv4 request using the  CWMP Analyzer with a valid response to set the invalid ACS URL.
    6.     Allow the DUT to attempt to communicate with the invalid ACS URL from DHCPv4.
  Test metrics:
    1.     The DUT attempts to rediscover the ACS URL via DHCPv4 when it had previously set the ACS URL via DHCPv4 and does not communicate with the ACS.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
DHCP Retry to the DHCPv4 Server 5_005_DHCPv4_Inform_retry DHCP Retry to the DHCPv4 Server

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT retries its DHCP INFORM message when it does not receive a reply from the DHCP server.
  
  Section of TR: Section 3.1/TR-069a1 or later
  RFC 2131
  
  Optional Functionality Tag: Conditionally Mandatory - DHCPv4 ACS URL Discovery
  
  Test Execution Type: Manual
  
  Test setup steps:
    1.     Configure the DHCP server or simulator to include the ACS URL in its DHCP options.
    2.     Configure the DUT to have an empty or null value for the ManagementServer.URL parameter.
    3.     Connect the DUT, DHCP server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Allow the DUT to obtain an ACS URL through DHCP.
    2.     Respond to the DHCP request with a valid response to set the ACS URL.
    3.     Allow the DUT to attempt to communicate with the CWMP Analyzer, without response for 300 seconds.
    4.     Allow the DUT to send a DHCP packet with no response from the ACS
    5.     Allow the DUT to re-send the DHCP packet
  Test metrics:
    1.     The DUT re-sends the DHCP packet when receiving no response from the CWMP Analyzer after 300 seconds.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
Handling Null Terminated ACS URL Obtained From DHCPv4 Server 5_012_DHCPv4_null_term_URL Handling Null Terminated ACS URL Obtained From DHCPv4 Server

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT correctly interprets and acts upon the ACS URL used.
  
  Section of TR: Section 3.1/TR-069a1 or later
  RFC 2131
  
  Optional Functionality Tag: Conditionally Mandatory - DHCPv4 ACS URL Discovery
  
  Test Execution Type: Manual
  
  Test setup steps:
    1.	Configure the DHCPv4 server or simulator to include the ACS URL in its DHCPv4 options.
    2.	Configure the DUT to have an empty or null value for the ManagementServer.URL parameter.
    3.	Connect the DUT, DHCPv4 Server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.	Allow the DUT to request an ACS URL through DHCPv4.
    2.  Respond to the DHCPv4 request with a valid response to set the ACS URL with a URL that is null-terminated.
    3.	Verify that the DUT has correctly interpreted the URL.
    4.  Allow the DUT to attempt to communicate with the ACS at the new URL.
  Test Metrics:
    1.  The DUT interprets the ACS URL without the null-termination.
    2.  The DUT attempts a secure connection to the CWMP Analyzer.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

DHCPv6.tcl

Tests DHCPv6 options and functionality.

Test Name Synopsis
ACS Discovery Using DHCPv6 5_002_DHCPv6_ACS_discovery ACS Discovery Using DHCPv6

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT attempts to use DHCPv6 to discover the ACS URL when the DUT has no value for the ManagementServer.URL.
  
  Section of TR: Section 3.1/TR-069a3 or later
  RFC 3315
  
  Optional Functionality Tag: Conditionally Mandatory - DHCPv6 ACS URL Discovery
  
  Test Execution Type: Manual
  
  Test setup steps:
    1.     Configure the DHCPv6 server or simulator to include the ACS URL in its DHCPv6 options.
    2.     Configure the DUT to have an empty or null value for the ManagementServer.URL parameter.
    3.     Connect the DUT, DHCPv6 server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Allow the DUT to send the 'dslforum.org' string in the DHCPv6 Vendor Class (option 16) vendor-class-data item.
    2.     Respond to the DHCPv6 request with a valid response to set the ACS URL.
    3.     Allow the DUT to use the value received from the DHCPv6 server in the Vendor Specification Information (DHCPv6 option 17) to set the ManagementServer.URL.
    4.     Allow the DUT to establish a CWMP session with the ACS specified by the URL.
    5.     Allow the DUT to terminate the session.
  Test metrics:
    1.     The DUT attempts to discover the ACS URL via DHCPv6 when its ManagementServer.URL parameter is blank.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
ACS Rediscovery Using DHCPv6 5_004_DHCPv6_ACS_rediscovery ACS Rediscovery Using DHCPv6

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT consistently utilizes DHCPv6 to discover the ACS URL.
  
  Section of TR: Section 3.1/TR-069a3 or later
  RFC 3315
  
  Optional Functionality Tag: Conditionally Mandatory - DHCPv6 ACS URL Discovery
  
  Test Execution Type: Manual

  Test setup steps:
    1.     Configure the DHCPv6 server or simulator to include a valid ACS URL in its DHCPv6 options.
    2.     Configure the DUT so that it must use DHCP to obtain an ACS URL the first time after its most recent factory default.
    3.     Connect the DUT, DHCPv6 server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Allow the DUT to establish a CWMP session with the ACS specified by the DHCP supplied URL.
    2.     Configure the DHCP server or simulator to include an invalid ACS URL.
    3.     Set an invalid ACS URL through a manual mechanism other than CWMP.
    4.     Allow the DUT to request an ACS URL through DHCPv6.
    5.     Respond to the DHCPv6 request using the CWMP Analyzer with a valid response to set the invalid ACS URL.
    6.     Allow the DUT to attempt to communicate with the invalid ACS URL from DHCPv6.
  Test metrics:
    1.     The DUT attempts to rediscover the ACS URL via DHCPv6 when it had previously set the ACS URL via DHCPv6 and does not communicate with the ACS.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
DHCP Retry To The DHCPv6 Server 5_006_DHCPv6_Inform_retry DHCP Retry To The DHCPv6 Server

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT retries its DHCPv6 INFORM message when it does not receive a reply from the DHCP server.
  
  Section of TR: Section 3.1/TR-069a3 or later
  RFC 3315
  
  Optional Functionality Tag: Conditionally Mandatory - DHCPv6 ACS URL Discovery
  
  Test Execution Type: Manual
  
  Test setup steps:
    1.     Configure the DHCP server or simulator to include the ACS URL in its DHCPv6 options.
    2.     Configure the DUT to have an empty or null value for the ManagementServer.URL parameter.
    3.     Connect the DUT, DHCPv6 server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Allow the DUT to obtain an ACS URL through DHCPv6.
    2.     Respond to the DHCPv6 request with a valid response to set the ACS URL.
    3.     Allow the DUT to attempt to communicate with the CWMP Analyzer, without response for 300 seconds.
    4.     Allow the DUT to resend the DHCPv6 INFORM.
  Test metrics:
    1.     The DUT resends the DHCPv6 packet when receiving no response from the CWMP Analyzer after 300 seconds
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Handling Null Terminated ACS URL Obtained From DHCPv6 Server 5_013_DHCPv6_null_term_URL Handling Null Terminated ACS URL Obtained From DHCPv6 Server

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT correctly interprets and acts upon the ACS URL used.
  
  Section of TR: Section 3.1/TR-069a3 or later
  RFC 3315
  
  Optional Functionality Tag: Conditionally Mandatory - DHCPv6 ACS URL Discovery
  
  Test Execution Type: Manual
  
  Test setup steps:
    1.     Configure the DHCPv6 server or simulator to include the ACS URL in its DHCPv6 options.
    2.     Configure the DUT to have an empty or null value for the ManagementServer.URL parameter.
    3.     Connect the DUT, DHCPv6 server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Allow the DUT to request an ACS URL through DHCPv6.
    2.     Respond to the DHCPv6 request with a valid response to set the ACS URL with a URL that is null-terminated.
    3.     Verify that the DUT has correctly interpreted the URL.
    4.     Allow the DUT to attempt to communicate with the ACS at the new URL.
  Test metrics:
    1.     The DUT interprets the ACS URL without the null-termination.
    2.     The DUT attempts a secure connection to the CWMP Analyzer.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

DHCP_URL_Discovery.tcl

Tests the handling DHCP URL discovery.

Test Name Synopsis
Connection To ACS Uses Same Mechanism After Factory Reset 5_011_Same_mechanism_after_factoryReset Connection To ACS Uses Same Mechanism After Factory Reset

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT correctly connects to an ACS using the same connection mechanism as was used prior to the DUT being reset to factory defaults.
  
  Section of TR: Section 3.1/TR-069a1 or later
  
  Optional Functionality Tag: Conditionally Mandatory - DHCP ACS URL Discovery
  
  Test Execution Type: Manual
  
  Test setup steps:
    1.     Configure the DUT to have an empty ACS URL.
    2.     Configure the DUT to use DHCP to discover the ACS
    3.     Connect the DUT, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Verify connection with ACS is established.
    2.     Perform a factory reset on the DUT.
    3.     Allow the DUT to restart and establish connection to ACS.
  Test metrics:
    1.     The DUT interprets the ACS URL from DHCP and establishes a session with the ACS.
    2.     Verify that DUT establishes connection via DHCP ACS URL and not via any other means.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

Sessions.tcl

Tests the handling of sessions.

Test Name Synopsis
Session Initiation And Termination 5_007_session_init_term Session Initiation And Termination

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is able to initiate and terminate a session properly.
  
  Section of TR: Sections 3.4.2, 3.7.1.1, 3.7.1.4/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the CPE to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the CPE, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the CPE to initiate a CWMP session with the CWMP Analyzer.
    2.     Reply with a successful Inform Response.
    3.     Allow the CPE to respond with an empty HTTP POST.
    4.     Make a valid RPC request on the CPE.
    5.     Allow the CPE to respond with a valid response to the RPC request.
    6.     Respond with an empty HTTP POST.
    7.     Allow the CPE to close the connection.
  Test metrics:
    1.     The CPE closes existing TCP connection after receiving empty HTTP POST from the CWMP Analyzer.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
Session Initiation And Termination With No RPC 5_008_session_init_term_no_rpc Session Initiation And Termination With No RPC

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is able to initiate and terminate a session properly.
  
  Section of TR: Sections 3.4.2, 3.7.1.1, 3.7.1.4/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the CPE to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the CPE, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP analyzer.
    2.     The CWMP analyzer replies with a successful Inform Response.
    3.     Allow the DUT to respond with an empty HTTP POST.
    4.     The CWMP analyzer replies with an empty HTTP POST.
    5.     Allow the DUT to close the connection.
  Test metrics:
    1.     The DUT establishes a connection with the CWMP analyzer.
    2.     The DUT properly closes the TCP connection after receiving the empty HTTP POST from the CWMP Analyzer.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Persistent TCP Connection Across A Single CWMP Session 5_009_Persistent_TCP Persistent TCP Connection Across A Single CWMP Session

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: The purpose of this test is to verify that the ACS and CPE can maintain a persistent TCP connection across a single CWMP sessions.
  
  Section of TR: Section 3.4.2/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    2.     Reply with an Authentication Challenge.
    3.     Allow the DUT to issue an Inform RPC to the ACS again (with the 'Authentication' HTTP header) in order to establish a CWMP session.
    4.     Respond to the Inform RPC with a successful InformResponse.
    5.     Allow the DUT to terminate the session.
  Test metrics:
    1.     The DUT must not close its existing TCP connection and must send the second HTTP request (with the 'Authentication' header) in the same TCP connection.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
Multiple TCP Connections Across A single CWMP Session 5_010_Multiple_TCP_conn Multiple TCP Connections Across A single CWMP Session

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that ACS and CPE can maintain multiple TCP connections over a single CWMP session.
  
  Section of TR: Section 3.4.2/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    2.     Schedule the CWMP Analyzer to reply with a Authentication Challenge with “Connection:close” in its header.
    3.     Allow the DUT to close its existing TCP connection.
    4.     Allow the DUT to issue an Inform RPC to the ACS again (with the “Authentication” HTTP header) in order to establish a CWMP session.
    5.     Respond to the Inform RPC with a successful InformResponse.
    6.     Schedule the CWMP Analyzer to perform a GetParameterValues RPC on any supported parameter with "Connection:close" in the header.
    7.     Allow the DUT to close the existing TCP session.
    8.     Allow the DUT to open a new TCP connection and issue a GetParameterValuesResponse RPC to the ACS.
    9.     Respond with an empty HTTP POST
    10.    Allow the CPE to close the existing TCP connection.
  Test metrics:
    1. The DUT closes its existing TCP connection in step 3 and sends the second Inform (with the “Authentication” header) in a new TCP connection.
    2. The DUT closes its existing TCP connection in step 8 and sends the GetParameterValuesResponse RPC in a new TCP connection.
  
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
Use of Multiple Session Cookies Across Transactions in a Session 5_027_session_cookies_transactions Use of Multiple Session Cookies Across Transactions in a Session

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can successfully interact using cookies across multiple CWMP sessions.
  
  Section of TR: Section 3.4.2/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Configure the CWMP Analyzer to use session cookies.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    2.     Set the HTTP cookie in the HTTP response.
    3.     Allow the DUT to send an empty HTTP POST or an Inform RPC to the CWMP Analyzer.
    4.     Analyze the HTTP message from the DUT to check if it is using the cookie sent in the POST.
    5.     Record session cookie used.
    6.     Allow the DUT to terminate the session.
    7.     Repeat steps 1-5
    8.     Compare saved cookies
  Test metrics:
    1.     The DUT returns the cookie value in each subsequent HTTP POST after the cookie has been set.
    2.     The DUT uses different cookies for the second separate session
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

Session_Retry.tcl

Tests the handling of retrying sessions.

Test Name Synopsis
Session Retry 5_028_session_retry Session Retry

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT retries a failed session with the ACS.
  
  Section of TR: Section 3.2.1.1/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the CPE to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    2.     Have the CWMP Analyzer respond with an HTTP error
    3.     Allow the DUT to terminate the session.
    4.     Allow the DUT to retry the session in accordance to the session retry policy by sending an Inform message after the designated wait period, and with CWMP version set to an earlier version in the SOAP Envelope.
    5.     Respond to the Inform RPC with a successful InformResponse.
    6.     Allow the DUT to successfully terminate the connection.
  Test metrics:
    1.     The DUT is capable of successfully handling the HTTP error.
    2.     The DUT increments the session retry counter in the Inform call.
    3.     The DUT waits the time intervals stated in test case table.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

ACS_URL_Behavior.tcl

Tests functionality specific to the ACS URL.

Test Name Synopsis
Handling DNS Server Response 5_014_DNS_server Handling DNS Server Response

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT does not cache the DNS server response beyond the duration of time to live (TTL) returned by DNS server.
  
  Section of TR: Section 3.1/TR-069a1 or later
  DNS RFC 1034
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to have a valid value for the ManagementServer.URL parameter.  The URL requires DNS resolution
    2.     Connect the DUT, DNS server, DHCP server, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Allow the DUT to contact the DNS server to resolve the ACS URL.
    2.     Allow the DUT to contact the ACS using the provisioned/resolved ACS URL.
    3.     Modify the DNS domain name to IP Address association so that the domain name points to a different IP Address that is not an ACS.
    4.     Allow the DUT to contact the DNS server again to resolve the ACS URL.
    5.     Allow the DUT to attempt a connection with the new IP Address provided by DNS.
  Test metrics:
    1.     The DUT contacts the DNS server again to resolve the ACS URL without caching the previous response from the DNS server.
    2.     The DUT is unable to establish a CWMP session with the new domain to IP Address binding.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
ACS Modifies URL 5_015_ACS_URL_mod ACS Modifies URL

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT accepts, interprets, and utilizes a new ACS URL set by the ACS via CWMP.
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Section of TR: Section 3.1/TR-069a1 or later
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.      Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.      Configure an alternate instance or ACS URL on the CWMP Analyzer.
    3.      Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.      Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.      Schedule a SetParameterValues RPC on the DUT using the CWMP Analyzer, setting the value of the Management.URL parameter to the value of the alternate URL provided in the test setup.
    3.      Allow the DUT to attempt to communicate with the CWMP Analyzer at the new URL.
    4.      Schedule a SetParameterValues RPC on the Management.URL to set the original URL.
  Test metrics:
    1.      The DUT accepts, interprets and utilizes the new ACS URL.
    2.      Verify the BOOTSTRAP to the alternate ACS
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Change ACS Username And Password 5_101_change_ACS_username_password Change ACS Username And Password

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the ACS can change the username and password used to contact the ACS.
  
  Section of TR: TR-069a1 or later
  TR-098a2 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer using basic authentication and a pre-established username and password.
    2.     Send a SetParameterValues of ManagementServer.Username and ManagementServer.Password to different values than used in step 1.
    3.     If the Status returned 0, The CWMP Analyzer must end the session. A new GetParameterValues RPC is scheduled with the new credentials set in step 2.
    4.     If the Status returned 1, the CWMP Analyzer must end the session and trigger a new CWMP session. The new CWMP session MUST use the new credentials set is step 2.
  Test metrics:
    1.     The DUT must use the NEW credentials in the subsequent CWMP session.
  
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

Events_Informs.tcl

Tests the behavior of Informs and Events.

Test Name Synopsis
Parameters modified by ACS do not create a '4 VALUE CHANGE' inform event to the ACS 5_017_ACS_param_mod Parameters modified by ACS do not create a ‘4 VALUE CHANGE’ inform event to the ACS

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT will not start a new session when a parameter is modified by the managing ACS.
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Section of TR: Section 3.2.1/TR-069a1 or later
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Configure a  parameter that is capable of being modified for active notification via SetParameterAttributes
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule the CWMP Analyzer to perform a SetParameterAttributes RPC on the parameter in Test Setup #2  to be active notification
    3.     Modify the parameter in Test Setup #2 via a SetParameterValues RPC on the DUT via the ACS session.
  Test metrics:
    1.     The DUT  responds to the SetParameterAttributes correctly with a successful SetParameterAttributesResponse.
    2.     Verify that the DUT does not start a new session corresponding to the SetParameterValue and that a 4 VALUE CHANGE Inform is not received at the CWMP Analyzer.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Event Discard After Bootstrap Inform 5_018_event_discard_after_bootstrap Event Discard After Bootstrap Inform

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT correctly discards all undelivered events once a BOOTSTRAP has been sent.
  
  Section of TR: Section 3.7.1.5/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Manual
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT, DHCP server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Stimulate the CWMP Analyzer to send a SetParameterAttribute request on a parameter to enable active notification.
    3.     Modify that parameters value via a 3rd party interface.
    4.     Configure the CWMP Analyzer to not respond to the parameter value change Inform sent by the DUT.
    5.     Wait at least the duration of the PeriodicInformInterval.
    6.     Redirect the DUT to another ACS address via third party interface.
  Test metrics:
    1.     The DUT sends out the appropriate Inform message due to the parameter being modified via 3rd party interface.
    2.     The DUT successfully redirects and only send the 0 BOOTSTRAP Inform Event and does not send any Inform event prior to the ACS URL change to the CWMP Analyzer.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Connection After Connection Request 5_019_conn_request Connection After Connection Request

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT attempts to establish a connection with the ACS upon receiving a valid connection request from the ACS.
  
  Section of TR: Sections 3.2.1, 3.2.2/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT with a connection request URL, connection request username, and connection request password.
    2.     Configure the CWMP Analyzer to use the pre-configured URL, username, and password for connection requests.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Send a valid Connection Request RPC to the DUT.
    2.     Allow the DUT to authenticate the connection request.
    3.     Allow the DUT to initiate a session with the CWMP Analyzer with successful Inform exchanges.
    4.     Allow the DUT to successfully terminate the session.
    5.     Validate all CWMP messages.
  Test metrics:
    1.     The DUT uses digest authentication to authenticate the connection request.
    2.     The HTTP response from the DUT contains the 200 (OK) or 204 (No Content) status code.
    3.     The HTTP response is sent before the DUT attempts to establish the CWMP session.
    4.     The length of the HTTP response body is zero.
    5.     The DUT successfully establishes a session with the ACS by sending an Inform Message with an event code of 6 CONNECTION REQUEST, within 30 seconds(+5 seconds for latency).
    6.     The DUT successfully terminates the session.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Connection Request While Session Exists 5_020_conn_request_session_exists Connection Request While Session Exists

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT that is already in an established session with an ACS, but then receives a Connection Request, does not terminate the existing session and either rejects the Connection Request or establishes a new session immediately following the existing session.
  
  Section of TR: Sections 3.2.1, 3.2.2/TR-069a1 or late
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT with a connection request URL, connection request username, and connection request password.
    2.     Configure the CWMP Analyzer to use the pre-configured URL, username, and password for connection requests.
    3.     Configure the CWMP Analyzer to set the .ManagementServer.PeriodicInformInterval to 10 and the .ManagementServer.PeriodicInformEnabled to 1.
    4.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Send a valid Connection Request RPC to the DUT.
    2.     Allow the DUT to authenticate the connection request.
    3.     Allow the DUT to initiate a session with the CWMP Analyzer with successful Inform exchanges.
    4.     While the existing session exists, send a second Connection Request from the CWMP Analyzer.
    5.     Allow the DUT to returned HTTP 503 status code or to send no errored message and establish a new session after existing session is completed.
    6.     Validate all CWMP messages.
  Test metrics:
    1.     The DUT uses digest authentication.
    2.     Authenticate the connection request.
    3.     The HTTP response from the DUT contains the 200 (OK) or 204 (No Content) status code.
    4.     The HTTP response is sent before the DUT attempts to establish the CWMP session.
    5.     The length of the HTTP response body is zero.
    6.     The DUT successfully establishes a session with the ACS by sending an Inform Message with an event code of 6 CONNECTION REQUEST, within 30 seconds(+5 seconds for latency).
    7.     Verify that a 503 message is sent or if no 503 message is sent verify that the following completion of the existing session, a second session is established by the CPE including the '6 CONNECTION REQUEST' eventcode in the Inform.
    8.     Verify at least 3 connections due to the periodic Informs.
    9.     The DUT successfully terminates all sessions.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Connection after PeriodicInformInterval 5_021_conn_after_interval Connection after PeriodicInformInterval

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE attempts to establish a connection with the ACS after a time period equal to .ManagementServer.PeriodicInformInterval.
  
  Section of TR: Section 3.2.1/TR-069a1 or later
  
  Optional Functionality Tag:  Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose a short value for the .ManagementServer.PeriodicInformInterval, between 60 and 300 seconds.  Configure the DUT to use this value for .ManagementServer.PeriodicInformInterval.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Allow the session to terminate successfully.
    3.     Wait for the .ManagementServer.PeriodicInformInterval determined in test setup step 2.
    4.     Allow the DUT to initiate a session with the CWMP Analyzer with successful Inform exchanges.
    5.     Allow the session to terminate successfully.
    6.     After the period determined in test setup step 2 has expired, allow the DUT initiate a new session.
    7.     Respond to the Inform RPC with an appropriate InformResponse.
    8.     Allow the DUT to successfully terminate the session.
    9.     Validate all CWMP messages.
  Test metrics:
    1.     The DUT attempts to re-establish a CWMP session with the CWMP Analyzer after the predetermined .ManagementServer.PeriodicInformInterval by sending an Inform message with an event code of 2 PERIODIC.
    2.     The DUT successfully terminates the session.
    
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Inform On IP Address Change 5_098_inform_ip_address_change Inform On IP Address Change

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT sends an Inform when the IP address assigned to the DUT changes.
  
  Section of TR: Section 2.3.3/TR-069a1 or later
  Section 2.4.1/TR-098 or later
  Section 3.5/TR-106a3 or earlier
  Inform and Notification Requirements/TR-181 XML
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer
    2.     Verify the Inform parameters contain the correct IP in ConnectionRequestURL and ExternalIPAddress.
    3.     The CWMP Analyzer terminates the CWMP session.
    4.     Change the ConnectionRequestURL the DHCP servers uses
    5.     Wait for the DHCP lease to timeout
    6.     Wait for the DHCP Discovery packet
    7.     Allow the DUT to obtain the ConnectionRequestURL from the DHCP Server
    8.     Check to make sure the new values obtained in the Inform match the ConnectionRequestURL from the DHCP server.
  Test metrics:
    1.     Verify that the DUT re-establishes connectivity and an Inform is sent with the new IP Address in ConnectionRequestURL and ExternalIPAddress.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
No Inform On Reconnect With No IP Address Change 5_099_no_inform_ip_address_change No Inform On Reconnect With No IP Address Change

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT does NOT send an Inform when the IP address assigned to the DUT remains the same on reconnect.
  
  Section of TR: Section 3.4/TR-069a1 or later
  Broadband Forum TR-098 section 2.4.1
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Manual
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer
    2.     Receive an Inform at the ACS and capture the ConnectionRequestURL.
    3.     The CWMP Analyzer terminates the CWMP session.
    4.     Unplug the WAN connection from the DUT.
    5.     Wait for the DUT WAN Connectivity to timeout.
    6.     Plug in the WAN connection to the DUT.
    7.     The infrastructure should be set up to re-establish connectivity at the same IP address as used in step 1.
  Test metrics:
    1.     Verify that the DUT re-established connectivity at the same IP Address.
    2.     Verify that the DUT does not send an Inform to the ACS within 5 minutes of it reestablishing connectivity.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
Inform Parameters Should Match DeviceInfo 5_106_inform_matches_deviceinfo Inform Parameters Should Match DeviceInfo

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: The parameter values included in the inform should match the values returned by GetParameterValues. Specifically the values in the DeviceInfo subtree.
  
  Section of TR: Section A.3.3.1/TR-069a1 or later
  
  Optional Functionality Tag:  Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a GetParameterValues RPC on the DUT for the Forced Inform Parameters.
    3.     Allow the DUT to respond with GetParameterValuesResponse.
  Test metrics:
    1.     The values returned in the GetParameterValuesResponse equates to what are received in the Inform RPC.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Device Times Out If ACS Is Slow 5_107_device_timeout_acs_slow Device Times Out If ACS Is Slow

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: The purpose of this test is to verify that the CPE considers the session with an ACS to be unsuccessfully terminated if it does not receive an HTTP response from the ACS within a 30 second time period.
  
  Section of TR: Section 3.7.1.4 /TR-069a1 or later
  
  Optional Functionality Tag:  Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Configure the CWMP Analyzer to not respond with an HTTP Response Inform Response.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Connect the DUT and CWMP Analyzer to a network infrastructure.
    2.     Schedule the CWMP Analyzer to not respond to the HTTP post Inform request.
  Test metrics:
    1.     The CPE does not try to retransmit the corresponding HTTP request for at least 30 seconds.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  

Secure_CWMP.tcl

Tests the functionality of secure CWMP sessions.

Test Name Synopsis
Connection Establishment using SSL 3.0 5_022_conn_SSL Connection Establishment using SSL 3.0

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is able to establish a connection with the ACS using SSL 3.0.
  
  Section of TR: Section 3.3/TR-069a1 and TR-069a2
  
  Optional Functionality Tag: Conditionally Mandatory - Secure CWMP Session  SSL3.0
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the CWMP Analyzer to use SSL 3.0.
    2.     Configure the DUT to use the HTTPS URL of the analyzer.
    3.     Configure the DUT with a pre-determined username and password for authentication.
    4.     Generate and install on the DUT a valid certificate for use in authentication with the CWMP Analyzer.
    5.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to send a CWMP Inform message to the CWMP Analyzer.
    2.     Respond to the Inform Request with an InformResponse.
    3.     Allow the DUT to successfully terminate the session.
    4.     Validate all CWMP messages.
  Test metrics:
    1.     The DUT attempts to establish a session by sending an Inform message.
    2.     The DUT's CWMP messages are valid, via packet inspection.
    3.     The DUT successfully terminates the session.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Connection Establishment using TLS 5_023_conn_TLS Connection Establishment using TLS

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is able to establish a connection with the ACS using TLS 1.0.
  
  Section of TR: Section 3.3/TR-069a1 and TR-069a2
  
  Optional Functionality Tag: Conditionally Mandatory - Secure CWMP Session TLS1.0
  
  Test Execution Type: Automated
  
  
  Test setup steps:
    1.     Configure the CWMP Analyzer to use TLS 1.0.
    2.     Configure the DUT to use the HTTPS URL of the analyzer.
    3.     Configure the DUT with a pre-determined username and password for authentication.
    4.     Generate and install on the DUT a valid certificate for use in authentication with the CWMP Analyzer.
    5.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to send a CWMP Inform message to the CWMP Analyzer.
    2.     Respond to the Inform Request with an InformResponse.
    3.     Allow the DUT to successfully terminate the session.
    4.     Validate all CWMP messages.
  Test metrics:
    1.     The DUT attempts to establish a session by sending an Inform message.
    2.     The DUT's CWMP messages are valid, via packet inspection.
    3.     The DUT successfully terminates the session.
  
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
Connection Establishment using TLS 1.2 5_024_conn_TLS_1_2 Connection Establishment using TLS 1.2

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is able to establish a connection with the ACS using TLS 1.2.
  
  Section of TR: Section 3.3/TR-069a3 or later
  
  Optional Functionality Tag: Conditionally Mandatory - Secure CWMP Session TLS1.2
  
  Test Execution Type: Automated
  
  
  Test setup steps:
    1.     Configure the CWMP Analyzer to use TLS 1.2.
    2.     Configure the DUT to use the HTTPS URL of the analyzer.
    3.     Configure the DUT with a pre-determined username and password for authentication.
    4.     Generate and install on the DUT a valid certificate for use in authentication with the CWMP Analyzer.
    5.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to send a CWMP Inform message to the CWMP Analyzer.
    2.     Respond to the Inform Request with an InformResponse.
    3.     Allow the DUT to successfully terminate the session.
    4.     Validate all CWMP messages.
  Test metrics:
    1.     The DUT attempts to establish a session by sending an Inform message.
    2.     The DUT's CWMP messages are valid, via packet inspection.
    3.     The DUT successfully terminates the session.
  
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
Common Name Certificate Validation 5_025_commonName_validation Common Name Certificate Validation

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is able to verify that the Common Name component of the subject field of the authentication certificate is the same as that in the host portion of the ACS URL.
  
  Section of TR: Section 3.3/TR-069a1 or later
  
  Optional Functionality Tag: Conditionally Mandatory - Secure CWMP Session
  
  Test Execution Type: Automated
  
  
  Test setup steps:
    1.     Configure the CWMP Analyzer to use SSL/TLS.
    2.     Configure the DUT and CWMP Analyzer with a pre-determined username and password for authentication.
    3.     Generate and install on the CWMP Analyzer a valid certificate for use in authentication with the CPE.
    4.     Configure the DUT to have a valid CA certificate.
    5.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to send a CWMP Inform message to the CWMP Analyzer.
    2.     Respond to the Inform Request with an InformResponse.
    3.     Allow the DUT to successfully terminate the session.
    4.     Schedule a SetParameterValues RPC on the DUT on the ManagementServerURL to change the value to the IP Address of the ACS (as opposed to the host name)
    5.     Schedule a GetParameterValues RPC on the DUT on the ManagementServerURL to verify the changed value.
    6.     Allow the device to successfully change the parameter (reboot if necessary) and terminate the session.
    7.     Wait up to twice the periodic inform length and verify no sessions are established
  Test metrics:
    1.     The DUT attempts to establish a session by sending an Inform message.
    2.     The DUT's CWMP messages are valid.
    3.     The DUT successfully terminates the session.
    4.     The second RPC connection with modified Common Name is not allowed
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Rejection of Invalid certificate 5_026_invalid_SSL_certificate_reject Rejection of Invalid certificate

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE does not authenticate a Communication from the ACS when the certificate is invalid.
  
  Section of TR: Section 3.3/TR-069a1 or later
  
  Optional Functionality Tag: Conditionally Mandatory - Secure CWMP Session
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the CWMP Analyzer to use appropriate SSL/TLS.
    2.     Configure the DUT to use the HTTPS URL of the analyzer.
    3.     Configure the DUT with a pre-determined username and password for authentication.
    4.     Install mismatched certificates in the DUT and CWMP Analyzer.
    5.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to send a CWMP Inform message to the CWMP Analyzer.
    2.     Allow the DUT to reject the Connection Request from the CWMP Analyzer.
  Test metrics:
    1.   The DUT rejects the Connection Request from the CWMP Analyzer and does not attempt to establish a session.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
HTTP Redirection HTTPS with URL Matching Certificate 5_033_redirect_HTTPS_matching_certificate HTTP Redirection HTTPS with URL Matching Certificate

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE supports the use of HTTP redirection by the ACS to an HTTPS URL.
  
  Section of TR: Section 3.4.2/TR-069a1 or later
  
  Optional Functionality Tag: Conditionally Mandatory - Secure CWMP Session
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     If the CWMP Analyzer is capable of supporting multiple ACS URLs, configure an alternate https ACS URL on the CWMP Analyzer.
    3.     Generate the proper certificates for the alternate https URL.
    4.     Install the proper certificates on the DUT
    5.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    2.     Issue an HTTP response with a 307 (Temporary Redirect) Status Code and the location of the new HTTPS URL.
    3.     Allow the DUT to establish a secure connection with the ACS represented by the new URL.
    4.     Allow the DUT to issue the same HTTP POST message to the new URL.
    5.     Using the new URL at the CWMP Analyzer, reply back with an Inform Response.
    6.     Issue a GetParameterValue RPC on .ManagementServer.URL to the DUT.
    7.     Allow the DUT to respond with a GetParameterValueResponse.
  Test metrics:
    1.     The DUT establishes a secure connection with the new ACS represented by the new URL.
    2.     The DUT properly resends the HTTP POST to the redirected URL.
    3.     The GetParameterValueResponse includes URL of the old ACS.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
HTTP Redirection HTTPS with URL/Certificate Mismatch 5_034_redirect_HTTPS_mismatched_certificate HTTP Redirection HTTPS with URL/Certificate Mismatch

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that, when redirected, the CPE does not connect to an ACS with an HTTPS URL when the certificate is invalid for the URL.
  
  Section of TR: Section 3.4.2/TR-069a1 or later
  
  Optional Functionality Tag: Conditionally Mandatory - Secure CWMP Session
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP analyzer.
    2.     If the CWMP analyzer is capable of supporting multiple ACS URLs, configure an alternate https ACS URL on the CWMP analyzer.
    3.     Generate the proper certificates for the original ACS URL.
    4.     Install the certificates on the DUT.
    5.     Connect the DUT and CWMP analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP analyzer.
    2.     Issue an HTTP response with a 307 (Temporary Redirect) Status Code and the location of the new HTTPS URL.
    3.     Allow the DUT to attempt to establish a secure connection with the ACS represented by the new URL.
  Test metrics:
    1.     The DUT does not establish an SSL connection with the new ACS represented by the new URL.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Use of Certificates In The Absence Of NTP 5_108_certificates_used_no_ntp Use of Certificates In The Absence Of NTP

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can still make use of Certificate Authentication when unable to resolve NTP.
  
  Section of TR: Section 3.3 /TR-069a1 or later
  
  Optional Functionality Tag: Conditionally Mandatory - Secure CWMP Session
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    3.     Generate a certificate for the ACS URL that expired in 1969.
    4.     Generate and install on the DUT a valid certificate for use in authentication with the CWMP Analyzer.
    5.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Configure the DUT to use secure CWMP to contact the ACS.
    2.     Disable the server that delivers network time on the WAN.
    3.     Reboot the DUT.
    4.     Allow the DUT to attempt to resolve accurate absolute time.
    5.     Allow the DUT to attempt to start a secure CWMP session with the ACS.
    6.     Deliver the expired certificate to the DUT.
    7.     Enable the server that delivers network time on the WAN.
    8.     Allow the DUT to resolve absolute time on the WAN. This may require a reboot of the DUT.
    9.	 Allow the DUT to attempt to start a secure CWMP session with the ACS.
    10.	 Deliver the expired certificate to the DUT.
  Test metrics:
    1.     The DUT establishes a secure CWMP session with the ACS after step 6.
    2.	 The DUT does not establish a secure CWMP session with the ACS after step 10.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

HTTP_SOAP.tcl

Tests the functionality of SOAP and HTTP.

Test Name Synopsis
SOAP Response in an HTTP Request 5_029_SOAP_response SOAP Response in an HTTP Request

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the SOAP Response is encoded properly in an HTTP Request Message.
  
  Section of TR: Section 3.4.1/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    2.     Instruct the ACS to issue a valid RPC on the DUT.
    3.     Allow the DUT to respond to the RPC request.
    4.     Analyze the  HTTP POST message containing the SOAP response.
  Test metrics:
    1.     The HTTP POST message has an empty SOAPAction header, and the HTTP Content-type header must have a type/subtype of text/xml.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
HTTP Authentication - Basic Authentication 5_038_basic_authentication HTTP Authentication - Basic Authentication

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can successfully establish a CWMP session with the ACS using basic authentication.
  
  Section of TR: Section 3.4.4/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Configure the CWMP Analyzer to use basic authentication.
    3.     The CWMP Analyzer is configured with proper credentials for the DUT.
    4.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    2.     Send an Authentication Challenge with a status code of '401 Unauthorized' in its HTTP response.
    3.     Allow the DUT to issue an Inform RPC to the CWMP Analyzer again with the authentication credentials in its HTTP header.
    4.     Reply with a successful Inform Response.
    5.     Allow the DUT to successfully terminate the session.
  Test metrics:
    1.     The DUT passes Authentication Challenge by issuing proper authentication credentials to the ACS.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
Qop Authentication setting 5_039_QOP_authentication Qop Authentication setting

  
  Test Script developed by UNH-IOL as part of the Broadband Forums TBBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT correctly sets the qop authentication field to 'auth'
  
  Section of TR: Section 3.4.5/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Configure the CWMP Analyzer to use Digest authentication.
    3.     The CWMP Analyzer is configured with proper credentials for the DUT.
    4.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    2.     Send an Authentication Challenge with a status code of '401 Unauthorized' in its HTTP response.
    3.     Allow the DUT to issue an Inform RPC to the CWMP Analyzer again with the authentication credentials in its HTTP header.
    4.     Reply with a successful Inform Response.
    5.     Allow the DUT to successfully terminate the session.
  Test metrics:
    1.     The DUT passes Authentication Challenge by issuing proper authentication credentials to the ACS.
    2.     The DUT qop authentication field is set to 'auth'.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
HTTP Authentication - Digest Authentication 5_040_digest_authentication HTTP Authentication - Digest Authentication

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can successfully establish a CWMP session with the ACS using digest authentication.
  
  Section of TR: Section 3.4.4/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Configure the CWMP Analyzer to use Digetst authentication.
    3.     The CWMP Analyzer is configured with proper credentials for the DUT.
    4.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    2.     Send an Authentication Challenge with a status code of '401 Unauthorized' in its HTTP response.
    3.     Allow the DUT to issue an Inform RPC to the ACS again with the authentication credentials in its HTTP header.
    4.     Reply with a successful Inform Response.
    5.     Allow the DUT to successfully terminate the session.
  Test metrics:
    1.     The DUT passes Authentication Challenge by issuing proper authentication credentials to the ACS.
    2.     The DUT successfully terminates the session.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Maximum SOAP Message Size 5_041_maximum_SOAP_message Maximum SOAP Message Size

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT can accept a SOAP message of 32768 bytes.
  
  Section of TR: Section 3.5/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Configure the CWMP Analyzer to create and send a 32768 byte SOAP message.
    3.     Connect the DUT, DHCP server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Instruct the CWMP Analyzer to issue a SOAP message of size 32768 bytes.
    3.     Allow the DUT to successfully terminate the session.
  Test metrics:
    1.     The DUT does not respond with 9004 'Resources Exceeded'
    2.     The DUT successfully terminates the session.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
SetParameterValues SOAP Fault Format 5_042_SPV_SOAP_Fault SetParameterValues SOAP Fault Format

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the SetParameterValuesFault element in a SOAP Fault response is formed properly.
  
  Section of TR: Section 3.5/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose a valid, writable parameter from the DUT's supported data model.
    3.     Construct an invalid parameter name within the context of the DUT's supported data model.
    4.     Select a non-writable parameter from the DUT's supported data model.
    5.     Choose a parameter with a restrictive data type in the DUT's supported data model.
    6.     Choose a parameter with restricted possible values in the DUT's supported data model.
    7.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a SetParameterValues RPC on the DUT with the CWMP analyzer, using the invalid parameter name determined in test setup step 3.
    3.     Allow the DUT to respond with fault code '9003 - Invalid arguments' with the SetParameterValuesFault '9005 - Invalid parameter name'.
    4.     Allow the session to terminate successfully.
    5.     Repeat step 1.
    6.     Schedule a SetParameterValues RPC on the DUT with the CWMP analyzer, using the non-writable parameter.
    7.     Allow the DUT to respond with fault code '9003 - Invalid arguments' with the SetParameterValuesFault  '9008 - Attempt to set non-writable parameter'.
    8.     Allow the session to terminate successfully.
    9.     Repeat step 1.
    10.     Schedule a SetParameterValues RPC on the DUT with the CWMP analyzer, using the parameter.  Set the value to be of a data type not supported by the parameter (for example, setting a string in an integer).
    11.     Allow the DUT to respond with fault code '9003 - Invalid arguments' with the SetParameterValuesFault '9006 - Invalid parameter type' or "9007 - Invalid parameter value".
    12.     Allow the session to terminate successfully.
    13.     Repeat step 1.
    14.     Schedule a SetParameterValues RPC on the DUT with the CWMP analyzer, using the parameter.  Set the value to be outside the range of possible values.
    15.     Allow the DUT to respond with fault code '9003 - Invalid arguments' with the SetParameterValuesFault  '9007 - Invalid parameter values'.
    16.     Allow the session to terminate successfully.
    17.     Repeat step 1.
    18.     Schedule a SetParameterValues RPC on the DUT with the CWMP analyzer, using the invalid parameter name and the valid parameter determined in test setup step 2 with a value set to a changed, valid value.
    19.     Allow the DUT to respond with fault code '9003 - Invalid arguments' with the SetParameterValuesFault '9005 - Invalid parameter name.'
    20.     Schedule a GetParameterValues RPC on the DUT with the CWMP analyzer, using the valid parameter determined in test setup step 2.
    21.     Allow the DUT to respond with a GetParameterValues response.
    22.     Record the value reported by the DUT.
    23.     Allow the session to terminate successfully.
  Test metrics:
    1.     The SOAP faultcode element indicates the source of fault with either 'Server' or 'Client'.
    2.     The SOAP faultstring sub-element contains the string 'CWMP fault'.
    3.     The SOAP message consists of a ParameterName element that contains the full path name of the parameter in error.
    4.     The SOAP message consists of a FaultCode element that contains a single numeric fault code that indicates the fault associated with the particular parameter in error.
    5.     The SOAP message consists of a FaultString element that contains a human readable description of the fault for the particular parameter in error.
    6.     The DUT does not alter the valid parameter when invalid parameters are included in the same procedure call arguments of procedure step 19.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
XML Namespace Prefix Validation 5_095_xml_namespace_prefix_validation XML Namespace Prefix Validation

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE doesn't require specific XML Namespace Prefixes.
  
  Section of TR: Section 3.5/TR-069a1 or later
  Namespaces in XML 1.0 [http://www.w3.org/TR/REC-xml-names/]
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP analyzer.
    2.     Configure the CWMP analyzer to use random (yet valid) namespace prefixes for SOAP and CWMP.
    3.     Connect the DUT and CWMP analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP analyzer.
    2.     The CWMP analyzer replies with a successful Inform Response.
    3.     Allow the CPE to respond with an empty HTTP POST.
    4.     The CWMP analyzer replies with an empty HTTP POST.
    5.     Allow the CPE to close the connection.
  Test metrics:
    1.     The DUT establishes a connection with the CWMP analyzer.
    2.     The DUT properly closes the TCP connection after receiving the empty HTTP POST from the CWMP Analyzer.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
DUT Receives Chunked Transfer Encoding 5_096_receive_chunked_encoding DUT Receives Chunked Transfer Encoding

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT can properly receive TR-69 messages sent by an ACS using HTTP 1.1 chunked transfer-encoding.
  
  Section of TR: Section 3.4/TR-069a1 or later
  RFC 2616 section 3.6.1
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer
    2.     The CWMP Analyzer should send the InformResponse using chunked transfer-encoding as a single chunk.
    3.     The DUT will reply with an empty POST.
    4.     The CWMP Analyzer should send a GetParameterValuesRequest using chunked transfer-encoding using at least two chunks.
    5.     The DUT should respond with the correct GetParameterValuesResponse.
  Test metrics:
    1.     Verify that the CPE does not abort the session after receiving the InformResponse sent using chunked transfer-encoding in step 2.
    2.     Verify that the CPE responds with the correct GetParameterValuesResponse.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
DUT Properly Encodes And Decodes XML Entities 5_097_DUT_properly_encodes_and_decodes_XML_entities DUT Properly Encodes And Decodes XML Entities

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT can properly send and receive data values that must be represented as XML entities such as '<', '&' and '>'.
  
  Section of TR: Section 3.5/TR-069a1 or later
  
  [1]     Simple Object Access Protocol (SOAP) 1.1
  
  [2]     XML http://www.w3.org/TR/REC-xml section 2.4 and section 4.1
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer
    2.     The CWMP Analyzer should issue a SetParameterValues call setting the ManagementServer Username to 'foo<&]]>bar' using 'foo&lt;&amp;]]&gt;bar' as the XML encoded data value.  The ManagementServer Password should be set to 'ABC' by using the XML encoded data 'A&#x42;&#67;'
    3.     Terminate the CWMP session.
    4.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    5.     The CWMP Analyzer should respond with basic authentication and verify the username is set to 'foo<&]]>bar' and the password is set to 'ABC'
    6.     The CWMP Analyzer should issue a GetParameterValue of ManagementServer.Username and verify that it is 'foo<&]]>bar'.
  Test metrics:
    1.     No verification errors from the XML validation specified in 4.4.1.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
DUT Receives Content-Length Encoding 5_109_content_length_encoding DUT Receives Content-Length Encoding

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT can properly receive TR-69 messages sent by an ACS using HTTP 1.1 using content-length.
  
  Section of TR: Section 3.4 /TR-069a1 or later
  RFC 2616 section 14.13
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer
    2.     The CWMP Analyzer should send the InformResponse using a content-length to indicate the size of the HTTP response body.
    3.     The DUT will reply with an empty POST.
    4.     The CWMP Analyzer terminates the session.
  Test metrics:
    1.     Verify that the DUT does not terminate the session when it receives the InformResponse in step 2.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

HTTP_Redirect.tcl

Tests the functionality of HTTP redirection.

Test Name Synopsis
HTTP Redirection Test - 302 Redirect 5_030_redirect_302 HTTP Redirection Test - 302 Redirect

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE supports the use of HTTP redirection by the ACS using the 302 (Found) status code.
  
  Section of TR: Section 3.4.2/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     If the CWMP Analyzer is capable of supporting multiple ACS URLs, configure an alternate ACS URL on the CWMP Analyzer.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    2.     Issue an HTTP response with a 302(Found) Status Code and the location of the new URL.
    3.     Allow the DUT to issue the same HTTP POST message to the new URL.
    4.     Using the new URL at the CWMP Analyzer, reply back with an Inform Response.
    5.     Issue a GetParameterValue RPC on .ManagementServer.URL to the DUT.
    6.     Allow the DUT to respond with a GetParameterValueResponse.
    7.     Allow the DUT to close the connection.
    8.     Allow the DUT to send an Inform to the configured ACS URL.
  Test metrics:
    1.     The DUT properly resends the HTTP POST to the redirected URL.
    2.     The GetParameterValueResponse includes URL of the old ACS.
    3.     The DUT sends the Inform to the configured ACS URL
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
HTTP Redirection Test - 307 Redirect 5_031_redirect_307 HTTP Redirection Test - 307 Redirect

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE supports the use of HTTP redirection by the ACS using the 307 (Temporary Redirect) status code.
  
  Section of TR: Section 3.4.2/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     If the CWMP Analyzer is capable of supporting multiple ACS URLs, configure an alternate ACS URL on the CWMP Analyzer.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    2.     Issue an HTTP response with a 307(Temporary Redirect) Status Code and the location of the new URL.
    3.     Allow the DUT to issue the same HTTP POST message to the new URL.
    4.     Using the new URL at the CWMP Analyzer, reply back with an Inform Response.
    5.     Issue a GetParameterValue RPC on .ManagementServer.URL to the DUT.
    6.     Allow the DUT to respond with a GetParameterValueResponse.
    7.     Allow the DUT to close the connection.
    8.     Allow the DUT to send an Inform to the configured ACS URL.
  Test metrics:
    1.     The DUT properly resends the HTTP POST to the redirected URL.
    2.     The GetParameterValueResponse includes URL of the old ACS.
    3.     The DUT sends the Inform to the configured ACS URL.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
HTTP Redirection - Multiple Redirections 5_032_redirect_multiple_redirections HTTP Redirection - Multiple Redirections

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE allows up to 5 consecutive redirections.
  
  Section of TR: Section 3.4.2/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Configure Two ACS URLs on the CWMP Analyzer.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    2.     Issue an HTTP response with a 307 (Temporary Redirect) Status Code and the location of the new URL.
    3.     Allow the DUT to issue the same HTTP POST message to the new URL.
    4.     Issue an HTTP response with a 307 (Temporary Redirect) Status Code and the location of the old URL again.
    5.     Allow the DUT to issue the same HTTP POST message to the new URL.
    6.     Repeat the redirect process (steps 3 & 4) for three more times, so that the redirection count now is 5.
    7.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    8.     Using the new URL at the CWMP Analyzer, reply back with an Inform Response.
    9.     Allow the DUT to close the connection.
  Test metrics:
    1.     The DUT honors each redirection request and sends an HTTP POST to the redirected URL.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Redirection At Any Point In A Session 5_035_redirect_in_session Redirection At Any Point In A Session

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT correctly interprets and acts upon a Redirection request during an open session
  
  Section of TR: Section 3.4.2/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT, DHCP server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    2.     Have the CWMP Analyzer send a GetParameterValue on a known parameter.
    3.     Issue an HTTP response with a 307 (Temporary Redirect) Status Code and the location of the new HTTP URL.
    4.     Allow the DUT to issue the same HTTP POST message to the new URL.
    5.     Allow the DUT to close the connection.
  Test metrics:
    1.     The DUT establishes connection to the new ACS represented in the new ACS URL.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
HTTP Redirection - Use Of Session Cookies 5_036_redirect_cookies HTTP Redirection - Use Of Session Cookies

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can successfully communicate using cookies even after HTTP redirection.
  
  Section of TR: Section 3.4.2/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     If the CWMP Analyzer is capable of supporting multiple ACS URLs, configure an alternate ACS URL on the CWMP Analyzer.
    3.     Configure the CWMP Analyzer to use session cookies.
    4.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    2.     Set the HTTP cookie in the HTTP response.
    3.     Allow the DUT to send an empty HTTP POST or an Inform RPC to the CWMP Analyzer.
    4.     Analyze the HTTP message from the DUT to check if it is using the cookie sent by the ACS in its POST.
    5.     Issue an HTTP response with a 307 (Temporary Redirect) Status Code and the location of the new HTTP URL.
    6.     Allow the DUT to issue the same HTTP POST message to the new URL.
    7.     Analyze the HTTP message from the DUT to check if it is using the cookie sent by the previous ACS in its POST.
    8.     Allow the DUT to close the connection.
  Test metrics:
    1.     The DUT establishes a connection with the new ACS represented by the new URL.
    2.     The DUT includes cookie from old ACS to the new ACS in its HTTP POST.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Redirect HTTP Response Contains Data 5_037_redirect_response_data Redirect HTTP Response Contains Data

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT correctly interprets and acts upon a non-empty HTTP Response sent from the ACS.
  
  Section of TR: Section 3.4.2/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Configure the CWMP Analyzer to send an HTTP Response that contains data.
    3.     Connect the DUT, DHCP server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    2.     Issue an HTTP response with a 307 (Temporary Redirect) Status Code and the location of the new HTTP URL.  Also add additional data to the body of this response
  Test metrics:
    1.     The DUT establishes connection to the new ACS represented in the new ACS URL.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

GetRPCMethods.tcl

Tests the functionality of the GetRPCMethods RPC.

Test Name Synopsis
5_043_GetRPCMethods And Required RPCs 5_043_GetRPCMethods 5_043_GetRPCMethods And Required RPCs

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE supports all the required RPCs.
  
  Section of TR: Section A.3.1.1/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a 5_043_GetRPCMethods RPC on the DUT.
    3.     Allow the DUT to respond with 5_043_GetRPCMethodsResponse.
    4.     Allow the DUT to successfully terminate session with the ACS.
    5.     Analyze the GetRPCMethodResponse.
  Test metrics:
    1.     The CPE responds to the 5_043_GetRPCMethods call.
    2.     The 5_043_GetRPCMethodsResponse from the DUT must contain at least all the mandatory RPCs.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

GetParameterNames.tcl

Tests the functionality of the GetParameterNames RPC.

Test Name Synopsis
GetParameterNames - Complete Path 5_044_GPN_complete_path GetParameterNames - Complete Path

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is capable of responding to a simple complete path request made by the ACS to determine its accessibility.
  
  Section of TR: Section A.3.1.1/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Respond with a successful Inform Response.
    3.     Schedule a GetParameterNames RPC on the DUT using complete path name of any parameter supported by the DUT.  The NextLevel argument is set to false.
    4.     Allow the DUT to respond with GetParameterNamesResponse.
  Test metrics:
    1.     The CPE is able to respond to the GetParameterNames request from the CWMP Analyzer with a response that includes the complete path of the requested parameter and whether the parameter is writable or not.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
GetParameterNames - Complete Path - Next Level True 5_045_GPN_complete_NLT GetParameterNames - Complete Path - Next Level True

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is capable of appropriately responding to a simple complete path request with the NextLevel set to True made by the ACS.
  
  Section of TR: Section A.3.2.3/TR-069a1 or later
  
  Optional Functionality Tag:     Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Respond with a successful Inform Response.
    3.     Schedule a GetParameterNames RPC on the DUT using complete path name of any parameter supported by the DUT.  The NextLevel argument is set to true.
    4.     Allow the DUT to respond with GetParameterNamesResponse.
  Test metrics:
    1.     The CPE is able to respond to the GetParameterNames request from the CWMP Analyzer with the correct fault code, 9003 'Invalid Arguments'
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
GetParameterNames - Partial Path - Next Level True - Single-Instance Object 5_046_A_GPN_partial_NLT GetParameterNames - Partial Path - Next Level True - Single-Instance Object

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is capable of responding to a partial path request made by the ACS when next level is set to true and the partial path is of a single-instance object.
  
  Section of TR: Section A.3.2.3/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Have the CWMP Analyzer perform a GetParameterNames RPC on the DUT using the partial path of a single-instance object and next level set to true.
    3.     Allow the DUT to respond with GetParameterNamesResponse.
  Test metrics:
    1.     The CPE is able to successfully respond to the GetParameterNames request including only parameters and objects in the next level. This response can contain partial paths.
    2.     Verify that each parameter name in the ParameterList returned in the GetParameterNamesResponse is a full path name.
    3.     Verify that the requested partial path is not present in the ParameterList returned in the GetParameterNamesResponse.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
GetParameterNames - Partial Path - Next Level True - Multi-Instance Object - Empty 5_046_B_GPN_partial_NLT GetParameterNames - Partial Path - Next Level True - Multi-Instance Object - Empty

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is capable of responding to a partial path request made by the ACS when next level is set to true and the partial path is of an empty multi-instance object.
  
  Section of TR: Section A.3.2.3/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Have the CWMP Analyzer perform a GetParameterNames RPC on the DUT using the partial path of an empty multi-instance object and next level set to true.
    3.     Allow the DUT to respond with GetParameterNamesResponse.
  Test metrics:
    1.    The CPE is able to successfully respond to the GetParameterNames request.
    2.    Verify that the ParameterList returned in the GetParameterNamesResponse is empty.

  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
GetParameterNames - Partial Path - Next Level True - Multi-Instance Object - Nonempty 5_046_C_GPN_partial_NLT GetParameterNames - Partial Path - Next Level True - Multi-Instance Object - Nonempty

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is capable of responding to a partial path request made by the ACS when next level is set to true and the partial path is of a single-instance object.
  
  Section of TR: Section A.3.2.3/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Have the CWMP Analyzer perform a GetParameterNames RPC on the DUT using the partial path of a non-empty multi-instance object and next level set to true.
    3.     Allow the DUT to respond with GetParameterNamesResponse.
  Test metrics:
    1.     The CPE is able to successfully respond to the GetParameterNames request including only the next level. This response can contain partial paths.
    2.     Verify that the each parameter name in the ParamterList returned in the GetParameterNamesResponse is the full path name of an instance of the multi-instance object.
    3.     Verify that the requested partial path is not present in the ParameterList returned in the GetParameterNamesResponse.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
GetParameterNames - Partial Path - Next Level False - Single-Instance Object 5_047_A_GPN_partial_NLF GetParameterNames - Partial Path - Next Level False - Single-Instance Object

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is capable of responding to a partial path request made by the ACS when next level is set to false and the partial path is of a single- instance object.
  
  Section of TR: Section A.3.2.3/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a GetParameterNames RPC on the DUT using the partial path of a single-instance object and next level set to false.
    3.     Allow the DUT to respond with GetParameterNamesResponse.
  Test metrics:
    1.     The DUT is able to successfully respond to the GetParameterNames request including all objects and parameters at all levels below the specified partial path.
    2.     Verify that the requested partial path is present in the ParameterList returned in the GetParameterNamesResponse.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved. 
  
Test Name Synopsis
GetParameterNames - Partial Path - Next Level False - Multi-Instance Object - Empty 5_047_B_GPN_partial_NLF GetParameterNames - Partial Path - Next Level False - Multi-Instance Object - Empty

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is capable of responding to a partial path request made by the ACS when next level is set to false and the partial path is of an empty multi-instance object.
  
  Section of TR: Section A.3.2.3/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Have the CWMP Analyzer perform a GetParameterNames RPC on the DUT using the partial path of an empty multi-instance object and next level set to false.
    3.     Allow the DUT to respond with GetParameterNamesResponse.
  Test metrics:
    1.    The CPE is able to successfully respond to the GetParameterNames request.
    2.    Verify that the requested partial path is the only parameter in the ParameterList returned in the GetParameterNamesResponse.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
GetParameterNames - Partial Path - Next Level False - Multi-Instance Object - Nonempty 5_047_C_GPN_partial_NLF GetParameterNames - Partial Path - Next Level False - Multi-Instance Object - Nonempty

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is capable of responding to a partial path request made by the ACS when next level is set to false and the partial path is of a non-empty multi-instance object.
  
  Section of TR: Section A.3.2.3/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a GetParameterNames RPC on the DUT using the partial path of a non-empty mulit-instance object and next level set to false.
    3.     Allow the DUT to respond with GetParameterNamesResponse.
  Test metrics:
    1.     The DUT is able to successfully respond to the GetParameterNames request including all objects and parameters at all levels below each instance of the specified muli-instance object.
    2.     Verify that the requested partial path is present in the ParameterList returned in the GetParameterNamesResponse.
 
  Copyright The University of New Hampshire, 2021.  All Rights Reserved. 
  
Test Name Synopsis
GetParameterNames - Invalid Path 5_048_GPN_invalid_path GetParameterNames - Invalid Path

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can identify an invalid path and respond with appropriate error message to a GetParameterNames request on an invalid parameter.
  
  Section of TR: Section A.3.2.3/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose an incorrect parameter path name that has some contextual meaning to the DUT's supported data model.  For example, Device.DeviceInfo.Invalid.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a GetParameterNames RPC on the DUT using the invalid parameter chosen in test setup step 2.
    3.     Allow the DUT to respond with GetParameterNamesResponse.
  Test metrics:
    1.     The CPE can identify an invalid path and respond with a 9005 fault code.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
   
Test Name Synopsis
GetParameterNames - Entire Object Model 5_049_GPN_entire_object_model GetParameterNames - Entire Object Model

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can communicate its entire object model to the ACS.
  
  Section of TR: Section A.3.2.3/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a GetParameterNames RPC on the DUT using a partial path and next level set to false.
    3.     Allow the DUT to respond with GetParameterNamesResponse.
  Test metrics:
    1.     The CPE can respond with its entire object model to the ACS.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  

GetParameterValues.tcl

Tests the functionality of the GetParameterValues RPC.

Test Name Synopsis
GetParameterValues - Simple Complete Path 5_050_GPV_simple_complete_path GetParameterValues - Simple Complete Path

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can respond to a GetParameterValues request by the ACS on a simple complete path.
  
  Section of TR: Section A.3.2.2/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose a valid parameter from the DUT's supported data model.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a GetParameterValues RPC on the DUT using the complete parameter path chosen in test setup step 2.
    3.     Allow the DUT to respond with GetParameterValuesResponse.
  Test metrics:
    1.     The DUT can properly respond to GetParameterValues request on a simple complete path.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
GetParameterValues - Multiple Complete Paths 5_051_GPV_multiple_complete GetParameterValues - Multiple Complete Paths

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can respond to a GetParameterValues request by the ACS on a complete path.
  
  Section of TR: Section 3.2.2/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose two valid parameters from the DUTs supported data model.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a GetParameterValues RPC on the DUT using the complete parameter paths chosen in test setup step 2.
    3.     Allow the DUT to respond with GetParameterValuesResponse.
  Test metrics:
    1.     The DUT can properly respond to GetParameterValues request on multiple complete paths.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
GetParameterValues - Partial Path 5_052_GPV_partial_path GetParameterValues - Partial Path

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can respond to a GetParameterValues request by the ACS on a partial path.
  
  Section of TR: Section A.3.2.2/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose a valid partial parameter path from the DUT's supported data model.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a GetParameterValues RPC on the DUT using a partial path.
    3.     Allow the DUT to respond with GetParameterValuesResponse.
  Test metrics:
    1.     The DUT can properly respond to GetParameterValues request by the ACS on the partial path from Procedure step 2.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
GetParameterValues - Complete and Partial Paths 5_053_GPV_complete_partial GetParameterValues - Complete and Partial Paths

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can respond to a GetParameterValues request by the ACS on both complete and partial paths.
  
  Section of TR: Section A.3.2.2/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose two valid parameter paths from the DUT's supported data model, one partial and one complete path.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a GetParameterValues RPC on the DUT using both a complete path and a partial path.
    3.     Allow the DUT to respond with GetParameterValuesResponse.
  Test metrics:
    1.     The CPE can properly respond to GetParameterValues request by the ACS on both complete and partial path.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
GetParameterValues - Entire Object Model 5_054_GPV_entire_object_model GetParameterValues - Entire Object Model

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can respond to a GetParameterValues request by the ACS on a partial path representing the top level in the data model with the entire object model.
  
  Section of TR: Section A.3.2.2/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a GetParameterValues RPC on the DUT using a partial path; such the partial path indicates the top level in the data model.
    3.     Allow the DUT to respond with GetParameterValuesResponse or the '9004 Resources Exceeded' error.
  Test metrics:
    1.     The CPE can properly respond to the CWMP Analyzer with the entire object model, or throws the correct error.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
GetParameterValues - Fault condition 5_055_GPV_fault_condition GetParameterValues - Fault condition

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can respond to a GetParameterValues appropriately if there is a fault condition with the ParameterNames element.
  
  Section of TR: Section A.3.2.2/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose a valid parameter from the DUT's supported data model, but incorrectly modify the ParameterNames parameter.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a GetParaemterValue RPC on the DUT using the correct parameterName of the attribute in Test Setup step 2.
    3.     Schedule a GetParameterValue RPC on the DUT using an incorrect parameterName.
    4.     Allow the DUT to respond with GetParameterNamesResponse.
  Test metrics:
    1.     The DUT can properly respond to GetParameterValues request with a fault condition 9005.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

SetParameterValues.tcl

Tests the functionality of the SetParameterValues RPC.

Test Name Synopsis
SetParameterValues - Single Parameter 5_056_SPV_single_parameter SetParameterValues - Single Parameter

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE supports the required SetParameterValues RPC and can change a single parameter.
  
  Section of TR: Section A.3.2.1/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose a valid, writable parameter from the DUT's supported data model.
    3.     Configure the CWMP Analyzer to set the ParameterKey argument in the GetParameterValues RPC to a unique value.
    4.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a SetParameterValues RPC on the DUT on a writable parameter.
    3.     Allow the DUT to respond with SetParameterValuesResponse.
      a.     If the he status code in SetParameterValuesResponse is 0, it means the DUT can change the parameter immediately.
      b.     If the status code in SetParameterValuesResponse is 1, it means the DUT requires a reboot to apply the change to the parameter. In this case:
        i.     Allow the DUT to terminate session with the ACS.
        ii.    Allow the DUT to apply the change and reboot.
    4.      Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    5.     Schedule a GetParameterValues RPC on the DUT on the same parameter that was used for SetParameterValues.
    6.     Analyze the value. The value should be the new changed value.
    7.     Schedule a GetParameterValues RPC on the .ManagementServer.ParameterKey parameter.
  Test metrics:
    1.     The DUT successfully changes the value of the parameter and reports the correct changed value in subsequent GetParameterValues request.
    2.     The ParameterKey from the GetParameterValuesResponse is equal to that set in the SetParameterValues RPC.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
SetParameterValues - Multiple Parameter 5_057_SPV_multiple_parameter SetParameterValues - Multiple Parameter

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE supports the required SetParameterValues RPC and can change multiple parameters in a single procedure call.
  
  Section of TR: Section A.3.2.1/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose at least two valid, writable parameters from the DUT's supported data model.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Allow the DUT to Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Instruct the ACS to respond with a successful Inform Response.
    3.     Schedule a SetParameterValues RPC on the DUT on a writable parameter.
    4.     Allow the DUT to respond with SetParameterValuesResponse.
      a.     If the the status code in SetParameterValuesResponse is 0, it means the DUT can change the parameter immediately.
      b.     If the status code in SetParameterValuesResponse is 1, it means the DUT requires a reboot to apply the change to the parameter. In this case:
        i.     Allow the DUT to terminate session with the ACS.
        ii.    Allow the DUT to apply the change and reboot.
    5.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    6.     Schedule a GetParameterValues RPC on the DUT on the same parameter that was used for SetParameterValues.
    7.     Analyze the value. The value should be the new changed value.
  Test metrics:
    1.     The DUT successfully changes the value of the parameter and reports the correct changed value in subsequent GetParameterValues request.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
SetParameterValues - Same Parameter Multiple Times 5_058_SPV_same_param_multiple_times SetParameterValues - Same Parameter Multiple Times

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE supports the required SetParameterValues RPC and can respond back with the appropriate error code when a value for the same Parameter Name is set twice in the same SetParameterValues RPC.
  
  Section of TR: Section A.3.2.1/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose at least one valid, writable parameters from the DUT's supported data model.  Have the CWMP Analyzer set that parameter value twice in the same ParameterList of a SetParameterValues RPC.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Allow the DUT to Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Instruct the ACS to respond with a successful Inform Response.
    3.     Schedule a GetParameterValues RPC on the DUT for the parameter listed in Test Setup step 2.
    4.     Schedule a SetParameterValues RPC on the DUT on a writable parameter multiple times in the same ParameterList of the SetParameterValues RPC message.
    5.     Allow the DUT to respond with SetParameterValuesResponse.
    6.     Allow the DUT to respond with fault code '9003  Invalid arguments'
    7.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    8.     Schedule a GetParameterValues RPC on the DUT on the same parameter that was used for SetParameterValues.
    9.     Analyze the value. The value should be the same value as before this test.
  Test metrics:
    1.     The DUT successfully returns the correct fault code in SetParameterValuesFault and lists the parameter in error.
    2.     The DUT value of the parameter remains the same as before the attempted SetParameterValues
    
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
SetParameterValues - Atomic Test 5_059_SPV_atomic SetParameterValues - Atomic Test

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE supports the required SetParameterValues RPC. When the SetParameterValues RPC contains multiple entries and one is incorrect that it will respond with the correct Fault code.
  
  Section of TR: Section A.3.2.1/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose at least two valid, writable parameters from the DUT's supported data model.  Allow one of the Parameter Names to be set incorrectly.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Allow the DUT to Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Instruct the ACS to respond with a successful Inform Response.
    3.     Schedule a SetParameterValues RPC to be sent to the DUT on two writable parameter, one parameter's name is set incorrectly.
    4.     Allow the DUT to respond with a primary fault code '9003  Invalid arguments'  and a '9005  Invalid parameter name' fault code for the parameter with the invalid name.
    5.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    6.     Schedule a GetParameterValues RPC on the DUT on the same parameters that were used for SetParameterValues.
  Test metrics:
    1.     The DUT successfully returns the correct fault code in SetParameterValuesFault and lists the parameter in error.
    2.     The DUT does not change the values of the parameters and reports the correct unchanged values in subsequent GetParameterValues request.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

GetParameterAttributes.tcl

Tests the functionality of the GetParameterAttributes RPC.

Test Name Synopsis
GetParameterAttributes - Complete Path 5_060_GPA_complete_path GetParameterAttributes - Complete Path

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can provide attribute information of a single complete path.
  
  Section of TR: Section A.3.2.5/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose a valid parameter path in the DUT's supported data model.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a GetParameterAttributes request on the single complete path chosen in test setup step 2.
    3.     Allow the DUT to respond with GetParameterAttributesResponse.
  Test metrics:
    1.     The DUT can properly respond to GetParameterAttributes request on a single path with attribute information of the path.
    2.     Verify that the GetParameterAttributesResponse, ParameterList, Name is a Full parameter name and not a partial path.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
GetParameterAttributes - Multiple Complete Path 5_061_GPA_multiple_complete_path GetParameterAttributes - Multiple Complete Path

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can provide attribute information of multiple complete paths.
  
  Section of TR: Section A.3.2.5/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose two valid parameter paths in the DUT's supported data model.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a GetParameterAttributes request the parameter paths chosen in test setup step 2.
    3.     Allow the DUT to respond with GetParameterAttributesResponse.
  Test metrics:
    1.     The DUT can properly respond to GetParameterAttributes request on multiple complete paths with attribute information of the paths.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
GetParameterAttributes - Partial Path 5_062_GPA_partial_path GetParameterAttributes - Partial Path

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can return attribute information of all the parameters in the branch of the name hierarchy that shares the same prefix as the partial path argument.
  
  Section of TR: Section A.3.2.1/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose a valid partial parameter path from the DUT's supported data model.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a GetParameterAttributes request on the partial path chosen in test setup step 2.
    3.     Allow the DUT to respond with GetParameterAttributesResponse.
  Test metrics:
    1.     The DUT can properly respond to GetParameterAttributes request on a partial path with correct attribute information.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
GetParameterAttributes - Complete and Partial Path 5_063_GPA_complete_partial_path GetParameterAttributes - Complete and Partial Path

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can return attribute information of all the parameters in the branch of the name hierarchy that shares the same prefix as the partial path argument.
  
  Section of TR: Section A.3.2.5/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose a valid complete parameter path and a valid partial parameter path in the DUT's supported data model.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a GetParameterAttributes request on the parameter paths selected in test setup step 2.
    3.     Allow the DUT to respond with GetParameterAttributesResponse.
  Test metrics:
    1.     The DUT can properly respond to GetParameterAttributes request on the complete and partial paths requested.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
GetParameterAttributes - Invalid Parameter Name 5_064_GPA_invalid_param_name GetParameterAttributes - Invalid Parameter Name

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can return the appropriate Fault code when the Parameter Name is invalid in a GetParameterAttributes RPC.
  
  Section of TR: Section A.3.2.5/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Configure the CWMP Analyzer with a GetParameterAttributes RPC method that contains  an invalid Parameter Name
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a GetParameterAttributes request on the partial parameter paths selected in test setup step 2.
    3.     Allow the DUT to respond with a '9005 - Invalid Parameter Name' fault code.
  Test metrics:
    1.     The DUT can properly respond to invalid Parameter Name with the appropriate Fault code response.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
GetParameterAttributes - Partial Path Empty 5_065_GPA_partial_path_empty GetParameterAttributes - Partial Path Empty

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can return the appropriate response when the Parameter Name of a partial path request does not have any sub objects in that partial path.
  
  Section of TR: Section A.3.2.5/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Configure the CWMP Analyzer with a GetParameterAttributes RPC method that contains a partial path Parameter Name or an object that does not have any sub-objects populated
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a GetParameterAttributes request on the partial parameter paths selected in test setup step 2.
    3.     Allow the DUT to respond with a GetParameterAttributesResponse.
  Test metrics:
    1     The DUT can properly respond with a GetParameterAttributesResponse with an empty ParameterList
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

SetParameterAttributes.tcl

Tests the functionality of the SetParameterAttributes RPC.

Test Name Synopsis
SetParameterAttributes - Active Notifications 5_066_SPA_Active_notif SetParameterAttributes - Active Notifications

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can successfully process SetParameterAttributes request from the ACS on a complete path with notification set to Active.
  
  Section of TR: Section A.3.2.4/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Manual
  
  Test setup steps:
      1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
      2.     Choose a parameter from the DUT's supported data model that can be altered locally from the DUT's interface and is capable of performing active notification.
      3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
      1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
      2.     Schedule a SetParameterAttributes RPC on the selected parameter with notification set to Active (2).
      3.     Allow the DUT to respond with SetParameterAttributesResponse.
      4.     Modify the parameter in the DUT via a mechanism other than CWMP.
      5.     Allow the DUT to initiate a new session with the ACS by sending an Inform message.
  Test metrics:
      1.     The DUT can respond with a SetParameterAttributesResponse to the request from the ACS.
      2.     The Inform after the modification of the parameter includes the event code '4 VALUE CHANGE'.
      3.     The Inform after the modification includes the changed parameter in the ParameterList in the Inform Message.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
SetParameterAttributes - Active Notifications Persistence 5_067_SPA_Active_notif_persist SetParameterAttributes - Active Notifications Persistence

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can successfully process SetParameterAttributes request from the ACS on a complete path with notification set to Active and that the setting persists across a device reboot.
  
  Section of TR: Section A.3.2.4/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
      1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
      2.     Choose a parameter from the DUT's supported data model that can be altered locally from the DUT's interface and is capable of performing active notification.
      3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
      1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
      2.     Schedule a SetParameterAttributes RPC on the selected parameter with notification set to Active (2).
      3.     Allow the DUT to respond with SetParameterAttributesResponse.
      4.     Reboot the DUT.
      5.     Schedule a GetParameterAttributes RPC on the selected parameter.
      6.     Allow the DUT to respond with the GetParameterAttributesResponse.
  Test metrics:
      1.     The DUT can respond with a SetParameterAttributesResponse to the request from the ACS.
      2.     The GetParameterAttributesResponse after reboot contains the correct active notification setting made prior to reboot of DUT.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
SetParameterAttributes - Atomic 5_068_SPA_atomic SetParameterAttributes - Atomic

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can successfully process SetParameterAttributes request from the ACS containing multiple attributes, one that is in error.
  
  Section of TR: Section A.3.2.4/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
      1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
      2.     Configure the CWMP Analyzer to send a SetParameterAttributes RPC containing two distinct attribute changes.  One of the changes is in error (invalid ParameterName).
      3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
      1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
      2.     Schedule a GetParameterAttributes RPC on the two parameter attributes in the Test Setup step 2.
      3.     Schedule a SetParameterAttributes RPC on the selected parameters.
      4.     Allow the DUT to respond with appropriate Fault Code.
      5.     Schedule a GetParameterAttribute RPC on the selected parameters in the SetParameterAttribute.
  Test metrics:
      1.     The DUT can respond with the appropriate '9005 - Invalid Parameter Name' Fault Code.
      2.     Examine the results of the GetParameterAttribute to verify neither parameter's attribute were modified.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
SetParameterAttributes - Passive Notification - Complete Path 5_069_SPA_complete_path_passive_notif SetParameterAttributes - Passive Notification - Complete Path

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can successfully process SetParameterAttributes request from the ACS on a complete path with notification set to Passive.
  
  Section of TR: Section A.3.2.4/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Manual
  
  Test setup steps:
      1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
      2.     Choose a parameter from the DUT's supported data model that can be altered locally from the DUT's interface.
      3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
      1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
      2.     Schedule a SetParameterAttributes RPC on the DUT on the parameter chosen in Test Setup step 2 to Passive Notification.
      3.     Allow the DUT to respond with a SetParameterAttributesResponse.
      4.     Modify the parameter locally in the DUT.
      5.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer with a successful Inform exchange.
  Test metrics:
      1.     The DUT can respond with a SetParameterAttributesResponse to the request from the CWMP Analyzer.
      2.     The Inform, after modification of the parameter, includes the event code of the event ('4 VALUE CHANGE') that stimulated the DUT to contact the CWMP Analyzer.  The Inform should also include the correct event code causing this RPC to be sent to the CWMP Analyzer.
      3.     The Inform after the modification includes the changed parameter in the ParameterList in the Inform Message.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
SetParameterAttributes - Passive Notification - Partial Path 5_070_SPA_partial_path_passive_notif SetParameterAttributes - Passive Notification - Partial Path

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can successfully process SetParameterAttributes request from the ACS on a partial path with notification set to Passive.
  
  Section of TR: Section A.3.2.4/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Manual
  
  Test setup steps:
      1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
      2.     Choose a partial parameter path from the DUT's supported data model that contains parameters that can be altered locally from the DUT's interface.
      3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
      1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
      2.     Schedule a SetParameterAttributes RPC on the DUT on the parameter chosen in test setup step 2.
      3.     Allow the DUT to respond with a SetParameterAttributesResponse.
      4.     Modify a parameter changed by the RPC locally in the DUT.
      5.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer with a successful Inform exchange.
  Test metrics:
      1.     The DUT can respond with a SetParameterAttributesResponse to the request from the CWMP Analyzer.
      2.     The Inform, after modification of the parameter, includes the event code of the event ('4 VALUE CHANGE') that stimulated the DUT to contact the CWMP Analyzer. The Inform should also include the correct event code causing this RPC to be sent to the CWMP Analyzer.
      3.     The Inform after the modification includes the changed parameter in the ParameterList in the Inform Message.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
SetParameterAttributes Passive Notification Complete and Partial Path 5_071_SPA_complete_partial_path_passive_notif SetParameterAttributes Passive Notification Complete and Partial Path

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can successfully process SetParameterAttributes request from the ACS on both complete and partial paths with notification set to Passive.
  
  Section of TR: Section A.3.2.4/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Manual
  
  Test setup steps:
      1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
      2.     Choose two parameter paths, one complete and one partial, from the DUT's supported data model that contain parameters that can be altered locally from the DUT's interface.
      3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
      1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
      2.     Schedule a SetParameterAttributes RPC on the DUT on the parameters chosen in test setup step 2.
      3.     Allow the DUT to respond with a SetParameterAttributesResponse.
      4.     Modify  Either parameter value of the complete or partial path parameters via a 3rd party interface.
      5.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer with a successful Inform exchange.
  Test metrics:
      1.     The DUT can respond with a SetParameterAttributesResponse to the request from the CWMP Analyzer.
      2.     The Inform, after modification of the parameter, includes the event code of the event ('4 VALUE CHANGE') that stimulated the DUT to contact the CWMP Analyzer. The Inform should also include the correct event code causing this RPC to be sent to the CWMP Analyzer.
      3.     The Inform after the modification includes the changed parameters in the ParameterList in the Inform Message.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
SetParameterAttributes Disable Notification 5_072_SPA_disable_notif SetParameterAttributes Disable Notification

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is capable of disabling previously set notification attribute.
  
  Section of TR: Section A.3.2.4/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Manual
  
  Test setup steps:
      1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
      2.     Choose a parameter path (complete or partial) in the DUT's supported data model that is current set for either active or passive notification.
      3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
      1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
      2.     Instruct the ACS to respond with a successful Inform Response.
      3.     Instruct the ACS to send a SetParameterAttributes on a complete path or a partial path with notification set to 0 (disable notification).
      4.     Allow the DUT to respond with SetParameterAttributesResponse.
      5.     Modify the parameter specified in Test Setup step 2 to a different value via a 3rd party interface.
      6.     Ensure the DUT does not communicate an event to the CWMP Analyzer indicating a change in the parameter.
  Test metrics:
      1.     The DUT can respond with a SetParameterAttributesResponse to the request from the CWMP Analyzer.
      2.     The DUT does not communicate an event to the CWMP Analyzer indicated a change in the parameter.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
SetParameterAttributes Incorrect Parameter Name 5_073_SPA_incorrect_param_name SetParameterAttributes Incorrect Parameter Name

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE can successfully process SetParameterAttributes request from the ACS on an incorrect Parameter Name.
  
  Section of TR: Section A.3.2.4/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
      1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
      2.     Choose a parameter from the DUT's supported data that is capable of being set to Active Notification.
      3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
      1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
      2.     Schedule a GetParameterAttributes RPC on the parameter selected in Test Setup step 2.
      3.     Schedule a SetParameterAttributes RPC on the selected parameter with notification set to Active (2). Have the CWMP Analyzer set the Parameter Name incorrectly.
      4.     Allow the DUT to respond with '9005 Invalid Parameter Name' fault code.
      5.     Schedule a GetParameterAttribute RPC on the selected parameter.
  Test metrics:
      1.     The DUT can respond with a '9005 Invalid Parameter Name' fault code to the request from the CWMP Analyzer.
      2.     Verify that the attribute setting was not modified by the invalid request.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

Add_Delete.tcl

Tests the functionality of the Add and Delete Objects RPCs.

Test Name Synopsis
AddObject 5_074_addObject AddObject

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is capable of creating an instance of a multi-instance object.  Note that for other CPE devices, although CWMP requires the ability to add objects, the creatable objects may not be widespread in implementation.  If this is the case, those CPE devices should skip this test.
  
  Section of TR: Section A.3.2.6/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose a multi-instance, writable object within the DUT's supported data model.
    3.     Configure the CWMP Analyzer to set the ParameterKey to a unique value in the AddObject RPC.
    4.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule an AddObject RPC on the DUT on a parameter of which another instance can be created.
    3.     Allow the DUT to respond with AddObjectResponse.
      a.     If the status code in AddObjectResponse is 0, the DUT was successful in creating the parameter.
      b.     If the status code in AddObjectResponse is 1, the DUT either requires a reboot or other action to create the object. In such case:
        i.     Allow the DUT to terminate the session with the ACS.
        ii.    Allow the DUT to perform reboot (if required) or other steps necessary to create the object.
        iii.   Allow the DUT to issue an Inform RPC to the CWMP Analyzer in order to establish CWMP session.
        iv.    Respond with a successful Inform Response
    4.     Schedule a GetParameterNames RPC with the newly added object as an argument.
    5.     Allow the DUT to reply back with a GetParameterNamesResponse.
    6.     Schedule a GetParameterValues RPC on the .ManagementServer.ParameterKey parameter.
    7.     Allow the DUT to reply back with the GetParameterValuesResponse.
  Test metrics:
    1.     The DUT successfully responds with an AddObjectResponse containing the InstanceNumber of the newly created object and either a 0 or a 1 as the status code.
    2.     If the status code is 1, the DUT performs all necessary action for addition and contacts the CWMP Analyzer again by issuing an Inform RPC once addition is complete.
    3.     The DUT successfully responds to the GetParameterNames Request without a fault code.
    4.     Verify the InstanceNumber and status arguments in the AddObjectResponse are appropriate.
    5.     The ParameterKey value from the GetParameterValuesResponse is equal to that set in the AddObject RPC.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
AddObject - Error Conditions 5_075_addObject_error AddObject - Error Conditions

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is capable handling incorrect AddObject methods.
  
  Section of TR: Section A.3.2.6/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose a multi-instance, writable object within the DUT's supported data model.
    3.     Configure the CWMP Analyzer to produce the following invalid AddObject parameter:
      a)     AddObject Request without a '.' at the end of the Name.
    4.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule an AddObject RPC on the DUT on a parameter of which another instance can be created, but have the Parameter Name not end in a '.'.
    3.     Allow the DUT to respond with the correct Fault Code.
    4.     Schedule the CWMP Analyzer to send a GetParameterValues on the container Object.
    5.     Allow the DUT to reply back with the appropriate GetParameterValuesResponse.
  Test metrics:
    1.     The DUT successfully responds with the appropriate 9002, 9003 or 9005 Fault codes, for the AddObject request that does not end in a '.'.
    2.     The GetParameterValuesResponse does not show any additions made to the container Object.
    3.     Verify that ParameterKey is not changed when AddObject is in error.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
DeleteObject 5_076_deleteObject DeleteObject

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is capable of removing a particular instance of an object. Note that for other CPE devices, although CWMP requires the ability to add objects, the creatable objects may not be widespread inimplemenations.  If this is the case, those CPE devices should skip this test.
  
  Section of TR: Section A.3.2.7/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Add a known object to the DUT.
    3.     Configure the CWMP Analyzer to set the ParameterKey in the DeleteObject RPC to a unique value.
    4.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a DeleteObject RPC on the DUT on an accessible object instance.
    3.     Allow the DUT to respond with DeleteObjectResponse.
      a.     If the status code in DeleteObjectResponse is 0, the DUT was successful in deleting the instance of the parameter.
      b.     If the status code in DeleteObjectResponse is 1, the DUT either requires a reboot or other action to delete the object. In such case:
        i.     Allow the DUT to terminate the session with the ACS.
        ii.    Allow the DUT to perform reboot (if required) or other DUT specific actions to delete the object.
        iii.   Allow the DUT to issue an Inform RPC to the ACS in order to establish CWMP session.
        iv.    Respond with a successful Inform Response
    4.     Schedule a GetParameterNames request on the recently deleted object instance.
    5.     Allow the DUT to send a GetParameterNamesResponse.
    6.     Schedule a GetParameterValues RPC on the .ManagementServer.ParameterKey parameter.
    7.     Allow the DUT to send a GetParameterValuesResponse.
  Test metrics:
    1.     The DUT successfully responds with a DeleteObjectResponse with either a 0 or a 1 as the status code.
    2.     If the status code is 1, the DUT performs all necessary action for deletion.
    3.     The DUT responds to the GetParameterNames Request with a fault code.
    4.     The ParameterKey returned from the GetParameterValuesResponse RPC is the same as that set in the DeleteObject RPC
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Delete Object - Error Conditions 5_077_deleteObject_error Delete Object - Error Conditions

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is capable of handling error conditions in the DeleteObject RPC.
  
  Section of TR: Section A.3.2.7/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Add a known object to the DUT.
    3.     Configure the CWMP Analyzer to send a DeleteObject RPC method without the '.' at the end of the Object instance.
    4.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a DeleteObject RPC on the DUT on the accessible object instance not ending in a '.'.
    3.     Allow the DUT to respond with the appropriate Fault Code.
    4.     Schedule a DeleteObject RPC on the DUT on an accessible object instance, with the invalid  object instance name in Test Setup 2.
    5.     Allow the DUT to respond with the appropriate Fault Code.
    6.     Schedule a GetParameterNames request on the recently deleted object instance.
    7.     Allow the DUT to send a GetParameterNamesResponse.
  Test metrics:
    1.     The DUT successfully responds with a Fault Code of 9005 - Invalid Parameter Name.
    2.     The DUT does not delete any of the specified objects.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

Reboot.tcl

Tests the handling of Reboots and the functionality of the Reboot RPC.

Test Name Synopsis
Reboot 5_078_reboot Reboot

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is capable of performing a 5_078_reboot when instructed by the ACS.
  
  Section of TR: Section A.3.2.9/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
    3.     Configure the CWMP Analyzer to set the CommandKey 5_078_reboot argument in the Reboot RPC.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule the CWMP Analyzer to send a Reboot RPC to the DUT.
    3.     Allow the DUT to reply with a successful response.
    4.     Allow the DUT to terminate the session and perform 5_078_reboot.
    5.     Allow the DUT to issue an Inform RPC to the ACS with an event code of '1 BOOT' and 'M Reboot'.
  Test metrics:
    1.     The DUT successfully responds with a RebootResponse message.
    2.     The Inform message from DUT after 5_078_reboot includes the event codes '1 BOOT' and 'M Reboot'.
    3.     The Inform message has the same CommandKey as in the 5_078_reboot RPC, on the 'M Reboot' event.
    4.     The CPE completed the CWMP session before initiating 5_078_reboot procedure
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Manual Reboot 5_079_Manual_Reboot Manual Reboot

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is capable of sending the BOOT eventcode in the first INFORM RPC after a manual reboot of the CPE.
  
  Section of TR: Section 3.7.1.5/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Manual
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Power cycle the CPE via a non-CWMP method
    3.     Allow the DUT the reboot.
    4.     Allow the DUT to issue an Inform RPC to the ACS with an event code of '1 BOOT'.
  Test metrics:
    1.     The DUT successfully sends the '1 BOOT' eventcode in the Inform RPC.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

Download.tcl

Tests the functionality of the Download RPC. This package requires editing of the config file to include complete Firmware paths.

Test Name Synopsis
Download Test - Basic Version Upgrade 5_080_download Download Test - Basic Version Upgrade

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is capable of performing the Download RPC and apply the new software or firmware image.
  
  Section of TR: Section A.3.2.8/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Obtain a firmware image for the DUT that, while structurally identical to the operating firmware under test, contains a different image version number.
    3.     Configure and provide a file server (i.e., http or ftp) that can be accessed by DUT through the network infrastructure.  Authentication may or may not be configured on the file server.
    4.     Configure CWMP Analyzer to set the 5_080_download FileSize to be zero.
    5.     Copy the provided firmware image to the file server.
    7.     Connect all components of the test setup to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a Download RPC with the following arguments
        CommandKey       : unique value
        FileType         : "1 Firmware Upgrade Image"
        URL              : Location of the firmware image
        Username         : Username to be used by the CPE to authenticate with the file server( if any )
        Password         : Password to be used by the CPE to authenticate with the file server( if any )
        FileSize         : The size of the file to be 5_080_downloaded in bytes
        TargetFileName   : The name of the firmware image
        DelaySeconds     : A value of 0
        SuccessURL       : Empty string
        FailureURL       : Empty string
    3. Allow the DUT to respond with DownloadResponse with a status code of 1.
    4. Issue a GetParameterValues request from the ACS to the DUT on SoftwareVersion parameter to verify if the new firmware image has been applies by the DUT.
    5. Allow the DUT to finish 5_080_downloading the firmware image. Allow the DUT to reboot if needed.
    6. Allow the DUT to initiate a connection with the ACS by sending an Inform message and instruct the ACS to respond with a successful InformResponse.
    7. Allow the DUT to send a TransferComplete message.
  
  Test metrics:
    1. The DUT successfully responds to the Download RPC with a DownloadResponse with a status of 1.
    2. The DUT performs the Download.
    3. The DUT performs the firmware upgrade.
    4. In the Inform following the upgrade, the DUT includes the events "7 TRANSFER COMPLETE" and "M DOWNLOAD"
    5. The version information given in the same Inform contains the NEW firmware version.
    6. The DUT makes the TransferComplete RPC to indicate the Download was successful.
    7. The TransferComplete CommandKey value is the same as the Download RPC, on the "M Download" event and not on the "7 TRANSFER COMPLETE" event.
    
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
Download Test - Queuing 5_081_download_queuing Download Test - Queuing

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is capable of performing the Download RPC and Queuing up to a minimum of 3 separate download instances.
  
  Section of TR: Section A.3.2.8/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Obtain a firmware image for the DUT that, while structurally identical to the operating firmware under test, contains a different image version number.
    3.     Configure and provide a file server (i.e., http or ftp) that can be accessed by DUT through the network infrastructure.  Authentication may or may not be configured on the file server.
    4.     Copy the provided firmware image to the file server.
    5.     Connect all components of the test setup to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule the CWMP Analyzer to send three Download RPCs to the DUT, using HTTP.
    3.     Allow the DUT to respond with DownloadResponse for each request.
      a)     A status code of 0 in the DownloadResponse means the DUT successfully finished download and applied the change.
      b)     A status code of 1 means the DUT will need time to download the file or need certain actions like Reboot to complete the download. In such case:
    4.     Allow the DUT to finish downloading the firmware image. Allow the DUT to reboot if needed.
    5.     If the session has not been terminated, allow the DUT to send a TransferComplete message in the same session.
    6.     If the session has been terminated (as a result of reboot or similar action), allow the DUT to initiate a connection with the ACS by sending an Inform message and instruct the ACS to respond with a successful InformResponse.
    7.     Issue a GetParameterValues request from the ACS to the DUT on SoftwareVersion parameter to verify if the new firmware image has been applied by the DUT.
    8.     Allow the DUT to respond with a GetParameterValues Response.
  Test metrics:
    1.     The DUT successfully responds to the Download RPC with a DownloadResponse.
    2.     The DUT performs the Download.
    3.     The DUT is capable of queuing 3 consecutive firmware Download requests.
    4.     If the upgrade was performed after the session has closed, in the Inform following the upgrade, the DUT includes the events '7 TRANSFER COMPLETE' and 'M Download'. The CommandKey is only set on the 'M Download' event.
    5.     The DUT should reboot in order to run the newly downloaded firmware image.  Verify that DUT persists any additional queued downloads across the reboot.
    6.     The DUT responds two addition times with the events '7 TRANSFER COMPLETE' and 'M Download'. The CommandKey is only set on the 'M Download' event.
    7.     The DUT sends the TransferComplete RPC to indicate the Download was successful.
    8.	   The DUT performs each download within max(5 seconds, 5% of DelaySeconds) of the requested time (based on the value of the DelaySeconds argument and the time of the request).
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Download Test - Delay 5_082_download_delay Download Test - Delay

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is capable of performing the Download RPC with associated delay attribute.
  
  Section of TR: Section A.3.2.8/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Obtain a firmware image for the DUT that, while structurally identical to the operating firmware under test, contains a different image version number.
    3.     Configure and provide a file server (i.e., http or ftp) that can be accessed by DUT through the network infrastructure.  Authentication may or may not be configured on the file server.
    4.     Copy the provided firmware image to the file server.
    5.     Configure CWMP Analyzer to set the download FileSize to be zero.
    6.     Configure the CWMP Analyzer to set the DelaySeconds to one minute.
    7.     Connect all components of the test setup to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a Download RPC with the following arguments, DelaySeconds=60seconds & FileSize=0.
    3.     Allow the DUT to respond with DownloadResponse.
      a)     A status code of 0 in the DownloadResponse means the DUT successfully finished download and applied the change.
      b)     A status code of 1 means the DUT will need time to download the file or need certain actions like Reboot to complete the download. In such case:
    4.     Allow the DUT to finish downloading the firmware image. Allow the DUT to reboot if needed.
    5.     If the session has not been terminated, allow the DUT to send a TransferComplete message in the same session.
    6.     If the session has been terminated (as a result of reboot or similar action), allow the DUT to initiate a connection with the ACS by sending an Inform message and instruct the ACS to respond with a successful InformResponse.
    7.     Allow the DUT to finish downloading the firmware image. Allow the DUT to reboot if needed.
    8.     If the session has not been terminated, allow the DUT to send a TransferComplete message in the same session.
    9.     If the session has been terminated (as a result of reboot or similar action), allow the DUT to initiate a connection with the ACS by sending an Inform message and instruct the ACS to respond with a successful InformResponse.
    10.    Issue a GetParameterValues request from the ACS to the DUT on SoftwareVersion parameter to verify if the new firmware image has been applied by the DUT.
    11.    Allow the DUT to respond with a GetParameterValues Response.
  Test metrics:
  1.     The DUT successfully responds to the Download RPC with a DownloadResponse.
  2.     The DUT performs the Download within one hour of the DelaySeconds setting (+5 seconds for latency)
  3.     The DUT performs the firmware upgrade, even with the FileSize=0.
  4.     If the upgrade was performed after the session has closed, in the Inform following the upgrade, the DUT includes the events '7 TRANSFER COMPLETE' and 'M Download'.
  5.     The version information given in the same Inform contains the NEW firmware version.
  6.     The DUT makes the TransferComplete RPC to indicate the Download was successful.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Download Test - Session Retry 5_083_download_retry Download Test - Session Retry

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE is capable of resending the TransferComplete request after a download has occurred and the ACS has not responded to the first TransferComplete request.
  
  Section of TR: Sections 3.2.1.1, 3.7.1.5/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Obtain a firmware image for the DUT that, while structurally identical to the operating firmware under test, contains a different image version number.
    3.     Configure and provide a file server (i.e., http or ftp) that can be accessed by DUT through the network infrastructure.  Authentication may or may not be configured on the file server.
    4.     Copy the provided firmware image to the file server.
    5.     Connect all components of the test setup to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a Download RPC.
    3.     Allow the DUT to respond with DownloadResponse.
    4.     Allow the DUT to send the TransferComplete request.
    5.     Schedule the CWMP Analyzer to not respond to the TransferComplete request with TransferCompleteResponse.
    6.     Allow the DUT to retry sending the TransferComplete request.
    7.     Schedule the CWMP Analyzer to respond correctly with the TransferCompleteResponse.
  Test metrics:
    1.     The DUT successfully sends the TransferComplete request after the first TransferComplete had no response from the CWMP Analyzer.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

Upload.tcl

Tests the functionality of the Upload RPC.

Test Name Synopsis
Upload 5_085_upload Upload

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: The purpose of this test is to verify DUT's upload functionality.
  
  Section of TR: Section A.4.1.5/TR-069a1 or later
  
  Optional Functionality Tag: Conditionally Mandatory - Optional RPC - Upload
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Install or acquire a vendor configuration or log file that is installed on the DUT.
    3.     Configure and provide a file server (i.e., http or ftp) that can be accessed by DUT through the network infrastructure.  Authentication may or may not be configured on the file server.
    4.     Configure the CWMP Analyzer to set the CommandKey to a unique value in the Upload RPC.
    5.     Connect all components of the test setup to the network infrastructure.
  Test Procedures:
    1.      Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Instruct the CWMP Analyzer to issue an Upload Request with the following parameters:
      CommandKey        unique value
      FileType          An integer followed by a space followed by the file type description. For a vendor configuration file, set this parameter to '1 Vendor Configuration File', and for a vendor log file, set this parameter to '2 Vendor Log File'.
      URL               The URL of the destination server configured in the test setup.
      Username          Username to be used by the CPE to authenticate with the file server (if any).
      Password          Password to be used by the CPE to authenticate with the file server (if any).
      FileSize          The size of the file to be downloaded in bytes.
      TargetFileName    The name of the firmware image
      DelaySeconds      This exercises the device's ability to wait before performing the upload.
    3.     Allow the DUT to respond with an UploadResponse message.
      a)     A status code of 0 in the UploadResponse means the Upload has completed.
      b)     A status code of 1 means the DUT will need time or certain actions to upload the file.
        i.     Allow the DUT to finish uploading the file. Allow the DUT to reboot if needed.
        ii.     If the session has not been terminated, allow the DUT to send a TransferComplete message in the same session.
        iii.     If the session has been terminated (as a result of reboot or similar action), allow the DUT to initiate a session with the CWMP Analyzer.
    4.     Check the file server to verify if the file has been uploaded.
  Test metrics:
    1.     The DUT successfully responds to the Upload RPC with an UploadResponse.
    2.     The DUT performs the Upload of configuration or log files to server.
    3.     If the upload was performed after the session has closed, in the Inform following the upload, the DUT includes the events '7 TRANSFER COMPLETE' and 'M Upload'. The CommandKey is only on the 'M upload' event.
    4.     The DUT makes the TransferComplete RPC to indicate the Upload was successful.
    5.     The TransferComplete CommandKey is equal to that in the Upload RPC.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Upload - Queuing 5_086_upload_queuing Upload - Queuing

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: The purpose of this test is to verify DUT's upload functionality and its ability to queue a minimum of 3 Upload File Transfers.
  
  Section of TR: Section A.4.1.5/TR-069a1 or later
  
  Optional Functionality Tag: Conditionally Mandatory - Optional RPC - Upload
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Install or acquire a vendor configuration or log file that is installed on the DUT.
    3.     Configure and provide a file server (i.e., http or ftp) that can be accessed by DUT through the network infrastructure.  Authentication may or may not be configured on the file server.
    4.     Connect all components of the test setup to the network infrastructure.
  Test Procedures:
    1     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2     Instruct the CWMP Analyzer to issue an Upload Request over HTTP with the following parameters:
      CommandKey          Empty String
      FileType          An integer followed by a space followed by the file type description. For a vendor configuration file, set this parameter to '1 Vendor Configuration File', and for a vendor log file, set this parameter to '2 Vendor Log File'.
      URL                    The URL of the destination server configured in the test setup.
      Username          Username to be used by the CPE to authenticate with the file server (if any).
      Password          Password to be used by the CPE to authenticate with the file server (if any).
      FileSize          The size of the file to be downloaded in bytes.
      TargetFileName     The name of the firmware image
      DelaySeconds     A random time between 60 and 120 seconds.  This exercises the device's ability to wait before performing the upload.
    3     Allow the DUT to respond with an UploadResponse message.
      a.     A status code of 0 in the UploadResponse means the Upload has completed.
      b.     A status code of 1 means the DUT will need time or certain actions to upload the file.
        i.     Allow the DUT to finish uploading the file. Allow the DUT to reboot if needed.
        ii.    If the session has not been terminated, allow the DUT to send a TransferComplete message in the same session.
        iii.   If the session has been terminated (as a result of reboot or similar action), allow the DUT to initiate a session with the CWMP Analyzer.
    4     Repeat steps 2 & 3, over HTTP.
    5     Repeat steps 2 & 3, over HTTP.
    6     Check the file server to verify if the file has been uploaded.
  Test metrics:
    1.     The DUT successfully responds to the Upload RPC with an UploadResponse.
    2.     The DUT performs the Upload of Configuration or log file to the server.
    3.     Verify the DUT can queue at least the first 3 Upload requests.  Results should be similar to Test Metric 5 & 6.
    4.     The DUT should experience no difference in the Uploading of files whether it is happening over an HTTP connection.
    5.     If the upload was performed after the session has closed, in the Inform following the upload, the DUT includes the events '7 TRANSFER COMPLETE' and 'M Upload'. The CommandKey is only on the 'M upload' event for each upload.
    6.     The DUT makes the TransferComplete RPC to indicate the Upload was successful.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
Upload - Delay 5_087_upload_delay Upload - Delay

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: The purpose of this test is to verify DUT's upload functionality with respect to the DelaySeconds parameter being set.
  
  Section of TR: Section A.4.1.5/TR-069a1 or later
  
  Optional Functionality Tag: Conditionally Mandatory - Optional RPC - Upload
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Install or acquire a vendor configuration or log file that is installed on the DUT.
    3.     Configure and provide a file server (i.e., http or ftp) that can be accessed by DUT through the network infrastructure.  Authentication may or may not be configured on the file server.
    4.     Configure the CWMP Analyzer to set the Upload URL with the Upload DelaySeconds parameter with a value of 60.
    5.     Connect all components of the test setup to the network infrastructure.
  Test Procedures:
    1     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2     Instruct the CWMP Analyzer to issue an Upload Request with the following parameters:
      CommandKey          Empty String
      FileType          An integer followed by a space followed by the file type description. For a vendor configuration file, set this parameter to '1 Vendor Configuration File', and for a vendor log file, set this parameter to '2 Vendor Log File'.
      URL                    The URL of the destination server configured in the test.
      Username          Username to be used by the CPE to authenticate with the file server (if any).
      Password          Password to be used by the CPE to authenticate with the file server (if any).
      FileSize          The size of the file to be downloaded in bytes.
      TargetFileName     The name of the firmware image
      DelaySeconds     A random time between 60 and 120 seconds.  This exercises the device's ability to wait before performing the upload.
    3     Repeat step 2 with a valid URL, without 'userinfo', but with a DelaySeconds set to 60.
    4     Check the file server to verify if the file has been uploaded.
  Test metrics:
    1     The DUT successfully responds to the Upload RPC with an UploadResponse.
    2     The DUT performs the Upload, after the allocated 60 seconds, but less than one hour and 60 seconds (+5 seconds for latency).
    3     If the upload was performed after the session has closed, in the Inform following the upload, the DUT includes the events '7 TRANSFER COMPLETE' and 'M Upload'. The CommandKey is only on the 'M Upload' event.
    4     The DUT makes the TransferComplete RPC to indicate the Upload was successful.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

Optional_RPCs.tcl

Tests the functionality of various conditional functions and RPCs.

Test Name Synopsis
ACS URL Change On The DUT By Third Party Means 5_016_ACS_URL_mod_3rd_party ACS URL Change On The DUT By Third Party Means

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT will send an Inform message when the ACS URL is modified by some third party means.
  
  Optional Functionality Tag: Conditionally Mandatory - Optional CWMP Configuration
  
  Section of TR: Section 3.7.1.5/TR-069a1 or later
  
  Test Execution Type: Manual
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL # set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Modify the ACS URL on the DUT through some third party means (CLI, SNMP, etc.).
    3.     Allow the DUT to attempt to communicate with the CWMP Analyzer at the new URL.
  Test metrics:
    1.     The DUT accepts, interprets and utilizes the new ACS URL.
    2.     The DUT sets the Inform's MaxEnvelopes=1.
    3.     The DUT send the appropriate Inform with event type '0 BOOTSTRAP'
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
CancelTransfer 5_084_cancel_transfer CancelTransfer

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT correctly performs Cancel Transfer via the CancelTransfer RPC method.
  
  Section of TR: Section A.4.1.9/TR-069a3 or later
  
  Optional Functionality Tag: Conditionally Mandatory - Optional RPC - CancelTransfer
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer
    2.     Configure the CWMP Analyzer to send a download request to start a Firmware image upgrade. Have the firmware image available on an accessible file server that is reachable by the DUT.
    3.     Connect the DUT, DHCP server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Stimulate the CWMP Analyzer to begin the firmware upgrade process with the download RPC, with a 60 second delay,  being sent to the DUT.
    3.     Stimulate the CWMP Analyzer to send the CancelTransfer RPC to the DUT to interrupt  the previous firmware image upgrade process.
  Test metrics:
    1.     The DUT is able to stop the download from finishing and sends a CancelTransferResponse,
    2.     In the event that the DUT cannot cancel the transfer, it returns an error code of 9021 (Cancellation of file transfer not permitted in current transfer state).
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
  
Test Name Synopsis
5_088_ScheduleInform 5_088_ScheduleInform 5_088_ScheduleInform

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: The purpose of this test is to verify that the CPE is able to schedule a one-time Inform method call when requested by the CWMP Analyzer using 5_088_ScheduleInform Test.
  
  Section of TR: Section A.4.1.2/TR-069a1 or later
  
  Optional Functionality Tag: Conditionally Mandatory - Optional RPC - 5_088_ScheduleInform
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose a time interval between 60 and 300 seconds for the DUT to perform the scheduled inform.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
    4.     Configure the CWMP Analyzer to set the CommandKey 5_088_ScheduleInform RPC.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Instruct the CWMP Analyzer to issue a 5_088_ScheduleInform to the DUT.
    3.     Allow the DUT to respond with a successful 5_088_ScheduleInformResponse.
    4.     Wait for the DUT to issue an Inform RPC to the CWMP Analyzer.
    5.     Respond with a successful Inform Response.
  Test metrics:
    1.     The DUT successfully responds with a valid 5_088_ScheduleInformResponse message.
    2.     The DUT issues an Inform RPC to the CWMP Analyzer with event code '3 SCHEDULED' and 'M 5_088_ScheduleInform'. The CommandKey is only on the 'M 5_088_ScheduleInform' event.
    3.     The DUT does perform the scheduled action within the correct timeframe (+/-5 seconds for latency).
    4.     The Inform CommandKey is the same as that in the 5_088_ScheduleInform RPC.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
FactoryReset 5_089_factoryReset FactoryReset

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BFF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: The purpose of this test is to verify that the DUT is capable of performing factory reset procedure upon receipt of FactoryReset RPC from the ACS.
  
  Section of TR: Section A.4.1.6/TR-069a1 or later
  
  Optional Functionality Tag: Conditionally Mandatory - Optional RPC - FactoryReset
  
  Test Execution Type: Manual
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a FactoryReset RPC on the DUT with the CWMP Analyzer.
    3.     Allow the DUT to respond with FactoryResetResponse message.
    4.     Allow the session to terminate successfully.
    5.     Schedule a GetParameterValues RPC for the .ManagementServer.ParameterKey parameter, after a specified delay.
    6.     Allow the DUT to respond with GetParameterValuesResponse message.
  Test metrics:
    1.     The CPE does not attempt the Factory Reset before terminating the session.
    2.     The ParameterKey value in the GetParameterValuesResponse is empty.
    3.     The CPE sends a '0 BOOTSTRAP' Inform RPC.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
5_094_all_queued_transfers 5_094_all_queued_transfers 5_094_all_queued_transfers

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: The purpose of this test is to verify DUT's GetAllQueuedTransfers functionality.
  
  Section of TR: Section A.4.1.7/TR-069a2 or later
  
  Optional Functionality Tag: Conditionally Mandatory - Optional RPC - 5_094_all_queued_transfers
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Configure the DUT to have 2 distinct Download and Upload function queued for activity.  Use the DelaySeconds parameter to time the events.
    3.     Connect all components of the test setup to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Instruct the CWMP Analyzer to issue a GetAllQueuedTransfers RPC.
    3.     Allow the DUT to respond with a GetAllQueuedTransfers Response RPC.
    4.     Verify contents of the GetAllQueuedTransfers Response's TransferList.
  Test metrics:
    1.     The DUT successfully responds to the GetAllQueuedTransfers RPC with the GetAllQueuedTransfers Response RPC.
    2.     Verify that the contents of the TranferList in the GetAllQueuedTransfers Response contain the two download and upload actions present on the DUT.
    
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
EnableCWMP Set To False 5_100_enable_cwmp_to_false EnableCWMP Set To False

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT no longer sends Informs after EnableCWMP is set to false.
  
  Section of TR: TR-069a1 or later
  TR-098a2 or later
  
  Optional Functionality Tag: Conditionally Mandatory - Optional Parameter - EnableCWMP
  
  Test Execution Type: Manual
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer
    2.     Enable PeriodicInformEnable and set the PeriodicInformInterval to 1 minute.
    3.     The CWMP Analyzer sends a SetParameterValues of ManagementServer.EnableCWMP = 0
    4.     Terminate the CWMP session.
    5.     Attempt to send a Connection Request to the DUT.
  Test metrics:
    1.     Verify the DUT no longer sends an Inform after 2 minutes.
    2.     Verify that the DUT does not reply with a 200 or 204.  Verify that the DUT does not send an Inform to the ACS.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
DefaultActiveNotificationThrottle Throttles Active Notifications 5_105_default_active_notification_throttle DefaultActiveNotificationThrottle Throttles Active Notifications

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE delays sending an active notification within the defined time window after the previous Inform.
  
  Section of TR: TR-069a1 or later
  TR-098a2 or later
  
  Optional Functionality Tag: Conditionally Mandatory - Optional Parameter - NotificationThrottle
  
  Test Execution Type: Manual
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Set DefaultActiveNotifcationThrottle to 5 minutes (depends on how fast the manual steps can be done.)
    3.     Schedule a SetParameterAttributes RPC on the selected parameter with notification set to Active (2).
    4.     Allow the DUT to respond with SetParameterAttributesResponse.
    5.     Modify the parameter in the DUT via a mechanism other than CWMP.
    6.     Allow the DUT to initiate a new session with the ACS by sending an Inform message.
    7.     Modify the parameter in the DUT via a mechanism other than CWMP much quicker than the DefaultActiveNotificationThrottle time set in step 2.
  Test metrics:
    1.     The DUT can respond with a SetParameterAttributesResponse to the request from the ACS.
    2.     The Inform after the modification of the parameter includes the event code '4 VALUE CHANGE'.
    3.     The Inform after the modification  includes the changed parameter in the ParameterList in the Inform Message.
    4.     The Inform after the modification in step 7 is at least 5 minutes after the Inform after step 5 (+/-5 seconds for latency)
    
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

CWMP_Faults.tcl

Tests the handling of common CWMP Faults.

Test Name Synopsis
CWMP Faults - Basic RPC Faults 5_090_CWMP_Faults_basic_RPC CWMP Faults - Basic RPC Faults

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: The purpose of this test is to verify that the DUT is capable of rejecting RPCs that it does not support.
  
  Section of TR: Section A.5.1/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Choose a valid RPC that is not listed as supported by the DUT.
    3.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a GetRPCMethods RPC on the DUT with the CWMP Analyzer.
    3.     Allow the DUT to respond with GetRPCMethodsResponse message.
    4.     Ensure that the RPC selected in test setup step 2 is not listed in the GetRPCMethodsResponse.
    5.     Schedule the RPC selected in test setup step 2 on the DUT with the CWMP Analyzer.
    6.     Allow the DUT to respond with fault "9000 - Method not supported".
  Test metrics:
    1.     The DUT rejects an RPC that it does not support.
    2.     The fault is correctly formed.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
CWMP Faults - Download Failure 5_091_CWMP_Faults_Download CWMP Faults - Download Failure

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: The purpose of this test is to verify that the DUT is capable of notifying the ACS of a failed Download RPC,  TransferComplete RPC.
  
  Section of TR: Section A.5.1/TR-069a1 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Install or acquire a vendor configuration or log file that is installed on the DUT.
    3.     Configure and provide a file server (i.e., http or ftp) that can be accessed by DUT through the network infrastructure.  Configure the file server both for unauthenticated and authenticated transfers.
    4.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a Download RPC on the DUT with the CWMP Analyzer with the URL argument indicating the URL of the file server appended with a non-existent file name.
    3.     Allow the DUT to respond with a DownloadResponse message.
    4.     Allow the DUT to attempt the file transfer.
    5.     Allow the DUT to initiate a CWMP session with CWMP Analyzer, indicated a TRANSFER COMPLETE event.
    6.     Allow the DUT to issue the TransferComplete RPC on the CWMP Analyzer with the associated error codes (at least "9000 -Download failure").
  Test metrics:
    1.     The DUT responds with appropriate fault codes for the Download RPC.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
CWMP Faults Upload Failure 5_092_CWMP_Faults_Upload CWMP Faults Upload Failure

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: The purpose of this test is to verify that the DUT is capable of notifying the ACS of a failed Upload RPC,  TransferComplete RPC.
  
  Section of TR: Section A.5.1/TR-069a1 or later
  
  Optional Functionality Tag: Conditionally Mandatory - Optional RPC - Upload
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Install or acquire a vendor configuration or log file that is installed on the DUT.
    3.     Configure and provide a file server (i.e., http or ftp) that can be accessed by DUT through the network infrastructure.  Configure the file server both for unauthenticated and authenticated transfers.
    4.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule an Upload RPC on the DUT with the CWMP Analyzer with the URL argument indicating the URL of the file server appended with a non-existentdirectory path.
    3.     Allow the DUT to respond with a UploadResponse message.
    4.     Allow the DUT to attempt the file transfer.
    5.     Allow the DUT to initiate a CWMP session with CWMP Analyzer, indicated a TRANSFER COMPLETE event.
    6.     Allow the DUT to issue the TransferComplete RPC on the CWMP Analyzer with the associated error codes (at least '9011 Upload failure').
  Test metrics:
    1.     The DUT responds with appropriate fault codes for the Upload RPC.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

Diagnostics.tcl

Tests the functionality of IPPing Diagnostics.

Test Name Synopsis
Run Diagnostics 5_093_diagnostics Run Diagnostics

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT correctly runs an IP Ping 5_093_diagnostics Test (defined in BroadBand Forum TR-098) and sends back the correct '8 DIAGNOSTICS COMPLETE' Inform event code.
  
  Section of TR: Section 3.7.1.5/TR-069a1 or later
  Broadband Forum TR-098
  IETF RFC 792
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer
    2.     Configure the CWMP Analyzer to correct Ping parameters for test
    3.     Connect the DUT, DHCP server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2.     Schedule a SetParameterValues call to be made on the  parameter used to set the diagnostic state to perform the Ping function upon on the DUT, changing the value of the DiagnosticsState parameter to 'Requested' as well as the listed parameter/value pairs in the normative description and test setup
    3.     Allow the DUT to send a SetParameterValuesResponse.
    4.     Allow the session to terminate successfully.
    5.     Allow the DUT to perform the IP Ping Diagnostics Test.
    6.     Allow the DUT to initiate a CWMP connection with the CWMP Analyzer to report the completion of the 5_093_diagnostics test.
  Test metrics:
    1.     The DUT sends the '8 DIAGNOSTICS COMPLETE' in the Inform after the test is completed
    2.     The DUT successfully terminates the session.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

PeriodicInform.tcl

Tests the functionality of Periodic Informs.

Test Name Synopsis
PeriodInformEnable Enables Periodic Informs 5_102_periodic_inform_enable PeriodInformEnable Enables Periodic Informs

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE does not send periodic Informs if PeriodicInformEnable is false.
  
  Section of TR: TR-069a1 or later
  TR-098a2 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    2.     Set PeriodicInformInterval to 1 minute and PeriodicInformEnable to true
    3.     Terminate the CWMP session.
    4.     Verify that an Inform including a PERIODIC event is sent within a minute.
    5.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    6.     Set PeriodicInformEnable to false
  Test metrics:
    1.     That the DUT sent an Inform with a PERIODIC event in step 4.
    2.     Two minutes after PeriodInformEnable is set to false in step 6, the DUT does not contact the ACS with an Inform containing a PERIODIC event.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
PeriodicInformTime In The Past Controls Periodic Inform 5_103_periodic_inform_time_past PeriodicInformTime In The Past Controls Periodic Inform

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE properly offsets periodic Informs based on PeriodicInformTime.
  
  Section of TR: TR-069a1 or later
  TR-098a2 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    2.     Perform a GetParameterValue on CurrentLocalTime to get the value of the current time on the DUT.
    3.     Set PeriodicInformInterval to 2 minutes, PeriodicInformTime to 'true' and PeriodicInformTime to a value in the past(current time of CPE - 6 minutes) in the UTC format(e.g. 1994-11-05T13:15:30.000Z).  Use decimal seconds in the PeriodicInformTime.
    4.     Terminate the CWMP session.
  Test metrics:
    1.     Verify that the DUT sends a periodic Inform, (integer multiple of) 2 minutes after PeriodicInformTime (+/-5 seconds for latency)
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
PeriodicInformTime in the future controls Periodic Inform 5_104_periodic_inform_time_future PeriodicInformTime in the future controls Periodic Inform

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the CPE properly offsets periodic Informs based on PeriodicInformTime.
  
  Section of TR: TR-069a1 or later
  TR-098a2 or later
  
  Optional Functionality Tag: Mandatory - Baseline Protocol
  
  Test Execution Type: Automated
  
  Test setup steps:
    1.     Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2.     Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1.     Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
    2.     Perform a GetParameterValue on CurrentLocalTime to get the value of the current time on the DUT.
    3.     Set PeriodicInformInterval to 2 minutes, PeriodicInformTime to 'true' and PeriodicInformTime to a value in the future(current time of the CPE + 6 minutes) in the UTC format (e.g. 1994-11-05T13:15:30.000Z). Use decimal seconds in the PeriodicInformTime.
    4.     Terminate the CWMP session.
  Test metrics:
    1.      Verify that the DUT sends a periodic Inform, (integer multiple of) 2 minutes before PeriodicInformTime (+/-5 seconds for latency)
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

BooleanParameterConfiguration.tcl

Tests the handling of different boolean parameters.

Test Name Synopsis
Boolean Parameter Configuration 5_110_BPC Boolean Parameter Configuration

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that a CPE can handle a Boolean parameter being set correctly.
  
  Section of TR: TR-069a1, Table 9 - Data Types and beyond
  
  Optional Functionality Tag: Mandatory
  
  Test Execution Type: Automated
  
  
  Test setup steps:
    1. Configure the DUT to use the ACS URL set on the CWMP Analyzer.
    2. Choose a valid parameter of type Boolean that is writable (PeriodicInformEnable) and verify it is set to “false”.
    3. Connect the DUT and CWMP Analyzer to the network infrastructure.
  Test Procedures:
    1. Establish a CWMP session between the CWMP Analyzer and DUT with successful Inform exchanges.
    2. Schedule a SetParameterValues RPC on the DUT on the parameter from the Test Setup to “false”.
    3. Schedule a GetParameterValues RPC on the DUT on the parameter from the Test Setup.
    4. Schedule a SetParameterValues RPC on the DUT on the parameter from the Test Setup to “true”.
    5. Schedule a GetParameterValues RPC on the DUT on the parameter from the Test Setup.
    6. Schedule a SetParameterValues RPC on the DUT on the parameter from the Test Setup to “0”.
    7. Schedule a GetParameterValues RPC on the DUT on the parameter from the Test Setup.
    8. Schedule a SetParameterValues RPC on the DUT on the parameter from the Test Setup to “1”.
    9. Schedule a GetParameterValues RPC on the DUT on the parameter from the Test Setup.
  Test metrics:
    1. The DUT can properly respond to the SetParameterValues RPCs with SetParameterValuesResponse RPC.
    2. The DUT can properly respond to the GetParameterValues RPCs with GetParameterValuesResponse RPC and a value of “false” or logical equivalent.
    3. The DUT can properly respond to the SetParameterValues RPCs with SetParameterValuesResponse RPC.
    4. The DUT can properly respond to the GetParameterValues RPCs with GetParameterValuesResponse RPC and a value of “true” or logical equivalent.
    5. The DUT can properly respond to the SetParameterValues RPCs with SetParameterValuesResponse RPC.
    6. The DUT can properly respond to the GetParameterValues RPCs with GetParameterValuesResponse RPC and a value of “false” or logical equivalent.
    7. The DUT can properly respond to the SetParameterValues RPCs with SetParameterValuesResponse RPC.
    8. The DUT can properly respond to the GetParameterValues RPCs with GetParameterValuesResponse RPC and a value of “true” or logical equivalent .
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  

XMPP.tcl

Tests the functionality of the DUT using XMPP.

Test Name Synopsis
Establishing Secured Connection to XMPP Server 5_111_xmpp_secure Establishing Secured Connection to XMPP Server

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT can establish a secure and authenticated connection with an XMPP Server.
  
  Section of TR: Section K.2, K.2.1.1/TR-069a5 or later
  RFC 6120
  
  Optional Functionality Tag: Conditionally Mandatory - XMPP Connection Request
  
  Test Execution Type: Automated
  
  
  Test setup steps:
	  1.      Configure the DUT to use the ACS URL set on the CWMP Analyzer.
	  2.      Configure the DUT to have an XMPP.Connection object.
	  3.      Configure the DUT’s ManagementServer object to reference the XMPP.Connection object configured in step 2.
	  4.      Connect the DUT, XMPP server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
	  1.      Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
	  2.      Allow the DUT to terminate the connection with the CWMP Analyzer.
	  3.      Allow time for the DUT to establish a connection with the XMPP Server.
  Test metrics:
  	1.      The DUT establishes a TLS encrypted XMPP connection with the XMPP server or simulator.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
Maintain Connection to XMPP Server 5_112_xmpp_maintain_connection Maintain Connection to XMPP Server

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT can maintain a secure and authenticated connection with an XMPP Server.
  
  Section of TR: Section K.2.1/TR-069a5 or later
  Section 4.6.1/RFC 6120
  
  Optional Functionality Tag: Conditionally Mandatory - XMPP Connection Request
  
  Test Execution Type: Automated
  
  
  Test setup steps:
	  1.      Configure the DUT to use the ACS URL set on the CWMP Analyzer.
	  2.      Configure the DUT to have an XMPP.Connection object.
	  3.      Configure the DUT’s ManagementServer object to reference the XMPP.Connection object configured in step 2.
	  4.      Connect the DUT, XMPP server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
	  1.      Perform a SetParameterValues RPC on the DUT to set the XMPP.Connection.KeepAliveInterval to 60 seconds.
	  2.      Allow time for the DUT to establish a connection with the XMPP Server.
	  3.      After the XMPP connection has been established let the connection stay open for an additional 2 minutes.
  Test metrics:
	  1.    The DUT established an XMPP connection with the XMPP server or simulator.
	  2. 	  The DUT maintained the XMPP connection for the duration of the test.
	  3. 	  The DUT sent whitespace keepalives to the XMPP server every 60 seconds.

  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
SRV Lookup of XMPP Server 5_113_xmpp_srv_lookup SRV Lookup of XMPP Server

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT can properly use the DNS SRV lookup mechanism to resolve the IP address and port number to be used to connect to the XMPP server.
  
  Section of TR: Section K.2.1, K.2.1.1/TR-069a5 or later
  Section 3.2.1/RFC 6120
  
  Optional Functionality Tag: Conditionally Mandatory - XMPP Connection Request
  
  Test Execution Type: Automated
  
  
  Test setup steps:
	  1. 	  Configure the DUT to use the ACS URL set on the CWMP Analyzer.
	  2. 	  Configure the DUT to have an XMPP.Connection object containing an XMPP server URI that uses a FQDN instead of an IP address.
	  3. 	  Configure the DUT’s ManagementServer object to reference the XMPP.Connection object configured in step 2.
	  4. 	  Configure the DNS server to return a single FQDN and port for the requested XMPP server SRV record.
	  5. 	  Connect the DUT, DNS Server, XMPP server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
	  1. 	  Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
	  2. 	  Allow the DUT to terminate the connection with the CWMP Analyzer.
	  3. 	  Allow time for the DUT to establish a connection with the XMPP Server.
  Test metrics:
	  1.	  CPE sent a DNS-SRV Query with the QNAME=_xmpp-client._tcp.<hostname> and QTYPE=SRV
	  2. 	  The DUT establishes a connection with the XMPP server or simulator using the port number and IP address obtained through the DNS SRV resolution process.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
Re-establish Connection to XMPP Server 5_115_xmpp_reestablish Re-establish Connection to XMPP Server

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT can reestablish the connection with the XMPP server in the event of a connection failure.
  
  Section of TR: Section K.2, K.2.1.1/TR-069a5 or later
  RFC 6120
  
  Optional Functionality Tag: Conditionally Mandatory - XMPP Connection Request
  
  Test Execution Type: Automated
  
  
  Test setup steps:
	  1.      Configure the DUT to use the ACS URL set on the CWMP Analyzer.
	  2.      Configure the DUT to have an XMPP.Connection object.
	  3.      Configure the DUT’s ManagementServer object to reference the XMPP.Connection object configured in step 2.
	  4.      Connect the DUT, XMPP server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
	  1.    Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
	  2.    Allow the DUT to terminate the connection with the CWMP Analyzer.
	  3.    Allow time for the DUT to establish a connection with the XMPP Server.
	  4. 	  Stimulate the XMPP server to drop the connection with the DUT.
	  5. 	  Allow time for the DUT to reestablish the connection with the XMPP Server.
  Test metrics:
	  1.    The DUT establishes an  XMPP connection with the XMPP server or simulator.
	  2. 	  The DUT re-establishes the connection with the XMPP server after the connection failure occurs.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
Establish XMPP Connection before CWMP Session 5_116_xmpp_connect_before_cwmp Establish XMPP Connection before CWMP Session

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT can maintain a secure and authenticated connection with an XMPP Server.
  
  Section of TR: Section K.2.1/TR-069a5 or later
  RFC 6120
  
  Optional Functionality Tag: Conditionally Mandatory - XMPP Connection Request
  
  Test Execution Type: Automated
  
  
  Test setup steps:
	  1.      Configure the DUT to use the ACS URL set on the CWMP Analyzer.
	  2.      Configure the DUT to have an XMPP.Connection object.
	  3.      Configure the DUT’s ManagementServer object to reference the XMPP.Connection object configured in step 2.
	  4.      Connect the DUT, XMPP server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
	  1.      Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
	  2.      Allow the DUT to terminate the connection with the CWMP Analyzer.
	  3.      Allow time for the DUT to establish a connection with the XMPP Server.
	  4. 	  	Power cycle the DUT.
	  5.      Stimulate the DUT to initiate a CWMP session with the CWMP Analyzer.
  Test metrics:
  	1. 	  The DUT establishes a connection with the XMPP server before initiating the CWMP session.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
Successful XMPP Connection Request 5_117_xmpp_connect_success Successful XMPP Connection Request

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT can listen and properly act on XMPP Connection requests
  
  Section of TR: Section K.2.1.3/TR-069a5 or later
  RFC 6120
  
  Optional Functionality Tag: Conditionally Mandatory - XMPP Connection Request
  
  Test Execution Type: Automated
  
  
  Test setup steps:
	  1.      Configure the DUT to use the ACS URL set on the CWMP Analyzer.
	  2.      Configure the DUT to have an XMPP.Connection object.
	  3.      Configure the DUT’s ManagementServer object to reference the XMPP.Connection object configured in step 2.
	  4.      Connect the DUT, XMPP server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
	  1.      Allow time for the DUT to establish a connection with the XMPP Server.
	  2.      Stimulate the CWMP Analyzer to send to send a valid XMPP connection request message to the DUT through the XMPP server
  Test metrics:
	  1. 	  The DUT transmits a Connection Request Success stanza to the ACS through the XMPP Server.
	  2. 	  The DUT establishes a new CWMP session including the event code 6 CONNECTION REQUEST with the ACS after transmitting the	Connection Request Success stanza.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
Invalid XMPP Connection Request 5_118_xmpp_invalid_request Invalid XMPP Connection Request

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT properly handles receiving an XMPP Connection Request that is not validated against the cwmp-xmppConnReq-1-0.xsd schema
  
  Section of TR: Section K.2.1.3/TR-069a5 or later
  RFC 6120
  
  Optional Functionality Tag: Conditionally Mandatory - XMPP Connection Request
  
  Test Execution Type: Automated
  
  
  Test setup steps:
	  1.      Configure the DUT to use the ACS URL set on the CWMP Analyzer.
	  2.      Configure the DUT to have an XMPP.Connection object.
	  3.      Configure the DUT’s ManagementServer object to reference the XMPP.Connection object configured in step 2.
	  4.      Connect the DUT, XMPP server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
	  1.      Allow time for the DUT to establish a connection with the XMPP Server.
	  2.      Stimulate the CWMP Analyzer to send a XMPP Connection Request message that is not validated by the schema cwmp-xmppConnReq-1-0.xsd to the DUT through the XMPP server.
  Test metrics:
  	1. 	  The DUT transmits an error IQ stanza to the ACS through the XMPP server.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
ConnReqAllowedJabberIDs Parameter Matches 5_119_xmpp_correct_jabber_id ConnReqAllowedJabberIDs Parameter Matches

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT can listen for and properly act upon XMPP Connection Request messages based on the ManagementServer.ConnReqAllowedJabberIDs Parameter.
  
  Section of TR: Section K.2.1.3/TR-069a5 or later
  RFC 6120
  
  Optional Functionality Tag: Conditionally Mandatory - XMPP Connection Request
  
  Test Execution Type: Automated
  
  
  Test setup steps:
	  1.      Configure the DUT to use the ACS URL set on the CWMP Analyzer.
	  2.      Configure the DUT to have an XMPP.Connection object.
	  3.      Configure the DUT’s ManagementServer object to reference the XMPP.Connection object configured in step 2.
	  4.      Configure the DUT’s ManagementServer.ConnReqAllowedJabberIDs Parameter to contain a single value that matches the Jabber ID of the ACS server.
	  5.      Connect the DUT, XMPP server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
	  1.      Allow time for the DUT to establish a connection with the XMPP Server.
	  2.      Stimulate the CWMP Analyzer to send a valid XMPP Connection Request message to	the DUT through the XMPP server.
  Test metrics:
	  1.      The DUT transmits a Connection Request Success stanza to the ACS through the XMPP Server.
	  2.      The DUT establishes a new CWMP session with the ACS after transmitting the Connection Request Success stanza.
	  3.      The DUT includes the “6 CONNECTION REQUEST” EventCode in the Inform.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
ConnReqAllowedJabberIDs Parameter Does Not Match 5_120_xmpp_incorrect_jabber_id ConnReqAllowedJabberIDs Parameter Does Not Match

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT can listen for and properly act upon XMPP Connection Request messages based on the ManagementServer.ConnReqAllowedJabberIDs Parameter.
  
  Section of TR: Section K.2.1.3/TR-069a5 or later
  RFC 6120
  
  Optional Functionality Tag: Conditionally Mandatory - XMPP Connection Request
  
  Test Execution Type: Automated
  
  
  Test setup steps:
	  1.      Configure the DUT to use the ACS URL set on the CWMP Analyzer.
	  2.      Configure the DUT to have an XMPP.Connection object.
	  3.      Configure the DUT’s ManagementServer object to reference the XMPP.Connection object configured in step 2.
	  4.      Configure the DUT’s ManagementServer.ConnReqAllowedJabberIDs Parameter to contain a single value that does not matches the Jabber ID of the ACS server.
	  5.      Connect the DUT, XMPP server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
	  1.      Allow time for the DUT to establish a connection with the XMPP Server.
	  2.      Stimulate the CWMP Analyzer to send a valid XMPP Connection Request message to	the DUT through the XMPP server.
  Test metrics:
  	1.      The DUT transmits an error IQ stanza to the ACS through the XMPP server.
  
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
Test Name Synopsis
ConnectionRequestUsername Parameter Does Not Match 5_121_xmpp_bad_username ConnectionRequestUsername Parameter Does Not Match

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT can listen for and properly act upon XMPP Connection Request messages based on the ManagementServer.ConnectionRequestUsername Parameter.
  
  Section of TR: Section K.2.1.3/TR-069a5 or later
  RFC 6120
  
  Optional Functionality Tag: Conditionally Mandatory - XMPP Connection Request
  
  Test Execution Type: Automated
  
  
  Test setup steps:
	  1.      Configure the DUT to use the ACS URL set on the CWMP Analyzer.
	  2.      Configure the DUT to have an XMPP.Connection object.
	  3.      Configure the DUT’s ManagementServer object to reference the XMPP.Connection object configured in step 2.
	  4.      Configure the DUT’s ManagementServer.ConnectionRequestUsername to a valid value.
	  5.      Connect the DUT, XMPP server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
	  1.      Allow time for the DUT to establish a connection with the XMPP Server.
	  2.      Stimulate the CWMP Analyzer to send an XMPP Connection Request message to the DUT through the XMPP server that contains a “username” element within the “connectionRequest” element that does not match the value configured for ManagementServer.ConnectionRequestUsername on the DUT
  Test metrics:
  	1.      The DUT transmits an error IQ stanza to the ACS through the XMPP server.
  Copyright The University of New Hampshire, 2021.  All Rights Reserved.
  
  
Test Name Synopsis
ConnectionRequestPassword Parameter Does Not Match 5_122_xmpp_bad_password ConnectionRequestPassword Parameter Does Not Match

  
  Test Script developed by UNH-IOL as part of the Broadband Forums BBF.069 Certification Program
  
  www.iol.unh.edu
  
  Purpose: This test is designed to verify that the DUT can listen for and properly act upon XMPP Connection Request messages based on the ManagementServer.ConnectionRequestPassword Parameter.
  
  Section of TR: Section K.2.1.3/TR-069a5 or later
  RFC 6120
  
  Optional Functionality Tag: Conditionally Mandatory - XMPP Connection Request
  
  Test Execution Type: Automated
  
  
  Test setup steps:
	  1.      Configure the DUT to use the ACS URL set on the CWMP Analyzer.
	  2.      Configure the DUT to have an XMPP.Connection object.
	  3.      Configure the DUT’s ManagementServer object to reference the XMPP.Connection object configured in step 2.
	  4.      Configure the DUT’s ManagementServer.ConnectionRequestPassword to a valid value.
	  5.      Connect the DUT, XMPP server or simulator, and CWMP Analyzer to the network infrastructure.
  Test Procedures:
	  1.      Allow time for the DUT to establish a connection with the XMPP Server.
	  2.      Stimulate the CWMP Analyzer to send an XMPP Connection Request message to the DUT through the XMPP server that contains a “password” element within the “connectionRequest” element that does not match the value configured for ManagementServer.ConnectionRequestPassword on the DUT
  Test metrics:
  	1.      The DUT transmits an error IQ stanza to the ACS through the XMPP server.

  Copyright The University of New Hampshire, 2021.  All Rights Reserved.