Commit 81d98bb0 authored by pintar's avatar pintar
Browse files

corrections due to validation of STF346 from week 46

parent 01b60781
Loading
Loading
Loading
Loading
+33 −7
Original line number Diff line number Diff line
@@ -49,6 +49,24 @@ module LibIms_Steps
	  
		}// end f_setHeadersBYE
		
	/*
	 * 
	 * @desc sets CANCEL 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 send Cancel
	 * @verdict 
	 */
		function f_setHeadersCANCEL(inout CSeq p_cSeq_s, in integer p_to_user) runs on ImsComponent
		{      
		  vc_route 		:= f_route(); 		// update the route header field depending on vc_boo_route
		  vc_recordRoute := f_recordroute(); // update the route header field depending on vc_boo_route
		
		  LibSip_Steps.f_setHeadersCANCEL(p_cSeq_s);
	  
		}// end f_setHeadersCANCEL
		

		/**
		 * 
		 * @desc sets headers for forward request from AS in case if AS acts as Proxy
@@ -678,7 +696,10 @@ 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_IMS1UE_HOME_DOMAIN, portField :=omit}
						p_sipUrl.hostPort := {host := PX_IMS_TS_SCSCF_HOME_DOMAIN, portField :=PX_IMS_TS_SCSCF_PORT}
//				case (c_userProfile_SCSCFwithHomeUE) {
//						p_sipUrl.userInfo := {userOrTelephoneSubscriber:=PX_IMS_TS_IMS1UE_PUBLIC_USER, password:=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};
@@ -862,7 +883,7 @@ module LibIms_Steps
		 */
		function f_awaitingRegistration_IMS(inout CSeq p_cSeq_s) runs on ImsComponent
		{

		var SipUrl v_passociated_url;
		//Awaiting 1st REGISTER	
		f_awaitingREGISTER(mw_REGISTER_unauthorizedRequest_IMS);

@@ -874,12 +895,13 @@ module LibIms_Steps
			);

		//Awaiting 2nd REGISTER	with authorization header
		f_awaitingREGISTER(mw_REGISTER_authorizedRequest_IMS(m_Authorization_digest(mw_digestResponse(c_Integrity_protected_yes))));
		f_awaitingREGISTER(mw_REGISTER_authorizedRequest_IMS(m_Authorization_digest(mw_digestResponse((c_Integrity_protected_yes,c_Integrity_protected_ip_assoc_pending)))));

		// 200OK to complete the request
		vc_contact := vc_request.msgHeader.contact;
		vc_contact.contactBody.contactAddresses[0].contactParams := {{"expires",int2str(3600)}};
		f_sendResponse(m_Response_2xxonREGISTER_IMS(c_statusLine200,vc_callId, vc_cSeq,vc_callee_From, vc_callee_To, vc_via,vc_contact,f_initSipUrl(c_userProfile_SCSCFwithHomeUE)));
		v_passociated_url := vc_caller_From.addressField.nameAddr.addrSpec;
		f_sendResponse(m_Response_2xxonREGISTER_IMS(c_statusLine200,vc_callId, vc_cSeq,vc_callee_From, vc_callee_To, vc_via,vc_contact,f_initSipUrl(c_userProfile_SCSCFwithHomeUE),v_passociated_url));

		}//end function f_awaitingRegistration_IMS

