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_request, MF_Command_confirm, MF_Command,
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
};
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
/**
* @desc Receive template for MF-SAP service primitives
* @param p_mfCommandRequestIn MF-COMMAND.request service primitive to receive
*/
template (present) FsapReq mw_fsapReq_mfCommandRequest(
in template (present) MF_Command_request p_mfCommandRequestIn
) := {
mfCommandRequestIn := p_mfCommandRequestIn
} // End of template mw_fsapReq_mfCommandRequest
/**
* @desc Receive template for MF-SAP service primitives
* @param p_mfCommandConfirmIn MF-COMMAND.confirm service primitive to receive
*/
template (present) FsapReq mw_fsapReq_mfCommandConfirm(
in template (present) MF_Command_confirm p_mfCommandConfirmIn
) := {
mfCommandConfirmIn := p_mfCommandConfirmIn
} // End of template mw_fsapReq_mfCommandConfirm
* @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_mfRequestGcregServer(
in template (value) ApplicationID p_applicationId,
in template (value) GCschedule p_gCschedule,
in template (value) ServiceDataReg p_serviceDataReg
) := {
fill := '0000'B,
mfReq := {
gCregServer := {
gCschedule := p_gCschedule,
priority := PX_USER_PRIORITY,
serviceDataReg := p_serviceDataReg
} // End of field 'gCregServer'
} // End of template m_mfRequestGcregServer
/**
* @desc Generic receive GCregServer template
* Used for:
* <li>modifying restrictif template</li>
* <li>default altstep</li>
* @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
* @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
template (value) MF_Request m_mfRequest_gCregClientWithNoSessionAndNoCtx(
in template (value) ApplicationID p_applicationId,
in template (value) ITSaid p_serviceId
) := {
fill := '0000'B,
mfReq := {
gCregClient := {
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 := {
priority := PX_USER_PRIORITY,
contextData := ''O
} // End of field 'gCregClient'
} // End of field 'mfReq'
} // End of template m_mfRequest_gCregClientWithSessionAndCtx
* @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) ServiceList p_serviceList
) := {
fill := '0000'B,
mfReq := {
sAMrxNot := {
link := p_link,
sam := {
fmtID := PX_FMTID_SAM,
version := PX_VERSION_FSAP,
serviceList := p_serviceList,
channelList := { },
ipServList := { }
} // End of field 'sam'
} // End of field 'sAMrxNot'
} // End of field 'mfReq'
* @desc Generic receive MF-COMMAND template
* Used for:
* <li>modifying restrictif template</li>
* <li>default altstep</li>
garciay
committed
template (present) MF_Command mw_mfCommand_any := {
fill := ?,
mfCmd := ?
} // End of template mw_mfCommand_any
* @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
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 := {
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
* @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 := {
applicationID := p_applicationId,
serverID := p_serverId,
serviceInfo := p_serviceInfo
} // End of header 'gCsam'
garciay
committed
} // End of header 'mfCmd'
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) ServiceData p_serviceData,
in template (present) PortNumber p_providerPort
garciay
committed
servData := {
nonipService := {
garciay
committed
serviceData := p_serviceData,
providerPort := p_providerPort
} // End of field 'nonipService'
} // End of field 'servData'
} // End of template mw_samDataServerciceWithAccessTechAndNonIP
garciay
committed
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(
garciay
committed
in template (value) CTX p_ctx
) := {
fill := '0000'B,
mfReq := {
cTXrxNot := {
garciay
committed
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(
garciay
committed
) := {
fmtID := PX_FMTID_CTX,
version := PX_VERSION_FSAP,
garciay
committed
} // End of template m_ctx
garciay
committed
* @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) CTXserviceData p_serviceContext
) modifies mw_mfCommand_any := {
mfCmd := {
gCctx := {
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 mdw_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'
* @desc Generic receive template for CTX.
* Used for:
* <li>modifying restrictif template</li>
* <li>default altstep</li>
* @see ISO 24102-5 Clause 8.2.6 Reception of 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
in template (present) NonipContext p_servContext
) modifies mw_ctx_any := {
servContextList := ? // FIXME To be reviewed during validation superset(p_servContext)
* @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) PortNumber p_userPort
) := {
contextData := ?,
userPort := p_userPort
* @desc Generic receive template for CTXserviceData
* Used for:
* <li>modifying restrictif template</li>
* <li>default altstep</li>
*/
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) ContextData p_contextData,
in template (present) PortNumber p_userPort
) modifies mw_ctxDataServercice_any := {
servData := {
nonipContext := {
contextData := p_contextData,
userPort := p_userPort
} // End of field 'nonipService'
} // End of field 'servData'