Internet DRAFT - draft-fajardo-dime-interop-test-suite

draft-fajardo-dime-interop-test-suite






AAA Working Group                                             V. Fajardo
Internet-Draft                                                      TARI
Expires: July 5, 2007                                         A. McNamee
                                                          Openet-Telecom
                                                           H. Tschofenig
                                                                 Siemens
                                                            J. Bournelle
                                                                 GET/INT
                                                            January 2007


                  Diameter Interoperability Test Suite
                draft-fajardo-dime-interop-test-suite-04

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on July 5, 2007.

Copyright Notice

   Copyright (C) The IETF Trust (2007).









Fajardo, et al.           Expires July 5, 2007                  [Page 1]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


Abstract

   This document describes a collection of test cases to be used for
   Diameter base protocol and Diameter applications interoperability
   testing.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  4
   3.  Diameter Base Protocol Test Suite  . . . . . . . . . . . . . .  5
     3.1.  Required . . . . . . . . . . . . . . . . . . . . . . . . .  5
       3.1.1.  Connectivity and Peering . . . . . . . . . . . . . . .  5
       3.1.2.  Routing  . . . . . . . . . . . . . . . . . . . . . . .  9
       3.1.3.  Relay Agent  . . . . . . . . . . . . . . . . . . . . . 11
       3.1.4.  Redirection Agent  . . . . . . . . . . . . . . . . . . 12
     3.2.  Optional . . . . . . . . . . . . . . . . . . . . . . . . . 12
       3.2.1.  General Statemachine . . . . . . . . . . . . . . . . . 12
       3.2.2.  Dynamic Peer Discovery . . . . . . . . . . . . . . . . 12
   4.  Diameter Applications  . . . . . . . . . . . . . . . . . . . . 14
     4.1.  Common Test Suite  . . . . . . . . . . . . . . . . . . . . 14
       4.1.1.  Required . . . . . . . . . . . . . . . . . . . . . . . 14
     4.2.  Diameter Credit Control Test Suite . . . . . . . . . . . . 17
       4.2.1.  Required . . . . . . . . . . . . . . . . . . . . . . . 18
       4.2.2.  Optional . . . . . . . . . . . . . . . . . . . . . . . 24
     4.3.  Diameter SIP Test Suite  . . . . . . . . . . . . . . . . . 27
       4.3.1.  Required . . . . . . . . . . . . . . . . . . . . . . . 28
     4.4.  3GPP Interface Test Suite  . . . . . . . . . . . . . . . . 36
       4.4.1.  Diameter Cx  . . . . . . . . . . . . . . . . . . . . . 36
       4.4.2.  Diameter Sh  . . . . . . . . . . . . . . . . . . . . . 39
       4.4.3.  Diameter Rf  . . . . . . . . . . . . . . . . . . . . . 41
     4.5.  Diameter EAP Test Suite  . . . . . . . . . . . . . . . . . 43
       4.5.1.  Required . . . . . . . . . . . . . . . . . . . . . . . 43
       4.5.2.  Optional Authorization/Accounting Tests  . . . . . . . 45
     4.6.  Diameter NASREQ Test Suite . . . . . . . . . . . . . . . . 45
       4.6.1.  Required . . . . . . . . . . . . . . . . . . . . . . . 46
       4.6.2.  Optional . . . . . . . . . . . . . . . . . . . . . . . 49
     4.7.  Diameter MIP Test Suite  . . . . . . . . . . . . . . . . . 49
       4.7.1.  Generic MIP Test Scenarios . . . . . . . . . . . . . . 49
       4.7.2.  Required . . . . . . . . . . . . . . . . . . . . . . . 50
       4.7.3.  Optional . . . . . . . . . . . . . . . . . . . . . . . 55
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . . 60
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 61
   7.  Normative References . . . . . . . . . . . . . . . . . . . . . 62
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 64
   Intellectual Property and Copyright Statements . . . . . . . . . . 65




Fajardo, et al.           Expires July 5, 2007                  [Page 2]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


1.  Introduction

   The document is meant to aid in the identifying the functional test
   cases of a Diameter implementation.  The Diameter interoperability
   test suites are categorized by different applications or extensions.
   Each category is further subdivided into required and optional
   functionality.  The required functionality is the baseline capability
   that an implementation must support to allow basic interoperability
   for that category.  Optional functionality covers features that not
   all implementations support or may wish to test.  The following is a
   list of Diameter applications that are currently categorized in this
   document:

   1.  Diameter Base Protocol [RFC3588]

   2.  Diameter Credit Control

   3.  Diameter SIP

   4.  3GPP Interfaces

   5.  Diameter EAP

   6.  Diameter NASREQ

   7.  Diameter MIP

   Note that some of the test cases can overlap.  For example, a NASREQ
   test case would normally encompass base protocol routing.  In such
   cases, it is implied that multiple test scenario can be covered by
   some test.

   At its current state, this document provides only a collection of
   test cases designed for interoperability.  Test plans may be included
   in future revisions of this work or maybe provided in some other
   document.















Fajardo, et al.           Expires July 5, 2007                  [Page 3]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

   Within this document the terms defined in [RFC2119] refers to the
   functionality that have to be provided by an implementation for the
   usage within this interoperability test event.










































Fajardo, et al.           Expires July 5, 2007                  [Page 4]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


3.  Diameter Base Protocol Test Suite

   All implementation must conform to [RFC3588].

3.1.  Required

3.1.1.  Connectivity and Peering

   Implementations must conform to Section 5.6 of [RFC3588].  Typical
   test topology for statemachine test uses peer pairs as shown in
   Figure 1.  It is left to the testers if one-to-many or many-to-one
   connections will be performed to test scalability and loading.  The
   test cases described below references Figure 1 below.

         +--------+                   +--------+
         |Vendor A|<---wired link---->|Vendor B|
         +--------+                   +--------+

                 Figure 1: Peer Statemachine Test Topology

3.1.1.1.  Capabilities Negotiation

   Implementations must be able to perform at least the following
   behavior described in Section 5.3 of [RFC3588].

   o  Positive test for establishment of connection with test pairs
      advertising support for common application ids (auth, accounting
      or vendor).  Vendor A initiates transport connection to B and
      trigger the process.

   o  Positive test for establishment of connection with test pairs of
      which one of them is advertising support for only relay app and no
      other app is in common.

   o  Positive test for establishment of connection advertising the
      relay app in auth app id, acct app id & VSA.

   o  Positive test for establishment of connection with test pairs
      advertising support common transport security, specifically the
      use of TLS and/or IPSec.  It is left up to the participants to
      generate appropriate keys and certificates specific for this test.
      Vendor A initiates transport connection to B and trigger the
      process and advertised proper Inband-Security support.

   o  Positive test for DWR/DWA exchange after connection is
      established.  Vendor A and B both exchange watchdogs as per
      Section 3.4.1 of [RFC3539].




Fajardo, et al.           Expires July 5, 2007                  [Page 5]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


   o  Negative test where DIAMETER_NO_COMMON_APPLICATION is returned by
      a peer with no common application id (auth, accounting or vendor).
      Intentionally configure vendor A not to advertise any
      applications, different applications than B or vendor id's known
      only to A.

   o  Negative test where DIAMETER_NO_COMMON_SECURITY is returned by a
      peer with no common application id.  Intentionally configure
      vendor A to send Inband-Security-AVP with value 1 (TLS) that B
      will not support.

   o  Negative test for unknown peers.  Use of DIAMETER_UNKNOWN_PEER or
      silent discard to disconnect unknown peers.  Intentionally
      configure vendor A to send an origin-host that is not in B's peer
      table.

   o  Negative test case for TLS handshake failure.  In the case where
      the negotiated Inband-Security involves subsequent TLS
      negotiation, participants can simulate a TLS handshake failure
      (i.e. via invalid certificates, TLS/SSL version mis-match etc)
      that must result in the peers being disconnected.

   Verification of each test result can be done manually.

3.1.1.2.  Election

   This test case refers to Section 5.6.4 of [RFC3588].  Responders must
   be able to resolve contention with initiator peers.

   o  Positive test for establishment of connection with responder
      having higher identity than initiator.  Vendor A initiates
      connection followed by B doing the same a few milliseconds later.
      Vendor A having a higher identity should close B's connection
      attempt.

   o  Positive test for disconnection with initiator having lower
      identity than the responder.  Vendor A initiates a connection
      followed by B doing the same a few milliseconds later.  Vendor A
      having a lower identity should close its initial connection
      attempt.

   o  Negative test for disconnection when initiator and responder have
      equal identity.  Vendor A and B will advertise the equal identity.
      Verify that both peers closed the connection.

   Verification of test results can be done manually.





Fajardo, et al.           Expires July 5, 2007                  [Page 6]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


3.1.1.3.  Disconnection

   Implementations must conform to Section 5.6.4 of [RFC3588] and
   Section 3.4.1 of [RFC3539].  Peers must be able to quickly determine
   disconnection events.  Verification of test results can be done
   manually.

   o  Positive test for peer disconnection using DPR/DPA exchange.
      Vendor A initiates shutdown while connected to B. Implementations
      behavior may vary depending on disconnection cause such as an
      eventual connection retry if a disconnection cause of REBOOTING is
      received.

   o  Positive test for detecting disconnection via system level events
      (i.e., transport resets, socket error, system link-down signals,
      etc).  Implementation must be able to initiate failover procedure.
      Implementation should also attempt re-connection with lost peer.
      Hard disconnection of vendor A and B's wired link can be done to
      simulate this scenario.

   o  Positive test for detecting disconnection via watchdog timeout.
      If there is no activity after a watchdog timer expires with
      pending request then the peer becomes suspect and implementation
      must be able to initiate failover procedure.  [RFC3539] suggest a
      minimum watchdog timeout at 6 sec.  Vendor B can setup a transport
      level filter to silently drop AAA traffic from B to simulate
      unresponsiveness of B.

   o  Positive test for resetting connection after at least two(2)
      watchdog has expired.  If a connection is already suspect, the
      peers must reset the connection.  Vendor A or B can setup a
      transport level filter to silently drop AAA traffic and simulate
      unresponsiveness of both peers.

   Verification of test results can be done manually.

3.1.1.4.  Re-Connection Algorithms

   Implementations must conform to Section 2.1 of [RFC3588].  Although a
   vendor can implement other algorithms and policies than those
   proposed in [RFC3588], a default reconnection scheme must be
   implemented.

   o  Positive test for peer re-connection after disconnection has been
      detected.  The link between vendor A and B is temporarily
      disconnected until such time that disconnection is detected by
      both peers.  The link can then be restored to test the re-
      connection behavior of both peers.  Verify that at least three(3)



Fajardo, et al.           Expires July 5, 2007                  [Page 7]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


      watchdog exchanges occur before both peers are no longer suspect.

3.1.1.5.  Failover and Failback

   Implementations must conform to Section 5.4.5 of [RFC3588] and
   Section 3.4.2 of [RFC3539].  Testing failover mechanism requires
   alternate peer connections.  A basic ring topology to test failover
   and failback is shown in Figure 2 where vendor A has a primary route
   to vendor C via vendor B and secondary route via vendor D. The same
   symmetry is applied to all other vendors.  As an example, vendor C
   has a symmetric topology where D is its primary connection and B is
   its secondary.  This allows the same tests to be performed for all
   vendors.  For testing failover on vendor A and B, link0 can be
   disconnected.  For vendor C and D, link2 can be disconnected and so
   on.

                      +---------+
                      |Vendor B |
                      +---------+
                     /           \
                  link0         link3
        +---------+/               \+---------+
        |Vendor A |                 |Vendor C |
        +---------+\               /+---------+
                  link1         link2
                     \+---------+/
                      |Vendor D |
                      +---------+

                     Figure 2: Failover Test Topology

   The enumerated test cases refers only to vendor A but can be applied
   to any of the vendor implementations in Figure 2.  Conditions for a
   positive test requires that realm routes to C is present in A and
   host routing is not used.  Initial traffic should flow from A to C
   via B (as the primary peer of A).

   o  Positive test for failover when link0 is disconnected.  Vendor A
      should have pending requests queued prior to disconnection.  Upon
      disconnection (see Section 3.1.1.3), verify that the pending
      request with T-flag set has been forwarded to C via D.

   o  Positive test for failover by using device watchdog as a means of
      triggering link0 disconnection.  Vendor A should have pending
      requests queued prior to disconnection.  Upon disconnection (see
      Section 3.1.1.3), verify that the pending request with T-flag set
      has been forwarded to C via D.




Fajardo, et al.           Expires July 5, 2007                  [Page 8]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


   o  Positive test for failback when link0 is restored and re-
      connection succeeds (See Section 3.1.1.4).  Verify that new
      request message is routed back to B.

   o  Negative test to generate DIAMETER_UNABLE_TO_DELIVER on answer
      message from B to A when Destination-Host is set to C. This can be
      simulated when link3 is disconnected and Vendor C is not reachable
      from Vendor.  Note that alternate path via Vendor D should not be
      used.

   o  Negative test to detect duplicate messages on C. Vendor B can
      disable watchdog processing but still allow request message
      forwarding.  This makes B a suspect peer from A and trigger
      failover procedure.  Forwarding of queue request will then be done
      through D. However, the original request messages would have
      reached C via B.

3.1.2.  Routing

   Implementation must conform to Section 6 of [RFC3588].  A basic
   topology to test Diameter routing is shown in Figure 3 where vendor A
   and vendor B can deploy two(2) Diameter peers to test host, realm and
   answer message routing.  Vendor A1 and A2 shares the same realm
   (realmA).  Vendor B1 and B2 share a different realm (realmB).  Test
   between both realms are symmetric although the description focuses
   mostly to vendor A for editorial reasons.  The topology is also
   designed so that multi-hop forwarding, message loopback and agent
   configuration can be tested.  Note that some test cases in this
   section require link disconnection overlap with the test cases
   outline in Section 3.1.1.3.  An implementation experiencing link
   disconnection must update its peer and realm route table accordingly.
   Verification for usage of proper routing AVPs in Section 6.7 of
   [RFC3588] must be done when testing routing functionality.

                      +---------+
                      |Vendor A2| (realmA)
                      +---------+
                     /     |     \
         (realmA) link1    |    link2
        +---------+/       |       \+---------+
        |Vendor A1|      link0      |Vendor B2| (realmB)
        +---------+\       |       /+---------+
                  link4    |    link3
                     \+---------+/
                      |Vendor B1|
                      +---------+
                       (realmB)




