CDRouter TR-069 Test Summaries (Full)

Test Case Descriptions

  • Modules: 17
  • Test Cases: 2468

Below is a full description of the testcases in each module


od128.tcl

Interoperability Test Plan for TR-069 Plugfests

Test Name Synopsis
OD-128 Test 1 Part 1: CPE-Initiated (ACS authenticates CPE) - Basic Client Authentication od128_test_1.1 OD-128 Test 1 Part 1: CPE-Initiated (ACS authenticates CPE) - Basic Client Authentication


    6.1.1.1 Purpose

    The purpose of this test is to validate that a CPE can establish an authenticated HTTP
    session with the ACS using basic authentication.  This test should be performed only if
    the ACS uses or can be configured to use basic authentication.

    6.1.1.2 Procedure

      1. If necessary, configure the ACS to use basic HTTP authentication.
      2. The CPE is stimulated to initiate an HTTP session with the ACS. Possible
         methods involve various TR-069 specific mechanisms, or stimulating the CPE
         directly if such a mechanism exists through a non-standard interface.
      3. The ACS issues a "401 Unauthorized" HTTP challenge and HTTP authentication
         proceeds normally.

    6.1.1.3 Success Metric

      1. The CPE and ACS are able to successfully establish an authenticated HTTP
         session.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 1 Part 2: CPE-Initiated (ACS authenticates CPE) - Digest Client Authentication od128_test_1.2 OD-128 Test 1 Part 2: CPE-Initiated (ACS authenticates CPE) - Digest Client Authentication


    6.1.2.1 Purpose

    The purpose of this test is to validate that a CPE can establish an authenticated HTTP
    session with the ACS using digest authentication.  This test should be performed only if
    the ACS uses or can be configured to use digest authentication.

    6.1.2.2 Procedure

      1. If necessary, configure the ACS to use digest HTTP authentication.
      2. The CPE is stimulated to initiate an HTTP session with the ACS. Possible
         methods involve various TR-069 specific mechanisms, or stimulating the CPE
         directly if such a mechanism exists through a non-standard interface.
      3. The ACS issues a "401 Unauthorized" HTTP challenge and HTTP authentication
         proceeds normally.

    6.1.2.3 Success Metric

      1. The CPE and ACS are able to successfully establish an authenticated HTTP
         session.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 1 Part 3: CPE-Initiated (ACS authenticates CPE) - Session Cookie Validation od128_test_1.3 OD-128 Test 1 Part 3: CPE-Initiated (ACS authenticates CPE) - Session Cookie Validation


    6.1.3.1 Purpose

    The purpose of this test is to validate that a CPE and ACS can successfully interact using
    cookies across multiple CWMP sessions.

    6.1.3.2 Procedure

      1. The ACS is configured to use CWMP session cookies if it does not use them by
         default.  Any mode of CPE authentication by the ACS can be used in this test.
      2. The CPE is stimulated to initiate a new CWMP session with the ACS using any of
         the mechanisms outlined in Test 5 - CWMP Session Initiation. The CPE
         establishes a TCP connection and sends an HTTP request with Inform message.
         The CPE messages to the ACS do not contain any session cookies.
      3. During HTTP authentication stage or as part of the InformResponse RPC, the
         ACS sets an HTTP cookie in HTTP response.
      4. After the cookie has been set, the CPE resends the cookie in all subsequent HTTP
         requests within the same CWMP session, including any final empty posts used to
         indicate session termination.
      5. The ACS and CPE successfully terminate the CWMP session.
      6. Repeat steps 2-5.  The CPE does not return the cookie from the previous session
         in its messages with the ACS.

    6.1.3.3 Success Metric

      1. The CPE and ACS are able to successfully use session cookies across multiple
         CWMP sessions.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 1 Part 4: ACS-Initiated (CPE authenticates ACS) od128_test_1.4 OD-128 Test 1 Part 4: ACS-Initiated (CPE authenticates ACS)


    6.1.4.1 Purpose

    The purpose of this test is to validate that the ACS can establish an authenticated HTTP
    session with a CPE.

    6.1.4.2 Procedure

      1. The ACS is stimulated to initiate an HTTP session with the CPE. Possible
         methods involve various TR-069 specific mechanisms, or stimulating the ACS
         directly if such a mechanism exists through a non-standard interface.
      2. The CPE issues a "401 Unauthorized" HTTP challenge and HTTP authentication
         proceeds normally.

    6.1.4.3 Success Metric

      1. The ACS and CPE are able to successfully establish an authenticated HTTP
         session.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 2 Part 1: SSL Encryption - Basic Client Authentication od128_test_2.1 OD-128 Test 2 Part 1: SSL Encryption - Basic Client Authentication


    6.2.1.1 Purpose

    The purpose of this test is to validate that the ACS and CPE can interact over SSL, using
    server certificate authentication for the ACS and basic authentication for the CPE.  This
    test should be performed only if the ACS uses or can be configured to use basic
    authentication.

    6.2.1.2 Procedure

      1. Enable SSL on both ACS and CPE.
      2. If necessary, configure the ACS to use basic HTTP authentication.
      3. The CPE is stimulated to initiate an SSL session with the ACS. Possible methods
         include various TR-069 specific mechanisms, or stimulating the CPE directly if
         such a mechanism exists through a non-standard interface.
      4. The CPE sends a request to the ACS and receives a valid response at either the
         HTTP or CWMP layer.

    Note that because the traffic between the device and server is encrypted, inspection of the
    traffic via a protocol analyzer will not be possible.

    6.2.1.3 Success Metric

      1. The CPE and ACS are able to successfully establish an SSL session and pass data
         over an encrypted link.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 2 Part 2: SSL Encryption - Digest Client Authentication od128_test_2.2 OD-128 Test 2 Part 2: SSL Encryption - Digest Client Authentication


    6.2.2.1 Purpose

    The purpose of this test is to validate that the ACS and CPE can interact over SSL, using
    server certificate authentication for the ACS and digest authentication for the CPE.  This
    test should be performed only if the ACS uses or can be configured to use digest
    authentication.

    6.2.2.2 Procedure

      1. Enable SSL on both ACS and CPE.
      2. If necessary, configure the ACS to use digest  HTTP authentication.
      3. The CPE is stimulated to initiate an SSL session with the ACS. Possible methods
         include various TR-069 specific mechanisms, or stimulating the CPE directly if
         such a mechanism exists through a non-standard interface.
      4. The CPE sends a request to the ACS and receives a valid response at either the
         HTTP or CWMP layer.

    Note that because the traffic between the device and server is encrypted, inspection of the
    traffic via a protocol analyzer will not be possible.

    6.2.2.3 Success Metric

      1. The CPE and ACS are able to successfully establish an SSL session and pass data
         over an encrypted link.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 2 Part 3: SSL Encryption - Certificate Client Authentication od128_test_2.3 OD-128 Test 2 Part 3: SSL Encryption - Certificate Client Authentication


    6.2.3.1 Purpose

    The purpose of this test is to validate that the ACS and CPE can interact over SSL, using
    server certificate authentication for the ACS and client certificate authentication for the
    CPE.

    6.2.3.2 Procedure

      1. Enable SSL on both ACS and CPE.
      2. Configure the ACS to request client certificates from the CPE.
      3. The CPE is stimulated to initiate an SSL session with the ACS. Possible methods
         include various TR-069 specific mechanisms, or stimulating the CPE directly if
         such a mechanism exists through a non-standard interface.
      4. The CPE sends a request to the ACS and receives a valid response at either the
         HTTP or CWMP layer.

    Note that because the traffic between the device and server is encrypted, inspection of the
    traffic via a protocol analyzer will not be possible.

    6.2.3.3 Success Metric

      1. The CPE and ACS are able to successfully establish an SSL session and pass data
         over an encrypted link.

    NOTE: During the SSL session establishment, the ACS will request a client
    certificate from the CPE. The certificate that is returned is not
    validated against a specific CA. However, if a certificate is not returned
    by the CPE the test will fail.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 2 Part 4: Rejection of Invalid Certificate od128_test_2.4 OD-128 Test 2 Part 4: Rejection of Invalid Certificate


    6.2.4.1 Purpose

    The purpose of this test is to ensure that the CWMP system properly handles sessions that
    are initiated with invalid cerificate information.

    6.2.4.2 Procedure

      1. Prior to testing, ensure ACS side certificates are signed with the ACS hostname
         rather than IP address.
      2. Enable SSL on both ACS and CPE.
      3. Configure the CPE to use an ACS URL containing the ACS IP address instead of
         its hostname.

         NOTE: CDRouter will actually change the ACS certificate instead of reconfiguring
         the CPE. If the CPE is reconfigured, the CDRouter ACS will not be able to change
         the configuration back without manual intervention.

         NOTE: If the default certificates provided with CDRouter are not used for this
         test, the CPE must have also have QA Cafe's root CA installed prior to running
         this test. If the QA Cafe root CA is not installed, the CPE may reject the
         certificate due to an unknown CA error, as opposed to actually validating the
         common name on the certificate.

      4. The CPE is stimulated to initiate an SSL session with the ACS. Possible methods
         include various TR-069 specific mechanisms, or stimulating the CPE directly if
         such a mechanism exists though a non-standard interface.

         NOTE: CDRouter will us a ConnectionRequestURL attempt to request a new CWMP session.

      5. Allow the ACS to present its certificate.
      6. Allow the CPE to reject the invalid certificate.

    6.2.4.3 Success Metric

      1. The CPE and ACS do not establish a connection with invalid certificates.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 3: DHCP Vendor Option Test od128_test_3.1 OD-128 Test 3: DHCP Vendor Option Test


    6.3.1.1 Purpose

    The purpose of this test is to validate that a LAN-based CPE can use DHCP
    vendor options to exchange information with an IGD. This test is specific
    to CPEs and IGDs that implement TR-111 Part 1.

    This test is intended to verify that a CPE and an IGD support TR-111 Part 1
    DHCP requirements. Successful completion of this test does not require that
    the CPE and IGD implement full support for TR-111 Part 1, but it does
    require that they implement the DHCP Vendor Options requirements from
    TR-111 Section 1.2.5.

    6.3.1.2 Procedure

      1. The CPE includes DHCP vendor options (as described in TR-111 Section
         1.2.5) in a DHCPDISCOVER, DHCPREQUEST or DHCPINFORM request.
      2. The IGD receives and parses the DHCP request and returns a
         DHCPOFFER or DHCPACK response (as appropriate) that includes DHCP
         vendor options (as described in TR-111 Section 1.2.5).
      3. The CPE receives and parses the DHCP response

    6.3.1.3 Success Metric

      1. The CPE is able to communicate DHCP Vendor options to the IGD
      2. The IGD is able to communicate DHCP vendor options to the CPE


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 4: STUN NAT Traversal Test od128_test_4.1 OD-128 Test 4: STUN NAT Traversal Test


    6.4.1.1 Purpose

    The purpose of this test is to validate that a LAN-based CPE can use STUN to detect the
    presence of a NAT-enabled IGD, to determine the IGDs WAN IP address, and to
    maintain an active UDP NAT binding in the IGD. This test is specific to CPEs and
    ACSes that implement TR-111 Part 2.

    This test is intended to verify that a CPE and an ACS support TR-111 Part 2 STUN
    requirements. Successful completion of this test does not require that the CPE and ACS
    implement full support for TR-111 Part 2, but it does require that they implement its
    STUN-related requirements.

    6.4.1.2 Procedure

      1. The CPE configures and enables STUN, and starts sending STUN Binding
         Request messages to the ACS's STUN server (address and port to be agreed with
         the ACS vendor).
      2. The ACS's STUN server receives and responds to these messages.
      3. The CPE's STUN client discovers the NAT device (i.e. the IGD), and maintains
         an open NAT binding through which the ACS can send unsolicited packets.
      4. The ACS discovers the public IP address and port associated with this open NAT
         binding (this is done via STUN, via an alernative TR-111 Part 2 mechanism, or
         directly by the CPE vendor).
      5. The ACS sends a UDP message to this public IP address and port.

    6.4.1.3 Success Metric

      1. The CPE is able to discover the NAT device, and the public IP address and port of
         the open CPE binding.
      2. The ACS is able to discover the public IP address and port of the open NAT
         binding.
      3. The ACS is able to send a UDP message to the public IP address and port of the
         open NAT binding (and its arrival on the LAN is verified using Ethereal or
         equivalent).


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 5: CWMP Session Initiation od128_test_5.1 OD-128 Test 5: CWMP Session Initiation


    7.1.1.1 Purpose

    The purpose of this test is to enable vendors to verify session establishment and basic
    interoperability of the CPE and ACS Inform handshake, which is the basis of all other
    interactions.

    An ACS may need to perform some special work on first contact with a given CPE, in
    which case the Inform may need to include the "0 BOOTSTRAP" event code.

    7.1.1.2 Procedure

    1. The CPE is stimulated to send an Inform to the ACS (see the above note
    concerning the "0 BOOTSTRAP" event code).  Possible methods include setting
    a periodic inform interval in some fashion, changing a parameter that requires
    forced active notification, or stimulating the CPE directly if such a capability
    exists through a non-standard interface.
    2. Upon successful receipt of the Inform message, the ACS sends an
    InformResponse message to the CPE.
    3. When the conditions outlined in Section 3.1 of TR-069 have been met, the CPE
    successfully terminates the session with the ACS.

    7.1.1.3 Success Metric

    1. The CPE and ACS are able to successfully establish a CWMP session with each
    other.
    2. The CPE and ACS are able to successfully terminate the CWMP session.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 6 Part 1: Connection Request od128_test_6.1 OD-128 Test 6 Part 1: Connection Request


    7.2.1.1 Purpose

    Building upon the successful ability to exchange a basic CPE-initiated Inform message,
    this test examines the ability of the ACS to initiate interaction with the device by making
    a Connection Request.

    7.2.1.2 Procedure

    1. The ACS issues an HTTP GET to the ConnectionRequest URL specified by the
    CPE in the Inform message in Test 5 - CWMP Session Initiation.
    2. The CPE then initiates a CWMP session with the ACS by sending an Inform
    message.
    3. The ACS sends an InformResponse message to the CPE.
    4. When the conditions outlined in Section 3.1 of TR-069 have been met, the CPE
    successfully terminates the session with the ACS.

    7.2.1.3 Success Metric

    1. The ACS and CPE are able to successfully establish a CWMP session.
    2. The ACS and CPE are able to successfully terminate the CWMP session.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 6 Part 2: UDP Connection Request od128_test_6.2 OD-128 Test 6 Part 2: UDP Connection Request


    7.2.2.1 Purpose

    Building upon the successful ability to exchange a basic CPE-initiated Inform message,
    this test examines the ability of the ACS to initiate interaction with the device by making
    a Connection Request.

    7.2.2.2 Procedure

    1. The ACS issues a UDP HTTP GET (as specified in TR-111 Section 2.2.2.3) to
    the UDPConnectionRequestAddress (address and port) that the ACS will
    already have discovered (TR-111 Section 2.2.2.2).
    2. The CPE then initiates a CWMP session with the ACS by sending an Inform
    message.
    3. The ACS sends an InformResponse message to the CPE.
    4. When the conditions outlined in Section 3.1 of TR-069 have been met, the CPE
    successfully terminates the session with the ACS.

    7.2.1.3 Success Metric

    1. The ACS and CPE are able to successfully establish a CWMP session.
    2. The ACS and CPE are able to successfully terminate the CWMP session.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 7 Part 1: Get RPC Methods ACS to CPE od128_test_7.1 OD-128 Test 7 Part 1: Get RPC Methods ACS to CPE


    7.3.1.1 Purpose

    This test validates that the ACS is able to discover the RPC methods supported by the
    CPE.

    7.3.1.2 Procedure

    1. Initiate a transaction session between the ACS and CPE through a successful
    Inform exchange.
    2. The ACS issues the GetRPCMethods RPC.
    3. The CPE sends a GetRPCMethodsResponse message to the ACS.

    7.3.1.3 Success Metric

    1. The CPE is able to communicate its supported RPC methods to the ACS.
    2. The ACS is able to learn the CPE's supported RPC methods.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 7 Part 2: Get RPC Methods CPE to ACS od128_test_7.2 OD-128 Test 7 Part 2: Get RPC Methods CPE to ACS


    7.3.2.1 Purpose

    This test validates that the CPE is able to discover the RPC methods supported by the
    ACS.

    Note that CPE support for invoking GetRPCMethods on the ACS is optional. ACS ability
    to respond to the RPC is required.

    7.3.2.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The CPE issues the GetRPCMethods RPC.
      3. The ACS sends a GetRPCMethodsResponse message to the CPE.

    7.3.2.3 Success Metric

      1. The ACS is able to communicate its supported RPC methods to the CPE.
      2. The CPE is able to learn the supported RPC methods of the ACS.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 8 Part 1: Firmware Download No ACS specified Delay od128_test_8.1 OD-128 Test 8 Part 1: Firmware Download No ACS specified Delay


    7.4.1.1 Purpose

    The purpose of this test is to validate that a firmware download can be successfully
    executed when the ACS permits the download to take place in the current CWMP
    session.

    7.4.1.2 Procedure

       1. Initiate a transaction session between the ACS and CPE through a successful
          Inform exchange.
       2. The ACS issues the Download RPC, specifying values for the URL of the
          download server and no delay.
       3. The CPE performs the download.  It may:
          a. Perform and apply the download immediately during the current session
             and respond with a Status=0.
          b. Respond with a Status=1, which indicates that the download will be
             completed later.
       4. If the CPE responds with a status of 1, it may either finish the download during
          that same session or require a new CWMP session (either because it initiates a
          new connection to perform the upgrade or because it requires a reboot to fully
          apply the firmware upgrade).
       5. If the CPE is able to finish the download during the same CWMP session
          a. The CPE sends the TransferComplete RPC in the same session once the
             download has finished.
          b. The ACS sends a TransferCompleteResponse message to the CPE.
       6. If the CPE requires a new CWMP session in order to complete or report
          completion of the firmware download
          a. It terminates cleanly the existing session with the ACS.
          b. It downloads the firmware and reboots if required.
          c. It then establishes an HTTP session with the ACS.
          d. It sends an Inform message to the ACS with the '7 TRANSFER
             COMPLETE' event code.
          e. The ACS responds with an InformResponse message.
          f. The CPE sends a TransferComplete RPC.
          g. The ACS sends a TransferCompleteResponse message.
      7.  When the conditions outlined in Section 3.1 of TR-069 have been met, the CPE
          successfully terminates the session with the ACS.
      8.  Subsequent interrogation indicates that the CPE's firmware does indeed match the
          new, downloaded version.

    7.4.1.3 Success Metric

      1. The ACS is able to have the CPE download new firmware.
      2. The CPE is able to download and apply the new firmware.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 8 Part 2: Firmware Download ACS specified Delay od128_test_8.2 OD-128 Test 8 Part 2: Firmware Download ACS specified Delay


    7.4.2.1 Purpose

    The purpose of this test is to test the ability of the CPE to download firmware when not
    permitted to perform the download in the current CWMP session.

    7.4.2.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues the Download RPC, specifying values for the URL and a non-
         zero delay.
      3. The CPE responds with a status value of 1, indicating that the download has not
         yet been completed.
      4. The CPE waits for the indicated period of time.
      5. The CPE then initiates a new session for the purpose of performing the download.
      6. The CPE downloads and applies the firmware.  It may need to reboot in order to
         apply the firmware.
      7. After successful download and application of the file, the CPE initiates a new
         transaction session with the ACS in which the Inform contains the '7
         TRANSFER COMPLETE' event code.
      8. The CPE issues the TransferComplete method during that new session.
      9. The ACS responds with a TransferCompleteResponse message.
      10. When the conditions outlined in Section 3.1 of TR-069 have been met, the CPE
          successfully terminates the session with the ACS.
      11. Subsequent interrogation indicates that the CPE's firmware does indeed match the
          new, downloaded version.

    7.4.2.3 Success Metric

      1. The ACS successfully has the CPE download new firmware.
      2. The CPE successfully downloads and applies new firmware.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 8 Part 3: Firmware Download No ACS specified Delay - SSL od128_test_8.3 OD-128 Test 8 Part 3: Firmware Download No ACS specified Delay - SSL


    7.4.3.1 Purpose

    The purpose of this test is to validate that a firmware download can be successfully
    executed when the ACS permits the download to take place in the current CWMP session
    using SSL.

    7.4.3.2 Procedure

      1. Configure the CPE to enable SSL; if the ACS is acting as the fileserver, enable
         SSL on the ACS.
      2. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      3. The ACS issues the Download RPC, specifying HTTPS values for the URL of the
         download server and no delay.
      4. The CPE performs the download.  It may:
        a. Perform and apply the download immediately during the current session
           and respond with a Status=0.
        b. Respond with a Status=1, which indicates that the download will be
           completed later.
      5. If the CPE responds with a status of 1, it may either finish the download during
         that same session or require a new CWMP session (either because it initiates a
         new connection to perform the upgrade or because it requires a reboot to fully
         apply the firmware upgrade).
      6. If the CPE is able to finish the download during the same CWMP session
        c. The CPE sends the TransferComplete RPC in the same session once the
           download has finished.
        d. The ACS sends a TransferCompleteResponse message to the CPE.
      7. If the CPE requires a new CWMP session in order to complete or report
         completion of the firmware download
        e. It terminates cleanly the existing session with the ACS.
        f. It downloads the firmware and reboots if required.
        g. It then establishes an HTTP session with the ACS.
        h. It sends an Inform message to the ACS with the '7 TRANSFER
           COMPLETE' event code.
        i. The ACS responds with an InformResponse message.
        j. The CPE sends a TransferComplete RPC.
        k. The ACS sends a TransferCompleteResponse message.
        8. When the conditions outlined in Section 3.1 of TR-069 have been met, the CPE
           successfully terminates the session with the ACS.
        9. Subsequent interrogation indicates that the CPE's firmware does indeed match the
           new, downloaded version.

    7.4.3.3 Success Metric

      1. The ACS is able to have the CPE download new firmware over an encrypted link.
      2. The CPE is able to download and apply the new firmware over and encrypted
         link.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 8 Part 4: Firmware Download ACS specified Delay - SSL od128_test_8.4 OD-128 Test 8 Part 4: Firmware Download ACS specified Delay - SSL


    7.4.4.1 Purpose

    The purpose of this test is to test the ability of the CPE to download firmware over an
    encrypted link when not permitted to perform the download in the current CWMP
    session.

    7.4.4.2 Procedure

      1. Configure the CPE to enable SSL.
      2. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      3. The ACS issues the Download RPC, specifying HTTPS values for the URL and a
         non-zero delay.
      4. The CPE responds with a status value of 1, indicating that the download has not
         yet been completed.
      5. The CPE waits for the indicated period of time.
      6. The CPE then initiates a new session for the purpose of performing the download.
      7. The CPE downloads and applies the firmware.  It may need to reboot in order to
         apply the firmware.
      8. After successful download and application of the file, the CPE initiates a new
         transaction session with the ACS in which the Inform contains the '7
         TRANSFER COMPLETE' event code.
      9. The CPE issues the TransferComplete method during that new session.
      10. The ACS responds with a TransferCompleteResponse message.
      11. When the conditions outlined in Section 3.1 of TR-069 have been met, the CPE
          successfully terminates the session with the ACS.
      12. Subsequent interrogation indicates that the CPE's firmware does indeed match the
          new, downloaded version.

    7.4.4.3 Success Metric

      3. The ACS successfully has the CPE download new firmware over an encrypted
         link.
      4. The CPE successfully downloads and applies new firmware over an encrypted
         link.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 8 Part 5: Download Failure od128_test_8.5 OD-128 Test 8 Part 5: Download Failure


    7.4.5.1 Purpose

    The purpose of this test is to exercise CWMP behavior in the event that a downloaded
    firmware image is not a valid image. It should be noted that prior to testing, the ACS and
    CPE testers will need to negotiate a file type to use.

    7.4.5.2 Procedure

       1. Prepare a firmware upgrade file that is invalid for the CPE.
       2. Initiate a transaction session between the ACS and CPE through a successful
          Inform exchange.
       3. The ACS issues the Download RPC, specifying values for the URL of the
          download server and no delay.
       4. Follow steps 3 through 6 of 7.4.1.2. Allow the CPE to include an appropriate
          fault code in the TransferComplete RPC.
       5. When the conditions outlined in Section 3.1 of TR-069 have been met, the CPE
          successfully terminates the session with the ACS.

    7.4.5.3 Success Metric

      1. The CPE is able to send a fault code indicating an invalid firmware image.
      2. The ACS successfully handles the error.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 8 Part 6: Vendor Config File Download od128_test_8.6 OD-128 Test 8 Part 6: Vendor Config File Download


    7.4.6.1 Purpose

    The purpose of this test is to exercise the CWMP systems ability to perform a download
    on a vendor configuration file. It should be noted that prior to testing, the ACS and CPE
    testers will need to negotiate the file type to use.

    7.4.6.2 Procedure

       1. Initiate a transaction session between the ACS and CPE through a successful
          Inform exchange.
       2. The ACS issues the Download RPC, specifying values for the URL of the
          download server and no delay.
       3. Follow steps 3 through 6 of 7.4.1.2
       4. When the conditions outlined in Section 3.1 of TR-069 have been met, the CPE
          successfully terminates the session with the ACS.

    7.4.6.3 Success Metric

      1. The CPE is able to download the configuration file and convey its presence to the
         ACS
      2. The ACS successfully learns of the configuation file presence.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 8 Part 7: Download Across Reboot od128_test_8.7 OD-128 Test 8 Part 7: Download Across Reboot


    7.4.7.1 Purpose

    The purpose of this test is to exercise the CWMP systems ability to perform a firmware
    download when DelaySeconds >> 0 and  the CPE reboots before the download is
    attempted.

    7.4.7.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues the Download RPC, specifying values for the URL of the
         download server and a delay of greater than 3 minutes.
      3. Follow steps 3-4 of 7.4.2.2.
      4. While the CPE waits to initiate the download, physically reboot the CPE.

         (NOTE: CDRouter will issue a RebootRPC instead of requiring a physical reboot.)

      5. Interrogate the CPE after it has rebooted. The download will not have completed
         and the CPE firmware image remains the initial version.
      6. Follow steps 5 through 9 of 7.4.2.2.
      7. When the conditions outlined in Section 3.1 of TR-069 have been met, the CPE
         successfully terminates the session with the ACS.
      8. Subsequent interrogation indicates that the CPE's firmware does indeed match the
         new, downloaded version.

    7.4.7.3 Success Metric

      1. The ACS successfully has the CPE download new firmware.
      2. The CPE successfully downloads and applies new firmware.

    Note: If the LAN client is configured to use wireless there is an extra step to
          reconnect the LAN client to the wireless at the end of the test.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 9 Part 1: GetParameterNames - Complete Path od128_test_9.1 OD-128 Test 9 Part 1: GetParameterNames - Complete Path


    7.5.1.1 Purpose

    This purpose of this test is to validate the ability of the CPE to respond for a simple
    complete path request of a variable's name.

    7.5.1.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues a GetParameterNames RPC specifying the following complete
         path.

      IGD
      InternetGatewayDevice.DeviceInfo.Manufacturer

      Device
      Device.DeviceInfo.Manufacturer

      3. The CPE issues a GetParameterNamesResponse message containing the name
         requested by the ACS.

    7.5.1.3 Success Metric

      1. The CPE is able to communicate the requested parameter's name to the ACS.
      2. The ACS is able to receive the request parameter's name from the CPE.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 9 Part 2: GetParameterNames - Partial Path - Next Level True od128_test_9.2 OD-128 Test 9 Part 2: GetParameterNames - Partial Path - Next Level True


    7.5.2.1 Purpose

    This test validates the ability of the ACS to retrieve information about the next level of
    the CPE's data hierarchy using the GetParameterNames RPC.

    7.5.2.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues a GetParameterNames RPC specifying the following partial path
         and with the NextLevel Boolean argument set to True.

      IGD
      InternetGatewayDevice.DeviceInfo.

      Device
      Device.DeviceInfo.

      3. The ACS receives a GetParameterNamesResponse message from the CPE that
         contains the next level objects and parameters.

    7.5.2.3 Success Metric

      1. The CPE is able to communicate its next level data hierarchy to the ACS.
      2. The ACS is able to learn the device's next level data hierarchy.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 9 Part 3: GetParameterNames - Partial Path - Next Level False od128_test_9.3 OD-128 Test 9 Part 3: GetParameterNames - Partial Path - Next Level False


    7.5.3.1 Purpose

    This test validates the ability of the ACS to retrieve information about the CPE's data
    hierarchy at all levels using the GetParameterNames RPC.

    7.5.3.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.

      2. The ACS issues a GetParameterNames RPC specifying the following partial path
         and with the NextLevel Boolean argument set to False.

      IGD
      InternetGatewayDevice.Layer3Forwarding.

      VoIP
      InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.SIP.

      STB
      InternetGatewayDevice.Services.STBService.1.Capabilities.VideoDecoder.

      Device 2.x
      Device.Ethernet

      3. The CPE issues a GetParameterNamesResponse message containing the full path
         name of all parameters whose name begins with the string specified in the request.

    7.5.3.3 Success Metric

      1. The CPE is able to communicate its data hierarchy at all levels below the
         specified partial path.
      2. The ACS is able to learn about the data hierarchy at all levels below the specified
         partial path.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 9 Part 4: GetParameterNames - Invalid Path od128_test_9.4 OD-128 Test 9 Part 4: GetParameterNames - Invalid Path


    7.5.4.1 Purpose

    This test validates the ability for the CPE to identify an invalid path and for the ACS to
    handle the resulting error.

    7.5.4.2 Procedure

       1. Initiate a transaction session between the ACS and CPE through a successful
          Inform exchange.
       2. The ACS issues a GetParameterNames RPC specifying the following invalid
          complete path.

      IGD
      InvalidParameterPath

      Device
      InvalidParameterPath

      3. The CPE issues a GetParameterNamesResponse message containing a 9005
         (Invalid Parameter Name) fault code.
      4. The ACS may either issue another GetParameterValues RPC to the CPE with a
         correct parameter path specified, or may allow the CPE to terminate the session.

    7.5.4.3 Success Metric

      1. The CPE is able to communicate the fault information to the ACS.
      2. The ACS receives the fault and handles the error.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 9 Part 5: GetParameterNames - EntireObjectModel od128_test_9.5 OD-128 Test 9 Part 5: GetParameterNames - EntireObjectModel


    7.5.5.1 Purpose

    This test validates the ability of the ACS to retrieve information about the CPE's entire
    data hierarchy using the GetParameterNames RPC. Note that the 9004 (Resources
    Exceeded) fault is never returned by GetParameterNames.

    7.5.5.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues a GetParameterNames RPC specifying the root of the naming
         hierarchy and with the NextLevel Boolean argument set to False.

      IGD
      InternetGatewayDevice. or Device.

      VoIP
      InternetGatewayDevice. or Device.

      STB
      InternetGatewayDevice. or Device.

      3. The CPE issues a GetParameterNamesResponse message containing the full path
         name of all parameters in the CPE's data model.

    7.5.5.3 Success Metric

      1. The CPE is able to communicate its entire data hierarchy.
      2. The ACS is able to learn about the entire data hierarchy.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 10 Part 1: GetParameterValues - Simple Complete Path od128_test_10.1 OD-128 Test 10 Part 1: GetParameterValues - Simple Complete Path


    7.6.1.1 Purpose

    The purpose of this test is to verify that the CPE provides configuration information in
    response to a simple, complete path request.

    7.6.1.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues a GetParameterValues RPC to the CPE specifying the following
         complete path.

    IGD
    InternetGatewayDevice.ManagementServer.ConnectionRequestUsername

    VoIP
    InternetGatewayDevice.ManagementServer.ConnectionRequestUsername

    STB
    InternetGatewayDevice.ManagementServer.ConnectionRequestUsername

      3. The CPE responds with a GetParameterValues response message containing the
         name and value for the requested parameter.

    7.6.1.3 Success Metric

      1. The CPE is able to communicate the state of the requested variable
      2. The ACS is able learn the state of the request variable.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 10 Part 2: GetParameterValues - Multiple Complete Paths od128_test_10.2 OD-128 Test 10 Part 2: GetParameterValues - Multiple Complete Paths


    7.6.2.1 Purpose

    The purpose of this test is to validate that a CPE can successfully receive and respond to
    a request for the values of multiple variables from different places within the device
    hierarchy.

    7.6.2.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues a GetParameterValues RPC specifying the following complete
         paths to multiple variables from various branches of the device hierarchy to the
         CPE.

    IGD
    InternetGatewayDevice.DeviceInfo.SoftwareVersion
    InternetGatewayDevice.Layer3Forwarding.ForwardNumberOfEntries
    InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.ExternalIPAddress

    VoIP
    InternetGatewayDevice.DeviceInfo.SoftwareVersion
    InternetGatewayDevice.Services.VoiceService.1.VoiceProfileNumberOfEntries
    InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.Enable

    STB
    InternetGatewayDevice.DeviceInfo.SoftwareVersion
    InternetGatewayDevice.Services.STBService.1.Components.VideoOutputNumberOfEntries
    InternetGatewayDevice.Services.STBService.1.Components.VideoDecoder.1.Status

    Device 2.x
    Device.DeviceInfo.SoftwareVersion
    Device.Ethernet.Interface.1.MaxBitRate
    Device.ManagementServer.URL

      3. The CPE responds with a GetParameterValuesResponse message containing the
         ParameterList of names and their values.

    7.6.2.3 Success Metric

      1. The CPE is able to communicate its state as requested to the ACS
      2. The ACS is able to learn the requested CPE state.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 10 Part 3: GetParameterValues - Partial Path od128_test_10.3 OD-128 Test 10 Part 3: GetParameterValues - Partial Path


    7.6.3.1 Purpose

    The purpose of this test is to validate that the CPE can respond to a request for
    configuration that is made using a partial path name.

    7.6.3.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues a GetParameterValues RPC to the CPE specifying the following
         partial path.

    IGD
    InternetGatewayDevice.ManagementServer.

    VoIP
    InternetGatewayDevice.ManagementServer.

    STB
    InternetGatewayDevice.ManagementServer.

      3. The CPE sends a GetParameterValuesResponse message containing a list of all
         the parameters in the branch of the hierarchy with the same prefix as the argument
         along with their values, within the given device's resource limits.

    7.6.3.3 Success Metric

      1. The CPE is able to communicate its state as requested to the ACS.
      2. The ACS is able to learn the requested state of the CPE.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 10 Part 4: GetParameterValues - Complete and Partial Path od128_test_10.4 OD-128 Test 10 Part 4: GetParameterValues - Complete and Partial Path


    7.6.4.1 Purpose

    The purpose of this test is to validate that the CPE can respond to a request for
    configuration that is made using a mixture of complete and partial path names.

    7.6.4.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues a GetParameterValues RPC to the CPE specifying the following
         complete and partial paths.

    IGD
    InternetGatewayDevice.ManagementServer.URL
    InternetGatewayDevice.DeviceInfo.

    Device
    Device.ManagementServer.URL
    Device.DeviceInfo.

      3. The CPE sends a GetParameterValuesResponse message containing a list of all
         the requested parameters along with their values, within the given device's
         resource limits.

    7.6.4.3 Success Metric

      1. The CPE is able to communicate its state as requested to the ACS.
      2. The ACS is able to learn the requested state of the CPE.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 10 Part 5: GetParameterValues - Entire Object Model od128_test_10.5 OD-128 Test 10 Part 5: GetParameterValues - Entire Object Model


    7.6.5.1 Purpose

    The purpose of this test is to validate that both parties can handle a request that is likely
    to strain the resource capabilities of the device.  In this test the ACS issues a request for
    the entire object model, which is likely to result in a 9004 (Resources Exceeded) fault, or
    if the CPE can handle responding to the request, an extremely large message for the ACS
    to parse.

    7.6.5.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues a GetParameterValues RPC to the CPE specifying the following
         partial path.

    IGD
    InternetGatewayDevice.

    VoIP
    InternetGatewayDevice. or Device.

    STB
    InternetGatewayDevice. or Device.

      3. If the CPE is capable of responding with a ParameterList of its entire object
         model, it responds with a GetParameterValuesResponse message containing a list
         of all the requested parameters along with their values, within the given device's
         resource limits.
      4. If the CPE cannot respond with its entire object model,
         a. It issues a 9004 (Resources Exceeded) fault.
         b. The ACS may either issue another GetParameterValues RPC to the CPE
            with a smaller portion of the object model specified, or may allow the CPE
            to terminate the session.

    7.6.5.3 Success Metric

      1. The CPE either communicates its entire state to the ACS or it communicates its
         error condition.
      2. The ACS successfully learns the entire state of the device or handles the error.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 11 Part 1: SetParameterValues - Simple od128_test_11.1 OD-128 Test 11 Part 1: SetParameterValues - Simple


    7.7.1.1 Purpose

    The purpose of this test is to validate that the ACS can modify a single variable.

    7.7.1.2 Procedure

    The CPE may either be able to apply the requested changes immediately or it may need
    to reboot in order to apply the change.

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues a SetParameterValues RPC to the CPE setting the following
         parameter to any valid value that is different from its current value.

    IGD
    InternetGatewayDevice.ManagementServer.PeriodicInformEnable

    VoIP
    InternetGatewayDevice.ManagementServer.PeriodicInformEnable

    STB
    InternetGatewayDevice.ManagementServer.PeriodicInformEnable

      3. The CPE validates that it can change the value of the parameter as requested.
      4. If the CPE is able to apply the value change immediately, it responds with a
         SetParameterValuesResponse message in which Status=0 to the ACS.
      5. If the CPE requires a reboot or other action to apply the change
         a. It responds with a SetParameterValuesResponse message in which
            Status=1 to the ACS.
         b. It terminates the session with the ACS.
         c. It applies the changes and reboots if necessary.
         d. It then initiates an HTTP session and a CWMP session with the ACS by
            sending an Inform.
         e. The ACS sends an Inform response.
      6. When the CPE is later interrogated, the value of the variable reflects the new
         value specified in the SetParameterValues RPC.

    7.7.1.3 Success Metric

      1. The ACS is able to modify the state of the specified variable in the CPE.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 11 Part 2: SetParameterValues - Complex od128_test_11.2 OD-128 Test 11 Part 2: SetParameterValues - Complex


    7.7.2.1 Purpose

    The purpose of this test is to validate that the ACS can make configuration modifications
    to multiple parameters.

    7.7.2.2 Procedure

    As with the previous test, the CPE may either be able to apply the requested changes
    immediately or it may need to reboot in order to apply the change.

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues a SetParameterValues RPC to the CPE setting the following
         parameters to any valid values different from their current ones.

    IGD
    InternetGatewayDevice.ManagementServer.UpgradesManaged
    InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.DomainName
    InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.Name

    Device
    Device.ManagementServer.UpgradesManaged
    Device.DeviceInfo.ProvisioningCode
    Device.Ethernet.Interface.1.DuplexMode
    Device.IP.Interface.1.Enable

    VoIP
    InternetGatewayDevice.ManagementServer.UpgradesManaged
    InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Enable
    InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.SIP.URI

    STB
    InternetGatewayDevice.ManagementServer.UpgradesManaged
    InternetGatewayDevice.Services.STBService.1.AVPlayers.PreferredAudioLanguage
    InternetGatewayDevice.Services.STBService.1.PreferredSubtitlingLanguage

      3. The CPE validates that it can change the values of the parameters as requested
      4. If the CPE is able to apply the value changes immediately, it responds with a
         SetParameterValuesResponse message in which Status=0 to the ACS.
      5. If the CPE requires a reboot or other action to apply the changes
         a. It responds with a SetParameterValuesResponse message in which
            Status=1 to the ACS.
         b. It terminates the session with the ACS.
         c. It applies the changes and reboots if required.
         d. It then initiates an HTTP session and a CWMP session with the ACS by
            sending an Inform.
         e. The ACS sends an Inform response.
      6. When the CPE is later interrogated, the value of the variables reflects the new
         values specified in the SetParameterValues RPC.

    7.7.2.3 Success Metric

      1. The ACS is able to successfully modify the CPE's state.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 11 Part 3: SetParameterValues - Invalid od128_test_11.3 OD-128 Test 11 Part 3: SetParameterValues - Invalid


    7.7.3.1 Purpose

    The purpose of this test is to validate that the CPE can detect an invalid parameter
    modification request and that the ACS can handle the resulting fault response.

    7.7.3.2 Procedure

    As with the previous test, the CPE may either be able to apply the requested changes
    immediately or it may need to reboot in order to apply the change.

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues a SetParameterValues RPC to the CPE attempting to set the
         following non-writeable, non-primitive or non-existent parameters.

    IGD
    InternetGatewayDevice.DeviceInfo.Manufacturer
    InternetGatewayDevice.LANDevice.1.LANEthernetInterfaceConfig.1
    InternetGatewayDevice.WANDevice.1.NonExistent

    VoIP
    InternetGatewayDevice.DeviceInfo.Manufacturer
    InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1
    InternetGatewayDevice.Services.VoiceService.1.Capabilities.NonExistent

    STB
    InternetGatewayDevice.DeviceInfo.Manufacturer
    InternetGatewayDevice.Services.STBService.1.Capabilities
    InternetGatewayDevice.Services.STBService.1.Applications.NonExistent

      3. The CPE detects the invalid parameters and generates a fault response with a
         primary fault code of 9003 (Invalid Arguments) and an appropriate
         SetParameterValuesFault structure for each parameter that is in error.
      4. The ACS may either issue another SetParameterValues RPC to the CPE with
         correct parameters specified, or may allow the CPE to terminate the session.

    7.7.3.3 Success Metric

      1. The CPE is able to communicate the fault information to the ACS.
      2. The ACS receives the fault and handles the error.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 12 and 13: AddObject and DeleteObject od128_test_12.1 OD-128 Test 12 and 13: AddObject and DeleteObject


    7.8.1.1 Purpose

    The purpose of this test is to validate that the ACS can add new instances of multi-
    instance objects.  Note that for voice devices, although CWMP requires the ability to add
    objects, the creatable objects as defined in [5] may not be widespread in implementations.
    If this is the case, voice devices should skip this test.

    7.8.1.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues an AddObject command with the following path name.

    IGD
    InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.PortMapping.
    Device.NAT.PortMapping. (Device 2.x)

    VoIP
    InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.

    STB
    n/a

      3. The CPE validates that it can add the object as requested.
      4. If the CPE is able to create the object immediately, it does so and responds with
         an AddObjectResponse message with the instance number in which Status=0 to
         the ACS.
      5. If the CPE requires a reboot or other action to apply the changes
         a. It responds with an AddObjectRresponse message with the instance
            number of the new object in which Status=1 to the ACS.
         b. It terminates the session with the ACS.
         c. It creates the object and reboots if required.
         d. The CPE then initiates an HTTP session and a CWMP session with the
            ACS by sending an Inform.
         e. The ACS sends an Inform response.
      6. Later interrogation of the CPE indicates that the new object exists in the object
         model with the specified instance number and expected default values.

    7.8.1.3 Success Metric

      1. The CPE is able to successfully create a new object in its data hierarchy and
         communicate the new object's instance number to the ACS.
      2. The ACS is able to successfully learn the new instance number of the created
         object.

    7.9.1.1 Purpose

    The purpose of this test is to validate that the ACS can delete instances of multi-instance
    objects.  Note that for voice devices, although CWMP requires the ability to delete
    objects, the deletable objects as defined in [5] may not be widespread in implementations.
    If this is the case, voice devices should skip this test.

    7.9.1.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues a DeleteObject command to the CPE with the path of the object
         to be deleted.

      Note that this object can be the one created in the previous test, or it can be another
      object whose instance number is known by the ACS.

      3. The CPE validates that it can delete the object as requested.
      4. If the CPE is able to delete the object immediately, it does so and responds with a
         DeleteObjectResponse in which Status=0 to the ACS.
      5. If the CPE requires a reboot or other action to apply the changes
        a. It responds with a DeleteObjectResponse in which Status=1 to the ACS.
        b. It terminates the session with the ACS.
        c. It deletes the object and reboots if required
        d. It then initiates an HTTP session and a CWMP session with the ACS by
           sending an Inform.
        e. The ACS sends an Inform response.
      6. Later interrogation of the CPE indicates that the object no longer exists in the data
          hierarchy.

    7.9.1.3 Success Metric

      1. The ACS is able to successfully delete the requested object from the CPE's data
         hierarchy


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 14: Reboot od128_test_14.1 OD-128 Test 14: Reboot


    7.10.1.1 Purpose

    The purpose of this test is to verify that the ACS can reboot the CPE.

    7.10.1.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a
         successful Inform exchange.
      2. The ACS issues a Reboot RPC.
      3. The CPE responds with a RebootResponse message.
      4. The CPE reboots and then sends an Inform to the ACS with the 'M Reboot'
         event code and command key.

    7.10.1.3 Success Metric

      1. The CPE reboots.
      2. The CPE successfully initiates a post-reboot session with the ACS.

    Note: If a wireless LAN client is used during this test, the client will be
    disassociated before calling the Reboot RPC and restarted at the end of the
    test.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 15 Part 1: GetParameterAttributes - Simple Complete Path od128_test_15.1 OD-128 Test 15 Part 1: GetParameterAttributes - Simple Complete Path


    7.11.1.1 Purpose

    The purpose of this test is to validate that the ACS can retrieve the current value of a
    parameter's attributes.

    7.11.1.2 Procedure

       1. Initiate a transaction session between the ACS and CPE through a successful
          Inform exchange.
       2. The ACS issues a GetParameterAttributes RPC to the CPE.

    IGD
    InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.PortMappingNumberOfEntries

    or

    Device.NAT.PortMappingNumberOfEntries (Device 2.x)

    VoIP
    InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Enable

    STB
    InternetGatewayDevice.Services.STBService.1.AVStreams.ActiveAVStreams

      3. The CPE responds with a GetParameterAttributesResponse containing the
         parameter and the value of the Notification and AccessList attributes.

    7.11.1.3 Success Metric

      1. The CPE is able to communicate its variable attributes to the ACS.
      2. The ACS is able to learn the CPE's variable attributes.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 15 Part 2: GetParameterAttributes - Multiple Complete Path od128_test_15.2 OD-128 Test 15 Part 2: GetParameterAttributes - Multiple Complete Path


    7.11.2.1 Purpose

    The purpose of this test is to validate that the ACS can retrieve the current values of
    multiple parameters attributes.

    7.11.2.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues a GetParameterAttributes RPC to the CPE, specifying the
         following complete paths to multiple variables.

    IGD
    InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.TotalAssociations
    InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.PortMappingNumberOfEntries

    or

    Device.Ethernet.Interface.1.Enable (Device 2.x)
    Device.DeviceInfo.SoftwareVersion (Device 2.x)

    VoIP
    InternetGatewayDevice.VoiceService.1.VoiceProfile.1.Enable
    InternetGatewayDevice.VoiceService.1.VoiceProfile.1.Line.1.Enable

    STB
    InternetGatewayDevice.Services.STBService.1.AVStreams.ActiveAVStreams
    InternetGatewayDevice.Services.STBService.1.AVStreams.AVStreamNumberOfEntries

      3. The CPE responds with a GetParameterAttributesResponse containing the
         parameters and the values of their Notification and AccessList attributes.

    7.11.2.3 Success Metric

      1. The CPE is able to communicate its variable attributes to the ACS.
      2. The ACS is able to learn the CPE's variable attributes.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 15 Part 3: GetParameterAttributes - Partial Path od128_test_15.3 OD-128 Test 15 Part 3: GetParameterAttributes - Partial Path


    7.11.3.1 Purpose

    The purpose of this test is to validate that the ACS can retrieve the current values of the
    attributes of all parameters within the object identified by a partial path.

    7.11.3.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues a GetParameterAttributes RPC to the CPE, specifying the
         following partial path.

    IGD
    InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.

    or

    Device.Ethernet.Link.1. (Device 2.x)

    VoIP
    InternetGatewayDevice.VoiceService.1.VoiceProfile.1.Line.1.

    STB
    InternetGatewayDevice.Services.STBService.1.AVStreams.

      3. The CPE responds with a GetParameterAttributesResponse containing the
          parameters and the values of their Notification and AccessList attributes.

    7.11.3.3 Success Metric

      1. The CPE is able to communicate its variable attributes to the ACS.
      2. The ACS is able to learn the CPE's variable attributes.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 15 Part 4: GetParameterAttributes - Complete and Partial Path od128_test_15.4 OD-128 Test 15 Part 4: GetParameterAttributes - Complete and Partial Path


    7.11.4.1 Purpose

    The purpose of this test is to validate that the ACS can retrieve the current values of the
    attributes of a mixture of parameters specified via complete paths and of parameters
    within an object identified by a partial path.

    7.11.4.2  Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues a GetParameterAttributes RPC to the CPE, specifying the
         following complete and partial paths.

    IGD
    InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.TotalAssociations
    InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.

    or

    Device.Ethernet.Interface.1.Enable (Device 2.x)
    Device.Ethernet.Link.1. (Device 2.x)

    VoIP
    InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Enable
    InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.

    STB
    InternetGatewayDevice.Services.STBService.1.AVStreams.ActiveAVStreams
    InternetGatewayDevice.Services.STBService.1.Capabilities.VideoDecoder.

      3. The CPE responds with a GetParameterAttributesResponse containing the
         parameters and the values of their Notification and AccessList attributes.

    7.11.4.3  Success Metric

      1. The CPE is able to communicate its variable attributes to the ACS.
      2. The ACS is able to learn the CPE's variable attributes.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 16 Part 2: SetParameterAttributes - Passive Notifications - Complete Path od128_test_16.2 OD-128 Test 16 Part 2: SetParameterAttributes - Passive Notifications - Complete Path


    7.12.2.1    Purpose

    The purpose of this test is to validate that the ACS can modify Passive Notification
    related attributes on parameters.

    7.12.2.2    Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues a SetParameterAttributes RPC to enable passive notifications for
         a particular parameter.

    IGD
    InternetGatewayDevice.DeviceInfo.UpTime

    VoIP
    Device.DeviceInfo.UpTime

    STB
    Device.DeviceInfo.UpTime

      3. The CPE responds with a SetParameterAttributes response.
      4. Through some local mechanism the value of the parameter is changed on the
         CPE.
      5. Through some mechanism, the CPE is stimulated to initiate a session and send an
         Inform to the ACS with the parameter and its current value in the Inform
         Parameter List.
      6. The ACS sends an Inform response.

    7.12.2.3    Success Metric

      1. The ACS is able to enable Passive Notification on the requested variable.
      2. The CPE is able to communicate changes to the variable's state to the ACS.
      3. The ACS is able to learn the variable's state when it changes.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 16 Part 3: SetParameterAttributes - Passive Notifications - Partial Path od128_test_16.3 OD-128 Test 16 Part 3: SetParameterAttributes - Passive Notifications - Partial Path


    7.12.3.1    Purpose

    The purpose of this test is to validate that the ACS can modify Passive Notification
    related attributes on all parameters within the object identified by a partial path.

    7.12.3.2    Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues a SetParameterAttributes RPC to enable passive notifications for
         the following partial path.

    IGD
    InternetGatewayDevice.DeviceInfo.

    VoIP
    Device.DeviceInfo.

    STB
    Device.DeviceInfo.

      3. The CPE responds with a SetParameterAttributes response.
      4. Through some local mechanism the values of one or more parameters within the
         object identified by the partial path are changed on the CPE.
      5. Through some mechanism, the CPE is stimulated to initiate a session and send an
         Inform to the ACS with the modified parameters and their current values in the
         Inform Parameter List.
      6. The ACS sends an Inform response.

    7.12.3.3    Success Metric

      1. The ACS is able to enable Passive Notification on the requested object.
      2. The CPE is able to communicate changes to the object's state to the ACS.
      3. The ACS is able to learn the object's state when it changes.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 16 Part 4: SetParameterAttributes - Passive Notifications - Complete and Partial Path od128_test_16.4 OD-128 Test 16 Part 4: SetParameterAttributes - Passive Notifications - Complete and Partial Path


    7.12.4.1    Purpose

    The purpose of this test is to validate that the ACS can modify Passive Notification
    related attributes on parameters specified via complete paths and on parameters within
    the object identified by a partial path.

    7.12.4.2    Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues a SetParameterAttributes RPC to enable passive notifications for
         the following complete and partial paths.

    IGD
    InternetGatewayDevice.DeviceInfo.UpTime
    InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.PortMapping.

    or

    Device.DeviceInfo.UpTime (Device 2.x)
    Device.Ethernet.Link.1. (Device 2.x)

    VoIP
    InternetGatewayDevice.DeviceInfo.UpTime
    InternetGatewayDevice.VoiceService.1.VoiceProfile.1.Line.1.

    STB
    InternetGatewayDevice.DeviceInfo.UpTime
    InternetGatewayDevice.Services.STBService.1.AVStreams.

      3. The CPE responds with a SetParameterAttributes response.
      4. Through some local mechanism the values of one or more parameters within the
         variable and object identified by the complete and partial paths are changed on the
         CPE.
      5. Through some mechanism, the CPE is stimulated to initiate a session and send an
         Inform to the ACS with the modified parameters and their current values in the
         Inform Parameter List.
      6. The ACS sends an Inform response.

    7.12.4.3    Success Metric

      1. The ACS is able to enable Passive Notification on the requested parameter and
         object.
      2. The CPE is able to communicate changes to the parameter's and object's state to
         the ACS.
      3. The ACS is able to learn the parameter's and object's state when they change.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 16 Part 5: SetParameterAttributes - Disable Notification od128_test_16.5 OD-128 Test 16 Part 5: SetParameterAttributes - Disable Notification


    7.12.5.1    Purpose

    The purpose of this test is to validate that the ACS can disable Notifications on
    parameters.

    7.12.5.2    Procedure

      1. Through some mechanism, preferably by just having executed the previous
         Passive Notifications test, the CPE ensures that passive notifications are enabled
         for the parameter in the table below.
      2. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      3. The ACS issues a SetParameterAttributes RPC to disable notifications for a
         particular parameter.

    IGD
    InternetGatewayDevice.DeviceInfo.UpTime

    VoIP
    Device.DeviceInfo.UpTime

    STB
    Device.DeviceInfo.UpTime

      4. The CPE responds with a SetParameterAttributes response.
      5. Through some local mechanism the value of the parameter is changed on the
         CPE.
      6. Through some mechanism, the CPE is stimulated to initiate a session and send an
         Inform to the ACS. This Inform should not include this parameter and its current
         value in the Inform Parameter List.
      7. The ACS sends an Inform response.

    7.12.5.3    Success Metric

      1. The ACS is able to disable Passive Notification on the requested variable.
      2. The CPE does not communicate this variable's state, even though its value has
         changed, to the ACS when it next contacts it.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 17 Part 1: File Upload - No ACS specified Delay od128_test_17.1 OD-128 Test 17 Part 1: File Upload - No ACS specified Delay


    7.13.1.1 Purpose

    The purpose of this test is to validate that a file can be successfully upload
    when the ACS permits the upload to take place in the current CWMP session.

    7.13.1.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange.
      2. The ACS issues the Upload RPC, specifying values for the URL of the upload
         server and no delay.
      3. The CPE performs the upload.  It may:
         a. Perform and apply the upload immediately during the current session
            and respond with a Status=0.
         b. Respond with a Status=1, which indicates that the upload will be
            completed later.
      4. If the CPE responds with a status of 1, it may either finish the upload
         during that same session or require a new CWMP session.
      5. If the CPE is able to finish the upload during the same CWMP session
         a. The CPE sends the TransferComplete RPC in the same session once the
            upload has finished.
         b. The ACS sends a TransferCompleteResponse message to the CPE.
      6. If the CPE requires a new CWMP session in order to complete or report
         completion of the file upload
         a. It terminates cleanly the existing session with the ACS.
         b. It uploads the file.
         c. It then establishes an HTTP session with the ACS.
         d. It sends an Inform message to the ACS with the "7 TRANSFER COMPLETE" event code.
         e. The ACS responds with an InformResponse message.
         f. The CPE sends a TransferComplete RPC.
         g. The ACS sends a TransferCompleteResponse message.
      7. When the conditions outlined in Section 3.1 of TR-069 have been met, the
         CPE successfully terminates the session with the ACS.
      8. Subsequent interrogation of the file server indicates that the file has
         indeed been successfully uploaded.

    7.13.1.3 Success Metric
      1. The ACS is able to have the CPE upload the file.
      2. The CPE is able to upload the file to the file server.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 17 Part 2: File Upload - ACS specified Delay od128_test_17.2 OD-128 Test 17 Part 2: File Upload - ACS specified Delay


    7.13.2.1 Purpose

    The purpose of this test is to test the ability of the CPE to upload a file
    when not permitted to perform the upload in the current CWMP session.

    7.13.2.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a
         successful Inform exchange.
      2. The ACS issues the Upload RPC, specifying values for the URL and
         a non-zero delay.
      3. The CPE responds with a status value of 1, indicating that the
         upload has not yet been completed.
      4. The CPE waits for the indicated period of time.
      5. The CPE then initiates a new session for the purpose of performing
         the upload.
      6. The CPE uploads the file to the fileserver.
      7. After successful upload, the CPE initiates a new transaction session
         with the ACS in which the Inform contains the "7 TRANSFER COMPLETE"
         event code.
      8. The CPE issues the TransferComplete method during that new session.
      9. The ACS responds with a TransferCompleteResponse message.
      10. When the conditions outlined in Section 3.1 of TR-069 have been met,
          the CPE successfully terminates the session with the ACS.
      11. Subsequent interrogation of the file server indicates that the file
          has indeed been successfully uploaded.

    7.13.2.3Success Metric

      1. The ACS is able to have the CPE upload the file.
      2. The CPE is able to upload the file to the file server.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 17 Part 3: File Upload - No ACS specified Delay - SSL od128_test_17.3 OD-128 Test 17 Part 3: File Upload - No ACS specified Delay - SSL


    7.13.3.1 Purpose

    The purpose of this test is to validate that an upload can be successfully
    executed when the ACS permits the upload to take place in the current
    CWMP session using SSL.

    7.13.3.2 Procedure

      1. Configure the CPE to enable SSL; if the ACS is acting as the fileserver,
         enable SSL on the ACS.
      2. Initiate a transaction session between the ACS and CPE through a
         successful Inform exchange.
      3. The ACS issues the Upload RPC, specifying HTTPS values for the URL of
         the server to which to upload the file and no delay.
      4. The CPE performs the upload.  It may:
         a. Perform the upload immediately during the current session and
            respond with a Status=0.
         b. Respond with a Status=1, which indicates that the upload will be
            completed later.
      5. If the CPE responds with a status of 1, it may either finish the upload
         during that same session or require a new CWMP session.
      6. If the CPE is able to finish the upload during the same CWMP session
         a. The CPE sends the TransferComplete RPC in the same session once the
            upload has finished.
         b. The ACS sends a TransferCompleteResponse message to the CPE.
      7. If the CPE requires a new CWMP session in order to complete the upload
         a. It terminates cleanly the existing session with the ACS.
         b. It uploads the file.
         c. It then establishes an HTTP session with the ACS.
         d. It sends an Inform message to the ACS with the "7 TRANSFER COMPLETE"
            event code.
         e. The ACS responds with an InformResponse message.
         f. The CPE sends a TransferComplete RPC.
         g. The ACS sends a TransferCompleteResponse message.
      8. When the conditions outlined in Section 3.1 of TR-069 have been met,
         the CPE successfully terminates the session with the ACS.
      9. Subsequent interrogation of the file server indicates that the file has
         indeed been successfully uploaded.

    7.13.3.3 Success Metric

      1. The ACS is able to have the CPE upload the file over an encrypted link.
      2. The CPE is able to upload the file to the file server over an encrypted
         link.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 17 Part 4: File Upload - ACS specified Delay - SSL od128_test_17.4 OD-128 Test 17 Part 4: File Upload - ACS specified Delay - SSL


    7.13.4.1 Purpose

    The purpose of this test is to test the ability of the CPE to upload a file
    over an encrypted link when not permitted to perform the upload in the
    current CWMP session.

    7.13.4.2 Procedure

      1. Configure the CPE to enable SSL.
      2. Initiate a transaction session between the ACS and CPE through a
         successful Inform exchange.
      3. The ACS issues the Upload RPC, specifying HTTPS values for the URL
         and a non-zero delay.
      4. The CPE responds with a status value of 1, indicating that the
         upload has not yet been completed.
      5. The CPE waits for the indicated period of time.
      6. The CPE then initiates a new session for the purpose of performing the upload.
      7. The CPE uploads the file.
      8. After successful upload of the file, the CPE initiates a new transaction
         session with the ACS in which the Inform contains the "7 TRANSFER COMPLETE"
         event code.
      9. The CPE issues the TransferComplete method during that new session.
      10. The ACS responds with a TransferCompleteResponse message.
      11. When the conditions outlined in Section 3.1 of TR-069 have been met, the
          CPE successfully terminates the session with the ACS.
      12. Subsequent interrogation of the file server indicates that the file has
          indeed been successfully uploaded.

    7.13.4.3 Success Metric

      1. The ACS is able to have the CPE upload the file over an encrypted link.
      2. The CPE is able to upload the file to the file server over an encrypted link.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 18: Modify Port Mapping Table Entry od128_test_18.1 OD-128 Test 18: Modify Port Mapping Table Entry


    8.1.1.1     Purpose

    The purpose of this test is to validate that the ACS can find and modify the state of a
    particular port mapping entry.  Note that this test is IGD specific; voice devices should
    not attempt this test.

    This test assumes that there is at least one port mapping in the CPE's data model (and
    preferably a more fully populated port mapping table to better simulate a real world
    situation).

    The pre-existing port mapping should map TCP traffic on external port 80 to internal port
    80 (the same port) on a LAN PC, e.g. 192.168.1.1 (of course, the actual LAN PC address
    depends on the IGD's DHCP server configuration).

    The port mapping should be changed to refer to a different LAN IP address. This
    simulates the action that an ACS port mapping management application would have to
    take if a LAN host acquired a new IP address.

    8.1.1.2     Procedure

      1. The ACS and CPE initiate a transaction session.
      2. The ACS locates the port mapping of interest.
      3. The ACS takes the necessary steps to modify the port mapping of interest.
      4. The ACS and CPE successfully terminate the transaction session.

    8.1.1.3     Success Metric

      1. The ACS and CPE are able to initiate a transaction session.
      2. The ACS is able to locate the port mapping of interest in the CPE's data
         hierarchy.
      3. The ACS is able to modify the CPE's port mapping state.
      4. The CPE and ACS are able to conclude the transaction session successfully.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 19: Wireless Configuration od128_test_19.1 OD-128 Test 19: Wireless Configuration


    8.2.1.1     Purpose

    The purpose of this test is to validate that the ACS can configure the CPE's wireless
    connection. Note that this test is IGD specific; voice devices should not attempt this test.

    When this test is complete the device should be in the following state:
      1. Wireless interface is enabled.
      2. SSID = Plugfest.
      3. Device is operating in Infrastructure mode.
      4. Device is using Channel 11.
      5. WEP Encryption is enabled.
      6. The WEP key has been configured to a value specified by the ACS.

    8.2.1.2     Procedure

      1. The CPE and the ACS initiate a transaction session.
      2. The ACS modifies the CPE data model as required to put the CPE in the state
         specified above.
      3. The CPE and ACS successfully close the transaction session.

    8.2.1.3     Success Metric

      1. The ACS and CPE are able to initiate a transaction session.
      2. The ACS is able to change the configuration such that the device is in the new
         requested state.
      3. The CPE and ACS are able to terminate the transaction session successfully.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 20 and 21: WAN Connection Creation and Deletion od128_test_20.1 OD-128 Test 20 and 21: WAN Connection Creation and Deletion


    Test 20 WAN Connection Creation

    8.3.1.1     Purpose

    The purpose of this test is to verify that a complete WAN connection stack can be built
    up by the ACS. This test creates a WANConnectionDevice, WANIPConnection object and
    PortMapping entry via ACS. Note that this test is IGD specific; voice devices should
    not attempt this test.

    When this test is complete the device should have the following state:

      1. The device has an additional, enabled PVC with an EoA link type and VPI/VCI of 0/42
      2. The new PVC has one enabled, routed DHCP WAN connection across it.
      3. This new connection has NAT enabled.
      4. The new NAT table contains a port mapping entry.

    8.3.1.2     Procedure

      1. The CPE and ACS initiate a transaction session.
      2. The ACS adds objects to the CPE's data heirarchy and modifies device state such
         that the device is in the state described above.
      3. The CPE and ACS close the transaction session successfully.

    8.3.1.3     Success Metric

      1. The ACS and CPE are able to initiate a transaction session.
      2. The ACS is able to change the CPE's configuration such that it matches the state
         specified above.
      3. The CPE is able to terminate the session with the ACS.

    Test 21 WAN Connection Deletion

    8.4.1.1     Purpose

    The purpose of this test is to verify that the ACS can delete an entire WAN
    connection stack, including the WANConnectionDevice, the WANIPConnection and
    WANDSLLinkConfig objects, and any state associated with the connection.

    This test assumes that the CPE has configured a WANConnectionDevice with
    appropriate WANDSLLinkConfig and WANIPCOnnection objects. This connection is in
    addition to the one required for basic connectivity to the ACS. If the CPE does hot have
    an additional WANConnectionDevice, it can create once using the procedure
    outlined in 8.3 Test 19 - WAN Connection Creation.

    8.4.1.2     Procedure

      1. The CPE and ACS initiate a transaction session.
      2. The ACS located the WAN Connection of interest.
      3. The ACS takes the necessary steps to delete the secondary WAN Connection.
      4. The CPE and the ACS terminate the transaction session successfully.

    8.4.1.3     Success Metric

      1. The ACS and CPE are able to initiate a transaction session.
      2. The ACS is able to locate a WAN Connection of interst in the CPE's data
         hierarchy.
      3. The ACS is able to modify the CPE's state such that it no longer has a secondary
         WAN connection.
      4. The CPE and ACS are able to terminate the transaction session successfully.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 22: VoIP SIP Endpoint Configuration od128_test_22.1 OD-128 Test 22: VoIP SIP Endpoint Configuration


    8.5.1.1     Purpose

    The purpose of this test is to validate that the ACS can configure parameters for the CPE
    to provision a line and initiate a SIP Register message. Note that this test is Voice device
    specific; IGDs should not attempt this test.

    When this test is complete the device should be in the following state:
      1. The proxy server's IP address equals that of the ACS, its port is equal to 5060,
         and its transport is UDP.
      2. The SIP Registration server, the user agent domain, and the SIP outbound proxy
         are empty.
      3. The user agent port is equal to 5060 and the user agent transport is UDP.
      4. The SIP registration period is 65 seconds.
      5. The voice line is enabled and
        a. The SIP username is test and the password is "password"
        b. The SIP user agent's URI is "user@<IP-address-of-ACS>"

        NOTE: QA Cafe has made a few small changes to steps 5a and 5b above. For
        step 5a a unique username is generated to ensure that old credentials
        are not used by the DUT. In addition, the URI in step 5b has also been
        modified to include the scheme identifier and omit the domain. As a
        result, the URI that is configured by the ACS is "sip:unique_user". The
        CPE should automatically append an "@" character and its IP address to
        this URI value according to TR-104.

    8.5.1.2     Procedure

      1. The ACS and CPE initiate a transaction session.
      2. The ACS locates variables of interest in the CPE's data heirarchy
      3. The ACS modifies the CPE's state such that it matches the device state described
         above.
      4. The ACS and CPE successfully terminate the transaction session.

    8.5.1.3     Success Metric

      1. The ACS and CPE are able to initiate a transaction session.
      2. The ACS is able to locate the object of interest in the CPE's data hierarchy.
      3. The ACS is able to change the configuration such that the device is in the state
         specified above.
      4. The CPE and ACS are able to terminate the transaction session successfully.
      5. A SIP register message is sent by the CPE (this can be verified using Ethereal,
         or equivalent; noSIP proxy server is needed).


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 23 Part 1: IP Ping Test od128_test_23.1 OD-128 Test 23 Part 1: IP Ping Test


    8.6.1.1     Purpose

    The purpose of this test is to validate that the ACS can configure parameters for the CPE
    to initiate an IP Ping test, request that the test be performed, and collect the results.
    When this test is complete the device should have the following values in Internet-
    GatewayDevice.IPPingDiagnostics:

      1. DiagnosticState = Complete.
      2. Interface is in the proper format to represent the correct WANIPConnection
         pointer.
      3. Host is the IP address of the Router or the ACS (from the test environment).
      4. NumberOfRepetitions = 2
      5. Timeout = 17000
      6. DataBlockSize = 42
      7. DSCP = 0
      8. Other parameters are equal to the reported values of these parameters.

    8.6.1.2     Procedure

      1. The ACS and CPE initiate a transaction session.
      2. The ACS modifies the CPE state such that it matches the device state described
         above.
      3. The CPE executes the IPPing diagnostic test.
      4. The ACS reads the results of the diagnostic test.
      5. The ACS and CPE successfully terminate the transaction session.

    8.6.1.3     Success Metric

      1. The ACS and CPE are able to initiate a transaction session when requested by the
         ACS.
      2. The ACS is able to locate the object of interest in the CPE's data hierarchy.
      3. The ACS is able to change the configuration such that the device is in the new
         requested state specified above and initiate a diagnostic test.
      4. The CPE is able to execute a diagnostic test of sending two ICMP ping messages.
      5. The CPE is able to communicate the results of the ping test to the ACS.
      6. The CPE and ACS are able to terminate the transaction session successfully.

    If the CPE does not support DSCP configuration, the testvar acsSupportsDSCP may be
    set to no. In this case, the CDRouter ACS will not attempt to configure the DSCP
    parameter when configuring the Ping session.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 23 Part 2: DSL Diagnostic Test od128_test_23.2 OD-128 Test 23 Part 2: DSL Diagnostic Test


    8.6.2.1     Purpose

    The purpose of this test is to validate that the ACS can configure parameters for the CPE
    to initiate an DSL Diagnostic test, request that the test be performed, and collect the
    results.

    When this test is complete. yje device informs the ACS by sending the Inform message
    and the ACS is able to retrieve the diagnostic results.

    This test should be run only on those CPE that indicate support of DSLDiagnostics
    Profile.

    At the end of the tests, the device has the following values in
    InternetGatewayDevice.WANDevice.{i}.WANDSLDiagnostics:

      1. DiagnosticState = Complete.
      2. ACTPSDds has an appropriate value as calculated for the Downstream actual
         power spectral density.
      3. ACTPSDus has an appropriate value as calculated for the Upstream actual power
         spectral density.
      4. ACTATPds has an appropriate value as calculated for the Downstream actual
         aggregate transmitter power.
      5. ACTATPus has an appropriate value as calculated for the Upstream actual aggregate
         transmitter power.
      6. HLINSCds has an appropriate value as calculated for the Downstream linear
         representation scale.
      7. HLINSCup has an appropriate value as calculated for the Upstream linear
         representation scale.
      8. QLNpsds has an appropriate value as calculated for the Downstream linear channel
         characteristics per subcarrier, as a Comma-separated list of integers. Each
         successive pair of integers represents the real and imaginary parts of each
         complex value. Maximum number of complex pairs is 256 for ADSL and
         ADSL2, 512 for ADSL2+.
      9. SNRpsds has an appropriate value as calculated for the Downstream SNR per
         subcarrier, as a Comma-separated list of integers. Maximum number of elements
         is 256 for ADSL and ADSL2, 512 for ADSL2+.
      10. BITSpsds has an appropriate value as calculated for the Downstream bit allocation
          per subcarrier, as a Comma-separated list of integers. Maximum number of elements
          is 256 for ADSL and ADSL2, 512 for ADSL2+.
      11. GAINpsds has an appropriate value as calculated for the Downstream gain
          allocation per subcarrier, as a Comma-separated list of integers. Maximum
          number of elements is 256 for ADSL and ADSL2, 512 for ADSL2+.

    8.6.2.2     Procedure

      1. The ACS and CPE initiate a transaction session.
      2. The ACS sends the set the
         InternetGatewayDevice.WANDevice.{i}.WANDSLDiagnostics.DiagnosticState
         = Requested. The CPE sets this parameters and returns the status = 1 to ACS.
      3. The CPE terminates the transaction session with ACS and executes the tests
         automatically. CPE may be required to change to DELT mode to execute the test
         and return to normal model once it is done.
      4. Once the test is complete. the CPE again initiates the session with ACS and
         includes the event "8 DIAGNOSTICS COMPLETE".
      5. The ACS reads the results of the diagnostic test using GetParameterValues RPC.
      6. The ACS and CPE successfully terminate the transaction session after ACS is
         done.

    8.6.2.3     Success Metric

      1. The ACS and CPE are able to initiate a transaction session when requested by the
         ACS.
      2. The ACS is able to locate the object of interest in the CPE's data hierarchy,
         change the appropriate parameter.
      3. CPE is able to execute the required test and inform ACS about the result. In case
         the CPE is not able to execute the test, it is able to inform the ACS of its
         Diagnostics State indiciating the error condition.

    NOTE:

    By default, CDRouter will allow 600 seconds (10 minutes) for the DSL Diagnostic
    test to complete. This value can be configured using the testvar
    dslDiagnosticTestDuration.

    testvar dslDiagnosticTestDuration 600


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 24: Gateway / Device Association od128_test_24.1 OD-128 Test 24: Gateway / Device Association


    8.7.1.1 Purpose

    The purpose of this test is to validate that the information exchanged by a CPE and IGD
    in Test 3 - DHCP Vendor Option Test is correctly made available in the CPE's
    GatewayInfo object and the IGD's ManageableDevice table, and that the changes are
    correctly notified to the ACS. Note that this test is TR-111 specific.

    8.7.1.2 Procedure

      1. The CPE and IGD ensure (probably via some local interface) that neither is
         aware of the other's existence (this may result in notifications to the ACS).
      2. The CPE and the IGD engage in a DHCP exchange in which each learns the identity
         of the other and adds this identity to their data model, posting notifications
         to the ACS as appropriate.
      3. The ACS learns from the CPE of its new IGD, and from the IGD of its new CPE.
      4. The ACS reads the Gateway Identity from the CPE, and the Device Identity from
         the IGD, and validates that they match.

    8.7.1.3 Success Metric

      1. The IGD is able to to learn the identity of the CPE.
      2. The CPE is able to learn the identity of the IGD.
      3. The ACS is able to learn and validate the identities of the CPE and IGD.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 25: Multiple Session Test od128_test_25.1 OD-128 Test 25: Multiple Session Test


    8.8.1.1     Purpose

    The purpose of this test is to validate that the CPE and ACS can perform a series of TR-
    069 operations over multiple sessions.  It was observed during the first TR-069 Plugfest
    that it was common for CPE vendors to reboot their devices prior to each test case.
    Rebooting the CPE clears substantial state and thus represents an unrealistic test case.

    This test will repeat several of the TR-069 Protocol Tests using a periodic inform interval
    on the CPE.  If the CPE minimum periodic inform interval is too long for purposes of
    interoperability testing time allotted, the ACS may initiate a connection request to initiate
    each session.

    This test should be performed only for CPE that are capable of completing Test 5, Test 9
    and Test 10 without rebooting.

    8.8.1.2     Procedure

      1. Configure the CPE to use its minimum periodic inform interval.
      2. Repeat Test 5 - CWMP Session Initiation using any supported client/server
         authentication mechanism.
      3. Wait for next periodic inform, or have ACS initiate Connection Request.
      4. Repeat Test 9 - Get Parameter Names without rebooting the CPE.
      5. Wait for next periodic inform, or have ACS initiate Connection Request.
      6. Repeat Test 10 - Get Parameter Values without rebooting the CPE.

    8.8.1.3     Success Metric

      1. The CPE and ACS are able to successfully establish and terminate CWMP
         sessions with each other.
      2. The CPE and ACS are able to complete each test case (Test 5, Test 9, and Test
         10).


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 26: Session Persistence Test od128_test_26.1 OD-128 Test 26: Session Persistence Test


    8.9.1.1     Purpose

    The purpose of this test is to show that the ACS and CPE system can maintain a
    persistent session across multiple TCP connections.

    8.9.1.2     Procedure

      1. Initiate a transaction session between the ACS and CPE through a successful
         Inform exchange
      2. The CPE sends an empty post or a CWMP request to the ACS.
      3. The ACS terminates the TCP connection through the use of the HTTP
         Connection:close header.
      4. The ACS and CPE establish a new TCP connection.
      5. The ACS and CPE successfully continue the CWMP session on the new TCP
         connection.
      6. When the conditions outlined in Section 3.1 of TR-069 have been met, the CPE
         successfully terminates the session with the ACS.

    8.9.1.3     Success Metric

      1. The ACS and CPE are able to maintain a persistent session across multiple TCP
         connections.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 27 Part 1: Session Retry Tests - HTTP Error od128_test_27.1 OD-128 Test 27 Part 1: Session Retry Tests - HTTP Error


    8.10.1.1    Purpose

    The purpose of this test is to show that the ACS and CPE can recover from an HTTP
    error during a CWMP session.

    8.10.1.2    Procedure

      1. The ACS and CPE successfully initiate a transaction session.
      2. The CPE sends an empty post or a CWMP request to the ACS.
      3. The ACS responds with an HTTP error, e.g. 400 (Bad Request).
      4. The CPE terminates the session unsuccessfully.
      5. The CPE retries the session in accordance with the session retry policy.
      6. The ACS and CPE successfully initiate a transaction session.
      7. When the conditions outlined in Section 3.1 of TR-069 have been met, the CPE
         successfully terminates the session with the ACS.

    8.10.1.3    Success Metric

      1. The ACS and CPE successfully handle the HTTP error condition.
      2. The CPE and ACS are able to successfully establish and terminate a subsequent
         CWMP session.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 27 Part 2: Session Retry Tests - CWMP Fault During Session Initiation od128_test_27.2 OD-128 Test 27 Part 2: Session Retry Tests - CWMP Fault During Session Initiation


    8.10.2.1    Purpose

    The purpose of this test is to show that the ACS and CPE can handle a CWMP fault
    during CWMP session initiation (this is a special case).

    8.10.2.2    Procedure

      1. The CPE initiates a CWMP session with the ACS by sending an Inform message.
      2. The ACS responds with a CWMP fault other than 8005 (Retry Request), e.g. 8001
         (Request Denied).
      3. The CPE terminates the session unsuccessfully.
      4. The CPE retries the session in accordance with the session retry policy.
      5. The ACS and CPE successfully initiate a transaction session.
      6. When the conditions outlined in Section 3.1 of TR-069 have been met, the CPE
         successfully terminates the session with the ACS.

    8.10.2.3    Success Metric

      1. The ACS and CPE successfully handle the CWMP fault during session initiation.
      2. The CPE and ACS are able to successfully establish and terminate a subsequent
         CWMP session.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 28 Part 1: Device Profile Tests od128_test_28.1 OD-128 Test 28 Part 1: Device Profile Tests


    8.11.1.1 Purpose

    The purpose of this test is to validate that the CPE can announce, via the top-level
    DeviceSummary parameter, which device profiles and profile versions it supports, and
    that the ACS can successfully parse the value of the DeviceSummary parameter.

    8.11.1.2 Procedure

      1. The ACS and CPE initiate a transaction session.
      2. The ACS extracts the value of the DeviceSummary parameter from the Inform
         message.
      3. The ACS parses the value of the DeviceSummary parameter.

    8.11.1.3 Success Metric

       1. The CPE is able to announce its top-level capabilities via the DeviceSummary
          parameter.
       2. The ACS is able to read and parse the CPE's top-level capabilities as announced
          via its DeviceSummary parameter.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 35 Part 1: Change DU State - Install without Execution Environment Reference od128_test_35.1 OD-128 Test 35 Part 1: Change DU State - Install without Execution Environment Reference


    10.1.1.1 Purpose

    The purpose of this test is to validate that a Deployment Unit can be successfully
    installed when the ACS only specifies the UUID and URL.  In this test case, the ACS
    relies upon the CPE to determine which Execution Environment the Deployment Unit
    should be installed on.

    10.1.1.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a
         successful Inform exchange.
      2. The ACS issues the ChangeDUState RPC with a single Install operation
         that specifies values for the UUID and URL.
      3. The CPE responds, indicating that the request is accepted and that
         the Install will be attempted after the CWMP Session has completed.
      4. When the conditions outlined in Section 3.1 of TR-069 have been met,
         the CPE successfully terminates the session with the ACS.
      5. The CPE then initiates a new session to the file server contained
         within the URL for the purpose of retrieving the Deployment Unit.
      6. The CPE retrieves and installs the Deployment Unit, determining for
         itself which Execution Environment to use.
      7. After successful retrieval and installation of the Deployment Unit,
         the CPE initiates a new CWMP session with the ACS in which the
         Inform contains the “11 DU STATE CHANGE COMPLETE” event code.
      8. The CPE issues the DUStateChangeComplete message during that new session.
      9. The ACS responds with a DUStateChangeCompleteResponse message.
      10. When the conditions outlined in Section 3.1 of TR-069 have been met,
          the CPE successfully terminates the session with the ACS.
      11. Subsequent interrogation indicates that the CPE’s
         .SoftwareModules.DeploymentUnit.{i} table does indeed include a new
         Deployment Unit that has the same UUID and URL specified within the
         Install operation of the ChangeDUState RPC.

    10.1.1.3 Success Metric

      1. The ACS is able to have the CPE retrieve and install a new Deployment Unit.
      2. The CPE is able to retrieve and install the new Deployment Unit.

    NOTE: The path to the DeploymentUnit file and related UUID can be specified
    using:

    testvar tr69DUInstallImage /home/lab/du.img
    testvar tr69DUInstallUUID 12-23-34-23
    testvar tr69DUChangeTimeout 600


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 35 Part 2: Change DU State - Install with Execution Environment Reference od128_test_35.2 OD-128 Test 35 Part 2: Change DU State - Install with Execution Environment Reference


    10.1.2.1 Purpose

    The purpose of this test is to validate that a Deployment Unit can be
    successfully installed when the ACS specifies the UUID, URL, and Execution
    Environment Reference. In this test case, the ACS tells the CPE which
    Execution Environment the Deployment Unit should be installed on.

    10.1.2.2 Procedure

    1.  Initiate a transaction session between the ACS and CPE through a
        successful Inform exchange.
    2.  The ACS issues the ChangeDUState RPC with a single Install operation that
        specifies values for the UUID, URL, and an Execution Environment Reference
        for an Execution Environment that exists in the data model and is appropriate
        for the type of Deployment Unit being installed.
    3.  The CPE responds, indicating that the request is accepted and that the Install
        will be attempted after the CWMP Session has completed.
    4.  When the conditions outlined in Section 3.1 of TR-069 have been met, the CPE
        successfully terminates the session with the ACS.
    5.  The CPE then initiates a new session to the file server contained within the
        URL for the purpose of retrieving the Deployment Unit.
    6.  The CPE retrieves and installs the Deployment Unit, using the Execution Environment
        that was included in the ChangeDUState RPC.
    7.  After successful retrieval and installation of the Deployment Unit, the CPE initiates
        a new CWMP session with the ACS in which the Inform contains the “11 APP ACTION COMPLETE”
        event code.
    8.  The CPE issues the DUStateChangeComplete message during that new session.
    9.  The ACS responds with a DUStateChangeCompleteResponse message.
    10. When the conditions outlined in Section 3.1 of TR-069 have been met, the CPE successfully
        terminates the session with the ACS.
    11. Subsequent interrogation indicates that the CPE’s .SoftwareModules.DeploymentUnit.{i} table
        does indeed include a new Deployment Unit that has the same UUID and URL specified within
        the Install operation of the ChangeDUState RPC.

    10.1.2.3 Success Metric

    1. The ACS is able to have the CPE retrieve and install a new Deployment Unit.
    2. The CPE is able to retrieve and install the new Deployment Unit.

    NOTE: The path to the DeploymentUnit file and related UUID can be specified
    using:

    testvar tr69DUInstallImage /home/lab/du.img
    testvar tr69DUInstallUUID 12-23-34-23
    testvar tr69DUChangeTimeout 600
    testvar tr69DUChangeExecEnvRef openwrt


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 35 Part 3: Change DU State - Update with only UUID od128_test_35.3 OD-128 Test 35 Part 3: Change DU State - Update with only UUID


    10.1.3.1 Purpose

    The purpose of this test is to validate that a Deployment Unit can be
    successfully updated when the ACS only specifies the UUID. In this
    test case, the ACS relies upon the CPE to discover the URL that was
    used to install the Deployment Unit identified by the supplied UUID and
    update it with the Deployment Unit found at the discovered URL
    (the URL may have been altered by a previous Update operation, like in
     Test 10.1.5).

    10.1.3.2 Procedure

    1.  Initiate a transaction session between the ACS and CPE through a successful
        Inform exchange.
    2.  The ACS issues the ChangeDUState RPC with a single Update operation that
        specifies a value for the UUID.
    3.  The CPE responds, indicating that the request is accepted and that the Update
        will be attempted after the CWMP Session has completed.
    4.  When the conditions outlined in Section 3.1 of TR-069 have been met, the CPE
        successfully terminates the session with the ACS.
    5.  The CPE finds the Deployment Unit by searching on the UUID provided in the Update
        operation and then discovers the URL used at installation (or last update, see Test 10.1.5).
    6.  The CPE then initiates a new session to the file server contained within the
        discovered URL for the purpose of retrieving the Deployment Unit.
    7.  The CPE retrieves the Deployment Unit and applies the updates to the existing
        Deployment Unit.
    8.  After successful retrieval and application of the Deployment Unit updates, the CPE
        initiates a new CWMP session with the ACS in which the Inform contains the
        “11 APP ACTION COMPLETE” event code.
    9.  The CPE issues the DUStateChangeComplete message during that new session.
    10. The ACS responds with a DUStateChangeCompleteResponse message.
    11. When the conditions outlined in Section 3.1 of TR-069 have been met, the CPE successfully
        terminates the session with the ACS.
    12. Subsequent interrogation indicates that the CPE’s .SoftwareModules.DeploymentUnit.{i}
        table does indeed include an updated Deployment Unit that has the same UUID as specified
        within the Update operation of the ChangeDUState RPC.

    10.1.3.3 Success Metric

    1. The ACS is able to have the CPE retrieve and update an existing Deployment Unit.
    2. The CPE is able to retrieve the Deployment Unit and apply the updates to the
       existing Deployment Unit.

    NOTE: The UUID of the DU can be specified using:

    testvar tr69DUInstallUUID 12-23-34-23

    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 35 Part 4: Change DU State - Update with only URL od128_test_35.4 OD-128 Test 35 Part 4: Change DU State - Update with only URL


    10.1.4.1 Purpose

    The purpose of this test is to validate that a Deployment Unit can be
    successfully updated when the ACS only specifies the URL. In this
    test case, the ACS relies upon the CPE to discover the Deployment Unit
    that last used the URL for an installation and then update it with the
    Deployment Unit found at the specified URL (the URL may have been
    altered by a previous Update operation, like in Test 10.1.5).

    10.1.4.2 Procedure

    1.  Initiate a transaction session between the ACS and CPE through a
        successful Inform exchange.
    2.  The ACS issues the ChangeDUState RPC with a single Update operation
        that specifies a value for the URL.
    3.  The CPE responds, indicating that the request is accepted and that
        the Update will be attempted after the CWMP Session has completed.
    4.  When the conditions outlined in Section 3.1 of TR-069 have been met,
        the CPE successfully terminates the session with the ACS.
    5.  The CPE identifies the Deployment Unit by searching for one that has
        used the specified URL during its last update or installation.
    6.  The CPE then initiates a new session to the file server contained within
        the URL for the purpose of retrieving the Deployment Unit.
    7.  The CPE retrieves the Deployment Unit and applies the updates to the
        existing Deployment Unit.
    8.  After successful retrieval and application of the Deployment Unit updates,
        the CPE initiates a new CWMP session with the ACS in which the Inform contains
        the “11 APP ACTION COMPLETE” event code.
    9.  The CPE issues the DUStateChangeComplete message during that new session.
    10. The ACS responds with a DUStateChangeCompleteResponse message.
    11. When the conditions outlined in Section 3.1 of TR-069 have been met, the
        CPE successfully terminates the session with the ACS.
    12. Subsequent interrogation indicates that the CPE’s .SoftwareModules.DeploymentUnit.{i}
        table does indeed include an updated Deployment Unit that has the same URL as specified
        within the Update operation of the ChangeDUState RPC.

    10.1.4.3 Success Metrics

    1. The ACS is able to have the CPE retrieve and update an existing Deployment Unit.
    2. The CPE is able to retrieve the Deployment Unit and apply the updates to the
       existing Deployment Unit.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 35 Part 5: Change DU State - Update with UUID and URL od128_test_35.5 OD-128 Test 35 Part 5: Change DU State - Update with UUID and URL


    10.1.5.1 Purpose

    The purpose of this test is to validate that a Deployment Unit can be successfully
    updated when the ACS specifies both a UUID and a URL. In this test case, the ACS
    is instructing the CPE to identify the Deployment Unit to be updated by the
    specified UUID and then to retrieve the update from the specified URL. In the
    process of updating the Deployment Unit he CPE should also update the URL field that
    is associated with that Deployment Unit.

    10.1.5.2 Procedure

    1.  Initiate a transaction session between the ACS and CPE through a successful
        Inform exchange.
    2.  The ACS issues the ChangeDUState RPC with a single Update operation that
        specifies values for the UUID and URL.
    3.  The CPE responds, indicating that the request is accepted and that the Update
        will be attempted after the CWMP Session has completed.
    4.  When the conditions outlined in Section 3.1 of TR-069 have been met, the CPE
        successfully terminates the session with the ACS.
    5.  The CPE finds the Deployment Unit by searching on the UUID provided in the Update.
    6.  The CPE then initiates a new session to the file server contained within the
        URL for the purpose of retrieving the Deployment Unit.
    7.  The CPE retrieves the Deployment Unit and applies the updates to the existing
        Deployment Unit.
    8.  The CPE updates the URL of the updated Deployment Unit to the one specified within
        the Update operation of the ChangeDUState RPC.
    9.  After successful retrieval and application of the Deployment Unit updates, the CPE
        initiates a new CWMP session with the ACS in which the Inform contains the
        “11 APP ACTION COMPLETE” event code.
    10. The CPE issues the DUStateChangeComplete message during that new session.
    11. The ACS responds with a DUStateChangeCompleteResponse message.
    12. When the conditions outlined in Section 3.1 of TR-069 have been met, the CPE
        successfully terminates the session with the ACS.
    13. Subsequent interrogation indicates that the CPE’s .SoftwareModules.DeploymentUnit.{i}
        table does indeed include an updated Deployment Unit that has the same UUID as specified
        within the Update operation of the ChangeDUState RPC.

    10.1.5.3 Success Metric

    1. The ACS is able to have the CPE retrieve and update an existing Deployment Unit.
    2. The CPE is able to retrieve the Deployment Unit, apply the updates to the
       existing Deployment Unit, and update the Deployment Unit’s URL.

    NOTE: The UUID of the DU can be specified using:

    testvar tr69DUInstallUUID 12-23-34-23


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
OD-128 Test 35 Part 6: Change DU State - Uninstall od128_test_35.6 OD-128 Test 35 Part 6: Change DU State - Uninstall


    10.1.6.1 Purpose

    The purpose of this test is to validate that a Deployment Unit can be
    successfully uninstalled.

    10.1.6.2 Procedure

      1. Initiate a transaction session between the ACS and CPE through a
         successful Inform exchange.
      2. The ACS issues the ChangeDUState RPC with a single Uninstall
         operation that specifies a value for the UUID.
      3. The CPE responds, indicating that the request is accepted
         and that the Uninstall will be attempted after the CWMP Session has completed.
      4. When the conditions outlined in Section 3.1 of TR-069 have been
         met, the CPE successfully terminates the session with the ACS.
      5. After the uninstall of the Deployment Unit succeeds, the CPE
         initiates a new CWMP session with the ACS in which the Inform
         contains the “11 DU STATE CHANGE COMPLETE” event code. (NOTE: The
         timing on the removal of the resources is implementation specific
         and should happen before the Inform, but could happen after the
         Inform)
      6. The CPE issues the DUStateChangeComplete message during that
         new session.
      7. The ACS responds with a DUStateChangeCompleteResponse message.
      8. When the conditions outlined in Section 3.1 of TR-069 have
         been met, the CPE successfully terminates the session with the ACS.
      9. Subsequent interrogation indicates that the CPE’s
         .SoftwareModules.DeploymentUnit.{i} table does indeed not include
         the uninstalled Deployment Unit.  (NOTE: The timing on the removal
         of the resources is implementation specific and should happen before
         this step, but if it has not happened before this step then the
         Deployment Unit must have a Status parameter with a value of
         “Uninstalled”)

    10.1.6.3 Success Metric

      1. The ACS is able to have the CPE uninstall an existing Deployment Unit.
      2. The CPE is able to uninstall and remove an existing Deployment Unit.

    NOTE: The UUID of the DU can be specified using:

    testvar tr69DUInstallUUID 12-23-34-23

    This test will attempt to unistall the DU that is installed during test
    case od128_test_35.1


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"

tr69.tcl

Additional TR-069 testing of the CPE device (beyond OD-128)

Test Name Synopsis
Verify Inform contains required parameters tr69_1 Verify Inform contains required parameters


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Wait for new Inform from CPE
    step 3. Verify Inform contains required parameters
    step 4. For IGD 1.x, verify ExternalIPAddress of the default WAN interface
            is correct.

    Note that this test verifies the Inform requirements for CWMP 1.0 as
    defined in Broadband Forum TR-069 for IGD 1.x devices. The required
    Inform parameters for CWMP 1.1, defined in TR-069 Amendment 2, have
    been moved to TR-098 Amendment 2 Section 2.4.1. CWMP 1.1 specifies
    one additional required parameter as compared to CWMP 1.0
    InternetGatewayDevice.DeviceSummary.

    For newer IGD devices using the Device 2.0 data model, the required
    parameters are defined in TR-181 issue 2's data model with the forceInform
    attribute set to yes.

    NOTE: IGD devices based on 2.x are not required to include a WAN IP
    address.


    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html

    BBF CWMP Data Model Device:1.14 Root Data Model "TR-181 Issue 1 Amendment 7"

    https://cwmp-data-models.broadband-forum.org/tr-181-1-7-0.html

    BBF CWMP Data Model Device:2.14 Root Data Model "TR-181 Issue 2 Amendment 14 Corrigendum 1"

    https://cwmp-data-models.broadband-forum.org/tr-181-2-14-1-cwmp.html
Test Name Synopsis
Verify GetParameterValues using empty string for top of hierarchy tr69_10 Verify GetParameterValues using empty string for top of hierarchy


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Send GetParameterValues RPC using empty string
    step 3. Verify GetParameterValuesResponse or 9004 Soap Fault


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.3.2.2: GetParameterValues

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify GetParameterNames using empty string for top of hierarchy tr69_11 Verify GetParameterNames using empty string for top of hierarchy


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Send GetParameterNames RPC using empty string
    step 3. Verify GetParameterNamesResponse


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.3.2.3: GetParameterNames

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify GetParameterAttributes using empty string for top of hierarchy tr69_12 Verify GetParameterAttributes using empty string for top of hierarchy


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Send GetParameterAttributes RPC using empty string
    step 3. Verify GetParameterAttributesResponses or 9004 Soap Fault


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.3.2.5: GetParameterAttributes

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify GetParameterNames using empty string for top of hierarchy and NextLevel true tr69_13 Verify GetParameterNames using empty string for top of hierarchy and NextLevel true


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Send GetParameterNames RPC using empty string and nextLevel equal
            true
    step 3. Verify GetParameterNamesResponse returns the root object for the
            data model ending with a dot (either 'InternetGatewayDevice.' or
            'Device.').

    NOTE: A GetParameterNames with an empty string indicates the top of the
    name hierarchy. A GetParameterNames with a NextLevel value of true should
    return the root device or InternetGatewayDevice.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.3.2.3: GetParameterNames

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify ParameterKey is updated after a successful AddObject tr69_20 Verify ParameterKey is updated after a successful AddObject


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Send AddObject for new portmapping with ParameterKey value
    step 3. Verify AddObjectResponse is received
    step 4. Send GetParameterValues to read ParameterKey value
    step 5. Verify ParameterKey has new value
    step 6. Delete the port mapping using DeleteObject


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.3.2.6: AddObject

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify ParameterKey is updated after a successful DeleteObject tr69_21 Verify ParameterKey is updated after a successful DeleteObject


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Add new portmapping using AddObject
    step 3. Send DeleteObject for new portmapping with ParameterKey value
    step 4. Verify DeleteObjectResponse is received
    step 5. Send GetParameterValues to read ParameterKey value
    step 6. Verify ParameterKey has new value


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.3.2.7: DeleteObject

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify ParameterKey is updated after a successful SetParameterValues tr69_22 Verify ParameterKey is updated after a successful SetParameterValues


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Send SetParameterValues on InternetGatewayDevice.ManagementServer.UpgradesManaged
            and use new value for ParameterKey
    step 3. Verify SetParameterValuesResponse
    step 4. Send GetParameterValues to read ParameterKey value
    step 5. Verify ParameterKey has new value


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.3.2.1: SetParameterValues

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify ParameterKey is not updated after a failed AddObject tr69_23 Verify ParameterKey is not updated after a failed AddObject


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Send GetParameterValues to read ParameterKey value
    step 3. Send AddObject with bad instance and new ParameterKey value
    step 4. Verify AddObject fails with SOAP Fault
    step 5. Send GetParameterValues to read ParameterKey value
    step 6. Verify ParameterKey has not changed


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.3.2.6: AddObject

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify ParameterKey is not updated after a failed DeleteObject tr69_24 Verify ParameterKey is not updated after a failed DeleteObject


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Send GetParameterValues to read ParameterKey value
    step 3. Send DeleteObject with bad instance and new ParameterKey value
    step 4. Verify DeleteObject fails with SOAP Fault
    step 5. Send GetParameterValues to read ParameterKey value
    step 6. Verify ParameterKey has not changed


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.3.2.7: DeleteObject

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify ParameterKey is not updated after a failed SetParameterValues tr69_25 Verify ParameterKey is not updated after a failed SetParameterValues


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Send GetParameterValues to read ParameterKey value
    step 3. Send SetParameterValues on InternetGatewayDevice.ManagementServer.NoSuchPath
            and use new value for ParameterKey
    step 4. Verify SetParameterValues fails with SOAP Fault
    step 5. Send GetParameterValues to read ParameterKey value
    step 6. Verify ParameterKey has not changes


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.3.2.1: SetParameterValues

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify error code is returned for every failed parameter in SetParameterValues tr69_26 Verify error code is returned for every failed parameter in SetParameterValues


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Send a SetParameterValues on ManagementServer.NoSuchPath1,
            ManagementServer.NoSuchPath2 and PeriodicInformInterval
    step 3. Verify SetParameterValues fails with SOAP Fault
    step 4. Verify there is an error code for both invalid parameters

    Note: The testvar tr69MinPeriodicInform can be used to configure the value
    of the PeriodicInformInterval that is used for this test. This testvar
    should be set to a value supported by the DUT.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.3.2.1: SetParameterValues

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CPE returns the correct fault codes tr69_27 Verify CPE returns the correct fault codes


    Step 1. Send a SetParameterValues to the CPE using invalid arguments
    Step 2. Verify the CPE responds with a 9003 FaultCode
    Step 3. Send a SetParameterValues to the CPE using an invalid parameter type
    Step 4. Verify the CPE responds with a 9006 FaultCode
    Step 5. Send a SetParameterValues to the CPE with an invalid value
    Step 6. Verify the CPE responds with a 9007 FaultCode
    Step 7. Send a SetParameterValues to the CPE writing to a read-only
            parameter
    Step 8. Verify the CPE responds with a 9008 FaultCode


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.5.1: CPE Fault Codes

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CPE connection requests are accepted from IP address other than ACS tr69_30 Verify CPE connection requests are accepted from IP address other than ACS


    step 1. Create a new IP host on the WAN side
    step 2. Initiate a new CWMP connection using Connection Request URL from the
            new host
    step 3. Verify the ACS receives a CONNECTION REQUEST event

    The CPE MUST accept Connection Request notifications coming from a source
    other than the ACS itself, provided the entity issuing the Connection Request
    has the correct authentication parameters for the target CPE.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.2.2: ACS Connection Initiation

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CPE follows 302 redirects to new ACS server tr69_31 Verify CPE follows 302 redirects to new ACS server


    step 1. Initiate a new CWMP connection using Connection Request URL from the
            new host
    step 2. Issue a 302 HTTP response and redirect to a new ACS server
    step 3. Verify the CPE establishes a new CWMP session with the new server

    NOTE: A CPE MUST support 302 (Found) and 307 (Temporary Redirect) HTTP response
    codes, which an ACS MAY use for redirection of a CPE. If the CPE is redirected
    in this way, the redirected address MUST apply only to the current session.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.4.2: Sessions

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CPE follows 307 redirects to new ACS server tr69_32 Verify CPE follows 307 redirects to new ACS server


    step 1. Initiate a new CWMP connection using Connection Request URL from the
            new host
    step 2. Issue a 307 HTTP response and redirect to a new ACS server
    step 3. Verify the CPE establishes a new CWMP session with the new server

    NOTE: A CPE MUST support 302 (Found) and 307 (Temporary Redirect) HTTP response
    codes, which an ACS MAY use for redirection of a CPE. If the CPE is redirected
    in this way, the redirected address MUST apply only to the current session.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.4.2: Sessions

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CPE follows multiple 302 redirects to ACS server tr69_33 Verify CPE follows multiple 302 redirects to ACS server


    step 1. Initiate a new CWMP connection using Connection Request URL from the
            new host
    step 2. Issue a 302 HTTP response and redirect to a new ACS server
    step 3. Configure new ACS server to issue a 302 redirect to the original
            server
    step 4. Verify the CPE establishes a new CWMP session with the original
            server

    NOTE: A CPE MUST support 302 (Found) and 307 (Temporary Redirect) HTTP
    response codes, which an ACS MAY use for redirection of a CPE. If the CPE is
    redirected in this way, the redirected address MUST apply only to the
    current session.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.4.2: Sessions

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CPE follows multiple 307 redirects to ACS server tr69_34 Verify CPE follows multiple 307 redirects to ACS server


    step 1. Initiate a new CWMP connection using Connection Request URL from the
            new host
    step 2. Issue a 307 HTTP response and redirect to a new ACS server
    step 3. Configure new ACS server to issue a 307 redirect to the original
            server
    step 4. Verify the CPE establishes a new CWMP session with the new server

    NOTE: A CPE MUST support 302 (Found) and 307 (Temporary Redirect) HTTP
    response codes, which an ACS MAY use for redirection of a CPE. If the CPE is
    redirected in this way, the redirected address MUST apply only to the
    current session.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.4.2: Sessions

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CPE follows 302 redirects to new ACS server with a specified port number tr69_35 Verify CPE follows 302 redirects to new ACS server with a specified port number


    step 1. Initiate a new CWMP connection using Connection Request URL from the
            new host
    step 2. Issue a 302 HTTP response and redirect to a new ACS server on port 7547
    step 3. Verify the CPE establishes a new CWMP session with the new server

    NOTE: A CPE MUST support 302 (Found) and 307 (Temporary Redirect) HTTP response
    codes, which an ACS MAY use for redirection of a CPE. If the CPE is redirected
    in this way, the redirected address MUST apply only to the current session.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.4.2: Sessions

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CPE follows 307 redirects to new ACS server with a specified port number tr69_36 Verify CPE follows 307 redirects to new ACS server with a specified port number


    step 1. Initiate a new CWMP connection using Connection Request URL from the
            new host
    step 2. Issue a 307 HTTP response and redirect to a new ACS server at port 7547
    step 3. Verify the CPE establishes a new CWMP session with the new server

    NOTE: A CPE MUST support 302 (Found) and 307 (Temporary Redirect) HTTP response
    codes, which an ACS MAY use for redirection of a CPE. If the CPE is redirected
    in this way, the redirected address MUST apply only to the current session.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.4.2: Sessions

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CWMP session can be redirected from HTTP to HTTPS using 302 tr69_37 Verify CWMP session can be redirected from HTTP to HTTPS using 302


    step 1. Initiate a new CWMP connection using Connection Request URL from the
            new host
    step 2. Issue a 302 HTTP response and redirect to a new ACS server with a HTTPS URL
    step 3. Verify the CPE establishes a new CWMP session with the new server

    NOTE: A CPE MUST support 302 (Found) and 307 (Temporary Redirect) HTTP response
    codes, which an ACS MAY use for redirection of a CPE. If the CPE is redirected
    in this way, the redirected address MUST apply only to the current session.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.4.2: Sessions

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CWMP session can be redirected from HTTP to HTTPS using 307 tr69_38 Verify CWMP session can be redirected from HTTP to HTTPS using 307


    step 1. Initiate a new CWMP connection using Connection Request URL from the 
            new host
    step 2. Issue a 307 HTTP response and redirect to a new ACS server with a HTTPS URL
    step 3. Verify the CPE establishes a new CWMP session with the new server

    NOTE: A CPE MUST support 302 (Found) and 307 (Temporary Redirect) HTTP response
    codes, which an ACS MAY use for redirection of a CPE. If the CPE is redirected
    in this way, the redirected address MUST apply only to the current session.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.4.2: Sessions

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CWMP session cookies when no Path option used in Set-Cookie or Set-Cookie2 tr69_40 Verify CWMP session cookies when no Path option used in Set-Cookie or Set-Cookie2


    step 1. Turn off the setting of the Path for any Set-Cookie or Set-Cookie2
    step 2. Run test OD128 Test 1 Part 3

    NOTE: This is a repeat of OD-128 Test case 1 part 3 to verify cookies when
    no 'Path' option is used in the Set-Cookie or Set-Cookie2. The Path
    parameter is not required in a Set-Cookie or Set-Cookie2, but some
    implementations have trouble if the HTTP server does not explicitly set the
    Path.


    References:

    Broadband Forum OD-128 "Test Plan for TR-069 Plugfests, Rev 4"
Test Name Synopsis
Verify CPE follows 301 redirects to new ACS server tr69_41 Verify CPE follows 301 redirects to new ACS server


    step 1. Initiate a new CWMP connection using Connection Request URL from the
            new host
    step 2. Issue a 301 HTTP response and redirect to a new ACS server
    step 3. Verify the CPE establishes a new CWMP session with the new server

    NOTE: A CPE MUST support 302 (Found) and 307 (Temporary Redirect) HTTP response
    codes, which an ACS MAY use for redirection of a CPE. If the CPE is redirected
    in this way, the redirected address MUST apply only to the current session.
    A CPE MAY also support the 301 (Moved Permanently) HTTP status
    code for redirection.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.4.2: Sessions

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CPE follows multiple 301 redirects to ACS server tr69_42 Verify CPE follows multiple 301 redirects to ACS server


    step 1. Initiate a new CWMP connection using Connection Request URL from the
            new host
    step 2. Issue a 301 HTTP response and redirect to a new ACS server
    step 3. Configure new ACS server to issue a 301 redirect to the original
            server
    step 4. Verify the CPE establishes a new CWMP session with the new server

    NOTE: A CPE MUST support 302 (Found) and 307 (Temporary Redirect) HTTP response
    codes, which an ACS MAY use for redirection of a CPE. If the CPE is redirected
    in this way, the redirected address MUST apply only to the current session.
    A CPE MAY also support the 301 (Moved Permanently) HTTP status
    code for redirection.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.4.2: Sessions

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CPE follows 301 redirects to new ACS server with a specified port number tr69_43 Verify CPE follows 301 redirects to new ACS server with a specified port number


    step 1. Initiate a new CWMP connection using Connection Request URL from the
            new host
    step 2. Issue a 301 HTTP response and redirect to a new ACS server at port 7547
    step 3. Verify the CPE establishes a new CWMP session with the new server

    NOTE: A CPE MUST support 302 (Found) and 307 (Temporary Redirect) HTTP response
    codes, which an ACS MAY use for redirection of a CPE. If the CPE is redirected
    in this way, the redirected address MUST apply only to the current session.
    A CPE MAY also support the 301 (Moved Permanently) HTTP status
    code for redirection.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.4.2: Sessions

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CWMP session can be redirected from HTTP to HTTPS using 301 tr69_44 Verify CWMP session can be redirected from HTTP to HTTPS using 301


    step 1. Initiate a new CWMP connection using Connection Request URL from the new host
    step 2. Issue a 301 HTTP response and redirect to a new ACS server with a HTTPS URL
    step 3. Verify the CPE establishes a new CWMP session with the new server

    NOTE: A CPE MUST support 302 (Found) and 307 (Temporary Redirect) HTTP response
    codes, which an ACS MAY use for redirection of a CPE. If the CPE is redirected
    in this way, the redirected address MUST apply only to the current session.
    A CPE MAY also support the 301 (Moved Permanently) HTTP status
    code for redirection.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.4.2: Sessions

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify add/delete dynamic TR-069 TCP port mapping for wildcard IP src address tr69_50 Verify add/delete dynamic TR-069 TCP port mapping for wildcard IP src address


    step 1. Create new TCP port mapping on default WAN interface using wildcard
            for remoteHost
    step 2. Verify inbound TCP connection can be created from WAN using port
            mapping
    step 3. Create a 2nd inbound TCP connection from the WAN to verify port
            mapping
    step 4. Delete the port mapping using DeleteObject
    step 5. Verify TCP traffic from WAN can no longer use the port mapping

    NOTE: The following testvars can be used to configure the amount of time to
    wait before verifying whether a change made to the port mapping has actually
    taken effect:

    tr69PortMapCreationDelay (default: 0 seconds)
    tr69PortMapDeletionDelay (default: 15 seconds)


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify add/delete dynamic TR-069 TCP port mapping for specific IP src address tr69_51 Verify add/delete dynamic TR-069 TCP port mapping for specific IP src address


    step 1. Create a new WAN endpoint using an IP from the free network range
    step 2. Create new TCP port mapping on the default WAN interface using the
            specific IP address of the new host created in step 1 for the
            remoteHost parameter in the port mapping entry
    step 3. Verify that the port mapping created in step 2 works by initiating
            an inbound TCP connection to the configured port
    step 4. Verify that inbound TCP connections from other hosts are not
            allowed if they try to use the port mapping configured in step 2
    step 5. Delete the port mapping using the DeleteObject RPC
    step 6. Verify that the port mapping is no longer active by initiating an
            inbound TCP connection to the configured port

    NOTE: The following testvars can be used to configure the amount of time to
    wait before verifying whether a change made to the port mapping has actually
    taken effect:

    tr69PortMapCreationDelay (default: 0 seconds)
    tr69PortMapDeletionDelay (default: 15 seconds)


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify dynamic TR-069 TCP port mapping is disabled by default tr69_52 Verify dynamic TR-069 TCP port mapping is disabled by default


    step 1. Create new TCP port mapping using wildcard
    step 2. When configuring the port mapping, do not configure
            PortMappingEnabled field
    step 3. Verify the port mapping is not operational
    step 4. Configure the PortMappingEnabled field to true
    step 5. Verify the port mapping is now operational
    step 6. Delete the port mapping using DeleteObject

    NOTE: The following testvars can be used to configure the amount of time to
    wait before verifying whether a change made to the port mapping has actually
    taken effect:

    tr69PortMapCreationDelay (default: 0 seconds)


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify dynamic TR-069 TCP port mapping stops working after disabled tr69_53 Verify dynamic TR-069 TCP port mapping stops working after disabled


    step 1. Create new TCP port mapping on default WAN interface using wildcard
            for remoteHost
    step 2. Verify inbound TCP connection can be created from WAN using port
            mapping
    step 3. Configure PortMappingEnabled to false to disable port mapping
    step 4. Verify TCP traffic from WAN can no longer use the port mapping
    step 5. Delete the port mapping using DeleteObject

    NOTE: The following testvars can be used to configure the amount of time to
    wait before verifying whether a change made to the port mapping has actually
    taken effect:

    tr69PortMapCreationDelay (default: 0 seconds)
    tr69PortMapDisableDelay (default: 15 seconds)


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify dynamic TR-069 TCP port mapping is removed after lease duration expires tr69_54 Verify dynamic TR-069 TCP port mapping is removed after lease duration expires


    step 1. Create new TCP port mapping on default WAN interface with a non-zero
            lease duration
    step 2. Verify inbound TCP connection can be created from WAN using port
            mapping
    step 3. Query the lease duration parameter to verify value is counting down
            to expiration
    step 4. Query the associated PortMapping entry after lease duration expires
            to verify entry has been automatically deleted
    step 5. Verify TCP traffic from WAN can no longer use the port mapping

    NOTE: Support for port mappings with a non-zero lease duration is optional.
    This test does not apply to CPE devices that do not support dynamic port
    mappings and should be skipped.

    Note: The following testvars can be used to configure the amount of time to
    wait before verifying whether a change made to the port mapping has actually
    taken effect:

    tr69PortMapCreationDelay (default: 0 seconds)
    tr69PortMapDeletionDelay (default: 15 seconds)


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify add/delete dynamic TR-069 UDP port mapping for wildcard IP src address tr69_60 Verify add/delete dynamic TR-069 UDP port mapping for wildcard IP src address


    step 1. Create new UDP port mapping on default WAN interface using wildcard
            for remoteHost
    step 2. Verify inbound UDP connection can be created from WAN using port
            mapping
    step 3. Create a 2nd inbound UDP connection from the WAN to verify por
            mapping
    step 4. Delete the port mapping using DeleteObject
    step 5. Verify UDP traffic from WAN can no longer use the port mapping

    NOTE: The following testvars can be used to configure the amount of time to
    wait before verifying whether a change made to the port mapping has actually
    taken effect:

    tr69PortMapCreationDelay (default: 0 seconds)
    tr69PortMapDeletionDelay (default: 15 seconds)


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify add/delete dynamic TR-069 UDP port mapping for specific IP src address tr69_61 Verify add/delete dynamic TR-069 UDP port mapping for specific IP src address


    step 1. Create a new WAN endpoint using an IP from the free network range
    step 2. Create new UDP port mapping on the default WAN interface using the
            specific IP address of the new host created in step 1 for the
            remoteHost parameter in the port mapping entry
    step 3. Verify that the port mapping created in step 2 works by initiating
            an inbound UDP connection to the configured port
    step 4. Verify that inbound UDP connections from other hosts are not
            allowed if they try to use the port mapping configured in step 2
    step 5. Delete the port mapping using the DeleteObject RPC
    step 6. Verify that the port mapping is no longer active by initiating an
            inbound UDP connection to the configured port

    NOTE: The following testvars can be used to configure the amount of time to
    wait before verifying whether a change made to the port mapping has actually
    taken effect:

    tr69PortMapCreationDelay (default: 0 seconds)
    tr69PortMapDeletionDelay (default: 15 seconds)


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify dynamic TR-069 UDP port mapping is disabled by default tr69_62 Verify dynamic TR-069 UDP port mapping is disabled by default


    step 1. Create new UDP port mapping using wildcard
    step 2. When configuring the port mapping, do not configure
            PortMappingEnabled field
    step 3. Verify the port mapping is not operational
    step 4. Configure the PortMappingEnabled field to true
    step 5. Verify the port mapping is now operational
    step 6. Delete the port mapping using DeleteObject

    NOTE: The following testvars can be used to configure the amount of time to
    wait before verifying whether a change made to the port mapping has actually
    taken effect:

    tr69PortMapCreationDelay (default: 0 seconds)


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify dynamic TR-069 UDP port mapping stops working after disabled tr69_63 Verify dynamic TR-069 UDP port mapping stops working after disabled


    step 1. Create new UDP port mapping on default WAN interface using wildcard
            for remoteHost
    step 2. Verify inbound UDP connection can be created from WAN using port
            mapping
    step 3. Configure PortMappingEnabled to false to disable port mapping
    step 4. Verify UDP traffic from WAN can no longer use the port mapping
    step 5. Delete the port mapping using DeleteObject

    NOTE: The following testvars can be used to configure the amount of time to
    wait before verifying whether a change made to the port mapping has actually
    taken effect:

    tr69PortMapCreationDelay (default: 0 seconds)
    tr69PortMapDisableDelay (default: 15 seconds)


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify dynamic TR-069 UDP port mapping is removed after lease duration expires tr69_64 Verify dynamic TR-069 UDP port mapping is removed after lease duration expires


    step 1. Create new UDP port mapping on default WAN interface with a lease
            duration of 120 seconds
    step 2. Verify inbound UDP connection can be created from WAN using port
            mapping
    step 3. Query the lease duration parameter after 60 seconds to verify value
            shows the remaining time of the port mapping
    step 4  Query the associated PortMapping entry after 120 seconds to verify
            the entry has been automatically deleted
    step 5. Verify UDP traffic from WAN can no longer use the port mapping

    NOTE: Support for port mappings with a non-zero lease duration is optional.
    This test does not apply to CPE devices that do not support dynamic  port
    mappings and should be skipped.

    Note: The following testvars can be used to configure the amount of time to
    wait before verifying whether a change made to the port mapping has actually
    taken effect:

    tr69PortMapCreationDelay (default: 0 seconds)
    tr69PortMapDeletionDelay (default: 15 seconds)


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CPE supports largest size ManagementServer Username and Password tr69_80 Verify CPE supports largest size ManagementServer Username and Password


    step 1. Start a new CWMP session
    step 2. Set the ManagementServer Username and Password to the maximum size
            string (256) using a SetParameterValues RPC
    step 3. End CWMP session
    step 4. Initiate a new CPE Connection Request
    step 5. Verify the new Username and Password are working
    step 6. Repeat the process to switch back to the original Username and
            Password

    NOTE: TR-069 defines the maximum size username and password to be 256
    characters. If your implementation supports a shorter length, you may
    configure the maximum size using:

    testvar tr69MaxUserNameLen 64
    testvar tr69MaxPasswordLen 64


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CPE supports largest size ConnectionRequest Username and Password tr69_81 Verify CPE supports largest size ConnectionRequest Username and Password


    step 1. Start a new CWMP session
    step 2. Set the ConnectionRequestUsername and Password to the maximum size
            string (256) using a SetParameterValues RPC
    step 3. End CWMP session
    step 4. Initiate a new CPE Connection Request
    step 5. Verify the new Username and Password are working
    step 6. Repeat the process to switch back to the original Username and
            Password

    NOTE: TR-069 defines the maximum size username and password to be 256
    characters. If your implementation supports a shorter length, you may
    configure the maximum size using:

    testvar tr69MaxCpeUserNameLen 64
    testvar tr69MaxCpePasswordLen 64


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CPE supports periodic Inform tr69_100 Verify CPE supports periodic Inform


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Enable the periodic Inform and configure the Inform interval
    step 3. Wait for 3 new Inform RPCs with event code PERIODIC
    step 4. Disable the periodic Inform
    step 5. Verify no additional Inform with event code PERIODIC are received

    NOTE: By default, this test case will attempt to set a periodic Inform
    interval of 60 seconds. If the device requires a longer periodic Inform
    interval, the minimum value may be set using the testvar
    tr69MinPeriodicInform.

    For example:

       testvar tr69MinPeriodicInform 120


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify values set by SetParameterValues are persistent across Reboot tr69_101 Verify values set by SetParameterValues are persistent across Reboot


    step 1. Initiate a new CMWP connection using Connection Request URL
    step 2. Initiate GetParameterValues RPC for the value of PeriodicInformInterval
    step 3. Initiate a SetParameterValue RPC on PeriodicInformInterval with a different
            value than what was read in step 2
    step 4. Initiate a Reboot RPC
    step 5. Wait for a 'M Reboot' event from the DUT
    step 6. Initiate a GetParameterValues RPC for the value of PeriodicInformInterval
    step 7. Verify the PeriodicInformInterval value is persistent across the Reboot.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.3.2.1: SetParameterValues

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify objects created by AddObject are persistent across Reboot tr69_102 Verify objects created by AddObject are persistent across Reboot


    step 1. Initiate a new CMWP connection using Connection Request URL
    step 2. Initiate a AddObject RPC to add a new portmapping
    step 4. Initiate a Reboot RPC
    step 5. Wait for a 'M Reboot' event from the DUT
    step 6. Initiate a GetParameterValues RPC for the instance of the portmapping
    step 7. Verify the added portmapping instance is persistent across the Reboot.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.3.2.6: AddObject

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify ScheduleInform RPC tr69_110 Verify ScheduleInform RPC


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Initiate the ScheduleInform RPC with a value of 20 seconds
    step 3. Wait for new Inform with events 'M ScheduleInform' and '3 SCHEDULED'

    NOTE: If RPC ScheduleInform is not supported, this test can be skipped
    automatically by configuring:

    testvar tr69ScheduleInformRPC no


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.4.1.2: ScheduleInform

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify SetParameterValues fails when parameter values are invalid tr69_120 Verify SetParameterValues fails when parameter values are invalid


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Add new portmapping using AddObject
    step 3. Send SetParameterValues for new port mapping with a bad
            PortMappingProtocol parameter
    step 4. Verify Soap Fault with top level code 9003
    step 5. Verify SetParameterValuesFault with code 9007 for
            PortMappingProtocol
    step 6. Delete port mapping using DeleteObject

    If there is a fault due to one or more parameters in error, the fault
    response for this method MUST include a SetParameterValuesFault element for
    each parameter in error. In this case, the primary fault code indicated for
    the overall fault response MUST be Invalid Arguments (9003).

    NOTE: For Device 2.x data models, this test uses the parameter Protocol
    instead of PortMappingProtocol.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.3.2.1: SetParameterValues

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify firmware download returns SOAP Fault when HTTP 404 error occurs tr69_130 Verify firmware download returns SOAP Fault when HTTP 404 error occurs


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Send DownloadRPC for '1 Firmware Upgrade Image' with bad file name
    step 3. Verify Soap Fault with top level code 9xxx. The SOAP fault
            may occur in response to the DownloadRPC, or it may be returned
            later in a TransferComplete.

    NOTE: Some CPEs will require the download file to have a specific extension
    for any attempt to be made. The file extension can be configured using the
    testvar acsDownloadFileExt.

    Examples:

    testvar acsDownloadFileExt .img
    testvar acsDownloadFileExt .config
    testvar acsDownloadFileExt .bin


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.3.2.8: Download

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Perform firmware upgrade and downgrade using Download RPC tr69_131 Perform firmware upgrade and downgrade using Download RPC


    step 1. The ACS issues a Download RPC with FileType "1 Firmware Upgrade
            Image" and the location of the original firmware specified by the
            testvar tr69DownloadOriginalImage.
    step 2. The ACS initiates a new CWMP session with the DUT using the
            Connection Request URL.
    step 3. The ACS issues a Download RPC with FileType "1 Firmware Upgrade
            Image" and the location of a newer version of firmware specified by
            the testvar tr69DownloadImage.
    step 4. Verify that the DUT successfully downloads and applies the new
            firmware.
    step 5. The ACS initiates a new CWMP session with the DUT using the
            Connection Request URL
    step 6. The ACS issues a Download RPC with FileType "1 Firmware Upgrade
            Image" and the location of the original firmware specified by the
            testvar tr69DownloadOriginalImage.
    step 7. Verify that the DUT successfully downloads and applies the original
            firmware

    The purpose of this test is to verify that the ACS can upgrade the DUT to a
    newer version of firmware via a Download RPC operation. After the upgrade is
    completed, another Download RPC is issued to downgrade the DUT to its
    original firmware version.

    Note: Both new and original firmware images must be available on the
    CDRouter system and referenced by the testvars tr69DownloadImage and
    tr69DownloadOriginalImage, respectively. For example:

        testvar tr69DownloadImage         /home/qacafe/Documents/firmware-v2.0.bin
        testvar tr69DownloadOriginalImage /home/qacafe/Documents/firmware-v2.1.bin


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.3.2.8: Download

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify vendor config file HTTP Upload with no ACS specified delay tr69_140 Verify vendor config file HTTP Upload with no ACS specified delay


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Send UploadRPC for '1 Vendor Configuration File' with URL location
    step 3. Verify the Vendor Configuration File is received

    NOTE: By default, the vendor config file will be uploaded to the /tmp
    directory on the local CDRouter system. This path may be changed by
    configuring testvar tr69UploadPath. The filename used for the the config
    file defaults to "vendor_configuration_file". This may be changed by
    configuring the testvar tr69ConfigUploadFilename.

    NOTE: This test perfoms the Upload RPC as defined in Amendment 2 and earlier
    versions of the TR-069 specification. The tr69_160 test case can be used to
    verify the Upload RPC as defined in Amendment 3 and later versions of the
    TR-069 specification.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.4.1.5: Upload

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify vendor log file HTTP Upload with no ACS specified delay tr69_150 Verify vendor log file HTTP Upload with no ACS specified delay


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Send UploadRPC for '2 Vendor Log File' with URL location
    step 3. Verify the Vendor Log File is received

    NOTE: By default, the vendor log file will be uploaded to the /tmp directory
    on the local CDRouter system. This path may be changed by configuring
    testvar tr69UploadPath. The filename used for the the log file defaults to
    "vendor_log_file". This may be changed by configuring the testvar
    tr69LogUploadFilename.

    NOTE: This test perfoms the Upload RPC as defined in Amendment 2 and earlier
    versions of the TR-069 specification. The tr69_170 test case can be used to
    verify the Upload RPC as defined in Amendment 3 and later versions of the
    TR-069 specification.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.4.1.5: Upload

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify vendor config file HTTP Upload using config file instance tr69_160 Verify vendor config file HTTP Upload using config file instance


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Send a GetParameterNames to learn the first instance of a vendor
            config file
    step 2. Send UploadRPC for '3 Vendor Configuration File <instance>' with URL
            location
    step 3. Verify the Vendor Configuration File is received

    NOTE: By default, the vendor config file will be uploaded to the /tmp
    directory on the local CDRouter system. This path may be changed by
    configuring testvar tr69UploadPath. The filename used for the the config
    file defaults to "vendor_configuration_file". This may be changed by
    configuring the testvar tr69ConfigUploadFilename.

    NOTE: This test perfoms the Upload RPC as defined in Amendment 3 and later
    versions of the TR-069 specification. The tr69_140 test case can be used to
    verify the Upload RPC as defined in Amendment 2 and earlier versions of the
    TR-069 specification.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.4.1.5: Upload

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify vendor log file HTTP Upload using config file instance tr69_170 Verify vendor log file HTTP Upload using config file instance


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Send a GetParameterNames to learn the first instance of a vendor log
            file
    step 3. Send UploadRPC for '4 Vendor Log File <instance>' with URL location
    step 4. Verify the Vendor Log File is received

    NOTE: By default, the vendor config file will be uploaded to the /tmp
    directory on the local CDRouter system. This path may be changed by
    configuring testvar tr69UploadPath. The filename used for the the config
    file defaults to "vendor_configuration_file". This may be changed by
    configuring the testvar tr69ConfigUploadFilename.

    NOTE: This test perfoms the Upload RPC as defined in Amendment 3 and later
    versions of the TR-069 specification. The tr69_150 test case can be used to
    verify the Upload RPC as defined in Amendment 2 and earlier versions of the
    TR-069 specification.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.4.1.5: Upload

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Run DSL diagnostic test on WAN interface tr69_200 Run DSL diagnostic test on WAN interface


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Verify default WAN interface is DSL
    step 3. Configure LoopDiagnosticsState to Requested to initiate DSL
            Diagnostic test
    step 4. Wait for new INFORM with '8 DIAGNOSTICS COMPLETE' event
    step 5. Verify new state of LoopDiagnoticsState is 'Complete'
    step 6. Verify Diagnostic data is present

    NOTE: CDRouter will check the primary WAN interface type and automatically
    skip this test if it is not DSL. This check can be skipped by configuring
    the testvar tr69_200_skipInterfaceCheck to yes:

    testvar tr69_200_skipInterfaceCheck yes

    NOTE: By default, CDRouter will allow 600 seconds (10 minutes) for the DSL
    Diagnostic test to complete. This value can be configured using the testvar
    dslDiagnosticTestDuration.

    testvar dslDiagnosticTestDuration 600


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify router sends new Inform when primary WAN IP address changes tr69_210 Verify router sends new Inform when primary WAN IP address changes


    step 1.  Bring down WAN link
    step 2.  Bring up WAN link with new external IP address

    NOTE: if the WAN mode is DHCP, then instead of bringing the link down
          wait for the DUT to renew its address and offer a new one.

    step 3.  Wait for Inform with new ExternalIPAddress (IGD) and/or
             ConnectionRequestURL (Device)
    step 4.  Verify ConnectionRequestURL contains new IP address
    step 5.  Verify ExternalIPAddress is new IP address (IGD 1.x only)
    step 6.  Bring down WAN link
    step 7.  Bring up WAN link with original IP addresso

    NOTE: if the WAN mode is DHCP, then instead of bringing the link down
          wait for the DUT to renew its address and offer the original one.

    step 8.  Wait for Inform with new ExternalIPAddress (IGD) and/or
             ConnectionRequestURL (Device)
    step 9.  Verify ConnectionRequestURL contains original IP address
    step 10. Verify ExternalIPAddress is original IP address (IGD 1.x only)

    Reference: TR-098
    Section 2.4.1 Inform and Notification Requirements

    Reference: TR-181 Issue 2

    NOTE: The CPE is required to send a new Inform when the IP address of the
    default WAN connection changes. This test cannot be run when the WAN
    interface is configured statically.

    NOTE: IGD 1.x devices are required to include the ExternalIPAddress
    parameter when it changes. All devices are required to include the
    ConnectionRequestURL.


    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html

    BBF CWMP Data Model Device:1.14 Root Data Model "TR-181 Issue 1 Amendment 7"

    https://cwmp-data-models.broadband-forum.org/tr-181-1-7-0.html

    BBF CWMP Data Model Device:2.14 Root Data Model "TR-181 Issue 2 Amendment 14 Corrigendum 1"

    https://cwmp-data-models.broadband-forum.org/tr-181-2-14-1-cwmp.html
Test Name Synopsis
Verify connection request URL after primary WAN IP address changes tr69_220 Verify connection request URL after primary WAN IP address changes


    step 1.  Bring down WAN link
    step 2.  Bring up WAN link with new external IP address
    step 3.  Wait for Inform with new ExternalIPAddress (IGD 1.x only) and
             ConnectionRequestURL
    step 4.  Verify ConnectionRequestURL contains new IP address
    step 5.  Verify ExternalIPAddress is new IP address
    step 6.  Start Connection Request URL attempt
    step 7.  Verify new CWMP session with CONNECTION REQUEST event
    step 8.  Bring down WAN link
    step 9.  Bring up WAN link with new original IP address
    step 10. Wait for Inform with new ExternalIPAddress (IGD 1.x only) and
             ConnectionRequestURL
    step 11. Verify ConnectionRequestURL contains new IP address
    step 12. Verify ExternalIPAddress is original IP address

    NOTE: The CPE is required to send a new Inform when the IP address of the
    default WAN connection changes. This test cannot be run when the WAN
    interface is configured statically.


    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html

    BBF CWMP Data Model Device:1.14 Root Data Model "TR-181 Issue 1 Amendment 7"

    https://cwmp-data-models.broadband-forum.org/tr-181-1-7-0.html

    BBF CWMP Data Model Device:2.14 Root Data Model "TR-181 Issue 2 Amendment 14 Corrigendum 1"

    https://cwmp-data-models.broadband-forum.org/tr-181-2-14-1-cwmp.html
Test Name Synopsis
Verify session retry after 503 Service Unavailable HTTP response tr69_230 Verify session retry after 503 Service Unavailable HTTP response


     step 1. Enable periodic Informs on the DUT
     step 2. Configure the ACS to respond with an HTTP 503 "Service Unavailable" error
     step 3. Wait for a periodic Inform from the DUT
     step 4. Verify that the DUT terminates the session
     step 5. Verify that the DUT retries the session
     step 6. Verify that the ACS and CPE successfully initiate a transaction session


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.2.1.1: Session Retry Policy

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Session longevity test - Single RPC tr69_longevity_1 Session longevity test - Single RPC


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Queue up 100 GetRPCMethod requests to be sent.
    step 3. Send each RPC one at a time and verify a response is received.
    step 4. Compare the number of RPCs sent to the number received.
    step 5. Clean up the sent RPC.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Session longevity test - Multiple Get/Set RPCs tr69_longevity_2 Session longevity test - Multiple Get/Set RPCs


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Build a list of RPC Methods to send in a single session. This test
            uses a combination of GetParameterValues and SetParameterValues.
    step 3. Send the list of RPC Methods a total of 10 iterations, Each RPC is sent
            one at a time.
    step 4. Compare the number of RPCs sent to the number received.
    step 5. Clean up the sent RPCs.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify the FactoryReset RPC tr69_300 Verify the FactoryReset RPC


    step 1. Initiate a new CWMP session and send the FactoryReset RPC
    step 2. Verify the FactoryResetResponse RPC is sent

    NOTE: Resetting the factory defaults make break connectivity to the ACS and
    the WAN if the default settings do not match the current network
    configuration. This test should not be run when the impact of of resetting
    the factory defaults is understood for your test setup.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.4.1.6: FactoryReset

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify unknown RPC methods produce a SOAP Fault tr69_310 Verify unknown RPC methods produce a SOAP Fault


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Send an UnknownRPC method to the CPE
    step 3. Verify Soap Fault with Fault Code 9000 is returned


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section A.5: Fault Handling

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CWMP 8005 fault method retry behavior tr69_320 Verify CWMP 8005 fault method retry behavior


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Wait for initial Inform
    step 3. Configure ACS to respond with a CWMP fault with a fault code of
            8005 "Retry request"
    step 4. Verify CPE resends Inform in the same CWMP session


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.7.1.6: Method Retry Behavior

    If in response to a request from the CPE the CPE receives a “Retry request”
    response (fault code 8005) from the ACS, the CPE MUST resend the identical
    request in the next HTTP POST within the current Session. This behavior
    applies to all ACS methods (including Inform).

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify IPv4 Trace Route on the WAN tr69_400 Verify IPv4 Trace Route on the WAN


    step 1. Initiate a new CWMP connection using Connection Request URL
    step 2. Configure DiagnosticsState to Requested to initiate TraceRoute
            Diagnostic test
    step 3. Wait for new INFORM with '8 DIAGNOSTICS COMPLETE' event
    step 4. Verify new state of DiagnoticsState is 'Complete'
    step 5. Verify Diagnostic data is present
    step 6. Verify RouteHops data is present
    step 7. Verify address of TraceRoute host is present in RouteHops table
    step 8. Verify index of TraceRoute host in RouteHops table matches testvar
            IPv4HopCount

    NOTE: By default, CDRouter will allow 120 seconds (2 minutes) for the
    TraceRoute Diagnostic test to complete. This value can be configured using
    the testvar tr69TraceRouteTimeout.

    testvar tr69TraceRouteTimeout 120


    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html

    BBF CWMP Data Model Device:2.14 Root Data Model "TR-181 Issue 2 Amendment 14 Corrigendum 1"

    https://cwmp-data-models.broadband-forum.org/tr-181-2-14-1-cwmp.html
Test Name Synopsis
Verify NTP server configuration and time settings tr69_410 Verify NTP server configuration and time settings


    Procedure:

    step 1. ACS performs a SetParameterValues RPC on the appropriate NTPServer1,
            NTPServer2, TimeZone and Enable parameters.
    step 2. Test setup blocks NTPServer2 address.
    step 3. CPE is rebooted.
    step 3. ACS performs a GetParameterValues RPC on the Status and LocalTime parameters.
    step 4. Test setup blocks NTPServer1 address and unblocks NTPServer2 address
    step 4. CPE is rebooted
    step 5. ACS performs a GetParameterValues RPC on the Status and LocalTime parameters.

    Test Metrics:

    1. Validate that the SetParameterValuesResponse is received successfully for setting both
       NTPServer1 and NTPServer2.
    2. After the reboot, validate that the Traffic Analyzer shows CPE communication with
       NTPServer1.
    3. Validate that the time is set on the CPE via the GetParameterValuesResponse.
    4. After the reboot, validate that the Traffic Analyzer shows CPE communication with
       NTPServer2.
    5. Validate that the time is set on the CPE via the GetParameterValuesResponse.


    References:

    BBF TP-181 Issue 1 Corrigendum 1 "CWMP Interoperability and Functionality Test Plan"

    https://www.broadband-forum.org/technical/download/TP-181_Corrigendum-1.pdf
Test Name Synopsis
Verify CWMP source port changes after reboot tr69_420 Verify CWMP source port changes after reboot


    Procedure:

    Step 1. Initiate a CWMP session using the Connection Request URL
    Step 2. Wait for Inform
    Step 3. Perform a Reboot RPC on the DUT
    Step 4. Wait for a CWMP '1 BOOT' message

    Test Metrics:

    1. The first connection request is successful
    2. The device responds to the Reboot RPC
    3. The device sends a '1 BOOT' message after rebooting
    4. The source port used by the DUT to send the inform in step 2 is
       not the same as the source port used to by the DUT to send the
       '1 BOOT' message


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.2.1.2: Use of random source port

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Validate the InstanceWildcardsSupported parameter aligns with the functionality of the DUT tr69_wilcards_supported Validate the InstanceWildcardsSupported parameter aligns with the functionality of the DUT


    Procedure:

    1. Perform a GetParameterValues RPC on InstanceWildcardsSupported.
    2. Perform a GetParameterValues RPC to a valid path using a instance wildcard.

    Metrics:

    1. If InstanceWildcardsSupported is False or doesn't exist, the RPC in step 2 fails.
    2. If InstanceWildcardsSupported is True, the RPC in step 2 succeeds.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Validate GetParameterValues RPC works with wildcards tr69_wildcard_1 Validate GetParameterValues RPC works with wildcards


    Procedure:

    1. Intitiate a session with the CPE
    2. Send a GetParameterValues RPC for a complete path with a wildcard character.
    3. Send a GetParameterValues RPC for a partial path with a wildcard character.
    4. Send a GetParameterValues RPC for a complete path with multiple wildcard
       characters.

    Metrics:

    1. None of the RPCs in steps 2, 3, or 4 result in an error.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Validate GetParameterNames RPC works with wildcards tr69_wildcard_2 Validate GetParameterNames RPC works with wildcards


    Procedure:

    1. Intitiate a session with the CPE
    2. Send a GetParameterNames RPC for a complete path with a wildcard character.
    3. Send a GetParameterNames RPC for a partial path with a wildcard character.
    4. Send a GetParameterNames RPC for a complete path with multiple wildcard
    characters.

    Metrics:

    1. None of the RPCs in steps 2, 3, or 4 result in an error.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Validate GetParameterAttributes RPC works with wildcards tr69_wildcard_3 Validate GetParameterAttributes RPC works with wildcards


    Procedure:

    1. Intitiate a session with the CPE
    2. Send a GetParameterAttributes RPC for a complete path with a wildcard character.
    3. Send a GetParameterAttributes RPC for a partial path with a wildcard character.
    4. Send a GetParameterAttributes RPC for a complete path with multiple wildcard
    characters.

    Metrics:

    1. None of the RPCs in steps 2, 3, or 4 result in an error.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify correct handling of invalid wildcard usage tr69_wildcard_4 Verify correct handling of invalid wildcard usage


    Procedure:

    1. Send a GetParameterValues RPC to the DUT "Device.IP.Interface.*."
    2. Send a GetParameterValues RPC to the DUT "Device.IP.Interface.<valid instance>.*.IPAddress"
    3. Send a GetParameterNames RPC to the DUT "Device.IP.Interface.*."
    4. Send a GetParameterNames RPC to the DUT "Device.IP.Interface.<valid instance>.*.IPAddress"
    5. Send a GetParameterAttributes RPC to the DUT "Device.IP.Interface.*."
    6. Send a GetParameterAttributes RPC to the DUT "Device.IP.Interface.<valid instance>.*.IPAddress"

    Metrics:

    1. All RPCs fail.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify non-heartbeat sessions take precedence tr69_heartbeat_1 Verify non-heartbeat sessions take precedence


    Setup:

    1. Configure the DUT to send a CWMP Heartbeat every 30 seconds.
    2. Wait for a single Heartbeat to ensure the DUT is correctly configured.

    Procedure:

    1. Configure the ACS to not respond to Informs.
    2. Send a connection request to the DUT
    3. Wait for 40 seconds.
    4. Allow the ACS to reply normally to Informs, and send a response to the Inform received
       in step 2.
    4. End the session
    5. Wait for a heartbeat in a new session.

    Metrics:

    1. During step 3, a heartbeat is never received while the non-heartbeat
    session is active.
    2. After step 4, a new heartbeat session is established within 5 seconds.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify other events are not included in heartbeat messages tr69_heartbeat_2 Verify other events are not included in heartbeat messages


    Setup:

    1. Configure the DUT's HeartbeatPolicy to send a heartbeat event at an interval
       defined by half the value of the tr69MinPeriodicInform testvar.
    2. Configure the DUT's PeriodicInformInterval to send an Inform at an interval
       defined by the value of the tr69MinPeriodicInform testvar.
    3. Configure a passive notification on a volitile parameter (ex. UpTime).

    Procedure:

    1. Wait for 11 times half the value of the tr69MinPeriodicInform testvar seconds.

    Metrics:

    1. At least 5 '14 HEARTBEAT' events were received during step 1.
    2. At least 3 '2 PERIODIC' events were received during step 1.
    3. All Informs with '14 HEARTBEAT' events did not contain '4 VALUE CHANGE'


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify heartbeats are discarded if there is an existing heartbeat session tr69_heartbeat_3 Verify heartbeats are discarded if there is an existing heartbeat session


    Setup:

    1. Configure the HeartbeatPolicy on the DUT to send a '14 HEARTBEAT' event every 30 seconds.
    2. Disable PeriodicInforms on the DUT.

    Procedure:

    1. Wait for a '14 HEARTBEAT' event.
    2. Prevent the ACS from responding causing the session to stay open.
    3. Wait for 40 seconds.
    4. Allow the ACS to send a response, and the CWMP session to close.
    5. Wait up to 30 seconds for another '14 HEARTBEAT' event.
    6. Allow the CWMP session to terminate.
    7. Wait for another '14 HEARTBEAT' event.

    Metrics:

    1. The DUT doesn't attempt to open a second CWMP session during step 3.
    2. After step 4 only one heartbeat Inform is received.
    3. The heartbeat inform from step 7 happens 30 seconds (+/- 5 seconds)
    after the Inform from step 5 is received.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify non-heartbeat Informs take precedence over Heartbeats tr69_heartbeat_4 Verify non-heartbeat Informs take precedence over Heartbeats


    Test Setup:

    1. Configure the HeartbeatPolicy on the DUT to send a '14 HEARTBEAT' event at an interval
       defined by twice the value of the tr69MinPeriodicInform testvar.
    2. Enable PeriodicInforms on the DUT.

    Test Procedure:

    1. Configure the ACS to respond to informs with a 400 Bad Request.
    2. Allow the DUT to try to send a '2 PERIODIC' message
       and enter a retry state.
    3. Wait for 4 PeriodicInform intervals.
    4. Allow the ACS to respond normally to messages from the DUT.
    5. Wait for the DUT to send a '2 PERIODIC' message
    6. End the current TR-69 session.
    7. Allow the DUT to send a '14 HEARTBEAT' event
    8. End the TR-69 session.

    Test Metrics:

    1. From step 3 to step 6, the DUT only sends retry attempts for the '6 CONNECTION REQUEST'
    2. After step 5 the first message received by the ACS is not a '14 HEARTBEAT' event


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Ensure heartbeats are dropped if heartbeat session is being retried tr69_heartbeat_5 Ensure heartbeats are dropped if heartbeat session is being retried


    Test Setup:

    1. Configure the HeartbeatPolicy on the DUT to send a '14 HEARTBEAT' event every 30 seconds.
    2. Disable PeriodicInforms on the DUT.

    Test Procedure:

    1. Configure the DUT to reply to Informs with a 400 Bad Request.
    2. Allow the DUT to send a '14 HEARTBEAT' event
    3. Allow the DUT to enter a retry state.
    4. Wait for 60 seconds.
    5. Allow the ACS to respond normally to the CWMP messages
    6. Wait for the DUT to send a '14 HEARTBEAT' event
    7. End the TR-69 session
    8. Wait for another '14 HEARTBEAT' event
    9. Repeat steps 7 and 8


    Test Metrics:

    1. The '14 HEARTBEAT' events received during step 9 occur at the correct interval (+/- 2 seconds).


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify Multiple Firmware Images mechanism functions properly tr69_inactive_firmware_1 Verify Multiple Firmware Images mechanism functions properly


    Test Setup:

    1. Have an alternate software image version available for download.

    Test Steps:

    1. Read the DUT's SoftwareVersion parameter and store the value
    2. Read the DUT's Device.DeviceInfo.BootFirmwareImage parameter.
    3. Issue a Download RPC with a '6 Stored Firmware Image' file type
       pointing to the alternate software image.
    4. Wait for the 'TRANSFER COMPLETE' event.
    5. Read the SoftwareVersion parameter.
    6. Using the version number of the alternate firmware image, locate
       the newly downloaded firmware in Device.DeviceInfo.FirmwareImage.
    7. Read the Available parameter of the firmware image found in step 5.
    8. Read the Status parameter of the firmware image found in step 5.
    9. Set Device.DeviceInfo.BootFirmwareImage to the instance found in step 5
    10. Issue a Reboot RPC to the DUT and allow it to reboot.
    11. Read the SoftwareVersion parameter.
    12. Reset the Device.DeviceInfo.BootFirmwareImage to the value found in
        step 2.
    13. Issue a Reboot RPC to the DUT and allow it to reboot.

    Test Metrics:

    1. The Download completes successfully and the DUT issues a
       'TRANSFER COMPLETE' event.
    2. The SoftwareVersion read at step 5 matches the version from step 1.
    3. The newly downloaded firmware is in the Device.DeviceInfo.FirmwareImage.
       table.
    4. The available parameter read in step 7 is "true".
    5. The Status parameter read in step 8 is "Available".
    6. The SoftwareVersion found in step 11 matched the newly alternate
       software image version.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf

tr69_annex_n.tcl

TR-069 tests for Annex N Bulk Data Collection

Test Name Synopsis
Verify bulk data transfer (single parameter) via HTTP POSTs and ParameterPerRow CSV encoding tr69_annex_n_1 Verify bulk data transfer (single parameter) via HTTP POSTs and ParameterPerRow CSV encoding


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTP
            using POSTs and encode the data using ParameterPerRow CSV
    step 2. Ensure the DUT sends a POST to the HTTP host using CSV encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (single parameter) via HTTP POSTs and ObjectHierarchy JSON encoding tr69_annex_n_2 Verify bulk data transfer (single parameter) via HTTP POSTs and ObjectHierarchy JSON encoding


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTP
            using POSTs and encode the data using ObjectHierarchy JSON
    step 2. Ensure the DUT sends a POST to the HTTP host using JSON encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (multiple parameters) via HTTP POSTs and ParameterPerRow CSV encoding tr69_annex_n_3 Verify bulk data transfer (multiple parameters) via HTTP POSTs and ParameterPerRow CSV encoding


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTP
            using POSTs and encode the data using ParameterPerRow CSV
    step 2. Ensure the DUT sends a POST to the HTTP host using CSV encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (multiple parameters) via HTTP POSTs and ObjectHierarchy JSON encoding tr69_annex_n_4 Verify bulk data transfer (multiple parameters) via HTTP POSTs and ObjectHierarchy JSON encoding


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTP
            using POSTs and encode the data using ObjectHierarchy JSON
    step 2. Ensure the DUT sends a POST to the HTTP host using JSON encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (single parameter) via HTTP POSTs and ParameterPerColumn CSV encoding tr69_annex_n_5 Verify bulk data transfer (single parameter) via HTTP POSTs and ParameterPerColumn CSV encoding


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTP
            using POSTs and encode the data using ParameterPerColumn CSV
    step 2. Ensure the DUT sends a POST to the HTTP host using CSV encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (single parameter) via HTTP POSTs and NameValuePair JSON encoding tr69_annex_n_6 Verify bulk data transfer (single parameter) via HTTP POSTs and NameValuePair JSON encoding


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTP
            using POSTs and encode the data using NameValuePair JSON
    step 2. Ensure the DUT sends a POST to the HTTP host using JSON encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (multiple parameters) via HTTP POSTs and ParameterPerColumn CSV encoding tr69_annex_n_7 Verify bulk data transfer (multiple parameters) via HTTP POSTs and ParameterPerColumn CSV encoding


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTP
            using POSTs and encode the data using ParameterPerColumn CSV
    step 2. Ensure the DUT sends a POST to the HTTP host using CSV encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (multiple parameters) via HTTP POSTs and NameValuePair JSON encoding tr69_annex_n_8 Verify bulk data transfer (multiple parameters) via HTTP POSTs and NameValuePair JSON encoding


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTP
            using POSTs and encode the data using NameValuePair JSON
    step 2. Ensure the DUT sends a POST to the HTTP host using JSON encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (single parameter) via HTTPS POSTs and ParameterPerRow CSV encoding tr69_annex_n_10 Verify bulk data transfer (single parameter) via HTTPS POSTs and ParameterPerRow CSV encoding


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTPS
            using POSTs and encode the data using ParameterPerRow CSV
    step 2. Ensure the DUT sends a POST to the HTTPS host using CSV encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (single parameter) via HTTPS POSTs and ObjectHierarchy JSON encoding tr69_annex_n_11 Verify bulk data transfer (single parameter) via HTTPS POSTs and ObjectHierarchy JSON encoding


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTPS
            using POSTs and encode the data using ObjectHierarchy JSON
    step 2. Ensure the DUT sends a POST to the HTTP host using JSON encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (multiple parameters) via HTTPS POSTs and ParameterPerRow CSV encoding tr69_annex_n_12 Verify bulk data transfer (multiple parameters) via HTTPS POSTs and ParameterPerRow CSV encoding


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTPS
            using POSTs and encode the data using ParameterPerRow CSV
    step 2. Ensure the DUT sends a POST to the HTTP host using CSV encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (multiple parameters) via HTTPS POSTs and ObjectHierarchy JSON encoding tr69_annex_n_13 Verify bulk data transfer (multiple parameters) via HTTPS POSTs and ObjectHierarchy JSON encoding


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTPS
            using POSTs and encode the data using ObjectHierarchy JSON
    step 2. Ensure the DUT sends a POST to the HTTP host using JSON encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (single parameter) via HTTPS POSTs and ParameterPerColumn CSV encoding tr69_annex_n_14 Verify bulk data transfer (single parameter) via HTTPS POSTs and ParameterPerColumn CSV encoding


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTPS
            using POSTs and encode the data using ParameterPerColumn CSV
    step 2. Ensure the DUT sends a POST to the HTTP host using CSV encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (single parameter) via HTTPS POSTs and NameValuePair JSON encoding tr69_annex_n_15 Verify bulk data transfer (single parameter) via HTTPS POSTs and NameValuePair JSON encoding


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTP
            using POSTs and encode the data using NameValuePair JSON
    step 2. Ensure the DUT sends a POST to the HTTP host using JSON encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (multiple parameters) via HTTPS POSTs and ParameterPerColumn CSV encoding tr69_annex_n_16 Verify bulk data transfer (multiple parameters) via HTTPS POSTs and ParameterPerColumn CSV encoding


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTPS
            using POSTs and encode the data using ParameterPerColumn CSV
    step 2. Ensure the DUT sends a POST to the HTTP host using CSV encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (multiple parameters) via HTTPS POSTs and NameValuePair JSON encoding tr69_annex_n_17 Verify bulk data transfer (multiple parameters) via HTTPS POSTs and NameValuePair JSON encoding


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTPS
            using POSTs and encode the data using NameValuePair JSON
    step 2. Ensure the DUT sends a POST to the HTTP host using JSON encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (single parameter) via HTTP POSTs and ParameterPerRow CSV encoding with URI parameters tr69_annex_n_20 Verify bulk data transfer (single parameter) via HTTP POSTs and ParameterPerRow CSV encoding with URI parameters


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTP
            using POSTs and encode the data using ParameterPerRow CSV, and URI parameters
    step 2. Ensure the DUT sends a POST to the HTTP host using CSV encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (single parameter) via HTTP POSTs and ObjectHierarchy JSON encoding with URI parameters tr69_annex_n_21 Verify bulk data transfer (single parameter) via HTTP POSTs and ObjectHierarchy JSON encoding with URI parameters


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTP
            using POSTs and encode the data using ObjectHierarchy JSON, and URI parameters
    step 2. Ensure the DUT sends a POST to the HTTP host using JSON encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (multiple parameters) via HTTP POSTs and ParameterPerRow CSV encoding with URI parameters tr69_annex_n_22 Verify bulk data transfer (multiple parameters) via HTTP POSTs and ParameterPerRow CSV encoding with URI parameters


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTP
            using POSTs and encode the data using ParameterPerRow CSV, and URI parameters
    step 2. Ensure the DUT sends a POST to the HTTP host using CSV encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (multiple parameters) via HTTP POSTs and ObjectHierarchy JSON encoding with URI parameters tr69_annex_n_23 Verify bulk data transfer (multiple parameters) via HTTP POSTs and ObjectHierarchy JSON encoding with URI parameters


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTP
            using POSTs and encode the data using ObjectHierarchy JSON, and URI parameters
    step 2. Ensure the DUT sends a POST to the HTTP host using JSON encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (single parameter) via HTTP POSTs and ParameterPerColumn CSV encoding with URI parameters tr69_annex_n_24 Verify bulk data transfer (single parameter) via HTTP POSTs and ParameterPerColumn CSV encoding with URI parameters


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTP
            using POSTs and encode the data using ParameterPerColumn CSV, and URI parameters
    step 2. Ensure the DUT sends a POST to the HTTP host using CSV encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (single parameter) via HTTP POSTs and NameValuePair JSON encoding with URI parameters tr69_annex_n_25 Verify bulk data transfer (single parameter) via HTTP POSTs and NameValuePair JSON encoding with URI parameters


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTP
            using POSTs and encode the data using NameValuePair JSON, and URI parameters
    step 2. Ensure the DUT sends a POST to the HTTP host using JSON encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (multiple parameters) via HTTP POSTs and ParameterPerColumn CSV encoding with URI parameters tr69_annex_n_26 Verify bulk data transfer (multiple parameters) via HTTP POSTs and ParameterPerColumn CSV encoding with URI parameters


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTP
            using POSTs and encode the data using ParameterPerColumn CSV, and URI parameters
    step 2. Ensure the DUT sends a POST to the HTTP host using CSV encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (multiple parameters) via HTTP POSTs and NameValuePair JSON encoding with URI parameters tr69_annex_n_27 Verify bulk data transfer (multiple parameters) via HTTP POSTs and NameValuePair JSON encoding with URI parameters


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTP
            using POSTs and encode the data using NameValuePair JSON, and URI parameters
    step 2. Ensure the DUT sends a POST to the HTTP host using JSON encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (single parameter) via HTTPS POSTs and ParameterPerRow CSV encoding with URI parameters tr69_annex_n_30 Verify bulk data transfer (single parameter) via HTTPS POSTs and ParameterPerRow CSV encoding with URI parameters


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTPS
            using POSTs and encode the data using ParameterPerRow CSV, and URI parameters
    step 2. Ensure the DUT sends a POST to the HTTP host using CSV encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (single parameter) via HTTPS POSTs and ObjectHierarchy JSON encoding with URI parameters tr69_annex_n_31 Verify bulk data transfer (single parameter) via HTTPS POSTs and ObjectHierarchy JSON encoding with URI parameters


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTPS
            using POSTs and encode the data using ObjectHierarchy JSON, and URI parameters
    step 2. Ensure the DUT sends a POST to the HTTP host using JSON encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (multiple parameters) via HTTPS POSTs and ParameterPerRow CSV encoding with URI parameters tr69_annex_n_32 Verify bulk data transfer (multiple parameters) via HTTPS POSTs and ParameterPerRow CSV encoding with URI parameters


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTPS
            using POSTs and encode the data using ParameterPerRow CSV, and URI parameters
    step 2. Ensure the DUT sends a POST to the HTTP host using CSV encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (multiple parameters) via HTTPS POSTs and ObjectHierarchy JSON encoding with URI parameters tr69_annex_n_33 Verify bulk data transfer (multiple parameters) via HTTPS POSTs and ObjectHierarchy JSON encoding with URI parameters


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTPS
            using POSTs and encode the data using ObjectHierarchy JSON, and URI parameters
    step 2. Ensure the DUT sends a POST to the HTTP host using JSON encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (single parameter) via HTTPS POSTs and ParameterPerColumn CSV encoding with URI parameters tr69_annex_n_34 Verify bulk data transfer (single parameter) via HTTPS POSTs and ParameterPerColumn CSV encoding with URI parameters


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTPS
            using POSTs and encode the data using ParameterPerColumn CSV, and URI parameters
    step 2. Ensure the DUT sends a POST to the HTTP host using CSV encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (single parameter) via HTTPS POSTs and NameValuePair JSON encoding with URI parameters tr69_annex_n_35 Verify bulk data transfer (single parameter) via HTTPS POSTs and NameValuePair JSON encoding with URI parameters


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTPS
            using POSTs and encode the data using NameValuePair JSON, and URI parameters
    step 2. Ensure the DUT sends a POST to the HTTP host using JSON encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (multiple parameters) via HTTPS POSTs and ParameterPerColumn CSV encoding with URI parameters tr69_annex_n_36 Verify bulk data transfer (multiple parameters) via HTTPS POSTs and ParameterPerColumn CSV encoding with URI parameters


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTPS
            using POSTs and encode the data using ParameterPerColumn CSV, and URI parameters
    step 2. Ensure the DUT sends a POST to the HTTP host using CSV encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify bulk data transfer (multiple parameters) via HTTPS POSTs and NameValuePair JSON encoding with URI parameters tr69_annex_n_37 Verify bulk data transfer (multiple parameters) via HTTPS POSTs and NameValuePair JSON encoding with URI parameters


    Test Procedure:

    step 1. Configure the DUT to perform regular bulk data transfers via HTTPS
            using POSTs and encode the data using NameValuePair JSON, and URI parameters
    step 2. Ensure the DUT sends a POST to the HTTP host using JSON encoding


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex N: HTTP Bulk Data Collection

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf

tr69_wireless.tcl

TR-069 tests for wifi interfaces

Test Name Synopsis
Verify basic wireless configuration (IGD & Device:2) tr69_wireless_1 Verify basic wireless configuration (IGD & Device:2)


    step 1.  Query the DUT and verify that it supports wireless configuration
             via TR-069
    step 2.  Determine which wireless configuration instance to use for testing
    step 3.  Collect the DUT's current wireless configuration
    step 4.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 5.  Set a new basic wireless configuration on the DUT
    step 6.  Associate to the access point and attempt to obtain a DHCP address
    step 8.  Collect the DUT's radio stat counters
    step 8.  Send 10 pings to the remote host to verify connectivity
    step 9.  Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 10. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 11. Restore original wireless configuration to the DUT

    Note: All CDRouter wireless clients connected to the DUT/AP under test will
          be actively managed during this test. Test traffic will only be sent from
          the primary wireless LAN client.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify access point can be disabled (IGD & Device:2) tr69_wireless_2 Verify access point can be disabled (IGD & Device:2)


    step 1. Query DUT and verify that it supports wireless configuration via
            TR-069
    step 2. Determine which wireless configuration instance to use for testing
    step 3. Collect the DUT's current wireless configuration
    step 4. Release the LAN client's address and disassociate from the access
            point
    step 5. Disable the wireless radio on the DUT
    step 6. Ensure that the LAN client is not able to associate to the DUT
    step 7. Enable the wireless radio and restore original wireless
            configuration on the DUT


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify 40-bit WEP wireless configuration (IGD & Device:2) tr69_wireless_10 Verify 40-bit WEP wireless configuration (IGD & Device:2)


    step 1.  Query the DUT and verify that it supports wireless configuration
             via TR-069
    step 2.  Determine which wireless configuration instance to use for testing
    step 3.  Collect the DUT's current wireless configuration
    step 4.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 5.  Set a new 40-bit WEP wireless configuration on the DUT
    step 6.  Associate to the access point and attempt to obtain a DHCP address
    step 7.  Collect the DUT's radio stat counters
    step 8.  Send 10 pings to the remote host to verify connectivity
    step 9.  Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 10. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 11. Restore original wireless configuration to the DUT

    Note: All CDRouter wireless clients connected to the DUT/AP under test will
          be actively managed during this test. Test traffic will only be sent from
          the primary wireless LAN client.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify 104-bit WEP wireless configuration (IGD & Device:2) tr69_wireless_11 Verify 104-bit WEP wireless configuration (IGD & Device:2)


    step 1.  Query the DUT and verify that it supports wireless configuration
             via TR-069
    step 2.  Determine which wireless configuration instance to use for testing
    step 3.  Collect the DUT's current wireless configuration
    step 4.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 5.  Set a new 104-bit WEP wireless configuration on the DUT
    step 6.  Associate to the access point and attempt to obtain a DHCP address
    step 7.  Collect the DUT's radio stat counters
    step 8.  Send 10 pings to the remote host to verify connectivity
    step 9.  Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 10. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 11. Restore original wireless configuration to the DUT

    Note: All CDRouter wireless clients connected to the DUT/AP under test will
          be actively managed during this test. Test traffic will only be sent from
          the primary wireless LAN client.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify WPA-PSK with TKIP wireless configuration (IGD only) tr69_wireless_20 Verify WPA-PSK with TKIP wireless configuration (IGD only)


    step 1.  Query the DUT and verify that it supports wireless configuration
             via TR-069
    step 2.  Determine which wireless configuration instance to use for testing
    step 3.  Collect the DUT's current wireless configuration
    step 4.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 5.  Set a new WPA-PSK with TKIP wireless configuration on the DUT
    step 6.  Associate to the access point and attempt to obtain a DHCP address
    step 7.  Collect the DUT's radio stat counters
    step 8.  Send 10 pings to the remote host to verify connectivity
    step 9.  Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 10. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 10. Restore original wireless configuration to the DUT

    Note: All CDRouter wireless clients connected to the DUT/AP under test will
          be actively managed during this test. Test traffic will only be sent from
          the primary wireless LAN client.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify WPA-PSK with AES wireless configuration (IGD only) tr69_wireless_21 Verify WPA-PSK with AES wireless configuration (IGD only)


    step 1.  Query the DUT and verify that it supports wireless configuration
             via TR-069
    step 2.  Determine which wireless configuration instance to use for testing
    step 3.  Collect the DUT's current wireless configuration
    step 4.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 5.  Set a new WPA-PSK with AES wireless configuration on the DUT
    step 6.  Associate to the access point and attempt to obtain a DHCP address
    step 7.  Collect the DUT's radio stat counters
    step 8.  Send 10 pings to the remote host to verify connectivity
    step 9.  Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 10. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 11. Restore original wireless configuration to the DUT

    Note: All CDRouter wireless clients connected to the DUT/AP under test will
          be actively managed during this test. Test traffic will only be sent from
          the primary wireless LAN client.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify WPA-PSK with TKIP+AES wireless configuration (IGD only) tr69_wireless_22 Verify WPA-PSK with TKIP+AES wireless configuration (IGD only)


    step 1.  Query the DUT and verify that it supports wireless configuration
             via TR-069
    step 2.  Determine which wireless configuration instance to use for testing
    step 3.  Collect the DUT's current wireless configuration
    step 4.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 5.  Set a new WPA-PSK with TKIP+AES wireless configuration on the DUT
    step 6.  Associate to the access point using AES as the pairwise cipher and attempt to obtain a DHCP address
    step 7.  Collect the DUT's radio stat counters
    step 8.  Send 10 pings to the remote host to verify connectivity
    step 9.  Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 10. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 11. Associate to the access point using TKIP as the pairwise cipher and attempt to obtain a DHCP address
    step 12. Collect the DUT's radio stat counters
    step 13. Send 10 pings to the remote host to verify connectivity
    step 14. Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 15. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 16. Restore original wireless configuration to the DUT

    Note: All CDRouter wireless clients connected to the DUT/AP under test will
          be actively managed during this test. Test traffic will only be sent from
          the primary wireless LAN client.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify WPA2-PSK with TKIP wireless configuration (IGD only) tr69_wireless_23 Verify WPA2-PSK with TKIP wireless configuration (IGD only)


    step 1.  Query the DUT and verify that it supports wireless configuration
             via TR-069
    step 2.  Determine which wireless configuration instance to use for testing
    step 3.  Collect the DUT's current wireless configuration
    step 4.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 5.  Set a new WPA2-PSK with TKIP wireless configuration on the DUT
    step 6.  Associate to the access point and attempt to obtain a DHCP address
    step 7.  Collect the DUT's radio stat counters
    step 8.  Send 10 pings to the remote host to verify connectivity
    step 9.  Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 10. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 11. Restore original wireless configuration to the DUT

    Note: All CDRouter wireless clients connected to the DUT/AP under test will
          be actively managed during this test. Test traffic will only be sent from
          the primary wireless LAN client.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify WPA2-PSK with AES wireless configuration (IGD only) tr69_wireless_24 Verify WPA2-PSK with AES wireless configuration (IGD only)


    step 1.  Query the DUT and verify that it supports wireless configuration
             via TR-069
    step 2.  Determine which wireless configuration instance to use for testing
    step 3.  Collect the DUT's current wireless configuration
    step 4.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 5.  Set a new WPA2-PSK with AES wireless configuration on the DUT
    step 6.  Associate to the access point and attempt to obtain a DHCP address
    step 7.  Collect the DUT's radio stat counters
    step 8.  Send 10 pings to the remote host to verify connectivity
    step 9.  Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 10. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 11. Restore original wireless configuration to the DUT

    Note: All CDRouter wireless clients connected to the DUT/AP under test will
          be actively managed during this test. Test traffic will only be sent from
          the primary wireless LAN client.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify WPA2-PSK with TKIP+AES wireless configuration (IGD only) tr69_wireless_25 Verify WPA2-PSK with TKIP+AES wireless configuration (IGD only)


    step 1.  Query the DUT and verify that it supports wireless configuration
             via TR-069
    step 2.  Determine which wireless configuration instance to use for testing
    step 3.  Collect the DUT's current wireless configuration
    step 4.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 5.  Set a new WPA2-PSK with TKIP+AES wireless configuration on the DUT
    step 6.  Associate to the access point using AES as the pairwise cipher and attempt to obtain a DHCP address
    step 7.  Collect the DUT's radio stat counters
    step 8.  Send 10 pings to the remote host to verify connectivity
    step 9.  Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 10. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 11. Associate to the access point using TKIP as the pairwise cipher and attempt to obtain a DHCP address
    step 12. Collect the DUT's radio stat counters
    step 13. Send 10 pings to the remote host to verify connectivity
    step 14. Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 15. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 16. Restore original wireless configuration to the DUT

    Note: All CDRouter wireless clients connected to the DUT/AP under test will
          be actively managed during this test. Test traffic will only be sent from
          the primary wireless LAN client.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify WPA/WPA2-PSK with TKIP wireless configuration (IGD only) tr69_wireless_26 Verify WPA/WPA2-PSK with TKIP wireless configuration (IGD only)


    step 1.  Query the DUT and verify that it supports wireless configuration
             via TR-069
    step 2.  Determine which wireless configuration instance to use for testing
    step 3.  Collect the DUT's current wireless configuration
    step 4.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 5.  Set a new WPA/WPA2-PSK with TKIP wireless configuration on the DUT
    step 6.  Associate to the access point using WPA and attempt to obtain a DHCP address
    step 7.  Collect the DUT's radio stat counters
    step 8.  Send 10 pings to the remote host to verify connectivity
    step 9.  Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 10. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 11. Associate to the access point using WPA2 and attempt to obtain a DHCP address
    step 12. Collect the DUT's radio stat counters
    step 13. Send 10 pings to the remote host to verify connectivity
    step 14. Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 15. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 16. Restore original wireless configuration to the DUT

    Note: All CDRouter wireless clients connected to the DUT/AP under test will
          be actively managed during this test. Test traffic will only be sent from
          the primary wireless LAN client.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify WPA/WPA2-PSK with AES wireless configuration (IGD only) tr69_wireless_27 Verify WPA/WPA2-PSK with AES wireless configuration (IGD only)


    step 1.  Query the DUT and verify that it supports wireless configuration
             via TR-069
    step 2.  Determine which wireless configuration instance to use for testing
    step 3.  Collect the DUT's current wireless configuration
    step 4.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 5.  Set a new WPA/WPA2-PSK with AES wireless configuration on the DUT
    step 6.  Associate to the access point using WPA and attempt to obtain a DHCP address
    step 7.  Collect the DUT's radio stat counters
    step 8.  Send 10 pings to the remote host to verify connectivity
    step 9.  Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 10. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 11. Repeat steps 6 through 10 using WPA2
    step 12. Restore original wireless configuration to the DUT

    Note: All CDRouter wireless clients connected to the DUT/AP under test will
          be actively managed during this test. Test traffic will only be sent from
          the primary wireless LAN client.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify WPA/WPA2-PSK with TKIP+AES wireless configuration (IGD only) tr69_wireless_28 Verify WPA/WPA2-PSK with TKIP+AES wireless configuration (IGD only)


    step 1.  Query the DUT and verify that it supports wireless configuration
             via TR-069
    step 2.  Determine which wireless configuration instance to use for testing
    step 3.  Collect the DUT's current wireless configuration
    step 4.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 5.  Set a new WPA/WPA2-PSK with TKIP+AES wireless configuration on the DUT
    step 6.  Associate to the access point using WPA and AES as the pairwise cipher
             and attempt to obtain a DHCP address
    step 7.  Collect the DUT's radio stat counters
    step 8.  Send 10 pings to the remote host to verify connectivity
    step 9.  Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 10. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 11. Repeat steps 6 through 10 using WPA and TKIP, WPA2 and AES, and WPA2 and TKIP.
    step 12. Restore original wireless configuration to the DUT

    Note: All CDRouter wireless clients connected to the DUT/AP under test will
          be actively managed during this test. Test traffic will only be sent from
          the primary wireless LAN client.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify WPA wireless configuration (Device:2 only) tr69_wireless_30 Verify WPA wireless configuration (Device:2 only)


    step 1.  Query the DUT and verify that it supports wireless configuration
             via TR-069
    step 2.  Determine which wireless configuration instance to use for testing
    step 3.  Collect the DUT's current wireless configuration
    step 4.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 5.  Set a new WPA wireless configuration on the DUT
    step 6.  Associate to the access point and attempt to obtain a DHCP address
    step 7.  Collect the DUT's radio stat counters
    step 8.  Send 10 pings to the remote host to verify connectivity
    step 9.  Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 10. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 11. Restore original wireless configuration to the DUT

    Note: All CDRouter wireless clients connected to the DUT/AP under test will
          be actively managed during this test. Test traffic will only be sent from
          the primary wireless LAN client.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify WPA2 wireless configuration (Device:2 only) tr69_wireless_31 Verify WPA2 wireless configuration (Device:2 only)


    step 1.  Query the DUT and verify that it supports wireless configuration
             via TR-069
    step 2.  Determine which wireless configuration instance to use for testing
    step 3.  Collect the DUT's current wireless configuration
    step 4.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 5.  Set a new WPA2 wireless configuration on the DUT
    step 6.  Associate to the access point and attempt to obtain a DHCP address
    step 7.  Collect the DUT's radio stat counters
    step 8.  Send 10 pings to the remote host to verify connectivity
    step 9.  Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 10. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 11. Restore original wireless configuration to the DUT

    Note: All CDRouter wireless clients connected to the DUT/AP under test will
          be actively managed during this test. Test traffic will only be sent from
          the primary wireless LAN client.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify WPA/WPA2 wireless configuration (Device:2 only) tr69_wireless_32 Verify WPA/WPA2 wireless configuration (Device:2 only)


    step 1.  Query the DUT and verify that it supports wireless configuration
             via TR-069
    step 2.  Determine which wireless configuration instance to use for testing
    step 3.  Collect the DUT's current wireless configuration
    step 4.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 5.  Set a new WPA/WPA2 wireless configuration on the DUT
    step 6.  Associate to the access point using WPA and attempt to obtain a DHCP address
    step 7.  Collect the DUT's radio stat counters
    step 8.  Send 10 pings to the remote host to verify connectivity
    step 9.  Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 10. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 11. Associate to the access point using WPA2 and attempt to obtain a DHCP address
    step 12. Collect the DUT's radio stat counters
    step 13. Send 10 pings to the remote host to verify connectivity
    step 14. Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 15. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 16. Restore original wireless configuration to the DUT

    Note: All CDRouter wireless clients connected to the DUT/AP under test will
          be actively managed during this test. Test traffic will only be sent from
          the primary wireless LAN client.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify WPA-Enterprise configuration (Device:2 Only) tr69_wireless_40 Verify WPA-Enterprise configuration (Device:2 Only)


    step 1.  Query the DUT and verify that it supports wireless configuration
             via TR-069
    step 2.  Determine which wireless configuration instance to use for testing
    step 3.  Collect the DUT's current wireless configuration
    step 4.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 5.  Set a new WPA-Enterprise wireless configuration on the DUT
    step 6.  Associate to the access point using WPA and attempt to obtain a DHCP address
    step 7.  Collect the DUT's radio stat counters
    step 8.  Send 10 pings to the remote host to verify connectivity
    step 9.  Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 10. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 11. Restore original wireless configuration to the DUT

    Note: All CDRouter wireless clients connected to the DUT/AP under test will
          be actively managed during this test. Test traffic will only be sent from
          the primary wireless LAN client.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify WPA2-Enterprise configuration (Device:2 Only) tr69_wireless_41 Verify WPA2-Enterprise configuration (Device:2 Only)


    step 1.  Query the DUT and verify that it supports wireless configuration
             via TR-069
    step 2.  Determine which wireless configuration instance to use for testing
    step 3.  Collect the DUT's current wireless configuration
    step 4.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 5.  Set a new WPA2-Enterprise wireless configuration on the DUT
    step 6.  Associate to the access point using WPA and attempt to obtain a DHCP address
    step 7.  Collect the DUT's radio stat counters
    step 8.  Send 10 pings to the remote host to verify connectivity
    step 9.  Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 10. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 11. Restore original wireless configuration to the DUT

    Note: All CDRouter wireless clients connected to the DUT/AP under test will
          be actively managed during this test. Test traffic will only be sent from
          the primary wireless LAN client.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify WPA/WPA2-Enterprise configuration (Device:2 Only) tr69_wireless_42 Verify WPA/WPA2-Enterprise configuration (Device:2 Only)


    step 1.  Query the DUT and verify that it supports wireless configuration
             via TR-069
    step 2.  Determine which wireless configuration instance to use for testing
    step 3.  Collect the DUT's current wireless configuration
    step 4.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 5.  Set a new WPA/WPA2-Enterprise wireless configuration on the DUT
    step 6.  Associate to the access point using WPA and attempt to obtain a DHCP address
    step 7.  Collect the DUT's radio stat counters
    step 8.  Send 10 pings to the remote host to verify connectivity
    step 9.  Collect the DUT's radio stat counters and verify the TotalPacketsSent
             and TotalPacketsReceived counters have increased by at least 10
    step 10. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 11. Restore original wireless configuration to the DUT

    Note: All CDRouter wireless clients connected to the DUT/AP under test will
          be actively managed during this test. Test traffic will only be sent from
          the primary wireless LAN client.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify that all supported channels can be configured and used (IGD & Device:2) tr69_wireless_50 Verify that all supported channels can be configured and used (IGD & Device:2)


    step 1.  Query the DUT and verify that it supports wireless configuration
             via TR-069
    step 2.  Determine which wireless configuration instance to use for testing
    step 3.  Collect the DUT's current wireless configuration, including the
             PossibleChannels parameter
    step 4.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 5.  Set the Channel on the DUT to the first channel in PossibleChannels parameter
    step 6.  Associate to the access point and attempt to obtain a DHCP address
    step 7.  Release the LAN client's DHCP address and disassociate from the
             access point
    step 8.  If the parameter exists, configure the channel width to 20MHz.
    step 9.  Set the Channel on the DUT to the next channel in PossibleChannels parameter
    step 10. Verify that the DUT records the client's MAC in the
             AssociatedDevice table
    step 11. Repeat steps 6 through 9 until all channels have been tested.
    step 12. Restore original wireless configuration to the DUT

    Note: All CDRouter wireless clients connected to the DUT/AP under test will
          be actively managed during this test. Test traffic will only be sent from
          the primary wireless LAN client.

    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf

tr69_conn_req.tcl

TR-069 tests for TCP connection requests

Test Name Synopsis
Verify basic behavior of the TCP based CWMP Connection Request mechanism tr69_conn_req_1 Verify basic behavior of the TCP based CWMP Connection Request mechanism


    step 1. Initiate a CWMP session by sending an HTTP GET to the DUT's
            ConnectionRequestURL over TCP
    step 2. Verify that the DUT initiates a new CWMP session with the ACS and
            includes an event code of "6 CONNECTION REQUEST"

    NOTE: This test case verifies the basic behavior of the TCP based CWMP
    connection request mechanism. This test case may be used with other tests in
    this module to verify that the connection request mechanism continues to
    work after negative testing.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.2.2.2: HTTP Specific Connection Request Requirements

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CWMP Connection Request HTTP response body is zero tr69_conn_req_2 Verify CWMP Connection Request HTTP response body is zero


    step 1. Initiate a CWMP session by sending an HTTP GET to the DUT's
            ConnectionRequestURL
    step 2. Verify that the length of the body in the HTTP response from the
            DUT is zero
    step 3. Verify that the DUT initiates a new CWMP session with the ACS using
            the "6 CONNECTION REQUEST" event code


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.2.2.2: HTTP Specific Connection Request Requirements

    The CPE’s response to a successfully authenticated Connection Request MUST
    use either a “200 (OK)” or a “204 (No Content)” HTTP status code. The CPE
    MUST send this response immediately upon successful authentication, prior to
    it initiating the resulting Session. The length of the entity-body (Section
    7.2/RFC 2616 [6]) in the HTTP response MUST be zero.

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify session is not established when incorrect credentials are used during CWMP Connection Request tr69_conn_req_3 Verify session is not established when incorrect credentials are used during CWMP Connection Request


    step 1. Initiate a CWMP session by sending an HTTP GET to the DUT's
            ConnectionRequestURL using invalid credentials
    step 2. Verify that the DUT does not respond with a "200 (OK)" or "204 (No
            Content)" HTTP status code
    step 3. Verify that the DUT does not initiate a new CWMP session with the
            ACS using the "6 CONNECTION REQUEST" event code


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.2.2.2: HTTP Specific Connection Request Requirements

    The CPE’s response to a successfully authenticated Connection Request MUST
    use either a “200 (OK)” or a “204 (No Content)” HTTP status code. The CPE
    MUST send this response immediately upon successful authentication, prior to
    it initiating the resulting Session. The length of the entity-body (Section
    7.2/RFC 2616 [6]) in the HTTP response MUST be zero.

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify DUT ignores extra URL parameters during CWMP Connection Request tr69_conn_req_4 Verify DUT ignores extra URL parameters during CWMP Connection Request


    step 1. Initiate a CWMP session by sending an HTTP GET with additional URL
            parameters to the DUT's ConnectionRequestURL
    step 2. Verify that the DUT initiates a new CWMP session with the ACS using
            the "6 CONNECTION REQUEST" event code

    NOTE: This test case assumes the DUT will ignore extra URL parameters during
    a CWMP connection request. URLs are often passed to multiple HTTP processors
    (caches, proxies, etc) and it is possible the extra URL parameters are not
    intended for the connection request service. It is a common practice to
    ignore extra URL parameters. Additional URL parameters may also be used as a
    cache busting technique.
