Loading AtsNIT_SipSip/ttcn/AtsNIT_SipSip_BC_TCFunctions.ttcn +221 −0 Original line number Diff line number Diff line Loading @@ -505,6 +505,227 @@ module AtsNIT_SipSip_BC_TCFunctions { f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XX__03UE2 /* * @desc This is the test case function (originating side) for AtsNIT_TC_SS___XX__04 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XX__04UE1(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 // prepare and send INVITE UE2@SUT 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, m_Supported_100rel_prec, m_MBody_SDP(vc_sdp_local) )); // await 184 response with // 100rel in require header field // and a=curr and a=des lines present in sdp f_awaitingResponse(mw_Response_messageBody( c_statusLine183, vc_callId, vc_cSeq, mw_require_100rel, mw_MBody_SDP( mw_SDP_atribute_list(mw_ttribute_list_curr_des) ) )); // await 200 OK response f_awaitingOkResponse(vc_cSeq); // send PRACK f_SendPRACK(m_PRACK_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_rAck )); // await 200 OK response f_awaitingOkResponse(vc_cSeq); f_SendUPDATE(m_UPDATE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, m_MBody_SDP(vc_sdp_local) )); f_awaitingUPDATE_sendReply(mw_UPDATE_Request_SDP( vc_callId, mw_MBody_SDP( mw_SDP_atribute_list(mw_ttribute_list_curr_des) ) )); // await 180 response without // 100rel in require header field f_awaitingResponse(mw_Response_Require_ifpresent( c_statusLine180, vc_callId, vc_cSeq, mw_Require_not_100rel )); // send PRACK f_SendPRACK(m_PRACK_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_rAck )); // await 200 OK PRACK response f_awaitingOkResponse(vc_cSeq); // await 200 OK INVITE response f_awaitingOkResponse(vc_cSeq); // send ACK f_SendACK(m_ACK_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via )); // check media f_check_Conversation(); //SendBYE and await response f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // postamble f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XX__04UE1 /* * @desc This is the test case function (terminating side) for AtsNIT_TC_SS___XX__04 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XX__04UE2(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 f_awaitingINVITE(mw_INVITE_Request_require( mw_require_100rel )); // send 183 response f_sendResponse(m_Response_18XonINVITE_require_sdp_UE( c_statusLine183, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, mw_require_100rel, m_MBody_SDP(vc_sdp_local) )); // await PRACK f_awaitingPRACK_sendReply( mw_PRACK_Request_Base(vc_callId) ); // await UPDATE f_awaitingUPDATE_sendReply(mw_UPDATE_Request_SDP( vc_callId, mw_MBody_SDP( mw_SDP_atribute_list(mw_ttribute_list_curr_des) ) )); // send UPDATE f_SendUPDATE(m_UPDATE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, m_MBody_SDP(vc_sdp_local) )); // await 200 OK UPDATE response f_awaitingOkResponse(vc_cSeq); // send 180 response f_sendResponse(m_Response_18XonINVITE_UE( c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact )); // await Prack f_awaitingPRACK_sendReply( mw_PRACK_Request_Base(vc_callId) ); // send 200 OK Invite f_send200OK(); // TODO must be checked // await ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); // check media f_check_Conversation(); //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // postamble f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XX__04UE2 } // end group TP1_1_1_BC_Normal_Call_Esthablishment group TP1_1_2_BC_CodecNegotiation { Loading AtsNIT_SipSip/ttcn/AtsNIT_SipSip_Testcases.ttcn +51 −3 Original line number Diff line number Diff line Loading @@ -77,6 +77,54 @@ module AtsNIT_SipSip_Testcases { f_cf_2imsDown(v_imsComponent1, v_imsComponent2); } // end TC_SS___XX__02 /* * @desc TC_SS___XX__03 * @param p_CSeq_s Transaction Id */ testcase TC_SS___XX__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___XX__03UE1(p_CSeq_s)); v_imsComponent2.start(f_AtsNIT_TC_SS___XX__03UE2(p_CSeq_s)); // synchronize both PTCs on 4 sychronization points f_serverSync2ClientsAndStop({c_prDone, c_Ringing, c_uPlane, c_tbDone}); f_cf_2imsDown(v_imsComponent1, v_imsComponent2); } // end TC_SS___XX__03 /* * @desc TC_SS___XX__04 * @param p_CSeq_s Transaction Id */ testcase TC_SS___XX__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___XX__04UE1(p_CSeq_s)); v_imsComponent2.start(f_AtsNIT_TC_SS___XX__04UE2(p_CSeq_s)); // synchronize both PTCs on 4 sychronization points f_serverSync2ClientsAndStop({c_prDone, c_Ringing, c_uPlane, c_tbDone}); f_cf_2imsDown(v_imsComponent1, v_imsComponent2); } // end TC_SS___XX__04 } // end group TP1_1_1_BC_Normal_Call_Esthablishment group TP1_1_2_BC_CodecNegotiation { Loading Loading @@ -106,13 +154,13 @@ group TP2_1_SS_OIP_OIR { testcase TC_SS___XXSS_OIP01(inout CSeq p_CSeq_s) runs on ServerSyncComp system TestAdapter { //Variables var ImsComponent v_imsComponent1; var ImsComponent v_imsComponent2; //selection criteria action("The originating user subscribes to OIR 'temporary mode' default 'not restricted'. The terminating user subscribes to OIP."); //Variables var ImsComponent v_imsComponent1; var ImsComponent v_imsComponent2; f_cf_2imsUp(v_imsComponent1, v_imsComponent2); f_IncCSeq(p_CSeq_s); Loading Loading
AtsNIT_SipSip/ttcn/AtsNIT_SipSip_BC_TCFunctions.ttcn +221 −0 Original line number Diff line number Diff line Loading @@ -505,6 +505,227 @@ module AtsNIT_SipSip_BC_TCFunctions { f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XX__03UE2 /* * @desc This is the test case function (originating side) for AtsNIT_TC_SS___XX__04 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XX__04UE1(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 // prepare and send INVITE UE2@SUT 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, m_Supported_100rel_prec, m_MBody_SDP(vc_sdp_local) )); // await 184 response with // 100rel in require header field // and a=curr and a=des lines present in sdp f_awaitingResponse(mw_Response_messageBody( c_statusLine183, vc_callId, vc_cSeq, mw_require_100rel, mw_MBody_SDP( mw_SDP_atribute_list(mw_ttribute_list_curr_des) ) )); // await 200 OK response f_awaitingOkResponse(vc_cSeq); // send PRACK f_SendPRACK(m_PRACK_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_rAck )); // await 200 OK response f_awaitingOkResponse(vc_cSeq); f_SendUPDATE(m_UPDATE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, m_MBody_SDP(vc_sdp_local) )); f_awaitingUPDATE_sendReply(mw_UPDATE_Request_SDP( vc_callId, mw_MBody_SDP( mw_SDP_atribute_list(mw_ttribute_list_curr_des) ) )); // await 180 response without // 100rel in require header field f_awaitingResponse(mw_Response_Require_ifpresent( c_statusLine180, vc_callId, vc_cSeq, mw_Require_not_100rel )); // send PRACK f_SendPRACK(m_PRACK_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_rAck )); // await 200 OK PRACK response f_awaitingOkResponse(vc_cSeq); // await 200 OK INVITE response f_awaitingOkResponse(vc_cSeq); // send ACK f_SendACK(m_ACK_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via )); // check media f_check_Conversation(); //SendBYE and await response f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // postamble f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XX__04UE1 /* * @desc This is the test case function (terminating side) for AtsNIT_TC_SS___XX__04 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___XX__04UE2(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 f_awaitingINVITE(mw_INVITE_Request_require( mw_require_100rel )); // send 183 response f_sendResponse(m_Response_18XonINVITE_require_sdp_UE( c_statusLine183, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, mw_require_100rel, m_MBody_SDP(vc_sdp_local) )); // await PRACK f_awaitingPRACK_sendReply( mw_PRACK_Request_Base(vc_callId) ); // await UPDATE f_awaitingUPDATE_sendReply(mw_UPDATE_Request_SDP( vc_callId, mw_MBody_SDP( mw_SDP_atribute_list(mw_ttribute_list_curr_des) ) )); // send UPDATE f_SendUPDATE(m_UPDATE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, m_MBody_SDP(vc_sdp_local) )); // await 200 OK UPDATE response f_awaitingOkResponse(vc_cSeq); // send 180 response f_sendResponse(m_Response_18XonINVITE_UE( c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact )); // await Prack f_awaitingPRACK_sendReply( mw_PRACK_Request_Base(vc_callId) ); // send 200 OK Invite f_send200OK(); // TODO must be checked // await ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); // check media f_check_Conversation(); //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // postamble f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___XX__04UE2 } // end group TP1_1_1_BC_Normal_Call_Esthablishment group TP1_1_2_BC_CodecNegotiation { Loading
AtsNIT_SipSip/ttcn/AtsNIT_SipSip_Testcases.ttcn +51 −3 Original line number Diff line number Diff line Loading @@ -77,6 +77,54 @@ module AtsNIT_SipSip_Testcases { f_cf_2imsDown(v_imsComponent1, v_imsComponent2); } // end TC_SS___XX__02 /* * @desc TC_SS___XX__03 * @param p_CSeq_s Transaction Id */ testcase TC_SS___XX__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___XX__03UE1(p_CSeq_s)); v_imsComponent2.start(f_AtsNIT_TC_SS___XX__03UE2(p_CSeq_s)); // synchronize both PTCs on 4 sychronization points f_serverSync2ClientsAndStop({c_prDone, c_Ringing, c_uPlane, c_tbDone}); f_cf_2imsDown(v_imsComponent1, v_imsComponent2); } // end TC_SS___XX__03 /* * @desc TC_SS___XX__04 * @param p_CSeq_s Transaction Id */ testcase TC_SS___XX__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___XX__04UE1(p_CSeq_s)); v_imsComponent2.start(f_AtsNIT_TC_SS___XX__04UE2(p_CSeq_s)); // synchronize both PTCs on 4 sychronization points f_serverSync2ClientsAndStop({c_prDone, c_Ringing, c_uPlane, c_tbDone}); f_cf_2imsDown(v_imsComponent1, v_imsComponent2); } // end TC_SS___XX__04 } // end group TP1_1_1_BC_Normal_Call_Esthablishment group TP1_1_2_BC_CodecNegotiation { Loading Loading @@ -106,13 +154,13 @@ group TP2_1_SS_OIP_OIR { testcase TC_SS___XXSS_OIP01(inout CSeq p_CSeq_s) runs on ServerSyncComp system TestAdapter { //Variables var ImsComponent v_imsComponent1; var ImsComponent v_imsComponent2; //selection criteria action("The originating user subscribes to OIR 'temporary mode' default 'not restricted'. The terminating user subscribes to OIP."); //Variables var ImsComponent v_imsComponent1; var ImsComponent v_imsComponent2; f_cf_2imsUp(v_imsComponent1, v_imsComponent2); f_IncCSeq(p_CSeq_s); Loading