Commit 8d39ff78 authored by rennoch's avatar rennoch
Browse files

Inputs from TTCN-3 users added by STF471

parent 412c9734
Loading
Loading
Loading
Loading
+11 −7
Original line number Original line Diff line number Diff line
/*
/**
 *	@author 	STF 346, STF366, STF368, STF369, STF450
 *	@author 	STF 346, STF366, STF368, STF369, STF450, STF471
 *  @version    $Id$
 *  @version    $Id$
 *	@desc		This module provides the types used by the test component 
 *	@desc		This module provides the types used by the test component 
 *              for SIP-IMS tests. Module become from STF306 and STF334-336
 *              for SIP-IMS tests. Module become from STF306 and STF334-336
 *              This module is part of LibImsV2.
 *              This module is part of LibImsV3.
 */
 */


module LibIms_PIXITS
module LibIms_PIXITS
@@ -362,6 +362,10 @@ group SUT_CONF {
		 */
		 */
		modulepar charstring PX_IMS_SUT_CONF_FACTORY_NAME := "factory.uri.name";
		modulepar charstring PX_IMS_SUT_CONF_FACTORY_NAME := "factory.uri.name";
	
	
        //TODO STF471 added
        /** @desc charstring for conference URI name */
        modulepar charstring PX_IMS_SUT_CONF_NAME := "conf.uri.name";
       
} // end group SUT_CONF
} // end group SUT_CONF


} // end group SUT
} // end group SUT
@@ -479,20 +483,20 @@ group TS_SCSCF {


	/** @desc	charstring public user identity for Request-URI to be rejected by IUT S-CSCF as it is barred for incoming calls 
	/** @desc	charstring public user identity for Request-URI to be rejected by IUT S-CSCF as it is barred for incoming calls 
	*/
	*/
	  modulepar charstring  PX_IMS_SUT_BARRED_PUBLIC_USER;
	  modulepar charstring  PX_IMS_SUT_BARRED_PUBLIC_USER := "2912";


	/** @desc	charstring invalid GRUU for Request-URI to be rejected by IUT S-CSCF 
	/** @desc	charstring invalid GRUU for Request-URI to be rejected by IUT S-CSCF 
	*/
	*/
	  modulepar charstring  PX_IMS_SUT_INVALID_GRUU;
	  modulepar charstring  PX_IMS_SUT_INVALID_GRUU := "gruu";


	/** @desc	charstring Service value in P-Asserted-Service header to be rejected by IUT S-CSCF, as service is not subscribed-to 
	/** @desc	charstring Service value in P-Asserted-Service header to be rejected by IUT S-CSCF, as service is not subscribed-to 
	*/
	*/
	  modulepar charstring  PX_IMS_SUT_UNSUBSCRIBED_SERVICE;
	  modulepar charstring  PX_IMS_SUT_UNSUBSCRIBED_SERVICE := "service";


	/** @desc	charstring Service value in SDP message body to be rejected by IUT S-CSCF, as service is not subscribed-to;
	/** @desc	charstring Service value in SDP message body to be rejected by IUT S-CSCF, as service is not subscribed-to;
				** intentionally kept as charstring to allow maximum flexibility to construct unsubscribed service **
				** intentionally kept as charstring to allow maximum flexibility to construct unsubscribed service **
	*/
	*/
	  modulepar charstring  PX_IMS_SUT_UNSUBSCRIBED_SDP_SERVICE;
	  modulepar charstring  PX_IMS_SUT_UNSUBSCRIBED_SDP_SERVICE := "sdp_service";
} // end group TS_SCSCF
} // end group TS_SCSCF


