Loading BC/ttcn/AtsIms_Mw_TCFunctions.ttcn +66 −131 Original line number Diff line number Diff line Loading @@ -5865,8 +5865,10 @@ module AtsIms_Mw_TCFunctions // prepare and send INVITE EMERGENCY@SUT LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_serviceProfile_EMERGENCY); f_SendINVITE(m_INVITE_Request_PPreferred_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), m_PPreferredID(m_AddrUnion_DisplayAndSipUrl(vc_userprofile.publUsername, m_SipUrl_currDomain(vc_userprofile))))); f_SendINVITE ( m_INVITE_Request_PPreferred_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 ), m_PPreferredID ( m_AddrUnion_DisplayAndSipUrl ( vc_userprofile.publUsername, m_SipUrl_currDomain ( vc_userprofile ) ) ))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE Loading @@ -5891,18 +5893,32 @@ module AtsIms_Mw_TCFunctions function f_TC_IMST2_MW_EME_02_IMS(in CSeq p_cSeq_s) runs on ImsComponent { var template SipUrl v_url := mw_SipUrl_Host ( PX_IMS_SUT_EMERGENCY_HOME_DOMAIN ); var template Route v_route := mw_route ( {mw_routeBody ( v_url ) } ); v_url.scheme := "urn"; template INVITE_Request mw_INVITE_Request_IMS_PPreferred ( template PChargingVector p_pChargingVector, template RecordRoute p_recordRoute, template Route p_route, template Via p_via, template SipUrl p_requestUri, template PPreferredID p_pPreferredID ) modifies mw_INVITE_Request_Base := { requestLine := { requestUri := p_requestUri }, msgHeader := { pChargingVector := p_pChargingVector, recordRoute := p_recordRoute, route := p_route, via := p_via, pAssertedID := omit, pPreferredID := p_pPreferredID } } v_url.scheme := "urn"; f_IMS_preamble_woRegistration(c_userProfile_ECSCFwithHomeUE, p_cSeq_s); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_IMS_PAsserted_noPPreferred(?, ?, v_route, ?, v_url, ?)); f_awaitingINVITE ( mw_INVITE_Request_IMS_PPreferred ( ?, ?, v_route, ?, v_url, ? ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done f_sendResponse(m_Response_Base(c_statusLine486,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via)); f_SIP_postamble_UE1_withoutRegistration(); Loading Loading @@ -6086,53 +6102,41 @@ module AtsIms_Mw_TCFunctions * @param p_cSeq_s */ function f_TC_IMST2_MW_EME_06_UE1(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; 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 f_IMS_preamble_withRegistration(c_userProfile_UE1atSUThome, p_cSeq_s, v_register); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY // TESTBODY // prepare and send INVITE EMERGENCY@SUT LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_serviceProfile_EMERGENCY); f_SendINVITE(m_INVITE_Request_PPreferred_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), m_PPreferredID(m_AddrUnion_DisplayAndSipUrl(vc_userprofile.publUsername, m_TelUrl_publUser(vc_userprofile))))); //await response - 100 ... f_awaitingResponse(mw_Response_Base((c_statusLine100),vc_callId, vc_cSeq)); // 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 LibSip_Steps.f_setHeadersACK(); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); // Send reINVITE - definition for GRUU in RequestURI is not defined in draft-ietf-sip-gruu-14 LibIms_Steps.f_setHeadersReINVITE(p_cSeq_s, true); 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))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // POSTAMBLE // await response - 200 ... f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq)); // send original BYE await response to clean the session f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To); // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_SIP_postamble_UE1_withoutRegistration(); } // end function f_TC_IMST2_MW_EME_06_UE1 /* Loading @@ -6146,24 +6150,18 @@ module AtsIms_Mw_TCFunctions f_IMS_preamble_woRegistration(c_userProfile_ECSCFwithHomeUE, p_cSeq_s); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done f_awaitingINVITE(mw_INVITE_Request_Base); f_send200OK(); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point sync1 // Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_IMS_PAsserted_noPPreferred(?, ?, v_route, ?, v_url, m_PAssertedID_2x(mw_PAssertedIDValue(mw_TelUrl), mw_PAssertedIDValue(mw_SipUrl)))); f_awaitingINVITE ( mw_INVITE_Request_IMS_requestLine ( ?, ?, v_route, ?, v_url )); f_send200OK(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_SIP_postamble_UE1_withoutRegistration(); } // end function f_TC_IMST2_MW_EME_06_IMS Loading Loading @@ -6237,33 +6235,26 @@ module AtsIms_Mw_TCFunctions * @desc This is the test case function (SIP originating side - UE1) for TC_IMST2_MW_EME_11_UE1 * @param p_cSeq_s */ function f_TC_IMST2_MW_EME_11_UE1(in CSeq p_cSeq_s) runs on ImsComponent { //var REGISTER_Request v_register; //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)); function f_TC_IMST2_MW_EME_11_IMS(in CSeq p_cSeq_s) runs on ImsComponent { f_IMS_preamble_woRegistration(c_userProfile_UE1atSUThome, p_cSeq_s); // TESTBODY f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY // prepare and send INVITE EMERGENCY@SUT LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_serviceProfile_EMERGENCY); f_SendINVITE(m_INVITE_Request_PPreferred_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), omit)); //await response - 380 ... f_awaitingResponse(mw_Response_Base((c_statusLine380),vc_callId, vc_cSeq)); //send ACK LibSip_Steps.f_setHeadersACK(); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_SIP_postamble_UE1_withoutRegistration(); } // end function f_TC_IMST2_MW_EME_11_UE1 } // end function f_TC_IMST2_MW_EME_11_IMS } // end group Emergency group SDP { Loading @@ -6273,22 +6264,15 @@ module AtsIms_Mw_TCFunctions * @param p_cSeq_s */ function f_TC_IMST2_MW_SDP_01_UE1(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; 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 f_IMS_preamble_withRegistration(c_userProfile_UE1atSUThome, p_cSeq_s, v_register); f_IMS_preamble_woRegistration(c_userProfile_ECSCFwithHomeUE, p_cSeq_s); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY // TESTBODY f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT // POSTAMBLE f_SIP_postamble_UE1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_01_UE1 /* Loading @@ -6299,27 +6283,21 @@ module AtsIms_Mw_TCFunctions // PREAMBLE 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 // TESTBODY // INVITE UE1 (registered at SUT) LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_userProfile_UE1atSUThome); vc_sdp_local := valueof(m_SDP_bandwidth(valueof(m_media_dynPT("45", "UNKNOWN")), vc_userprofile)); 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)))); //await response - 488 f_awaitingResponse(mw_Response_Base(c_statusLine488,vc_callId, vc_cSeq)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // send ACK LibSip_Steps.f_setHeadersACK(); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_01_IMS Loading @@ -6329,16 +6307,11 @@ module AtsIms_Mw_TCFunctions */ function f_TC_IMST2_MW_SDP_02_UE1(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; 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 f_IMS_preamble_withRegistration(c_userProfile_UE1atSUThome, p_cSeq_s, v_register); f_IMS_preamble_woRegistration(c_userProfile_ECSCFwithHomeUE, p_cSeq_s); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY // TESTBODY f_awaitingINVITE_PassOnTimeout(mw_INVITE_Request_Base); if(vc_boo_request) { // send response - 486 f_sendResponse(m_Response_Base(c_statusLine486,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via)); Loading @@ -6346,15 +6319,10 @@ module AtsIms_Mw_TCFunctions f_awaitingACK(mw_ACK_Request_Base(vc_callId)); } f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT // POSTAMBLE f_SIP_postamble_UE1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_02_UE1 /* Loading @@ -6362,30 +6330,26 @@ module AtsIms_Mw_TCFunctions * @param p_cSeq_s */ function f_TC_IMST2_MW_SDP_02_IMS(in CSeq p_cSeq_s) runs on ImsComponent { // PREAMBLE 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 // TESTBODY // INVITE UE1 (registered at SUT) LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_userProfile_UE1atSUThome); vc_sdp_local:=valueof(m_SDP_encrypted(valueof(m_media_dynPT("0", "PCMU/8000")), vc_userprofile)); 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)))); //await response - 4xx or timeout f_awaitingResponse(mw_Response_Base({c_sipNameVersion, (400..499), ?},vc_callId, vc_cSeq)); //send ACK LibSip_Steps.f_setHeadersACK(); vc_boo_route := true; f_SendACK(m_ACK_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_route)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_02_IMS Loading @@ -6394,33 +6358,27 @@ module AtsIms_Mw_TCFunctions * @param p_cSeq_s */ function f_TC_IMST2_MW_SDP_03_UE1(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; 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 f_IMS_preamble_withRegistration(c_userProfile_UE1atSUThome, p_cSeq_s, v_register); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY // TESTBODY // Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_Base); vc_sdp_local:=valueof(m_SDP_unacceptable(valueof(m_media_dynPT("45", "UNKNOWN")), vc_userprofile)); f_sendResponse(m_Response_18XonINVITE_sdp_UE(c_statusLine180,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact,valueof(m_MBody_SDP(vc_sdp_local)))); f_sendResponse(m_Response_Base(c_statusLine486,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via)); // await ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_SIP_postamble_UE1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_03_UE1 /* Loading @@ -6428,25 +6386,22 @@ module AtsIms_Mw_TCFunctions * @param p_cSeq_s */ function f_TC_IMST2_MW_SDP_03_IMS(in CSeq p_cSeq_s) runs on ImsComponent { 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)))); // await response f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq)); f_awaitingResponse(mw_Response_Base(c_statusLine486,vc_callId, vc_cSeq)); // send ACK LibSip_Steps.f_setHeadersACK(); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // POSTAMBLE f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_03_IMS Loading @@ -6455,35 +6410,29 @@ module AtsIms_Mw_TCFunctions * @param p_cSeq_s */ function f_TC_IMST2_MW_SDP_04_UE1(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; 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 f_IMS_preamble_withRegistration(c_userProfile_UE1atSUThome, p_cSeq_s, v_register); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY // TESTBODY // Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_Base); //send 200OK with unacceptable media parameter vc_sdp_local:=valueof(m_SDP_unacceptable(valueof(m_media_dynPT("45", "UNKNOWN")), vc_userprofile)); f_sendResponse(m_Response_2xxonINVITE_UE(c_statusLine200,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact, f_recordroute(),valueof(m_MBody_SDP(vc_sdp_local)))); // await ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_SIP_postamble_UE1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_04_UE1 /* Loading @@ -6491,26 +6440,22 @@ module AtsIms_Mw_TCFunctions * @param p_cSeq_s */ function f_TC_IMST2_MW_SDP_04_IMS(in CSeq p_cSeq_s) runs on ImsComponent { 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)))); // await response f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq)); // send ACK LibSip_Steps.f_setHeadersACK(); f_SendACK(m_ACK_Request_sdp(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, valueof(m_MBody_SDP(vc_sdp_local)))); f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // POSTAMBLE f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_04_IMS Loading @@ -6519,15 +6464,14 @@ module AtsIms_Mw_TCFunctions * @param p_cSeq_s */ function f_TC_IMST2_MW_SDP_05_UE1(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; 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 f_IMS_preamble_withRegistration(c_userProfile_UE1atSUThome, p_cSeq_s, v_register); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY // TESTBODY // Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_Base); Loading @@ -6542,18 +6486,14 @@ module AtsIms_Mw_TCFunctions f_sendResponse(m_Response_2xxonINVITE_UE(c_statusLine200,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact, f_recordroute(),valueof(m_MBody_SDP(vc_sdp_local)))); //await ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_SIP_postamble_UE1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_05_UE1 /* Loading @@ -6568,23 +6508,18 @@ module AtsIms_Mw_TCFunctions // 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)))); // await response f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq)); // send ACK vc_sdp_local:=valueof(m_SDP_encrypted(valueof(m_media_dynPT("0", "PCMU/8000")), vc_userprofile)); LibSip_Steps.f_setHeadersACK(); f_SendACK(m_ACK_Request_sdp(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, valueof(m_MBody_SDP(vc_sdp_local)))); f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // POSTAMBLE f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_05_IMS } // end group SDP } // end module AtsIms_Mw_TCFunctions No newline at end of file BC/ttcn/AtsIms_Mw_Testcases.ttcn +1 −3 Original line number Diff line number Diff line Loading @@ -2367,12 +2367,10 @@ module AtsIms_Mw_Testcases f_cf_1Mwi1Gm_M3Up(v_imsComponent_ue1, v_imsComponent_mw); //Start f_IncCSeq(p_cSeq_s); v_imsComponent_ue1.start(f_TC_IMST2_MW_EME_11_UE1(p_cSeq_s)); f_IncCSeq(p_cSeq_s); v_imsComponent_mw.start(f_TC_IMST2_MW_EME_11_IMS(p_cSeq_s)); f_cf_1Mwi1Gm_M3Down(v_imsComponent_ue1, v_imsComponent_mw); } // end TC_IMST2_MW_EME_11 } // end group Emergency group SDP { Loading Loading
BC/ttcn/AtsIms_Mw_TCFunctions.ttcn +66 −131 Original line number Diff line number Diff line Loading @@ -5865,8 +5865,10 @@ module AtsIms_Mw_TCFunctions // prepare and send INVITE EMERGENCY@SUT LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_serviceProfile_EMERGENCY); f_SendINVITE(m_INVITE_Request_PPreferred_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), m_PPreferredID(m_AddrUnion_DisplayAndSipUrl(vc_userprofile.publUsername, m_SipUrl_currDomain(vc_userprofile))))); f_SendINVITE ( m_INVITE_Request_PPreferred_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 ), m_PPreferredID ( m_AddrUnion_DisplayAndSipUrl ( vc_userprofile.publUsername, m_SipUrl_currDomain ( vc_userprofile ) ) ))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE Loading @@ -5891,18 +5893,32 @@ module AtsIms_Mw_TCFunctions function f_TC_IMST2_MW_EME_02_IMS(in CSeq p_cSeq_s) runs on ImsComponent { var template SipUrl v_url := mw_SipUrl_Host ( PX_IMS_SUT_EMERGENCY_HOME_DOMAIN ); var template Route v_route := mw_route ( {mw_routeBody ( v_url ) } ); v_url.scheme := "urn"; template INVITE_Request mw_INVITE_Request_IMS_PPreferred ( template PChargingVector p_pChargingVector, template RecordRoute p_recordRoute, template Route p_route, template Via p_via, template SipUrl p_requestUri, template PPreferredID p_pPreferredID ) modifies mw_INVITE_Request_Base := { requestLine := { requestUri := p_requestUri }, msgHeader := { pChargingVector := p_pChargingVector, recordRoute := p_recordRoute, route := p_route, via := p_via, pAssertedID := omit, pPreferredID := p_pPreferredID } } v_url.scheme := "urn"; f_IMS_preamble_woRegistration(c_userProfile_ECSCFwithHomeUE, p_cSeq_s); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_IMS_PAsserted_noPPreferred(?, ?, v_route, ?, v_url, ?)); f_awaitingINVITE ( mw_INVITE_Request_IMS_PPreferred ( ?, ?, v_route, ?, v_url, ? ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done f_sendResponse(m_Response_Base(c_statusLine486,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via)); f_SIP_postamble_UE1_withoutRegistration(); Loading Loading @@ -6086,53 +6102,41 @@ module AtsIms_Mw_TCFunctions * @param p_cSeq_s */ function f_TC_IMST2_MW_EME_06_UE1(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; 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 f_IMS_preamble_withRegistration(c_userProfile_UE1atSUThome, p_cSeq_s, v_register); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY // TESTBODY // prepare and send INVITE EMERGENCY@SUT LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_serviceProfile_EMERGENCY); f_SendINVITE(m_INVITE_Request_PPreferred_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), m_PPreferredID(m_AddrUnion_DisplayAndSipUrl(vc_userprofile.publUsername, m_TelUrl_publUser(vc_userprofile))))); //await response - 100 ... f_awaitingResponse(mw_Response_Base((c_statusLine100),vc_callId, vc_cSeq)); // 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 LibSip_Steps.f_setHeadersACK(); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); // Send reINVITE - definition for GRUU in RequestURI is not defined in draft-ietf-sip-gruu-14 LibIms_Steps.f_setHeadersReINVITE(p_cSeq_s, true); 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))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // POSTAMBLE // await response - 200 ... f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq)); // send original BYE await response to clean the session f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To); // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_SIP_postamble_UE1_withoutRegistration(); } // end function f_TC_IMST2_MW_EME_06_UE1 /* Loading @@ -6146,24 +6150,18 @@ module AtsIms_Mw_TCFunctions f_IMS_preamble_woRegistration(c_userProfile_ECSCFwithHomeUE, p_cSeq_s); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done f_awaitingINVITE(mw_INVITE_Request_Base); f_send200OK(); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point sync1 // Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_IMS_PAsserted_noPPreferred(?, ?, v_route, ?, v_url, m_PAssertedID_2x(mw_PAssertedIDValue(mw_TelUrl), mw_PAssertedIDValue(mw_SipUrl)))); f_awaitingINVITE ( mw_INVITE_Request_IMS_requestLine ( ?, ?, v_route, ?, v_url )); f_send200OK(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_SIP_postamble_UE1_withoutRegistration(); } // end function f_TC_IMST2_MW_EME_06_IMS Loading Loading @@ -6237,33 +6235,26 @@ module AtsIms_Mw_TCFunctions * @desc This is the test case function (SIP originating side - UE1) for TC_IMST2_MW_EME_11_UE1 * @param p_cSeq_s */ function f_TC_IMST2_MW_EME_11_UE1(in CSeq p_cSeq_s) runs on ImsComponent { //var REGISTER_Request v_register; //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)); function f_TC_IMST2_MW_EME_11_IMS(in CSeq p_cSeq_s) runs on ImsComponent { f_IMS_preamble_woRegistration(c_userProfile_UE1atSUThome, p_cSeq_s); // TESTBODY f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY // prepare and send INVITE EMERGENCY@SUT LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_serviceProfile_EMERGENCY); f_SendINVITE(m_INVITE_Request_PPreferred_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), omit)); //await response - 380 ... f_awaitingResponse(mw_Response_Base((c_statusLine380),vc_callId, vc_cSeq)); //send ACK LibSip_Steps.f_setHeadersACK(); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_SIP_postamble_UE1_withoutRegistration(); } // end function f_TC_IMST2_MW_EME_11_UE1 } // end function f_TC_IMST2_MW_EME_11_IMS } // end group Emergency group SDP { Loading @@ -6273,22 +6264,15 @@ module AtsIms_Mw_TCFunctions * @param p_cSeq_s */ function f_TC_IMST2_MW_SDP_01_UE1(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; 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 f_IMS_preamble_withRegistration(c_userProfile_UE1atSUThome, p_cSeq_s, v_register); f_IMS_preamble_woRegistration(c_userProfile_ECSCFwithHomeUE, p_cSeq_s); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY // TESTBODY f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT // POSTAMBLE f_SIP_postamble_UE1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_01_UE1 /* Loading @@ -6299,27 +6283,21 @@ module AtsIms_Mw_TCFunctions // PREAMBLE 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 // TESTBODY // INVITE UE1 (registered at SUT) LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_userProfile_UE1atSUThome); vc_sdp_local := valueof(m_SDP_bandwidth(valueof(m_media_dynPT("45", "UNKNOWN")), vc_userprofile)); 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)))); //await response - 488 f_awaitingResponse(mw_Response_Base(c_statusLine488,vc_callId, vc_cSeq)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // send ACK LibSip_Steps.f_setHeadersACK(); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_01_IMS Loading @@ -6329,16 +6307,11 @@ module AtsIms_Mw_TCFunctions */ function f_TC_IMST2_MW_SDP_02_UE1(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; 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 f_IMS_preamble_withRegistration(c_userProfile_UE1atSUThome, p_cSeq_s, v_register); f_IMS_preamble_woRegistration(c_userProfile_ECSCFwithHomeUE, p_cSeq_s); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY // TESTBODY f_awaitingINVITE_PassOnTimeout(mw_INVITE_Request_Base); if(vc_boo_request) { // send response - 486 f_sendResponse(m_Response_Base(c_statusLine486,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via)); Loading @@ -6346,15 +6319,10 @@ module AtsIms_Mw_TCFunctions f_awaitingACK(mw_ACK_Request_Base(vc_callId)); } f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT // POSTAMBLE f_SIP_postamble_UE1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_02_UE1 /* Loading @@ -6362,30 +6330,26 @@ module AtsIms_Mw_TCFunctions * @param p_cSeq_s */ function f_TC_IMST2_MW_SDP_02_IMS(in CSeq p_cSeq_s) runs on ImsComponent { // PREAMBLE 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 // TESTBODY // INVITE UE1 (registered at SUT) LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_userProfile_UE1atSUThome); vc_sdp_local:=valueof(m_SDP_encrypted(valueof(m_media_dynPT("0", "PCMU/8000")), vc_userprofile)); 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)))); //await response - 4xx or timeout f_awaitingResponse(mw_Response_Base({c_sipNameVersion, (400..499), ?},vc_callId, vc_cSeq)); //send ACK LibSip_Steps.f_setHeadersACK(); vc_boo_route := true; f_SendACK(m_ACK_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_route)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_02_IMS Loading @@ -6394,33 +6358,27 @@ module AtsIms_Mw_TCFunctions * @param p_cSeq_s */ function f_TC_IMST2_MW_SDP_03_UE1(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; 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 f_IMS_preamble_withRegistration(c_userProfile_UE1atSUThome, p_cSeq_s, v_register); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY // TESTBODY // Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_Base); vc_sdp_local:=valueof(m_SDP_unacceptable(valueof(m_media_dynPT("45", "UNKNOWN")), vc_userprofile)); f_sendResponse(m_Response_18XonINVITE_sdp_UE(c_statusLine180,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact,valueof(m_MBody_SDP(vc_sdp_local)))); f_sendResponse(m_Response_Base(c_statusLine486,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via)); // await ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_SIP_postamble_UE1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_03_UE1 /* Loading @@ -6428,25 +6386,22 @@ module AtsIms_Mw_TCFunctions * @param p_cSeq_s */ function f_TC_IMST2_MW_SDP_03_IMS(in CSeq p_cSeq_s) runs on ImsComponent { 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)))); // await response f_awaitingResponse(mw_Response_Base(c_statusLine180,vc_callId, vc_cSeq)); f_awaitingResponse(mw_Response_Base(c_statusLine486,vc_callId, vc_cSeq)); // send ACK LibSip_Steps.f_setHeadersACK(); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // POSTAMBLE f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_03_IMS Loading @@ -6455,35 +6410,29 @@ module AtsIms_Mw_TCFunctions * @param p_cSeq_s */ function f_TC_IMST2_MW_SDP_04_UE1(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; 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 f_IMS_preamble_withRegistration(c_userProfile_UE1atSUThome, p_cSeq_s, v_register); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY // TESTBODY // Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_Base); //send 200OK with unacceptable media parameter vc_sdp_local:=valueof(m_SDP_unacceptable(valueof(m_media_dynPT("45", "UNKNOWN")), vc_userprofile)); f_sendResponse(m_Response_2xxonINVITE_UE(c_statusLine200,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact, f_recordroute(),valueof(m_MBody_SDP(vc_sdp_local)))); // await ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_SIP_postamble_UE1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_04_UE1 /* Loading @@ -6491,26 +6440,22 @@ module AtsIms_Mw_TCFunctions * @param p_cSeq_s */ function f_TC_IMST2_MW_SDP_04_IMS(in CSeq p_cSeq_s) runs on ImsComponent { 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)))); // await response f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq)); // send ACK LibSip_Steps.f_setHeadersACK(); f_SendACK(m_ACK_Request_sdp(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, valueof(m_MBody_SDP(vc_sdp_local)))); f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // POSTAMBLE f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_04_IMS Loading @@ -6519,15 +6464,14 @@ module AtsIms_Mw_TCFunctions * @param p_cSeq_s */ function f_TC_IMST2_MW_SDP_05_UE1(in CSeq p_cSeq_s) runs on ImsComponent { var REGISTER_Request v_register; 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 f_IMS_preamble_withRegistration(c_userProfile_UE1atSUThome, p_cSeq_s, v_register); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY // TESTBODY // Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_Base); Loading @@ -6542,18 +6486,14 @@ module AtsIms_Mw_TCFunctions f_sendResponse(m_Response_2xxonINVITE_UE(c_statusLine200,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact, f_recordroute(),valueof(m_MBody_SDP(vc_sdp_local)))); //await ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); //await BYE and send 200OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // POSTAMBLE // send REGISTER, await 401, send REGISTER, await 200 OK f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_SIP_postamble_UE1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_05_UE1 /* Loading @@ -6568,23 +6508,18 @@ module AtsIms_Mw_TCFunctions // 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)))); // await response f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq)); // send ACK vc_sdp_local:=valueof(m_SDP_encrypted(valueof(m_media_dynPT("0", "PCMU/8000")), vc_userprofile)); LibSip_Steps.f_setHeadersACK(); f_SendACK(m_ACK_Request_sdp(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, valueof(m_MBody_SDP(vc_sdp_local)))); f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE // POSTAMBLE f_SIP_postamble_IMS1_withoutRegistration(); } // end function f_TC_IMST2_MW_SDP_05_IMS } // end group SDP } // end module AtsIms_Mw_TCFunctions No newline at end of file
BC/ttcn/AtsIms_Mw_Testcases.ttcn +1 −3 Original line number Diff line number Diff line Loading @@ -2367,12 +2367,10 @@ module AtsIms_Mw_Testcases f_cf_1Mwi1Gm_M3Up(v_imsComponent_ue1, v_imsComponent_mw); //Start f_IncCSeq(p_cSeq_s); v_imsComponent_ue1.start(f_TC_IMST2_MW_EME_11_UE1(p_cSeq_s)); f_IncCSeq(p_cSeq_s); v_imsComponent_mw.start(f_TC_IMST2_MW_EME_11_IMS(p_cSeq_s)); f_cf_1Mwi1Gm_M3Down(v_imsComponent_ue1, v_imsComponent_mw); } // end TC_IMST2_MW_EME_11 } // end group Emergency group SDP { Loading