Loading AtsNIT_SipSip/ttcn/AtsNIT_SipSip_BC_TCFunctions.ttcn +478 −0 Original line number Diff line number Diff line Loading @@ -1255,6 +1255,484 @@ module AtsNIT_SipSip_BC_TCFunctions { f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___CN__02UE2 /* * @desc This is the test case function (originating side) for AtsNIT_TC_SS___CN__03 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___CN__03UE1(in CSeq p_cSeq_s) runs on ImsComponent { // SDP body set to PCMA encoding var SDP_Message v_sdp := valueof(m_SDP_bandwidth(valueof(m_media_dynPT("8", "PCMA")), vc_userprofile)); 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, omit, m_MBody_SDP(v_sdp) )); // await 180 response f_awaitingResponse(mw_Response_Base( c_statusLine180, vc_callId, vc_cSeq )); // await 200 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 )); // await RE-INVITE f_awaitingINVITE(mw_INVITE_Request_Base); 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)); // check media f_check_Conversation(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //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___CN__03UE1 /* * @desc This is the test case function (terminating side) for AtsNIT_TC_SS___CN__03 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___CN__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 response f_sendResponse(m_Response_18XonINVITE_UE( c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact )); // send 200 response 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)) )); // send RE-INVITE vc_sdp_local := valueof(m_SDP_bandwidth(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile)); // TODO check SDP LibIms_Steps.f_setHeadersReINVITE(p_cSeq_s); f_SendINVITE(m_INVITE_Request_UE( vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, m_MBody_SDP(vc_sdp_local) )); //await 200 OK response f_awaitingResponse(mw_Response_Base( c_statusLine200, vc_callId, 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___CN__03UE2 /* * @desc This is the test case function (originating side) for AtsNIT_TC_SS___CN__04 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___CN__04UE1(in CSeq p_cSeq_s) runs on ImsComponent { var CSeq v_INVITE_CSeq; // SDP body set to PCMA encoding and appand QoS parameter var SDP_Message v_sdp := valueof(m_SDP_bandwidth(valueof(m_media_dynPT("8", "PCMA")), vc_userprofile)); f_append_media_attribute(v_sdp, m_attribute_curr( c_qos, c_e2e, c_none )); f_append_media_attribute(v_sdp, m_attribute_des( c_qos, c_mandatory, c_e2e, c_sendrecv )); 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 ); v_INVITE_CSeq := vc_cSeq; 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(v_sdp) )); // await 183 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(?) )); // 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); // change curr attribute f_replace_curr_attribute( vc_sdp_local, valueof(m_attribute_curr(c_qos,c_e2e,c_send).curr) ); 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(?) )); // await 180 response without f_awaitingResponse(mw_Response_Base( c_statusLine180, vc_callId, 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 PRACK response f_awaitingOkResponse(vc_cSeq); // await 200 OK INVITE response f_awaitingOkResponse(v_INVITE_CSeq); // send ACK f_SendACK(m_ACK_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via )); // await RE-INVITE f_awaitingINVITE(mw_INVITE_Request_Base); 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)); // check media f_check_Conversation(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //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___CN__04UE1 /* * @desc This is the test case function (terminating side) for AtsNIT_TC_SS___CN__04 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___CN__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 )); f_append_media_attribute( vc_sdp_local, m_attribute_conf( c_qos, c_e2e, c_recv ) ); // 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(?) )); // change curr attribute f_replace_curr_attribute( vc_sdp_local, valueof(m_attribute_curr(c_qos,c_e2e,c_sendrecv).curr) ); // 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)); // send RE-INVITE vc_sdp_local := valueof(m_SDP_bandwidth(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile)); // TODO check SDP LibIms_Steps.f_setHeadersReINVITE(p_cSeq_s); f_SendINVITE(m_INVITE_Request_UE( vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, m_MBody_SDP(vc_sdp_local) )); //await 200 OK response f_awaitingResponse(mw_Response_Base( c_statusLine200, vc_callId, 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(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //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___CN__04UE2 } // end group TP1_1_2_BC_CodecNegotiation Loading AtsNIT_SipSip/ttcn/AtsNIT_SipSip_Testcases.ttcn +48 −0 Original line number Diff line number Diff line Loading @@ -176,6 +176,54 @@ module AtsNIT_SipSip_Testcases { f_cf_2imsDown(v_imsComponent1, v_imsComponent2); } // end TC_SS___CN__02 /* * @desc TC_SS___CN__03 * @param p_CSeq_s Transaction Id */ testcase TC_SS___CN__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___CN__03UE1(p_CSeq_s)); v_imsComponent2.start(f_AtsNIT_TC_SS___CN__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___CN__03 /* * @desc TC_SS___CN__04 * @param p_CSeq_s Transaction Id */ testcase TC_SS___CN__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___CN__04UE1(p_CSeq_s)); v_imsComponent2.start(f_AtsNIT_TC_SS___CN__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___CN__04 } // end group TP1_1_2_BC_CodecNegotiation group TP1_1_3_BC_UPDATE { Loading Loading
AtsNIT_SipSip/ttcn/AtsNIT_SipSip_BC_TCFunctions.ttcn +478 −0 Original line number Diff line number Diff line Loading @@ -1255,6 +1255,484 @@ module AtsNIT_SipSip_BC_TCFunctions { f_IMS_postamble_withDeRegistration(vc_cSeq); } // end function f_AtsNIT_TC_SS___CN__02UE2 /* * @desc This is the test case function (originating side) for AtsNIT_TC_SS___CN__03 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___CN__03UE1(in CSeq p_cSeq_s) runs on ImsComponent { // SDP body set to PCMA encoding var SDP_Message v_sdp := valueof(m_SDP_bandwidth(valueof(m_media_dynPT("8", "PCMA")), vc_userprofile)); 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, omit, m_MBody_SDP(v_sdp) )); // await 180 response f_awaitingResponse(mw_Response_Base( c_statusLine180, vc_callId, vc_cSeq )); // await 200 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 )); // await RE-INVITE f_awaitingINVITE(mw_INVITE_Request_Base); 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)); // check media f_check_Conversation(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //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___CN__03UE1 /* * @desc This is the test case function (terminating side) for AtsNIT_TC_SS___CN__03 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___CN__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 response f_sendResponse(m_Response_18XonINVITE_UE( c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact )); // send 200 response 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)) )); // send RE-INVITE vc_sdp_local := valueof(m_SDP_bandwidth(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile)); // TODO check SDP LibIms_Steps.f_setHeadersReINVITE(p_cSeq_s); f_SendINVITE(m_INVITE_Request_UE( vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, m_MBody_SDP(vc_sdp_local) )); //await 200 OK response f_awaitingResponse(mw_Response_Base( c_statusLine200, vc_callId, 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___CN__03UE2 /* * @desc This is the test case function (originating side) for AtsNIT_TC_SS___CN__04 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___CN__04UE1(in CSeq p_cSeq_s) runs on ImsComponent { var CSeq v_INVITE_CSeq; // SDP body set to PCMA encoding and appand QoS parameter var SDP_Message v_sdp := valueof(m_SDP_bandwidth(valueof(m_media_dynPT("8", "PCMA")), vc_userprofile)); f_append_media_attribute(v_sdp, m_attribute_curr( c_qos, c_e2e, c_none )); f_append_media_attribute(v_sdp, m_attribute_des( c_qos, c_mandatory, c_e2e, c_sendrecv )); 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 ); v_INVITE_CSeq := vc_cSeq; 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(v_sdp) )); // await 183 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(?) )); // 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); // change curr attribute f_replace_curr_attribute( vc_sdp_local, valueof(m_attribute_curr(c_qos,c_e2e,c_send).curr) ); 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(?) )); // await 180 response without f_awaitingResponse(mw_Response_Base( c_statusLine180, vc_callId, 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 PRACK response f_awaitingOkResponse(vc_cSeq); // await 200 OK INVITE response f_awaitingOkResponse(v_INVITE_CSeq); // send ACK f_SendACK(m_ACK_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via )); // await RE-INVITE f_awaitingINVITE(mw_INVITE_Request_Base); 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)); // check media f_check_Conversation(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //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___CN__04UE1 /* * @desc This is the test case function (terminating side) for AtsNIT_TC_SS___CN__04 * @param p_CSeq_s Transaction Id */ function f_AtsNIT_TC_SS___CN__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 )); f_append_media_attribute( vc_sdp_local, m_attribute_conf( c_qos, c_e2e, c_recv ) ); // 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(?) )); // change curr attribute f_replace_curr_attribute( vc_sdp_local, valueof(m_attribute_curr(c_qos,c_e2e,c_sendrecv).curr) ); // 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)); // send RE-INVITE vc_sdp_local := valueof(m_SDP_bandwidth(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile)); // TODO check SDP LibIms_Steps.f_setHeadersReINVITE(p_cSeq_s); f_SendINVITE(m_INVITE_Request_UE( vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, m_MBody_SDP(vc_sdp_local) )); //await 200 OK response f_awaitingResponse(mw_Response_Base( c_statusLine200, vc_callId, 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(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //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___CN__04UE2 } // end group TP1_1_2_BC_CodecNegotiation Loading
AtsNIT_SipSip/ttcn/AtsNIT_SipSip_Testcases.ttcn +48 −0 Original line number Diff line number Diff line Loading @@ -176,6 +176,54 @@ module AtsNIT_SipSip_Testcases { f_cf_2imsDown(v_imsComponent1, v_imsComponent2); } // end TC_SS___CN__02 /* * @desc TC_SS___CN__03 * @param p_CSeq_s Transaction Id */ testcase TC_SS___CN__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___CN__03UE1(p_CSeq_s)); v_imsComponent2.start(f_AtsNIT_TC_SS___CN__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___CN__03 /* * @desc TC_SS___CN__04 * @param p_CSeq_s Transaction Id */ testcase TC_SS___CN__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___CN__04UE1(p_CSeq_s)); v_imsComponent2.start(f_AtsNIT_TC_SS___CN__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___CN__04 } // end group TP1_1_2_BC_CodecNegotiation group TP1_1_3_BC_UPDATE { Loading