group TS_ECSCF {
group TS_ECSCF {
+5 −3
Original line number Original line Diff line number Diff line
/*
/**
 *	@author 	STF 346, STF366, STF368, STF369, STF450
 *	@author 	STF 346, STF366, STF368, STF369, STF450, STF471
 *  @version    $Id$
 *  @version    $Id$
 *	@desc		This module provides the types and constants used by the test component 
 *	@desc		This module provides the types and constants used by the test component 
 *              for SIP tests. 
 *              for SIP tests. 
 *              This module is part of LibImsV2.
 *              This module is part of LibImsV3.
 */
 */


module LibIms_SIPTypesAndValues
module LibIms_SIPTypesAndValues
@@ -62,6 +62,8 @@ group UserProfileConstants
	  
	  
	  // number of conference profile
	  // number of conference profile
	  const integer c_conferenceProfile_factoryURI := 800;			// confernece factory URI
	  const integer c_conferenceProfile_factoryURI := 800;			// confernece factory URI
      // TODO STF471 added
      const integer c_conferenceProfile_predefinedURI := 801;			// confernece factory URI
      
      
      // number of service profile
      // number of service profile
      const integer c_serviceProfile_EMERGENCY := 911;
      const integer c_serviceProfile_EMERGENCY := 911;
+73 −16
Original line number Original line Diff line number Diff line
/*
/**
 *	@author 	STF 346, STF366, STF368, STF369, STF450
 *	@author 	STF 346, STF366, STF368, STF369, STF450, STF471
 *  @version    $Id$
 *  @version    $Id$
 *	@desc		This module provides the types used by the test component 
 *	@desc		This module provides the types used by the test component 
 *              for SIP-IMS tests.
 *              for SIP-IMS tests.
 *              This module is part of LibImsV2.
 *              This module is part of LibImsV3.
 */
 */


module LibIms_Steps
module LibIms_Steps
@@ -566,12 +566,18 @@ module LibIms_Steps
	* @desc  send PRACK message
	* @desc  send PRACK message
	* @param p_request template of the message to be sent
	* @param p_request template of the message to be sent
	*/
	*/
	function f_SendPRACK_sdp(template MessageBody p_mb) runs on SipComponent
	function f_SendPRACK_sdp(template MessageBody p_mb, CSeq p_rack_cseq) runs on SipComponent
	{
	{
        var integer responseNum := 1;
        var PRACK_Request prackReq;
        
		f_setHeadersGeneral(vc_cSeq, "PRACK"); // cseq, contact, branch, via	
		f_setHeadersGeneral(vc_cSeq, "PRACK"); // cseq, contact, branch, via	
		vc_rAck := valueof(m_RAck(vc_response.msgHeader.rSeq.responseNum, vc_cSeq.seqNumber, vc_cSeq.method));
        if (ispresent(vc_response.msgHeader.rSeq.responseNum)){
            responseNum := vc_response.msgHeader.rSeq.responseNum;
        }
        vc_rAck := m_RAck(responseNum, p_rack_cseq.seqNumber, p_rack_cseq.method);
		
		
		SIPP.send(m_PRACK_Request_sdp(
        prackReq := m_PRACK_Request_sdp(
          vc_requestUri, 
          vc_requestUri, 
          vc_callId, 
          vc_callId, 
          vc_cSeq, 
          vc_cSeq, 
@@ -580,7 +586,14 @@ module LibIms_Steps
          vc_via,
          vc_via,
          vc_rAck,
          vc_rAck,
          p_mb
          p_mb
    	)) to vc_sent_label;	  
        );
		
        // added route header if required
        if (ispresent(vc_response.msgHeader.recordRoute)){
          prackReq.msgHeader.route := f_route();
        }
		
        SIPP.send(prackReq) to vc_sent_label;	  
	}
	}


	}
	}