Fajardo, et al.           Expires July 5, 2007                  [Page 9]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


                      Figure 3: Routing Test Topology

3.1.2.1.  Peer Based Request Routing

   Implementation must conform to Section 6.1.5 of [RFC3588].  In order
   to perform the test cases the peer requesting the AAA routing must
   have the destination-host and the destination-realm present in the
   request message.

   o  Positive test for request forwarding from originator.  Request
      messages generated from A1 should reach B2 via B1 if destination-
      host of the request is B2 and destination-realm is realmB and all
      links are up.  A1 must perform realm routing to reach B1 and B1
      must perform forwarding to reach B2.  Verification of routing can
      be done manually if message has reached B2 via link4 and link3.

   o  Positive test for multi-hop request forwarding.  Request messages
      generated from A1 with destination-host B2 and destination-realm
      realmB should reach B2 via A2 and B1 if all links are up except
      for link4 and link2.  A1 and A2 must perform realm routing while
      B1 performs forwarding.  A1 and A2 must be able to route the
      request message to B1 even if it does not have B2 in its peer
      table.  Verification of routing can be done manually if message
      has reached B2 via link1, link0 and link3.

   o  Negative test for request forwarding.  If a request message
      generated from A1 has a destination-host B2 and destination-realm
      realmB with all links up except for link0, link2 and link4 then A2
      must send an answer message to A1 with result-code
      DIAMETER_UNABLE_TO_DELIVER.  Verification can be done manually if
      the answer message has reached A1 with E-bit set.

3.1.2.2.  Realm Based Routing

   Implementation must conform to Section 6.1 and Section 6.1.6 of
   [RFC3588].  Test cases for realm-based request routing must have
   destination-realm present but must not have destination-host present
   in the request message.  Note that there is some test overlap with
   the test cases defined in Section 3.1.2.1.

   o  Positive test for request routing from originator.  Request
      messages generated from A1 should reach B2 via B1 if the
      destination-realm is realmB and all links are up.  A1 and B1 must
      perform realm routing to reach B2.  The request must have an id
      (app, auth or vendor) that B1 must route and B2 must process
      locally.  Verification of routing can be done manually if message
      has reached B2 via link4 and link3.




Fajardo, et al.           Expires July 5, 2007                 [Page 10]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


   o  Positive test for multi-hop request routing.  Request messages
      generated from A1 with destination-realm realmB should reach B2
      via A2 and B1 if all links are up except for link4 and link2.  A1,
      A2 and B1 must perform realm routing.  The request must have an id
      (app, auth or vendor) that A1, A2 and B1 must route and B2 must
      process locally.  Verification of routing can be done manually if
      message has reached B2 via link1, link0 and link3.

   o  Negative test for request routing.  If a request message generated
      from A1 has a destination-realm realmB with all links up except
      for link0, link2 and link4 then A2 must send an answer message to
      A1 with result-code DIAMETER_UNABLE_TO_DELIVER.  Verification can
      be done manually if the answer message has reached A1 with E-bit
      set.

3.1.2.3.  Answer Message Routing

   Implementations must conform to Section 6.2 of [RFC3588].  Answer
   routing can be verified using test cases in Section 3.1.2.1 and
   Section 3.1.2.2.

3.1.2.4.  Loop Detection

   Implementation must conform to Section 6.1.3 of [RFC3588].  All
   forwarders must verify that their local identity is not present in
   the route-record of the request.  If it is present, the forwarder
   must send an answer with result-code DIAMETER_LOOP_DETECTED.  If it
   is not present, implementations must also insert route-records into
   the request messages.

   o  Positive test for loop detection can be done if a request
      originating from A1 has a destination-realm realmA and A1 is
      configure to route request for realmA to A2, A2 will route request
      for realmA to B1 and B1 will route request back to A1.  Though A1
      originated the request, it must be able to send an answer message
      with the E-bit set through the request path.

3.1.3.  Relay Agent

   Implementations must conform to Section 2.8.1, 6.1.8 and 6.2.2 of
   [RFC3588].  The topology shown in Figure 3 is also used for testing
   relay agent functionality.  Note that an overlap exists with the test
   case described in Section 3.1.2 when testing relay agents and those
   test cases should be used here as well.  Verification for usage of
   routing AVPs in Section 6.7 of [RFC3588] must be done when testing
   agent functionality.  Testing of proxy agents that keep vendor
   specific state, such as proxy-info, proxy-state, proxy-host, is out
   of scope of this document and can be done in parallel or independent



Fajardo, et al.           Expires July 5, 2007                 [Page 11]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


   of the test cases enumerated here.

3.1.4.  Redirection Agent

   Implementation must conform to Section 6.1.7 of [RFC3588].
   Verification can be made by inspecting the redirect answer message
   whether the result-code is set to DIAMETER_REDIRECT_INDICATION with
   the E-bit enabled and redirect-hosts added.

   o  Positive test for redirection.  Request messages generated from A1
      should reach B2 via B1 using redirect from A2 and all links are up
      except link0 and link2.  A1 must be configured to forward request
      message for realmB/B2 via A2.  A2 must be configured to act as a
      redirect agent and signal a redirect indication to A1 to use B1
      instead.  Verification of redirection can be done manually if
      messages have reached B2 and re-direct indication was processed by
      A1.

3.2.  Optional

   Implementations must conform to Section 5.6 of [RFC3588].  Test
   topology uses Figure 1.  This section describes optional test cases.

3.2.1.  General Statemachine

   Implementations must conform to Section 5.6.1 of [RFC3588].  The same
   topology in Figure 1 can be used to perform the test scenarios listed
   in this section.

   o  Negative test for non-CEA message received during CER/CEA
      exchange.  Silent discard and peer disconnection.  Vendor B can
      initiate a non Diameter server listening on a Diameter defined
      port number to simulate unrecognizable messages from vendor B. Or
      the AAA peer of vendor B is modified to generate a non-CEA message
      once a transport connection setup has been initiated.  Verify that
      vendor A has closed the connection.

3.2.2.  Dynamic Peer Discovery

   Implementations must conform to Section 5.3 of [RFC3588].
   Implementations must be able to perform at least the following
   behavior.

   o  Positive test for establishment of connection with unknown peer.
      The topology for this test is Figure 1.  Test case is dependent on
      implementation accepting dynamic peer table updates.  In such
      case, lifetime of new peer entry should be check against lifetime
      of connection.  Intentionally configure vendor A to send an



Fajardo, et al.           Expires July 5, 2007                 [Page 12]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


      origin-host that is not in B's peer table.  Verification of result
      can be done manually by inspecting the resulting peer table of B.

   o  Positive test after redirection (Section 3.1.4).  The topology for
      this test is Figure 3.  Additional verification can be done if
      Section 3.1.4 is successful.  Redirect-host routes can be cached
      by an implementation as a new route entry.  Same scenarios as in
      the redirect test case except subsequent request messages will be
      forwarded to B1 by A1.  Verify that only the initial message
      results in a redirect process.









































Fajardo, et al.           Expires July 5, 2007                 [Page 13]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


4.  Diameter Applications

4.1.  Common Test Suite

4.1.1.  Required

4.1.1.1.  Authentication and/or Authorization

   Applications intending to use authentication and/or authorization
   must conform to the statemachine specification in Section 8.1 of
   [RFC3588].  Since these test cases are session level, any topology
   can be used by a pair of vendors performing interoperability.  The
   minimum topology will be based on Figure 1.  Note that majority of
   these test are performed as part of other Diameter application test
   cases.  Therefore, implementations must be able to comply with these
   common cases.

4.1.1.1.1.  Stateful Session

   Implementations must conform to Section 8.1 of [RFC3588].
   Implementations must be able to perform at least the following
   behavior.

   o  Positive test for proper stateful session establishment.  Verify
      that auth-session-state with STATE_MAINTAINED is enforced in the
      client session.  Verify that auth-session-lifetime and auth-
      session-grace-period are negotiated properly and enforced between
      vendor implementations.  Must conform to Section 8.4 of [RFC3588].

   o  Positive test for proper stateful session re-auth.  Verify server
      initiated RAR/RAA exchange occurs on auth-lifetime and auth-grace
      period expiration.  Must conform to Section 8.3 of [RFC3588].

   o  Positive test for proper stateful session disconnection.  Verify
      client initiated STR/STA exchange occurs for auth failure and
      session timeout.  Verify values of auth-lifetime and auth-grace
      period against session-lifetime according to Section 8.9 of
      [RFC3588].  Verify application id value carried by the STR/STA
      message is that of the target application.

   o  Positive test for proper stateful session disconnection.  Verify
      server initiated ASR/ASA exchange occurs when server decides to
      discontinue service.  Implementations that allow for hard session
      termination should be able to perform these tests.  Must conform
      to Section 8.5 of [RFC3588].  Verify application id value carried
      by the STR/STA message is that of the target application.





Fajardo, et al.           Expires July 5, 2007                 [Page 14]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


   o  Positive test for proper stateful session disconnection using
      origin-state-id.  Verify a vendor implementation can at least
      cleanup stateful sessions once it has received a value of origin-
      state-id greater than a previously known value from the same
      issuer.  Verification can be done in the absence of an STR/STA
      exchange.  Must conform to Section 8.6 of [RFC3588].

4.1.1.1.2.  Stateless Session

   Implementations must conform to Section 8.1 of [RFC3588].
   Implementations must be able to perform at least the following
   behavior.

   o  Positive test for proper stateless session establishment.  Verify
      that auth-session-state negotiation between vendor implementation
      with NO_STATE_MAINTAINED is enforced in the client session.

   o  Positive test for proper stateless session disconnection.  Verify
      that session-lifetime is enforced in the client session.

4.1.1.2.  Accounting

   Applications intending to use Diameter accounting may conform to
   Section 8.2 and 9 of [RFC3588] if the particular application has not
   already defined its own statemachine.  Since these test cases are
   also session level, any topology can be used by a pair of vendors
   performing interoperability.  The minimum topology will be based on
   Figure 1.  Note that majority of these test are performed as part of
   other Diameter application test cases.  Therefore, implementations
   must be able to comply with these common cases.

4.1.1.2.1.  Client Session

   Implementations must conform to Section 8.2 of [RFC3588].
   Implementations must be able to perform at least the following
   behavior.  Verification of test results for these cases can be done
   manually.

   o  Positive test for proper client session establishment.  Verify
      that sub-session id is supported and that the client can support
      event record generation at the least.  Verify that the client
      should at least be able to support DELIVER_AND_GRANT.  Test
      entities must be able to configure their server implementation to
      send this avp.  Must conform to Section 9.4 and 9.8.7 of
      [RFC3588].

   o  Positive test for proper client session termination.  Verify that
      session termination causes transmission of stop record events if



Fajardo, et al.           Expires July 5, 2007                 [Page 15]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


      any and that all records generated are accounted for.  Validation
      of accounting records can be Diameter application specific and is
      left to the tester to confirm.

   o  Negative test for client session when server reports a failure.
      Verify that client session can cope with failed accounting starts
      or server storage failure and act accordingly based on Section 8.2
      [RFC3588].  Behavior of the client can be policy and
      implementation specific and is left to the tester to confirm.
      Failed accounting starts and storage failures can be simulated by
      mis-configuration of the server test peer.

   o  Negative test for client session when connectivity fails.  Verify
      that client session can cope with connectivity failure and act
      accordingly based on Section 9.4 [RFC3588].  The test can overlap
      with Section 3.1.1.3 and Section 3.1.1.5.

4.1.1.2.2.  Server Session

   Implementations must conform to Section 8.2 and 9 of [RFC3588].
   Implementations must be able to perform at least the following
   behavior.  Verification of test results for these cases can be done
   manually.  Since server sessions must support record storage it is
   left to the testers to validate storage (Section 9.5 [RFC3588]),
   sequencing and co-relation (Section 9.6 [RFC3588]) of records.

   o  Positive test for proper server session establishment.  Verify
      that sub-session id is supported and that the server enforces
      record generation on the client based on accounting-record-type.
      Verify that supervision timer is enforced when using stateful
      sessions.  Must conform to Section 9.5 of [RFC3588].

   o  Positive test for proper server session termination.  Verify that
      expiration of supervision timer in a stateful session terminates
      both client and server session on any vendor implementation.

   o  Negative test for server session when local storage failure
      occurs.  Verify that server can notify client of its state and act
      accordingly based on Section 8.2 of [RFC3588].  Validation is
      policy and implementation specific and is left to the tester to
      confirm.  Storage failure can be simulated by mis-configuration on
      the server test peer.  This test is mostly a local validation but
      it can be used in parallel with Section 4.1.1.2.1.








Fajardo, et al.           Expires July 5, 2007                 [Page 16]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


