/** * @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_Request_request, MF_Request }; import from CALMllsap language "ASN.1:1997" { type LLserviceAddr, Link_ID, UserPriority }; import from CALMfntp language "ASN.1:1997" { type PortNumber }; import from CALMfsap language "ASN.1:1997" { type ApplicationID, GCctxTxCmd, GCregServer, GCregClient, GCderegClient, GCschedule, ServiceDataReg, ServiceData, ContextData, SAMserviceData, CTXserviceData, SAM, SAMrxNot, CTX, CTXrxNot }; import from LibItsFsap_Pixits { modulepar PX_FMTID_CTX, PX_VERSION_FSAP, PX_USER_PRIORITY }; import from LibItsCommon_TypesAndValues { type UtInitialize, UtCommandRequest }; group fsapPrimitives { group utPrimitives { /** * @desc Initializes the FSAP IUT */ template (value) UtInitialize m_fsapInitialize := { utFsapInitialize := { } } // End of template m_fsapInitialize /** * @desc Send template to generate a COMMAND.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 { // /*** // * @desc TODO // * @param p_serverID TODO // */ // template (value) SAM m_sam( // in template (value) StationID p_serverID // ) := { // fmtID := 0, // FIXME Use PIXIT PX_FMTID_SAM // version := 0, // FIXME Use PIXIT PX_VERSIONFSAP // serverID := p_serverID, // serviceList := { }, // channelList := { }, // ipServList := { } // } // End of template m_sam // // /*** // * @desc TODO // * @param p_clientID TODO // */ // template (value) CTX m_ctx( // in template (value) StationID p_clientID // ) := { // fmtID := 0, // FIXME Use PIXIT PX_FMTID_CTX // version := 0, // FIXME Use PIXIT PX_VERSIONFSAP // clientID := p_clientID, // servContextList := { }, // ipContextList := { } // } // End of template m_ctx // } // End of group taPrimitives group cregServerMessagePDU { group send_ { 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 send_ group recv_ { 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 recv_ } // End of group cregServerMessagePDU group cregClientMessagePDU { group send_ { /** * @desc ITS-S application shall register 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 * @param p_serviceID The globally unique ITS-AID of the ITS-S application * @see ISO/CD 24102-5 Clause 8.5 */ template (value) MF_Request m_mfRequest_GCregClient( 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_GCregServer } // End of group send_ group recv_ { 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/CD 29281-2 Clause 8.1 @see ISO/CD 24102-5 Clause 8.3.1 */ template 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 cregMessagePDU } // end of group recv_ 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/CD 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/CD 29281-2 Clause 8.1 @see ISO/CD 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 group samMessagePDU { group send_ { // template (value) SAMrxNot m_sAMrxNot( // in template (value) IN_SAPaddress p_csap, // in template (value) Link_ID p_linkID, // in template (value) StationID p_serverID // ) := { // link := { // csap := p_csap, // linkID := p_linkID // }, // sam := { // fmtID := 0, // FIXME Use PIXIT PX_FMTID_CTX // version := 0, // FIXME Use PIXIT PX_VERSIONFSAP // serverID := p_serverID, // serviceList := { }, // channelList := { }, // ipServList := { } // } // } // End of template m_sAMrxNot // } // End of group send_ group recv_ { /** * @desc */ template (present) MF_Command mw_mfCommand_any := { fill := ?, mfCmd := ? } // End of template mw_mfCommand_any 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 ) modifies mw_mfCommand_any := { mfCmd := { gCsam := { applicationID := p_applicationID, serverID := p_serverID, serviceData := p_serviceData } // End of header 'gCsam' } // End of header 'mfCmd' } // End of template mw_mfCommand_gCSAM 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 template (present) SAMserviceData mw_samDataServerciceWithAccessTechAndNonIP( in template (present) ITSaid p_serviceID, in template (present) ServiceData p_serviceData, in template (present) PortNumber p_providerPort ) := { fill := ?, servData := { nonipService := { serviceID := p_serviceID, serviceData := p_serviceData, providerPort := p_providerPort } // End of field 'nonipService' } // End of field 'servData' } // End of template mw_samDataServerciceWithAccessTechAndNonIP template (present) CTXserviceData mw_ctxDataServercice_any := { fill := ?, servData := ? } // End of template mw_ctxDataServercice_any 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 // template SAMrxNot mw_sAMrxNot( // in template (present) IN_SAPaddress p_csap, // in template (present) Link_ID p_linkID, // in template (present) StationID p_serverID // ) := { // link := { // csap := p_csap, // linkID := p_linkID // }, // sam := { // fmtID := 0, // FIXME Use PIXIT PX_FMTID_CTX // version := 0, // FIXME Use PIXIT PX_VERSIONFSAP // serverID := p_serverID, // serviceList := ?, // channelList := ?, // ipServList := ? // } // } // End of template m_sAMrxNot // } // End of group recv_ } // End of group samMessagePDU group ctxMessagePDU { group send_ { /** * @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 * @see ISO/CD 24102-5 Clause 8.2.6 */ 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 template (value) CTX m_ctx( in template (value) StationID p_clientID ) := { fmtID := PX_FMTID_CTX, version := PX_VERSION_FSAP, clientID := p_clientID, servContextList := { }, ipContextList := { } } // End of template m_ctx // /** // * @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 // * // @see ISO/CD 24102-5 Clause 7.2.3 // */ // 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 // * // @see ISO/CD 24102-5 Clause 7.2.3 // */ // 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 } // End of group send_ group recv_ { template (present) CTXrxNot mw_ctxRxNotify( in template (present) CALMllsap.LLserviceAddr p_link, in template (present) CTX p_ctx ) := { link := p_link, ctx := p_ctx } // End of template mw_ctxRxNotify // /** // * @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 // * // @see ISO/CD 24102-5 Clause 7.2.3 // */ // 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 } // End of group recv_ } // End of group ctxMessagePDU } // End of group fsapPrimitives } // End of module LibItsFsap_Templates