Test Name Synopsis
Verify DUT does not respond positively to a CWMP Connection Request using an HTTP POST tr69_conn_req_10 Verify DUT does not respond positively to a CWMP Connection Request using an HTTP POST


    step 1. Initiate a CWMP session by sending an HTTP POST to the DUT's
            ConnectionRequestURL
    step 2. Verify that the DUT does not respond with a "200 (OK)" or "204 (No
            Content)" HTTP status code


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.2.2.2: HTTP Specific Connection Request Requirements

    The Connection Request MUST use an HTTP 1.1 GET to a specific URL designated
    by the CPE. The URL value is available as read-only Parameter on the CPE.
    The path of this URL value SHOULD be randomly generated by the CPE so that
    it is unique per CPE.

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify DUT does not respond positively to a CWMP Connection Request using an HTTP PUT tr69_conn_req_11 Verify DUT does not respond positively to a CWMP Connection Request using an HTTP PUT


    step 1. Initiate a CWMP session by sending an HTTP PUT to the DUT's
            ConnectionRequestURL
    step 2. Verify that the DUT does not respond with a "200 (OK)" or "204 (No
            Content)" HTTP status code


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.2.2.2: HTTP Specific Connection Request Requirements

    The Connection Request MUST use an HTTP 1.1 GET to a specific URL designated
    by the CPE. The URL value is available as read-only Parameter on the CPE.
    The path of this URL value SHOULD be randomly generated by the CPE so that
    it is unique per CPE.

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify DUT does not respond positively to a CWMP Connection Request using an HTTP DELETE tr69_conn_req_12 Verify DUT does not respond positively to a CWMP Connection Request using an HTTP DELETE


    step 1. Initiate a CWMP session by sending an HTTP DELETE to the DUT's
            ConnectionRequestURL
    step 2. Verify that the DUT does not respond with a "200 (OK)" or "204 (No
            Content)" HTTP status code


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.2.2.2: HTTP Specific Connection Request Requirements

    The Connection Request MUST use an HTTP 1.1 GET to a specific URL designated
    by the CPE. The URL value is available as read-only Parameter on the CPE.
    The path of this URL value SHOULD be randomly generated by the CPE so that
    it is unique per CPE.

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify DUT does not respond positively to a CWMP Connection Request using an HTTP HEAD tr69_conn_req_13 Verify DUT does not respond positively to a CWMP Connection Request using an HTTP HEAD


    step 1. Initiate a CWMP session by sending an HTTP HEAD to the DUT's
            ConnectionRequestURL
    step 2. Verify that the DUT does not respond with a "200 (OK)" or "204 (No
            Content)" HTTP status code


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.2.2.2: HTTP Specific Connection Request Requirements

    The Connection Request MUST use an HTTP 1.1 GET to a specific URL designated
    by the CPE. The URL value is available as read-only Parameter on the CPE.
    The path of this URL value SHOULD be randomly generated by the CPE so that
    it is unique per CPE.

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify DUT does not respond positively to a CWMP Connection Request using an unknown URI path tr69_conn_req_15 Verify DUT does not respond positively to a CWMP Connection Request using an unknown URI path


    step 1. Initiate a CWMP session by sending an HTTP GET to the DUT's
            ConnectionRequestURL using an unknown URI path
    step 2. Verify that the DUT does not respond with a "200 (OK)" or "204 (No
            Content)" HTTP status code


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section 3.2.2.2: HTTP Specific Connection Request Requirements

    The Connection Request MUST use an HTTP 1.1 GET to a specific URL designated
    by the CPE. The URL value is available as read-only Parameter on the CPE.
    The path of this URL value SHOULD be randomly generated by the CPE so that
    it is unique per CPE.

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify DUT does not respond positively to TR-064 style requests sent to its CWMP Connection Request port tr69_conn_req_20 Verify DUT does not respond positively to TR-064 style requests sent to its CWMP Connection Request port


    step 1. Send an HTTP POST using a TR-064 style SetNTPServers request body to
            the DUT's CWMP Connection Request port
    step 2. Verify that the DUT does not respond with a "200 (OK)" or "204 (No
            Content)" HTTP status code

    NOTE: Port 7547 has been allocated by IANA for CWMP and has been shown to
    allow unauthenticated TR-064 Requests on the WAN. This test generates a
    TR-064 request to the DUT's CWMP Connection Request port, which may or may
    not be port 7547, and verifies that a positive response is not received.


    References:

    SANS ISC Article "Port 7547 SOAP Remote Code Execution Attack Against DSL Modems"

    https://isc.sans.edu/forums/diary/Port+7547+SOAP+Remote+Code+Execution+Attack+Against+DSL+Modems/21759