4.2.  Diameter Credit Control Test Suite

   Vendors that support the Diameter Credit Control application must
   conform to [RFC4006].  The typical test topology for credit control
   authorization is shown in Figure 4.  A user typically requests a
   service and thereby triggers the CC Client to contact the CC Server
   requesting the CC Server to verify the user's credit standing prior
   to service delivery.  Since the test cases cover only CC Client and
   CC Server interoperability, it is left to the tester to verify
   correctness of the authentication method executed between the user
   and the AAA server that is used as a pre-requisite for the
   authorization of the user by the CC server.  Additionally, the
   interaction between the User's host and the CC Client that is used to
   trigger the interaction between the CC client and the CC Server is
   outside the scope of this document.

       +--------+     +-----------+     +------------+
       | User   |<--->| CC Client |<--->| AAA Server |
       +--------+     +-----^-----+     +-----^------+
                            |                 |
                            |                 |
                            |           +-----V-----+
                            +---------->| CC Server |
                                        +-----------+

      Legend:
              User      - Simulated end user
              CC Client - Vendor A Diam CCA client
              CC Server  - Vendor B Diam CCA server

                    Figure 4: Diameter CC Test Topology

   A second test topology can exist for testing Diameter/RADIUS
   translation agent as specified in Section 11 of [RFC4006].  This
   topology is available for vendors implementing a prepaid RADIUS
   translation agent.  Since the test cases cover interoperability
   scenarios, validation must be done between the Service Element and
   the AAA Server/CC Client translation agent.  As with Figure 4, it is
   left to the tester to verify correctness of the access method between
   User and Service Element.  The test cases involving Figure 4 are also
   relevant to validating AAA Server/CC Client and CC Server and should
   be used in this topology as well.









Fajardo, et al.           Expires July 5, 2007                 [Page 17]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


       +------+     +---------+     +---------------+
       | User |<--->| Service |<--->|   AAA Server  |
       +------+     | Element |     |  +---------+  |
                    +---------+     |  |CC Client|  |
                                    |  +---------+  |
                                    +--+----^----+--+
                                            |
                                            |
                                      +-----V-----+
                                      | CC Server |
                                      +-----------+
      Legend:
              User                 - Simulated user
              Service Element      - Simulated or vendor RADIUS prepaid
                                     client application client
              AAA Server/CC Client - Vendor A Diameter/RADIUS
                                     translation agent
              CC Server             - Vendor B Diameter CC Server

                Figure 5: Translation Gateway Test Topology

4.2.1.  Required

   Either test topology Figure 4 or Figure 5 can be used for these
   cases.

4.2.1.1.  Session Based Credit Control First Interrogation

   Implementations must conform to Section 5.2 of [RFC4006].  This
   section addresses the initial credit control interactions between a
   CC Client and a CC Server, i.e., CC-Request-Type is set to the value
   INITIAL_REQUEST in the CCR message.  There are many parameters on
   which a service can be granted a credit authorization but the
   objective of these tests is to demonstrate for session based services
   the initial credit authorization handling procedures are supported.

   o  Positive tests for credit authorization for a session based
      service with the Requested-Service-Unit AVP NOT present.  The
      service quota profiles should be agreed between the vendors.  The
      test should be repeated to verify support for the following quota
      types:

      *  Time based services.

      *  Volume (Total, Input, Output Octets) based services.

      *  Services with quota using service specific units.




Fajardo, et al.           Expires July 5, 2007                 [Page 18]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


      *  Money based services.

      *  Services with several unit types granted.

   o  Positive tests for credit authorization for a session based
      service with the Requested-Service-Unit AVP being present.  The
      service quota profiles should be agreed between the vendors.  The
      test should be repeated to verify support for the following quota
      types:

      *  Time based services.

      *  Volume (Total, Input, Output Octets) based services.

      *  Services with quota using service specific units.

      *  Money based services.

      *  Services with several unit types granted.

   o  Positive test for the CC Server's ability to support the granting
      alternative amounts of credit to the values requested in the
      Requested-Service-Unit AVP of the CCR message.

   o  Negative test for first interrogation of session based services
      when the CC Server could not process the initial CCR message.
      Verify support for the graceful handling of events such as unknown
      end user, account being empty, invalid rating input, or errors
      defined in [RFC3588].

   o  Negative test for first interrogation of session based services
      when the CC Client could not process the initial CCA message.
      Verify support for the graceful handling of events such as
      unsupported unit types.

   o  Negative test for first interrogation of session based services
      when the CC Server includes a Final-Unit-Indication AVP with
      Final-Unit-Action REDIRECT or RESTRICT_ACCESS in the Credit-
      Control-Answer or in the AA answer.  Verify that CC Client behaves
      as directed.

4.2.1.2.  Session Based Credit Control Intermediate Interrogation

   Implementations must conform to Section 5.3 of [RFC4006].  This
   section addresses the intermediate credit control interactions
   between a CC Client and a CC Server, i.e., CC-Request-Type is set to
   the value UPDATE_REQUEST in the CCR message.  There are many
   parameters on which a service can be reauthorized credit but the



Fajardo, et al.           Expires July 5, 2007                 [Page 19]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


   objective of these tests is to demonstrate for session based services
   the intermediate credit authorization handling procedures are
   supported.

   o  Positive tests for credit reauthorization for a session based
      service with the Requested-Service-Unit AVP NOT present.  The
      Event-Timestamp AVP must be used to mark the time the
      reauthorization was triggered and the Used-Service-Unit AVP
      contains the amount of used service units since the service was
      activated or last interim.  The service quota profiles should be
      agreed between the vendors.  The test should be repeated to verify
      support for the following quota types:

      *  Time based services.

      *  Volume (Total, Input, Output Octets) based services.

      *  Services with quota using service specific units.

      *  Money based services.

      *  Services with several unit types granted.

   o  Positive tests for credit authorization for a session based
      service with the Requested-Service-Unit AVP is present.  The
      Event-Timestamp AVP must be used to mark the time the
      reauthorization was triggered and the Used-Service-Unit AVP
      contains the amount of used service units since the service was
      activated or last interim.  The service quota profiles should be
      agreed between the vendors.  The test should be repeated to verify
      support for the following quota types:

      *  Time based services.

      *  Volume (Total, Input, Output Octets) based services.

      *  Services with quota using service specific units.

      *  Money based services.

      *  Services with several unit types granted.

   o  Positive test for the CC Server's ability to support the granting
      alternative amounts of credit to the values requested in the
      Requested-Service-Unit AVP of the CCR message.

   o  Negative test for intermediate interrogation for session based
      services when the CC Server could not process the update CCR



Fajardo, et al.           Expires July 5, 2007                 [Page 20]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


      message.  Verify support for the graceful handling of events such
      as subscription ID missing, account being empty, invalid rating
      input, or errors defined in [RFC3588].

   o  Negative test for intermediate interrogation for session based
      services when the CC Client could not process the update CCA
      message.  Verify support for the graceful handling of events such
      as unsupported unit types.

4.2.1.3.  Session Based Credit Control Final Interrogation

   Implementations must conform to Section 5.4 of [RFC4006].  This
   section addresses the final credit control interactions between a
   credit control application client and server i.e., CC-Request-Type is
   set to the value TERMINATION_REQUEST in the CCR message.

   o  Positive test for final interrogation for a session based service.
      The Event-Timestamp AVP should be used to mark the time the
      interrogation was triggered and the Used-Service-Unit AVP contains
      the amount of used service units since the service was activated
      or last interim.  The CC Server must verify support for refunding
      the unused reserved units and for charging the used monetary
      amount to the end user's account.

4.2.1.4.  Sub Sessions

   Implementations must conform to Section 5.1.2 of [RFC4006].

   o  Positive test for multiple services within a session.  Verify
      vendor support for interrogations when the Multiple-Services-
      Credit-Control AVP present and the Requested-Service-Unit AVP is
      not present.

   o  Positive test for multiple services within a session.  Verify
      vendor support for interrogations when the Multiple-Services-
      Credit-Control AVP present and the Requested-Service-Unit AVP is
      present.

   o  Positive test for credit pool support.  Verify that a vendor's CC
      Server implementation is capable of supporting credit pools for
      services by including a G-S-U-Reference within a Granted-Service-
      Unit AVP in a CCA message.  An example scenario is detailed in
      Appendix A (Flow IX) of [RFC4006].

   o  Positive test for rating group support.  Verify that a vendor's CC
      Client implementation is capable of associating a service with a
      rating group by including a Rating-Group AVP in an interrogation.
      An example scenario is detailed in Appendix A (Flow IX) of



Fajardo, et al.           Expires July 5, 2007                 [Page 21]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


      [RFC4006].

   o  Negative test for multiple services within a session.  Verify that
      a CC Server not supporting multiple services within a session
      treats the Multiple-Services-Indicator AVP and any received
      Multiple-Services-Credit-Control AVPs as invalid AVPs.

   o  Negative test for invalid/insufficient rating input.  Verify that
      a CC Server receiving invalid rating input (e.g., unknown rating
      group) shall inform the CC Client by including a result code of
      DIAMETER_RATING_FAILED in the Multiple-Services-Credit-Control
      AVP.

4.2.1.5.  Session Based Credit Control Failure Procedures

   Implementations must conform to Section 5.7 of [RFC4006].

   o  Test failure behavior when Credit-Control-Failure-Handling AVP is
      set to TERMINATE.  Verify that the CC Client terminates the end
      user's session if it does not receive a CCA message within the Tx
      timer.

   o  Test failure behavior when Credit-Control-Failure-Handling AVP is
      set to CONTINUE.  Verify that when CC messages cannot be delivered
      to CC Server because of transport or temporary failures that the
      CC Client resends the request to a backup CC Server assuming CC
      failover is supported or else the service should be granted by the
      CC Client.

   o  Test failure behavior when Credit-Control-Failure-Handling AVP is
      set to RETRY_AND_TERMINATE.  Verify that when CC messages cannot
      be delivered to the CC Server because of transport or temporary
      failures that the CC Client resends the request to a backup CC
      Server assuming CC failover is supported or else the service
      should not be granted by the CC Client.

4.2.1.6.  Service Price Enquiry

   Implementations must conform to Section 6.1 of [RFC4006].  This test
   uses an event based credit control interaction between the CC Client
   and the CC Server (i.e., CC-Request-Type is set to the value
   EVENT_REQUEST in the CCR message).  The test is invoked by the CC
   Client including the Service-Identifier and the Requested-Action AVP
   set to PRICE_ENQUIRY in the CCR message.  An example message flow is
   shown in Appendix A (Flow V) of [RFC4006].

   o  Positive test for a service price enquiry.  Verify that the CC
      Server returns the estimated cost of the service to the CC Client



Fajardo, et al.           Expires July 5, 2007                 [Page 22]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


      in the in the Cost-Information AVP in the CCA message.

4.2.1.7.  Balance Check

   Implementations must conform to Section 6.2 of [RFC4006].  This test
   uses an event based credit control interaction between the CC Client
   and CC Server (i.e., CC-Request-Type is set to the value
   EVENT_REQUEST in the CCR message).  The test is invoked by the CC
   Client including the Service-Identifier and the Requested-Action AVP
   set to CHECK_BALANCE in the CCR message.  An example scenario is
   detailed in Appendix A (Flow IV) of [RFC4006].

   o  Positive test for a check balance enquiry.  Verify that the CC
      Server returns the credit status for the subscriber to access the
      service to the CC Client in the in the Check-Balance-Result AVP in
      the CCA message.

4.2.1.8.  Direct Debiting

   Implementations must conform to Section 6.3 of [RFC4006].  This test
   uses an event based credit control interaction between the CC Client
   and CC Server (i.e., CC-Request-Type is set to the value
   EVENT_REQUEST in the CCR message).  The test is invoked by the CC
   Client including the Service-Identifier and the Requested-Action AVP
   set to DIRECT_DEBITING in the CCR message.  An example message flow
   is shown in Appendix A (Flow III) of [RFC4006].

   o  Positive test for a direct debiting enquiry without the CC Client
      including the requested units.  Verify that the CC Server rates
      the service event and deducts the corresponding monetary amount
      from the end user's account.  Verify that the granted service
      units can be of type time, volume, service specific, or money.

   o  Positive test for a direct debiting enquiry with the CC Client
      including the requested units.  Verify that the CC Server just
      deducts the corresponding monetary amount from the end user's
      account without performing rating.  Verify that the granted
      service units can be of type time, volume, service specific, or
      money.

   o  Positive test for a direct debiting enquiry where the CC Server
      determines that no credit-control is required for the service
      (e.g., free service).








Fajardo, et al.           Expires July 5, 2007                 [Page 23]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


4.2.1.9.  Refunds

   Implementations must conform to Section 6.4 of [RFC4006].  This test
   uses an event based credit control interaction between the CC Client
   and CC Server (i.e., CC-Request-Type is set to the value
   EVENT_REQUEST in the CCR message).  The test is invoked by the CC
   Client including the Requested-Action AVP set to REFUND_ACCOUNT in
   the CCR message.  An example message flow is shown in Appendix A
   (Flow VI) of [RFC4006].

   o  Positive test for a refund request without the CC Client including
      the requested units.  Verify that the CC Server performs the
      rating required prior to refunding the subscriber's account
      balance.

   o  Positive test for a refund request with the CC Client including
      the requested units.  Verify that the CC Server refunds the
      subscriber's account balance with the requested monetary amount.

4.2.1.10.  Event Based Credit Control Failure Procedures

   Implementations must conform to Section 6.5 of [RFC4006].

   o  Test that CC Client forwards requests of type price enquiry or
      balance check to an alternative CC Server if a transport failure
      is detected and failover is supported.

   o  Test of direct debiting failure handling.  Verify that the CC
      Client behaves as described in section 6.5 of [RFC4006] when the
      requested actions is direct debiting and the Direct-Debiting-
      Failure-Handling AVP is set to TERMINATE_OR_BUFFER.

   o  Test of direct debiting failure handling.  Verify that the CC
      Client behaves as described in section 6.5 of [RFC4006] when the
      requested actions is direct debiting and the Direct-Debiting-
      Failure-Handling AVP is set to CONTINUE.

4.2.2.  Optional

   Either test topology Figure 4 or Figure 5 can be used for these
   cases.

4.2.2.1.  Tariff Time Support

   Implementations must conform to Section 5.1.1 of [RFC4006].

   o  Positive test for tariff change support.  Verify that the CC
      Server can send a CCA message including a Tariff-Time-Change AVP.



