Commit dc2aeb3a authored by Rennoch's avatar Rennoch
Browse files

initial TPs for all IC

parent 95de4dd2
Loading
Loading
Loading
Loading
+958 −13

File changed.

Preview size limit exceeded, changes collapsed.

+287 −5
Original line number Diff line number Diff line
@@ -57,7 +57,8 @@ module AtsImsIot_Templates_IC
	};
	
	import from AtsImsIot_Templates {
	       template mdw_2XX_Base, mw_180Ringing_Base, mw_200OK_Base, mw_PChargingVector, mw_SIP_URI_Base, mw_TEL_URI_Base
	       template mdw_2XX_Base, mw_180Ringing_Base, mw_200OK_Base, mw_PChargingVector, mw_SIP_URI_Base, mw_TEL_URI_Base, 
	                mw_credentialIntegrityNo, mw_401Unauthorized_Base, mw_WwwAuthenticate, mw_PathDef, mw_ServiceRoute, mdw_4XX_Base
	};
	
	group g_IBCF {
@@ -173,6 +174,19 @@ module AtsImsIot_Templates_IC
		  }
		}

		/**
		  * @desc INVITE Request checking TP_IC_IBCF_INVITE_05
		  * @remark source template mdw_TP_IMS_5097_02_ic and mdw_TP_IMS_5044_01_ic
		  */
		template INVITE_Request mdw_TP_IC_IBCF_INVITE_05 (
			template SipUrl p_eutAUri, 
			template charstring p_EUTB_PublicId)
		 modifies mw_INVITE_Request_Base := {
		  msgHeader := {
	        fromField := mw_From (p_eutAUri),
	        toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?)                   
		  }
		}
    
	} // end group g_IBCF_INVITE