@@ -1311,6 +1324,28 @@ module LibIms_Steps
			vc_contact := valueof(m_Contact(m_SipUrl_contactIpaddr(vc_userprofile)));
			vc_contact := valueof(m_Contact(m_SipUrl_contactIpaddr(vc_userprofile)));
		}
		}


    //TODO STF471 added
    /**
     * 
     * @desc  Sets variables and default initialization for user profile
     * @param p_userprofile user profile of call
     * @param p_cSeq_s    cseq parameter
     */
    function f_IMS_preamble_woRegistration_as(in integer p_userprofile, inout CSeq p_cSeq_s)  runs on ImsComponent
    {
      // avoid deregistration in default behavior
      vc_DeregDone := true; 
      vc_boo_route := true;
        vc_boo_recordRoute := true;
     
      //Variables & defaults initialization
      LibSip_Steps.f_init_component(p_cSeq_s);

      //Preamble
      f_init_userprofile(p_userprofile); // assignment of PIXIT values to component variable
      vc_sdp_local := valueof(m_SDP_bandwidth(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile));
    }

		/*
		/*
		*
		*
		* @desc  Sets variables and default initialization for user profile and handle registration and authentication with MD5 
		* @desc  Sets variables and default initialization for user profile and handle registration and authentication with MD5 
@@ -1318,7 +1353,7 @@ module LibIms_Steps
		* @param p_cSeq_s		  	cseq parameter
		* @param p_cSeq_s		  	cseq parameter
		* @param p_register		register template
		* @param p_register		register template
		*/
		*/
		function f_IMS_preamble_withRegistration (in integer p_userprofile, in integer p_interface, inout CSeq p_cSeq_s, template REGISTER_Request p_register) runs on ImsComponent
		function f_IMS_preamble_withRegistration (in integer p_userprofile, in integer p_interface, inout CSeq p_cSeq_s, out template REGISTER_Request p_register) runs on ImsComponent
		{
		{


            f_init_interfaceprofile(p_interface);
            f_init_interfaceprofile(p_interface);
@@ -1336,6 +1371,28 @@ module LibIms_Steps


		}
		}


    //TODO STF471 added
    /**
    *
    * @desc  Sets variables and default initialization for user profile and handle registration and authentication with MD5 
    * @param p_userprofile   	user profile of call
    * @param p_cSeq_s		  	cseq parameter
    * @param p_register		register template
    */
    function f_IMS_preamble_withRegistrationWoSubscription (in integer p_userprofile, inout CSeq p_cSeq_s, out template REGISTER_Request p_register) runs on ImsComponent
    {
    
        //Variables & defaults initialization
        f_IMS_preamble_woRegistration(p_userprofile, p_cSeq_s);
    
        //Preamble
        f_Registration(p_cSeq_s, p_register, PX_SIP_REGISTER_AUTHENTICATION_ENABLED);
    
        //	deregistration in case of successful registration
        vc_DeregDone := false;
    		
    }	

		/*
		/*
		 * 
		 * 
		 * @desc  Sets variables and default initialization for user profile and handle registration and authentication with MD5 
		 * @desc  Sets variables and default initialization for user profile and handle registration and authentication with MD5 
+40 −29
Original line number Original line Diff line number Diff line
/*
/*
 *	@author 	STF 346, STF366, STF368, STF369, STF450
 *	@author 	STF 346, STF366, STF368, STF369, STF450, STF471
 *  @version    $Id$
 *  @version    $Id$
 *	@desc		This module provides the types used by the test component 
 *	@desc		This module provides the types used by the test component 
 *              for SIP-IMS tests. Module become from STF306 and STF334-336
 *              for SIP-IMS tests. Module become from STF306 and STF334-336
 *              This module is part of LibImsV2.
 *              This module is part of LibImsV3.
 */
 */