Fajardo, et al.           Expires July 5, 2007                 [Page 24]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


      Verify that the CC Client itemizes the used units in respect to
      the tariff time change when reporting service usage.

   o  Negative test for tariff change support.  Verify that the CC
      Client terminates the credit control session if it does not
      support tariff time changes and it received a CCA message
      including a Tariff-Time-Change AVP.

4.2.2.2.  Graceful Service Termination

   This section addresses the graceful termination features of a CC
   Server in accordance with Section 5.6 of [RFC4006] utilizing the
   Final-Unit-Indication AVP.

   o  Positive test for terminate action.  Verify that a CC Client
      terminates the service when the final units have been consumed and
      it has received a Final-Unit-Action with a value of TERMINATE.
      The CC Client must send a CCR final message including a CC-
      Request-Type AVP set to the value TERMINATION_REQUEST.

   o  Positive test for redirect action.  Verify that a CC Server
      supports the inclusion of a Redirect-Server AVP when the Final-
      Unit-Action AVP is set with a value of REDIRECT.  Verify that the
      end user is redirected by the CC Client to the appropriate
      redirect server when the final units have been consumed.  The CC
      Client must send a CCR intermediate message specifying the used
      units and to report that the specified action has started.

   o  Positive test for restriction filter rules.  Verify that a CC
      Server supports the inclusion of Restriction-Filter-Rule AVPs when
      the Final-Unit-Action AVP is set with a value of REDIRECT or
      RESTRICT.  Verify that the end user packets not matching the
      restriction filter are dropped by the CC Client when the final
      units have been consumed.  The CC Client must send a CCR
      intermediate message specifying the used units and to report that
      the specified action has started.

   o  Negative test for default final unit handling.  Verify that a CC
      Client terminates the service when the final units have been
      consumed and it has received an unsupported Final-Unit-Action
      value.  The CC Client must send a CCR final message including a
      CC-Request-Type AVP set to the value TERMINATION_REQUEST.

4.2.2.3.  Validity Time

   o  Positive test for Validity-Time AVP support.  Verify that the CC
      Server is capable of including a validity time with granted
      service units in a CCA message.  Verify the CC Client generates a



Fajardo, et al.           Expires July 5, 2007                 [Page 25]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


      CC update request and reports the used quota to the CC server when
      the validity timer expires.

   o  Positive test for Validity-Time AVP support with multiple services
      within a session.  Verify that the CC Server is capable of
      including a validity time in a Multiple-Services-Credit-Control
      AVP in a CCA message.  Verify the CC Client generates a CC update
      request and reports the used quota to the CC server when the
      validity timer expires.

4.2.2.4.  Server Initiated Credit Reauthorization

   Implementations must conform to Section 5.5 of [RFC4006].

   o  Positive test for CC Server initiated reauthorization of all
      services in a session.  Verify that the CC Client follows the RAA
      and CCR Update procedure defined in Section 5.5 of [RFC4006].

   o  Positive test for CC Server initiated reauthorization for a credit
      pool in a session.  Verify that the CC Server includes the G-S-U-
      Pool-Identifier AVP in the RAR message.  Verify that the CC Client
      follows the RAA and CCR Update procedure defined in Section 5.5 of
      [RFC4006].

   o  Positive test for CC Server initiated reauthorization for a rating
      group in a session.  Verify that the CC Server includes the
      Rating-Group AVP in the RAR message.  Verify that the CC Client
      follows the RAA and CCR Update procedure defined in Section 5.5 of
      [RFC4006].

   o  Positive test for CC Server initiated reauthorization for a
      specific service in a session.  Verify that the CC Server includes
      the Service-Identifier AVP in the RAR message.  Verify that the CC
      Client follows the RAA and CCR Update procedure defined in Section
      5.5 of [RFC4006].

   o  Positive test RAR-CCR Collision handling support.  Verify that the
      CC Client sends an RAA with a DIAMETER_SUCCESS result but does not
      initiate a CCR.  Verify that the CC Server processes the CCR
      message as if it was generate in response to the RAR message.

   o  Positive test for CC Server initiated reauthorization for an
      active sub session.  Verify that the CC Server includes the CC-
      Sub-Session-Id AVP in the RAR message.  Verify that the CC Client
      follows the RAA and CCR Update procedures defined in Section 5.5
      of [RFC4006].





Fajardo, et al.           Expires July 5, 2007                 [Page 26]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


4.3.  Diameter SIP Test Suite

   Implementations that deploy SIP [RFC3261] services and use Diameter
   for authentication, authorization, signaling, profile distribution,
   location services etc must conform to
   [I-D.ietf-aaa-diameter-sip-app].  For the purpose of Diameter SIP,
   each test nodes exercises only a specific set of functionality
   depending on their role in the SIP architecture.  Since this SIP
   architecture is synonymous to Diameter Cx [TS29.228], the scenarios
   enumerated in this section applies there as well.  Therefore, there
   can be a multitude of deployment scenarios.  The test topology
   follows the general architecture in Figure 1 of
   [I-D.ietf-aaa-diameter-sip-app] in order to exercise the majority of
   Diameter SIP features.  For testing Diameter Cx, the mapping of the
   test entities against this figure is described in Section 4.4.1.
   Configuration of SIP user agents and SIP servers in all test cases
   are implementation specific and it is left to the tester to verify
   their correctness.

































Fajardo, et al.           Expires July 5, 2007                 [Page 27]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


                                +--------+
                   UAR/UAA +--->|Diameter|<----+ PPR/PPA
                   LIR/LIA |    | server |     | MAR/MAA
                   MAR/MAA |    |Vendor B|     | SAR/SAA
                           |    +--------+     | RTR/RTA
                           |                   |
                 (realmB)  |                   |  (realmA)
                           v                   v
    +------+   SIP     +--------+    SIP   +--------+   SIP     +------+
    | SIP  |<--------->|  SIP   |<-------->|  SIP   |<--------->| SIP  |
    | UA1  |           |server 1|          |server 2|           | UA2  |
    +------+           |Vendor A|          |Vendor D|           +------+
                       +--------+          +--------+
   Caller=user1@realmB     ^                   ^     Callee:user2@reamlA
                           |                   |
                   UAR/UAA |                   |
                   LIR/LIA |                   | MAR/MAA
                           |    +--------+     | SAR/SAA
                           +--->|Diameter|<----+
                                |   SL   |
                                |Vendor C|
                                +--------+

      Legend:
              SIP UA's         - SIP User Agents making/receiving calls
              SIP server 1     - Vendor A acting as SIP proxy for reamlA
              Diameter server  - Vendor B acting as SIP auth server
              Diameter SL      - Vendor C acting as location server
              SIP server 2     - Vendor D acting as SIP proxy for realmB

                   Figure 6: Diameter SIP Test Topology

4.3.1.  Required

4.3.1.1.  Authentication

   Implementations must conform to Section 6.3 and 6.4 of
   [I-D.ietf-aaa-diameter-sip-app].  All test entities should be present
   to perform these test.  The test scenarios check proper auth of
   user1@realmB during SIP registration (SIP REGISTER) to SIP server 2.
   Vendor A should be configured as proxy for UA1 and vendor D will be
   the assigned SIP server for user1@realmB.  Figure 2 and 3 of
   [I-D.ietf-aaa-diameter-sip-app] can be used as a reference for these
   test.  All test scenario must follow the message flows described in
   these figures.  These test can be integrated with Section 4.3.1.4.
   For simplicity, it is assumed that vendor A has knowledge of vendor B
   as the Diameter server through static configuration or through the
   location service.



Fajardo, et al.           Expires July 5, 2007                 [Page 28]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


   o  Positive test with Diameter server performing authentication.
      Assuming proper configuration of all test entities, SIP REGISTER
      request for user1@realmB should succeed with vendor D as the
      allocated SIP server for the registration.  The resulting message
      flows should follow Figure 2 of [I-D.ietf-aaa-diameter-sip-app].
      For Diameter Cx, Section A.4.1 of [TS29.228] describes a similar
      scenario.  UAR/UAA exchanges must indicate to vendor A that D is
      the preferred SIP server to handle user1@realmB registration.
      Verify that DIAMETER_MULTI_ROUND_AUTH is followed by vendor A and
      D and that vendor A generates SIP unauthorized response
      accordingly.  Verify that user1@realmB credentials and challenge
      response is validated by vendor B in subsequent MAR/MAA exchanges.

   o  Positive test with SIP server performing authentication.  Assuming
      proper configuration of all test entities, SIP REGISTER request
      for user1@realmB should succeed and the resulting message flows
      should follow Figure 3 of [I-D.ietf-aaa-diameter-sip-app].  This
      test scenarios is identical to the previous scenario except that
      that nonces must be transferred from vendor B to D (Digest-HA1
      avp).  All verification procedure in the previous test applies.

   o  Positive test for server assignment.  Assuming successful
      authentication of user1@realmB, verify that vendor D is properly
      allocated as the designated SIP server for this user.  Verify that
      this is a consequence of the previous positive tests and vendor B
      is notified using SAR/SAA exchanges.  Additional verification of
      this scenario can be done with subsequent SIP request such as in
      Section 4.3.1.3.

   o  Positive test for different settings of SIP-user-authorization-
      type.  Using the same scheme as previous positive test, verify
      that registration can succeed with authorizations types

      *  REGISTRATION

      *  REGISTRATION_AND_CAPABILITIES

      Additional configuration on vendor B maybe required to perform the
      test.

   o  Positive test for registering an already registered user.  Verify
      that user1@realmB can properly re-register with vendor D and that
      the re-registration triggers a SAR/SAA exchange between D and B to
      update server assignments.  Verify that the MAR/MAA exchanges are
      skipped.  The message flow should be as follows.






Fajardo, et al.           Expires July 5, 2007                 [Page 29]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


                   +--------+           +--------+         +--------+
                   |  SIP   |           |Diameter|         |  SIP   |
                   |server 1|           | server |         |server 2|
                   |Vendor A|           |Vendor B|         |Vendor D|
                   +--------+           +--------+         +--------+
                        |                   |                   |
   1. SIP REGISTER      |                   |                   |
   -------------------->|     2. UAR        |                   |
                        |------------------>|                   |
                        |     3. UAA        |                   |
                        |<------------------|                   |
                        |         4. SIP REGISTER               |
                        |-------------------------------------->|
                        |                   |      5. SAR       |
                        |                   |<------------------|
                        |                   |      6. SAA       |
                        |                   |------------------>|
                        |         7. SIP 200 (OK)               |
   8. SIP 200 (OK)      |<--------------------------------------|
   <--------------------|                   |                   |
                        |                   |                   |


       Figure 7: Message Flow for Registration of Currently Registered
                                     User

      Note that the message flow is synonymous to Figure A.4.2.1 of
      [TS29.228].  Therefore, the test scenario should apply to
      Section 4.4.1 as well.

   o  Positive test for user initiated deregistration.  Verify that
      user1@realmB can properly de-register with vendor D and that the
      de-registration triggers a SAR/SAA exchange between D and B to
      remove server assignments.  Must conform with Section 10.2.2 of
      [RFC3261].  Soft state termination also apply as described in
      Section 4.3.1.5.  The message flow should be as follows.















Fajardo, et al.           Expires July 5, 2007                 [Page 30]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


                   +--------+           +--------+         +--------+
                   |  SIP   |           |Diameter|         |  SIP   |
                   |server 1|           | server |         |server 2|
                   |Vendor A|           |Vendor B|         |Vendor D|
                   +--------+           +--------+         +--------+
                        |                   |                   |
   1. SIP REGISTER      |                   |                   |
   -------------------->|     2. UAR        |                   |
                        |------------------>|                   |
                        |     3. UAA        |                   |
                        |<------------------|                   |
                        |         4. SIP REGISTER               |
                        |-------------------------------------->|
                        |                   |      5. SAR       |
                        |                   |<------------------|
                        |                   |      6. SAA       |
                        |                   |------------------>|
                        |         7. SIP 200 (OK)               |
   8. SIP 200 (OK)      |<--------------------------------------|
   <--------------------|                   |                   |
                        |                   |                   |

          Figure 8: Message Flow for User Initiated De-registration

      Note that the message flow is synonymous to Figure A.4.3.1 of
      [TS29.228].  Therefore, the test scenario should apply to
      Section 4.4.1 as well.

   o  Positive test for Diameter server initiated de-registration using
      registration timeout.  Verify that the server assignments are
      remove from vendor D when vendor B decides to end the
      registration.  De-registration on vendor B can be simulated by
      configuring a registration timeout for user1@realmB.  Verify that
      SAR/SAA exchanges are triggered by this event.  The message flow
      should be as follows.
















Fajardo, et al.           Expires July 5, 2007                 [Page 31]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


        +--------+           +--------+         +--------+
        |  SIP   |           |Diameter|         |  SIP   |
        |server 1|           | server |         |server 2|
        |Vendor A|           |Vendor B|         |Vendor D|
        +--------+           +--------+         +--------+
            |                   |                   |
    1. Timer Expires            |           1. Timer Expires
            |                   |                   |
            |                   |      2. SAR       |
            |                   |<------------------|
            |                   |      3. SAA       |
            |                   |------------------>|
            |                   |                   |

               Figure 9: Message Flow for Registration Timeouts

      Note that the message flow is synonymous to Figure A.4.4.1 of
      [TS29.228].  Therefore, the test scenario should apply to
      Section 4.4.1 as well.

   o  Positive test for Diameter server initiated de-registration using
      administrative means.  Verify that the any soft states are removed
      from vendor B. Administrative de-registration is implementation
      specific and is left up to the tester to simulate.  Note that soft
      state termination also applies as described in Section 4.3.1.5.
      The message flow should be as follows.

                   +--------+           +--------+         +--------+
                   |  SIP   |           |Diameter|         |  SIP   |
                   |server 1|           | server |         |server 2|
                   |Vendor A|           |Vendor B|         |Vendor D|
                   +--------+           +--------+         +--------+
                        |                   |                   |
                        |                   |      1. RTR       |
                        |                   |------------------>|
                        |  2. De-REGISTER   |                   |
                        |<--------------------------------------|
        3. Inform       |                   |                   |
   <--------------------|  4. SIP 200 (0K)  |                   |
      5a. SIP 200 (0K)  |-------------------------------------->|
   -------------------->|                   |      5. RTA       |
                        |                   |<------------------|
                        |                   |                   |

          Figure 10: Message Flow for Administrative De-registration

      Note that the message flow is synonymous to Figure A.4.4.2 of
      [TS29.228].  Therefore, the test scenario should apply to



