Loading AtsCommon/SipIsup_IMS_TCFunctions.ttcn +287 −21 Original line number Diff line number Diff line Loading @@ -9929,55 +9929,321 @@ module SipIsup_IMS_TCFunctions { 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)); // First Re-INVITE vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, {m_attribute_sendonly})); // First Re-INVITE and reply 200 OK f_SIP_modSessionDirection(m_attribute_sendonly); // handling of attribute in session LibIms_Steps.f_setHeadersReINVITE_(vc_cSeq); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_recvonly); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point 1 // Second Re-INVITE and reply 200 OK f_SIP_modSessionDirection(m_attribute_sendrecv); // handling of attribute in session LibIms_Steps.f_setHeadersReINVITE_(vc_cSeq); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_sendrecv); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point 2 // Third Re-INVITE and reply 200 OK f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*)); f_SIP_checksetSDPreqDirection(mw_attribute_sendonly,m_attribute_recvonly); // handling of attribute in media description f_sendResponse(m_Response_2xxonINVITE(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)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_sync3, f_getVerdict());// sync point 3 // Fourth Re-INVITE and reply 200 OK f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*)); f_SIP_checksetSDPreqDirection(mw_attribute_sendrecv,m_attribute_sendrecv); // handling of attribute in media description f_sendResponse(m_Response_2xxonINVITE(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)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); //Send BYE and awaiting response f_terminateCall_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_IMS_TC_502_001 /* * @desc This is the test case function (SIP side) for TC_502_002 * @param p_CSeq_s Transaction Id */ function f_IMS_TC_502_002(in CSeq p_cSeq_s) runs on ImsComponent { //c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, 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_ISUP); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local))); f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq)); f_check_Ringing(); 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)); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point 1 // send UPDATE, await 200 f_SIP_modSessionDirection(m_attribute_sendonly); // handling of attribute in session f_SendUPDATE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_recvonly); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point 2 //send UPDATE, await 200 f_SIP_modSessionDirection(m_attribute_sendrecv); // handling of attribute in session f_SendUPDATE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_sendrecv); //Send BYE and awaiting response f_terminateCall_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_IMS_TC_502_002 /* * @desc This is the test case function (SIP side) for TC_502_003 * @param p_CSeq_s Transaction Id */ function f_IMS_TC_502_003(in CSeq p_cSeq_s) runs on ImsComponent { f_IMS_TC_502_002(p_cSeq_s); } // end function f_IMS_TC_502_003 /* * @desc This is the test case function (SIP side) for TC_502_004 * @param p_CSeq_s Transaction Id */ function f_IMS_TC_502_004(in CSeq p_cSeq_s) runs on ImsComponent { //c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, 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_ISUP); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local))); f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq)); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point 1 // send UPDATE, await 200 f_SIP_modSessionDirection(m_attribute_sendonly); // handling of attribute in session f_SendUPDATE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_recvonly); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point 2 //send UPDATE, await 200 f_SIP_modSessionDirection(m_attribute_sendrecv); // handling of attribute in session f_SendUPDATE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_sendrecv); //Send BYE and awaiting response f_terminateCall_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_IMS_TC_502_004 /* * @desc This is the test case function (SIP side) for TC_502_005 * @param p_CSeq_s Transaction Id */ function f_IMS_TC_502_005(in CSeq p_cSeq_s) runs on ImsComponent { //c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, 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_ISUP); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local))); f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq)); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point 1 //Awaiting UPDATE, reply 200 f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirection(mw_attribute_sendonly,m_attribute_recvonly); // handling of attribute in media description f_sendResponse(m_Response_2xxonUPDATE(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)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point 2 // check SDP a=recvonly if (not (ispresent(vc_response.messageBody) and f_check_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_recvonly))) {setverdict(fail);}; //Awaiting UPDATE, reply 200 f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirection(mw_attribute_sendrecv,m_attribute_sendrecv); // handling of attribute in media description f_sendResponse(m_Response_2xxonUPDATE(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)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); // Second Re-INVITE vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, {m_attribute_sendrecv})); //Send BYE and awaiting response f_terminateCall_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_IMS_TC_502_005 /* * @desc This is the test case function (SIP side) for TC_502_006 * @param p_CSeq_s Transaction Id */ function f_IMS_TC_502_006(in CSeq p_cSeq_s) runs on ImsComponent { //c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, 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_ISUP); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local))); f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq)); f_check_Ringing(); 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)); // First Re-INVITE and reply 200 OK f_SIP_modSessionDirection(m_attribute_sendonly); // handling of attribute in session LibIms_Steps.f_setHeadersReINVITE_(vc_cSeq); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_recvonly); // check SDP a=recvonly if (not (ispresent(vc_response.messageBody) and f_check_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_recvonly))) {setverdict(fail);}; f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point 1 // Third Re-INVITE // Second Re-INVITE and reply 200 OK f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*)); f_SIP_checksetSDPreqDirection(mw_attribute_inactive,m_attribute_inactive); // handling of attribute in media description f_sendResponse(m_Response_2xxonINVITE(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)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point 2 // Third Re-INVITE and reply 200 OK f_SIP_modSessionDirection(m_attribute_recvonly); // handling of attribute in session LibIms_Steps.f_setHeadersReINVITE_(vc_cSeq); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_sendonly); // check SDP a=recvonly if (not (ispresent(vc_request.messageBody) and f_check_attribute(vc_request.messageBody.sdpMessageBody,mw_attribute_sendonly))) {setverdict(fail);}; f_selfOrClientSyncAndVerdict(c_sync3, f_getVerdict());// sync point 3 vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, {m_attribute_recvonly})); // Fourth Re-INVITE and reply 200 OK f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*)); f_SIP_checksetSDPreqDirection(mw_attribute_sendrecv,m_attribute_sendrecv); // handling of attribute in media description f_sendResponse(m_Response_2xxonINVITE(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)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); // Fourth Re-INVITE //Send BYE and awaiting response f_terminateCall_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_IMS_TC_502_006 /* * @desc This is the test case function (SIP side) for TC_502_007 * @param p_CSeq_s Transaction Id */ function f_IMS_TC_502_007(in CSeq p_cSeq_s) runs on ImsComponent { //c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, 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_ISUP); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local))); f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq)); f_check_Ringing(); 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)); // First Re-INVITE and reply 200 OK f_SIP_modSessionDirection(m_attribute_sendonly); // handling of attribute in session LibIms_Steps.f_setHeadersReINVITE_(vc_cSeq); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_recvonly); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point 1 // Second Re-INVITE and reply 200 OK f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*)); f_SIP_checksetSDPreqDirection(mw_attribute_inactive,m_attribute_inactive); // handling of attribute in media description f_sendResponse(m_Response_2xxonINVITE(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)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); // check SDP a=sendrecv if (not (ispresent(vc_request.messageBody) and f_check_attribute(vc_request.messageBody.sdpMessageBody,mw_attribute_sendrecv))) {setverdict(fail);}; f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point 2 vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, {m_attribute_sendrecv})); // Third Re-INVITE and reply 200 OK f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*)); f_SIP_checksetSDPreqDirection(mw_attribute_recvonly,m_attribute_sendonly); // handling of attribute in media description f_sendResponse(m_Response_2xxonINVITE(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)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_sync3, f_getVerdict());// sync point 3 // Fourth Re-INVITE and reply 200 OK f_SIP_modSessionDirection(m_attribute_sendrecv); // handling of attribute in session LibIms_Steps.f_setHeadersReINVITE_(vc_cSeq); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_sendrecv); //Send BYE and awaiting response f_terminateCall_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_IMS_TC_502_001 } // end function f_IMS_TC_502_007 } // end group TP502_HOLD Loading Loading
AtsCommon/SipIsup_IMS_TCFunctions.ttcn +287 −21 Original line number Diff line number Diff line Loading @@ -9929,55 +9929,321 @@ module SipIsup_IMS_TCFunctions { 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)); // First Re-INVITE vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, {m_attribute_sendonly})); // First Re-INVITE and reply 200 OK f_SIP_modSessionDirection(m_attribute_sendonly); // handling of attribute in session LibIms_Steps.f_setHeadersReINVITE_(vc_cSeq); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_recvonly); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point 1 // Second Re-INVITE and reply 200 OK f_SIP_modSessionDirection(m_attribute_sendrecv); // handling of attribute in session LibIms_Steps.f_setHeadersReINVITE_(vc_cSeq); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_sendrecv); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point 2 // Third Re-INVITE and reply 200 OK f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*)); f_SIP_checksetSDPreqDirection(mw_attribute_sendonly,m_attribute_recvonly); // handling of attribute in media description f_sendResponse(m_Response_2xxonINVITE(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)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_sync3, f_getVerdict());// sync point 3 // Fourth Re-INVITE and reply 200 OK f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*)); f_SIP_checksetSDPreqDirection(mw_attribute_sendrecv,m_attribute_sendrecv); // handling of attribute in media description f_sendResponse(m_Response_2xxonINVITE(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)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); //Send BYE and awaiting response f_terminateCall_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_IMS_TC_502_001 /* * @desc This is the test case function (SIP side) for TC_502_002 * @param p_CSeq_s Transaction Id */ function f_IMS_TC_502_002(in CSeq p_cSeq_s) runs on ImsComponent { //c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, 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_ISUP); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local))); f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq)); f_check_Ringing(); 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)); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point 1 // send UPDATE, await 200 f_SIP_modSessionDirection(m_attribute_sendonly); // handling of attribute in session f_SendUPDATE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_recvonly); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point 2 //send UPDATE, await 200 f_SIP_modSessionDirection(m_attribute_sendrecv); // handling of attribute in session f_SendUPDATE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_sendrecv); //Send BYE and awaiting response f_terminateCall_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_IMS_TC_502_002 /* * @desc This is the test case function (SIP side) for TC_502_003 * @param p_CSeq_s Transaction Id */ function f_IMS_TC_502_003(in CSeq p_cSeq_s) runs on ImsComponent { f_IMS_TC_502_002(p_cSeq_s); } // end function f_IMS_TC_502_003 /* * @desc This is the test case function (SIP side) for TC_502_004 * @param p_CSeq_s Transaction Id */ function f_IMS_TC_502_004(in CSeq p_cSeq_s) runs on ImsComponent { //c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, 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_ISUP); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local))); f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq)); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point 1 // send UPDATE, await 200 f_SIP_modSessionDirection(m_attribute_sendonly); // handling of attribute in session f_SendUPDATE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_recvonly); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point 2 //send UPDATE, await 200 f_SIP_modSessionDirection(m_attribute_sendrecv); // handling of attribute in session f_SendUPDATE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_sendrecv); //Send BYE and awaiting response f_terminateCall_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_IMS_TC_502_004 /* * @desc This is the test case function (SIP side) for TC_502_005 * @param p_CSeq_s Transaction Id */ function f_IMS_TC_502_005(in CSeq p_cSeq_s) runs on ImsComponent { //c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, 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_ISUP); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local))); f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq)); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point 1 //Awaiting UPDATE, reply 200 f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirection(mw_attribute_sendonly,m_attribute_recvonly); // handling of attribute in media description f_sendResponse(m_Response_2xxonUPDATE(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)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point 2 // check SDP a=recvonly if (not (ispresent(vc_response.messageBody) and f_check_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_recvonly))) {setverdict(fail);}; //Awaiting UPDATE, reply 200 f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirection(mw_attribute_sendrecv,m_attribute_sendrecv); // handling of attribute in media description f_sendResponse(m_Response_2xxonUPDATE(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)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); // Second Re-INVITE vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, {m_attribute_sendrecv})); //Send BYE and awaiting response f_terminateCall_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_IMS_TC_502_005 /* * @desc This is the test case function (SIP side) for TC_502_006 * @param p_CSeq_s Transaction Id */ function f_IMS_TC_502_006(in CSeq p_cSeq_s) runs on ImsComponent { //c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, 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_ISUP); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local))); f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq)); f_check_Ringing(); 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)); // First Re-INVITE and reply 200 OK f_SIP_modSessionDirection(m_attribute_sendonly); // handling of attribute in session LibIms_Steps.f_setHeadersReINVITE_(vc_cSeq); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_recvonly); // check SDP a=recvonly if (not (ispresent(vc_response.messageBody) and f_check_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_recvonly))) {setverdict(fail);}; f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point 1 // Third Re-INVITE // Second Re-INVITE and reply 200 OK f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*)); f_SIP_checksetSDPreqDirection(mw_attribute_inactive,m_attribute_inactive); // handling of attribute in media description f_sendResponse(m_Response_2xxonINVITE(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)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point 2 // Third Re-INVITE and reply 200 OK f_SIP_modSessionDirection(m_attribute_recvonly); // handling of attribute in session LibIms_Steps.f_setHeadersReINVITE_(vc_cSeq); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_sendonly); // check SDP a=recvonly if (not (ispresent(vc_request.messageBody) and f_check_attribute(vc_request.messageBody.sdpMessageBody,mw_attribute_sendonly))) {setverdict(fail);}; f_selfOrClientSyncAndVerdict(c_sync3, f_getVerdict());// sync point 3 vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, {m_attribute_recvonly})); // Fourth Re-INVITE and reply 200 OK f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*)); f_SIP_checksetSDPreqDirection(mw_attribute_sendrecv,m_attribute_sendrecv); // handling of attribute in media description f_sendResponse(m_Response_2xxonINVITE(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)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); // Fourth Re-INVITE //Send BYE and awaiting response f_terminateCall_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_IMS_TC_502_006 /* * @desc This is the test case function (SIP side) for TC_502_007 * @param p_CSeq_s Transaction Id */ function f_IMS_TC_502_007(in CSeq p_cSeq_s) runs on ImsComponent { //c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, 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_ISUP); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local))); f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq)); f_check_Ringing(); 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)); // First Re-INVITE and reply 200 OK f_SIP_modSessionDirection(m_attribute_sendonly); // handling of attribute in session LibIms_Steps.f_setHeadersReINVITE_(vc_cSeq); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_recvonly); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point 1 // Second Re-INVITE and reply 200 OK f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*)); f_SIP_checksetSDPreqDirection(mw_attribute_inactive,m_attribute_inactive); // handling of attribute in media description f_sendResponse(m_Response_2xxonINVITE(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)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); // check SDP a=sendrecv if (not (ispresent(vc_request.messageBody) and f_check_attribute(vc_request.messageBody.sdpMessageBody,mw_attribute_sendrecv))) {setverdict(fail);}; f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());// sync point 2 vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, {m_attribute_sendrecv})); // Third Re-INVITE and reply 200 OK f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*)); f_SIP_checksetSDPreqDirection(mw_attribute_recvonly,m_attribute_sendonly); // handling of attribute in media description f_sendResponse(m_Response_2xxonINVITE(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)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_sync3, f_getVerdict());// sync point 3 // Fourth Re-INVITE and reply 200 OK f_SIP_modSessionDirection(m_attribute_sendrecv); // handling of attribute in session LibIms_Steps.f_setHeadersReINVITE_(vc_cSeq); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, m_Supported_prec, omit, 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)); f_SIP_checkSDPrespDirection(mw_attribute_sendrecv); //Send BYE and awaiting response f_terminateCall_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_IMS_TC_502_001 } // end function f_IMS_TC_502_007 } // end group TP502_HOLD Loading