Commit 01b60781 authored by pintar's avatar pintar
Browse files

corrections due to validation of STF346 from week 45

parent d4233c36
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -170,7 +170,7 @@ group SUT_UE3 {
	}
} // end group SUT_UE3

group SUT_UE4 {
group SUT_UE4 {//UE4 can be used as UE1Visited
	modulepar {
	/** @desc	charstring for SUT - PCSCF4 IP address to exchange SIP messages - connection point for UE4
	*/
+98 −33
Original line number Diff line number Diff line
@@ -437,18 +437,18 @@ module LibIms_Steps
			vc_userprofile.registrarDomain := PX_IMS_SUT_UE4_REGISTRAR;
			}
			
			case (c_userProfile_UE1atSUTvisiting) { //variant c_userProfile_UE1atSUTvisiting
			vc_userprofile.currPort := PX_IMS_TS_UE1_PORT;
			vc_userprofile.currIpaddr := PX_IMS_TS_UE1_IPADDR;
			vc_userprofile.contactPort := PX_IMS_TS_UE1_PORT;
			vc_userprofile.contactIpaddr := PX_IMS_TS_UE1_IPADDR;
			vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR;	
			vc_userprofile.homeDomain := PX_IMS_SUT_UE1_HOME_DOMAIN;	
			vc_userprofile.publUsername := PX_IMS_SUT_UE1_PUBLIC_USER;
			vc_userprofile.qop := PX_IMS_SUT_UE1_QOP;
			vc_userprofile.privUsername := PX_IMS_SUT_UE1_PRIVAT_USERNAME;	
			vc_userprofile.passwd := PX_IMS_SUT_UE1_PRIVAT_PASSWD;	
			vc_userprofile.registrarDomain := PX_IMS_TS_UE1_REGISTRAR;
			case (c_userProfile_UE1atSUTvisiting) { //variant c_userProfile_UE1atSUTvisiting - UE4 parameters
			vc_userprofile.currPort := PX_IMS_TS_UE4_PORT;
			vc_userprofile.currIpaddr := PX_IMS_TS_UE4_IPADDR;
			vc_userprofile.contactPort := PX_IMS_TS_UE4_PORT;
			vc_userprofile.contactIpaddr := PX_IMS_TS_UE4_IPADDR;
			vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE4_BEARER_IPADDR;	
			vc_userprofile.homeDomain := PX_IMS_SUT_UE4_HOME_DOMAIN;	
			vc_userprofile.publUsername := PX_IMS_SUT_UE4_PUBLIC_USER;
			vc_userprofile.qop := PX_IMS_SUT_UE4_QOP;
			vc_userprofile.privUsername := PX_IMS_SUT_UE4_PRIVAT_USERNAME;	
			vc_userprofile.passwd := PX_IMS_SUT_UE4_PRIVAT_PASSWD;	
			vc_userprofile.registrarDomain := PX_IMS_SUT_UE4_REGISTRAR;
			}
			
//			//temporary not used and it can be deleted during validation
@@ -471,6 +471,7 @@ module LibIms_Steps
			vc_userprofile.currIpaddr := PX_IMS_TS_IBCF_IPADDR;			// via
			vc_userprofile.contactPort := PX_IMS_TS_IBCF_PORT;			// contact (simulated UE)
			vc_userprofile.contactIpaddr := PX_IMS_TS_IBCF_IPADDR;		// contact
			vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR;	
			vc_userprofile.homeDomain := PX_IMS_SUT_UE1_HOME_DOMAIN;	// From, To (register)
			vc_userprofile.publUsername := PX_IMS_SUT_UE1_PUBLIC_USER;	// From, To (register)
			vc_userprofile.qop := PX_IMS_SUT_UE1_QOP;					// Authorization
@@ -484,7 +485,7 @@ module LibIms_Steps
			vc_userprofile.currIpaddr := PX_IMS_TS_IBCF_IPADDR;			// via
			vc_userprofile.contactPort := PX_IMS_TS_IBCF_PORT;			// contact (simulated UE)
			vc_userprofile.contactIpaddr := PX_IMS_TS_IBCF_IPADDR;		// contact
			//vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR;
			vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR;
			vc_userprofile.homeDomain := PX_IMS_SUT_UE1_HOME_DOMAIN;	// From, To (register)
			vc_userprofile.publUsername := PX_IMS_SUT_UE1_PUBLIC_USER;	// From, To (register)
			vc_userprofile.qop := PX_IMS_SUT_UE1_QOP;					// Authorization
@@ -496,14 +497,15 @@ module LibIms_Steps
			case (c_userProfile_ICSCFwithHomeUE) { 						//variant c_userProfile_ICSCFwithHomeUE
			vc_userprofile.currPort := PX_IMS_TS_ICSCF_PORT;			// via (Mw interface of TS)
			vc_userprofile.currIpaddr := PX_IMS_TS_ICSCF_IPADDR;		// via
			vc_userprofile.contactPort := PX_IMS_TS_UE1_PORT;			// contact (simulated UE)
			vc_userprofile.contactIpaddr := PX_IMS_TS_UE1_IPADDR;		// contact
			vc_userprofile.homeDomain := PX_IMS_SUT_UE1_HOME_DOMAIN;	// From, To (register)
			vc_userprofile.publUsername := PX_IMS_SUT_UE1_PUBLIC_USER;	// From, To (register)
			vc_userprofile.qop := PX_IMS_SUT_UE1_QOP;					// Authorization
			vc_userprofile.privUsername := PX_IMS_SUT_UE1_PRIVAT_USERNAME;	// Authorization
			vc_userprofile.passwd := PX_IMS_SUT_UE1_PRIVAT_PASSWD;			// Authorization
			vc_userprofile.registrarDomain := PX_IMS_SUT_UE1_REGISTRAR; 	// Authorization
			vc_userprofile.contactPort := PX_IMS_TS_UE4_PORT;			// contact (simulated UE)
			vc_userprofile.contactIpaddr := PX_IMS_TS_UE4_IPADDR;		// contact
			vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE4_BEARER_IPADDR;	
			vc_userprofile.homeDomain := PX_IMS_SUT_UE4_HOME_DOMAIN;	// From, To (register)
			vc_userprofile.publUsername := PX_IMS_SUT_UE4_PUBLIC_USER;	// From, To (register)
			vc_userprofile.qop := PX_IMS_SUT_UE4_QOP;					// Authorization
			vc_userprofile.privUsername := PX_IMS_SUT_UE4_PRIVAT_USERNAME;	// Authorization
			vc_userprofile.passwd := PX_IMS_SUT_UE4_PRIVAT_PASSWD;			// Authorization
			vc_userprofile.registrarDomain := PX_IMS_SUT_UE4_REGISTRAR; 	// Authorization
			}
	
			case (c_userProfile_IBCFwithUnknownUE) { 					//variant 
@@ -511,6 +513,7 @@ module LibIms_Steps
			vc_userprofile.currIpaddr := PX_IMS_TS_ICSCF_IPADDR;		// via
			vc_userprofile.contactPort := PX_IMS_TS_UE1_PORT;			// contact (simulated UE)
			vc_userprofile.contactIpaddr := PX_IMS_TS_UE1_IPADDR;		// contact
			vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR;	
			vc_userprofile.homeDomain := PX_IMS_SUT_UE1_HOME_DOMAIN;	// From, To (register)
			vc_userprofile.publUsername := PX_IMS_SUT_unknownUE_PUBLIC_USER;	// From, To (register)
			vc_userprofile.qop := PX_IMS_SUT_UE1_QOP;					// Authorization
@@ -524,7 +527,8 @@ module LibIms_Steps
			vc_userprofile.currIpaddr := PX_IMS_TS_PCSCF_IPADDR;		// via
			vc_userprofile.contactPort := PX_IMS_TS_UE1_PORT;			// contact (simulated UE)
			vc_userprofile.contactIpaddr := PX_IMS_TS_UE1_IPADDR;		// contact
			vc_userprofile.homeDomain := PX_IMS_TS_IMS1UE_HOME_DOMAIN;	// From, To (register)
			vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR;	
			vc_userprofile.homeDomain := PX_IMS_SUT_UE1_HOME_DOMAIN;	// From, To (register)
			vc_userprofile.publUsername := PX_IMS_SUT_UE1_PUBLIC_USER;	// From, To (register)
			vc_userprofile.qop := PX_IMS_SUT_UE1_QOP;					// Authorization
			vc_userprofile.privUsername := PX_IMS_SUT_UE1_PRIVAT_USERNAME;	// Authorization
@@ -537,7 +541,8 @@ module LibIms_Steps
			vc_userprofile.currIpaddr := PX_IMS_TS_PCSCF_IPADDR;		// via
			vc_userprofile.contactPort := PX_IMS_TS_UE1_PORT;			// contact (simulated UE)
			vc_userprofile.contactIpaddr := PX_IMS_TS_UE1_IPADDR;		// contact
			vc_userprofile.homeDomain := PX_IMS_SUT_UE1_HOME_DOMAIN;	// From, To (register)
			vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR;	
			vc_userprofile.homeDomain := PX_IMS_SUT_UE1_REGISTRAR;	// From, To (register)
			vc_userprofile.publUsername := PX_IMS_SUT_UE1_PUBLIC_USER;	// From, To (register)
			vc_userprofile.qop := PX_IMS_SUT_UE1_QOP;					// Authorization
			vc_userprofile.privUsername := PX_IMS_SUT_UE1_PRIVAT_USERNAME;	// Authorization
@@ -551,6 +556,7 @@ module LibIms_Steps
			vc_userprofile.currIpaddr := PX_IMS_TS_PCSCF_IPADDR;		// via
			vc_userprofile.contactPort := PX_IMS_TS_UE2_PORT;			// contact (simulated UE)
			vc_userprofile.contactIpaddr := PX_IMS_TS_UE2_IPADDR;		// contact
			vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR;	
			vc_userprofile.homeDomain := PX_IMS_SUT_UE2_HOME_DOMAIN;	// From, To (register)
			vc_userprofile.publUsername := PX_IMS_SUT_UE2_PUBLIC_USER;	// From, To (register)
			vc_userprofile.qop := PX_IMS_SUT_UE1_QOP;					// Authorization
@@ -565,6 +571,7 @@ module LibIms_Steps
			vc_userprofile.currIpaddr := PX_IMS_TS_PCSCF_IPADDR;		// via
			vc_userprofile.contactPort := PX_IMS_TS_UE1_PORT;			// contact (simulated UE)
			vc_userprofile.contactIpaddr := PX_IMS_TS_UE1_IPADDR;		// contact
			vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR;	
			vc_userprofile.homeDomain := PX_IMS_SUT_UE2_HOME_DOMAIN;	// From, To (register)
			vc_userprofile.publUsername := PX_IMS_SUT_unknownUE_PUBLIC_USER;	// From, To (register)
			vc_userprofile.qop := PX_IMS_SUT_UE1_QOP;					// Authorization
@@ -576,14 +583,15 @@ module LibIms_Steps
			case (c_userProfile_SCSCFwithHomeUE) { 						//variant c_userProfile_SCSCFwithHomeUE
			vc_userprofile.currPort := PX_IMS_TS_SCSCF_PORT;			// via (Mw interface of TS)
			vc_userprofile.currIpaddr := PX_IMS_TS_SCSCF_IPADDR;		// via
			vc_userprofile.contactPort := PX_IMS_TS_UE1_PORT;			// contact (simulated UE)
			vc_userprofile.contactIpaddr := PX_IMS_TS_UE1_IPADDR;		// contact
			vc_userprofile.homeDomain := PX_IMS_SUT_UE1_HOME_DOMAIN;	// From, To (register)
			vc_userprofile.publUsername := PX_IMS_SUT_UE1_PUBLIC_USER;	// From, To (register)
			vc_userprofile.qop := PX_IMS_SUT_UE1_QOP;					// Authorization
			vc_userprofile.privUsername := PX_IMS_SUT_UE1_PRIVAT_USERNAME;	// Authorization
			vc_userprofile.passwd := PX_IMS_SUT_UE1_PRIVAT_PASSWD;			// Authorization
			vc_userprofile.registrarDomain := PX_IMS_SUT_UE1_REGISTRAR; 	// Authorization
			vc_userprofile.contactPort := PX_IMS_TS_UE4_PORT;			// contact (simulated UE)
			vc_userprofile.contactIpaddr := PX_IMS_TS_UE4_IPADDR;		// contact
			vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE4_BEARER_IPADDR;	
			vc_userprofile.homeDomain := PX_IMS_SUT_UE4_HOME_DOMAIN;	// From, To (register)
			vc_userprofile.publUsername := PX_IMS_SUT_UE4_PUBLIC_USER;	// From, To (register)
			vc_userprofile.qop := PX_IMS_SUT_UE4_QOP;					// Authorization
			vc_userprofile.privUsername := PX_IMS_SUT_UE4_PRIVAT_USERNAME;	// Authorization
			vc_userprofile.passwd := PX_IMS_SUT_UE4_PRIVAT_PASSWD;			// Authorization
			vc_userprofile.registrarDomain := PX_IMS_SUT_UE4_REGISTRAR; 	// Authorization
			}
			
			case (c_userProfile_AS1)  { 								//variant c_userProfile_AS1
@@ -670,7 +678,7 @@ module LibIms_Steps
				}
				case (c_userProfile_SCSCFwithHomeUE) {
						p_sipUrl.userInfo := {userOrTelephoneSubscriber:=PX_IMS_TS_IMS1UE_PUBLIC_USER, password:=omit};
						p_sipUrl.hostPort := {host := PX_IMS_TS_SCSCF_IPADDR, portField :=omit}
						p_sipUrl.hostPort := {host := PX_IMS_TS_IMS1UE_HOME_DOMAIN, portField :=omit}
				}
				case (c_userProfile_ISUP) {
						p_sipUrl.userInfo := {userOrTelephoneSubscriber:=PX_IMS_TS_ISUP_PUBLIC_USER, password:=omit};
@@ -875,6 +883,63 @@ module LibIms_Steps

		}//end function f_awaitingRegistration_IMS


	/**
	 * 
	 * @desc remove registration
	 * @param p_cSeq_s cseq parameter
	 */	
	function f_RemoveRegistration_IMS(inout CSeq p_cSeq) runs on SipComponent
	{
	  var CommaParam_List v_challenge;
	  var Credentials v_credentials;
	  var template REGISTER_Request v_request;
	  
	  if (PX_SIP_REGISTRATION)
	  {
		f_setHeaders_deREGISTER(p_cSeq);
		v_request := m_REGISTER_Request_expires_IMS(vc_requestUri, vc_callIdReg,
		p_cSeq,  vc_from, vc_to, vc_via, vc_contact, vc_authorization, "0");
		v_request.msgHeader.route := f_route();
		
		f_SendREGISTER(v_request);
		if (PX_SIP_REGISTER_AUTHENTICATION_ENABLED)
		{
			// receiving 401 Unauthorized response.
			// and Re-send REGISTER request with Authorization header
			tc_ack.start(PX_SIP_TACK);
			alt
			{
			  [] SIPP.receive	(mw_Response_Base(c_statusLine401, vc_callIdReg, p_cSeq)) -> value vc_response
				{
				  tc_ack.stop;
				  // set headers via, cseq and authorization
				  f_setHeaders_2ndREGISTER(p_cSeq);
					v_request := m_REGISTER_Request_expires_IMS(vc_requestUri, vc_callIdReg,
					p_cSeq,  vc_from, vc_to, vc_via, vc_contact, vc_authorization, "0");
					v_request.msgHeader.route := f_route();
				  // Re-send protected REGISTER
				  f_SendREGISTER(v_request);//LibSip
				  
				  // awaiting 200 OK REGISTER
				  f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callIdReg, p_cSeq));
				}
			  [] SIPP.receive	(mw_Response_Base(c_statusLine200, vc_callIdReg, p_cSeq))-> value vc_response
				{
        			tc_ack.stop;
        			f_setHeadersOnReceiptOfResponse(vc_cSeq, vc_response);
        			log ("Authorization was not requested as expected");
				}
			}
		}
		else
		{
		  f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callIdReg, p_cSeq));
		}
	  }
	} // end f_RemoveRegistration_IMS
		

	} // end group registration
	
	group preambles {
@@ -908,7 +973,7 @@ module LibIms_Steps
			//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));

			vc_contact := valueof(m_Contact(m_SipUrl_contactIpaddr(vc_userprofile)));
		}

		/*
+68 −16
Original line number Diff line number Diff line
@@ -64,12 +64,12 @@ group HeaderFieldTemplates{
			minSeParam:=omit
	}
	
	template PathValue m_pathvalue (SipUrl p_sipUrl):=
	template PathValue mw_pathvalue (SipUrl p_sipUrl):=
	{
	nameAddr := {displayName := omit, 	 			// optional charstring
	nameAddr := {displayName := *, 	 			// optional charstring
				 addrSpec := p_sipUrl		// SipUrl
				},
	rrParam := omit
	rrParam := *
	}

	template Path m_path (SipUrl p_sipUrl):=
@@ -84,6 +84,21 @@ group HeaderFieldTemplates{
			}
	}
	
	template Path m_path_TS :=
		{
			fieldName := PATH_E,
			pathValues := {
						{nameAddr := {
						displayName := omit, 	 			// optional charstring
						addrSpec := {
                        				scheme := "sip",
                        				userInfo := {userOrTelephoneSubscriber:="registrar"},
                        				hostPort := {PX_IMS_TS_PCSCF_HOME_DOMAIN, PX_IMS_TS_PCSCF_PORT},
                        				urlParameters := omit,
                        				headers := omit}},
						rrParam := omit}
				}
		}
/*
 * @desc Path header field expectation with at least one path value
 * @param p_sipUrl value of the last element in the list of path values
@@ -91,7 +106,7 @@ group HeaderFieldTemplates{
	template Path mw_path (SipUrl p_sipUrl):=
	{
		fieldName := PATH_E,
		pathValues := {*,m_pathvalue(p_sipUrl)}		// any number of SipUrl may occur before p_sipUrl
		pathValues := {mw_pathvalue(p_sipUrl)}		// any number of SipUrl may occur before p_sipUrl
	}
	
	template PAccessNetworkInfo m_pAccessNetworkInfo_IEEE_11a :=
@@ -110,23 +125,36 @@ group HeaderFieldTemplates{
	template PChargingFunctionAddresses m_pChargingFunctionAddresses_fixedValue :=
	{
		fieldName := P_CHARGING_FUNCTION_ADDRESSES_E,
		chargeAddrParams := {{id:="ccf",paramValue :="192.1.1.1"}, // value is fixed because it is deleted on proxy 
		chargeAddrParams := {{id:="ccf",paramValue :="192.1.1.1;"}, // 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
	};

	
	template PChargingVector m_pChargingVector(template SemicolonParam_List p_chargeParams) :=
	{
		fieldName := P_CHARGING_VECTOR_E,
		chargeParams := p_chargeParams
	};
	
	template PChargingVector m_pChargingVector_icid_TS :=
	{
		fieldName := P_CHARGING_VECTOR_E,
		chargeParams := {{id:="icid-value",		paramValue :="012345"}}
	};
	
	template PChargingVector m_pChargingVector_fixedValue(charstring p_homeDomain) :=
	{
		fieldName := P_CHARGING_VECTOR_E,
		chargeParams := {{id:="icid-value",			paramValue :="123abc"},
						 {id:="icid-generated-at",	paramValue :="192.1.1.10"},
		chargeParams := {{id:="icid-value",			paramValue :="123abc;"},
						 {id:="icid-generated-at",	paramValue :="192.1.1.10;"},
						 {id:="orig-ioi",			paramValue := p_homeDomain}}
	};
	
	template PChargingVector m_pChargingVector_fixedValue1(charstring p_homeDomain) :=
	{
		fieldName := P_CHARGING_VECTOR_E,
		chargeParams := {
						 {id:="icid-generated-at",	paramValue :="192.1.1.10"},
						 {id:="icid-generated-at",	paramValue :="192.1.1.10;"},
						 {id:="orig-ioi",			paramValue := p_homeDomain}}
	};
	
@@ -153,6 +181,13 @@ group HeaderFieldTemplates{
		optionsTags := {"sec-agree"}
	};
	
    template PVisitedNetworkID m_pVisitedNetworkID_TS := 
    {
      fieldName := P_VISITED_NETWORK_E,
      vNetWorkSpec := {{vNetworkSpecToken := "Viseted ETSI 1",
         genericParams := omit}}
    }
	
	template PVisitedNetworkID mw_pVisitedNetworkID := 
	{
	  fieldName := P_VISITED_NETWORK_E,
@@ -1452,6 +1487,26 @@ group request_send {
    	}
    }
	
    template MESSAGE_Request m_MESSAGE_Request_MBody_UE
           (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
             Via p_via, template Require p_require,
           template Route p_route,  template Supported p_supported, template MessageBody p_messageBody)
           modifies m_MESSAGE_Request_Base
           :=
           {
             msgHeader :=
             {
                contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(m_MBody_longPlainText))},
                contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_plainText},
                pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a,
                require := p_require,
                route := p_route,
                //securityVerify := p_securityVerify,//TODO check when information will be known regarding security assosiation 
                supported := p_supported
             },
             messageBody := p_messageBody
    }
    
	template MESSAGE_Request m_MESSAGE_Request_NoBody_UE
			(SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
			  Via p_via, template Require p_require,
@@ -1667,6 +1722,10 @@ group request_send {
			contact	:= p_contact,
			cSeq		:= p_cSeq,
			fromField	:= p_from,
			path := m_path_TS,
			pChargingVector := m_pChargingVector_icid_TS,
			pVisitedNetworkID := m_pVisitedNetworkID_TS,
			require := {fieldName := REQUIRE_E,optionsTags := {"path"}},
			toField		:= p_to,
			via		:= p_via

@@ -2586,7 +2645,6 @@ group response_send
	template Response m_Response_onMESSAGE_IMS(StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
	From p_from, To p_to, Via p_via, Contact p_contact) modifies m_Response_Base:=
	{
		statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
		msgHeader :=
		{
			contact		:= p_contact
@@ -2596,7 +2654,6 @@ group response_send
	template Response m_Response_2xxonMESSAGE_PAccessNetwInfo_UE(StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
	From p_from, To p_to, Via p_via) modifies m_Response_Base:=
	{
		statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
		msgHeader :=
		{
			pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a
@@ -2606,7 +2663,6 @@ group response_send
	template Response m_Response_2xxonMESSAGE_PCharging_UE(StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
	From p_from, To p_to, Via p_via, template PChargingVector p_pChargingVector) modifies m_Response_Base:=
	{
		statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
		msgHeader :=
		{
			pChargingFunctionAddresses := m_pChargingFunctionAddresses_fixedValue,
@@ -2618,7 +2674,6 @@ group response_send
	template Response m_Response_2xxonMESSAGE_PCharging_IMS(StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
	From p_from, To p_to, Via p_via, template PChargingVector p_pChargingVector) modifies m_Response_Base:=
	{
		statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
		msgHeader :=
		{
			pChargingFunctionAddresses := m_pChargingFunctionAddresses_fixedValue,
@@ -2629,7 +2684,6 @@ group response_send
	template Response m_Response_2xxonMESSAGE_PMediaAuth_UE(StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
	From p_from, To p_to, Via p_via) modifies m_Response_Base:=
	{
		statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
		msgHeader :=
		{
			pMediaAuthorization := m_pMediaAuthorization_fixedValue
@@ -2639,7 +2693,6 @@ group response_send
	template Response m_Response_2xxonMESSAGE_pPreferredID_UE(StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
	From p_from, To p_to, Via p_via, template PPreferredID p_pPreferredID) modifies m_Response_Base:=
	{
		statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
		msgHeader :=
		{
			pPreferredID := p_pPreferredID
@@ -2717,7 +2770,6 @@ group response_send
	template Response m_Response_WWWauthenticate_IMS(StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
	From p_from, To p_to, Via p_via, template WwwAuthenticate p_wwwAuthenticate) modifies m_Response_Base:=
	{
		statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
		msgHeader :=
		{
			wwwAuthenticate := p_wwwAuthenticate