Fajardo, et al.           Expires July 5, 2007                 [Page 32]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


      Section 4.4.1 as well.

   o  Negative test for auth when user-name avp is required by the
      Diameter server.  Verify that vendor A sends a SIP unauthorized
      response back to UA1 if MAA is set to DIAMETER_USER_NAME_REQUIRED.
      The result of the authentication/authorization may or may not be
      successful in this context.  Vendor B can be configured to require
      a user-name in the UAR.  This may not be applicable to all
      implementations.

   o  Negative test for failed authorization.  Verify the behavior of
      vendor A and B when the criteria for the following errors are
      meet.  Verify that vendor A can terminate the call with UA1.  Note
      that for Diameter Cx, these codes may be present in the
      experimental-result-code avp instead.

      *  DIAMETER_ERROR_USER_UNKNOWN.  Simulation requires users
         identity to be removed from vendor B.

      *  DIAMETER_ERROR_IDENTITIES_DONT_MATCH.  Simulation may require
         mis-configuration.

      *  DIAMETER_AUTHORIZATION_REJECTED.  Simulate restrictions to user
         access in the network.

      *  DIAMETER_ERROR_AUTH_SCHEME_NOT_SUPPORTED.

4.3.1.2.  User Profile Update

   Implementations must conform to Section 6.8 of
   [I-D.ietf-aaa-diameter-sip-app].  These test should be performed as a
   consequence of Section 4.3.1.1.  Updating of user profile in the
   Diameter server is out of scope and it is left to the tester to
   perform.  The test scenario is also applicable to Section 6.6 of
   [TS29.228] and synonymous to the message flow described in Figure
   A.4.7.1 of the same document.

      Positive test for updating user profile.  Verify that a change in
      the profile of user1@realmB can trigger a PPR/PPA exchange between
      vendor B and D.

      Negative test for failed authorization.  Verify the behavior of
      vendor B and D when the criteria for the following errors are
      meet.

      *  DIAMETER_ERROR_TOO_MUCH_DATA.  Simulation may require some mis-
         configuration.




Fajardo, et al.           Expires July 5, 2007                 [Page 33]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


      *  DIAMETER_ERROR_NOT_SUPPORTED_USER_DATA.

      *  DIAMETER_UNABLE_TO_COMPLY.

4.3.1.3.  Proxy Service Authentication

   Implementations must conform to Section 6.5 and 6.6 of
   [I-D.ietf-aaa-diameter-sip-app].  The test topology in Figure 6 can
   be used to perform these test.  Vendor A can be configured as the
   outbound proxy for UA1 and vendor D for UA2.  Note that the tests
   performed on vendor A is symmetrical to vendor D. For simplicity,
   only vendor A is noted here.  These test can also be performed as a
   consequence of positive tests in Section 4.3.1.1.  The test scenarios
   below use a call by user1@realmB to trigger authorization of SIP
   INVITE request.

      Positive test for proxy service authorization with nonces
      generated by the Diameter server.  Verify that at the least,
      user1@realmB can make a call to user2@realmA with SIP requests
      from vendor A authorized by vendor B. Verify that the SIP INVITEs
      triggers a MAR/MAA exchange between vendor A and B and that user
      credentials properly validated by vendor B. Note that vendor D
      should route SIP request normally to simplify the test.  The
      message flow should follow Figure 4 of
      [I-D.ietf-aaa-diameter-sip-app].

      Positive test for proxy service authorization with nonces
      generated by the outbound SIP proxy.  Verify that at the least,
      user1@realmB can make a call to user2@realmA and that the user
      credentials are validated by vendor B only after the challenge is
      validated by vendor A. Verify that a valid challenge initiates a
      MAR/MAA exchange between vendor A and B. Note that vendor D should
      route SIP request normally to simplify the test.  The message flow
      should follow Figure 5 of [I-D.ietf-aaa-diameter-sip-app].

      Negative test for authorizing proxy service when user-name avp is
      missing.  Verify that vendor A sends a SIP unauthorized or SIP
      authorization required messages back to UA1 if MAA is set to
      DIAMETER_USER_NAME_REQUIRED.  The result of the authorization may
      or may not be successful in this context.  Vendor B can be
      configured to require a user-name in the UAR.  This may not be
      applicable to all implementations.

4.3.1.4.  Location Service

   Implementations must conform to Section 6.7 and 6.10 of
   [I-D.ietf-aaa-diameter-sip-app] and Section 6.1.4 of [TS29.228].  All
   test entities should be present to perform this test.  The message



Fajardo, et al.           Expires July 5, 2007                 [Page 34]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


   flow being tested is Figure 8. of [I-D.ietf-aaa-diameter-sip-app].
   This is also synonymous to Section A.4.5 of [TS29.228].  The test
   topology in Figure 6 can be used to perform these test.  The location
   service test can be triggered by initiating a call to user2@realmA
   from UA1.  The presence of SIP and/or SIPS URI for user2@realmA in
   vendor B can be done via SIP registration in Section 4.3.1.1 or some
   other means.  The test scenarios below assumes vendor D is the
   allocated/assigned SIP server for user2@realmA.

   o  Positive test for location query using Diameter server.  Vendor B
      is pre-provision in vendor A as location server. for realmA.
      Verify that a call (SIP INVITE) from UA1 to user2@realmA triggers
      vendor A to send an LIR towards vendor B. Verify that vendor B
      forwards the INVITE to vendor D upon receipt of LIA.

   o  Positive test for location query using Diameter SL.  Vendor C is
      pre-provisioned in vendor A as the location server.  Verify that
      the INVITE from UA1 to user2@realmA triggers vendor A to send an
      LIR towards vendor C. Verify LIA redirection from vendor C causes
      an LIR to be forwarded to vendor B.

   o  Negative test for failed authorization.  Verify the behavior of
      vendor B and D when the criteria for the following errors are
      meet.

      *  DIAMETER_ERROR_USER_UNKNOWN.  Simulation may require mis-
         configuration.

      *  DIAMETER_UNABLE_TO_COMPLY.  Simulation may require mis-
         configuration.

      *  DIAMETER_ERROR_IDENTITY_NOT_REGISTERED.

4.3.1.5.  Soft Termination

   Implementations must conform to Section 6.9 of
   [I-D.ietf-aaa-diameter-sip-app] and 6.5.2.2 of [TS29.228].  These
   test should be performed as a consequence of Section 4.3.1.1.  In the
   enumerated test scenarios, vendor A request removal of user bindings
   in vendor B. This maybe a consequence of user1@reamlB logging off on
   UA1 (Section 10.2.2 in [RFC3261]) or an expiration of usage timer in
   vendor B. It is left to the implementation to configure such
   scenario.

   o  Positive test for soft termination when session is stateless and
      Diameter client initiates termination.  Verify that at the least,
      vendor D can send a SAR to vendor B when user1@realmB de-
      registers.  Note the appropriate result-codes are enumerated in



Fajardo, et al.           Expires July 5, 2007                 [Page 35]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


      Section 6.9 of [I-D.ietf-aaa-diameter-sip-app].  This scenario is
      synonymous to Figure 8.

   o  Positive test for soft termination when session is stateless and
      Diameter server initiates termination.  Verify that at the least,
      vendor B can send an RTR to vendor D to AOR(s) for user1@realmB.
      Testers can also simulate multiple AORs for the user and verify
      that RTR can selectively remove specific AORs.  It is left to the
      testers to simulate a SIP-deregistration-reason from the Diameter
      server.  This scenario is synonymous to Figure 10.

   o  Positive test for soft termination when session is stateful and
      Diameter client initiates termination.  Verify that at the least,
      vendor D can send an STR to vendor B when user1@realmB de-
      registers.  Verify application id value carried by the STR/STA
      message is that of the target application.

   o  Positive test for soft termination when session is stateful and
      Diameter server initiates termination.  Verify that at the least,
      vendor B can send an ASR to vendor B. Verify application id value
      carried by the STR/STA message is that of the target application.
      It is left to the testers to simulate session termination on the
      Diameter server, i.e., session-timeout or registration timeout.

4.4.  3GPP Interface Test Suite

   The test suite in this section only covers the following IMS
   interfaces.  Future revisions will attempt to cover the remaining
   interfaces.

   o  Diameter Cx, [TS29.228] and [TS29.229].

   o  Diameter Sh, [TS29.328] and [TS29.329].

   o  Diameter Rf, [TS32.260].

   Because of the complexity in IMS deployment, a lot of assumptions
   have been made in terms of the test topology.  Since recreating an
   IMS network is not realistic, only entities implementing Diameter
   applications will be involved in these test cases.  Peripheral
   entities that instigate a test event should be simulated.

4.4.1.  Diameter Cx

   Implementations must conform to [TS29.228] and [TS29.229].  Since
   Diameter Cx describes the same application as Diameter SIP, the test
   topology and scenarios in Section 4.3 is applicable.  For brevity,
   this section will only provide addendums to the existing test suites



Fajardo, et al.           Expires July 5, 2007                 [Page 36]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


   in Section 4.3 as it applies to Diameter Cx.  Authentication schemes
   present in the SIP tests may or may not be present for Cx testing.
   The topology in Figure 6 will be used with the following mappings.


       Diameter Cx       Test Topology              Vendor
          Node             Equivalent            Assignments
     ----------------+---------------------+-----------------------

        I-CSCF           SIP Server 1         Vendor A, I-CSCF
                                              on Home Network

        HSS              Diameter Server      Vendor B, HSS
                                              on Home Network

        S-CSCF           SIP Server 2         Vendor D, S-CSCF
                                              on Home Network

        P-CSCF           Optional             Use UA1 to simulate
                                              P-CSCF

        AS               Optional             Implementation specific,
                                              maybe simulated


                   Figure 11: SIP Test Topology Mapping

   All test entities can share the same realm (Home Network).  The SIP
   proxy P-CSCF may or may not be present for testing the Cx interface.
   If it is not available, tests for registration and de-registration
   described in Section A.4.2 and A.4.3 of [TS29.228] can use UA1 to
   simulate a P-CSCF.  S-CSCF functions that rely on other entities such
   as AS may also be simulated when service initiated test needs to be
   performed.  An AS maybe present to facilitate this though it is left
   up to the implementation to provide an AS and verify its
   configuration.

4.4.1.1.  Required

   The following are addendums to Section 4.3 for testing Diameter Cx.

   o  Positive test for de-registration initiated by S-CSCF.  Verify
      that a de-registration initiated by S-CSCF (vendor C) triggers the
      removal of server assignments in vendor B. Verify SAR/SAA exchange
      occurs.  Message flow can be as follows.






Fajardo, et al.           Expires July 5, 2007                 [Page 37]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


                             +--------+         +--------+
                             |Diameter|         |  SIP   |
                             | server |         |server 2|
                             |Vendor B|         |Vendor D|
                             +--------+         +--------+
                                |                   |
                                |   1. Simulated Service De-registration
               2. De-register   |                   |
             <--------------------------------------|
                                |                   |
               3. SIP 200 (OK)  |                   |
              ------------------------------------->|
                                |      4. SAR       |
                                |<------------------|
                                |      5. SAA       |
                                |------------------>|
                                |                   |

        Figure 12: Message Flow for Service Initiated De-registration

   o  Positive test for session initiation to a non-registered user.
      Verify that a call made by UA1 can initiate a server assignment by
      vendor B for that call.  Verify that the SIP INVITE also triggers
      a location query (LIR/LIA exchange) with vendor B. Message flow
      can be as follows.

                   +--------+           +--------+         +--------+
                   |  SIP   |           |Diameter|         |  SIP   |
                   |server 1|           | server |         |server 2|
                   |Vendor A|           |Vendor B|         |Vendor D|
                   +--------+           +--------+         +--------+
                        |                   |                   |
   1. SIP INVITE        |                   |                   |
   -------------------->|     2. LIR        |                   |
                        |------------------>|                   |
                        |     3. LIA        |                   |
                        |<------------------|                   |
                        |                   |                   |
                        |  4. INVITE        |                   |
                        |-------------------------------------->|
                        |                   |      5. SAR       |
                        |                   |<------------------|
                        |                   |      6. SAA       |
                        |                   |------------------>|
                        |                   |                   |

      Figure 13: Message Flow for Session Initiation to a Non-registered
                                     User



Fajardo, et al.           Expires July 5, 2007                 [Page 38]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


      Normally, server selection is performed during this process.
      Testers can verify if vendor A correctly determine vendor D as the
      assigned SIP server.  Additional service control functions may
      also need to be performed by vendor D. Though those would be out
      of scope of this document.

4.4.2.  Diameter Sh

   Implementations must conform to [TS29.328] and [TS29.329].  The test
   topology for Diameter Sh is Figure 14.  Because AS functionality is
   implementation and service specific, it is left to the testers to
   verify configuration of the provided service.  UA registration with
   AS services are also left up to the tester to verify.  Some
   interaction with the test topology for Section 4.4.1 maybe required
   in certain test scenarios.

                          Home Network

                           +--------+           +--------+
                           |Diameter|           |   AS   |
     IMS Network <---Cx--->| server |<--------->|Vendor E|
                  |        |Vendor B|  UDR/UDA  |        |
                  |        +--------+  PUR/PUA  +--------+
                  |                    SNR/SNA      |
                  |                    PNR/PNA      |
                  |                                 |
                  -------SIP to S-CSCF and UA1-------

      Legend:
              IMS Network     - Test topology for Diameter SIP.
                                Network details are not shown
                                for brevity.

              Diameter server - Vendor B acting HSS for Home Network.
                                Part of the IMS Network.

              AS              - Vendor E acting as AS

                   Figure 14: Diameter Sh Test Topology

   The test topology shown above is an addendum to Figure 6.  The AS
   uses Diameter Sh with the HSS and SIP with S-CSCF and UA1 in the IMS
   network.  For Diameter Sh, the message flow being tested is defined
   in Section B.1 of [TS29.328].  It is left to the testers to verify
   that the AS is properly configured in the IMS network.






