Loading test_purposes/sccas/TP_SCCAS_Chapter_9_3.tplan2 +27 −27 Original line number Original line Diff line number Diff line Loading @@ -94,10 +94,10 @@ Package TP_SCCAS_Chapter_9_3 { Config Id CFG_SCCAS_01 Config Id CFG_SCCAS_01 PICS Selection NONE // TODO PICS Selection NONE Initial conditions with { Initial conditions with { the UE entity isRegisteredTo the IMS // TODO the UE entity isRegisteredTo the IMS } } Expected behaviour Expected behaviour Loading @@ -112,12 +112,12 @@ Package TP_SCCAS_Chapter_9_3 { Supported indicating value "replaces", Supported indicating value "replaces", PAccessNetworkInfo, PAccessNetworkInfo, Replaces containing // Replaces indicating value (RFC 3891) Replaces containing // Replaces indicating value (RFC 3891) call_id indicating value PX_call_id, // TODO PX call_id indicating value PX_call_id, from_tag indicating value PX_from_tag, // TODO PX from_tag indicating value PX_from_tag, to_tag indicating value PX_to_tag // TODO PX to_tag indicating value PX_to_tag MessageBody containing MessageBody containing SDP containing // SDP: Session Description Protocol SDP containing // SDP: Session Description Protocol Media indicating value PX_PSMediaOnly, // TODO: PX for media only Media indicating value PX_PSMediaOnly, Version indicating value "0";;;; Version indicating value "0";;;; from the IMS_S_CSCF entity from the IMS_S_CSCF entity } } Loading @@ -133,7 +133,7 @@ Package TP_SCCAS_Chapter_9_3 { ContentLength, ContentLength, MessageBody containing MessageBody containing SDP containing SDP containing Media indicating value PX_PSMediaOnly, // TODO: PX for media only Media indicating value PX_PSMediaOnly, Version indicating value "0";;; Version indicating value "0";;; to the IMS_S_CSCF entity to the IMS_S_CSCF entity } } Loading Loading @@ -162,10 +162,10 @@ Package TP_SCCAS_Chapter_9_3 { Config Id CFG_SCCAS_01 Config Id CFG_SCCAS_01 PICS Selection NONE // TODO PICS Selection NONE Initial conditions with { Initial conditions with { the UE entity isRegisteredTo the IMS // TODO the UE entity isRegisteredTo the IMS } } Expected behaviour Expected behaviour Loading @@ -180,12 +180,12 @@ Package TP_SCCAS_Chapter_9_3 { Supported indicating value "replaces", Supported indicating value "replaces", PAccessNetworkInfo, PAccessNetworkInfo, Replaces containing // Replaces indicating value (RFC 3891) Replaces containing // Replaces indicating value (RFC 3891) call_id indicating value PX_call_id, // TODO PX call_id indicating value PX_call_id, from_tag indicating value PX_from_tag, // TODO PX from_tag indicating value PX_from_tag, to_tag indicating value PX_to_tag // TODO PX to_tag indicating value PX_to_tag MessageBody containing MessageBody containing SDP containing // SDP: Session Description Protocol SDP containing // SDP: Session Description Protocol Media indicating value PX_PSMediaOnly, // TODO: PX for media only Media indicating value PX_PSMediaOnly, Version indicating value "0";;;; Version indicating value "0";;;; from the IMS_S_CSCF entity from the IMS_S_CSCF entity } } Loading @@ -201,7 +201,7 @@ Package TP_SCCAS_Chapter_9_3 { ContentLength, ContentLength, MessageBody containing MessageBody containing SDP containing SDP containing Media indicating value PX_PSMediaOnly, // TODO: PX for media only Media indicating value PX_PSMediaOnly, Version indicating value "0";;; Version indicating value "0";;; to the IMS_S_CSCF entity to the IMS_S_CSCF entity } } Loading @@ -227,10 +227,10 @@ Package TP_SCCAS_Chapter_9_3 { Config Id CFG_SCCAS_01 Config Id CFG_SCCAS_01 PICS Selection NONE // TODO PICS Selection NONE Initial conditions with { Initial conditions with { the UE entity isRegisteredTo the IMS and // TODO the UE entity isRegisteredTo the IMS and the UE entity previouslyEstablishedCallWith the UE entity previouslyEstablishedCallWith } } Loading @@ -246,12 +246,12 @@ Package TP_SCCAS_Chapter_9_3 { Supported indicating value "replaces", Supported indicating value "replaces", PAccessNetworkInfo, PAccessNetworkInfo, Replaces containing // Replaces indicating value (RFC 3891) Replaces containing // Replaces indicating value (RFC 3891) call_id indicating value PX_call_id, // TODO PX call_id indicating value PX_call_id, from_tag indicating value PX_from_tag, // TODO PX from_tag indicating value PX_from_tag, to_tag indicating value PX_to_tag // TODO PX to_tag indicating value PX_to_tag MessageBody containing MessageBody containing SDP containing // SDP: Session Description Protocol SDP containing // SDP: Session Description Protocol Media indicating value PX_PSMediaOnly, // TODO: PX for media only Media indicating value PX_PSMediaOnly, Version indicating value "0";;;; Version indicating value "0";;;; from the IMS_S_CSCF entity from the IMS_S_CSCF entity } } Loading @@ -267,7 +267,7 @@ Package TP_SCCAS_Chapter_9_3 { ContentLength, ContentLength, MessageBody containing MessageBody containing SDP containing SDP containing Media indicating value PX_PSMediaOnly, // TODO: PX for media only Media indicating value PX_PSMediaOnly, Version indicating value "0";;; Version indicating value "0";;; to the IMS_S_CSCF entity to the IMS_S_CSCF entity } } Loading Loading @@ -295,7 +295,7 @@ Package TP_SCCAS_Chapter_9_3 { Config Id CFG_SCCAS_01 Config Id CFG_SCCAS_01 PICS Selection NONE // TODO PICS Selection NONE Initial conditions with { Initial conditions with { the UE entity isRegisteredTo the IMS and the UE entity isRegisteredTo the IMS and Loading Loading @@ -345,7 +345,7 @@ Package TP_SCCAS_Chapter_9_3 { Config Id CFG_SCCAS_01 Config Id CFG_SCCAS_01 PICS Selection NONE // TODO PICS Selection NONE Initial conditions with { Initial conditions with { the UE entity isRegisteredTo the IMS the UE entity isRegisteredTo the IMS Loading Loading @@ -377,7 +377,7 @@ Package TP_SCCAS_Chapter_9_3 { g3gppMidcallFeatureCapabilityIndicator;, g3gppMidcallFeatureCapabilityIndicator;, MessageBody containing MessageBody containing SDP containing SDP containing Media indicating value PX_PSMediaOnly;;; // TODO: PX for media only Media indicating value PX_PSMediaOnly;;; to the IMS_S_CSCF entity to the IMS_S_CSCF entity } } Loading Loading @@ -661,7 +661,7 @@ Package TP_SCCAS_Chapter_9_3 { Config Id CFG_SCCAS_01 Config Id CFG_SCCAS_01 PICS Selection NONE // TODO PICS Selection NONE Initial conditions with { Initial conditions with { the UE entity isRegisteredTo the IMS the UE entity isRegisteredTo the IMS Loading Loading @@ -1030,7 +1030,7 @@ Package TP_SCCAS_Chapter_9_3 { Config Id CFG_SCCAS_01 Config Id CFG_SCCAS_01 PICS Selection NONE // TODO PICS Selection NONE Initial conditions with { Initial conditions with { the UE entity isRegisteredTo the IMS the UE entity isRegisteredTo the IMS Loading Loading @@ -1176,7 +1176,7 @@ Package TP_SCCAS_Chapter_9_3 { // included in the SIP INVITE due to static STI // included in the SIP INVITE due to static STI MessageBody containing MessageBody containing SDP containing SDP containing Media indicating value PX_PSMedia;;; // TODO: PIX for media Media indicating value PX_PSMedia;;; from the IMS_S_CSCF entity from the IMS_S_CSCF entity } } then { then { Loading ttcn/AtsSccas/AtsSccas_Steps.ttcn +26 −0 Original line number Original line Diff line number Diff line Loading @@ -466,6 +466,32 @@ module AtsSccas_Steps { vc_via_REG := vc_via; vc_via_REG := vc_via; } // end function setHeaders_REGISTER_AS } // end function setHeaders_REGISTER_AS /** * @desc function sets header field for the next outgoing REFER message * @param p_cSeq_s CSeq parameter to be applied */ function f_setHeaders_REFER_AS( //TODO review and repair params due to isc interface inout CSeq p_cSeq_s, in SipUrl p_to_user, in SipUrl p_from_user ) runs on ImsComponent { var SemicolonParam_List v_params := {}; //f_setHeadersGeneral(p_cSeq_s, "REFER"); // cseq, contact, branch, via vc_to := f_initToHeader(p_to_user); // init of vc_to using userProfile identifier vc_from := f_initFromHeader(p_from_user, f_getRndTag()); // init of vc_from using userProfile identifier vc_requestUri := p_to_user; // Request URI of Invite is identical with To header if (vc_boo_route) { vc_route := m_route_interface(vc_interfaceprofile); } if (vc_boo_recordRoute) { vc_recordRoute := m_recordRoute_currIpAddr(vc_userprofile); } LibSip_Steps.f_setHeadersREFER(p_cSeq_s); } // end function setHeaders_REFER_AS /** /** * @desc Sets Invite header fields (IMS addresses) extension of general settings from LibSip basic function * @desc Sets Invite header fields (IMS addresses) extension of general settings from LibSip basic function * @param p_cSeq_s The current cSeq * @param p_cSeq_s The current cSeq Loading ttcn/AtsSccas/AtsSccas_TCFunctions.ttcn +114 −1 Original line number Original line Diff line number Diff line Loading @@ -1064,6 +1064,119 @@ module AtsSccas_TCFunctions { } //End of group TP_6A_4_5_Target_refresh_request_for_a_dialog_and_associated_responses } //End of group TP_6A_4_5_Target_refresh_request_for_a_dialog_and_associated_responses group TP_6A_4_6_Rejecting_malicious_SIP_REFER_requests_from_remote_UE { /** * @desc Verify that the SCCAS sends 403 response to the SIP REFER request from remote UE. * @param p_cSeq_s Random CSeq INVITE number */ function f_TC_ISC_SCCAS_GEN_REF_01(in CSeq p_cSeq_s) runs on ImsComponent { // Local variables var CSeq v_cSeq_s := p_cSeq_s; f_registrationAS(v_cSeq_s); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_EstablishDialogAS(v_cSeq_s); f_IncCSeq(v_cSeq_s); f_setHeaders_REFER_AS(v_cSeq_s, f_initSipUrl(c_userProfile_PCSCFwithHomeUE), f_initSipUrl(c_userProfile_SCSCFwithHomeUE)); f_SendREFER( m_sccas_refer( vc_requestUri, vc_callId, p_cSeq_s, vc_contact, vc_from, vc_to, vc_via_REG, m_referTo(vc_contact.contactBody.contactAddresses[0].addressField.nameAddr), -, -,-, -,-,-, m_MBody_SDP(vc_sdp_local) )); tc_ack.start; alt { [] SIPP.receive(mw_Response_1xx_Base(vc_callId, vc_cSeq)) { repeat } [] SIPP.receive(mw_Response_PCV_FeatureCaps( 403, ?, ?, ?, * )) { tc_ack.stop; log("*** " & __SCOPE__ & ": PASS: response 403 was received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync } [] tc_ack.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // sync } } f_ReleaseDialogAS(v_cSeq_s); f_deregistrationAS(v_cSeq_s); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } //End of function f_TC_ISC_SCCAS_GEN_REF_01 }// End of group TP_6A_4_6_Rejecting_malicious_SIP_REFER_requests_from_remote_UEs group TP_6A_4_7_Protecting_from_malicious_SIP_INFO_requests_with_remote_leg_information_from_remote_UE { /** * @desc Verify that the SCCAS not include Accept,RecvInfo towards remote UE. * @param p_cSeq_s Random CSeq INVITE number */ function f_TC_ISC_SCCAS_GEN_INF_01(in CSeq p_cSeq_s) runs on ImsComponent { // Local variables var CSeq v_cSeq_s := p_cSeq_s; f_registrationAS(v_cSeq_s); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_EstablishDialogAS(v_cSeq_s); f_IncCSeq(v_cSeq_s); f_setHeaders_INVITE_AS(v_cSeq_s, f_initSipUrl(c_userProfile_PCSCFwithHomeUE), f_initSipUrl(c_userProfile_SCSCFwithHomeUE)); f_SendINVITE( m_sccas_invite( vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, -, -, -, m_MBody_SDP(vc_sdp_local) )); tc_wait.start; alt { [] SIPP.receive(mw_Response_1xx_Base(vc_callId, vc_cSeq)) { repeat } [] SIPP.receive(mw_INVITE_Request_AS(?, ?, ?, ?, *, *)) {//TO BE DONE : To be refined during validation tc_wait.stop; log("*** " & __SCOPE__ & ": PASS: ReINVITE message was received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync } [] tc_wait.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // sync } } f_ReleaseDialogAS(v_cSeq_s); f_deregistrationAS(v_cSeq_s); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } //End of function f_TC_ISC_SCCAS_GEN_INF_01 } //End of group TP_6A_4_7_Protecting_from_malicious_SIP_INFO_requests_with_remote_leg_information_from_remote_UE } // End of group Group_6A_4 } // End of group Group_6A_4 group Group_7_3 { group Group_7_3 { Loading Loading @@ -3192,7 +3305,7 @@ module AtsSccas_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync // Registration // Registration f_IncCSeq(v_cSeq_s); LibSip_Steps.f_setHeadersOPTIONS(v_cSeq_s); f_IncCSeq(v_cSeq_s); /*LibSip_Steps.*/f_setHeadersOPTIONS(v_cSeq_s); AtsSccas_Steps.f_SendOPTIONS( AtsSccas_Steps.f_SendOPTIONS( m_OPTIONS_Request_Base( m_OPTIONS_Request_Base( vc_requestUri, vc_requestUri, Loading ttcn/AtsSccas/AtsSccas_Templates.ttcn +33 −0 Original line number Original line Diff line number Diff line Loading @@ -142,6 +142,13 @@ module AtsSccas_Templates infoPackageList := p_infoPackage_list infoPackageList := p_infoPackage_list } } template ReferTo m_referTo(template NameAddr p_nameaddr, template SemicolonParam_List p_refertoparams := omit) := { fieldName := REFER_TO_E, nameAddr := p_nameaddr , referToParams := p_refertoparams } } } group HeaderTemplatesYann { group HeaderTemplatesYann { Loading Loading @@ -473,6 +480,32 @@ module AtsSccas_Templates }, }, messageBody := p_mb messageBody := p_mb } } template (omit) REFER_Request m_sccas_refer( in template(value) SipUrl p_requestUri, in template(value) CallId p_callId, in template(value) CSeq p_cSeq, in template(value) LibSip_SIPTypesAndValues.Contact p_contact, in template(value) From p_from, in template(value) To p_to, in template(value) LibSip_SIPTypesAndValues.Via p_via, // in template(value) LibSip_SIPTypesAndValues.Contact p_contact, in template(value) ReferTo p_referTo , in template(omit) ReferredBy p_referredBy := omit, in template(omit) Require p_require := omit, in template(omit) Route p_route := omit, in template(omit) RecordRoute p_recordRoute := omit, in template(omit) Supported p_supported := omit, in template(omit) PChargingVector p_pChargingVector := omit, in template(value) MessageBody p_mb ) modifies m_REFER_Request_IMS/*m_REFER_Request_UE*/ := { msgHeader := { contentLength := m_contentLength(f_MessageBodyLength(p_mb)), contentType := m_contentType(c_sdpApplication) }, messageBody := p_mb } group response_sent{ group response_sent{ template(value) Response m_Response_18XonINVITE_AS_Featurecaps( template(value) Response m_Response_18XonINVITE_AS_Featurecaps( template(value) StatusLine_18x p_statusLine, template(value) StatusLine_18x p_statusLine, Loading ttcn/AtsSccas/AtsSccas_Testcases.ttcn +63 −0 Original line number Original line Diff line number Diff line Loading @@ -382,7 +382,70 @@ module AtsSccas_Testcases } // End of TC_ISC_SCCAS_GEN_RIN_02 } // End of TC_ISC_SCCAS_GEN_RIN_02 } //End of group TP_6A_4_5_Target_refresh_request_for_a_dialog_and_associated_responses { } //End of group TP_6A_4_5_Target_refresh_request_for_a_dialog_and_associated_responses { group TP_6A_4_6_Rejecting_malicious_SIP_REFER_requests_from_remote_UE { /** * @desc Verify that the SCCAS sends 403 response to the SIP REFER request from remote UE. * @param p_cSeq_s Random CSeq INVITE number */ testcase TC_ISC_SCCAS_GEN_REF_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { //Variables var ImsComponent v_imsComponent_ueims; // Test control if (not PICS_SCCAS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_IUT' shall be set to true for executing the TC. ***"); stop; } // Test component configuration f_cf_1IscUp(v_imsComponent_ueims); //Start f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_GEN_REF_01(p_cSeq_s)); // synchronize both PTCs on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1IscDown(v_imsComponent_ueims); } // End of TC_ISC_SCCAS_GEN_REF_01 } // End of group TP_6A_4_6_Rejecting_malicious_SIP_REFER_requests_from_remote_UE group TP_6A_4_7_Protecting_from_malicious_SIP_INFO_requests_with_remote_leg_information_from_remote_UE { /** * @desc Verify that the SCCAS not include Accept,RecvInfo towards remote UE. * @param p_cSeq_s Random CSeq INVITE number */ testcase TC_ISC_SCCAS_GEN_INF_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { //Variables var ImsComponent v_imsComponent_ueims; // Test control if (not PICS_SCCAS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_IUT' shall be set to true for executing the TC. ***"); stop; } // Test component configuration f_cf_1IscUp(v_imsComponent_ueims); //Start f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_GEN_INF_01(p_cSeq_s)); // synchronize both PTCs on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1IscDown(v_imsComponent_ueims); } // End of TC_ISC_SCCAS_GEN_REF_01 } // End of group TP_6A_4_7_Protecting_from_malicious_SIP_INFO_requests_with_remote_leg_information_from_remote_UE } // End of group Group_6A_4 } // End of group Group_6A_4 group Group_7_3 { group Group_7_3 { Loading Loading
test_purposes/sccas/TP_SCCAS_Chapter_9_3.tplan2 +27 −27 Original line number Original line Diff line number Diff line Loading @@ -94,10 +94,10 @@ Package TP_SCCAS_Chapter_9_3 { Config Id CFG_SCCAS_01 Config Id CFG_SCCAS_01 PICS Selection NONE // TODO PICS Selection NONE Initial conditions with { Initial conditions with { the UE entity isRegisteredTo the IMS // TODO the UE entity isRegisteredTo the IMS } } Expected behaviour Expected behaviour Loading @@ -112,12 +112,12 @@ Package TP_SCCAS_Chapter_9_3 { Supported indicating value "replaces", Supported indicating value "replaces", PAccessNetworkInfo, PAccessNetworkInfo, Replaces containing // Replaces indicating value (RFC 3891) Replaces containing // Replaces indicating value (RFC 3891) call_id indicating value PX_call_id, // TODO PX call_id indicating value PX_call_id, from_tag indicating value PX_from_tag, // TODO PX from_tag indicating value PX_from_tag, to_tag indicating value PX_to_tag // TODO PX to_tag indicating value PX_to_tag MessageBody containing MessageBody containing SDP containing // SDP: Session Description Protocol SDP containing // SDP: Session Description Protocol Media indicating value PX_PSMediaOnly, // TODO: PX for media only Media indicating value PX_PSMediaOnly, Version indicating value "0";;;; Version indicating value "0";;;; from the IMS_S_CSCF entity from the IMS_S_CSCF entity } } Loading @@ -133,7 +133,7 @@ Package TP_SCCAS_Chapter_9_3 { ContentLength, ContentLength, MessageBody containing MessageBody containing SDP containing SDP containing Media indicating value PX_PSMediaOnly, // TODO: PX for media only Media indicating value PX_PSMediaOnly, Version indicating value "0";;; Version indicating value "0";;; to the IMS_S_CSCF entity to the IMS_S_CSCF entity } } Loading Loading @@ -162,10 +162,10 @@ Package TP_SCCAS_Chapter_9_3 { Config Id CFG_SCCAS_01 Config Id CFG_SCCAS_01 PICS Selection NONE // TODO PICS Selection NONE Initial conditions with { Initial conditions with { the UE entity isRegisteredTo the IMS // TODO the UE entity isRegisteredTo the IMS } } Expected behaviour Expected behaviour Loading @@ -180,12 +180,12 @@ Package TP_SCCAS_Chapter_9_3 { Supported indicating value "replaces", Supported indicating value "replaces", PAccessNetworkInfo, PAccessNetworkInfo, Replaces containing // Replaces indicating value (RFC 3891) Replaces containing // Replaces indicating value (RFC 3891) call_id indicating value PX_call_id, // TODO PX call_id indicating value PX_call_id, from_tag indicating value PX_from_tag, // TODO PX from_tag indicating value PX_from_tag, to_tag indicating value PX_to_tag // TODO PX to_tag indicating value PX_to_tag MessageBody containing MessageBody containing SDP containing // SDP: Session Description Protocol SDP containing // SDP: Session Description Protocol Media indicating value PX_PSMediaOnly, // TODO: PX for media only Media indicating value PX_PSMediaOnly, Version indicating value "0";;;; Version indicating value "0";;;; from the IMS_S_CSCF entity from the IMS_S_CSCF entity } } Loading @@ -201,7 +201,7 @@ Package TP_SCCAS_Chapter_9_3 { ContentLength, ContentLength, MessageBody containing MessageBody containing SDP containing SDP containing Media indicating value PX_PSMediaOnly, // TODO: PX for media only Media indicating value PX_PSMediaOnly, Version indicating value "0";;; Version indicating value "0";;; to the IMS_S_CSCF entity to the IMS_S_CSCF entity } } Loading @@ -227,10 +227,10 @@ Package TP_SCCAS_Chapter_9_3 { Config Id CFG_SCCAS_01 Config Id CFG_SCCAS_01 PICS Selection NONE // TODO PICS Selection NONE Initial conditions with { Initial conditions with { the UE entity isRegisteredTo the IMS and // TODO the UE entity isRegisteredTo the IMS and the UE entity previouslyEstablishedCallWith the UE entity previouslyEstablishedCallWith } } Loading @@ -246,12 +246,12 @@ Package TP_SCCAS_Chapter_9_3 { Supported indicating value "replaces", Supported indicating value "replaces", PAccessNetworkInfo, PAccessNetworkInfo, Replaces containing // Replaces indicating value (RFC 3891) Replaces containing // Replaces indicating value (RFC 3891) call_id indicating value PX_call_id, // TODO PX call_id indicating value PX_call_id, from_tag indicating value PX_from_tag, // TODO PX from_tag indicating value PX_from_tag, to_tag indicating value PX_to_tag // TODO PX to_tag indicating value PX_to_tag MessageBody containing MessageBody containing SDP containing // SDP: Session Description Protocol SDP containing // SDP: Session Description Protocol Media indicating value PX_PSMediaOnly, // TODO: PX for media only Media indicating value PX_PSMediaOnly, Version indicating value "0";;;; Version indicating value "0";;;; from the IMS_S_CSCF entity from the IMS_S_CSCF entity } } Loading @@ -267,7 +267,7 @@ Package TP_SCCAS_Chapter_9_3 { ContentLength, ContentLength, MessageBody containing MessageBody containing SDP containing SDP containing Media indicating value PX_PSMediaOnly, // TODO: PX for media only Media indicating value PX_PSMediaOnly, Version indicating value "0";;; Version indicating value "0";;; to the IMS_S_CSCF entity to the IMS_S_CSCF entity } } Loading Loading @@ -295,7 +295,7 @@ Package TP_SCCAS_Chapter_9_3 { Config Id CFG_SCCAS_01 Config Id CFG_SCCAS_01 PICS Selection NONE // TODO PICS Selection NONE Initial conditions with { Initial conditions with { the UE entity isRegisteredTo the IMS and the UE entity isRegisteredTo the IMS and Loading Loading @@ -345,7 +345,7 @@ Package TP_SCCAS_Chapter_9_3 { Config Id CFG_SCCAS_01 Config Id CFG_SCCAS_01 PICS Selection NONE // TODO PICS Selection NONE Initial conditions with { Initial conditions with { the UE entity isRegisteredTo the IMS the UE entity isRegisteredTo the IMS Loading Loading @@ -377,7 +377,7 @@ Package TP_SCCAS_Chapter_9_3 { g3gppMidcallFeatureCapabilityIndicator;, g3gppMidcallFeatureCapabilityIndicator;, MessageBody containing MessageBody containing SDP containing SDP containing Media indicating value PX_PSMediaOnly;;; // TODO: PX for media only Media indicating value PX_PSMediaOnly;;; to the IMS_S_CSCF entity to the IMS_S_CSCF entity } } Loading Loading @@ -661,7 +661,7 @@ Package TP_SCCAS_Chapter_9_3 { Config Id CFG_SCCAS_01 Config Id CFG_SCCAS_01 PICS Selection NONE // TODO PICS Selection NONE Initial conditions with { Initial conditions with { the UE entity isRegisteredTo the IMS the UE entity isRegisteredTo the IMS Loading Loading @@ -1030,7 +1030,7 @@ Package TP_SCCAS_Chapter_9_3 { Config Id CFG_SCCAS_01 Config Id CFG_SCCAS_01 PICS Selection NONE // TODO PICS Selection NONE Initial conditions with { Initial conditions with { the UE entity isRegisteredTo the IMS the UE entity isRegisteredTo the IMS Loading Loading @@ -1176,7 +1176,7 @@ Package TP_SCCAS_Chapter_9_3 { // included in the SIP INVITE due to static STI // included in the SIP INVITE due to static STI MessageBody containing MessageBody containing SDP containing SDP containing Media indicating value PX_PSMedia;;; // TODO: PIX for media Media indicating value PX_PSMedia;;; from the IMS_S_CSCF entity from the IMS_S_CSCF entity } } then { then { Loading
ttcn/AtsSccas/AtsSccas_Steps.ttcn +26 −0 Original line number Original line Diff line number Diff line Loading @@ -466,6 +466,32 @@ module AtsSccas_Steps { vc_via_REG := vc_via; vc_via_REG := vc_via; } // end function setHeaders_REGISTER_AS } // end function setHeaders_REGISTER_AS /** * @desc function sets header field for the next outgoing REFER message * @param p_cSeq_s CSeq parameter to be applied */ function f_setHeaders_REFER_AS( //TODO review and repair params due to isc interface inout CSeq p_cSeq_s, in SipUrl p_to_user, in SipUrl p_from_user ) runs on ImsComponent { var SemicolonParam_List v_params := {}; //f_setHeadersGeneral(p_cSeq_s, "REFER"); // cseq, contact, branch, via vc_to := f_initToHeader(p_to_user); // init of vc_to using userProfile identifier vc_from := f_initFromHeader(p_from_user, f_getRndTag()); // init of vc_from using userProfile identifier vc_requestUri := p_to_user; // Request URI of Invite is identical with To header if (vc_boo_route) { vc_route := m_route_interface(vc_interfaceprofile); } if (vc_boo_recordRoute) { vc_recordRoute := m_recordRoute_currIpAddr(vc_userprofile); } LibSip_Steps.f_setHeadersREFER(p_cSeq_s); } // end function setHeaders_REFER_AS /** /** * @desc Sets Invite header fields (IMS addresses) extension of general settings from LibSip basic function * @desc Sets Invite header fields (IMS addresses) extension of general settings from LibSip basic function * @param p_cSeq_s The current cSeq * @param p_cSeq_s The current cSeq Loading
ttcn/AtsSccas/AtsSccas_TCFunctions.ttcn +114 −1 Original line number Original line Diff line number Diff line Loading @@ -1064,6 +1064,119 @@ module AtsSccas_TCFunctions { } //End of group TP_6A_4_5_Target_refresh_request_for_a_dialog_and_associated_responses } //End of group TP_6A_4_5_Target_refresh_request_for_a_dialog_and_associated_responses group TP_6A_4_6_Rejecting_malicious_SIP_REFER_requests_from_remote_UE { /** * @desc Verify that the SCCAS sends 403 response to the SIP REFER request from remote UE. * @param p_cSeq_s Random CSeq INVITE number */ function f_TC_ISC_SCCAS_GEN_REF_01(in CSeq p_cSeq_s) runs on ImsComponent { // Local variables var CSeq v_cSeq_s := p_cSeq_s; f_registrationAS(v_cSeq_s); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_EstablishDialogAS(v_cSeq_s); f_IncCSeq(v_cSeq_s); f_setHeaders_REFER_AS(v_cSeq_s, f_initSipUrl(c_userProfile_PCSCFwithHomeUE), f_initSipUrl(c_userProfile_SCSCFwithHomeUE)); f_SendREFER( m_sccas_refer( vc_requestUri, vc_callId, p_cSeq_s, vc_contact, vc_from, vc_to, vc_via_REG, m_referTo(vc_contact.contactBody.contactAddresses[0].addressField.nameAddr), -, -,-, -,-,-, m_MBody_SDP(vc_sdp_local) )); tc_ack.start; alt { [] SIPP.receive(mw_Response_1xx_Base(vc_callId, vc_cSeq)) { repeat } [] SIPP.receive(mw_Response_PCV_FeatureCaps( 403, ?, ?, ?, * )) { tc_ack.stop; log("*** " & __SCOPE__ & ": PASS: response 403 was received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync } [] tc_ack.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // sync } } f_ReleaseDialogAS(v_cSeq_s); f_deregistrationAS(v_cSeq_s); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } //End of function f_TC_ISC_SCCAS_GEN_REF_01 }// End of group TP_6A_4_6_Rejecting_malicious_SIP_REFER_requests_from_remote_UEs group TP_6A_4_7_Protecting_from_malicious_SIP_INFO_requests_with_remote_leg_information_from_remote_UE { /** * @desc Verify that the SCCAS not include Accept,RecvInfo towards remote UE. * @param p_cSeq_s Random CSeq INVITE number */ function f_TC_ISC_SCCAS_GEN_INF_01(in CSeq p_cSeq_s) runs on ImsComponent { // Local variables var CSeq v_cSeq_s := p_cSeq_s; f_registrationAS(v_cSeq_s); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_EstablishDialogAS(v_cSeq_s); f_IncCSeq(v_cSeq_s); f_setHeaders_INVITE_AS(v_cSeq_s, f_initSipUrl(c_userProfile_PCSCFwithHomeUE), f_initSipUrl(c_userProfile_SCSCFwithHomeUE)); f_SendINVITE( m_sccas_invite( vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, -, -, -, m_MBody_SDP(vc_sdp_local) )); tc_wait.start; alt { [] SIPP.receive(mw_Response_1xx_Base(vc_callId, vc_cSeq)) { repeat } [] SIPP.receive(mw_INVITE_Request_AS(?, ?, ?, ?, *, *)) {//TO BE DONE : To be refined during validation tc_wait.stop; log("*** " & __SCOPE__ & ": PASS: ReINVITE message was received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync } [] tc_wait.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // sync } } f_ReleaseDialogAS(v_cSeq_s); f_deregistrationAS(v_cSeq_s); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } //End of function f_TC_ISC_SCCAS_GEN_INF_01 } //End of group TP_6A_4_7_Protecting_from_malicious_SIP_INFO_requests_with_remote_leg_information_from_remote_UE } // End of group Group_6A_4 } // End of group Group_6A_4 group Group_7_3 { group Group_7_3 { Loading Loading @@ -3192,7 +3305,7 @@ module AtsSccas_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync // Registration // Registration f_IncCSeq(v_cSeq_s); LibSip_Steps.f_setHeadersOPTIONS(v_cSeq_s); f_IncCSeq(v_cSeq_s); /*LibSip_Steps.*/f_setHeadersOPTIONS(v_cSeq_s); AtsSccas_Steps.f_SendOPTIONS( AtsSccas_Steps.f_SendOPTIONS( m_OPTIONS_Request_Base( m_OPTIONS_Request_Base( vc_requestUri, vc_requestUri, Loading
ttcn/AtsSccas/AtsSccas_Templates.ttcn +33 −0 Original line number Original line Diff line number Diff line Loading @@ -142,6 +142,13 @@ module AtsSccas_Templates infoPackageList := p_infoPackage_list infoPackageList := p_infoPackage_list } } template ReferTo m_referTo(template NameAddr p_nameaddr, template SemicolonParam_List p_refertoparams := omit) := { fieldName := REFER_TO_E, nameAddr := p_nameaddr , referToParams := p_refertoparams } } } group HeaderTemplatesYann { group HeaderTemplatesYann { Loading Loading @@ -473,6 +480,32 @@ module AtsSccas_Templates }, }, messageBody := p_mb messageBody := p_mb } } template (omit) REFER_Request m_sccas_refer( in template(value) SipUrl p_requestUri, in template(value) CallId p_callId, in template(value) CSeq p_cSeq, in template(value) LibSip_SIPTypesAndValues.Contact p_contact, in template(value) From p_from, in template(value) To p_to, in template(value) LibSip_SIPTypesAndValues.Via p_via, // in template(value) LibSip_SIPTypesAndValues.Contact p_contact, in template(value) ReferTo p_referTo , in template(omit) ReferredBy p_referredBy := omit, in template(omit) Require p_require := omit, in template(omit) Route p_route := omit, in template(omit) RecordRoute p_recordRoute := omit, in template(omit) Supported p_supported := omit, in template(omit) PChargingVector p_pChargingVector := omit, in template(value) MessageBody p_mb ) modifies m_REFER_Request_IMS/*m_REFER_Request_UE*/ := { msgHeader := { contentLength := m_contentLength(f_MessageBodyLength(p_mb)), contentType := m_contentType(c_sdpApplication) }, messageBody := p_mb } group response_sent{ group response_sent{ template(value) Response m_Response_18XonINVITE_AS_Featurecaps( template(value) Response m_Response_18XonINVITE_AS_Featurecaps( template(value) StatusLine_18x p_statusLine, template(value) StatusLine_18x p_statusLine, Loading
ttcn/AtsSccas/AtsSccas_Testcases.ttcn +63 −0 Original line number Original line Diff line number Diff line Loading @@ -382,7 +382,70 @@ module AtsSccas_Testcases } // End of TC_ISC_SCCAS_GEN_RIN_02 } // End of TC_ISC_SCCAS_GEN_RIN_02 } //End of group TP_6A_4_5_Target_refresh_request_for_a_dialog_and_associated_responses { } //End of group TP_6A_4_5_Target_refresh_request_for_a_dialog_and_associated_responses { group TP_6A_4_6_Rejecting_malicious_SIP_REFER_requests_from_remote_UE { /** * @desc Verify that the SCCAS sends 403 response to the SIP REFER request from remote UE. * @param p_cSeq_s Random CSeq INVITE number */ testcase TC_ISC_SCCAS_GEN_REF_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { //Variables var ImsComponent v_imsComponent_ueims; // Test control if (not PICS_SCCAS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_IUT' shall be set to true for executing the TC. ***"); stop; } // Test component configuration f_cf_1IscUp(v_imsComponent_ueims); //Start f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_GEN_REF_01(p_cSeq_s)); // synchronize both PTCs on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1IscDown(v_imsComponent_ueims); } // End of TC_ISC_SCCAS_GEN_REF_01 } // End of group TP_6A_4_6_Rejecting_malicious_SIP_REFER_requests_from_remote_UE group TP_6A_4_7_Protecting_from_malicious_SIP_INFO_requests_with_remote_leg_information_from_remote_UE { /** * @desc Verify that the SCCAS not include Accept,RecvInfo towards remote UE. * @param p_cSeq_s Random CSeq INVITE number */ testcase TC_ISC_SCCAS_GEN_INF_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { //Variables var ImsComponent v_imsComponent_ueims; // Test control if (not PICS_SCCAS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_IUT' shall be set to true for executing the TC. ***"); stop; } // Test component configuration f_cf_1IscUp(v_imsComponent_ueims); //Start f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_GEN_INF_01(p_cSeq_s)); // synchronize both PTCs on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1IscDown(v_imsComponent_ueims); } // End of TC_ISC_SCCAS_GEN_REF_01 } // End of group TP_6A_4_7_Protecting_from_malicious_SIP_INFO_requests_with_remote_leg_information_from_remote_UE } // End of group Group_6A_4 } // End of group Group_6A_4 group Group_7_3 { group Group_7_3 { Loading