Newer
Older
/**
* @author ETSI / STF422_EETS
* @version $URL:$
* $Id:$
* @desc Templates definitions for Fast service advertisement protocol (ISO 24102-5)
*/
module LibItsFsap_Templates {
// LibIts
import from CALMmanagement language "ASN.1:1997" {
type
ITS_scuId, StationID
};
import from CITSapplMgmtApplReg language "ASN.1:1997" {
type
ITSaid
};
import from CALMmsap language "ASN.1:1997" {
type
MF_Command, MF_Command_confirm,
import from CALMllsap language "ASN.1:1997" {
garciay
committed
type
LLserviceAddr, Link_ID,
UserPriority
import from CALMfntp language "ASN.1:1997" {
type
PortNumber
};
import from CALMfsap language "ASN.1:1997" {
type
ApplicationID,
garciay
committed
GCctxTxCmd, GCregServer, GCregClient, GCderegClient, GCschedule,
ServiceDataReg, ServiceData, ContextData, ServiceList, ServiceInfo,
NonipContext,
garciay
committed
SAMserviceData, CTXserviceData,
SAM, SAMrxNot,
CTX, CTXrxNot
import from LibItsFntp_Templates {
template m_fntpInSapAddress_src_command
};
garciay
committed
modulepar
PX_FMTID_CTX, PX_VERSION_FSAP, PX_FMTID_SAM,
garciay
committed
PX_USER_PRIORITY
};
import from LibItsCommon_TypesAndValues {
type UtInitialize, UtCommandRequest
group fsapPrimitives {
group utPrimitives {
/**
*/
template (value) UtInitialize m_fsapInitialize := {
utFsapInitialize := {
}
} // End of template m_fsapInitialize
* @desc Send template to generate a REQUEST.request primitive
* @param p_mfRequestReq Command issued by the ITS-S facilities layer and sent to the ITS-S management entity via the MF-SAP
*/
template (value) UtCommandRequest m_generateMFRequestReq(
in template (value) MF_Request_request p_mfRequestReq
) := {
utFsapCommandRequest := {
mfRequestReq := p_mfRequestReq
} // End of field 'utFsapCommandRequest'
} // End of template m_generateMFRequestReq
} // End of group utPrimitives
group taPrimitives {
} // End of group taPrimitives
group cregServerMessagePDU {
/**
* @desc Send a GCregServer registration request for an ITS-S application
* @param p_applicationID The Application ID
* @param p_gCschedule A set of scheduling information
* @param p_serviceDataReg Additional service data information
* @see ISO 24102-3 Table C.1 — MF-REQUESTs
* @see ISO 24102-5 Clause 8.2.1 Groupcast registration
*/
template (value) MF_Request m_mfRequest_GCregServer(
in template (value) ApplicationID p_applicationID,
in template (value) GCschedule p_gCschedule,
in template (value) ServiceDataReg p_serviceDataReg
) := {
fill := '0000'B,
mfReq := {
gCregServer := {
applicationID := p_applicationID,
gCschedule := p_gCschedule,
priority := PX_USER_PRIORITY,
serviceDataReg := p_serviceDataReg
} // End of field 'gCregServer'
} // End of field 'mfReq'
} // End of template m_mfRequest_GCregServer
} // End of group cregServerMessagePDUSend
/**
* @desc Generic receive GCregServer template
* @see ISO 24102-3 Table C.1 — MF-REQUESTs
* @see ISO 24102-5 Clause 8.2.1 Groupcast registration
*/
template GCregServer mw_gCregServer_any := {
applicationID := {
hostITS_scuId := ?,
seqNumber := ?
}, // End of field applicationID''
gCschedule := ?,
priority := ?,
serviceDataReg := {
fill := ?,
datareg := {
nonipData := ?
} // End of field 'datareg'
} // End of field 'serviceDataReg'
} // End of template mw_gCregServer
} // End of group cregServerMessagePDURecv
} // End of group cregServerMessagePDU
group cregClientMessagePDU {
* @desc Send template for a GCregClient without a session, CTX is not requested
* @param p_applicationID The Application ID
* @param p_serviceID The globally unique ITS-AID of the ITS-S application
* @see ISO 24102-5 Clause 8.5
template (value) MF_Request m_mfRequest_GCregClientWithNoSessionAndNoCTX(
in template (value) ApplicationID p_applicationID,
in template (value) ITSaid p_serviceID
) := {
fill := '0000'B,
mfReq := {
gCregClient := {
applicationID := p_applicationID,
priority := PX_USER_PRIORITY,
serviceID := p_serviceID,
contextData := ''O
} // End of field 'gCregClient'
} // End of field 'mfReq'
} // End of template m_mfRequest_GCregClientWithNoSessionAndNoCTX
/**
* @desc Send template for a GCregClient without a session, CTX is requested
* @param p_applicationID The Application ID
* @param p_serviceID The globally unique ITS-AID of the ITS-S application
* @see ISO 24102-5 Clause 8.3.1 Groupcast registration
*/
template (value) MF_Request m_mfRequest_GCregClientWithSessionAndCTX(
in template (value) ApplicationID p_applicationID,
in template (value) ITSaid p_serviceID
) := {
fill := '0000'B,
mfReq := {
gCregClient := {
applicationID := p_applicationID,
priority := PX_USER_PRIORITY,
serviceID := p_serviceID,
contextData := ''O
} // End of field 'gCregClient'
} // End of field 'mfReq'
} // End of template m_mfRequest_GCregClientWithSessionAndCTX
} // End of group cregClientMessagePDUSend
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
// TODO To be removed
// group cregClientMessagePDURecv {
//
// /**
// * @desc Send template for GCregClient
// * @param p_hostITS_scuId The ITS-SCU-ID of the ITS-S host where the service provider ITS-S application resides
// * @param p_serviceID The globally unique ITS-AID of the ITS-S application
// * @see ISO/CD 24102-5 Clause 8.3.1 Groupcast registration
// */
// template (value) GCregClient m_gCregClient(
// in template (value) ITS_scuId p_hostITS_scuId,
// in template (value) ITSaid p_serviceID
// ) := {
// applicationID := {
// hostITS_scuId := p_hostITS_scuId,
// seqNumber := 0
// }, // End of 'applicationID' field
// priority := 0,
// serviceID := p_serviceID,
// contextData := ''O
// } // End of template m_gCregClient
//
// /**
// * @desc Confirmation of the ITS-S application shall deregistration
// * @param p_hostITS_scuId The ITS-SCU-ID of the ITS-S host where the service provider ITS-S application resides together with an ITS-S application reference number being unique at this ITS-SCU
// * @param p_serviceID The globally unique ITS-AID of the ITS-S application
// * @see ISO 24102-5 Clause 8.3.1
// */
// template (present) GCregClient mw_gCregClient(
// in template (present) ITS_scuId p_hostITS_scuId,
// in template (present) ITSaid p_serviceID
// ) := {
// applicationID := {
// hostITS_scuId := p_hostITS_scuId,
// seqNumber := ?
// }, // End of 'applicationID' field
// priority := ?,
// serviceID := p_serviceID,
// contextData := ?
// } // End of template mw_gCregClient
//
// } // End of group cregClientMessagePDURecv
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
// TODO To be removed
// group cderegClientMessagePDU {
//
// /**
// * @desc ITS-S application shall deregister its supported service at the groupcasting manager using the services of the groupcasting registration handler
// * @param p_hostITS_scuId The ITS-SCU-ID of the ITS-S host where the service provider ITS-S application resides together with an ITS-S application reference number being unique at this ITS-SCU
// * @see ISO 24102-5 Clause 8.3.3
// */
// template (value) GCderegClient m_gCderegClient(
// in template (value) ITS_scuId p_hostITS_scuId
// ) := {
// applicationID := {
// hostITS_scuId := p_hostITS_scuId,
// seqNumber := 0
// }
// } // End of template m_gCderegClient
//
// /**
// * @desc Confirmation of the ITS-S application shall deregistration
// * @param p_hostITS_scuId The ITS-SCU-ID of the ITS-S host where the service provider ITS-S application resides together with an ITS-S application reference number being unique at this ITS-SCU
// *
// @see ISO 29281-2 Clause 8.1
// @see ISO 24102-5 Clause 8.3.3
// */
// template GCderegClient mw_gCderegClient(
// in template (present) ITS_scuId p_hostITS_scuId
// ) := {
// applicationID := {
// hostITS_scuId := p_hostITS_scuId,
// seqNumber := ?
// }
// } // End of template mw_gCderegClient
//
// } // End of group cderegClientMessagePDU
/**
* @desc Send template for a SAM from a service user ITS station, notified by the groupcast communication manager to the groupcast manager
* @param p_link Source_address
* @param p_serverID Server identifier
* @param p_serviceList Service list descroption
* @see ISO 24102-5 Clause 8.3.4 Reception of SAM and transmission of CTX
*/
template (value) MF_Request m_mfRequest_SAMrxNot(
in template (value) LLserviceAddr p_link,
in template (value) StationID p_serverID,
in template (value) ServiceList p_serviceList
) := {
fill := '0000'B,
mfReq := {
sAMrxNot := {
link := p_link,
sam := {
fmtID := PX_FMTID_SAM,
version := PX_VERSION_FSAP,
serverID := p_serverID,
serviceList := p_serviceList,
channelList := { },
ipServList := { }
} // End of field 'sam'
} // End of field 'sAMrxNot'
} // End of field 'mfReq'
} // End of template m_mfRequest_SAMrxNot
* @desc Generic receive MF-COMMAND template
* @see ISO 24102-3 Clause 8.2.1
garciay
committed
template (present) MF_Command mw_mfCommand_any := {
fill := ?,
mfCmd := ?
} // End of template mw_mfCommand_any
* @desc Receive template for SAM
* @param p_applicationID The Application ID
* @param p_serverID Server identifier
* @param p_serviceData Additional SAM service data information
* @see ISO 24102-5 Clause 8.3.4 Reception of SAM and transmission of CTX
garciay
committed
template (present) MF_Command mdw_mfCommand_gCSAM(
in template (present) ApplicationID p_applicationID,
in template (present) StationID p_serverID,
in template (present) SAMserviceData p_serviceData
garciay
committed
) modifies mw_mfCommand_any := {
mfCmd := {
gCsam := {
applicationID := p_applicationID,
serverID := p_serverID,
serviceData := p_serviceData
} // End of header 'gCsam'
} // End of header 'mfCmd'
garciay
committed
} // End of template mw_mfCommand_gCSAM
* @desc Receive template for GCsamctx
* @param p_applicationID The Application ID
* @param p_serverID Server identifier
* @param p_serviceInfo Additional service data information
* @see ISO 24102-5 Clause 8.3.4 Reception of SAM and transmission of CTX
template (present) MF_Command mdw_mfCommand_gCsamctx(
in template (present) ApplicationID p_applicationID,
in template (present) StationID p_serverID,
in template (present) ServiceInfo p_serviceInfo
) modifies mw_mfCommand_any := {
garciay
committed
mfCmd := {
gCsamctx := {
applicationID := p_applicationID,
serverID := p_serverID,
serviceInfo := p_serviceInfo
} // End of header 'gCsam'
garciay
committed
} // End of header 'mfCmd'
} // End of template mdw_mfCommand_gCsamctx
garciay
committed
* @desc Receive template for SAMserviceData
* @param p_serviceID Service identifier
* @param p_serviceData Additional service data information
* @param p_providerPort Service user port number
template (present) SAMserviceData mw_samDataServerciceWithAccessTechAndNonIP(
garciay
committed
in template (present) ITSaid p_serviceID,
in template (present) ServiceData p_serviceData,
in template (present) PortNumber p_providerPort
garciay
committed
servData := {
nonipService := {
serviceID := p_serviceID,
serviceData := p_serviceData,
providerPort := p_providerPort
} // End of field 'nonipService'
} // End of field 'servData'
} // End of template mw_samDataServerciceWithAccessTechAndNonIP
garciay
committed
} // End of group samMessagePDU
group ctxMessagePDU {
garciay
committed
/**
* @desc Send "CTX" in reply to SAM
* @param p_linkID Source address
* @param p_ctx CTX information
* @see ISO 24102-5 Clause 8.2.6
* @see ISO 21218 Clause 5.4.2.1 & 5.4.2.2
garciay
committed
*/
template (value) MF_Request m_mfRequest_ctx(
in template (value) LLserviceAddr p_linkID,
in template (value) CTX p_ctx
) := {
fill := '0000'B,
mfReq := {
cTXrxNot := {
link := p_linkID,
ctx := p_ctx
} // // End of field 'cTXrxNot'
} // End of field 'mfReq'
} // End of template m_mfRequest_ctx
* @desc Send template for CTX
* @param p_clientID Client identifier
* @see ISO 24102-5 Clause 8.2.6 Reception of CTX
garciay
committed
template (value) CTX m_ctx(
in template (value) StationID p_clientID
) := {
fmtID := PX_FMTID_CTX,
version := PX_VERSION_FSAP,
clientID := p_clientID,
servContextList := { },
ipContextList := { }
garciay
committed
} // End of template m_ctx
garciay
committed
// /**
// * @desc Send "Service Table Context" (STC) to FAST networking protocol for the purpose of unicast delivery to the selected peer station
// * @param p_csap Source address - see ISO 21218 Clause 5.4.2.1 & 5.4.2.2
// * @param p_linkID Destination link ID - see ISO 21218 Clause 5.4.2.2
// * @param p_clientID Station ID of the client ITS station
// *
garciay
committed
// */
// template (value) GCctxTxCmd m_gCctxTxCmd(
// in template (value) IN_SAPaddress p_csap,
// in template (value) Link_ID p_linkID,
// in template (value) StationID p_clientID
// ) := {
// link := {
// csap := p_csap,
// linkID := p_linkID
// },
// ctx := {
// fmtID := 0, // FIXME Use PIXIT PX_FMTID_CTX
// version := 0, // FIXME Use PIXIT PX_VERSIONFSAP
// clientID := p_clientID,
// servContextList := { },
// ipContextList := { }
// }
// } // End of template m_gCctxTxCmd
//
// /**
// * @desc Send "CTX" in reply to SAM
// * @param p_csap Source address - see ISO 21218 Clause 5.4.2.1 & 5.4.2.2
// * @param p_linkID Destination link ID - see ISO 21218 Clause 5.4.2.2
// * @param p_clientID Station ID of the client ITS station
// *
garciay
committed
// */
// template (value) CTXrxNot m_cTXrxNot(
// in template (value) IN_SAPaddress p_csap,
// in template (value) Link_ID p_linkID,
// in template (value) StationID p_clientID
// ) := {
// link := {
// csap := p_csap,
// linkID := p_linkID
// },
// ctx := {
// fmtID := 0, // FIXME Use PIXIT PX_FMTID_CTX
// version := 0, // FIXME Use PIXIT PX_VERSIONFSAP
// clientID := p_clientID,
// servContextList := { },
// ipContextList := { }
// }
// } // End of template m_cTXrxNot
garciay
committed
* @desc Receive template for GCctx
* @param p_applicationID The application ID
* @param p_clientID Client identifier
* @param p_serviceContext Additional service context information
* @see ISO 24102-5 Clause 8.2.6 Reception of CTX
*/
template (present) MF_Command mdw_mfCommand_gCctx(
in template (present) ApplicationID p_applicationID,
in template (present) StationID p_clientID,
in template (present) CTXserviceData p_serviceContext
) modifies mw_mfCommand_any := {
mfCmd := {
gCctx := {
applicationID := p_applicationID,
clientID := p_clientID,
serviceContext := p_serviceContext
} // End of header 'gCctx'
} // End of header 'mfCmd'
} // End of template mw_mfCommand_gCctx
/**
* @desc Receive template for GCctxTxCmd
* @param p_link Source address
* @param p_ctx CTX information
* @see ISO 24102-5 Clause 8.3.4 Reception of SAM and transmission of CTX
*/
template (present) MF_Command mw_mfCommand_gCctxTxCmd(
garciay
committed
in template (present) CALMllsap.LLserviceAddr p_link,
in template (present) CTX p_ctx
) modifies mw_mfCommand_any := {
mfCmd := {
gCctxTxCmd := {
link := p_link,
ctx := p_ctx
} // End of header 'gCctxTxCmd'
} // End of header 'mfCmd'
} // End of template mw_mfCommand_gCctxTxCmd
/**
* @desc Generic receive template for CTX.
*/
template (present) CTX mw_ctx_any := {
fmtID := PX_FMTID_CTX,
version := PX_VERSION_FSAP,
clientID := ?,
servContextList := ?,
ipContextList := ?
} // End of template mw_ctx_any
/**
* @desc Receive template for CTX with non-ip service context
* @param p_servContext Additional service data information for non-IP based services (timeout information)
* @see ISO2410-5 Clause 8.2.1 Groupcast registration
* @see ISO2410-5 Figure 9 — serviceList
*/
template (present) CTX mw_ctx_NonipContext(
in template (present) NonipContext p_servContext
) modifies mw_ctx_any := {
servContextList := superset(p_servContext)
} // End of template mw_ctx_NonipContext
/**
* @desc Receive template for CTX in non-ip context
* @param p_serviceID The globally unique ITS-AID of the ITS-S application
* @param p_userPort Service port number
* @see ISO2410-5 Clause 8.2.1 Groupcast registration
* @see ISO2410-5 Figure 9 — serviceList
*/
template (present) NonipContext mw_nonipContext(
in template (present) ITSaid p_serviceID,
in template (present) PortNumber p_userPort
) := {
serviceID := p_serviceID,
contextData := ?,
userPort := p_userPort
} // End of template mw_nonipContext
/**
* @desc Generic receive template for CTXserviceData
*/
template (present) CTXserviceData mw_ctxDataServercice_any := {
fill := ?,
servData := ?
} // End of template mw_ctxDataServercice_any
/**
* @desc Receive template for CTXserviceData
* @param p_serviceID The globally unique ITS-AID of the ITS-S application
* @param p_contextData Additional context data information for non-IP based services (timeout information)
* @param p_userPort Service port number
*/
template (present) CTXserviceData mdw_ctxServiceDataNonIP(
in template (present) ITSaid p_serviceID,
in template (present) ContextData p_contextData,
in template (present) PortNumber p_userPort
) modifies mw_ctxDataServercice_any := {
servData := {
nonipContext := {
serviceID := p_serviceID,
contextData := p_contextData,
userPort := p_userPort
} // End of field 'nonipService'
} // End of field 'servData'
} // End of template mdw_ctxServiceDataNonIP
garciay
committed
// /**
// * @desc Confirmation of Service context message transmission
// * @param p_csap Source address - see ISO 21218 Clause 5.4.2.1 & 5.4.2.2
// * @param p_linkID Destination link ID - see ISO 21218 Clause 5.4.2.2
// * @param p_clientID Station ID of the client ITS station
// *
garciay
committed
// */
// template GCctxTxCmd mw_gCctxTxCmd(
// in template (present) IN_SAPaddress p_csap,
// in template (present) Link_ID p_linkID,
// in template (present) StationID p_clientID
// ) := {
// link := {
// csap := p_csap,
// linkID := p_linkID
// },
// ctx := {
// fmtID := 0, // FIXME Use PIXIT PX_FMTID_CTX
// version := 0, // FIXME Use PIXIT PX_VERSIONFSAP
// clientID := p_clientID,
// servContextList := ?,
// ipContextList := ?
// }
// } // End of template mw_gCctxTxCmd