Test Name Synopsis
Verify SYN flood attack against the DUT's CWMP Connection Request port tr69_conn_req_30 Verify SYN flood attack against the DUT’s CWMP Connection Request port


    step 1. Verify that the DUT's CWMP Connection Request URL is correct by
            initiating a new connection
    step 2. Send a TCP SYN packet to the DUT's Connection Request port from a
            spoofed Internet address and a random source port
    step 3. Ignore any SYN-ACK packets from the DUT
    step 4. Repeat until a configured number of iterations have completed
    step 5. After waiting for the DUT to recover, verify Internet connectivity
            is still working for the LAN client
    step 6. Verify that the DUT's CWMP Connection Request mechanism is still
            working the SYN flood attack

    NOTE: The amount of recovery time after the Syn Flood attack can be
    configured using the testvar 'dosRecoveryTime'. The default recovery time is
    5 seconds. The number of attack attempts can also be configured, which
    defaults to 100. To configure the port being attacked, set the testvar
    'dosSynAttackPort'.
Test Name Synopsis
Verify Christmas Tree flood attack against the DUT's CWMP Connection Request port tr69_conn_req_31 Verify Christmas Tree flood attack against the DUT’s CWMP Connection Request port


    step 1. Verify that the DUT's CWMP Connection Request URL is correct by
            initiating a new connection
    step 2. Send an invalid 'Christmas Tree' (XMas Attack) TCP packet to the
            DUT's Connection Request port from a spoofed Internet address with
            a random source port
    step 3. Ignore any packets from the DUT
    step 4. Repeat until a configured number of iterations have completed
    step 5. After waiting for the DUT to recover, verify Internet connectivity
            is still working for the lanClient
    step 6. Verify that the DUT's CWMP Connection Request mechanism is still
            working the Christmas Tree flood attack

    NOTE: The amount of recovery time after the Christmas Tree Attack can b
    configured using the testvar 'dosRecoveryTime'. The default recovery time is
    5 seconds. The number of attack attempts can also be configured, which
    defaults to 100.
