Commit 736220f8 authored by pintar's avatar pintar
Browse files

TCFunctions for ACR groupe

parent 79c9b415
Loading
Loading
Loading
Loading
+222 −18
Original line number Diff line number Diff line
@@ -1638,13 +1638,41 @@ group SuplementaryService_CUG{
	
}// end  group SuplementaryService_CUG 
  
group SuplementaryService_ACR{
group SuplementaryService_ACR_CB{
	
	group SS_ACR_SIPSIP{
	group SS_ACR_CB_SIPSIP{
		group ACR_CB_Common_Functions{
			function f_Common_Ending_ACR_CB_Successful() runs on ImsComponent {
				f_sendResponse(m_Response_mbody(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, valueof(m_MBody_SDP(vc_sdp_local))));
		
		group ACR_terminating_AS{
				f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq));
								
			function f_Sip_ACR_N01_001_AS1(in CSeq p_cSeq_s) runs on ImsComponent {
				f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, valueof(m_MBody_SDP(vc_sdp_local))));
		
				f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq));
		
				f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));

				// POSTAMBLE: await ACK, await termination
				f_awaitingACK(mw_ACK_Request_Base(vc_callId));
		
				f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));

				f_awaitingBYE(mw_BYE_Request_Base(vc_callId));

				f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via));

				f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq));

			    // UE1 is registerd in SUT only, but not registered in IMS1
				f_SIP_postamble_IMS1_withoutRegistration();
			} // end f_Common_Ending_ACR_CB_Successful

		}// end group ACR_CB_Common_Functions
		
		group ACR_CB_terminating_AS{
			
			function f_Sip_ACR_CB_N01_001_AS1(in CSeq p_cSeq_s) runs on ImsComponent {
				
				var PrivacyValue v_PrivacyValList[4]:=
				{c_privacy_id, c_privacy_header, c_privacy_user, c_privacy_critical};
@@ -1660,9 +1688,10 @@ group SuplementaryService_ACR{
				// Testbody

				// INVITE to AS1@IMS
    			vc_xml_local := valueof(m_XmlBody_ACR_ICB(m_ICB(m_ruleType_actionFalse(m_conditionsType_identity("one id","anonymous")))));
				LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_AS1);
				f_SendINVITE(m_INVITE_Request_PAsserted_Privacy_IMS(vc_requestUri, vc_callId, vc_cSeq, valueof(m_From_Anonymous(f_getRndTag())), vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, 
					v_PAsserted, m_Privacy(v_PrivacyValList[PX_TC_VA-1]), omit, omit, m_MBody_SDP(vc_sdp_local)));
				f_SendINVITE(m_INVITE_Request_Mime_PAsserted_Privacy_IMS(vc_requestUri, vc_callId, vc_cSeq, valueof(m_From_Anonymous(f_getRndTag())), vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, 
					 omit, omit, m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local), v_PAsserted, m_Privacy(v_PrivacyValList[PX_TC_VA-1])));
				
				f_awaitingResponse(mw_Response_Base(c_statusLine433, vc_callId, vc_cSeq));
        		f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));
@@ -1671,9 +1700,9 @@ group SuplementaryService_ACR{
		
				f_SIP_postamble_IMS1_withoutRegistration();
				
			} // end f_Sip_ACR_N01_001_AS1
			} // end f_Sip_ACR_CB_N01_001_AS1
			
			function f_Sip_ACR_N01_002_AS1(in CSeq p_cSeq_s) runs on ImsComponent {
			function f_Sip_ACR_CB_N01_002_AS1(in CSeq p_cSeq_s) runs on ImsComponent {
				
				var PrivacyValue v_PrivacyValList[4]:=
				{c_privacy_id, c_privacy_header, c_privacy_user, c_privacy_critical};
@@ -1690,9 +1719,10 @@ group SuplementaryService_ACR{
				// Testbody

				// INVITE to AS1@IMS
    			vc_xml_local := valueof(m_XmlBody_ACR_ICB(m_ICB(m_ruleType_actionFalse(m_conditionsType_identity("one id","anonymous")))));
				LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_AS1);
				f_SendINVITE(m_INVITE_Request_PAsserted_Privacy_IMS(vc_requestUri, vc_callId, vc_cSeq, valueof(m_From_Anonymous(f_getRndTag())), vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, 
					v_PAsserted, m_Privacy(v_PrivacyValList[PX_TC_VA-1]), omit, omit, m_MBody_SDP(vc_sdp_local)));
				f_SendINVITE(m_INVITE_Request_Mime_PAsserted_Privacy_IMS(vc_requestUri, vc_callId, vc_cSeq, valueof(m_From_Anonymous(f_getRndTag())), vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, 
					 omit, omit, m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local), v_PAsserted, m_Privacy(v_PrivacyValList[PX_TC_VA-1])));
				
				f_check_Announcement();
				
@@ -1703,9 +1733,9 @@ group SuplementaryService_ACR{
		
				f_SIP_postamble_IMS1_withoutRegistration();
				
			} // end f_Sip_ACR_N01_002_AS1
			} // end f_Sip_ACR_CB_N01_002_AS1
			
			function f_Sip_ACR_N01_003_AS1(in CSeq p_cSeq_s) runs on ImsComponent {
			function f_Sip_ACR_CB_N01_003_AS1(in CSeq p_cSeq_s) runs on ImsComponent {
				
				var PrivacyValue v_PrivacyValList[4]:=
				{c_privacy_id, c_privacy_header, c_privacy_user, c_privacy_critical};
@@ -1722,9 +1752,10 @@ group SuplementaryService_ACR{
				// Testbody

				// INVITE to AS1@IMS
    			vc_xml_local := valueof(m_XmlBody_ACR_ICB(m_ICB(m_ruleType_actionFalse(m_conditionsType_identity("one id","anonymous")))));
				LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_AS1);
				f_SendINVITE(m_INVITE_Request_PAsserted_Privacy_IMS(vc_requestUri, vc_callId, vc_cSeq, valueof(m_From_Anonymous(f_getRndTag())), vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, 
					v_PAsserted, m_Privacy(v_PrivacyValList[PX_TC_VA-1]), omit, omit, m_MBody_SDP(vc_sdp_local)));
				f_SendINVITE(m_INVITE_Request_Mime_PAsserted_Privacy_IMS(vc_requestUri, vc_callId, vc_cSeq, valueof(m_From_Anonymous(f_getRndTag())), vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, 
					 omit, omit, m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local), v_PAsserted, m_Privacy(v_PrivacyValList[PX_TC_VA-1])));
				
				f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq));
				f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));
@@ -1738,12 +1769,12 @@ group SuplementaryService_ACR{
		
				f_SIP_postamble_IMS1_withoutRegistration();
				
			} // end f_Sip_ACR_N01_003_AS1
			} // end f_Sip_ACR_CB_N01_003_AS1
			
		}// end group ACR_terminating_AS
		group OBC_originating_AS{
			
			function f_Sip_ACR_N02_001_AS1(in CSeq p_cSeq_s) runs on ImsComponent {
			function f_Sip_ACR_CB_N02_001_AS1(in CSeq p_cSeq_s) runs on ImsComponent {
				
				// Request-Uri refers to home network (SUT)
				f_IMS_preamble_woRegistration(c_userProfile_SCSCFwithHomeUE, p_cSeq_s); // LibSip
@@ -1752,8 +1783,9 @@ group SuplementaryService_ACR{
				// Testbody

				// INVITE to AS1@IMS
				vc_xml_local := valueof(m_XmlBody_ACR_ICB(m_ICB(m_ruleType_actionFalse(m_conditionsType_identity("one id","sip:"&vc_userprofile.homeDomain&"@"&vc_userprofile.publUsername)))));
				LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_AS1);
				f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, valueof(m_From_Anonymous(f_getRndTag())), vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local)));
				f_SendINVITE(m_INVITE_Request_Mime_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local)));
				
				f_awaitingResponse(mw_Response_Base(c_statusLine603, vc_callId, vc_cSeq));
				f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));
@@ -1762,13 +1794,185 @@ group SuplementaryService_ACR{
		
				f_SIP_postamble_IMS1_withoutRegistration();
				
			} // end f_Sip_ACR_N02_001_AS1
			} // end f_Sip_ACR_CB_N02_001_AS1
			
			function f_Sip_ACR_CB_N02_002_AS1(in CSeq p_cSeq_s) runs on ImsComponent {
				
				// Request-Uri refers to home network (SUT)
				f_IMS_preamble_woRegistration(c_userProfile_SCSCFwithHomeUE, p_cSeq_s); // LibSip

				f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
				// Testbody

				// INVITE to AS1@IMS
				vc_xml_local := valueof(m_XmlBody_ACR_OCB(m_OCB(m_ruleType_actionFalse(m_conditionsType_identity("one id","sip:"&vc_userprofile.homeDomain&"@"&vc_userprofile.publUsername)))));
				LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_AS1);
				f_SendINVITE(m_INVITE_Request_Mime_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local)));
				
				f_check_Announcement();
				
				f_awaitingResponse(mw_Response_Base(c_statusLine603, vc_callId, vc_cSeq));
				f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));
        				
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
				f_SIP_postamble_IMS1_withoutRegistration();
				
			} // end f_Sip_ACR_CB_N02_002_AS1
			
		}// end group OBC_originating_AS
		group IBC_terminating_AS{
			
			function f_Sip_ACR_CB_N03_001_AS1(in CSeq p_cSeq_s) runs on ImsComponent {
				
				// Request-Uri refers to home network (SUT)
				f_IMS_preamble_woRegistration(c_userProfile_SCSCFwithHomeUE, p_cSeq_s); // LibSip

				f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
				// Testbody

				// INVITE to AS1@IMS
				vc_xml_local := valueof(m_XmlBody_ACR_OCB(m_OCB(m_ruleType_actionFalse(m_conditionsType_identity("one id","sip:"&vc_userprofile.homeDomain&"@"&vc_userprofile.publUsername)))));
				LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_AS1);
				f_SendINVITE(m_INVITE_Request_Mime_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local)));
				
				f_awaitingResponse(mw_Response_Base(c_statusLine603, vc_callId, vc_cSeq));
				f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));
        				
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
				f_SIP_postamble_IMS1_withoutRegistration();
				
			} // end f_Sip_ACR_CB_N03_001_AS1
			
			function f_Sip_ACR_CB_N03_002_AS1(in CSeq p_cSeq_s) runs on ImsComponent {
				
				// Request-Uri refers to home network (SUT)
				f_IMS_preamble_woRegistration(c_userProfile_SCSCFwithHomeUE, p_cSeq_s); // LibSip

				f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
				// Testbody

				// INVITE to AS1@IMS
				vc_xml_local := valueof(m_XmlBody_ACR_ICB(m_ICB(m_ruleType_actionFalse(m_conditionsType_identity("one id","sip:"&vc_userprofile.homeDomain&"@"&vc_userprofile.publUsername)))));
				LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_AS1);
				f_SendINVITE(m_INVITE_Request_Mime_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local)));
				
				f_check_Announcement();
				
				f_awaitingResponse(mw_Response_Base(c_statusLine603, vc_callId, vc_cSeq));
				f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));
        				
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
				f_SIP_postamble_IMS1_withoutRegistration();
				
			} // end f_Sip_ACR_CB_N03_002_AS1
			
		}// end group IBC_terminating_AS
		group Interaction_OIP{
			
			function f_Sip_ACR_CB_N04_001_AS1(in CSeq p_cSeq_s) runs on ImsComponent {
				
				var template PAssertedID v_PAsserted;

				// set PAssertedID
				v_PAsserted := m_PAssertedID(m_AddrUnion_NameAddr(PX_SIP_NameAddr_PAsserted));
				
				// Request-Uri refers to home network (SUT)
				f_IMS_preamble_woRegistration(c_userProfile_SCSCFwithHomeUE, p_cSeq_s); // LibSip

				f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
				// Testbody

				// INVITE to AS1@IMS
				vc_xml_local := valueof(m_XmlBody_ACR_ICB(m_ICB(m_ruleType_actionFalse(m_conditionsType_identity("one id","sip:"&vc_userprofile.homeDomain&"@"&vc_userprofile.publUsername)))));
				LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_AS1);
				f_SendINVITE(m_INVITE_Request_Mime_PAsserted_Privacy_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, 
						omit, omit, m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local), v_PAsserted, omit));
				
				f_awaitingINVITE(mw_INVITE_Request_IMS_cug(*,*,*,*,mw_CUG(*, PX_CugNetworkIndicator, PX_CugInterlockBinaryCode, bit2str('11'B))));
    				
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
    				
				f_Common_Ending_ACR_CB_Successful();
				
			} // end f_Sip_ACR_N04_001_AS1
		}// end group Interaction_OIP
		group Interaction_CDIV{
			
			function f_Sip_ACR_CB_N05_001_AS1(in CSeq p_cSeq_s) runs on ImsComponent {
				
				var template PAssertedID v_PAsserted;

				// set PAssertedID
				v_PAsserted := m_PAssertedID(m_AddrUnion_NameAddr(PX_SIP_NameAddr_PAsserted));
				
				// Request-Uri refers to home network (SUT)
				f_IMS_preamble_woRegistration(c_userProfile_SCSCFwithHomeUE, p_cSeq_s); // LibSip

				f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
				// Testbody

				// INVITE to AS1@IMS
				vc_xml_local := valueof(m_XmlBody_ACR_ICB(m_ICB(m_ruleType_actionFalse(m_conditionsType_identity("one id","anonymous")))));
				LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_AS1);
				f_SendINVITE(m_INVITE_Request_Mime_PAsserted_Privacy_IMS(vc_requestUri, vc_callId, vc_cSeq, valueof(m_From_Anonymous(f_getRndTag())), vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, 
						omit, omit, m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local), v_PAsserted, m_Privacy(c_privacy_id)));
				
				f_awaitingResponse(mw_Response_Base(c_statusLine433, vc_callId, vc_cSeq));
				f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));
        				
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
				f_SIP_postamble_IMS1_withoutRegistration();
				
			} // end f_Sip_ACR_N05_001_AS1
			
			function f_Sip_ACR_CB_N05_002_AS1(in CSeq p_cSeq_s) runs on ImsComponent {
				
				// Request-Uri refers to home network (SUT)
				f_IMS_preamble_woRegistration(c_userProfile_SCSCFwithHomeUE, p_cSeq_s); // LibSip

				f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
				// Testbody

				// INVITE to AS1@IMS
				vc_xml_local := valueof(m_XmlBody_ACR_ICB(m_ICB(m_ruleType_actionFalse(m_conditionsType_identity("one id","sip:"&vc_userprofile.homeDomain&"@"&vc_userprofile.publUsername)))));
				LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_AS1);
				f_SendINVITE(m_INVITE_Request_Mime_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local)));
				
				f_awaitingResponse(mw_Response_Base(c_statusLine603, vc_callId, vc_cSeq));
				f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));
        				
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
				f_SIP_postamble_IMS1_withoutRegistration();
				
			} // end f_Sip_ACR_CB_N05_002_AS1
			
			function f_Sip_ACR_CB_N05_003_AS1(in CSeq p_cSeq_s) runs on ImsComponent {
				
				// Request-Uri refers to home network (SUT)
				f_IMS_preamble_woRegistration(c_userProfile_SCSCFwithHomeUE, p_cSeq_s); // LibSip

				f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
				// Testbody

				// INVITE to AS1@IMS
				vc_xml_local := valueof(m_XmlBody_ACR_OCB(m_OCB(m_ruleType_actionFalse(m_conditionsType_identity("one id","sip:"&vc_userprofile.homeDomain&"@"&vc_userprofile.publUsername)))));
				LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_AS1);
				f_SendINVITE(m_INVITE_Request_Mime_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local)));
				
				f_awaitingResponse(mw_Response_Base(c_statusLine603, vc_callId, vc_cSeq));
				f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));
        				
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
		
				f_SIP_postamble_IMS1_withoutRegistration();
				
			} // end f_Sip_ACR_CB_N05_003_AS1
			
		}// end group Interaction_CDIV
		
	}// end group SS_ACR_SIPSIP