module LibIms_Templates
module LibIms_Templates
{	
{	
    import from XSDAUX all;

    //LibCommon
    //LibCommon
    import from LibCommon_DataStrings all;
    import from LibCommon_DataStrings all;
	
	
@@ -28,6 +26,8 @@ module LibIms_Templates
    import from LibIms_PIXITS all;
    import from LibIms_PIXITS all;
	
	
    //LibXMLTypes
    //LibXMLTypes
    import from XSD all;
    
    import from urn_ietf_params_xml_ns_resource_lists language "XSD" all
    import from urn_ietf_params_xml_ns_resource_lists language "XSD" all
    with {
    with {
        extension "File:../xsd/ResourceList.xsd"
        extension "File:../xsd/ResourceList.xsd"
@@ -208,54 +208,64 @@ group HeaderFieldTemplates{
                             {id:="ecf",paramValue :="192.1.1.2"}} // value is fixed because it is deleted on proxy
                             {id:="ecf",paramValue :="192.1.1.2"}} // value is fixed because it is deleted on proxy
    };
    };


	
	//TODO STF471 change: icidValue added
    template PChargingVector m_pChargingVector(template SemicolonParam_List p_chargeParams) :=
    template PChargingVector m_pChargingVector(template(value) charstring p_icidValue, template SemicolonParam_List p_chargeParams) :=
    {
    {
        fieldName := P_CHARGING_VECTOR_E,
        fieldName := P_CHARGING_VECTOR_E,
        icidValue := p_icidValue,
        chargeParams := p_chargeParams
        chargeParams := p_chargeParams
    };
    };
	
	
	//TODO STF471 change: icidValue extracted from chargeParams, chargeParams removed
    template PChargingVector m_pChargingVector_icid_TS :=
    template PChargingVector m_pChargingVector_icid_TS :=
    {
    {
        fieldName := P_CHARGING_VECTOR_E,
        fieldName := P_CHARGING_VECTOR_E,
        chargeParams := {{id:=c_icid,		paramValue :=c_icid_value}}
        icidValue := c_icid_value,
        chargeParams := omit
    };
    };
	
	
    //TODO STF471 change: icidValue extracted from chargeParams
    template PChargingVector m_pChargingVector_origIoi_fixedValue(charstring p_homeDomain) :=
    template PChargingVector m_pChargingVector_origIoi_fixedValue(charstring p_homeDomain) :=
    {
    {
        fieldName := P_CHARGING_VECTOR_E,
        fieldName := P_CHARGING_VECTOR_E,
        chargeParams := {{id:=c_icid,			paramValue :=c_icid_value},
        icidValue := c_icid_value,
                         {id:=c_icid_generated_at,	paramValue :="192.1.1.10"},
        chargeParams := {{id:=c_icid_generated_at,	paramValue :="192.1.1.10"},
                         {id:=c_orig_ioi,			paramValue := p_homeDomain}}
                         {id:=c_orig_ioi,			paramValue := p_homeDomain}}
    };
    };
	
	
    //TODO STF471 change: icidValue extracted from chargeParams
    template PChargingVector m_pChargingVector_termIoi_fixedValue(charstring p_homeDomain) :=
    template PChargingVector m_pChargingVector_termIoi_fixedValue(charstring p_homeDomain) :=
    {
    {
        fieldName := P_CHARGING_VECTOR_E,
        fieldName := P_CHARGING_VECTOR_E,
        chargeParams := {{id:=c_icid,			paramValue :=c_icid_value},
        icidValue := c_icid_value,
                            {id:=c_icid_generated_at,	paramValue :="192.1.1.10"},
        chargeParams := {{id:=c_icid_generated_at,	paramValue :="192.1.1.10"},
                            {id:=c_term_ioi,			paramValue := p_homeDomain}}
                            {id:=c_term_ioi,			paramValue := p_homeDomain}}
    };
    };
	
	
    //TODO STF471 change: icidValue added
    template PChargingVector m_pChargingVector_origIoi_fixedValue1(charstring p_homeDomain) :=
    template PChargingVector m_pChargingVector_origIoi_fixedValue1(charstring p_homeDomain) :=
    {
    {
        fieldName := P_CHARGING_VECTOR_E,
        fieldName := P_CHARGING_VECTOR_E,
        icidValue := c_icid_value,
        chargeParams := {
        chargeParams := {
                         {id:=c_icid_generated_at,	paramValue :="192.1.1.10"},
                         {id:=c_icid_generated_at,	paramValue :="192.1.1.10"},
                         {id:=c_orig_ioi,			paramValue := p_homeDomain}}
                         {id:=c_orig_ioi,			paramValue := p_homeDomain}}
    };
    };
	
	
    //TODO STF471 change: icidValue extracted from chargeParams
    template PChargingVector m_pChargingVector_accessNetwInfo(charstring p_homeDomain) :=
    template PChargingVector m_pChargingVector_accessNetwInfo(charstring p_homeDomain) :=
    {
    {
        fieldName := P_CHARGING_VECTOR_E,
        fieldName := P_CHARGING_VECTOR_E,
        chargeParams := {{id:=c_icid,			paramValue :=c_icid_value},
        icidValue := c_icid_value,
                         {id:=c_term_ioi,			paramValue := p_homeDomain},
        chargeParams := {{id:=c_term_ioi,			paramValue := p_homeDomain},
                         {id:=c_access_network_charging_info,			paramValue := "192.1.1.10"}}
                         {id:=c_access_network_charging_info,			paramValue := "192.1.1.10"}}
    };
    };
	
	
    //TODO STF471 change: icidValue added
    template PChargingVector mw_pChargingVector(template charstring p_id, template charstring p_paramValue) :=
    template PChargingVector mw_pChargingVector(template charstring p_id, template charstring p_paramValue) :=
    {
    {
        fieldName := P_CHARGING_VECTOR_E,
        fieldName := P_CHARGING_VECTOR_E,
        icidValue := ?,
        chargeParams := superset({id := p_id, paramValue := p_paramValue})
        chargeParams := superset({id := p_id, paramValue := p_paramValue})
    };
    };


@@ -461,8 +471,8 @@ group HeaderFieldTemplates{
        
        
        template SemicolonParam_List mw_challenge := superset(mw_ck,mw_ik);
        template SemicolonParam_List mw_challenge := superset(mw_ck,mw_ik);
     //   template SemicolonParam_List mw_challenge := {mw_ck,mw_ik};          
     //   template SemicolonParam_List mw_challenge := {mw_ck,mw_ik};          
		template GenericParam mw_ck := {"ck"};
		template GenericParam mw_ck := {"ck", omit};
		template GenericParam mw_ik := {"ik"}
		template GenericParam mw_ik := {"ik", omit}
		
		
		
		
    /*
    /*
@@ -586,14 +596,14 @@ group XMLTemplates {
        xmlBody := p_xmlBody
        xmlBody := p_xmlBody
    };
    };
    
    
    template Reginfo m_reginfo (template XSDAUX.anyURI p_user):= {
    template Reginfo m_reginfo (template XSD.AnyURI p_user):= {
	  full,
	  full,
      0,
      0,
      {m_registration(p_user)},
      {m_registration(p_user)},
	  {}
	  {}
    };
    };
    
    
    template Registration m_registration (template XSDAUX.anyURI p_user):= {
    template Registration m_registration (template XSD.AnyURI p_user):= {
	  p_user, // XSDAUX.anyURI aor
	  p_user, // XSDAUX.anyURI aor
      "a7", // XSDAUX.string id
      "a7", // XSDAUX.string id
      init, //enumerated {active,init,terminated} state,
      init, //enumerated {active,init,terminated} state,
@@ -671,6 +681,7 @@ group ACR_CBTemplates {
        transformations := omit
        transformations := omit
    }
    }


    //TODO STF471 check this!!!
    template ConditionsType m_conditionsType_identity(template(present) charstring p_id, template charstring p_scheme) := {
    template ConditionsType m_conditionsType_identity(template(present) charstring p_id, template charstring p_scheme) := {
        {
        {
            {identity_list := {{{{one := {id := p_id, elem := omit}}}}}} 
            {identity_list := {{{{one := {id := p_id, elem := omit}}}}}} 
@@ -1148,10 +1159,10 @@ group Ims3gppTemplates {
    //TODO:check commented and below templates when test will be validated
    //TODO:check commented and below templates when test will be validated
    template TIMS3GPP mw_Ims_3gpp_CW := {
    template TIMS3GPP mw_Ims_3gpp_CW := {
        version := 1.0,
        version := 1.0,
        attr := ?,
        attr := *,
        choice := {
        choice := {
            alternative_service := {
            alternative_service := {
                attr := ?,
                attr := *, 
                type_ := ?, 
                type_ := ?, 
                reason := ?, 
                reason := ?, 
                elem_list := ?
                elem_list := ?
@@ -1181,10 +1192,10 @@ group Ims3gppTemplates {
} // end group Ims3gpp
} // end group Ims3gpp


group CONFTemplates {
group CONFTemplates {
    template booleanXSD boolXSD_true:={bool:=true}
    template XSD.Boolean boolXSD_true := true;
    template booleanXSD boolXSD_false:={bool:=false}
    template XSD.Boolean boolXSD_false := false;
	
	
    template anyAttributes m_emptyAnyAttributes:={}
    template XSD.AnyType.attr m_emptyAnyAttributes:={}
	
	
    template urn_ietf_params_xml_ns_conference_info.Media_type m_mediatype_status(template Media_status_type p_status):= {
    template urn_ietf_params_xml_ns_conference_info.Media_type m_mediatype_status(template Media_status_type p_status):= {
        id:="1",
        id:="1",
@@ -1240,7 +1251,7 @@ group CONFTemplates {
            elem_list:={}
            elem_list:={}
    }
    }
	
	
    template Conference_state_type m_conference_state(template unsignedInt p_nUsers, boolean p_active, boolean p_locked) := {
    template Conference_state_type m_conference_state(template UnsignedInt p_nUsers, boolean p_active, boolean p_locked) := {
        attr := {},
        attr := {},
        user_count:=p_nUsers,
        user_count:=p_nUsers,
        active:=p_active,
        active:=p_active,
@@ -1266,18 +1277,18 @@ group CONFTemplates {
     entity := ?,
     entity := ?,
     state := *,
     state := *,
     version := *,
     version := *,
     attr := ?,
     attr := *,
     conference_description := *,
     conference_description := *,
     host_info := *,
     host_info := *,
     conference_state := ?,
     conference_state := ?,
     users := {
     users := {
         state := ?,
         state := ?,
         attr := ?,
         attr := *,
         user_list := {
         user_list := {
             {
             {
                 entity := *,
                 entity := *,
                 state := *,
                 state := *,
                 attr := ?,
                 attr := *,
                 display_text := *,
                 display_text := *,
                 associated_aors := *,
                 associated_aors := *,
                 roles := *,
                 roles := *,
@@ -1287,7 +1298,7 @@ group CONFTemplates {
                     {
                     {
                         entity := *,
                         entity := *,
                         state := *,
                         state := *,
                         attr := ?,
                         attr := *,
                         display_text := *,
                         display_text := *,
                         referred := *,
                         referred := *,
                         status := connected,
                         status := connected,
@@ -3023,7 +3034,7 @@ group response_send
        To p_to, 
        To p_to, 
        Via p_via, 
        Via p_via, 
        Contact p_contact,
        Contact p_contact,
        Require p_require
        template (omit) Require p_require
    ) modifies m_Response_Base:= {
    ) modifies m_Response_Base:= {
        msgHeader :=
        msgHeader :=
        {
        {
@@ -3069,7 +3080,7 @@ group response_send
    }
    }
	
	
    template Response m_Response_18XonINVITE_require_sdp_UE (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
    template Response m_Response_18XonINVITE_require_sdp_UE (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
                From p_from, To p_to, Via p_via, Contact p_contact, Require p_require, template MessageBody p_mb, template LibSip_SIPTypesAndValues.Allow p_allow ) modifies m_Response_Base:=
                From p_from, To p_to, Via p_via, Contact p_contact, template (omit) Require p_require, template (omit) MessageBody p_mb, template (omit) LibSip_SIPTypesAndValues.Allow p_allow ) modifies m_Response_Base:=
    {
    {
        msgHeader :=
        msgHeader :=
        {
        {