Test Name Synopsis
Verify TCP flood attack with anomalous TCP packets sent to the DUT's CWMP Connection Request port tr69_conn_req_32 Verify TCP flood attack with anomalous TCP packets sent to the DUT’s CWMP Connection Request port


    step 1. Verify that the DUT's CWMP Connection Request URL is correct by
            initiating a new connection
    step 2. Send an invalid TCP packet from a spoofed Internet address with
            a random source port to a random service port on the DUT's WAN IP
            address
    step 3. Ignore any packets from the DUT
    step 4. Repeat until a configured number of iterations have completed
    step 5. After waiting for the DUT to recover, verify Internet connectivity
            is still working for the lanClient
    step 6. Verify that the DUT's CWMP Connection Request mechanism is still
            working the TCP flood attack

    NOTE: The amount of recovery time after the Anomalous TCP Attack can be configured
    using the testvar 'dosRecoveryTime'. The default recovery time is 5 seconds.
    The number of attack attempts can also be configured, which defaults to 100.
Test Name Synopsis
Verify SetParameterValues does not allow code injection tr69_conn_req_40 Verify SetParameterValues does not allow code injection


    step 1. Initiate a SetParameterValues RPC
    step 2. Send a back quoted shell ping command to ping a well known domain
    step 3. Verify the device does not attempt to resolve the domain name
            through DNS

    NOTE: A TR-069 client should not allow the value of a SetParameterValues
    request to be executed as code. There are known code injection
    vulnerabilities that can be exploited via TR-069. This test case
    demonstrates one such vulnerability.


    References:

    Wikipedia Article "Code Injection"

    https://en.wikipedia.org/wiki/Code_injection

