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]