@@ -1039,6 +1061,7 @@ module LibIms_Steps
  
  		function f_SIP_postamble_IMS1_awaitDeRegistration () runs on ImsComponent
		{
			var SipUrl v_passociated_url;
			//Awaiting 1st REGISTER	
			f_awaitingREGISTER(mw_REGISTER_unauthorizedRequest_IMS);

@@ -1055,13 +1078,15 @@ module LibIms_Steps
			// 200OK to complete the request
			vc_contact := vc_request.msgHeader.contact;
			vc_contact.contactBody.contactAddresses[0].contactParams := {{"expires",int2str(0)}};
			f_sendResponse(m_Response_2xxonREGISTER_IMS(c_statusLine200,vc_callId, vc_cSeq,vc_callee_From, vc_callee_To, vc_via,vc_contact,f_initSipUrl(c_userProfile_SCSCFwithHomeUE)));
			v_passociated_url := vc_caller_From.addressField.nameAddr.addrSpec;
			f_sendResponse(m_Response_2xxonREGISTER_IMS(c_statusLine200,vc_callId, vc_cSeq,vc_callee_From, vc_callee_To, vc_via,vc_contact,f_initSipUrl(c_userProfile_SCSCFwithHomeUE),v_passociated_url));

			f_terminate_component()
		};
		
  		function f_IMS_postamble_awaitDeRegistration () runs on ImsComponent
		{	
			var SipUrl v_passociated_url;
			//Awaiting 1st REGISTER	
			f_awaitingREGISTER(mw_REGISTER_unauthorizedRequest_IMS);

@@ -1078,7 +1103,8 @@ module LibIms_Steps
			// 200OK to complete the request
			vc_contact := vc_request.msgHeader.contact;
			vc_contact.contactBody.contactAddresses[0].contactParams := {{"expires",int2str(0)}};
			f_sendResponse(m_Response_2xxonREGISTER_IMS(c_statusLine200,vc_callId, vc_cSeq,vc_callee_From, vc_callee_To, vc_via,vc_contact,f_initSipUrl(c_userProfile_SCSCFwithHomeUE)));
			v_passociated_url := vc_caller_From.addressField.nameAddr.addrSpec;
			f_sendResponse(m_Response_2xxonREGISTER_IMS(c_statusLine200,vc_callId, vc_cSeq,vc_callee_From, vc_callee_To, vc_via,vc_contact,f_initSipUrl(c_userProfile_SCSCFwithHomeUE),v_passociated_url));

			f_terminate_component()
		};
+14 −6
Original line number Diff line number Diff line
@@ -64,7 +64,7 @@ group HeaderFieldTemplates{
			minSeParam:=omit
	}
	
	template PathValue mw_pathvalue (SipUrl p_sipUrl):=
	template PathValue mw_pathvalue (template SipUrl p_sipUrl):=
	{
	nameAddr := {displayName := *, 	 			// optional charstring
				 addrSpec := p_sipUrl		// SipUrl
@@ -103,7 +103,7 @@ group HeaderFieldTemplates{
 * @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
 */	
	template Path mw_path (SipUrl p_sipUrl):=
	template Path mw_path (template SipUrl p_sipUrl):=
	{
		fieldName := PATH_E,
		pathValues := {mw_pathvalue(p_sipUrl)}		// any number of SipUrl may occur before p_sipUrl
@@ -379,6 +379,12 @@ group HeaderFieldTemplates{
    		substateParams := omit
		}
		
		//[3455/5.1]
		template PAssociatedURI m_pAssociatedURI (template NameAddr p_nameAddr) := {
			fieldName := P_ASSOCIATED_URI_E,
			nameAddrList := {{nameAddr:=p_nameAddr, genericParams:=omit}}
		}	  	
		
} // end group HeaderFieldTemplates

group MessageBodyTemplates {
@@ -2125,7 +2131,7 @@ group request_receive {
		modifies mw_REGISTER_Request_Base
		:=
		{
		  msgHeader := {  authorization := omit
		  msgHeader := {  authorization := ?
						  }
		}

@@ -2609,14 +2615,16 @@ group response_send
	}

	template Response m_Response_2xxonREGISTER_IMS (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
		  From p_from, To p_to, Via p_via, Contact p_contact, SipUrl p_serviceroute_sip_url) 
		  From p_from, To p_to, Via p_via, Contact p_contact, SipUrl p_serviceroute_sip_url, SipUrl p_passociated_uri) 
		  modifies m_Response_Base:=
	{
		msgHeader :=
		{
			contact		:= p_contact,
			serviceRoute := {fieldName:=SERVICE_ROUTE_E,
				routeBody:={{ nameAddr:= {displayName:=omit,addrSpec:=p_serviceroute_sip_url},rrParam:=omit}}}
			routeBody:={{ nameAddr:= {displayName:=omit,addrSpec:=p_serviceroute_sip_url},rrParam:=omit}}},
			pAssociatedURI := m_pAssociatedURI({displayName:=omit,addrSpec:=p_passociated_uri})		// PAssociatedURI RFC3455
			
		}
	}