tr69_diagnostics.tcl

TR-069 tests for diagnostic tools

Test Name Synopsis
IPv4 Diagnostic IPPing to WAN Host tr69_diagnostics_1 IPv4 Diagnostic IPPing to WAN Host


    Procedure:

    1. Configure the DUT to send a IPv4 IPPing to a Host on the WAN
    2. Send a GetParameterValues message to the DUT setting IPPing.DiagnosticsState
       to 'Requested'
    3. Wait for a '8 DIAGNOSTICS COMPLETE' event
    4. Use a GetParameterValues to read the IPPing diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount matches the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv4 Diagnostic IPPing to LAN Host tr69_diagnostics_2 IPv4 Diagnostic IPPing to LAN Host


    Procedure:

    1. Configure the DUT to send a IPv4 Ping to a Host on the LAN
    2. Send a GetParameterValues message to the DUT setting IPPing.DiagnosticsState
       to 'Requested'
    3. Wait for a '8 DIAGNOSTICS COMPLETE' event
    4. Use a GetParameterValues to read the IPPing diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount matches the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv4 Diagnostic IPPing to WAN Host using DNS tr69_diagnostics_3 IPv4 Diagnostic IPPing to WAN Host using DNS


    Procedure:

    1. Configure the DUT to send a IPv4 Ping to a Host on the WAN using
       the WAN host's hostname
    2. Send a GetParameterValues message to the DUT setting IPPing.DiagnosticsState
       to 'Requested'
    3. Wait for a '8 DIAGNOSTICS COMPLETE' event
    4. Use a GetParameterValues to read the IPPing diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount matches the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv4 IPPing Diagnostic - No Response tr69_diagnostics_4 IPv4 IPPing Diagnostic - No Response


    Procedure:

    1. Configure the DUT to send a IPv4 Ping to a Host on the WAN
    2. Disable the WAN host to prevent it from sending echo replies
    3. Send a GetParameterValues message to the DUT setting IPPing.DiagnosticsState
       to 'Requested'
    4. Wait for a '8 DIAGNOSTICS COMPLETE' event
    5. Use a GetParameterValues to read the IPPing diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount is 0
    4. The FailureCount matched the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv4 IPPing Diagnostic - No Route to Host tr69_diagnostics_5 IPv4 IPPing Diagnostic - No Route to Host


    Procedure:

    1. Configure the DUT to send a IPv4 Ping to a Host on the WAN
    2. Configure an intermediate router to reply with destination unreachable frames
    3. Send a GetParameterValues message to the DUT setting IPPing.DiagnosticsState
       to 'Requested'
    4. Wait for a '8 DIAGNOSTICS COMPLETE' event
    5. Use a GetParameterValues to read the IPPing diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount is 0
    4. The FailureCount matched the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv6 Diagnostic Ping to WAN Host tr69_diagnostics_10 IPv6 Diagnostic Ping to WAN Host


    Procedure:

    1. Configure the DUT to send a IPv6 Ping to a Host on the WAN
    2. Send a GetParameterValues message to the DUT setting IPPing.DiagnosticsState
       to 'Requested'
    3. Wait for a '8 DIAGNOSTICS COMPLETE' event
    4. Use a GetParameterValues to read the IPPing diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount matches the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv6 Diagnostic Ping to LAN Host tr69_diagnostics_11 IPv6 Diagnostic Ping to LAN Host


    Procedure:

    1. Configure the DUT to send a IPv6 Ping to a Host on the LAN
    2. Send a GetParameterValues message to the DUT setting IPPing.DiagnosticsState
       to 'Requested'
    3. Wait for a '8 DIAGNOSTICS COMPLETE' event
    4. Use a GetParameterValues to read the IPPing diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount matches the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv6 Diagnostic Ping to WAN Host using DNS tr69_diagnostics_12 IPv6 Diagnostic Ping to WAN Host using DNS


    Procedure:

    1. Configure the DUT to send a IPv6 Ping to a Host on the WAN using
       the WAN host's hostname
    2. Send a GetParameterValues message to the DUT setting IPPing.DiagnosticsState
       to 'Requested'
    3. Wait for a '8 DIAGNOSTICS COMPLETE' event
    4. Use a GetParameterValues to read the IPPing diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount matches the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv6 Diagnostic - No Response tr69_diagnostics_13 IPv6 Diagnostic - No Response


    Procedure:

    1. Configure the DUT to send a IPv6 Ping to a Host on the WAN
    2. Disable the WAN host to prevent it from sending echo replies
    3. Send a GetParameterValues message to the DUT setting IPPing.DiagnosticsState
       to 'Requested'
    4. Wait for a '8 DIAGNOSTICS COMPLETE' event
    5. Use a GetParameterValues to read the IPPing diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount is 0
    4. The FailureCount matched the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv6 Diagnostic - No Route to Host tr69_diagnostics_14 IPv6 Diagnostic - No Route to Host


    Procedure:

    1. Configure the DUT to send a IPv6 Ping to a Host on the WAN
    2. Configure an intermediate router to send destination unreachable replies
    3. Send a GetParameterValues message to the DUT setting IPPing.DiagnosticsState
       to 'Requested'
    4. Wait for a '8 DIAGNOSTICS COMPLETE' event
    5. Use a GetParameterValues to read the IPPing diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount is 0
    4. The FailureCount matched the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Ping Diagnostic - Fail to Resolve Hostname tr69_diagnostics_20 Ping Diagnostic - Fail to Resolve Hostname


    Procedure:

    1. Configure the DUT to send a Ping to a nonexistant hostname
    2. Send a GetParameterValues message to the DUT setting IPPing.DiagnosticsState
       to 'Requested'
    3. Wait for a '8 DIAGNOSTICS COMPLETE' event
    4. Use a GetParameterValues to read the IPPing diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Error_CannotResolveHostName'


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
UDPEcho Service Diagnostic from WAN host tr69_diagnostics_100 UDPEcho Service Diagnostic from WAN host


    Procedure:

    1. Configure the DUT's UDPEchoConfig to respond to UDPEcho packets.
    2. Send 5 UDPEcho packets to the WAN address of the DUT from a
       host on the WAN.
    3. Read the UDPEchoConfig from the DUT.

    Test Metrics:

    1. The UDPEchoConfig object could be properly configured.
    2. The DUT responds to all 5 of the UDP echo packets.
    3. The PacketsReceived parameter matches the PacketsSent parameter
       which matches the number of packets sent from the WAN host.



    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