Fajardo, et al.           Expires July 5, 2007                 [Page 39]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


4.4.2.1.  Required

   The following are test scenarios to exercise Diameter Sh interface.

   o  Positive test for data handling.  Implementations must conform to
      Section 6.1.1 and 6.1.2 of [TS29.328].  Verify that vendor E is
      capable of storing and retrieving service related data into vendor
      B via PUR/PUA and UDR/UDA.  If user1 in UA1 can register for
      service to the vendor E, verify that vendor E is able to store
      service related data into vendor B. If user1 can then register to
      vendor D in the IMS network and trigger a third-party registration
      to vendor E, verify that vendor E is able pull service related
      data from vendor B. Verify correctness of the following identity-
      set when reading data from vendor B.

      *  IMPLICIT_IDENTITIES

      *  REGISTERED_IDENTITIES

      *  ALL_IDENTITIES

   o  Positive test for subscription/notification.  Implementations must
      conform to Section 6.1.3 and 6.1.4 of [TS29.328].  Verify that
      vendor E can successfully subscribe to notification in case of
      data changes in vendor B. This test should be performed after the
      previous positive test.  Simulation of data changes in vendor B is
      implementation specific.  Verify that vendor B sends a PNR to E
      when simulated changes occur.

   o  Negative test for data update.  Verify behavior of both vendor B
      and E when the criteria for following experimental result codes
      are meet.

      *  DIAMETER_ERROR_USER_DATA_CANNOT_BE_MODIFIED.  Simulate update
         restrictions for vendor E in vendor B.

      *  DIAMETER_ERROR_USER_UNKNOWN.

      *  DIAMETER_ERROR_OPERATION_NOT_ALLOWED.  Simulate restrictions on
         vendor B. Configuration of AS permission list maybe necessary.

      *  DIAMETER_PRIOR_UPDATE_IN_PROGRESS.

      *  DIAMETER_ERROR_TRANSPARENT_DATA_OUT_OF_SYNC.  Simulation may
         require some invalid configuration.

      *  DIAMETER_ERROR_TOO_MUCH_DATA.  Simulation may require some
         invalid configuration.



Fajardo, et al.           Expires July 5, 2007                 [Page 40]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


   o  Negative test for data read and notification subscriptions.
      Verify behavior of both vendor B and E when the criteria for
      following experimental result codes are meet during data pull or
      subscription.

      *  DIAMETER_ERROR_USER_DATA_CANNOT_BE_READ.  Simulate read
         restrictions for vendor E in vendor B.

      *  DIAMETER_ERROR_USER_UNKNOWN.

      *  DIAMETER_ERROR_OPERATION_NOT_ALLOWED.  Simulate restrictions on
         vendor B. Configuration of AS permission list maybe necessary.

4.4.3.  Diameter Rf

   Implementations must conform to [TS32.260].  The test topology for
   Diameter Rf is Figure 15.  The test cases in this section do not
   attempt to cover all accounting scenarios that are possible in an IMS
   network.  It only exercise accounting functions for test entities
   listed in Figure 11.  Because the test topology only describes a home
   network, the Rf interface is limited to S-CSCF and I-CSCF accounting.
   Record co-relation with a visited network is assumed not to be done.
   The CDF entity should be reachable to the SIP servers in Figure 6 and
   to the AS in Figure 14 if an AS is used.  The test scenarios also
   makes a lot of assumptions in testing non-Diameter related Rf
   requirements such as the CDR formats, operator configuration of the
   CDF, SIP based signaling or operator based decision on when to use
   offline-charging etc.  Since there can be a multitude of
   configuration options, verification of actual billing schemes used
   and its accuracy is left to the testers.  For the purpose of Diameter
   interoperability, the test scenarios in Section 4.1.1.2 applies here
   as well.

     IMS Network
                                             +----------+
                                             |          |
          <----ACR/ACA to SIP Server 1 ----->|   CDF    |
                                             | Vendor F |
          <----ACR/ACA to SIP Server 2 ----->|          |
                                             +----------+

      Legend:
              IMS Network     - Test topology for Diameter SIP and/or
                                Diameter Sh. Network details are not
                                shown for brevity.

              CDF             - Vendor F acting CDF for Home Network.




Fajardo, et al.           Expires July 5, 2007                 [Page 41]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


                   Figure 15: Diameter Rf Test Topology

4.4.3.1.  Required

   The following are test scenarios to exercise Diameter Rf interface.

   o  Positive test for SIP session establishment.  Implementations must
      conform to Table 5.2.1.1 of [TS32.260].  Verify that vendor A or D
      generates a START_RECORD on positive acknowledgment of SIP INVITE.
      The SIP server involved depends on the UA location.  The test
      could be performed as part of Section 4.3.1.3.  Note that only the
      mandatory triggers are recommended to be tested.  The remaining
      triggers specified in Table 5.2.1.1 of [TS32.260] is left up to
      the test pairs.

   o  Positive test for SIP session updates.  Implementations must
      conform to Table 5.2.1.1 of [TS32.260].  Verify that vendor A or D
      generates an INTERIM_RECORD on a SIP re-INVITE or UPDATE for an
      existing SIP session.  The test can be performed in sequence with
      the previous positive test.

   o  Positive test for session-unrelated procedures.  Implementations
      must conform to Section 5.2.2.1.5 of [TS32.260].  Verify that
      vendor A or D generates EVENT_RECORD on a SIP SUBSCRIBE signal.
      The test can be performed in sequence with the previous positive
      test.

   o  Positive test for SIP session termination.  Implementations must
      conform to Table 5.2.1.1 of [TS32.260].  Verify that vendor D
      generates STOP_RECORD on a SIP BYE signal.  The test can be
      performed in sequence with the previous positive test.

   o  Negative test for unsuccessful SIP session establishment.  Verify
      that if a SIP session establishment fails, that vendor A or D
      generates an EVENT_RECORD.  The SIP server involved depends on the
      location of the UA initiating the session.

   o  Negative test for error cases.  Verify that vendor A and/or D
      follows Section 5.2.2.2 of [TS32.260].  The error cases in that
      text are general and may overlap with error cases in Section 3.

4.4.3.2.  Optional

   The following are optional test scenarios to exercise Diameter Rf
   interface.  Note that details of the tests are skipped for brevity.

   o  Positive test for multi-party call.  Assuming a new UA is
      introduced in the home network and S-CSCF is provided by vendor D,



Fajardo, et al.           Expires July 5, 2007                 [Page 42]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


      the call flow should follow Section 5.2.2.1.10 of [TS32.260].

   o  Positive test for AS related procedures.  If an AS is used, verify
      that vendor E can generate EVENT_RECORDs for services rendered to
      the UA.  Such services are implementation specific.  However,
      examples of such service is described in Section 5.2.2.1.11 of
      [TS32.260].

4.5.  Diameter EAP Test Suite

   Access device and AAA servers that support Diameter EAP Application
   must conform to [RFC4072].  A typical test for network access
   authentication using Diameter EAP is shown in Figure 16.  The User
   has an EAP Client to be authenticated for network access.  The test
   cases only cover the NAS and Auth.  Servers interoperability.  To
   perform these tests, one must choose an EAP method.  It is
   recommended to use an authentication method which derive keying
   material to test key transport between Auth.  Server and NAS.  As an
   example, EAP-TLS [RFC2716] can be used.

   +--------+     +--------+     +---------------+
   | User   |<--->|  NAS   |<--->| Auth Server 1 |
   |        |     |Vendor A|     |  Vendor B     |
   +--------+     +--------+     +---------------+
                                       ^
                                       |
                                       |
                                       v
                                 +---------------+
                                 | Auth Server 2 |
                                 | Vendor C      |
                                 +---------------+



   Legend:
           User
           NAS           - Vendor A Diam EAP client
           Auth Server 1 - Vendor B Diam EAP server
           Auth Server 2 - Vendor C Diam EAP server

                          Figure 16: Diameter EAP

4.5.1.  Required

   Implementation must conform to section 2 of [RFC4072].  NAS and Auth.
   Servers advertises Diameter EAP support in their CER/CEA exchange.




Fajardo, et al.           Expires July 5, 2007                 [Page 43]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


4.5.1.1.  Non-Roaming case

   In this test, User, NAS and Auth.  Server 1 belongs to the same
   realm.

   o  Verify that all Diameter messages for a particular user contains
      the same Session-Id AVP.

   o  Positive test for EAP initiation.  Verify that the Auth. server
      initiates an EAP session while receiving either a DER containing
      an EAP-Payload AVP Empty (signifying an EAP-Start) or an EAP-
      Payload AVP containing an EAP-Response of Type Identity (cf.
      section 2.2 of [RFC4072]).

   o  Positive test for User-Name AVP.  Verify that the User-Name AVP
      sent in DER message by the NAS contains the value provided by the
      User in the EAP exchange between User and NAS.

   o  Positive test for user registration.  Verify that the Auth. server
      1 can authenticate and authorize User given a proper configuration
      (e.g. by using EAP-TLS method between the User and the Auth.
      Server).  Verify that the AAA message flows is correct (cf.
      section 2.2 of [RFC4072]).

   o  Positive test for Key transport and configuration.  If the EAP
      authentication method derives keys, verify that the Auth.  Server
      correctly provide keying material to the NAS and that these keys
      are correctly used between User and NAS.

   o  Positive test for session termination: User Disconnection.  Verify
      that if the User disconnects for the NAS, the NAS sends a STR
      message to the Auth.  Server.  Verify that the Auth.  Server
      releases all state concerning this User.

   o  Positive test for session termination: Auth-lifetime expiration.
      Verify that if the auth-lifetime expires, the NAS send a STR to
      the Auth. server.  Verify that the Auth.  Server releases all
      state concerning this User.

   o  Negative test for authentication.  Verify that the Auth.  Server
      sends a DEA message containing a DIAMETER_AUTHENTICATION_REJECTED
      result-code to the NAS if the User is not correctly authenticated.

4.5.1.2.  Roaming scenario

   In this scenario, User and Auth.  Server 2 belongs to realmB while
   NAS and Auth.  Server 1 belongs to realm A. All tests described in
   the Non-Roaming scenario must work.  As we are in roaming scenario,



Fajardo, et al.           Expires July 5, 2007                 [Page 44]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


   the following two tests should also be performed.

   o  Positive test for Diameter EAP Direct Routing.  Verify that if NAS
      is properly configured, it can directly send Diameter EAP messages
      to Auth.  Server 2.

   o  Positive test for Diameter EAP Proxy Routing.  Verify that if NAS
      and Auth.  Servers are correctly configured, Diameter EAP messages
      are exchanged between NAS and Auth.  Server 2 through Auth.
      Server 1.

4.5.2.  Optional Authorization/Accounting Tests

   o  Positive test for Authorization AVPs.  Verify that if some
      authorizations are requested, the DEA containing the
      DIAMETER_SUCCESS in the Result-Code AVP also contains appropriate
      Authorization AVPs (cf. section 5 of [RFC4005]).

   o  Positive test for Accounting.  Verify that NAS initiates
      Accounting if authentication is successful and finishes it while
      terminating the session.

   o  Positive test for re-authentication.  Verify that the Auth.
      Server can reauthenticate the User via the NAS.

   o  Positive test for Redirection.  Verify that the Redirect Scenario
      described in section 2.3.2 of [RFC4072] is supported.

4.6.  Diameter NASREQ Test Suite

   Access device that supports Diameter NASREQ extension must conform to
   [RFC4005].  Typical test topology for single domain authentication
   shown in Figure 17.  Multi-domain test should use Figure 3.  The User
   entity typically employs PPP to access the NAS and is normally
   implementation dependent.  Since the test cases covers only NAS and
   Auth Server interoperability, it is left to the tester to verify
   correctness of the access method between User and NAS and that this
   method is able to trigger creation of a NASREQ client session in the
   NAS.












Fajardo, et al.           Expires July 5, 2007                 [Page 45]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


       +--------+     +--------+     +-------------+
       | User   |<--->|  NAS   |<--->| Auth Server |
       |        |     |Vendor A|     |  Vendor B   |
       +--------+     +--------+     +-------------+

      Legend:
              User       - Simulated user
              NAS        - Vendor A Diam NASREQ client
              Auth Sever - Vendor B Diam NASREQ server

                 Figure 17: Diameter NASREQ Test Topology

   Another test topology can exist for testing Diameter/RADIUS gateways
   as specified in Section 9 of [RFC4005].  This topology is available
   for vendors implementing a translation gateway.  It should simulate a
   common deployment scenario where there is a prevalence of legacy
   RADIUS access devices ([RFC2865]).  Since the test cases covers
   interoperability scenarios, validation must be done between NAS and
   Gateway.  As with Figure 17, it is left to the tester to verify
   correctness of the access method between User and NAS.  The test
   cases involving Figure 17 is also relevant to validating Gateway and
   Auth Server and should be used in this topology as well.

       +--------+     +--------+     +---------+     +-------------+
       | User   |<--->|  NAS   |<--->| Gateway |<--->| Auth Server |
       |        |     |        |     |Vendor A |     |  Vendor B   |
       +--------+     +--------+     +---------+     +-------------+

      Legend:
              User       - Simulated user
              NAS        - Simulated or vendor RADIUS client
              Gateway    - Vendor A Diameter/RADIUS gateway
              Auth Sever - Vendor B Diam NASREQ server

               Figure 18: Translation Gateway Test Topology