@@ -224,7 +238,7 @@ module AtsImsIot_Templates_IC
		  * @desc 180 Ringing Response checking TP_IBCF_180RESP_01 on MW
		  * @remark source template mdw_TP_IMS_5115_01_ic
		  */
		template Response mdw_TP_IBCF_180RESP_01 
		template Response mdw_TP_IC_IBCF_180RESP_01 
		 modifies mw_180Ringing_Base := {
		  msgHeader := {
			pChargingVector :=  mw_PChargingVector({ 
@@ -253,7 +267,7 @@ module AtsImsIot_Templates_IC
    
		/**
		  * 
		  * @desc 180 Ringing Response checking TP_IC_IBCF_1XXRESP_01 on MW
		  * @desc 180 Ringing Response checking TP_IC_IBCF_1XXRESP_01
		  * @remark source template mdw_TP_IMS_5115_03_ic
		  */
		template Response mdw_TP_IC_IBCF_1XXRESP_01(
@@ -274,6 +288,33 @@ module AtsImsIot_Templates_IC
		  }
		}   

		/**
		  * 
		  * @desc 180 Ringing Response checking TP_IC_IBCF_1XXRESP_02
		  * @remark source template mdw_TP_IC_IBCF_1XXRESP_01
		  */
		template Response mdw_TP_IC_IBCF_1XXRESP_02(
		    template SipUrl p_eutAUri, 
		    template charstring p_EUTB_PublicId,
			template SipUrl p_SIP_URI,
		    template RecordRoute p_recordRoute)
		 modifies mw_180Ringing_Base := {
		  msgHeader := {
            fromField := mw_From (p_eutAUri),
            toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?),                   
			pPreferredID := omit,
			pAssertedID := {
				fieldName := P_ASSERTED_ID_E,
				pAssertedIDValueList := {
					*, 
					{ nameAddr := mw_NameAddr(p_SIP_URI)}, 
					*
				}
			},
            recordRoute := p_recordRoute
		  }
		} 
    
	} // end group g_IBCF_1XXRESP

	group g_IBCF_2XXRESP {
@@ -346,8 +387,133 @@ module AtsImsIot_Templates_IC
			}   
		}

		/**
		  * 
		  * @desc checking TP_IC_IBCF_2XXRESP_05
		  * @remark source template mw_TP_IMS_5121_02_ic
		  */
		template Response mw_TP_IC_IBCF_2XXRESP_05 (template SipUrl p_eutAUri, 
				template charstring p_EUTB_PublicId,
				template SipUrl p_SIP_URI,
				template RecordRoute p_recordRoute) modifies mdw_2XX_Base := {
			msgHeader := {
				fromField := mw_From (p_eutAUri),
				toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?),                   
				pPreferredID := omit,
				pAssertedID := {
					fieldName := P_ASSERTED_ID_E,
					pAssertedIDValueList := {
						*, 
						{ nameAddr := mw_NameAddr(p_SIP_URI)}, 
						*
					}
				},
				recordRoute := p_recordRoute
			}   
		}
    
	} // end group g_IBCF_2XXRESP

	group g_IBCF_4XX {
    
		/**
		  * 
		  * @desc 487 Ringing Response checking TP_IC_IBCF_487INVITE_02
		  * @remark source template mdw_TP_IC_IBCF_1XXRESP_01
		  */
		template Response mdw_TP_IC_IBCF_487INVITE_02(
			template SipUrl p_eutAUri, 
			template charstring p_EUTB_PublicId)
		 modifies mdw_4XX_Base := {
          statusLine := {c_sipNameVersion, 487, ?},
		  msgHeader := {
			fromField := mw_From (p_eutAUri),
			toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?)
		  }
		}

		/**
		  * 
		  * @desc 487 Ringing Response checking TP_IC_IBCF_487INVITE_02
		  * @remark source template mdw_TP_IC_IBCF_1XXRESP_01
		  */
		template Response mdw_TP_IC_IBCF_486INVITE_02(
			template SipUrl p_eutAUri, 
			template charstring p_EUTB_PublicId)
		 modifies mdw_4XX_Base := {
		  statusLine := {c_sipNameVersion, 486, ?},
		  msgHeader := {
			fromField := mw_From (p_eutAUri),
			toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?)
		  }
		}   
    
	} // end group g_IBCF_4XX

	group g_IBCF_200OK {
    
		/**
		 * 
		 * @desc 200 OK  message for TP_IC_IBCF_REGISTER_02
          * @remark source template mdw_TP_IMS_5092_01_ic
		 */
		template Response mdw_TP_IC_IBCF_REGISTER200OK_02 (charstring p_EUTHostname, template SipUrl p_eutBUri) modifies mw_200OK_Base := {
			msgHeader := {
				path := mw_PathDef (p_EUTHostname), 
				pAssociatedURI := {
					fieldName := P_ASSOCIATED_URI_E, 
					nameAddrList := ?
				},
				pChargingVector :=  mw_PChargingVector({  // @TODO indicating operator_identifier of IMS_? (IUT_?)?
								{id := "term-ioi", paramValue := ?}, 
								*
				}),
				serviceRoute := mw_ServiceRoute (p_eutBUri),
				contact := {
					fieldName := CONTACT_E,
					contactBody := {
						contactAddresses := ?
					}
				} 
			}
		}
		
		template(present) Response mw_Response_Base_ToFrom(
			template(present) StatusLine p_statusLine := ?,
			template CallId p_callId,
			template CSeq p_cSeq,
			template SipUrl p_eutAUri, 
            template charstring p_EUTB_PublicId			
		) modifies mw_Response_Dummy := {
			statusLine := p_statusLine,
			msgHeader := {
				callId := p_callId,
				contentLength := *,
				cSeq := p_cSeq,
                fromField := mw_From (p_eutAUri),
                toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?),
				maxForwards := *,
				via := ?
			}
		}		    
    
	} // end group g_IBCF_200OK 

	group g_IBCF_401 {
    
		/**
		  * 
		  * @desc 401 Unauthorized   message checking f_mtc_check_TP_IC_IBCF_REGISTER_01.
          * @remark source template mdw_TP_IMS_5089_01_ic
		  */
		 template Response mdw_TP_IC_IBCF_REGISTER401_01 modifies mw_401Unauthorized_Base := {
		   msgHeader := {
			 wwwAuthenticate := mw_WwwAuthenticate
		   }
		 }
    
    
	} // end group g_IBCF_401 

	group g_IBCF_ACK {
    
@@ -370,6 +536,19 @@ module AtsImsIot_Templates_IC
			}
		}

		/**
		  * 
		  * @desc ACK Request checking TP_IC_IBCF_4XXINVITE_ACK_01
		  */
		template ACK_Request mdw_TP_IC_IBCF_4XXINVITE_ACK_01(template CallId p_callId,
		                                                     template SipUrl p_eutAUri, 
		                                                     template charstring p_EUTB_PublicId)
		modifies mw_ACK_Request_Base := {
			msgHeader := {
				fromField := mw_From (p_eutAUri),
				toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?)
			}
		}    
    
	} // end group g_IBCF_ACK   