UDPEchoPlus Service Diagnostic from WAN host tr69_diagnostics_101 UDPEchoPlus Service Diagnostic from WAN host


    Procedure:

    1. Configure the DUT's UDPEchoConfig to respond to UDPEchoPlus packets.
    2. Send 5 UDPEcho packets to the WAN address of the DUT from a
       host on the WAN.
    3. Read the UDPEchoConfig from the DUT.

    Test Metrics:

    1. The UDPEchoConfig object could be properly configured.
    2. The DUT responds to all 5 of the UDP echo packets.
    3. The PacketsReceived parameter matches the PacketsSent parameter
       which matches the number of packets sent from the WAN host.
    4. The counters in the UDPEchoPlus responses are correct.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
UDPEcho Service Diagnostic from LAN host tr69_diagnostics_102 UDPEcho Service Diagnostic from LAN host


    Procedure:

    1. Configure the DUT's UDPEchoConfig to respond to UDPEcho packets.
    2. Send 5 UDPEcho packets to the WAN address of the DUT from a
       host on the LAN.
    3. Read the UDPEchoConfig from the DUT.

    Test Metrics:

    1. The UDPEchoConfig object could be properly configured.
    2. The DUT responds to all 5 of the UDP echo packets.
    3. The PacketsReceived parameter matches the PacketsSent parameter
       which matches the number of packets sent from the LAN host.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
UDPEchoPlus Service Diagnostic from LAN host tr69_diagnostics_103 UDPEchoPlus Service Diagnostic from LAN host


    Procedure:

    1. Configure the DUT's UDPEchoConfig to respond to UDPEchoPlus packets.
    2. Send 5 UDPEcho packets to the WAN address of the DUT from a
       host on the LAN.
    3. Read the UDPEchoConfig from the DUT.

    Test Metrics:

    1. The UDPEchoConfig object could be properly configured.
    2. The DUT responds to all 5 of the UDP echo packets.
    3. The PacketsReceived parameter matches the PacketsSent parameter
       which matches the number of packets sent from the LAN host.
    4. The counters in the UDPEchoPlus response fields are correct.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv6 UDPEcho Service Diagnostic from WAN host tr69_diagnostics_110 IPv6 UDPEcho Service Diagnostic from WAN host


    Procedure:

    1. Configure the DUT's UDPEchoConfig to respond to UDPEcho packets.
    2. Send 5 UDPEcho packets to the WAN address of the DUT from a
       host on the WAN.
    3. Read the UDPEchoConfig from the DUT.

    Test Metrics:

    1. The UDPEchoConfig object could be properly configured.
    2. The DUT responds to all 5 of the UDP echo packets.
    3. The PacketsReceived parameter matches the PacketsSent parameter
       which matches the number of packets sent from the WAN host.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv6 UDPEchoPlus Service Diagnostic from WAN host tr69_diagnostics_111 IPv6 UDPEchoPlus Service Diagnostic from WAN host


    Procedure:

    1. Configure the DUT's UDPEchoConfig to respond to UDPEchoPlus packets.
    2. Send 5 UDPEcho packets to the WAN address of the DUT from a
       host on the WAN.
    3. Read the UDPEchoConfig from the DUT.

    Test Metrics:

    1. The UDPEchoConfig object could be properly configured.
    2. The DUT responds to all 5 of the UDP echo packets.
    3. The PacketsReceived parameter matches the PacketsSent parameter
       which matches the number of packets sent from the WAN host.
    4. The counters in the UDPEchoPlus response fields are correct.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv6 UDPEcho Service Diagnostic from LAN host tr69_diagnostics_112 IPv6 UDPEcho Service Diagnostic from LAN host


    Procedure:

    1. Configure the DUT's UDPEchoConfig to respond to UDPEcho packets.
    2. Send 5 UDPEcho packets to the WAN address of the DUT from a
       host on the LAN.
    3. Read the UDPEchoConfig from the DUT.

    Test Metrics:

    1. The UDPEchoConfig object could be properly configured.
    2. The DUT responds to all 5 of the UDP echo packets.
    3. The PacketsReceived parameter matches the PacketsSent parameter
       which matches the number of packets sent from the LAN host.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv6 UDPEchoPlus Service Diagnostic from LAN host tr69_diagnostics_113 IPv6 UDPEchoPlus Service Diagnostic from LAN host


    Procedure:

    1. Configure the DUT's UDPEchoConfig to respond to UDPEchoPlus packets.
    2. Send 5 UDPEcho packets to the WAN address of the DUT from a
       host on the LAN.
    3. Read the UDPEchoConfig from the DUT.

    Test Metrics:

    1. The UDPEchoConfig object could be properly configured.
    2. The DUT responds to all 5 of the UDP echo packets.
    3. The PacketsReceived parameter matches the PacketsSent parameter
       which matches the number of packets sent from the LAN host.
    4. The counters in the UDPEchoPlus response fields are correct.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv4 UDPEcho Diagnostic to WAN Host tr69_diagnostics_201 IPv4 UDPEcho Diagnostic to WAN Host


    Procedure:

    1. Configure the DUT to send a IPv4 UDPEcho to a Host on the WAN
    2. Send a GetParameterValues message to the DUT setting DiagnosticsState
       to 'Requested'
    3. Wait for a '8 DIAGNOSTICS COMPLETE' event
    4. Use a GetParameterValues to read the UDPEcho diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount matches the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv4 UDPEcho Diagnostic to LAN Host tr69_diagnostics_202 IPv4 UDPEcho Diagnostic to LAN Host


    Procedure:

    1. Configure the DUT to send a IPv4 UDPEcho to a Host on the LAN
    2. Send a GetParameterValues message to the DUT setting DiagnosticsState
       to 'Requested'
    3. Wait for a '8 DIAGNOSTICS COMPLETE' event
    4. Use a GetParameterValues to read the diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount matches the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv4 UDPEcho Diagnostic to WAN Host using DNS tr69_diagnostics_203 IPv4 UDPEcho Diagnostic to WAN Host using DNS


    Procedure:

    1. Configure the DUT to send a IPv4 UDPEcho to a Host on the WAN using
       the WAN host's hostname
    2. Send a GetParameterValues message to the DUT setting DiagnosticsState
       to 'Requested'
    3. Wait for a '8 DIAGNOSTICS COMPLETE' event
    4. Use a GetParameterValues to read the diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount matches the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv4 UDPEcho Diagnostic - No Response tr69_diagnostics_204 IPv4 UDPEcho Diagnostic - No Response


    Procedure:

    1. Configure the DUT to send a IPv4 UDPEcho to a Host on the WAN
    2. Disable the WAN host to prevent it from sending echo replies
    3. Send a GetParameterValues message to the DUT setting DiagnosticsState
       to 'Requested'
    4. Wait for a '8 DIAGNOSTICS COMPLETE' event
    5. Use a GetParameterValues to read the diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount is 0
    4. The FailureCount matched the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv4 UDPEcho Diagnostic - No Route to Host tr69_diagnostics_205 IPv4 UDPEcho Diagnostic - No Route to Host


    Procedure:

    1. Configure the DUT to send a IPv4 UDPEcho to a Host on the WAN
    2. Configure an intermediate router to send destination unreachable replies
    3. Send a GetParameterValues message to the DUT setting DiagnosticsState
       to 'Requested'
    4. Wait for a '8 DIAGNOSTICS COMPLETE' event
    5. Use a GetParameterValues to read the diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount is 0
    4. The FailureCount matched the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv6 UDPEcho Diagnostic to WAN Host tr69_diagnostics_210 IPv6 UDPEcho Diagnostic to WAN Host


    Procedure:

    1. Configure the DUT to send a IPv6 UDPEcho to a Host on the WAN
    2. Send a GetParameterValues message to the DUT setting DiagnosticsState
       to 'Requested'
    3. Wait for a '8 DIAGNOSTICS COMPLETE' event
    4. Use a GetParameterValues to read the diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount matches the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv6 UDPEcho Diagnostic to LAN Host tr69_diagnostics_211 IPv6 UDPEcho Diagnostic to LAN Host


    Procedure:

    1. Configure the DUT to send a IPv6 UDPEcho to a Host on the LAN
    2. Send a GetParameterValues message to the DUT setting DiagnosticsState
       to 'Requested'
    3. Wait for a '8 DIAGNOSTICS COMPLETE' event
    4. Use a GetParameterValues to read the diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount matches the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv6 UDPEcho Diagnostic to WAN Host using DNS tr69_diagnostics_212 IPv6 UDPEcho Diagnostic to WAN Host using DNS


    Procedure:

    1. Configure the DUT to send a IPv6 UDPEcho to a Host on the WAN using
       the WAN host's hostname
    2. Send a GetParameterValues message to the DUT setting DiagnosticsState
       to 'Requested'
    3. Wait for a '8 DIAGNOSTICS COMPLETE' event
    4. Use a GetParameterValues to read the diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount matches the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv6 UDPEcho Diagnostic - No Response tr69_diagnostics_213 IPv6 UDPEcho Diagnostic - No Response


    Procedure:

    1. Configure the DUT to send a IPv6 UDPEcho to a Host on the WAN
    2. Disable the WAN host to prevent it from sending echo replies
    3. Send a GetParameterValues message to the DUT setting DiagnosticsState
       to 'Requested'
    4. Wait for a '8 DIAGNOSTICS COMPLETE' event
    5. Use a GetParameterValues to read the diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount is 0
    4. The FailureCount matched the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
