Example-2-IMS-4.5.1.tdlan2 5.08 KB
Newer Older
//Translated from [i.6], Section 4.5.1.
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 
                   (ETSI 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 : "ETSI 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);
    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 [i.3] V3.1.1 (2011-06)" ;
    TITLE : "SIP messages longer than 1 500 bytes" ;
}