IMS.tdlan2 5.78 KB
Newer Older
/*
Copyright (c) ETSI 2017.

This software is subject to copyrights owned by ETSI. Non-exclusive permission
is hereby granted, free of charge, to copy, reproduce and amend this file
under the following conditions: It is provided "as is", without warranty of any
kind, expressed or implied.

ETSI shall never be liable for any claim, damages, or other liability arising
from its use or inability of use.This permission does not apply to any documentation
associated with this file for which ETSI keeps all rights reserved. The present
copyright notice shall be included in all copies of whole or part of this
file and shall not imply any sub-license right.

*/

//Translated from [i.6], Section 4.5.1.
Philip Makedonski's avatar
Philip Makedonski committed
Package IMS_NNI_General_Capabilities {
    //Procedures carried out by a component of a test configuration 
    //or an actor during test execution
    Action preConditions : "Pre-test conditions:
                 - HSS of IMS_A and of IMS B is configured according to table 1
                 - UE_A and UE_B have IP bearers established to their respective
                   IMS networks as per clause 4.2.1
                 - UE_A and IMS_A configured to use TCP for transport
                 - UE_A is registered in IMS_A using any user identity
                 - UE_B is registered user of IMS_B using any user identity
                 - MESSAGE request and response has to be supported at II-NNI 
                   (TS 129 165 [16]
                 see tables 6.1 and 6.3)" ;

    //User-defined verdicts
    //Alternatively the predefined verdicts may be used as well 
	Type Verdict ;
    Verdict PASS ;
    Verdict FAIL ;

    //User-defined annotation types
    Annotation TITLE ;         //Test description title
    Annotation STEP ;          //Step identifiers in source documents
    Annotation PROCEDURE ;     //Informal textual description of a test step 
    Annotation PRECONDITION ;  //Identify pre-condition behaviour
    Annotation PREAMBLE ;      //Identify preamble behaviour. 
    Annotation SUMMARY ;       //Informal textual description of test sequence

    //Test objectives (copied verbatim from source document)
    Test Objective TP_IMS_4002_1 {
        //Location in source document
        from : "ts_18601102v030101p.pdf::4.5.1.1 (CC 1)" ;
        //Further reference to another document
        from : "TS 124 229 [1], clause 4.2A, paragraph 1" ;
        description : "ensure that {
                           when { UE_A sends a MESSAGE to UE_B
                                  containing a Message_Body greater than 1 300 
                                  bytes } 
                           then { IMS_B receives the MESSAGE containing the 
                                  Message_Body greater than 1 300 bytes }
                         }" ;
    }
    Test Objective UC_05_I {
        //Only a reference to corresponding section in the source document
        from : "ts_18601102v030101p.pdf::4.4.4.2" ;
    }
    
    //Relevant data definitions
    Type MSG (optional TCP of type CONTENT);
Philip Makedonski's avatar
Philip Makedonski committed
    MSG MESSAGE() ;
    MSG DING() ;
    MSG DELIVERY_REPORT() ;
    MSG M_200_OK() ;
    
    Type CONTENT ;
    CONTENT tcp;
    
    Time seconds;
    seconds default_timeout;

    //Gate type definitions.
    Gate Type defaultGT accepts MSG, CONTENT ;
    
    //Component type definitions
    //In this case they may also be reduced to a single component type
    Component Type USER having {
        gate g of type defaultGT ;
    }
    Component Type UE having {
        gate g of type defaultGT ;
    }
    Component Type IMS having {
        gate g of type defaultGT ;
    }
    Component Type IBCF having {
        gate g of type defaultGT ;
    }

    //Test configuration definition
    Test Configuration CF_INT_CALL {
    	create Tester USER_A of type USER;
    	create Tester UE_A of type UE;
    	create Tester IMS_A of type IMS;
    	create Tester IBCF_A of type IBCF;
    	create Tester IBCF_B of type IBCF;
    	create SUT IMS_B of type IMS;
    	create Tester UE_B of type UE;
    	create Tester USER_B of type USER;
        connect USER_A.g to UE_A.g ;
        connect UE_A.g to IMS_A.g ;
        connect IMS_A.g to IBCF_A.g ;
        connect IBCF_A.g to IBCF_B.g ;
        connect IBCF_B.g to IMS_B.g ;
        connect IMS_B.g to UE_B.g ;
        connect UE_B.g to USER_B.g ;
    }

    //Test description definition
    Test Description TD_IMS_MESS_0001 uses configuration CF_INT_CALL {
            //Pre-conditions from the source document
            perform action preConditions with { PRECONDITION ; };
            
            //Test sequence
            USER_A.g sends MESSAGE to UE_A.g with { STEP : "1" ; } ;
            UE_A.g sends MESSAGE to IMS_A.g with { STEP : "2" ; } ;
            IMS_A.g sends MESSAGE to IBCF_A.g with { STEP : "3" ; } ;
            IBCF_A.g sends MESSAGE to IBCF_B.g with { STEP : "4" ; } ;
            IBCF_B.g sends MESSAGE (TCP = tcp) to IMS_B.g with { STEP : "5" ; } ;
            IMS_B.g sends MESSAGE to UE_B.g with { STEP : "6" ; } ;
            UE_B.g sends DING to USER_B.g with { STEP : "7" ; } ;
            UE_B.g sends M_200_OK to IMS_B.g with { STEP : "8" ; } ;
            IMS_B.g sends M_200_OK to IBCF_B.g with { STEP : "9" ; } ;
            IBCF_B.g sends M_200_OK to IBCF_A.g with { STEP : "10" ; } ;
            IBCF_A.g sends M_200_OK to IMS_A.g with { STEP : "11" ; } ;
            IMS_A.g sends M_200_OK to UE_A.g with { STEP : "12" ; } ;
            alternatively {
                UE_A.g sends DELIVERY_REPORT to USER_A.g with { STEP : "13" ; } ;
            } or {
              	gate USER_A.g is quiet for default_timeout;
            } 
    } with {
        SUMMARY : "IMS network shall support SIP messages greater than
                           1 500 bytes" ;
    }
} with {
    Note : "Taken from ETSI TS 186 011-2 V3.1.1 (2011-06)" ;
    TITLE : "SIP messages longer than 1 500 bytes" ;
}