IPv6 UDPEcho Diagnostic - No Route to Host tr69_diagnostics_214 IPv6 UDPEcho Diagnostic - No Route to Host


    Procedure:

    1. Configure the DUT to send a IPv6 UDPEcho to a Host on the WAN
    2. Configure an intermediate router to send destination unreachable replies
    3. Send a GetParameterValues message to the DUT setting DiagnosticsState
       to 'Requested'
    4. Wait for a '8 DIAGNOSTICS COMPLETE' event
    5. Use a GetParameterValues to read the diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Complete'
    3. The SuccessCount is 0
    4. The FailureCount matched the number of pings requested


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
UDPEcho Diagnostic - Fail to Resolve Hostname tr69_diagnostics_220 UDPEcho Diagnostic - Fail to Resolve Hostname


    Procedure:

    1. Configure the DUT to send a UDPEcho to a nonexistant hostname
    2. Send a GetParameterValues message to the DUT setting DiagnosticsState
       to 'Requested'
    3. Wait for a '8 DIAGNOSTICS COMPLETE' event
    4. Use a GetParameterValues to read the diagnostic counters

    Test Metrics:

    1. The DUT sends a '8 DIAGNOSTICS COMPLETE' event
    2. The DiagnosticsState at the completion of the diagnostic is 'Error_CannotResolveHostName'


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf

tr69_rfc6265.tcl

TR-069 tests for HTTP Cookie support

Test Name Synopsis
Verify DUT can process a large cookie tr69_cookie_1 Verify DUT can process a large cookie


    Purpose:

    Verify that the DUT is able to process a large cookie in the middle of a
    CWMP session.

    Procedure:

    1. Start a CWMP session with the DUT.
    2. After the DUT sends an inform, include a 512 byte session cookie in
       the response
    3. Send a GetParameterValues RPC to the DUT for a known parameter.

    Metrics:

    1. The DUT responds to the GetParameterValues with a GetParameterValuesResponse
       and includes the session cookie set in step 2.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf

    IETF RFC 6265 "HTTP State Management Mechanism"

    https://tools.ietf.org/html/rfc6265
Test Name Synopsis
Verify the DUT does not store cookies with a bad Domain tr69_cookie_2 Verify the DUT does not store cookies with a bad Domain


    Purpose:

    The purpose of this test is to ensure the DUT ignores a Set-Cookie header when
    the Domain cookie attribute does not match the expected domain.

    Test Procedure:

    1. Request a new CWMP session with the DUT.
    2. After the DUT sends an Inform, send a response with cookies using the
       following domain attributes:
         a. Domain=acs.qacafe.com
         b. Domain=notacs.qacafe.com
         c. Domain=com
         d. Domain=.acs.qacafe.com
         e. Domain=acs.qacafe.com.
         f. doMAiN=acs.qacafe.com
         g. Domain=
    3. Perform a GetParameterValues on a known parameter in the DUT's data model.

    Metrics:

    1. The DUT included cookies a, d, and f from step 2 in the GetParameterValuesResponse.
    2. The DUT excluded cookies b, c, e and g from step 2 in the GetParameterValuesResponse.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf

    IETF RFC 6265 "HTTP State Management Mechanism"

    https://tools.ietf.org/html/rfc6265
Test Name Synopsis
Verify the DUT respects the Path attribute tr69_cookie_3 Verify the DUT respects the Path attribute


    Purpose:

    The purpose of this test is to ensure the DUT properly includes or
    withholds cookies from POST messages depending on the configured Path.

    Test Procedure:

    1. Request a new CWMP session with the DUT.
    2. After the DUT sends an Inform, send a response with cookies using the
    following Path attributes:
         a. ""
         b. Path=/
         c. Path=/excluded
         d. Path=illegal-path!
    3. Perform a GetParameterValues on a known parameter in the DUT's data model.

    Metrics:

    1. The DUT included cookies a, and b from step 2 in the GetParameterValuesResponse.
    2. The DUT excluded cookies c, and d from step 2 in the GetParameterValuesResponse.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf

    IETF RFC 6265 "HTTP State Management Mechanism"

    https://tools.ietf.org/html/rfc6265
Test Name Synopsis
Verify the DUT respects the Secure attribute tr69_cookie_4 Verify the DUT respects the Secure attribute


    Purpose:

    The purpose of this test is to verify that the DUT supports the Secure
    cookie attribute.

    Test Procedure:

    1. Request a new CWMP session with the DUT.
    2. After the DUT sends an Inform, send a response with two cookies, the first
       should not include the Secure attribute, the second should.
    3. Send a GetParameterValues to the DUT for a known parameter.

    Metrics:

    1. If the DUT is configured to connect to the ACS using HTTPS, both
       cookies are included in the GetParameterValuesResponse. If the DUT
       is configured to just use HTTP, only the cookie without the Secure
       attribute is included.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf

    IETF RFC 6265 "HTTP State Management Mechanism"

    https://tools.ietf.org/html/rfc6265
Test Name Synopsis
Verify the DUT can handle 5 cookies tr69_cookie_10 Verify the DUT can handle 5 cookies


    Purpose:

    The purpose of this test is to verify that the DUT is able to handle 5 cookies
    from the same domain.

    Test Procedure:

    1. Request a new CWMP session with the DUT.
    2. After the DUT sends an Inform, send a response with 5 unique cookies.
    3. Perform a GetParameterValues on a known parameter in the DUT's data model.

    Metrics:

    1. After the InformResponse, subsequest messages from the DUT include all 5 configured
       cookies from step 2.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf

    IETF RFC 6265 "HTTP State Management Mechanism"

    https://tools.ietf.org/html/rfc6265
Test Name Synopsis
Verify the DUT can handle 10 cookies tr69_cookie_11 Verify the DUT can handle 10 cookies


    Purpose:

    The purpose of this test is to verify that the DUT is able to handle 10 cookies
    from the same domain.

    Test Procedure:

    1. Request a new CWMP session with the DUT.
    2. After the DUT sends an Inform, send a response with 10 unique cookies.
    3. Perform a GetParameterValues on a known parameter in the DUT's data model.

    Metrics:

    1. After the InformResponse, subsequest messages from the DUT include all 10 configured
       cookies from step 2.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf

    IETF RFC 6265 "HTTP State Management Mechanism"

    https://tools.ietf.org/html/rfc6265
Test Name Synopsis
Verify the DUT can handle 20 cookies tr69_cookie_12 Verify the DUT can handle 20 cookies


    Purpose:

    The purpose of this test is to verify that the DUT is able to handle 20 cookies
    from the same domain.

    Test Procedure:

    1. Request a new CWMP session with the DUT.
    2. After the DUT sends an Inform, send a response with 20 unique cookies.
    3. Perform a GetParameterValues on a known parameter in the DUT's data model.

    Metrics:

    1. After the InformResponse, subsequest messages from the DUT include all 20 configured
       cookies from step 2.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf

    IETF RFC 6265 "HTTP State Management Mechanism"

    https://tools.ietf.org/html/rfc6265
Test Name Synopsis
Verify the DUT can handle 50 cookies tr69_cookie_13 Verify the DUT can handle 50 cookies


    Purpose:

    The purpose of this test is to verify that the DUT is able to handle 50 cookies
    from the same domain.

    Test Procedure:

    1. Request a new CWMP session with the DUT.
    2. After the DUT sends an Inform, send a response with 50 unique cookies.
    3. Perform a GetParameterValues on a known parameter in the DUT's data model.

    Metrics:

    1. After the InformResponse, subsequest messages from the DUT include all 50 configured
       cookies from step 2.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf

    IETF RFC 6265 "HTTP State Management Mechanism"

    https://tools.ietf.org/html/rfc6265
Test Name Synopsis
Verify the DUT can handle 65 cookies tr69_cookie_14 Verify the DUT can handle 65 cookies


    Purpose:

    The purpose of this test is to verify that the DUT is able to handle 65 cookies
    from the same domain. This test requires the minimum Cookie storage suggested by
    TR-069 (512 Bytes).


    Test Procedure:

    1. Request a new CWMP session with the DUT.
    2. After the DUT sends an Inform, send a response with 65 unique cookies.
    3. Perform a GetParameterValues on a known parameter in the DUT's data model.

    Metrics:

    1. After the InformResponse, subsequest messages from the DUT include all 65 configured
       cookies from step 2.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf

    IETF RFC 6265 "HTTP State Management Mechanism"

    https://tools.ietf.org/html/rfc6265
Test Name Synopsis
Verify the DUT can handle 100 cookies tr69_cookie_15 Verify the DUT can handle 100 cookies


    Purpose:

    The purpose of this test is to verify that the DUT is able to handle 100 cookies
    from the same domain.

    Test Procedure:

    1. Request a new CWMP session with the DUT.
    2. After the DUT sends an Inform, send a response with 100 unique cookies.
    3. Perform a GetParameterValues on a known parameter in the DUT's data model.

    Metrics:

    1. After the InformResponse, subsequest messages from the DUT include all 100 configured
       cookies from step 2.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4"

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf

    IETF RFC 6265 "HTTP State Management Mechanism"

    https://tools.ietf.org/html/rfc6265

tr111_part1.tcl

TR-111 Part 1 tests for device-gateway association

Test Name Synopsis
Verify CPE contains required TR-111 Part 1 Parameters tr111_p1_1 Verify CPE contains required TR-111 Part 1 Parameters


    Step 1. Read all entries below InternetGatewayDevice.ManagementServer.
            or Device.ManagementServer
    Step 2. Verify ManageableDeviceNumberOfEntries is present
    Step 3. Verify ManageableDeviceNotificationLimit is present


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex F: Device-Gateway Association

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify ManageableDeviceNumberOfEntries is read-only tr111_p1_2 Verify ManageableDeviceNumberOfEntries is read-only


    Step 1. Initiate new CWMP session
    Step 2. SetParameterValues on ManageableDeviceNumberOfEntries
    Step 3. Verify SetParameterValues fails


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex F: Device-Gateway Association

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify DHCP Vendor options included in response to DHCPDISCOVERY and DHCPREQUEST tr111_p1_10 Verify DHCP Vendor options included in response to DHCPDISCOVERY and DHCPREQUEST


    Step 1. Read the DeviceInfo from the CPE via CWMP
    Step 2. Start a new DHCP client with TR-111 Vendor Options included
    Step 3. Verify DHCPOFFER contains Vendor Options for gateway
    Step 4. Verify DHCACK contains Vendor Options for gateway


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex F: Device-Gateway Association

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify DHCP Vendor options included in response to DHCPINFORM tr111_p1_11 Verify DHCP Vendor options included in response to DHCPINFORM


    Step 1. Read the DeviceInfo from the CPE via CWMP
    Step 2. Start a new DHCP client without TR-111 Vendor Options included
    Step 3. After client has received an IP address, send DHCPINFORM with TR-111 Vendor Options
    Step 4. Verify DHCACK contains Vendor Options for gateway


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex F: Device-Gateway Association

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify Active Notification on ManageableDeviceNumberOfEntries tr111_p1_20 Verify Active Notification on ManageableDeviceNumberOfEntries


    Step 1. Create new DHCP client with TR-111 vendor Options
    Step 2. Turn on Active Notification for ManageableDeviceNumberOfEntries
    Step 3. Start DHCP Client
    Step 4. Wait for "4 VALUE CHANGE" event
    Step 5. Verify ManageableDeviceNumberOfEntries parameter is included
    Step 6. Read ManageableDeviceTable
    Step 7. Verify New CPE device is included


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section F.2.1: Gateway Requirements

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify Passive Notification on ManageableDeviceNumberOfEntries tr111_p1_21 Verify Passive Notification on ManageableDeviceNumberOfEntries


    Step 1. Turn off any Periodic Inform
    Step 2. Create new DHCP client with TR-111 vendor Options
    Step 3. Turn on Passive Notification for ManageableDeviceNumberOfEntries
    Step 4. Start DHCP Client
    Step 5. Wait 60 seconds to verify that no "4 VALUE CHANGE" event is received
    Step 6. Request a new CWMP session
    Step 7. Verify "4 VALUE CHANGE" event is received
    Step 8. Verify ManageableDeviceNumberOfEntries parameter is included
    Step 9. Read ManageableDeviceTable
    Step 10. Verify New CPE device is included
    Step 11. Enable Periodic Inform if it was originally enabled


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section F.2.1: Gateway Requirements

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify Multiple LAN Devices with NotificationLimit of 0 seconds tr111_p1_22 Verify Multiple LAN Devices with NotificationLimit of 0 seconds


    Step 1. Create two new DHCP clients with TR-111 vendor Options
    Step 2. Set the NotificationLimit to 0 seconds
    Step 3. Turn on Active Notification for ManageableDeviceNumberOfEntries
    Step 4. Start DHCP Client 1
    Step 5. Wait for "4 VALUE CHANGE" event
    Step 6. Verify ManageableDeviceNumberOfEntries parameter is included
    Step 7. Start DHCP Client 2
    Step 8. Wait for "4 VALUE CHANGE" event
    Step 9. Verify ManageableDeviceNumberOfEntries parameter is included


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section F.2.1: Gateway Requirements

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify Multiple LAN Devices with NotificationLimit of 60 seconds tr111_p1_23 Verify Multiple LAN Devices with NotificationLimit of 60 seconds


    Step 1. Create two new DHCP clients with TR-111 vendor Options
    Step 2. Set the NotificationLimit to 60 seconds
    Step 3. Turn on Active Notification for ManageableDeviceNumberOfEntries
    Step 4. Start DHCP Client 1
    Step 5. Wait for "4 VALUE CHANGE" event
    Step 6. Verify ManageableDeviceNumberOfEntries parameter is included
    Step 7. Start DHCP Client 2
    Step 8. Wait for "4 VALUE CHANGE" event
    Step 9. Verify notification was not received for at least 50 seconds
            NOTE: This allows for a 10 second difference
    Step 10. Verify ManageableDeviceNumberOfEntries parameter is included


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section F.2.1: Gateway Requirements

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf

tr111_part2.tcl

TR-111 Part 2 tests for connection request via NAT gateway

Test Name Synopsis
Verify initial TR-111 Part 2 data model for UDP Connection Requests tr111_p2_1 Verify initial TR-111 Part 2 data model for UDP Connection Requests


    Step 1. Configure STUN server to report true wan side IP address (no NAT)
    Step 2. Wait for any NAT bindings from STUN client to update
    Step 3. Read all entries below root.ManagementServer. to learn TR-111 Part 2 parameters
    Step 4. Validate that all TR-111 Part 2 parameters are reported
    Step 5. Verify UDPConnectionRequestAddress is local WAN IP address of CPE
    Step 6. Initiate a UDP Connection Request
    Step 7. Verify a new CWMP session is established with the '6 CONNECTION REQUEST' event

    Reference:
    TR-111 Part 2
    Section 2.2.4 Data-Model Extension


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex G: Connection Request via NAT Gateway

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify STUN client sends STUN Binding Requests to STUN Server tr111_p2_10 Verify STUN client sends STUN Binding Requests to STUN Server


    Step 1. Configure STUN server to report true wan side IP address (no NAT)
    Step 2. Wait for STUN Binding Requests from the CPE based on the expected STUN username
    Step 3. Verify Binding-Request contains CONNECTION-REQUEST-BINDING attribute


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section G.2.3: Message Flows

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify STUN client indicates binding change notification when NAT changes tr111_p2_11 Verify STUN client indicates binding change notification when NAT changes


    Step 1. Configure STUN server to report true wan side IP address (no NAT)
    Step 2. Wait for a STUN Binding Request from the CPE
    Step 3. Send expected Binding Response to STUN client
    Step 4. Reconfigure STUN server to force NAT to occur
    Step 5. Wait for binding change notification including CONNECTION-REQUEST-BINDING
            and BINDING-CHANGE attributes
    Step 6. Send expected Binding Response to STUN client


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section G.2.3: Message Flows

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify STUN client retransmits binding change notifications when NAT changes tr111_p2_12 Verify STUN client retransmits binding change notifications when NAT changes


    Step 1. Configure STUN server to report true wan side IP address (no NAT)
    Step 2. Wait for a STUN Binding Request from the CPE
    Step 3. Send expected Binding Response to STUN client
    Step 4. Reconfigure STUN server to force NAT to occur
    Step 5. Wait for binding change notification including CONNECTION-REQUEST-BINDING
            and BINDING-CHANGE attributes
    Step 6. Configure STUN server to not respond to BINDING-CHANGE requests
    Step 7. Verify the STUN client retransmits STUN Binding Requests
    Step 8. Verify the STUN ID is the same in each retransmission

    For Binding Requests that include the BINDING-CHANGE atrribute, the CPE MUST
    follow the retransmission procedures defined in RFC 3489. RFC 3489 Section
    9.3 defines at least 9 transmission attempts before the CPE should
    consider the Binding Request to have failed.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section G.2.1.3: Communication of the Binding Information to the ACS

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify CWMP client sends Active Notification when NAT binding changes tr111_p2_20 Verify CWMP client sends Active Notification when NAT binding changes


    Step 1. Configure STUN server to report true wan side IP address (no NAT)
    Step 2. Wait for a STUN Binding Request from the CPE
    Step 3. Send expected Binding Response to STUN client
    Step 4. Reconfigure STUN server to force NAT to occur
    Step 5. Wait for new Inform with event '4 VALUE CHANGE' for UDPConnectionRequestAddress

    If the ACS has set the Notification attribute on the UDPConnectionRequestAddress parameter to
    Active Notification, then whenever the binding information has changed, the CPE MUST
    establish a connection to the ACS and include the UDPConnectionRequestAddress in the Inform
    message.

    NOTE: During the initial start phase of the test run, the CPE is configured
    for Active Notification on parameters NATDetected and UDPConnectionRequestAddress.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section G.2.1.3: Communication of the Binding Information to the ACS

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify UDP ConnectionRequest with NAT detected tr111_p2_30 Verify UDP ConnectionRequest with NAT detected


    Step 1. Configure STUN server to force NAT to occur
    Step 2. Wait for BINDING-CHANGE notification from the CPE
    Step 3. Initiate a UDP Connection Request to the IP and port indicated in the BINDING-CHANGE
    Step 4. Verify a new CWMP session with event '6 CONNECTION REQUEST' is established


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex G: Connection Request via NAT Gateway

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify duplicate UDP ConnectionRequest attempts are ignored tr111_p2_31 Verify duplicate UDP ConnectionRequest attempts are ignored


    Step 1. Configure STUN server to force NAT to occur
    Step 2. Wait for BINDING-CHANGE notification from the CPE
    Step 3. Initiate a UDP Connection Request to the IP and port indicated in the BINDING-CHANGE
    Step 4. Verify a new CWMP session with event '6 CONNECTION REQUEST' is established


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex G: Connection Request via NAT Gateway

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify STUN client maintains the NAT-Binding tr111_p2_32 Verify STUN client maintains the NAT-Binding


    Step 1. Configure STUN server to force NAT to occur
    Step 2. Wait for BINDING-CHANGE notification from the CPE
    Step 3. Wait for additional Binding Requests wth CONNECTION-REQUEST-BINDING attribute
    Step 4. Verify the same src IPv4 address and port number are used for the Binding-Requests
    Step 5. Initiate a UDP Connection Request to the IP and port indicated in the BINDING-CHANGE
    Step 6. Verify a new CWMP session with event '6 CONNECTION REQUEST' is established


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section G.2.1.2: Maintaining the Binding

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify NATDetected parameter is set to true when NAT is detected tr111_p2_40 Verify NATDetected parameter is set to true when NAT is detected


    Step 1. Configure STUN server to force NAT to occur
    Step 2. Wait for BINDING-CHANGE notification from the CPE
    Step 3. Initiate a UDP Connection Request to the IP and port indicated in the BINDING-CHANGE
    Step 4. Verify a new CWMP session with event '6 CONNECTION REQUEST' is established
    Step 6. Send a GetParameterValues on the NATDetected parameter
    Step 7. Verify the NATDetected parameter is 1/true


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex G: Connection Request via NAT Gateway

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Verify UDPConnectionRequestAddressNotificationLimit with NAT changes tr111_p2_50 Verify UDPConnectionRequestAddressNotificationLimit with NAT changes


    Step 1. Configure CPE with UDPConnectionRequestAddressNotificationLimit of 4 x STUN maximum keep alive
    Step 2. Reconfigure STUN server to force NAT to occur
    Step 3. Wait for new Inform with event '4 VALUE CHANGE' for UDPConnectionRequestAddress
    Step 4. Reconfigure STUN server to force NAT to occur with a new IP address
    Step 5. Wait for new Inform with event '4 VALUE CHANGE' for UDPConnectionRequestAddress
    Step 6. Verify second '4 VALUE CHANGE' occurs after UDPConnectionRequestAddressNotificationLimit seconds

    When the UDPConnectionRequestAddress is changed, if the time since the most recent
    Notification on a change to the UDPCOnnectionRequestAddress is less than the value of
    UDPConnectionRequestAddressNotificationLimit, the Notification MUST be delayed until the
    specified minimum time period is met.


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section G.2.1.3: Communication of the Binding Information to the ACS

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Config Scenario 1: Verify STUN client with STUN server IP address different than ACS IP address tr111_p2_100 Config Scenario 1: Verify STUN client with STUN server IP address different than ACS IP address


    Step 1. Create a new unique STUN server at a new IP address on the WAN
    Step 2. Configure the STUN client to use the new STUN server
    Step 3. Wait for BINDING-CHANGE notification from the CPE at the new STUN server
    Step 4. Initiate a UDP Connection Request to the IP and port indicated in the BINDING-CHANGE
    Step 5. Verify a new CWMP session with event '6 CONNECTION REQUEST' is established


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex G: Connection Request via NAT Gateway

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Config Scenario 2: Verify STUN client with domain name for STUN server tr111_p2_101 Config Scenario 2: Verify STUN client with domain name for STUN server


    Step 1. Create a new unique STUN server at a new IP address on the WAN
    Step 2. Add a new domain name for this IP address to all CDRouter DNS servers
    Step 3. Configure the STUN client to use the new STUN server using a domain name
    Step 4. Wait for BINDING-CHANGE notification from the CPE at the new STUN server
    Step 5. Initiate a UDP Connection Request to the IP and port indicated in the BINDING-CHANGE
    Step 6. Verify a new CWMP session with event '6 CONNECTION REQUEST' is established


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex G: Connection Request via NAT Gateway

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf
Test Name Synopsis
Config Scenario 3: Verify STUN client using a specific port number for the STUN server tr111_p2_102 Config Scenario 3: Verify STUN client using a specific port number for the STUN server


    Step 1. Create a new unique STUN server at a new IP address on the WAN
    Step 2. Configure the STUN client to use the new STUN server and unique port number
    Step 3. Wait for BINDING-CHANGE notification from the CPE at the new STUN server
    Step 4. Initiate a UDP Connection Request to the IP and port indicated in the BINDING-CHANGE
    Step 5. Verify a new CWMP session with event '6 CONNECTION REQUEST' is established


    References:

    BBF TR-069 Issue 1 Amendment 6 "CPE WAN Management Protocol Version 1.4" Section Annex G: Connection Request via NAT Gateway

    https://www.broadband-forum.org/download/TR-069_Amendment-6.pdf

tr143_http.tcl

TR-143 tests for performance diagnostics using HTTP

Test Name Synopsis
Verify DownloadDiagnostics using IPv4 address based URL tr143_http_1 Verify DownloadDiagnostics using IPv4 address based URL


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a DownloadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv4
            address based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify DownloadDiagnostics test results provided by the DUT


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.4: DownloadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Verify DownloadDiagnostics using IPv4 domain based URL tr143_http_2 Verify DownloadDiagnostics using IPv4 domain based URL


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a DownloadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv4
            dmain based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify DownloadDiagnostics test results provided by the DUT


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.4: DownloadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Measure IPv4 HTTP download throughput tr143_http_3 Measure IPv4 HTTP download throughput


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a DownloadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv4
            address based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify DownloadDiagnostics test results provided by the DUT
    step 6. Compute HTTP download throughput using DownloadDiagnostics test
            results

    Note: 1 MBits/sec is equivelent to 1,000,000 bits/sec


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.4: DownloadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Measure IPv4 HTTP download response time tr143_http_4 Measure IPv4 HTTP download response time


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a DownloadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv4
            address based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify DownloadDiagnostics test results provided by the DUT
    step 6. Compute HTTP download response time using DownloadDiagnostics test
            results


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.4: DownloadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Verify UploadDiagnostics using IPv4 address based URL tr143_http_11 Verify UploadDiagnostics using IPv4 address based URL


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a UploadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv4
            address based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify UploadDiagnostics test results provided by the DUT


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.5: UploadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Verify UploadDiagnostics using IPv4 domain based URL tr143_http_12 Verify UploadDiagnostics using IPv4 domain based URL


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a UploadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv4
            dmain based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify UploadDiagnostics test results provided by the DUT


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.5: UploadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Measure IPv4 HTTP upload throughput tr143_http_13 Measure IPv4 HTTP upload throughput


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a UploadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv4
            address based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify UploadDiagnostics test results provided by the DUT
    step 6. Compute HTTP upload throughput using UploadDiagnostics test
            results

    Note: 1 MBits/sec is equivelent to 1,000,000 bits/sec


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.5: UploadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Measure IPv4 HTTP upload response time tr143_http_14 Measure IPv4 HTTP upload response time


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a UploadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv4
            address based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify UploadDiagnostics test results provided by the DUT
    step 6. Compute HTTP upload response time using UploadDiagnostics test
            results


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.5: UploadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Verify DownloadDiagnostics timestamp fields use microsecond resolution tr143_http_20 Verify DownloadDiagnostics timestamp fields use microsecond resolution


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a DownloadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv4
            dmain based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify timestamp parameters in DownloadDiagnostics test results
            provided by the DUT use microsecond resolution


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.4: DownloadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Verify DownloadDiagnostics test returns valid error code when HTTP 404 error is received tr143_http_30 Verify DownloadDiagnostics test returns valid error code when HTTP 404 error is received


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a DownloadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv4
            URL that will produce an HTTP 404 error
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Error_NoResponse' or 'Error_Other'


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.4: DownloadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Verify DownloadDiagnostics test returns valid error code when DNS lookup fails tr143_http_31 Verify DownloadDiagnostics test returns valid error code when DNS lookup fails


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a DownloadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv4
            URL that will produce a DNS lookup failure
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Error_InitConnectionFailed' or 'Error_CannotResolveHostName'

    Broadband Forum TR-143, Issue: 1 Amendment 1 Corrigendum 1, "Enabling
    Network Throughput Performance Tests and Statistical Monitoring"

    Section 4.1 "CPE initiated diagnostics"
    Appendix A.4 "DownloadDiagnostics Utilizing HTTP Transport"
Test Name Synopsis
Verify DownloadDiagnostics test returns valid error code when no HTTP service is available tr143_http_32 Verify DownloadDiagnostics test returns valid error code when no HTTP service is available


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a DownloadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv4
            URL that will reject all incoming connections
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Error_InitConnectionFailed' or 'Error_Other'


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.4: DownloadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Verify download DiagnosticsState is reset when configuration changes tr143_http_40 Verify download DiagnosticsState is reset when configuration changes


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a DownloadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv4
            dmain based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify DownloadDiagnostics test results provided by the DUT
    step 6. Issue a SetParameterValues RPC to change the DownloadURL Parameter
            to a new value
    step 7. Issue a GetParameterValues RPC to read DownloadDiagnostics data
    step 8. Verify that the value of the DiagnosticsState parameter is now 'None'

    Note:

    Broadband Forum TR-098
    Broadband Forum TR-181 Issue 1
    Broadband Forum TR-181 Issue 2

    Parameter definition for .DownloadDiagnostics.DiagnosticsState

    "Modifying any of the writable parameters in this object except for this
    one MUST result in the value of this parameter being set to 'None'."


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.4: DownloadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Verify UploadDiagnostics timestamp fields use microsecond resolution tr143_http_50 Verify UploadDiagnostics timestamp fields use microsecond resolution


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a UploadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv4
            dmain based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify timestamp parameters in UploadDiagnostics test results
            provided by the DUT use microsecond resolution


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.5: UploadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Verify UploadDiagnostics test returns valid error code when HTTP 404 error is received tr143_http_60 Verify UploadDiagnostics test returns valid error code when HTTP 404 error is received


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a UploadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv4
            URL that will produce an HTTP 404 error
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Error_NoResponse' or 'Error_Other'


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.5: UploadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Verify UploadDiagnostics test returns valid error code when DNS lookup fails tr143_http_61 Verify UploadDiagnostics test returns valid error code when DNS lookup fails


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a UploadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv4
            URL that will produce a DNS lookup failure
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Error_InitConnectionFailed' or 'Error_CannotResolveHostName'


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.5: UploadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Verify UploadDiagnostics test returns valid error code when no HTTP service is available tr143_http_62 Verify UploadDiagnostics test returns valid error code when no HTTP service is available


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a UploadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv4
            URL that will reject all incoming connections
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Error_InitConnectionFailed' or 'Error_Other'


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.5: UploadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Verify upload DiagnosticsState is reset when configuration changes tr143_http_70 Verify upload DiagnosticsState is reset when configuration changes


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a UploadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv4
            dmain based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify UploadDiagnostics test results provided by the DUT
    step 6. Issue a SetParameterValues RPC to change the UploadURL Parameter
            to a new value
    step 7. Issue a GetParameterValues RPC to read UploadDiagnostics data
    step 8. Verify that the value of the DiagnosticsState parameter is now 'None'

    Note:

    Broadband Forum TR-098
    Broadband Forum TR-181 Issue 1
    Broadband Forum TR-181 Issue 2

    Parameter definition for .DownloadDiagnostics.DiagnosticsState

    "Modifying any of the writable parameters in this object except for this
    one MUST result in the value of this parameter being set to 'None'."


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.5: UploadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Verify DownloadDiagnostics using IPv6 address based URL tr143_http_101 Verify DownloadDiagnostics using IPv6 address based URL


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a DownloadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv6
            address based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify DownloadDiagnostics test results provided by the DUT


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.4: DownloadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Verify DownloadDiagnostics using IPv6 domain based URL tr143_http_102 Verify DownloadDiagnostics using IPv6 domain based URL


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a DownloadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv6
            dmain based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify DownloadDiagnostics test results provided by the DUT


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.4: DownloadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Measure IPv6 HTTP download throughput tr143_http_103 Measure IPv6 HTTP download throughput


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a DownloadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv6
            address based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify DownloadDiagnostics test results provided by the DUT
    step 6. Compute HTTP download throughput using DownloadDiagnostics test
            results


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.4: DownloadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Measure IPv6 HTTP download response time tr143_http_104 Measure IPv6 HTTP download response time


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a DownloadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv6
            address based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify DownloadDiagnostics test results provided by the DUT
    step 6. Compute HTTP download response time using DownloadDiagnostics test
            results


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.4: DownloadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Verify UploadDiagnostics using IPv6 address based URL tr143_http_111 Verify UploadDiagnostics using IPv6 address based URL


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a UploadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv6
            address based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify UploadDiagnostics test results provided by the DUT


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.5: UploadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Verify UploadDiagnostics using IPv6 domain based URL tr143_http_112 Verify UploadDiagnostics using IPv6 domain based URL


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a UploadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv6
            dmain based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify UploadDiagnostics test results provided by the DUT


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.5: UploadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Measure IPv6 HTTP upload throughput tr143_http_113 Measure IPv6 HTTP upload throughput


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a UploadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv6
            address based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify UploadDiagnostics test results provided by the DUT
    step 6. Compute HTTP upload throughput using UploadDiagnostics test
            results


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.5: UploadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf
Test Name Synopsis
Measure IPv6 HTTP upload response time tr143_http_114 Measure IPv6 HTTP upload response time


    step 1. Initiate a new CWMP session using the DUT's ConnectionRequestURL
    step 2. Initiate a UploadDiagnostics test by configuring the
            DiagnosticsState parameter to a value of 'Requested' using an IPv6
            address based URL
    step 3. Wait for new Inform RPC from the DUT with '8 DIAGNOSTICS COMPLETE'
            event code
    step 4. Verify that the value of the DiagnosticsState parameter is
            'Completed'
    step 5. Verify UploadDiagnostics test results provided by the DUT
    step 6. Compute HTTP upload response time using UploadDiagnostics test
            results


    References:

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Section 4.1: CPE initiated diagnostics

    https://www.broadband-forum.org/download/TR-143.pdf

    BBF TR-143 Issue 1 Amendment 1 Corrigendum 1 "Enabling Network Throughput Performance Tests and Statistical Monitoring" Section Appendix A.5: UploadDiagnostics Utilizing HTTP Transport

    https://www.broadband-forum.org/download/TR-143.pdf

