/** * @author ETSI / STF422_EETS * @version $URL$ * $Id$ * @desc Templates definitions for ITS station management (ISO 24102-3) */ module LibItsMgt_Templates { // LibCommon import from LibCommon_BasicTypesAndValues { type UInt8, UInt16; }; // LibIts import from CALMmanagement language "ASN.1:1997" { type ITS_scuId }; // FIXME Check why TTWB raises an error on ErrStatus (not found)? import from CALMllsap language "ASN.1:1997" all;/*{ type ErrStatus, MedType , CIaClass, CIclass };*/ import from CALMmsap language "ASN.1:1997" all; import from CALMfntp language "ASN.1:1997" { type PortNumber }; import from LibItsMgt_TypesAndValues { type IParamNoList, IParamList, ErrorsList }; import from LibItsMgt_Pixits { modulepar PX_PDU_REQUEST_FILL_FIELD_VALUE }; import from LibItsCalm_Interface { type MgtMfSapCommandReq, MgtMfSapCommandConfirm, MgtMfSapRequestReq, MgtMfSapRequestConfirm, MgtMnSapCommandReq, MgtMnSapCommandConfirm, MgtMnSapRequestReq, MgtMnSapRequestConfirm }; group mgtSapTemplates { /** * @desc MF-SAP service primitives templates * @see ISO 24102-3 Clause 8 */ group mgtMfSapTemplates { /** * @desc Send template for MF-SAP service primitives * @param p_msg MF-REQUEST.request service primitive to be sent */ template (value) MgtMfSapRequestReq m_mgtMfSapRequestReq( in template (value) MF_Request_request p_msg ) := { msgInOut := p_msg } /** * @desc Receive template for MF-SAP service primitives * @param p_msg MF-REQUEST.request service primitive to be received */ template MgtMfSapRequestReq mw_mgtMfSapRequestReq( in template (present) MF_Request_request p_msg ) := { msgInOut := p_msg } /** * @desc Receive template for MF-SAP service primitives * @param p_command_request MF-COMMAND.request service primitive to be sent */ template MgtMfSapCommandReq mw_mgtMfSapCommandReq( in template (present) MF_Command_request p_commandRequest ) := { msgIn := p_commandRequest } /** * @desc Receive template for MF-SAP service primitives * @param p_command_request MF-COMMAND.confirm service primitive to be sent */ template MgtMfSapCommandConfirm mw_mgtMfSapCommandConfirm( in template (present) MF_Command_confirm p_commandConfirm ) := { msgIn := p_commandConfirm } /** * @desc Receive template for MF-SAP service primitives * @param p_msg MF-REQUEST.confirm service primitive to be received */ template MgtMfSapRequestConfirm mw_mgtMfSapRequestConfirm( in template (present) MF_Request_confirm p_msg ) := { msgIn := p_msg } /** * @desc Templates for MF-SAP * @see ISO 24102-3 Clause 8.2 */ group mfCommandRequest { group mfCommandRequestSend { /** * @desc Generic send template for MF-COMMAND.request service primitive * @param p_commandRef Unique cyclic reference number of command. * @param p_mfCmd MF-Command message description */ template (value) MF_Command_request m_mfCommandRequest( in template (value) CommandRef p_commandRef, in template (value) MF_Command p_mfCmd ) := { commandRef := p_commandRef, command_param := p_mfCmd } // End of template m_mfCommandRequest } // End of group mfCommandRequestSend group mfCommandRequestRecv { /** * @desc Unspecified receive template for MF-COMMAND.request service primitive * Used for: *
  • modifying restrictif template
  • *
  • default altstep
  • * @see a_mgtMfSapPortDefault altstep statement */ template MF_Command_request mw_mfCommandRequest_any := { commandRef := ?, command_param := { fill := ?, mfCmd := ? } // End of 'command_param' field } // End of template mw_mfCommandRequest_any /** * @desc Unspecified receive template for MF-COMMAND.confirm service primitive * @see a_mgtMfSapPortDefault altstep statement * @see ISO 24102-3 Clause 8.3.3 */ template MF_Command_confirm mw_mfCommandConfirm_any := { commandRef := ?, cmdConfirm := { fill := ?, mfCmdConf := ? }, // End of field 'mfCmdConf' errStatus := ? } // End of template mw_mfCommandConfirm_any /** * @desc Receive template for MF-Request.confirm service primitive * @param p_errorStatus Error status */ template MF_Command_confirm mdw_mfCommandConfirm( in template (present) ErrStatus p_errorStatus ) modifies mw_mfCommandConfirm_any:= { errStatus := p_errorStatus } // End of template mw_mfCommandConfirm template MF_Command_confirm mdw_mfCommandConfirm_gCsamctxConf( in template (value) ErrStatus p_errorStatus ) modifies mdw_mfCommandConfirm := { cmdConfirm := { mfCmdConf := { gCsamctx := ? } // End of field 'mfCmdConf' } // End of field 'cmdConfirm' } // End of template mdw_mfCommandConfirm_gCsamctxConf /** * @desc Generic receive template for MF-COMMAND.request service primitive * @param p_commandRef Unique cyclic reference number of command. * @param p_mfCmd MF-Command message description */ template MF_Command_request mw_mfCommandRequest( in template (present) CommandRef p_commandRef, in template (present) MF_Command p_mfCmd ) := { commandRef := p_commandRef, command_param := p_mfCmd } // End of template mw_mfCommandRequest } // End of group mfCommandRequestRecv } // End of group mfCommandRequest group mfRequestRequest { group mfRequestRequestSend { /** * @desc Generic receive template for MF-REQUEST.request service primitive * @param p_commandRef Unique cyclic reference number of command. * @param p_request_param MF-Request message description */ template (value) MF_Request_request m_mfRequestRequest( in template (value) CommandRef p_commandRef, in template (value) MF_Request p_requestParam ) := { commandRef := p_commandRef, request_param := p_requestParam } // End of template m_mfRequestRequest } // End of group mfRequestRequestSend group mfRequestRequestRecv { /** * @desc Unspecified receive template for MF-REQUEST.request service primitive * Used for: *
  • modifying restrictif template
  • *
  • default altstep
  • * @see a_mgtMfSapPortDefault altstep statement */ template MF_Request_request mw_mfRequestRequest_any := { commandRef := ?, request_param := { fill := ?, mfReq := ? } // End of 'request_param' field } // End of template mw_mfRequestRequest_any /** * @desc Receive template for MF-Request.confirm service primitive * @param p_errorStatus Error status in response of MF-REQUEST.request service primitive */ template MF_Request_confirm mw_mfRequestConfirm( in template (present) ErrStatus p_errorStatus ) := { commandRef := ?, reqConfirm := { fill := ?, mfReqConf := ? }, // End of field 'mfReqConf' errStatus := p_errorStatus } // End of template mw_mfRequestConfirm /** * @desc Receive template for MF-REQUEST.request service primitive * @param p_commandRef Unique cyclic reference number of command. Same value as in related MF-REQUEST.request * @param p_mfReq Command issued by the ITS-S facilities layer and sent to the ITS-S management entity via the MF-SAP */ template (present) MF_Request_request mw_mfRequestRequest( in template (present) CommandRef p_commandRef, in template (present) MF_Request p_mfReq ) := { commandRef := p_commandRef, request_param := p_mfReq } // End of template mw_mfRequestRequest } // End of group mfRequestRequestRecv } // End of group mfRequestRequest } // End of group mgtMfSapTemplates /** * @desc MN-SAP service primitives templates * @see ISO 24102-3 Clause 7 */ group mgtMnSapTemplates { /** * @desc Receive template for MN-SAP service primitives. Used to monitor MN-SAP * @param p_msg MF-COMMAND.request service primitive to be sent * @see ISO 24102-3 Clause 7.2.2 */ template MgtMnSapCommandReq mw_mgtMnSapCommandReq( in template (present) MN_Command_request p_msg ) := { msgInOut := p_msg } /** * @desc Receive template for MN-SAP service primitives * @param p_msg MF-COMMAND.confirm service primitive to be received * @see ISO 24102-3 Clause 7.2.3 */ template MgtMnSapCommandConfirm mw_mgtMnSapCommandConfirm( in template (present) MN_Command_confirm p_msg ) := { msgIn := p_msg } /** * @desc Receive template for MN-SAP service primitives * @param p_msg MF-REQUEST.request service primitive to be received * @see ISO 24102-3 Clause 7.3.2 */ template MgtMnSapRequestReq mw_mgtMnSapRequestReq( in template (present) MN_Request_request p_msg ) := { msgInOut := p_msg } /** * @desc Receive template for MN-SAP service primitives * @param p_msg MF-REQUEST.request service primitive to be received * @see ISO 24102-3 Clause 7.3.3 */ template MgtMnSapRequestConfirm mw_mgtMnSapRequestConfirm( in template (present) MN_Request_confirm p_msg ) := { msgIn := p_msg } group mnCommandRequest { group mfCommandRequestSend { /** * @desc Send template for MN-SAP/MN_Command_request service primitives. used to send MN-COMMAND.request when Management is the IUT * @param p_msg MF-COMMAND.request service primitive to be sent * @see ISO 24102-3 Clause 7.2.2 */ template (value) MgtMnSapCommandReq m_mgtMnSapCommandReq( in template (value) MN_Command_request p_msg ) := { msgInOut := p_msg } /** * @desc Send template for MN-COMMAND.request service primitive * @see ISO 24102-3 Clause 7.3.3 */ template (value) MN_Command_request m_mnCommandRequest( in template (value) CommandRef p_commandRef, in template (value) MN_Command p_mnCmd ) := { commandRef := p_commandRef, command_param := p_mnCmd } // End of template mw_mnCommandRequest } // group mnCommandRequestSend group mnCommandRequestRecv { /** * @desc Receive template for MN-COMMAND.request service primitive * @see ISO 24102-3 Clause 7.3.3 */ template MN_Command_request mw_mnCommandRequest( in template (present) CommandRef p_commandRef, in template (present) MN_Command p_mnCmd ) := { commandRef := p_commandRef, command_param := p_mnCmd } // End of template mw_mnCommandRequest /** * @desc Unspecified receive template for MN-COMMAND.confirm service primitive * @see a_mgtMnSapPortDefault altstep statement * @see ISO 24102-3 Clause 7.3.3 */ template MN_Command_confirm mw_mnCommandConfirm_any := { commandRef := ?, cmdConfirm := { fill := ?, mnCmdConf := ? }, // End of field 'mnCmdConf' errStatus := ? } // End of template mw_mnCommandConfirm_any template MN_Command_confirm mdw_mnCommandConfirm( in template (present) ErrStatus p_errorStatus ) modifies mw_mnCommandConfirm_any:= { errStatus := p_errorStatus } // End of template mdw_mnCommandConfirm } // group nCommandRequestRecv } // End of group mnCommandRequest group mnRequestRequest { group mnRequestRequestSend { /** * @desc Send template for MN-SAP/MN_Request_request service primitives * @param p_msg MF-REQUEST.confirm service primitive to be received * @see ISO 24102-3 Clause 7.3.2 */ template (value) MgtMnSapRequestReq m_mgtMnSapRequestReq( in template (value) MN_Request_request p_msg ) := { msgInOut := p_msg } /** * @desc Generic receive template for MN-REQUEST.request service primitive * @param p_commandRef Unique cyclic reference number of command. * @param p_request_param MF-Request message description */ template (value) MN_Request_request m_mnRequestRequest( in template (value) CommandRef p_commandRef, in template (value) MN_Request p_requestParam ) := { commandRef := p_commandRef, request_param := p_requestParam } // End of template m_mnRequestRequest } // End of group mnRequestRequestSend group mnRequestRequestRecv { /** * @desc Unspecified receive template for MN-REQUEST.request service primitive * Used for: *
  • modifying restrictif template
  • *
  • default altstep
  • * @see a_mgtMnSapPortDefault altstep statement */ template MN_Request_request mw_mnRequestRequest_any := { commandRef := ?, request_param := { fill := ?, mnReq := ? } // End of 'request_param' field } // End of template mw_mnRequestRequest_any /** * @desc Unspecified receive template for MN-REQUEST.confirm service primitive * Used for: *
  • modifying restrictif template
  • *
  • default altstep
  • * @see a_mgtMnSapPortDefault altstep statement */ template MN_Request_confirm mw_mnRequestConfirm_any := { commandRef := ?, reqConfirm := ?, errStatus := ? } // End of template mw_mnRequestConfirm_any /** * @desc Receive template for MN-Request.confirm service primitive * @param p_errorStatus Error status in response of MN-REQUEST.request service primitive */ template MN_Request_confirm mw_mnRequestConfirm( in template (present) ErrStatus p_errorStatus ) := { commandRef := ?, reqConfirm := { fill := ?, mnReqConf := ? }, // End of field 'reqConfirm' errStatus := p_errorStatus } // End of template mw_mnRequestConfirm /** * @desc Receive template for MN-REQUEST.request service primitive * @param p_commandRef Unique cyclic reference number of command. Same value as in related MNREQUEST.request * @param p_mnReq Command issued by the ITS-S facilities layer and sent to the ITS-S management entity via the MN-SAP */ template MN_Request_request mw_mnRequestRequest( in template (present) CommandRef p_commandRef, in template (present) MN_Request p_mnReq ) := { commandRef := p_commandRef, request_param := p_mnReq } // End of template mw_mnRequestRequest } // End of group mnRequestRequestRecv } // End of group mnRequestRequest group fwtNotifies { /** * @desc Receive "FWTsetNot message" to notify the creation of an entry in a forwarding table * @see ISO 24102-3 Clause E.2.3 */ template (present) MN_Request_request mdw_fwtSetNotRequestReq modifies mw_mnRequestRequest_any := { request_param := { mnReq := { fWTsetNot := { fill := ?, setNot := ? } // End of field 'fWTsetNot' } // End of field 'mfReq' } // End of field 'request_param' } // End of template mdw_fWTSetNotRequestReq } // End of group fwtNotifies group fwtCommands { /** * @desc Received template on forwarding table update request * @see ISO 24102-3 Clause D.2.4 */ template MN_Command_request mw_fwtUpdateCommandReq := { commandRef := ?, command_param := { fill := ?, mnCmd := { fWTupdate := mw_fwtUpdate } // End of field 'mnCmd' } // End of field 'command_param' } // End of template mw_fWTUpdateCommandReq /** * @desc Received template on forwarding table change request * @see ISO 24102-3 D.2.3 FWTset */ template MN_Command_request mw_fwtSetCommandReq := { commandRef := ?, command_param := { fill := ?, mnCmd := { fWTset := mw_fwtSet_any } // End of field 'mnCmd' } // End of field 'command_param' } // End of template mw_fwtSetCommandReq /** * @desc Receive a "FWTupdate message" to update the FNTP forwarding table * @see ISO 24102-3 Clause E.2.4 */ template FWTupdate mw_fwtUpdate := { fill := ?, update := { fntp := { reference := ?, remotePort := omit, linkID := omit, ciStatus := omit, linkPort := omit, serviceInfo := omit, priority := omit, timeout_ := 100 } // End of field 'fntp' } // End of field 'update' } // End of template mw_fwtUpdate /** * @desc Generic received template on setting an entry in the forwarding table of a networking protocol * Used for: *
  • modifying restrictif template
  • *
  • default altstep
  • * @see ISO 24102-3 D.2.3 FWTset */ template FWTset mw_fwtSet_any := { fill := ?, set_ := { fntp := { remotePort := ?, linkID := ?, ciStatus := ?, linkPort := ?, serviceInfo := ?, priority := ?, timeout_ := ? } // End of field 'fntp' } // End of field 'set_' } // End of template mw_fwtSet_any /** * @desc Received template on setting an entry in the forwarding table of a networking protocol * @see ISO 24102-3 D.2.3 FWTset */ template FWTset mdw_fwtSet( in template (present) PortNumber p_remotePort ) modifies mw_fwtSet_any := { set_ := { fntp := { remotePort := p_remotePort } // End of field 'fntp' } // End of field 'set_' } // End of template mdw_fwtSet } // End of group fwtCommands } // End of group mgtMnSapTemplates group mgtMiSapTemplates { group mgtMiSapTemplatesSend { /** * @desc Send template for MI-COMMAND.request service primitive * @param p_linkID Link ID of the peer station * @param p_commandRef Unique cyclic reference number of command. Same value as in related MN-REQUEST.request * @param p_command_param MI_Command message description * @see ISO 24102-3 Clause 6.4.2 MI-COMMAND.request */ template (value) MI_Command_request m_miCommandRequest( in template (value) Link_ID p_linkId, in template (value) CommandRef p_commandRef, in template (value) MI_Command p_commandParam ) := { linkID := p_linkId, commandRef := p_commandRef, command_param := p_commandParam } // End of template mw_miCommandRequest /** * @desc Generic receive template for MN-REQUEST.request service primitive * @param p_linkId Link identifier of the CI * @param p_commandRef Unique cyclic reference number of command. * @param p_request_param MI-Request message description */ template (value) MI_Request_request m_miRequestRequest( in template (value) Link_ID p_linkId, in template (value) CommandRef p_commandRef, in template (value) MI_Request p_requestParam ) := { linkID := p_linkId, commandRef := p_commandRef, request_param := p_requestParam } // End of template m_miRequestRequest /** * @desc Send template for MI-GET service primitive * @param p_linkID Link ID of the peer station * @param p_commandRef Unique cyclic reference number of command. Same value as in related MN-REQUEST.request * @param p_get_param_no Reference number of parameter to be monitored * @see ISO 24102-3 6.3.1 MI-GET.request * @see ISO 21218 Annex A (normative) I parameters */ template (value) MI_Get_request m_miGetRequest( in template (value) Link_ID p_linkId, in template (value) CommandRef p_commandRef, in template (value) IParamNoList p_getParamNo ) := { linkID := p_linkId, commandRef := p_commandRef, get_param_no := p_getParamNo } // End of template m_miGetRequest /** * @desc Send template for MI-SET service primitive * @param p_linkID Link ID of the peer station * @param p_commandRef Unique cyclic reference number of command. Same value as in related MN-REQUEST.request * @param p_get_param_no Reference number of parameter to be monitored * @see ISO 24102-3 6.3.1 MI-SET.request * @see ISO 21218 Annex A (normative) I parameters */ template (value) MI_Set_request m_miSetRequest( in template (value) Link_ID p_linkId, in template (value) CommandRef p_commandRef, in template (value) IParamList p_setParam ) := { linkID := p_linkId, commandRef := p_commandRef, set_param := p_setParam } // End of template m_miSetRequest } // End of group mgtMiSapTemplatesSend group mgtMiSapTemplatesRecv { /** * @desc Receive template for MI-COMMAND.request service primitive * @param p_linkID Link ID of the peer station * @param p_commandRef Unique cyclic reference number of command. Same value as in related MN-REQUEST.request * @param p_miCmd MI-Command message description * @see ISO 24102-3 6.4.2 MI-COMMAND.request */ template (present) MI_Command_request mw_miCommandRequest( in template (present) Link_ID p_linkId, in template (present) CommandRef p_commandRef, in template (present) MI_Command p_miCmd ) := { linkID := p_linkId, commandRef := p_commandRef, command_param := p_miCmd } // End of template mw_miCommandRequest /** * @desc Send template for MI-COMMAND.request service primitive * @see ISO 24102-3 Clause 6.4.2 MI-COMMAND.request */ template (present) MI_Command_confirm mw_miCommandConfirm( in template (present) ErrStatus p_errorStatus ) := { linkID := ?, commandRef := ?, errStatus := p_errorStatus } // End of template mw_miCommandConfirm /** * @desc Receive template for MI-REQUEST.request service primitive * @param p_commandRef Unique cyclic reference number of command. Same value as in related MNREQUEST.request * @param p_miReq Command issued by the ITS-S facilities layer and sent to the ITS-S management entity via the MI-SAP */ template (present) MI_Request_request mw_miRequestRequest( in template (present) Link_ID p_linkId, in template (present) CommandRef p_commandRef, in template (present) MI_Request p_miReq ) := { linkID := p_linkId, commandRef := p_commandRef, request_param := p_miReq } // End of template mw_miRequestRequest template (present) MI_Request_confirm mw_miRequestConfirm( in template (present) ErrStatus p_errorStatus ) := { linkID := ?, commandRef := ?, errStatus := p_errorStatus } // End of template mw_miRequestConfirm /** * @desc Receive template for MI-GET.request service primitive * @param p_linkID Link ID of the peer station * @param p_commandRef Unique cyclic reference number of command. Same value as in related MN-REQUEST.request * @param p_get_param_no Reference number of parameter to be monitored * @see ISO 24102-3 6.3.1 MI-GET.request * @see ISO 21218 Annex A (normative) I parameters */ template (present) MI_Get_request mw_miGetRequest( in template (present) Link_ID p_linkId, in template (present) CommandRef p_commandRef, in template (present) IParamNoList p_getParamNo ) := { linkID := p_linkId, commandRef := p_commandRef, get_param_no := p_getParamNo } // End of template mw_miGetRequest /** * @desc Send template for MI-GET.confirm service primitive * @see ISO 24102-3 Clause 6.4.2 MI-GET.confirm */ template (present) MI_Get_confirm mw_miGetConfirm( in template (present) IParamList p_setParam ) := { linkID := ?, commandRef := ?, set_param := p_setParam } // End of template mw_miGetConfirm /** * @desc Receive template for MI-SET.request service primitive * @param p_linkID Link ID of the peer station * @param p_commandRef Unique cyclic reference number of command. Same value as in related MN-REQUEST.request * @param p_set_param Reference number of parameter to be monitored * @see ISO 24102-3 6.3.1 MI-SET.request * @see ISO 21218 Annex A (normative) I parameters */ template (present) MI_Set_request mw_miSetRequest( in template (present) Link_ID p_linkId, in template (present) CommandRef p_commandRef, in template (present) IParamList p_setParam ) := { linkID := p_linkId, commandRef := p_commandRef, set_param := p_setParam } // End of template mw_miSetRequest /** * @desc Send template for MI-SET.confirm service primitive * @see ISO 24102-3 Clause 6.2.2 MI-SET.confirm */ template (present) MI_Set_confirm mw_miSetConfirm( in template (present) ErrorsList p_setParam ) := { linkID := ?, commandRef := ?, set_param := p_setParam } // End of template mw_miSetConfirm } // End of mgtMiSapTemplatesRecv } // End of group mgtMiSapTemplates } // End of group mgtSapTemplates } // End of module LibItsMgt_Templates