4.6.1.  Required

4.6.1.1.  Auth Session

   Implementations must conform to Section 2 of [RFC4005].  Test
   topology Figure 17 can be used for these cases.  These tests
   typically involves a myriad of configuration options.  At the least
   an implementation must be able to grant access to a user with a
   reasonable level of security given the test cases below.  The minimum
   test that should be performed is PPP CHAP and PPP EAP with MD5
   method.  These tests are heavily dependent on other parameters that
   are implementation specific (username, password, medium type,



Fajardo, et al.           Expires July 5, 2007                 [Page 46]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


   calling-station-id etc).  It is left to the tester to verify
   correctness of this process but it must conform to Section 2.1, 3.1
   and 3.2 of [RFC4005].  This includes conformance to the use of
   transport level security (TLS or IPsec) for signaling sensitive
   information, i.e., passwords etc.  This test is also an overlap with
   Section 4.1.1.1.1.  Verification of test cases can be done manually.

   o  Positive test for proper Auth server session establishment with
      authorization and authentication.  Verify that user can initiate
      an access-request via vendor A and that vendor B can respond when
      PPP negotiation begins.  Vendor A and B can agree on the service-
      type.  Verify that at the least B can support auth-request-type
      AUTHORIZE_AUTHENTICATE.

   o  Positive test for proper NAS session establishment with
      authorization and authentication.  Verify that user can initiate
      an access-request via vendor A and that vendor B can respond when
      PPP negotiation begins.  Verify that A is able to support
      DIAMETER_MULTI_ROUND_AUTH result-code.

   o  Positive test for proper NAS session establishment with PPP.
      Verify support for PPP CHAP/EAP in auth request/answer exchanges.
      Verify that call and session information are exchanged properly to
      conform to Section 4.1 of [RFC4005].

   o  Positive test for proper session termination.  Verify that a NAS
      can initiate termination upon user disconnection.  Verify that the
      auth server can abort a session.  Must conform to Section 2.3 of
      [RFC4005].  Test can overlap with Section 4.1.1.1.1.

   o  Positive test for installation of NAS-filter-rules.  Filter rule
      implementation should at least carry the form IPFilterType as
      specified in Section 4.3 of [RFC3588].  Verify that the rules sent
      by the auth server is installed properly in the NAS for the
      specific user.  Note that implementation extensions done to the
      NAS-filter-rule can affect interoperability between peers.  If
      commonality or agreements among implementations regarding the
      definition of NAS-filter-rule can be found and it deviates from
      the specification, it should be duly noted and used as a basis for
      specifying future NAS-filter-rule extensions.

   o  Negative test for session failure when service type is
      unsupported.  Verify that the auth server can terminate the
      session with DIAMETER_INVALID_AVP_VALUE for an unsupported service
      type.






Fajardo, et al.           Expires July 5, 2007                 [Page 47]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


4.6.1.2.  Diameter/RADIUS Gateway

   Implementations must conform to Section 9 of [RFC4005].  Test
   topology Figure 18 can be used for these cases.  Validation of these
   tests maybe localized to the Gateway (vendor A) but for the purpose
   of interoperability, end-to-end authentication and/or authorization
   must succeed between User and Auth Server (vendor B).

   o  Positive test for forwarding RADIUS request as Diameter request.
      Verify that Section 9.1 of [RFC4005] is followed and that
      transaction states are maintained by the Gateway on behalf of the
      RADIUS client.

   o  Positive test for forwarding RADIUS response from Diameter
      responses.  Verify that Section 9.1 of [RFC4005] is followed and
      the session generated from the original RADIUS request is
      maintained.

   o  Negative test for terminating a Diameter session upon auth
      failure.  Conditions for termination is specified in Section 9.1
      of [RFC4005].

4.6.1.3.  Multi-domain Scenario

   Test cases in this section is synonymous to Section 4.6.1.1 and all
   requirements in that section apply here as well.  These scenarios,
   however, uses Figure 3 instead.  Vendor A1 can acts as the NAS and B1
   or B2 can act as the auth server.  A2 or B1 can act as either a
   proxy/agent or redirect agent for A1.  As with Section 3.1.2, these
   tests are symmetric to both vendors.

   o  Positive test for multi-domain auth using proxy/relay agent.
      Verify that A2 acting as a proxy/relay can reliably forward auth-
      request and answers between A1 and B2.  All test cases enumerated
      in Section 4.6.1.1 must be performed.  Note that this test cases
      overlap with Section 3.1.3 and must conform to all requirements of
      those test.

   o  Positive test for multi-domain auth using redirect agent.  Verify
      that A2 or B1 acting as a redirect can successfully respond with
      redirect information to A1.  All test cases enumerated in
      Section 4.6.1.1 must be performed.  Note that this test cases
      overlap with Section 3.1.4 and must conform to all requirements of
      those test.







Fajardo, et al.           Expires July 5, 2007                 [Page 48]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


4.6.2.  Optional

   Implementations must conform to Section 2 of [RFC4005].  Test
   topology uses Figure 17.  These are optional test that
   implementations can perform.

4.6.2.1.  Auth Session

   Implementations must conform to Section 2 of [RFC4005].  These test
   cases are in support of Section 4.6.1.1.

   o  Positive test for proper NASREQ accounting.  Verify that
      accounting session is initiated by vendor A if supported by the
      implementation.  Implementations must conform to Section 8 of
      [RFC4005].  Test can overlap with Section 4.1.1.2.

   o  Positive test for session re-authentication if supported.  Must
      conform to Section 2.2 of [RFC4005].  Behavior maybe dependent on
      implementation and policy however auth-lifetime and auth-grace-
      period must be utilized.  Must conform to 8.3 of [RFC3588].  Test
      can overlap with Section 4.1.1.1.1.

4.7.  Diameter MIP Test Suite

   Vendors that support Diameter Mobile IPv4 extension must conform to
   [RFC4004].  There are typically several topologies that is possible
   when deploying Diameter MIP.  Those which are more likely to be
   deployed are included in this document.  The test cases are also
   highly dependent on the topologies themselves hence each test case
   provides its own test topology.  Configuration of the mobility agents
   (Mobile, HA and FA) for all test cases are implementation specific
   and it is left up to the tester to verify their correctness.  Testers
   must also verify that the MIP implementation conforms to Section 4 of
   [RFC4004] as it relates to Diameter.  Testers must also ensure that
   all positive test resulting in successful authentication and/or
   authorization must generate appropriate session keys and MSAs as
   needed.  It should conform to [RFC3957] and [RFC3012] as it applies.
   This is implementation and policy dependent but can be as a
   consequence of positive test cases so it is worthwhile to verify.

4.7.1.  Generic MIP Test Scenarios

   The following are generic test scenarios that can be applied to any
   MIP test topology.  It is enumerated here for simplicity since it is
   common to all topology.

   o  Positive test for mobile registration.  Verify that at the least,
      the HA can authenticate and authorize the Mobile given the proper



