Commit d5a98559 authored by pintar's avatar pintar
Browse files

corrections due to validation of STF346 from week 49

parent 3d805854
Loading
Loading
Loading
Loading
+38 −1
Original line number Diff line number Diff line
@@ -197,6 +197,40 @@ module LibIms_Steps
	  
		}// end f_setHeadersNOTIFY

		/*
		* 
		* @desc sets Publish header fields (IMS addresses)
		*			extension of general settings from LibSip basic function
		* @param p_cSeq_s current cSeq 
		* @param p_to_user user_profile id of the user to be invited
		* @verdict 
		*/
		function f_setHeadersPUBLISH(inout CSeq p_cSeq_s, in integer p_to_user) runs on ImsComponent
		{      
				LibSip_Steps.f_setHeadersPUBLISH(p_cSeq_s);
		
				vc_branch := c_branchCookie & f_getRndTag();
				vc_via:={
					fieldName := VIA_E,
					viaBody 	 := {valueof(m_ViaBody_virtual_XCSCF(vc_branch, vc_userprofile))}
				};
		
				vc_to := f_initToHeader(p_to_user); // init of vc_to using userProfile identifier

				vc_from := f_initFromHeader(vc_userprofile.id, f_getRndTag()); // init of vc_from using userProfile identifier

				vc_requestUri := f_initSipUrl(p_to_user); // Request URI of Invite is identical with To header
		
				if (vc_boo_route)
				{ vc_route := valueof(m_route_interface(vc_interfaceprofile))};
				if (vc_boo_recordRoute)
				{ vc_recordRoute := valueof(m_recordRoute_currIpAddr(vc_userprofile))};
				
				//contact header initialization for sending of PUBLISH from CSCF component
				vc_contact := valueof(m_Contact(m_SipUrl_currIpaddr_CSCF(vc_userprofile)));
  
			}// end f_setHeadersPUBLISH
		
		/**
		**
		* @desc sets Subscribe header fields (IMS addresses)
@@ -1046,6 +1080,9 @@ module LibIms_Steps
			//Preamble
			f_Registration(p_cSeq_s, p_register, PX_SIP_REGISTER_AUTHENTICATION_ENABLED);

			//	deregistration in case of successful registration
			vc_DeregDone := false;
						
			f_setHeaders_SUBSCRIBE(p_cSeq_s);
			f_Subscription(p_cSeq_s, m_SUBSCRIBE_Request_UE(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, vc_route_REG));

+64 −2
Original line number Diff line number Diff line
@@ -1057,6 +1057,16 @@ group modified_templates {

group request_send {
		
		
	template ACK_Request m_ACK_Request_IMS (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq,
		From p_from, To p_to, Via p_via, template Route p_route) modifies m_ACK_Request_Base :=
	{
		msgHeader :=
		{
			route := p_route
		}
	}
	
	template BYE_Request m_BYE_Request_IMS
		( SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
		Via p_via, template Route p_route)
@@ -1671,6 +1681,58 @@ group request_send {
		messageBody := p_mb
	}
	
	
	template PUBLISH_Request m_PUBLISH_Request_UE (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq,
			From p_from, To p_to, Via p_via, template Event p_event, template RAck p_RAck, template MessageBody p_mb,template Route p_route) 
			modifies m_PUBLISH_Request_Base :=
	{
		requestLine	:=
		{
			requestUri := p_requestUri
		},
		msgHeader :=
		{
			callId := p_callId,
			contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
			contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_plainText/*c_sdpAplication*/},
			cSeq := {fieldName:=CSEQ_E, seqNumber:= p_cSeq.seqNumber, method:= "PUBLISH"},
			event := p_event, 
			fromField := p_from,
			route := p_route,
			pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a,
			toField := p_to,
			via := p_via
		},
		messageBody := p_mb
	}
	
	template PUBLISH_Request m_PUBLISH_Request_IMS (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq,
			From p_from, To p_to, Via p_via, template Event p_event, template RAck p_RAck, template MessageBody p_mb,
			template Route p_route,template RecordRoute p_recordRoute,template PChargingVector p_pChargingVector) 
			modifies m_PUBLISH_Request_Base :=
	{
		requestLine	:=
		{
			requestUri := p_requestUri
		},
		msgHeader :=
		{
			callId := p_callId,
			contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
			contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_plainText/*c_sdpAplication*/},
			cSeq := {fieldName:=CSEQ_E, seqNumber:= p_cSeq.seqNumber, method:= "PUBLISH"},
			event := p_event, 
			fromField := p_from,
			route := p_route,
			recordRoute:= p_recordRoute,
			pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a,
			pChargingVector := p_pChargingVector,
			toField := p_to,
			via := p_via
		},
		messageBody := p_mb
	}
	
	/*
		* 
		* @desc REFER message exchanged at Mw
@@ -2726,7 +2788,7 @@ group response_send
		msgHeader :=
		{
			pChargingFunctionAddresses := m_pChargingFunctionAddresses_fixedValue,
			pChargingVector := m_pChargingFunctionAddresses_fixedValue
			pChargingVector := p_pChargingVector
	  	}
	}

@@ -2797,7 +2859,7 @@ group response_send
	}
		
	template Response m_Response_4XXonINVITE_UE (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:=
			  From p_from, To p_to, Via p_via, template Contact p_contact ) modifies m_Response_Base:=
	{
		msgHeader :=
		{