Commit 02f35237 authored by rennoch's avatar rennoch
Browse files

use of IE templates independent from message types

parent b5fd59bc
Loading
Loading
Loading
Loading
+29 −45
Original line number Diff line number Diff line
@@ -34,21 +34,21 @@ module S1AP_Templates {

	group g_outcomeMessage {

		template S1AP_PDU mw_successfulOutcome(template ProcedureCode
												   p_procedureCode := ?,
											   template anytype p_value) := {
			successfulOutcome := {
				procedureCode := p_procedureCode,
				criticality := reject,
				value_ := {
					RecordOf_E_RABSetupResponseIEs := {
						mw_E_RABSetupResponseIEs_MME,
						mw_E_RABSetupResponseIEs_ENB,
						mw_E_RABSetupResponseIEs_ERAB
					}
				}
			}
		}
//		template S1AP_PDU mw_successfulOutcome(template ProcedureCode
//												   p_procedureCode := ?,
//											   template anytype p_value) := {
//			successfulOutcome := {
//				procedureCode := p_procedureCode,
//				criticality := reject,
//				value_ := {
//					RecordOf_E_RABSetupResponseIEs := {
//						mw_E_RABSetupResponseIEs_MME,
//						mw_E_RABSetupResponseIEs_ENB,
//						mw_E_RABSetupResponseIEs_ERAB
//					}
//				}
//			}
//		}

		template S1AP_PDU mw_successfulOutcome_E_RABSetupResponse
		(template ProcedureCode p_procedureCode := ?,
@@ -64,74 +64,58 @@ module S1AP_Templates {

	} // end of group g_outcomeMessage
	
group g_E_RAB_SetupRequest {
group g_E_RAB_IEsend {

	template(value) E_RABSetupRequest.protocolIEs[-] m_E_RABSetupRequestIEs_MME (MME_UE_S1AP_ID p_value:= 1):= {
	template(value) ProtocolIEs m_E_RAB_IE_MME (MME_UE_S1AP_ID p_value:= 1):= {
		id := S1AP_Constants.id_MME_UE_S1AP_ID,
		criticality := S1AP_CommonDataTypes.reject,
		value_ := { MME_UE_S1AP_ID := p_value }
	}
	template(value) E_RABSetupRequest.protocolIEs[-] m_E_RABSetupRequestIEs_ENB (ENB_UE_S1AP_ID p_value:= 1):= {

	template(value) ProtocolIEs m_E_RAB_IE_ENB (ENB_UE_S1AP_ID p_value:= 1):= {
		id := S1AP_Constants.id_eNB_UE_S1AP_ID,
		criticality := S1AP_CommonDataTypes.reject,
		value_ := { ENB_UE_S1AP_ID := p_value }
	}		
	template(value) E_RABSetupRequest.protocolIEs[-] m_E_RABSetupRequestIEs_ERAB (RecordOf_E_RABToBeSetupItemBearerSUReq p_value := {m_E_RABToBeSetupItemBearerSUReq}):= {
	template(value) ProtocolIEs m_E_RAB_IE_ERAB (RecordOf_E_RABToBeSetupItemBearerSUReq p_value := {m_E_RABToBeSetupItemBearerSUReq}):= {
		id := S1AP_Constants.id_E_RABToBeSetupListBearerSUReq,
		criticality := S1AP_CommonDataTypes.reject,
		value_ := { RecordOf_E_RABToBeSetupItemBearerSUReq := p_value }
	}

//	template(value) E_RABToBeSetupListBearerSUReq m_e_rABToBeSetupListBearerSUReq (template RecordOf_E_RABToBeSetupItemBearerSUReq p_value := {m_E_RABToBeSetupItemBearerSUReq}):= {
//		{
//			id := id_E_RABToBeSetupItemBearerSUReq, 
//			criticality := reject,
//			value_ := { RecordOf_E_RABToBeSetupItemBearerSUReq := valueof(p_value) }
//		}
//	}
  } // end of group g_E_RAB_SetupRequest
  } // end of group g_E_RAB_IEsend

group g_E_RAB_SetupResponse {
group g_E_RAB_IEreceive {
	
	template E_RABSetupResponse.protocolIEs[-] mw_E_RABSetupResponseIEs_MME(template
																			(present)
																			MME_UE_S1AP_ID
																				p_parm
																			:=
																			?)
		:= {
	template ProtocolIEs mw_E_RAB_IE_MME(template(present) MME_UE_S1AP_ID p_parm
										 := ?) := {
		id := S1AP_Constants.id_MME_UE_S1AP_ID,
		criticality := S1AP_CommonDataTypes.ignore,
		value_ := {MME_UE_S1AP_ID := p_parm}
	}

	template E_RABSetupResponse.protocolIEs[-] mw_E_RABSetupResponseIEs_ENB(template
																			(present)
	                                                                        ENB_UE_S1AP_ID
																				p_parm
																			:=
																			?)
		:= {
	template ProtocolIEs mw_E_RAB_IE_ENB(template(present) ENB_UE_S1AP_ID p_parm
										 := ?) := {
		id := S1AP_Constants.id_eNB_UE_S1AP_ID,
		criticality := S1AP_CommonDataTypes.ignore,
		value_ := {ENB_UE_S1AP_ID := p_parm}
	}

	template E_RABSetupResponse.protocolIEs[-] mw_E_RABSetupResponseIEs_ERAB 
	template ProtocolIEs mw_E_RAB_IE_ERAB 
	  (template(present) RecordOf_E_RABSetupItemBearerSURes p_value := {mw_E_RABSetupItemBearerSURes}):= {
		id := S1AP_Constants.id_E_RABSetupListBearerSURes,
		criticality := S1AP_CommonDataTypes.ignore,
		value_ := { RecordOf_E_RABSetupItemBearerSURes := p_value }
	}
	
	template E_RABSetupResponse.protocolIEs[-] mw_E_RABSetupResponseIEs_fSUL 
	template ProtocolIEs mw_E_RAB_IE_fSUL 
	  (template(present) RecordOf_E_RABItem p_value := {?}):= {
		id := S1AP_Constants.id_E_RABFailedToSetupListBearerSURes,
		criticality := S1AP_CommonDataTypes.ignore,
		value_ := { RecordOf_E_RABItem := p_value }
	}
	
} // end of group g_E_RAB_SetupResponse
} // end of group g_E_RAB_IEreceive

group g_IEParameters {
	template(value)
+38 −39
Original line number Diff line number Diff line
@@ -20,12 +20,11 @@ module S1AP_Testcase {
	testcase TP_S1AP_ENB_RAB_01() runs on MME {
		eBport
		.send(m_initiatingMessage_E_RABSetup({
												 m_E_RABSetupRequestIEs_MME(1),
												 m_E_RABSetupRequestIEs_ENB(1),
												 m_E_RABSetupRequestIEs_ERAB({
												 m_E_RAB_IE_MME(1),
												 m_E_RAB_IE_ENB(1),
												 m_E_RAB_IE_ERAB({
																	 m_E_RABToBeSetupItemBearerSUReq
																				 (-
																				  ,
																	 (-,
																	  m_e_RABlevelQoSParameters
																	  (5))
																 })
@@ -33,10 +32,9 @@ module S1AP_Testcase {
		eBport
		.receive(mw_successfulOutcome_E_RABSetupResponse(-,
														 {
															 mw_E_RABSetupResponseIEs_MME,
															 mw_E_RABSetupResponseIEs_ENB,
															 mw_E_RABSetupResponseIEs_ERAB
															 ({
															 mw_E_RAB_IE_MME(1),
															 mw_E_RAB_IE_ENB(1),
															 mw_E_RAB_IE_ERAB({
																				  mw_E_RABSetupItemBearerSURes
																			  })
														 }));
@@ -48,14 +46,13 @@ module S1AP_Testcase {
	testcase TP_S1AP_ENB_RAB_02() runs on MME {
		eBport
		.send(m_initiatingMessage_E_RABSetup({
												 m_E_RABSetupRequestIEs_MME(1),
												 m_E_RABSetupRequestIEs_ENB(1),
												 m_E_RABSetupRequestIEs_ERAB({
												 m_E_RAB_IE_MME(1),
												 m_E_RAB_IE_ENB(1),
												 m_E_RAB_IE_ERAB({
																	 m_E_RABToBeSetupItemBearerSUReq
																	 (1),
																	 m_E_RABToBeSetupItemBearerSUReq
																				 (2
																				  ,
																	 (2,
																	  m_e_RABlevelQoSParameters
																	  (255))
																 })
@@ -63,16 +60,18 @@ module S1AP_Testcase {
		eBport
		.receive(mw_successfulOutcome_E_RABSetupResponse(-,
														 {
															 mw_E_RABSetupResponseIEs_MME(1),
															 mw_E_RABSetupResponseIEs_ENB(1),
															 mw_E_RABSetupResponseIEs_ERAB
															 mw_E_RAB_IE_MME(1),
															 mw_E_RAB_IE_ENB(1),
															 mw_E_RAB_IE_ERAB
															 ({
																  mw_E_RABSetupItemBearerSURes(1)
																  mw_E_RABSetupItemBearerSURes
																  (1)
															  }),
															 mw_E_RABSetupResponseIEs_fSUL
															 ({
															 mw_E_RAB_IE_fSUL({
																				  mw_E_RABItem
																  (2,{
																				  (2
																				   ,
																				   {
																					   radioNetwork
																						   :=
																						   not_supported_QCI_value
+7 −0
Original line number Diff line number Diff line
@@ -19,5 +19,12 @@ module S1AP_Types {
    type record of E_RABToBeSetupItemBearerSUReq RecordOf_E_RABToBeSetupItemBearerSUReq;
    type record of E_RABSetupItemBearerSURes RecordOf_E_RABSetupItemBearerSURes;
    type record of E_RABItem RecordOf_E_RABItem;
    type record ProtocolIEs {
		integer id (0 .. 65535),
		enumerated {
			reject, ignore, notify
		} criticality,
		anytype value_
	}

}
 No newline at end of file