InternetGatewayDevice1_profiles.tcl

TR-098 CWMP profile testing for IGD:1 root data model

Test Name Synopsis
Verify InternetGatewayDevice Baseline Profile using GetParameterNames from top level InternetGatewayDevice_Baseline_gpn_1 Verify InternetGatewayDevice Baseline Profile using GetParameterNames from top level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice Baseline Profile using GetParameterNames walk at each level InternetGatewayDevice_Baseline_gpn_walk_2 Verify InternetGatewayDevice Baseline Profile using GetParameterNames walk at each level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = true
    step 2. Continue to send GetParameterNames for every partial path that is
            returned until all parameter names have been discovered
    step 3. Verify all returned names against the profile definition
    step 4. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice Baseline Profile parameters with 'Write' requirement have Writable flag InternetGatewayDevice_Baseline_gpn_req_3 Verify InternetGatewayDevice Baseline Profile parameters with ‘Write’ requirement have Writable flag


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify the returned parameter requirements field matches the profile
    step 3. Fail the test if any required parameters are missing
    step 4. If the object is listed as 'W' in the profile definition, make sure the 'Writable' flag
            is set.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice Baseline Profile using GetParameterValues RPC InternetGatewayDevice_Baseline_gpv_4 Verify InternetGatewayDevice Baseline Profile using GetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Verify all returned parameters against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice Baseline Profile using SetParameterValues RPC InternetGatewayDevice_Baseline_spv_5 Verify InternetGatewayDevice Baseline Profile using SetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all parameters that should be writable based on the profile definition
    step 3. For each parameter, attempt to set its current value using SetParameterValue
    step 4. Fail the test if any SetParameterValues fails
    step 5. Report a summary of all SetParameterValues at the end of the test
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice Baseline Profile using AddObject and DeleteObject on all creatable objects InternetGatewayDevice_Baseline_ado_6 Verify InternetGatewayDevice Baseline Profile using AddObject and DeleteObject on all creatable objects


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all objects that can be created based on the profile definition (either PC or POC)
    step 3. For each object, attempt to create a new instance using AddObject
    step 4. Fail the test if any AddObject fails
    step 5. Initiate a GetParameterValues on new object instance
    step 6. Verify all subparameters have been created based on the profile
    step 7. After creating all objects, delete each object using DeleteObject
    step 8. Fail the test if any DeleteObject fails

    NOTE: This testcase is based on OD-128 Test 27 Part 3 Profile Object Creation
    and OD-128 Test 27 Part 4 Profile Object Deletion.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice Baseline Profile using GetParameterValues for all GetParameterNames full paths InternetGatewayDevice_Baseline_gpn_and_gpv_7 Verify InternetGatewayDevice Baseline Profile using GetParameterValues for all GetParameterNames full paths


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    step 4. For each full parameter name, execute a GetParameterValues
    step 5. Verify all GetParameterValue RPCs succeeed
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice EthernetLAN Profile using GetParameterNames from top level InternetGatewayDevice_EthernetLAN_gpn_1 Verify InternetGatewayDevice EthernetLAN Profile using GetParameterNames from top level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice EthernetLAN Profile using GetParameterNames walk at each level InternetGatewayDevice_EthernetLAN_gpn_walk_2 Verify InternetGatewayDevice EthernetLAN Profile using GetParameterNames walk at each level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = true
    step 2. Continue to send GetParameterNames for every partial path that is
            returned until all parameter names have been discovered
    step 3. Verify all returned names against the profile definition
    step 4. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice EthernetLAN Profile parameters with 'Write' requirement have Writable flag InternetGatewayDevice_EthernetLAN_gpn_req_3 Verify InternetGatewayDevice EthernetLAN Profile parameters with ‘Write’ requirement have Writable flag


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify the returned parameter requirements field matches the profile
    step 3. Fail the test if any required parameters are missing
    step 4. If the object is listed as 'W' in the profile definition, make sure the 'Writable' flag
            is set.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice EthernetLAN Profile using GetParameterValues RPC InternetGatewayDevice_EthernetLAN_gpv_4 Verify InternetGatewayDevice EthernetLAN Profile using GetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Verify all returned parameters against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice EthernetLAN Profile using SetParameterValues RPC InternetGatewayDevice_EthernetLAN_spv_5 Verify InternetGatewayDevice EthernetLAN Profile using SetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all parameters that should be writable based on the profile definition
    step 3. For each parameter, attempt to set its current value using SetParameterValue
    step 4. Fail the test if any SetParameterValues fails
    step 5. Report a summary of all SetParameterValues at the end of the test
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice EthernetLAN Profile using GetParameterValues for all GetParameterNames full paths InternetGatewayDevice_EthernetLAN_gpn_and_gpv_7 Verify InternetGatewayDevice EthernetLAN Profile using GetParameterValues for all GetParameterNames full paths


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    step 4. For each full parameter name, execute a GetParameterValues
    step 5. Verify all GetParameterValue RPCs succeeed
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice USBLAN Profile using GetParameterNames from top level InternetGatewayDevice_USBLAN_gpn_1 Verify InternetGatewayDevice USBLAN Profile using GetParameterNames from top level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice USBLAN Profile using GetParameterNames walk at each level InternetGatewayDevice_USBLAN_gpn_walk_2 Verify InternetGatewayDevice USBLAN Profile using GetParameterNames walk at each level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = true
    step 2. Continue to send GetParameterNames for every partial path that is
            returned until all parameter names have been discovered
    step 3. Verify all returned names against the profile definition
    step 4. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice USBLAN Profile parameters with 'Write' requirement have Writable flag InternetGatewayDevice_USBLAN_gpn_req_3 Verify InternetGatewayDevice USBLAN Profile parameters with ‘Write’ requirement have Writable flag


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify the returned parameter requirements field matches the profile
    step 3. Fail the test if any required parameters are missing
    step 4. If the object is listed as 'W' in the profile definition, make sure the 'Writable' flag
            is set.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice USBLAN Profile using GetParameterValues RPC InternetGatewayDevice_USBLAN_gpv_4 Verify InternetGatewayDevice USBLAN Profile using GetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Verify all returned parameters against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice USBLAN Profile using SetParameterValues RPC InternetGatewayDevice_USBLAN_spv_5 Verify InternetGatewayDevice USBLAN Profile using SetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all parameters that should be writable based on the profile definition
    step 3. For each parameter, attempt to set its current value using SetParameterValue
    step 4. Fail the test if any SetParameterValues fails
    step 5. Report a summary of all SetParameterValues at the end of the test
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice USBLAN Profile using GetParameterValues for all GetParameterNames full paths InternetGatewayDevice_USBLAN_gpn_and_gpv_7 Verify InternetGatewayDevice USBLAN Profile using GetParameterValues for all GetParameterNames full paths


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    step 4. For each full parameter name, execute a GetParameterValues
    step 5. Verify all GetParameterValue RPCs succeeed
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice WiFiLAN Profile using GetParameterNames from top level InternetGatewayDevice_WiFiLAN_gpn_1 Verify InternetGatewayDevice WiFiLAN Profile using GetParameterNames from top level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice WiFiLAN Profile using GetParameterNames walk at each level InternetGatewayDevice_WiFiLAN_gpn_walk_2 Verify InternetGatewayDevice WiFiLAN Profile using GetParameterNames walk at each level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = true
    step 2. Continue to send GetParameterNames for every partial path that is
            returned until all parameter names have been discovered
    step 3. Verify all returned names against the profile definition
    step 4. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice WiFiLAN Profile parameters with 'Write' requirement have Writable flag InternetGatewayDevice_WiFiLAN_gpn_req_3 Verify InternetGatewayDevice WiFiLAN Profile parameters with ‘Write’ requirement have Writable flag


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify the returned parameter requirements field matches the profile
    step 3. Fail the test if any required parameters are missing
    step 4. If the object is listed as 'W' in the profile definition, make sure the 'Writable' flag
            is set.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice WiFiLAN Profile using GetParameterValues RPC InternetGatewayDevice_WiFiLAN_gpv_4 Verify InternetGatewayDevice WiFiLAN Profile using GetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Verify all returned parameters against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice WiFiLAN Profile using SetParameterValues RPC InternetGatewayDevice_WiFiLAN_spv_5 Verify InternetGatewayDevice WiFiLAN Profile using SetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all parameters that should be writable based on the profile definition
    step 3. For each parameter, attempt to set its current value using SetParameterValue
    step 4. Fail the test if any SetParameterValues fails
    step 5. Report a summary of all SetParameterValues at the end of the test
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice WiFiLAN Profile using GetParameterValues for all GetParameterNames full paths InternetGatewayDevice_WiFiLAN_gpn_and_gpv_7 Verify InternetGatewayDevice WiFiLAN Profile using GetParameterValues for all GetParameterNames full paths


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    step 4. For each full parameter name, execute a GetParameterValues
    step 5. Verify all GetParameterValue RPCs succeeed
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice ADSLWAN Profile using GetParameterNames from top level InternetGatewayDevice_ADSLWAN_gpn_1 Verify InternetGatewayDevice ADSLWAN Profile using GetParameterNames from top level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice ADSLWAN Profile using GetParameterNames walk at each level InternetGatewayDevice_ADSLWAN_gpn_walk_2 Verify InternetGatewayDevice ADSLWAN Profile using GetParameterNames walk at each level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = true
    step 2. Continue to send GetParameterNames for every partial path that is
            returned until all parameter names have been discovered
    step 3. Verify all returned names against the profile definition
    step 4. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice ADSLWAN Profile parameters with 'Write' requirement have Writable flag InternetGatewayDevice_ADSLWAN_gpn_req_3 Verify InternetGatewayDevice ADSLWAN Profile parameters with ‘Write’ requirement have Writable flag


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify the returned parameter requirements field matches the profile
    step 3. Fail the test if any required parameters are missing
    step 4. If the object is listed as 'W' in the profile definition, make sure the 'Writable' flag
            is set.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice ADSLWAN Profile using GetParameterValues RPC InternetGatewayDevice_ADSLWAN_gpv_4 Verify InternetGatewayDevice ADSLWAN Profile using GetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Verify all returned parameters against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice ADSLWAN Profile using SetParameterValues RPC InternetGatewayDevice_ADSLWAN_spv_5 Verify InternetGatewayDevice ADSLWAN Profile using SetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all parameters that should be writable based on the profile definition
    step 3. For each parameter, attempt to set its current value using SetParameterValue
    step 4. Fail the test if any SetParameterValues fails
    step 5. Report a summary of all SetParameterValues at the end of the test
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice ADSLWAN Profile using AddObject and DeleteObject on all creatable objects InternetGatewayDevice_ADSLWAN_ado_6 Verify InternetGatewayDevice ADSLWAN Profile using AddObject and DeleteObject on all creatable objects


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all objects that can be created based on the profile definition (either PC or POC)
    step 3. For each object, attempt to create a new instance using AddObject
    step 4. Fail the test if any AddObject fails
    step 5. Initiate a GetParameterValues on new object instance
    step 6. Verify all subparameters have been created based on the profile
    step 7. After creating all objects, delete each object using DeleteObject
    step 8. Fail the test if any DeleteObject fails

    NOTE: This testcase is based on OD-128 Test 27 Part 3 Profile Object Creation
    and OD-128 Test 27 Part 4 Profile Object Deletion.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice ADSLWAN Profile using GetParameterValues for all GetParameterNames full paths InternetGatewayDevice_ADSLWAN_gpn_and_gpv_7 Verify InternetGatewayDevice ADSLWAN Profile using GetParameterValues for all GetParameterNames full paths


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    step 4. For each full parameter name, execute a GetParameterValues
    step 5. Verify all GetParameterValue RPCs succeeed
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice ADSL2WAN Profile using GetParameterNames from top level InternetGatewayDevice_ADSL2WAN_gpn_1 Verify InternetGatewayDevice ADSL2WAN Profile using GetParameterNames from top level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice ADSL2WAN Profile using GetParameterNames walk at each level InternetGatewayDevice_ADSL2WAN_gpn_walk_2 Verify InternetGatewayDevice ADSL2WAN Profile using GetParameterNames walk at each level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = true
    step 2. Continue to send GetParameterNames for every partial path that is
            returned until all parameter names have been discovered
    step 3. Verify all returned names against the profile definition
    step 4. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice ADSL2WAN Profile parameters with 'Write' requirement have Writable flag InternetGatewayDevice_ADSL2WAN_gpn_req_3 Verify InternetGatewayDevice ADSL2WAN Profile parameters with ‘Write’ requirement have Writable flag


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify the returned parameter requirements field matches the profile
    step 3. Fail the test if any required parameters are missing
    step 4. If the object is listed as 'W' in the profile definition, make sure the 'Writable' flag
            is set.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice ADSL2WAN Profile using GetParameterValues RPC InternetGatewayDevice_ADSL2WAN_gpv_4 Verify InternetGatewayDevice ADSL2WAN Profile using GetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Verify all returned parameters against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice ADSL2WAN Profile using SetParameterValues RPC InternetGatewayDevice_ADSL2WAN_spv_5 Verify InternetGatewayDevice ADSL2WAN Profile using SetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all parameters that should be writable based on the profile definition
    step 3. For each parameter, attempt to set its current value using SetParameterValue
    step 4. Fail the test if any SetParameterValues fails
    step 5. Report a summary of all SetParameterValues at the end of the test
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice ADSL2WAN Profile using AddObject and DeleteObject on all creatable objects InternetGatewayDevice_ADSL2WAN_ado_6 Verify InternetGatewayDevice ADSL2WAN Profile using AddObject and DeleteObject on all creatable objects


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all objects that can be created based on the profile definition (either PC or POC)
    step 3. For each object, attempt to create a new instance using AddObject
    step 4. Fail the test if any AddObject fails
    step 5. Initiate a GetParameterValues on new object instance
    step 6. Verify all subparameters have been created based on the profile
    step 7. After creating all objects, delete each object using DeleteObject
    step 8. Fail the test if any DeleteObject fails

    NOTE: This testcase is based on OD-128 Test 27 Part 3 Profile Object Creation
    and OD-128 Test 27 Part 4 Profile Object Deletion.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice ADSL2WAN Profile using GetParameterValues for all GetParameterNames full paths InternetGatewayDevice_ADSL2WAN_gpn_and_gpv_7 Verify InternetGatewayDevice ADSL2WAN Profile using GetParameterValues for all GetParameterNames full paths


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    step 4. For each full parameter name, execute a GetParameterValues
    step 5. Verify all GetParameterValue RPCs succeeed
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice VDSL2WAN Profile using GetParameterNames from top level InternetGatewayDevice_VDSL2WAN_gpn_1 Verify InternetGatewayDevice VDSL2WAN Profile using GetParameterNames from top level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice VDSL2WAN Profile using GetParameterNames walk at each level InternetGatewayDevice_VDSL2WAN_gpn_walk_2 Verify InternetGatewayDevice VDSL2WAN Profile using GetParameterNames walk at each level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = true
    step 2. Continue to send GetParameterNames for every partial path that is
            returned until all parameter names have been discovered
    step 3. Verify all returned names against the profile definition
    step 4. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice VDSL2WAN Profile parameters with 'Write' requirement have Writable flag InternetGatewayDevice_VDSL2WAN_gpn_req_3 Verify InternetGatewayDevice VDSL2WAN Profile parameters with ‘Write’ requirement have Writable flag


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify the returned parameter requirements field matches the profile
    step 3. Fail the test if any required parameters are missing
    step 4. If the object is listed as 'W' in the profile definition, make sure the 'Writable' flag
            is set.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice VDSL2WAN Profile using GetParameterValues RPC InternetGatewayDevice_VDSL2WAN_gpv_4 Verify InternetGatewayDevice VDSL2WAN Profile using GetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Verify all returned parameters against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice VDSL2WAN Profile using SetParameterValues RPC InternetGatewayDevice_VDSL2WAN_spv_5 Verify InternetGatewayDevice VDSL2WAN Profile using SetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all parameters that should be writable based on the profile definition
    step 3. For each parameter, attempt to set its current value using SetParameterValue
    step 4. Fail the test if any SetParameterValues fails
    step 5. Report a summary of all SetParameterValues at the end of the test
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice VDSL2WAN Profile using AddObject and DeleteObject on all creatable objects InternetGatewayDevice_VDSL2WAN_ado_6 Verify InternetGatewayDevice VDSL2WAN Profile using AddObject and DeleteObject on all creatable objects


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all objects that can be created based on the profile definition (either PC or POC)
    step 3. For each object, attempt to create a new instance using AddObject
    step 4. Fail the test if any AddObject fails
    step 5. Initiate a GetParameterValues on new object instance
    step 6. Verify all subparameters have been created based on the profile
    step 7. After creating all objects, delete each object using DeleteObject
    step 8. Fail the test if any DeleteObject fails

    NOTE: This testcase is based on OD-128 Test 27 Part 3 Profile Object Creation
    and OD-128 Test 27 Part 4 Profile Object Deletion.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice VDSL2WAN Profile using GetParameterValues for all GetParameterNames full paths InternetGatewayDevice_VDSL2WAN_gpn_and_gpv_7 Verify InternetGatewayDevice VDSL2WAN Profile using GetParameterValues for all GetParameterNames full paths


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    step 4. For each full parameter name, execute a GetParameterValues
    step 5. Verify all GetParameterValue RPCs succeeed
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice PTMWAN Profile using GetParameterNames from top level InternetGatewayDevice_PTMWAN_gpn_1 Verify InternetGatewayDevice PTMWAN Profile using GetParameterNames from top level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice PTMWAN Profile using GetParameterNames walk at each level InternetGatewayDevice_PTMWAN_gpn_walk_2 Verify InternetGatewayDevice PTMWAN Profile using GetParameterNames walk at each level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = true
    step 2. Continue to send GetParameterNames for every partial path that is
            returned until all parameter names have been discovered
    step 3. Verify all returned names against the profile definition
    step 4. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice PTMWAN Profile parameters with 'Write' requirement have Writable flag InternetGatewayDevice_PTMWAN_gpn_req_3 Verify InternetGatewayDevice PTMWAN Profile parameters with ‘Write’ requirement have Writable flag


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify the returned parameter requirements field matches the profile
    step 3. Fail the test if any required parameters are missing
    step 4. If the object is listed as 'W' in the profile definition, make sure the 'Writable' flag
            is set.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice PTMWAN Profile using GetParameterValues RPC InternetGatewayDevice_PTMWAN_gpv_4 Verify InternetGatewayDevice PTMWAN Profile using GetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Verify all returned parameters against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice PTMWAN Profile using SetParameterValues RPC InternetGatewayDevice_PTMWAN_spv_5 Verify InternetGatewayDevice PTMWAN Profile using SetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all parameters that should be writable based on the profile definition
    step 3. For each parameter, attempt to set its current value using SetParameterValue
    step 4. Fail the test if any SetParameterValues fails
    step 5. Report a summary of all SetParameterValues at the end of the test
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice PTMWAN Profile using GetParameterValues for all GetParameterNames full paths InternetGatewayDevice_PTMWAN_gpn_and_gpv_7 Verify InternetGatewayDevice PTMWAN Profile using GetParameterValues for all GetParameterNames full paths


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    step 4. For each full parameter name, execute a GetParameterValues
    step 5. Verify all GetParameterValue RPCs succeeed
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice EthernetWAN Profile using GetParameterNames from top level InternetGatewayDevice_EthernetWAN_gpn_1 Verify InternetGatewayDevice EthernetWAN Profile using GetParameterNames from top level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice EthernetWAN Profile using GetParameterNames walk at each level InternetGatewayDevice_EthernetWAN_gpn_walk_2 Verify InternetGatewayDevice EthernetWAN Profile using GetParameterNames walk at each level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = true
    step 2. Continue to send GetParameterNames for every partial path that is
            returned until all parameter names have been discovered
    step 3. Verify all returned names against the profile definition
    step 4. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice EthernetWAN Profile parameters with 'Write' requirement have Writable flag InternetGatewayDevice_EthernetWAN_gpn_req_3 Verify InternetGatewayDevice EthernetWAN Profile parameters with ‘Write’ requirement have Writable flag


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify the returned parameter requirements field matches the profile
    step 3. Fail the test if any required parameters are missing
    step 4. If the object is listed as 'W' in the profile definition, make sure the 'Writable' flag
            is set.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice EthernetWAN Profile using GetParameterValues RPC InternetGatewayDevice_EthernetWAN_gpv_4 Verify InternetGatewayDevice EthernetWAN Profile using GetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Verify all returned parameters against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice EthernetWAN Profile using SetParameterValues RPC InternetGatewayDevice_EthernetWAN_spv_5 Verify InternetGatewayDevice EthernetWAN Profile using SetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all parameters that should be writable based on the profile definition
    step 3. For each parameter, attempt to set its current value using SetParameterValue
    step 4. Fail the test if any SetParameterValues fails
    step 5. Report a summary of all SetParameterValues at the end of the test
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice EthernetWAN Profile using GetParameterValues for all GetParameterNames full paths InternetGatewayDevice_EthernetWAN_gpn_and_gpv_7 Verify InternetGatewayDevice EthernetWAN Profile using GetParameterValues for all GetParameterNames full paths


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    step 4. For each full parameter name, execute a GetParameterValues
    step 5. Verify all GetParameterValue RPCs succeeed
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice POTSWAN Profile using GetParameterNames from top level InternetGatewayDevice_POTSWAN_gpn_1 Verify InternetGatewayDevice POTSWAN Profile using GetParameterNames from top level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice POTSWAN Profile using GetParameterNames walk at each level InternetGatewayDevice_POTSWAN_gpn_walk_2 Verify InternetGatewayDevice POTSWAN Profile using GetParameterNames walk at each level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = true
    step 2. Continue to send GetParameterNames for every partial path that is
            returned until all parameter names have been discovered
    step 3. Verify all returned names against the profile definition
    step 4. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice POTSWAN Profile parameters with 'Write' requirement have Writable flag InternetGatewayDevice_POTSWAN_gpn_req_3 Verify InternetGatewayDevice POTSWAN Profile parameters with ‘Write’ requirement have Writable flag


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify the returned parameter requirements field matches the profile
    step 3. Fail the test if any required parameters are missing
    step 4. If the object is listed as 'W' in the profile definition, make sure the 'Writable' flag
            is set.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice POTSWAN Profile using GetParameterValues RPC InternetGatewayDevice_POTSWAN_gpv_4 Verify InternetGatewayDevice POTSWAN Profile using GetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Verify all returned parameters against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice POTSWAN Profile using SetParameterValues RPC InternetGatewayDevice_POTSWAN_spv_5 Verify InternetGatewayDevice POTSWAN Profile using SetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all parameters that should be writable based on the profile definition
    step 3. For each parameter, attempt to set its current value using SetParameterValue
    step 4. Fail the test if any SetParameterValues fails
    step 5. Report a summary of all SetParameterValues at the end of the test
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice POTSWAN Profile using GetParameterValues for all GetParameterNames full paths InternetGatewayDevice_POTSWAN_gpn_and_gpv_7 Verify InternetGatewayDevice POTSWAN Profile using GetParameterValues for all GetParameterNames full paths


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    step 4. For each full parameter name, execute a GetParameterValues
    step 5. Verify all GetParameterValue RPCs succeeed
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice QoS Profile using GetParameterNames from top level InternetGatewayDevice_QoS_gpn_1 Verify InternetGatewayDevice QoS Profile using GetParameterNames from top level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice QoS Profile using GetParameterNames walk at each level InternetGatewayDevice_QoS_gpn_walk_2 Verify InternetGatewayDevice QoS Profile using GetParameterNames walk at each level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = true
    step 2. Continue to send GetParameterNames for every partial path that is
            returned until all parameter names have been discovered
    step 3. Verify all returned names against the profile definition
    step 4. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice QoS Profile parameters with 'Write' requirement have Writable flag InternetGatewayDevice_QoS_gpn_req_3 Verify InternetGatewayDevice QoS Profile parameters with ‘Write’ requirement have Writable flag


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify the returned parameter requirements field matches the profile
    step 3. Fail the test if any required parameters are missing
    step 4. If the object is listed as 'W' in the profile definition, make sure the 'Writable' flag
            is set.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice QoS Profile using GetParameterValues RPC InternetGatewayDevice_QoS_gpv_4 Verify InternetGatewayDevice QoS Profile using GetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Verify all returned parameters against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice QoS Profile using SetParameterValues RPC InternetGatewayDevice_QoS_spv_5 Verify InternetGatewayDevice QoS Profile using SetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all parameters that should be writable based on the profile definition
    step 3. For each parameter, attempt to set its current value using SetParameterValue
    step 4. Fail the test if any SetParameterValues fails
    step 5. Report a summary of all SetParameterValues at the end of the test
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice QoS Profile using AddObject and DeleteObject on all creatable objects InternetGatewayDevice_QoS_ado_6 Verify InternetGatewayDevice QoS Profile using AddObject and DeleteObject on all creatable objects


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all objects that can be created based on the profile definition (either PC or POC)
    step 3. For each object, attempt to create a new instance using AddObject
    step 4. Fail the test if any AddObject fails
    step 5. Initiate a GetParameterValues on new object instance
    step 6. Verify all subparameters have been created based on the profile
    step 7. After creating all objects, delete each object using DeleteObject
    step 8. Fail the test if any DeleteObject fails

    NOTE: This testcase is based on OD-128 Test 27 Part 3 Profile Object Creation
    and OD-128 Test 27 Part 4 Profile Object Deletion.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice QoS Profile using GetParameterValues for all GetParameterNames full paths InternetGatewayDevice_QoS_gpn_and_gpv_7 Verify InternetGatewayDevice QoS Profile using GetParameterValues for all GetParameterNames full paths


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    step 4. For each full parameter name, execute a GetParameterValues
    step 5. Verify all GetParameterValue RPCs succeeed
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice QoSDynamicFlow Profile using GetParameterNames from top level InternetGatewayDevice_QoSDynamicFlow_gpn_1 Verify InternetGatewayDevice QoSDynamicFlow Profile using GetParameterNames from top level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice QoSDynamicFlow Profile using GetParameterNames walk at each level InternetGatewayDevice_QoSDynamicFlow_gpn_walk_2 Verify InternetGatewayDevice QoSDynamicFlow Profile using GetParameterNames walk at each level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = true
    step 2. Continue to send GetParameterNames for every partial path that is
            returned until all parameter names have been discovered
    step 3. Verify all returned names against the profile definition
    step 4. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice QoSDynamicFlow Profile parameters with 'Write' requirement have Writable flag InternetGatewayDevice_QoSDynamicFlow_gpn_req_3 Verify InternetGatewayDevice QoSDynamicFlow Profile parameters with ‘Write’ requirement have Writable flag


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify the returned parameter requirements field matches the profile
    step 3. Fail the test if any required parameters are missing
    step 4. If the object is listed as 'W' in the profile definition, make sure the 'Writable' flag
            is set.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice QoSDynamicFlow Profile using GetParameterValues RPC InternetGatewayDevice_QoSDynamicFlow_gpv_4 Verify InternetGatewayDevice QoSDynamicFlow Profile using GetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Verify all returned parameters against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice QoSDynamicFlow Profile using SetParameterValues RPC InternetGatewayDevice_QoSDynamicFlow_spv_5 Verify InternetGatewayDevice QoSDynamicFlow Profile using SetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all parameters that should be writable based on the profile definition
    step 3. For each parameter, attempt to set its current value using SetParameterValue
    step 4. Fail the test if any SetParameterValues fails
    step 5. Report a summary of all SetParameterValues at the end of the test
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice QoSDynamicFlow Profile using AddObject and DeleteObject on all creatable objects InternetGatewayDevice_QoSDynamicFlow_ado_6 Verify InternetGatewayDevice QoSDynamicFlow Profile using AddObject and DeleteObject on all creatable objects


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all objects that can be created based on the profile definition (either PC or POC)
    step 3. For each object, attempt to create a new instance using AddObject
    step 4. Fail the test if any AddObject fails
    step 5. Initiate a GetParameterValues on new object instance
    step 6. Verify all subparameters have been created based on the profile
    step 7. After creating all objects, delete each object using DeleteObject
    step 8. Fail the test if any DeleteObject fails

    NOTE: This testcase is based on OD-128 Test 27 Part 3 Profile Object Creation
    and OD-128 Test 27 Part 4 Profile Object Deletion.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice QoSDynamicFlow Profile using GetParameterValues for all GetParameterNames full paths InternetGatewayDevice_QoSDynamicFlow_gpn_and_gpv_7 Verify InternetGatewayDevice QoSDynamicFlow Profile using GetParameterValues for all GetParameterNames full paths


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    step 4. For each full parameter name, execute a GetParameterValues
    step 5. Verify all GetParameterValue RPCs succeeed
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice Bridging Profile using GetParameterNames from top level InternetGatewayDevice_Bridging_gpn_1 Verify InternetGatewayDevice Bridging Profile using GetParameterNames from top level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice Bridging Profile using GetParameterNames walk at each level InternetGatewayDevice_Bridging_gpn_walk_2 Verify InternetGatewayDevice Bridging Profile using GetParameterNames walk at each level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = true
    step 2. Continue to send GetParameterNames for every partial path that is
            returned until all parameter names have been discovered
    step 3. Verify all returned names against the profile definition
    step 4. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice Bridging Profile parameters with 'Write' requirement have Writable flag InternetGatewayDevice_Bridging_gpn_req_3 Verify InternetGatewayDevice Bridging Profile parameters with ‘Write’ requirement have Writable flag


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify the returned parameter requirements field matches the profile
    step 3. Fail the test if any required parameters are missing
    step 4. If the object is listed as 'W' in the profile definition, make sure the 'Writable' flag
            is set.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice Bridging Profile using GetParameterValues RPC InternetGatewayDevice_Bridging_gpv_4 Verify InternetGatewayDevice Bridging Profile using GetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Verify all returned parameters against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice Bridging Profile using SetParameterValues RPC InternetGatewayDevice_Bridging_spv_5 Verify InternetGatewayDevice Bridging Profile using SetParameterValues RPC


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all parameters that should be writable based on the profile definition
    step 3. For each parameter, attempt to set its current value using SetParameterValue
    step 4. Fail the test if any SetParameterValues fails
    step 5. Report a summary of all SetParameterValues at the end of the test
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice Bridging Profile using AddObject and DeleteObject on all creatable objects InternetGatewayDevice_Bridging_ado_6 Verify InternetGatewayDevice Bridging Profile using AddObject and DeleteObject on all creatable objects


    step 1. Initiate a GetParameterValues on the top level object for the profile
    step 2. Find all objects that can be created based on the profile definition (either PC or POC)
    step 3. For each object, attempt to create a new instance using AddObject
    step 4. Fail the test if any AddObject fails
    step 5. Initiate a GetParameterValues on new object instance
    step 6. Verify all subparameters have been created based on the profile
    step 7. After creating all objects, delete each object using DeleteObject
    step 8. Fail the test if any DeleteObject fails

    NOTE: This testcase is based on OD-128 Test 27 Part 3 Profile Object Creation
    and OD-128 Test 27 Part 4 Profile Object Deletion.
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice Bridging Profile using GetParameterValues for all GetParameterNames full paths InternetGatewayDevice_Bridging_gpn_and_gpv_7 Verify InternetGatewayDevice Bridging Profile using GetParameterValues for all GetParameterNames full paths


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    step 4. For each full parameter name, execute a GetParameterValues
    step 5. Verify all GetParameterValue RPCs succeeed
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice Time Profile using GetParameterNames from top level InternetGatewayDevice_Time_gpn_1 Verify InternetGatewayDevice Time Profile using GetParameterNames from top level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify all returned names against the profile definition
    step 3. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice Time Profile using GetParameterNames walk at each level InternetGatewayDevice_Time_gpn_walk_2 Verify InternetGatewayDevice Time Profile using GetParameterNames walk at each level


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = true
    step 2. Continue to send GetParameterNames for every partial path that is
            returned until all parameter names have been discovered
    step 3. Verify all returned names against the profile definition
    step 4. Fail the test if any required parameters are missing
    

    References:

    BBF CWMP Data Model InternetGatewayDevice:1.14 Root Data Model "TR-098 Issue 1 Amendment 8"

    https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
Test Name Synopsis
Verify InternetGatewayDevice Time Profile parameters with 'Write' requirement have Writable flag InternetGatewayDevice_Time_gpn_req_3 Verify InternetGatewayDevice Time Profile parameters with ‘Write’ requirement have Writable flag


    step 1. Initiate a GetParameterNames on the top level object for the profile
            with NextLevel = false
    step 2. Verify the returned parameter requirements field matches the profile
    step 3. Fail the test if any required parameters are missing
    step 4. If the object is listed as 'W' in the profile definition, make sure the 'Writable' flag
            is set.
    

    References: