Loading AtsNIT_SipSip/ttcn/AtsNIT_SipSip_SS_TCFunctions.ttcn +598 −0 Original line number Diff line number Diff line Loading @@ -14985,6 +14985,604 @@ module AtsNIT_SipSip_SS_TCFunctions { }//end group TP2_13_SS_ECT group TP2_14_SS_CW { /* * @desc This is the test case function (originating side) for f_AtsNIT_TC_SS___XXSSCW_01UE1 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_01UE1(in CSeq p_cSeq_s) runs on ImsComponent { var SessionDialog v_UE2_Session; f_IMS_preamble_withRegistrationBasic(c_userProfile_UE1atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_initDone, f_getVerdict()); // establish call with UE2 f_establishCall(vc_cSeq, c_userProfile_UE2atSUThome); v_UE2_Session := f_saveSession(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // INVITE UE1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_UE( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, m_MBody_SDP(vc_sdp_local) )); // POSTAMBLE f_awaitingResponse(mw_Response_Base(c_statusLine486, 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_loadSession(v_UE2_Session); f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To ); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_01UE1 /* * @desc This is the test case function (terminating side) for f_AtsNIT_TC_SS___XXSSCW_01UE2 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_01UE2(in CSeq p_cSeq_s) runs on ImsComponent { var SessionDialog v_UE1_Session; f_IMS_preamble_withRegistrationBasic(c_userProfile_UE2atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_initDone, f_getVerdict()); // accept call form UE1 f_acceptCall(); v_UE1_Session := f_saveSession(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody //Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_MB( ?, mw_MBody_MIME_Ims3gpp(?, mw_Ims_3gpp_CW) )); // postamle f_sendResponse(m_Response_4XXonINVITE_UE( c_statusLine486, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact )); // await ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_loadSession(v_UE1_Session); //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_01UE2 /* * @desc This is the test case function (originating side) for f_AtsNIT_TC_SS___XXSSCW_02UE1 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_02UE1(in CSeq p_cSeq_s) runs on ImsComponent { var SessionDialog v_UE2_Session; f_IMS_preamble_withRegistrationBasic(c_userProfile_UE1atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_initDone, f_getVerdict()); // establish call with UE2 f_establishCall(vc_cSeq, c_userProfile_UE2atSUThome); v_UE2_Session := f_saveSession(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // INVITE UE1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_UE( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, m_MBody_SDP(vc_sdp_local) )); // POSTAMBLE f_awaitingResponse(mw_Response_Base(c_statusLine486, 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_loadSession(v_UE2_Session); f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To ); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_02UE1 /* * @desc This is the test case function (terminating side) for f_AtsNIT_TC_SS___XXSSCW_02UE2 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_02UE2(in CSeq p_cSeq_s) runs on ImsComponent { var SessionDialog v_UE1_Session; f_IMS_preamble_withRegistrationBasic(c_userProfile_UE2atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_initDone, f_getVerdict()); // accept call form UE1 f_acceptCall(); v_UE1_Session := f_saveSession(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody //Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_MB( ?, mw_MBody_MIME_Ims3gpp(?, mw_Ims_3gpp_CW) )); f_sendResponse(m_Response_4XXonINVITE_UE( c_statusLine415, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact )); // await ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // postamle f_loadSession(v_UE1_Session); //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_02UE2 /* * @desc This is the test case function (originating side) for f_AtsNIT_TC_SS___XXSSCW_03UE1 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_03UE1(in CSeq p_cSeq_s) runs on ImsComponent { f_IMS_preamble_withRegistrationBasic(c_userProfile_UE1atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // INVITE UE1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_UE( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, m_MBody_SDP(vc_sdp_local) )); // await 180 response f_awaitingResponse(mw_Response_AlertInfo( c_statusLine180, vc_callId, vc_cSeq, mw_AlertInfo("urn:alert:call-waiting") )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // POSTAMBLE f_cancelCall(m_CANCEL_Request_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_route )); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_03UE1 /* * @desc This is the test case function (terminating side) for f_AtsNIT_TC_SS___XXSSCW_03UE2 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_03UE2(in CSeq p_cSeq_s) runs on ImsComponent { f_IMS_preamble_withRegistrationBasic(c_userProfile_UE2atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // await INVITE f_awaitingINVITE(mw_INVITE_Request_Base); // send 180 Ringing f_sendResponse(m_Response_18XonINVITE_AlertInfo( c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, m_AlertInfo("urn:alert:call-waiting") )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // postamle f_awaitingCANCEL(mw_CANCEL_Request_Base(vc_callId)); f_sendResponse(m_Response_onCANCEL( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_route() )); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_03UE2 /* * @desc This is the test case function (originating side) for f_AtsNIT_TC_SS___XXSSCW_04UE1 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_04UE1(in CSeq p_cSeq_s) runs on ImsComponent { var SessionDialog v_UE2_Session1; var SessionDialog v_UE2_Session2; f_IMS_preamble_withRegistrationBasic(c_userProfile_UE1atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_initDone, f_getVerdict()); // establish call with UE2 f_establishCall(vc_cSeq, c_userProfile_UE2atSUThome); v_UE2_Session1 := f_saveSession(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // INVITE UE1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_UE( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, m_MBody_SDP(vc_sdp_local) )); v_UE2_Session2 := f_saveSession(); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); f_loadSession(v_UE2_Session1); f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To ); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict()); f_loadSession(v_UE2_Session2); // await 180 response f_awaitingResponse(mw_Response_Base( c_statusLine180, vc_callId, vc_cSeq )); // await 200 OK response f_awaitingOkResponse(p_cSeq_s); // send ACK f_SendACK(m_ACK_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via )); f_selfOrClientSyncAndVerdict(c_sync3, f_getVerdict()); f_check_Conversation(); f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_04UE1 /* * @desc This is the test case function (terminating side) for f_AtsNIT_TC_SS___XXSSCW_04UE2 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_04UE2(in CSeq p_cSeq_s) runs on ImsComponent { var SessionDialog v_UE1_Session1; var SessionDialog v_UE1_Session2; f_IMS_preamble_withRegistrationBasic(c_userProfile_UE2atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_initDone, f_getVerdict()); // accept call form UE1 f_acceptCall(); v_UE1_Session1 := f_saveSession(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody //Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_MB( ?, mw_MBody_MIME_Ims3gpp(?, mw_Ims_3gpp_CW) )); v_UE1_Session2 := f_saveSession(); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); f_loadSession(v_UE1_Session1); //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict()); f_loadSession(v_UE1_Session2); // send 180 Ringing f_sendResponse(m_Response_18XonINVITE( c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact )); // send 200 OK f_sendResponse(m_Response_2xxonINVITE_UE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_route(), valueof(m_MBody_SDP(vc_sdp_local)) )); // await ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_sync3, f_getVerdict()); f_check_Conversation(); //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_04UE2 /* * @desc This is the test case function (originating side) for f_AtsNIT_TC_SS___XXSSCW_05UE1 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_05UE1(in CSeq p_cSeq_s) runs on ImsComponent { f_IMS_preamble_withRegistrationBasic(c_userProfile_UE1atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // INVITE UE1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_UE( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, m_MBody_SDP(vc_sdp_local) )); // await 180 response f_awaitingResponse(mw_Response_AlertInfo( c_statusLine180, vc_callId, vc_cSeq, mw_AlertInfo("urn:alert:call-waiting") )); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); f_check_AnnouncementUE_A(); // await 200 OK response f_awaitingOkResponse(p_cSeq_s); // send ACK f_SendACK(m_ACK_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via )); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict()); f_check_Conversation(); f_selfOrClientSyncAndVerdict(c_sync3, f_getVerdict()); f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_05UE1 /* * @desc This is the test case function (terminating side) for f_AtsNIT_TC_SS___XXSSCW_05UE2 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_05UE2(in CSeq p_cSeq_s) runs on ImsComponent { f_IMS_preamble_withRegistrationBasic(c_userProfile_UE2atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // await INVITE f_awaitingINVITE(mw_INVITE_Request_Base); // send 180 Ringing f_sendResponse(m_Response_18XonINVITE_AlertInfo( c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, m_AlertInfo("urn:alert:call-waiting") )); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); f_check_AnnouncementUE_A(); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict()); f_check_Conversation(); f_selfOrClientSyncAndVerdict(c_sync3, f_getVerdict()); //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_05UE2 } // end group TP2_14_SS_CW }//end group TP_2_SupplementaryServices } // end AtsNIT_SipSip_SS_TCFunctions No newline at end of file AtsNIT_SipSip/ttcn/AtsNIT_SipSip_Testcases.ttcn +117 −0 Original line number Diff line number Diff line Loading @@ -2386,6 +2386,123 @@ group TP2_1_SS_OIP_OIR { }//end group TP2_11_SS_ECT group TP2_12_SS_CallWaiting { /* * @desc TC_SS__XXSS_CW_01 * @param p_CSeq_s Transaction Id */ testcase TC_SS__XXSS_CW_01(inout CSeq p_CSeq_s) runs on ServerSyncComp system TestAdapter { //Variables var ImsComponent v_imsComponent1; var ImsComponent v_imsComponent2; f_cf_2imsUp(v_imsComponent1, v_imsComponent2); f_IncCSeq(p_CSeq_s); //Start v_imsComponent1.start(f_AtsNIT_TC_SS___XXSSCW_01UE1(p_CSeq_s)); v_imsComponent2.start(f_AtsNIT_TC_SS___XXSSCW_01UE1(p_CSeq_s)); // synchronize both PTCs on 3 sychronization points f_serverSync2ClientsAndStop({c_initDone, c_prDone, c_tbDone}); f_cf_2imsDown(v_imsComponent1, v_imsComponent2); } // end TC_SS__XXSS_CW_01 /* * @desc TC_SS__XXSS_CW_02 * @param p_CSeq_s Transaction Id */ testcase TC_SS__XXSS_CW_02(inout CSeq p_CSeq_s) runs on ServerSyncComp system TestAdapter { //Variables var ImsComponent v_imsComponent1; var ImsComponent v_imsComponent2; f_cf_2imsUp(v_imsComponent1, v_imsComponent2); f_IncCSeq(p_CSeq_s); //Start v_imsComponent1.start(f_AtsNIT_TC_SS___XXSSCW_02UE1(p_CSeq_s)); v_imsComponent2.start(f_AtsNIT_TC_SS___XXSSCW_02UE1(p_CSeq_s)); // synchronize both PTCs on 3 sychronization points f_serverSync2ClientsAndStop({c_initDone, c_prDone, c_tbDone}); f_cf_2imsDown(v_imsComponent1, v_imsComponent2); } // end TC_SS__XXSS_CW_02 /* * @desc TC_SS__XXSS_CW_03 * @param p_CSeq_s Transaction Id */ testcase TC_SS__XXSS_CW_03(inout CSeq p_CSeq_s) runs on ServerSyncComp system TestAdapter { //Variables var ImsComponent v_imsComponent1; var ImsComponent v_imsComponent2; f_cf_2imsUp(v_imsComponent1, v_imsComponent2); f_IncCSeq(p_CSeq_s); //Start v_imsComponent1.start(f_AtsNIT_TC_SS___XXSSCW_03UE1(p_CSeq_s)); v_imsComponent2.start(f_AtsNIT_TC_SS___XXSSCW_03UE1(p_CSeq_s)); // synchronize both PTCs on 3 sychronization points f_serverSync2ClientsAndStop({c_prDone, c_tbDone, c_poDone}); f_cf_2imsDown(v_imsComponent1, v_imsComponent2); } // end TC_SS__XXSS_CW_03 /* * @desc TC_SS__XXSS_CW_04 * @param p_CSeq_s Transaction Id */ testcase TC_SS__XXSS_CW_04(inout CSeq p_CSeq_s) runs on ServerSyncComp system TestAdapter { //Variables var ImsComponent v_imsComponent1; var ImsComponent v_imsComponent2; f_cf_2imsUp(v_imsComponent1, v_imsComponent2); f_IncCSeq(p_CSeq_s); //Start v_imsComponent1.start(f_AtsNIT_TC_SS___XXSSCW_04UE1(p_CSeq_s)); v_imsComponent2.start(f_AtsNIT_TC_SS___XXSSCW_04UE1(p_CSeq_s)); // synchronize both PTCs on 6 sychronization points f_serverSync2ClientsAndStop({c_initDone, c_prDone, c_sync1, c_sync2, c_sync3, c_tbDone}); f_cf_2imsDown(v_imsComponent1, v_imsComponent2); } // end TC_SS__XXSS_CW_04 /* * @desc TC_SS__XXSS_CW_05 * @param p_CSeq_s Transaction Id */ testcase TC_SS__XXSS_CW_05(inout CSeq p_CSeq_s) runs on ServerSyncComp system TestAdapter { //Variables var ImsComponent v_imsComponent1; var ImsComponent v_imsComponent2; f_cf_2imsUp(v_imsComponent1, v_imsComponent2); f_IncCSeq(p_CSeq_s); //Start v_imsComponent1.start(f_AtsNIT_TC_SS___XXSSCW_05UE1(p_CSeq_s)); v_imsComponent2.start(f_AtsNIT_TC_SS___XXSSCW_05UE1(p_CSeq_s)); // synchronize both PTCs on 5 sychronization points f_serverSync2ClientsAndStop({c_prDone, c_sync1, c_sync2, c_sync3, c_tbDone}); f_cf_2imsDown(v_imsComponent1, v_imsComponent2); } // end TC_SS__XXSS_CW_05 } // end group TP2_12_SS_CallWaiting }//end group TP_2_SupplementaryServices } // end module AtsNIT_SipSip_Testcases Loading
AtsNIT_SipSip/ttcn/AtsNIT_SipSip_SS_TCFunctions.ttcn +598 −0 Original line number Diff line number Diff line Loading @@ -14985,6 +14985,604 @@ module AtsNIT_SipSip_SS_TCFunctions { }//end group TP2_13_SS_ECT group TP2_14_SS_CW { /* * @desc This is the test case function (originating side) for f_AtsNIT_TC_SS___XXSSCW_01UE1 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_01UE1(in CSeq p_cSeq_s) runs on ImsComponent { var SessionDialog v_UE2_Session; f_IMS_preamble_withRegistrationBasic(c_userProfile_UE1atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_initDone, f_getVerdict()); // establish call with UE2 f_establishCall(vc_cSeq, c_userProfile_UE2atSUThome); v_UE2_Session := f_saveSession(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // INVITE UE1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_UE( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, m_MBody_SDP(vc_sdp_local) )); // POSTAMBLE f_awaitingResponse(mw_Response_Base(c_statusLine486, 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_loadSession(v_UE2_Session); f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To ); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_01UE1 /* * @desc This is the test case function (terminating side) for f_AtsNIT_TC_SS___XXSSCW_01UE2 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_01UE2(in CSeq p_cSeq_s) runs on ImsComponent { var SessionDialog v_UE1_Session; f_IMS_preamble_withRegistrationBasic(c_userProfile_UE2atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_initDone, f_getVerdict()); // accept call form UE1 f_acceptCall(); v_UE1_Session := f_saveSession(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody //Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_MB( ?, mw_MBody_MIME_Ims3gpp(?, mw_Ims_3gpp_CW) )); // postamle f_sendResponse(m_Response_4XXonINVITE_UE( c_statusLine486, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact )); // await ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_loadSession(v_UE1_Session); //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_01UE2 /* * @desc This is the test case function (originating side) for f_AtsNIT_TC_SS___XXSSCW_02UE1 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_02UE1(in CSeq p_cSeq_s) runs on ImsComponent { var SessionDialog v_UE2_Session; f_IMS_preamble_withRegistrationBasic(c_userProfile_UE1atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_initDone, f_getVerdict()); // establish call with UE2 f_establishCall(vc_cSeq, c_userProfile_UE2atSUThome); v_UE2_Session := f_saveSession(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // INVITE UE1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_UE( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, m_MBody_SDP(vc_sdp_local) )); // POSTAMBLE f_awaitingResponse(mw_Response_Base(c_statusLine486, 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_loadSession(v_UE2_Session); f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To ); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_02UE1 /* * @desc This is the test case function (terminating side) for f_AtsNIT_TC_SS___XXSSCW_02UE2 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_02UE2(in CSeq p_cSeq_s) runs on ImsComponent { var SessionDialog v_UE1_Session; f_IMS_preamble_withRegistrationBasic(c_userProfile_UE2atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_initDone, f_getVerdict()); // accept call form UE1 f_acceptCall(); v_UE1_Session := f_saveSession(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody //Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_MB( ?, mw_MBody_MIME_Ims3gpp(?, mw_Ims_3gpp_CW) )); f_sendResponse(m_Response_4XXonINVITE_UE( c_statusLine415, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact )); // await ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // postamle f_loadSession(v_UE1_Session); //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_02UE2 /* * @desc This is the test case function (originating side) for f_AtsNIT_TC_SS___XXSSCW_03UE1 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_03UE1(in CSeq p_cSeq_s) runs on ImsComponent { f_IMS_preamble_withRegistrationBasic(c_userProfile_UE1atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // INVITE UE1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_UE( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, m_MBody_SDP(vc_sdp_local) )); // await 180 response f_awaitingResponse(mw_Response_AlertInfo( c_statusLine180, vc_callId, vc_cSeq, mw_AlertInfo("urn:alert:call-waiting") )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // POSTAMBLE f_cancelCall(m_CANCEL_Request_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_route )); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_03UE1 /* * @desc This is the test case function (terminating side) for f_AtsNIT_TC_SS___XXSSCW_03UE2 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_03UE2(in CSeq p_cSeq_s) runs on ImsComponent { f_IMS_preamble_withRegistrationBasic(c_userProfile_UE2atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // await INVITE f_awaitingINVITE(mw_INVITE_Request_Base); // send 180 Ringing f_sendResponse(m_Response_18XonINVITE_AlertInfo( c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, m_AlertInfo("urn:alert:call-waiting") )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // postamle f_awaitingCANCEL(mw_CANCEL_Request_Base(vc_callId)); f_sendResponse(m_Response_onCANCEL( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_route() )); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_03UE2 /* * @desc This is the test case function (originating side) for f_AtsNIT_TC_SS___XXSSCW_04UE1 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_04UE1(in CSeq p_cSeq_s) runs on ImsComponent { var SessionDialog v_UE2_Session1; var SessionDialog v_UE2_Session2; f_IMS_preamble_withRegistrationBasic(c_userProfile_UE1atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_initDone, f_getVerdict()); // establish call with UE2 f_establishCall(vc_cSeq, c_userProfile_UE2atSUThome); v_UE2_Session1 := f_saveSession(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // INVITE UE1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_UE( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, m_MBody_SDP(vc_sdp_local) )); v_UE2_Session2 := f_saveSession(); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); f_loadSession(v_UE2_Session1); f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To ); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict()); f_loadSession(v_UE2_Session2); // await 180 response f_awaitingResponse(mw_Response_Base( c_statusLine180, vc_callId, vc_cSeq )); // await 200 OK response f_awaitingOkResponse(p_cSeq_s); // send ACK f_SendACK(m_ACK_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via )); f_selfOrClientSyncAndVerdict(c_sync3, f_getVerdict()); f_check_Conversation(); f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_04UE1 /* * @desc This is the test case function (terminating side) for f_AtsNIT_TC_SS___XXSSCW_04UE2 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_04UE2(in CSeq p_cSeq_s) runs on ImsComponent { var SessionDialog v_UE1_Session1; var SessionDialog v_UE1_Session2; f_IMS_preamble_withRegistrationBasic(c_userProfile_UE2atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_initDone, f_getVerdict()); // accept call form UE1 f_acceptCall(); v_UE1_Session1 := f_saveSession(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody //Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_MB( ?, mw_MBody_MIME_Ims3gpp(?, mw_Ims_3gpp_CW) )); v_UE1_Session2 := f_saveSession(); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); f_loadSession(v_UE1_Session1); //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict()); f_loadSession(v_UE1_Session2); // send 180 Ringing f_sendResponse(m_Response_18XonINVITE( c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact )); // send 200 OK f_sendResponse(m_Response_2xxonINVITE_UE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_route(), valueof(m_MBody_SDP(vc_sdp_local)) )); // await ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_sync3, f_getVerdict()); f_check_Conversation(); //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_04UE2 /* * @desc This is the test case function (originating side) for f_AtsNIT_TC_SS___XXSSCW_05UE1 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_05UE1(in CSeq p_cSeq_s) runs on ImsComponent { f_IMS_preamble_withRegistrationBasic(c_userProfile_UE1atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // INVITE UE1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_UE( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, m_MBody_SDP(vc_sdp_local) )); // await 180 response f_awaitingResponse(mw_Response_AlertInfo( c_statusLine180, vc_callId, vc_cSeq, mw_AlertInfo("urn:alert:call-waiting") )); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); f_check_AnnouncementUE_A(); // await 200 OK response f_awaitingOkResponse(p_cSeq_s); // send ACK f_SendACK(m_ACK_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via )); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict()); f_check_Conversation(); f_selfOrClientSyncAndVerdict(c_sync3, f_getVerdict()); f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_05UE1 /* * @desc This is the test case function (terminating side) for f_AtsNIT_TC_SS___XXSSCW_05UE2 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XXSSCW_05UE2(in CSeq p_cSeq_s) runs on ImsComponent { f_IMS_preamble_withRegistrationBasic(c_userProfile_UE2atSUThome, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // await INVITE f_awaitingINVITE(mw_INVITE_Request_Base); // send 180 Ringing f_sendResponse(m_Response_18XonINVITE_AlertInfo( c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, m_AlertInfo("urn:alert:call-waiting") )); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); f_check_AnnouncementUE_A(); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict()); f_check_Conversation(); f_selfOrClientSyncAndVerdict(c_sync3, f_getVerdict()); //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XXSSCW_05UE2 } // end group TP2_14_SS_CW }//end group TP_2_SupplementaryServices } // end AtsNIT_SipSip_SS_TCFunctions No newline at end of file
AtsNIT_SipSip/ttcn/AtsNIT_SipSip_Testcases.ttcn +117 −0 Original line number Diff line number Diff line Loading @@ -2386,6 +2386,123 @@ group TP2_1_SS_OIP_OIR { }//end group TP2_11_SS_ECT group TP2_12_SS_CallWaiting { /* * @desc TC_SS__XXSS_CW_01 * @param p_CSeq_s Transaction Id */ testcase TC_SS__XXSS_CW_01(inout CSeq p_CSeq_s) runs on ServerSyncComp system TestAdapter { //Variables var ImsComponent v_imsComponent1; var ImsComponent v_imsComponent2; f_cf_2imsUp(v_imsComponent1, v_imsComponent2); f_IncCSeq(p_CSeq_s); //Start v_imsComponent1.start(f_AtsNIT_TC_SS___XXSSCW_01UE1(p_CSeq_s)); v_imsComponent2.start(f_AtsNIT_TC_SS___XXSSCW_01UE1(p_CSeq_s)); // synchronize both PTCs on 3 sychronization points f_serverSync2ClientsAndStop({c_initDone, c_prDone, c_tbDone}); f_cf_2imsDown(v_imsComponent1, v_imsComponent2); } // end TC_SS__XXSS_CW_01 /* * @desc TC_SS__XXSS_CW_02 * @param p_CSeq_s Transaction Id */ testcase TC_SS__XXSS_CW_02(inout CSeq p_CSeq_s) runs on ServerSyncComp system TestAdapter { //Variables var ImsComponent v_imsComponent1; var ImsComponent v_imsComponent2; f_cf_2imsUp(v_imsComponent1, v_imsComponent2); f_IncCSeq(p_CSeq_s); //Start v_imsComponent1.start(f_AtsNIT_TC_SS___XXSSCW_02UE1(p_CSeq_s)); v_imsComponent2.start(f_AtsNIT_TC_SS___XXSSCW_02UE1(p_CSeq_s)); // synchronize both PTCs on 3 sychronization points f_serverSync2ClientsAndStop({c_initDone, c_prDone, c_tbDone}); f_cf_2imsDown(v_imsComponent1, v_imsComponent2); } // end TC_SS__XXSS_CW_02 /* * @desc TC_SS__XXSS_CW_03 * @param p_CSeq_s Transaction Id */ testcase TC_SS__XXSS_CW_03(inout CSeq p_CSeq_s) runs on ServerSyncComp system TestAdapter { //Variables var ImsComponent v_imsComponent1; var ImsComponent v_imsComponent2; f_cf_2imsUp(v_imsComponent1, v_imsComponent2); f_IncCSeq(p_CSeq_s); //Start v_imsComponent1.start(f_AtsNIT_TC_SS___XXSSCW_03UE1(p_CSeq_s)); v_imsComponent2.start(f_AtsNIT_TC_SS___XXSSCW_03UE1(p_CSeq_s)); // synchronize both PTCs on 3 sychronization points f_serverSync2ClientsAndStop({c_prDone, c_tbDone, c_poDone}); f_cf_2imsDown(v_imsComponent1, v_imsComponent2); } // end TC_SS__XXSS_CW_03 /* * @desc TC_SS__XXSS_CW_04 * @param p_CSeq_s Transaction Id */ testcase TC_SS__XXSS_CW_04(inout CSeq p_CSeq_s) runs on ServerSyncComp system TestAdapter { //Variables var ImsComponent v_imsComponent1; var ImsComponent v_imsComponent2; f_cf_2imsUp(v_imsComponent1, v_imsComponent2); f_IncCSeq(p_CSeq_s); //Start v_imsComponent1.start(f_AtsNIT_TC_SS___XXSSCW_04UE1(p_CSeq_s)); v_imsComponent2.start(f_AtsNIT_TC_SS___XXSSCW_04UE1(p_CSeq_s)); // synchronize both PTCs on 6 sychronization points f_serverSync2ClientsAndStop({c_initDone, c_prDone, c_sync1, c_sync2, c_sync3, c_tbDone}); f_cf_2imsDown(v_imsComponent1, v_imsComponent2); } // end TC_SS__XXSS_CW_04 /* * @desc TC_SS__XXSS_CW_05 * @param p_CSeq_s Transaction Id */ testcase TC_SS__XXSS_CW_05(inout CSeq p_CSeq_s) runs on ServerSyncComp system TestAdapter { //Variables var ImsComponent v_imsComponent1; var ImsComponent v_imsComponent2; f_cf_2imsUp(v_imsComponent1, v_imsComponent2); f_IncCSeq(p_CSeq_s); //Start v_imsComponent1.start(f_AtsNIT_TC_SS___XXSSCW_05UE1(p_CSeq_s)); v_imsComponent2.start(f_AtsNIT_TC_SS___XXSSCW_05UE1(p_CSeq_s)); // synchronize both PTCs on 5 sychronization points f_serverSync2ClientsAndStop({c_prDone, c_sync1, c_sync2, c_sync3, c_tbDone}); f_cf_2imsDown(v_imsComponent1, v_imsComponent2); } // end TC_SS__XXSS_CW_05 } // end group TP2_12_SS_CallWaiting }//end group TP_2_SupplementaryServices } // end module AtsNIT_SipSip_Testcases