Fajardo, et al.           Expires July 5, 2007                 [Page 49]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


      configuration (MIP authorization extensions.  Verify that the AAA
      message flows for the specific topology is followed.  Verify that
      proper key distribution occurs in the process.  If accounting is
      supported, verify that accounting-sub-session-id is used.  This
      test can overlap with Section 4.1.1.2.1.

   o  Positive test for session termination.  Verify that the expiration
      of auth-lifetime causes an STR to be sent from the HA and that the
      message flows are valid.  Verify that the AAAH releases all
      session state it keeps if any.  The AAAH must conform to Section
      4.1.3 of [RFC4004].

   o  Positive test for re-authentication.  Verify that the Mobile can
      successfully performs re-authentication if policy allows.  Verify
      that the AMR sent by the FA or Mobile on re-auth and carries the
      original session-id, HA NAI and AAAH NAI as appropriate.
      Implementations must conform to [RFC3846].

   o  Negative test for failed registration or authentication.  Verify
      that a failed authentication or registration causes an STR to be
      sent from the HA and that DIAMETER_AUTHENTICATION_REJECTED result-
      code is communicated back to the FA or Mobile in the AMA.  Verify
      that the AAAH releases all session state it keeps if any.  AAAH
      must conform to Section 4.1.3 of [RFC4004].

4.7.2.  Required

4.7.2.1.  Co-located Registration

   Implementation must conform to Section 3.3 of [RFC4004].  Test
   topology for co-located mobile node deployment is shown below in
   Figure 19.  Both HA and AAAH share the same realm which can be a home
   or foreign realm of the Mobile.  Verifying the correctness of the
   Mobile to HA registration is out of scope for this document is left
   to the tester.  However, it must conform to [RFC3344] and its
   successor document.  Note also that there is a myriad of
   configuration options for this test case and it is left to the test
   pairs to agree on which and on how many configuration can and should
   be tested.












Fajardo, et al.           Expires July 5, 2007                 [Page 50]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


       +--------+     +--------+     +-------------+
       | Mobile |<--->|  HA    |<--->| AAAH        |
       |        |     |Vendor A|     | Vendor B    |
       +--------+     +--------+     +-------------+

      Legend:
              Mobile     - Mobile is IPv4 mobile node
              HA         - Vendor A as a MIP Home Agent
              AAAH       - Vendor B as a Home AAA server

            Figure 19: Test Topology for Co-located Mobile Node

   o  All test scenarios in Section 4.7.1 must be performed.

4.7.2.2.  Intra-Domain Registration

   Implementation must conform to [RFC4004].  The basic test topology
   for single domain registration is shown below in Figure 20.  All
   entities share the same realm with FA and HA presiding over different
   networks.  The topology can be a combination of different vendor
   implementations.  Testers must verify that the AAA message flows in
   Figure 20 are followed for the registration process.

                      +---------+
                      |  AAAH   |
                      |Vendor B |
                      +---------+
              AMR/AMA /         \ HAR/HAA
                     /           \
          +---------+             +---------+
          |   FA    |             |   HA    |
          |Vendor A |             |Vendor C |
          +---------+             +---------+
               ^
               | Mobile IP
               v
          +---------+
          | Mobile  |
          +---------+

      Legend:
              Mobile     - Mobile is IPv4 mobile node
              FA         - Vendor A as a MIP Foreign Agent
              AAAH       - Vendor B as a Home AAA server
              HA         - Vendor C as a MIP Home Agent

               Figure 20: Test Topology for Intra-Domain MIP




Fajardo, et al.           Expires July 5, 2007                 [Page 51]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


   o  All test scenarios in Section 4.7.1 must be performed.  If
      [RFC3846] is supported, MIP NAIs should be used to route the AMRs
      towards the AAAH.  This test can overlap with Section 4.1.1.2.1
      and Section 3.1.2.2.

   o  Positive test for handover.  Verify that if Mobile performs a
      handover to HA that de-registration occurs properly and subsequent
      AMR/AMA exchanges are appropriate.  Verify also that the
      accounting session is maintained if any.

   o  Negative test for failed allocation of home agent.  Vendor B can
      be configured not to provide a home agent for the Mobile.  Verify
      that DIAMETER_ERROR_HA_NOT_AVAILABLE is sent by vendor B to vendor
      A. Verify that the B releases all session state it keeps if any.
      Vendor B must conform to Section 4.1.3 of [RFC4004].

4.7.2.3.  Inter-Domain Registration

   Implementation must conform to Section 3.1 of [RFC4004].  The basic
   test topology for inter-domain registration is shown below in
   Figure 21.  A1 and A2 reside in realmA and B1 and B2 reside in
   realmB.  The entities in the topology can be a combination of
   different vendor implementations.  Verifying the correctness of the
   Mobile to FA discovery and registration is implementation specific
   and out of scope of this document.  It is left to the tester to
   validate this process but it must conform to requirements [RFC3344]
   and its successor document.  As with previous test cases in Diameter
   MIP, there is a myriad of configuration options for this test case
   and it is left to the test pairs to agree on which and on how many
   configuration can and should be tested.  However, testers must verify
   that the AAA message flows in Figure 21 are followed for the
   registration process regardless of configuration.



















Fajardo, et al.           Expires July 5, 2007                 [Page 52]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


        realmA (visited)         realmB (home)
          +---------+             +---------+
          |  AAAF   |   AMR/AMA   |  AAAH   |
          |Vendor A2|<----------->|Vendor B2|
          +---------+             +---------+
               ^                       ^
       AMR/AMA |                       | HAR/HAA
               v                       v
          +---------+             +---------+
          |   FA    |             |   HA    |
          |Vendor A1|             |Vendor B1|
          +---------+             +---------+
               ^
               | Mobile IP
               v
          +---------+
          | Mobile  | mn@realmB.com
          +---------+

      Legend:
              Mobile     - Mobile is IPv4 mobile node
              FA         - Vendor A1 as a MIP Foreign Agent
              AAAF       - Vendor A2 as a Foreign AAA server
              AAAH       - Vendor B2 as a Home AAA server
              HA         - Vendor B1 as a MIP Home Agent

               Figure 21: Test Topology for Inter-Domain MIP

   o  All test scenarios in Section 4.7.1 must be performed.  If
      [RFC3846] is supported, MIP NAIs should be used to route the AMRs
      towards the AAAH.  This test can overlap with Section 4.1.1.2.1
      and Section 3.1.2.2.

   o  Positive test for handover.  Verify that if Mobile performs a
      handover to B1 that de-registration occurs properly and subsequent
      AMR/AMA exchanges are appropriate.  Verify also that the
      accounting session is maintained if any.

   o  Negative test for failed allocation of home agent.  B2 can be
      configured not to provide a home agent for the Mobile.  Verify
      that DIAMETER_ERROR_HA_NOT_AVAILABLE sent by B2 is propagated to
      FA via the AMA.  Verify that the B2 releases all session state it
      keeps if any.  B2 must conform to Section 4.1.3 of [RFC4004].








Fajardo, et al.           Expires July 5, 2007                 [Page 53]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


4.7.2.4.  Allocation of HA in Foreign Network

   Implementation must conform to Section 3.2 of [RFC4004].  The basic
   test topology for dynamically allocated HA is shown below in
   Figure 22.  A1, A2 and A3 reside in realmA and B1 resides in realmB.
   The entities in the topology can be a combination of different vendor
   implementations.  Policies in AAAF and AAAH must support dynamic
   allocation of an HA.  Testers must verify that the AAA message flows
   in Figure 22 are followed for the registration and HA allocation
   process.

                  realmA                           realmB
                 +---------+ ------- AMR ------> +---------+
                 |  AAAF   | <----- HAR -------- |  AAAH   |
            +--->|Vendor A3| ------- HAA ------> |Vendor B1|
            |    +---------+ <----- AMA -------- +---------+
            |         ^  |
            |         |  |
    HAR/HAA |     AMR |  | AMA
            v         |  v
    +---------+       +---------+
    |   HA    |       |   FA    |
    |Vendor A2|       |Vendor A1|
    +---------+       +---------+
                              ^
         +--------+  Mobile IP|
         | Mobile |<----------+
         +--------+

      Legend:
              Mobile     - Mobile is IPv4 mobile node
              FA         - Vendor A1 as a MIP Foreign Agent
              AAAF       - Vendor A3 as a Foreign AAA server
              AAAH       - Vendor B1 as a Home AAA server
              HA         - Vendor A2 as a MIP Home Agent

     Figure 22: Test Topology for Allocation of HA in Foreign Network

   o  All test scenarios in Section 4.7.1 must be performed.  If
      [RFC3846] is supported, MIP NAIs should be used to route the AMRs
      towards the AAAH.  This test can overlap with Section 4.1.1.2.1
      and Section 3.1.2.2.  For test scenarios resulting in the
      termination of the session, verify that the HA allocated in A2 is
      released if policy permits.

   o  Negative test for failed allocation of home agent.  B1 can be
      configured not to provide a home agent for the Mobile.  Verify
      that DIAMETER_ERROR_HA_NOT_AVAILABLE sent by B1 is propagated to



Fajardo, et al.           Expires July 5, 2007                 [Page 54]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


      A1.  Verify that the B1 releases all session state it keeps if
      any.  B1 must conform to Section 4.1.3 of [RFC4004].

4.7.3.  Optional

   Vendors that support Diameter Mobile IPv4 extension must conform to
   [RFC4004].  The following are optional test cases that can be
   performed for Diameter MIP.

4.7.3.1.  Co-located Registration via Redirect Indication

   An addendum to the topology shown in Figure 21 is shown in Figure 23.
   The redirect agent is introduced if additional transport security is
   required between HA and AAAH in the co-located scenario as described
   in Section 3.3 of [RFC4004].  Optional IPsec or TLS connectivity can
   be established between HA and AAAH.  For simplicity Figure 23 differs
   from Figure 8 of [RFC4004] by not having an AAA proxy but relying on
   the redirect agent directly.

                     +----------+
                     | Redirect |
                     | Vendor B1|
                     +----------+
                          |
                          |
       +--------+     +--------+     +-------------+
       | Mobile |<--->|  HA    |<--->| AAAH        |
       |        |     |Vendor A|     | Vendor B2   |
       +--------+     +--------+     +-------------+

      Legend:
              Mobile     - Mobile is IPv4 mobile node
              HA         - Vendor A as a MIP Home Agent
              Redirect   - Vendor B1 redirect agent
              AAAH       - Vendor B2 as a Home AAA server

     Figure 23: Test Topology for Co-located Mobile Node with Redirect

   o  Positive test for mobile registration.  Verify that redirection
      occurs between HA and Redirect agent.  Verify that a secure
      transport is established between HA and AAAH.  Verify that at the
      least, vendor B2 can authenticate and authorized the Mobile given
      the proper configuration.  This test can overlap with
      Section 4.1.1.2.1 and Section 3.1.2.2.

   o  Verify that the all test cases in Section 4.7.2.1 is be applied in
      this test case as well.  This test case is an overlap with
      Section 3.1.4 and requirements in that section applies here.



Fajardo, et al.           Expires July 5, 2007                 [Page 55]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


4.7.3.2.  Inter-Domain Registration with Redirect

   An addendum to the topology shown in Figure 21 is shown in Figure 24.
   The redirect agent B3 is introduced if additional transport security
   is required and the use of an AAAF can be skipped.  In this topology
   B3 shares the same realm a B1 and B2.  Optional IPsec or TLS
   connectivity can be established between A1 and B2 as describe in
   Figure 3 of [RFC4004].  However, the secure connectivity can be
   omitted to simplify testing.

                      +---------+
                      |Redirect |
                      |Vendor B3|
                      +---------+
                      /
    realmA (visited) /           realmB (home)
          +---------+             +---------+
          |  AAAF   |   AMR/AMA   |  AAAH   |
          |Vendor A2|      -------|Vendor B2|
          +---------+     /       +---------+
               ^         /             ^
       AMR/AMA |        /              | HAR/HAA
               v       /               v
          +---------+ /           +---------+
          |   FA    |             |   HA    |
          |Vendor A1|             |Vendor B1|
          +---------+             +---------+
               ^
               | Mobile IP
               v
          +---------+
          | Mobile  | mn@realmB.com
          +---------+

      Legend:
              Mobile     - Mobile is IPv4 mobile node
              FA         - Vendor A1 as a MIP Foreign Agent
              AAAF       - Vendor A2 as a Foreign AAA server
              AAAH       - Vendor B2 as a Home AAA server
              HA         - Vendor B1 as a MIP Home Agent
              Redirect   - Vendor B3 as a Redirect agent in reamlA

        Figure 24: Test Topology for Inter-Domain MIP with Redirect

   o  Positive test for mobile registration.  Verify that at the least,
      B1 acting as HA can authenticate and authorize the Mobile given
      the proper configuration.  Verify that a secure transport is
      established between A1 and B2 if used.  If accounting is



Fajardo, et al.           Expires July 5, 2007                 [Page 56]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


      supported, verify that accounting-sub-session-id is used.  If
      [RFC3846] is supported, MIP NAIs should be used to route the
      message towards the HA.  This test can overlap with
      Section 4.1.1.2.1 and Section 3.1.2.2.

   o  Positive test for handover.  Verify that if Mobile performs a
      handover to B1 that de-registration occurs properly and subsequent
      AMR/AMA exchanges are appropriate.  Verify also that the
      accounting session is maintained if any.

   o  Verify that the all test cases in Section 4.7.2.3 is be applied in
      this test case as well.  This test case is an overlap with
      Section 3.1.4 and requirements in that section applies here.

4.7.3.3.  Inter-Domain Registration with Proxy/Relay

   An addendum to the topology shown in Figure 21 is shown in Figure 25.
   The proxy/relay agent B3 exists between A2 and B2.  In this topology
   B3 shares the same realm as B1 and B2.
































Fajardo, et al.           Expires July 5, 2007                 [Page 57]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


                     +------------+
                     |Proxy/Relay |
                     |Vendor B3   |
                     +------------+
                      / AMR/AMA \
    realmA (visited) /           \ realmB (home)
          +---------+             +---------+
          |  AAAF   |             |  AAAH   |
          |Vendor A2|             |Vendor B2|
          +---------+             +---------+
               ^                       ^
       AMR/AMA |                       | HAR/HAA
               v                       v
          +---------+             +---------+
          |   FA    |             |   HA    |
          |Vendor A1|             |Vendor B1|
          +---------+             +---------+
               ^
               | Mobile IP
               v
          +---------+
          | Mobile  | mn@realmB.com
          +---------+

      Legend:
              Mobile     - Mobile is IPv4 mobile node
              FA         - Vendor A1 as a MIP Foreign Agent
              AAAF       - Vendor A2 as a Foreign AAA server
              AAAH       - Vendor B2 as a Home AAA server
              HA         - Vendor B1 as a MIP Home Agent
              Redirect   - Vendor B3 as a Redirect agent in reamlA

      Figure 25: Test Topology for Inter-Domain MIP with Proxy/Relay

   o  Positive test for mobile registration.  Verify that at the least,
      B1 acting as HA can authenticate and authorize the Mobile given
      the proper configuration.  Verify that B3 can reliably relay AMR/
      AMA exchanges between A1 and A2.  If accounting is supported,
      verify that accounting-sub-session-id is used.  If [RFC3846] is
      supported, MIP NAIs should be used to route the message towards
      the HA.  This test can overlap with Section 4.1.1.2.1 and
      Section 3.1.2.2.

   o  Verify that the all test cases in Section 4.7.2.3 is be applied in
      this test case as well.

   o  Positive test for handover.  Verify that if Mobile performs a
      handover to B1 that de-registration occurs properly and subsequent



Fajardo, et al.           Expires July 5, 2007                 [Page 58]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


      AMR/AMA exchanges are appropriate.  Verify also that the
      accounting session is maintained if any.

















































Fajardo, et al.           Expires July 5, 2007                 [Page 59]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


5.  Security Considerations

   This document defines test cases and therefore tests various aspects
   of the Diameter base specification and various Diameter applications.















































Fajardo, et al.           Expires July 5, 2007                 [Page 60]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


6.  IANA Considerations

   This document does not require actions by IANA.
















































Fajardo, et al.           Expires July 5, 2007                 [Page 61]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


7.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2716]  Aboba, B. and D. Simon, "PPP EAP TLS Authentication
              Protocol", RFC 2716, October 1999.

   [RFC2865]  Rigney, C., Willens, S., Rubens, A., and W. Simpson,
              "Remote Authentication Dial In User Service (RADIUS)",
              RFC 2865, June 2000.

   [RFC3012]  Perkins, C. and P. Calhoun, "Mobile IPv4 Challenge/
              Response Extensions", RFC 3012, November 2000.

   [RFC3261]  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
              A., Peterson, J., Sparks, R., Handley, M., and E.
              Schooler, "SIP: Session Initiation Protocol", RFC 3261,
              June 2002.

   [RFC3344]  Perkins, C., "IP Mobility Support for IPv4", RFC 3344,
              August 2002.

   [RFC3539]  Aboba, B. and J. Wood, "Authentication, Authorization and
              Accounting (AAA) Transport Profile", RFC 3539, June 2003.

   [RFC3588]  Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J.
              Arkko, "Diameter Base Protocol", RFC 3588, September 2003.

   [RFC3846]  Johansson, F. and T. Johansson, "Mobile IPv4 Extension for
              Carrying Network Access Identifiers", RFC 3846, June 2004.

   [RFC3957]  Perkins, C. and P. Calhoun, "Authentication,
              Authorization, and Accounting (AAA) Registration Keys for
              Mobile IPv4", RFC 3957, March 2005.

   [RFC4004]  Calhoun, P., Johansson, T., Perkins, C., Hiller, T., and
              P. McCann, "Diameter Mobile IPv4 Application", RFC 4004,
              August 2005.

   [RFC4005]  Calhoun, P., Zorn, G., Spence, D., and D. Mitton,
              "Diameter Network Access Server Application", RFC 4005,
              August 2005.

   [RFC4006]  Hakala, H., Mattila, L., Koskinen, J-P., Stura, M., and J.
              Loughney, "Diameter Credit-Control Application", RFC 4006,
              August 2005.




Fajardo, et al.           Expires July 5, 2007                 [Page 62]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


   [RFC4072]  Eronen, P., Hiller, T., and G. Zorn, "Diameter Extensible
              Authentication Protocol (EAP) Application", RFC 4072,
              August 2005.

   [I-D.ietf-aaa-diameter-sip-app]
              Garcia-Martin, M., "Diameter Session Initiation Protocol
              (SIP) Application", draft-ietf-aaa-diameter-sip-app-12
              (work in progress), April 2006.

   [TS29.228]
              3GPP, "IMS Cx and Dx interfaces : signalling flows and
              message contents", 3GPP TS 29.228 Version 7.0.0 2006.

   [TS29.229]
              3GPP, "IMS Cx and Dx interfaces based on the Diameter
              protocol; Protocol details", 3GPP TS 29.229 Version
              7.0.0 2006.

   [TS29.328]
              3GPP, "IMS Sh interface : signalling flows and message
              content", 3GPP TS 29.328 Version 6.8.0 2005.

   [TS29.329]
              3GPP, "IMS Sh interface based on the Diameter protocol;
              Protocol details", 3GPP TS 29.329 Version 6.6.0 2005.

   [TS32.260]
              3GPP, "IP Multimedia Subsystem (IMS) Charging", 3GPP TS
              32.260 Version 6.4.0 2005.






















Fajardo, et al.           Expires July 5, 2007                 [Page 63]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


Authors' Addresses

   Victor Fajardo
   Toshiba America Research, Inc.
   1 Telcordia Drive
   Piscataway, NJ  08854
   USA

   Phone: +1 732 699 5368
   Email: vfajardo@tari.toshiba.com


   Alan McNamee
   Openet Telecom Inc
   6 Beckett Way, Park West Business Park
   Clondalkin, Dublin  12
   Ireland

   Phone: +353 1 620 4600
   Email: alan.mcnamee@openet-telecom.com


   Hannes Tschofenig
   Siemens

   Phone: +49 89 636 40390
   Email: hannes.tschofenig@siemens.com


   Julien Bournelle
   Institut National des Telecommunications
   9 rue Charles Fourier
   Evry cedex,   91011
   France

   Phone: +33 1 60 76 44 79
   Email: julien.bournelle@int-evry.fr














Fajardo, et al.           Expires July 5, 2007                 [Page 64]

Internet-Draft    Diameter Interoperability Test Suite      January 2007


Full Copyright Statement

   Copyright (C) The IETF Trust (2007).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Acknowledgment

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).





Fajardo, et al.           Expires July 5, 2007                 [Page 65]