Commit 7ed68852 authored by YannGarcia's avatar YannGarcia
Browse files

Merge branch 'TTF016' of https://forge.etsi.org/rep/int/vxlte/sccas-con into TTF016

parents fdb71f96 8e63dbd5
Loading
Loading
Loading
Loading
+27 −27
Original line number Original line Diff line number Diff line
@@ -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
@@ -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
                }
                }
@@ -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
                	}
                	}
@@ -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
@@ -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
	                }
	                }
@@ -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
	                	}
	                	}
@@ -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 
	        }
	        }
	        
	        
@@ -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
	                }
	                }
@@ -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
	                	}
	                	}
@@ -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
@@ -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
@@ -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
                    }
                    }
                    
                    
@@ -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 
@@ -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 
@@ -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 {
+26 −0
Original line number Original line Diff line number Diff line
@@ -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
+114 −1
Original line number Original line Diff line number Diff line
@@ -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 {
@@ -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,
+33 −0
Original line number Original line Diff line number Diff line
@@ -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 {
@@ -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,
+63 −0
Original line number Original line Diff line number Diff line
@@ -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 {