Loading BC/ttcn/AtsIms_Mw_TCFunctions.ttcn +25 −21 Original line number Diff line number Diff line Loading @@ -3036,11 +3036,12 @@ module AtsIms_Mw_TCFunctions f_IMS_preamble_woRegistration(c_userProfile_SCSCFwithHomeUE, p_cSeq_s); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_ICSCF); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // INVITE UE1 (registered at SUT) LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_userProfile_UE1atSUThome); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, omit, m_pChargingVector_origIoi_fixedValue(vc_userprofile.homeDomain), valueof(m_MBody_SDP(vc_sdp_local)))); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, m_pChargingVector_origIoi_fixedValue(vc_userprofile.homeDomain), valueof(m_MBody_SDP(vc_sdp_local)))); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY //await response - 200 Loading Loading @@ -3110,12 +3111,14 @@ module AtsIms_Mw_TCFunctions f_IMS_preamble_woRegistration(c_userProfile_SCSCFwithHomeUE, p_cSeq_s); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_ICSCF); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // INVITE UE1 (registered at SUT) LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_userProfile_UE1atSUThome); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, omit, m_pChargingVector_origIoi_fixedValue(vc_userprofile.homeDomain), valueof(m_MBody_SDP(vc_sdp_local)))); v_cseq_invite := vc_cSeq; // store CSeq for postamble f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY if (not PC_PCSCF_handle_1xx_2xx_response_to_initial_request_with_mismatching_Via_header) { Loading Loading @@ -3185,12 +3188,13 @@ module AtsIms_Mw_TCFunctions f_IMS_preamble_woRegistration(c_userProfile_SCSCFwithHomeUE, p_cSeq_s); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_ICSCF); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // INVITE UE1 (registered at SUT) LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_userProfile_UE1atSUThome); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, omit, m_pChargingVector_origIoi_fixedValue(vc_userprofile.homeDomain), valueof(m_MBody_SDP(vc_sdp_local)))); v_cseq_invite := vc_cSeq; // store CSeq for postamble f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY if (not PC_PCSCF_handle_1xx_2xx_response_to_initial_request_with_mismatching_Via_header) { Loading Loading @@ -3671,8 +3675,10 @@ module AtsIms_Mw_TCFunctions // await INVITE UE1@SUT f_awaitingINVITE(mw_INVITE_Request_SessionExpires(mw_se)); if(ispresent(vc_response.msgHeader.sessionExpires.deltaSec)) { if (str2int(vc_response.msgHeader.sessionExpires.deltaSec) < str2int(PX_IMS_SUT_PCSCF_MinSE)) { setverdict (fail);} } f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE Loading Loading @@ -4448,6 +4454,7 @@ module AtsIms_Mw_TCFunctions var REGISTER_Request v_register; var CallId v_orig_callId; var CSeq v_CSeq; v_register := valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, vc_authorization)); // preamble with send REGISTER, await 401, send REGISTER, await 200 OK and user profile setting Loading @@ -4459,11 +4466,6 @@ module AtsIms_Mw_TCFunctions LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_userProfile_ICSCFwithHomeUE); f_SendINVITE(m_INVITE_Request_UE(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, omit, vc_route_REG, omit, m_MBody_SDP(vc_sdp_local))); // await response - 180 ... f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq)); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point sync1 // await response - 200 ... f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq)); // send ACK Loading @@ -4472,7 +4474,13 @@ module AtsIms_Mw_TCFunctions // Sending of a BYE request with wrong Call-ID v_orig_callId := vc_callId; f_SendBYE(m_BYE_Request_UE(vc_requestUri, c_empty_CallId, vc_cSeq, vc_from, vc_to, vc_via, vc_route)); vc_callId.callid:=f_getRndCallId(p_cSeq_s); v_CSeq := vc_cSeq; v_CSeq.seqNumber := p_cSeq_s.seqNumber + 10; v_CSeq.method := "BYE"; f_SendBYE(m_BYE_Request_UE(vc_requestUri, vc_callId, v_CSeq, vc_from, vc_to, vc_via, vc_route)); // await response - 403 ... f_awaitingResponse(mw_Response_Base(c_statusLine403, ?, vc_cSeq)); Loading Loading @@ -4507,7 +4515,7 @@ module AtsIms_Mw_TCFunctions f_awaitingINVITE(mw_INVITE_Request_Base); // no specific constraints in TP //send response - 200 f_awaitingResponse(mw_Response_PchargingVector(c_statusLine200,vc_callId, vc_cSeq, m_pChargingVector_termIoi_fixedValue(vc_userprofile.homeDomain))); f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)))); // await ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); Loading Loading @@ -4541,11 +4549,6 @@ module AtsIms_Mw_TCFunctions LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_userProfile_ICSCFwithHomeUE); f_SendINVITE(m_INVITE_Request_UE(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, omit, vc_route_REG, omit, m_MBody_SDP(vc_sdp_local))); // await response - 180 ... f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq)); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point sync1 // await response - 200 ... f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq)); // send ACK Loading @@ -4553,6 +4556,7 @@ module AtsIms_Mw_TCFunctions f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); // Sending of a BYE request not matching Route header LibSip_Steps.f_setHeadersBYE(vc_cSeq); f_SendBYE(m_BYE_Request_UE(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, v_notMatchingRoute)); //await response - 200 or 400 ... Loading Loading @@ -4597,7 +4601,7 @@ module AtsIms_Mw_TCFunctions f_awaitingINVITE(mw_INVITE_Request_Base); // no specific constraints in TP //send response - 200 f_awaitingResponse(mw_Response_PchargingVector(c_statusLine200,vc_callId, vc_cSeq, m_pChargingVector_termIoi_fixedValue(vc_userprofile.homeDomain))); f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)))); // await ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); Loading BC/ttcn/AtsIms_Mw_Testcases.ttcn +2 −2 Original line number Diff line number Diff line Loading @@ -1682,7 +1682,7 @@ module AtsIms_Mw_Testcases f_IncCSeq(p_cSeq_s); v_imsComponent_mw.start(f_TC_IMST2_MW_SUB_01_IMS(p_cSeq_s)); // synchronize both PTCs on 2 sychronization points f_serverSync2Clients({c_prDone, c_sync1, c_tbDone}); f_serverSync2Clients({c_prDone, c_tbDone}); f_cf_1Mwi1Gm_M4aDown(v_imsComponent_ue1, v_imsComponent_mw); Loading @@ -1703,7 +1703,7 @@ module AtsIms_Mw_Testcases f_IncCSeq(p_cSeq_s); v_imsComponent_mw.start(f_TC_IMST2_MW_SUB_02_IMS(p_cSeq_s)); // synchronize both PTCs on 2 sychronization points f_serverSync2Clients({c_prDone, c_sync1, c_tbDone}); f_serverSync2Clients({c_prDone, c_tbDone}); f_cf_1Mwi1Gm_M4aDown(v_imsComponent_ue1, v_imsComponent_mw); Loading Loading
BC/ttcn/AtsIms_Mw_TCFunctions.ttcn +25 −21 Original line number Diff line number Diff line Loading @@ -3036,11 +3036,12 @@ module AtsIms_Mw_TCFunctions f_IMS_preamble_woRegistration(c_userProfile_SCSCFwithHomeUE, p_cSeq_s); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_ICSCF); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // INVITE UE1 (registered at SUT) LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_userProfile_UE1atSUThome); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, omit, m_pChargingVector_origIoi_fixedValue(vc_userprofile.homeDomain), valueof(m_MBody_SDP(vc_sdp_local)))); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, m_pChargingVector_origIoi_fixedValue(vc_userprofile.homeDomain), valueof(m_MBody_SDP(vc_sdp_local)))); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY //await response - 200 Loading Loading @@ -3110,12 +3111,14 @@ module AtsIms_Mw_TCFunctions f_IMS_preamble_woRegistration(c_userProfile_SCSCFwithHomeUE, p_cSeq_s); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_ICSCF); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // INVITE UE1 (registered at SUT) LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_userProfile_UE1atSUThome); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, omit, m_pChargingVector_origIoi_fixedValue(vc_userprofile.homeDomain), valueof(m_MBody_SDP(vc_sdp_local)))); v_cseq_invite := vc_cSeq; // store CSeq for postamble f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY if (not PC_PCSCF_handle_1xx_2xx_response_to_initial_request_with_mismatching_Via_header) { Loading Loading @@ -3185,12 +3188,13 @@ module AtsIms_Mw_TCFunctions f_IMS_preamble_woRegistration(c_userProfile_SCSCFwithHomeUE, p_cSeq_s); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_ICSCF); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // INVITE UE1 (registered at SUT) LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_userProfile_UE1atSUThome); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, omit, m_pChargingVector_origIoi_fixedValue(vc_userprofile.homeDomain), valueof(m_MBody_SDP(vc_sdp_local)))); v_cseq_invite := vc_cSeq; // store CSeq for postamble f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY if (not PC_PCSCF_handle_1xx_2xx_response_to_initial_request_with_mismatching_Via_header) { Loading Loading @@ -3671,8 +3675,10 @@ module AtsIms_Mw_TCFunctions // await INVITE UE1@SUT f_awaitingINVITE(mw_INVITE_Request_SessionExpires(mw_se)); if(ispresent(vc_response.msgHeader.sessionExpires.deltaSec)) { if (str2int(vc_response.msgHeader.sessionExpires.deltaSec) < str2int(PX_IMS_SUT_PCSCF_MinSE)) { setverdict (fail);} } f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE Loading Loading @@ -4448,6 +4454,7 @@ module AtsIms_Mw_TCFunctions var REGISTER_Request v_register; var CallId v_orig_callId; var CSeq v_CSeq; v_register := valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, vc_authorization)); // preamble with send REGISTER, await 401, send REGISTER, await 200 OK and user profile setting Loading @@ -4459,11 +4466,6 @@ module AtsIms_Mw_TCFunctions LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_userProfile_ICSCFwithHomeUE); f_SendINVITE(m_INVITE_Request_UE(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, omit, vc_route_REG, omit, m_MBody_SDP(vc_sdp_local))); // await response - 180 ... f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq)); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point sync1 // await response - 200 ... f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq)); // send ACK Loading @@ -4472,7 +4474,13 @@ module AtsIms_Mw_TCFunctions // Sending of a BYE request with wrong Call-ID v_orig_callId := vc_callId; f_SendBYE(m_BYE_Request_UE(vc_requestUri, c_empty_CallId, vc_cSeq, vc_from, vc_to, vc_via, vc_route)); vc_callId.callid:=f_getRndCallId(p_cSeq_s); v_CSeq := vc_cSeq; v_CSeq.seqNumber := p_cSeq_s.seqNumber + 10; v_CSeq.method := "BYE"; f_SendBYE(m_BYE_Request_UE(vc_requestUri, vc_callId, v_CSeq, vc_from, vc_to, vc_via, vc_route)); // await response - 403 ... f_awaitingResponse(mw_Response_Base(c_statusLine403, ?, vc_cSeq)); Loading Loading @@ -4507,7 +4515,7 @@ module AtsIms_Mw_TCFunctions f_awaitingINVITE(mw_INVITE_Request_Base); // no specific constraints in TP //send response - 200 f_awaitingResponse(mw_Response_PchargingVector(c_statusLine200,vc_callId, vc_cSeq, m_pChargingVector_termIoi_fixedValue(vc_userprofile.homeDomain))); f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)))); // await ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); Loading Loading @@ -4541,11 +4549,6 @@ module AtsIms_Mw_TCFunctions LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_userProfile_ICSCFwithHomeUE); f_SendINVITE(m_INVITE_Request_UE(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, omit, vc_route_REG, omit, m_MBody_SDP(vc_sdp_local))); // await response - 180 ... f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq)); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point sync1 // await response - 200 ... f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq)); // send ACK Loading @@ -4553,6 +4556,7 @@ module AtsIms_Mw_TCFunctions f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); // Sending of a BYE request not matching Route header LibSip_Steps.f_setHeadersBYE(vc_cSeq); f_SendBYE(m_BYE_Request_UE(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, v_notMatchingRoute)); //await response - 200 or 400 ... Loading Loading @@ -4597,7 +4601,7 @@ module AtsIms_Mw_TCFunctions f_awaitingINVITE(mw_INVITE_Request_Base); // no specific constraints in TP //send response - 200 f_awaitingResponse(mw_Response_PchargingVector(c_statusLine200,vc_callId, vc_cSeq, m_pChargingVector_termIoi_fixedValue(vc_userprofile.homeDomain))); f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)))); // await ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); Loading
BC/ttcn/AtsIms_Mw_Testcases.ttcn +2 −2 Original line number Diff line number Diff line Loading @@ -1682,7 +1682,7 @@ module AtsIms_Mw_Testcases f_IncCSeq(p_cSeq_s); v_imsComponent_mw.start(f_TC_IMST2_MW_SUB_01_IMS(p_cSeq_s)); // synchronize both PTCs on 2 sychronization points f_serverSync2Clients({c_prDone, c_sync1, c_tbDone}); f_serverSync2Clients({c_prDone, c_tbDone}); f_cf_1Mwi1Gm_M4aDown(v_imsComponent_ue1, v_imsComponent_mw); Loading @@ -1703,7 +1703,7 @@ module AtsIms_Mw_Testcases f_IncCSeq(p_cSeq_s); v_imsComponent_mw.start(f_TC_IMST2_MW_SUB_02_IMS(p_cSeq_s)); // synchronize both PTCs on 2 sychronization points f_serverSync2Clients({c_prDone, c_sync1, c_tbDone}); f_serverSync2Clients({c_prDone, c_tbDone}); f_cf_1Mwi1Gm_M4aDown(v_imsComponent_ue1, v_imsComponent_mw); Loading