@@ -403,9 +582,13 @@ module AtsImsIot_Templates_IC
		  * @desc CANCEL Request checking TP_IC_IBCF_CANCEL_01
		  * @remark source template mdw_TP_IMS_5107_03_ic
		  */
		template CANCEL_Request mdw_TP_IC_IBCF_CANCEL_01 (template CallId p_callId, template SipUrl p_SCSCF_SIP_URI) 
		template CANCEL_Request mdw_TP_IC_IBCF_CANCEL_01 (
		  template CallId p_callId, template SipUrl p_SCSCF_SIP_URI,
		  template SipUrl p_eutAUri, template charstring p_EUTB_PublicId) 
		modifies mw_CANCEL_Request_Base := {
			msgHeader := {
				fromField := mw_From (p_eutAUri),
				toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?),
				route := (
					omit, 
						{
@@ -422,6 +605,105 @@ module AtsImsIot_Templates_IC

	} // end group g_IBCF_CANCEL

	group g_IBCF_SUBSCRIBE {
    
		/**
		  * 
		  * @desc SUBSCRIBE Request checking TP_IC_IBCF_SUBSCRIBE_01
		  * @remark source template mdw_TP_IMS_5044_01_ic
		  */
		template SUBSCRIBE_Request mdw_TP_IC_IBCF_SUBSCRIBE_01(
			template SipUrl p_subscribe_uri,
			template SipUrl p_eutAUri, 
			template charstring p_EUTB_PublicId
		) modifies mw_SUBSCRIBE_Request_Base := {
      
		  requestLine := {
			method := SUBSCRIBE_E,
			requestUri := p_subscribe_uri, // @TODO
			sipVersion := c_sipNameVersion
		  },
		  msgHeader := {
			fromField := mw_From (p_eutAUri),
			toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?),
			event := m_Event_reg,
			expires := ?, // checked outside the template
			pAssertedID := mw_PAssertedID(mw_PAssertedIDValue(p_eutAUri)),
			pChargingVector :=  mw_PChargingVector({
				{id := "icid-value", paramValue := *}, 
				*
			  })
		  }
		}

	} // end group g_IBCF_SUBSCRIBE

	group g_IBCF_NOTIFY {
    
		/**
		  * 
		  * @desc NOTIFY Request checking mdw_TP_IC_IBCF_NOTIFY_01
		  * @remark source template mdw_TP_IMS_5094_01_IMS_ic
		  */
		template NOTIFY_Request mdw_TP_IC_IBCF_NOTIFY_01(template CallId p_callId, template SipUrl p_PCSCF_SIP_URI) modifies mw_NOTIFY_Request_Base := { 
			requestLine := { requestUri := p_PCSCF_SIP_URI }, 
			msgHeader := { 
				event := {
					fieldName := EVENT_E, 
					eventType := pattern "*reg*",
					eventParams := *},
//					pChargingVector :=  mw_PChargingVector({
//						{id := "icid-value", paramValue := *}, 
//						*
//					}),
				route := ? }, // TODO route header indicating the original Route_header from SUBSCRIBE (SUBSCRIBE not defined in the test description) 
			messageBody := ? // TODO 
		}

	} // end group g_IBCF_NOTIFY

	group g_IBCF_REGISTER {
    
		/**
		* 
		* @desc REGISTER Request checking TP_IC_IBCF_REGISTER_01.
        * @remark source template mdw_TP_IMS_5089_01_ic_when
		*/
		template REGISTER_Request mdw_TP_IC_IBCF_REGISTER_01 modifies mw_REGISTER_Request_Base := {
			msgHeader := {
				authorization := mw_Authorization(mw_credentialIntegrityNo) 
			}
		}

		/**
		* 
		* @desc REGISTER Request checking TP_IMS_5092_01.
        * @remark source template mdw_TP_IMS_5092_01_ic_when
		*/
		template REGISTER_Request mdw_TP_IC_IBCF_REGISTER_02 modifies mw_REGISTER_Request_Base := {
			msgHeader := {
				authorization := mw_Authorization(mw_credentialIntegrityNo) 
			}
		}

		/**
		* 
		* @desc REGISTER Request checking TP_IC_IBCF_REGISTER_03.
		* @remark TODO: template may be moved to LibSip_Templates
		*/
		template REGISTER_Request mdw_TP_IC_IBCF_REGISTER_EXPIRES_03(
			template SipUrl p_eutAUri, 
			template charstring p_EUTB_PublicId
		    ) modifies mw_REGISTER_Request_Base := {
			msgHeader := {
				fromField := mw_From (p_eutAUri),
				toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?),
				expires := mw_Expires("0")
			   	}
		}

	} // end group g_IBCF_REGISTER

	} // end group g_IBCF