/**
* @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 CALMiitsscu language "ASN.1:1997" {
type
PduCounter
};
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
};
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_command_request
) := {
msgIn := p_command_request
}
/**
* @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_command_confirm
) := {
msgIn := p_command_confirm
}
/**
* @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 {
/**
* @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-Request.confirm service primitive
* Used for:
* modifying restrictif template
* default altstep
* @param p_errorStatus Error status in response of MF-REQUEST.request service primitive
* @see a_mgtMFSapPortDefault altstep statement
*/
template MF_Command_confirm mw_mfCommandConfirm(
in template (value) ErrStatus p_errorStatus
) := {
commandRef := ?,
cmdConfirm := {
fill := ?,
mfCmdConf := ?
}, // End of field 'cmdConfirm'
errStatus := p_errorStatus
} // End of template mw_mfCommandConfirm
template MF_Command_confirm mdw_mfCommandConfirm_gCsamctxConf(
in template (value) ErrStatus p_errorStatus
) modifies mw_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 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_mfRequest MF-Request message description
*/
template (value) MF_Request_request m_RequestRequest(
in template (value) CommandRef p_commandRef,
in template (value) MF_Request p_mfRequest
) := {
commandRef := p_commandRef,
request_param := p_mfRequest
} // End of template m_RequestRequest
} // 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 Unspecified receive template for MF-Request.confirm service primitive
* Used for:
* modifying restrictif template
* default altstep
* @param p_errorStatus Error status in response of MF-REQUEST.request service primitive
* @see a_mgtMFSapPortDefault altstep statement
*/
template MF_Request_confirm mw_mfRequestConfirm(
in template (present) ErrStatus p_errorStatus
) := {
commandRef := ?,
reqConfirm := {
fill := ?,
mfReqConf := ?
}, // End of field 'reqConfirm'
errStatus := p_errorStatus
} // End of template mw_mfRequestConfirm
/**
* @desc Generic 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 MF_Request_request mdw_RequestRequest(
in template (present) CommandRef p_commandRef,
in template (present) MF_Request p_mfReq
) modifies mw_mfRequestRequest_any := {
commandRef := p_commandRef,
request_param := p_mfReq
} // End of template mdw_RequestRequest
} // 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 {
group mgtMNSapTemplatesSend {
/**
* @desc Send template for MN-SAP 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-SAP 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
}
} // End of group mgtMNSapTemplatesSend
group mgtMNSapTemplatesRecv {
/**
* @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
}
/**
* @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 := ?,
errStatus := ?
} // End of template mw_mnCommandConfirm_any
/**
* @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 := ?
} // 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
} // End of group mgtMNSapTemplatesRecv
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 := {
mfReq := {
fWTsetNot := {
fill := ?,
setNot := ?
} // End of field 'fWTsetNot'
} // End of field 'mfReq'
} // End of field 'request_param'
} // End of template mdw_fWTSetNotRequestReq
/**
* @desc Receive "FWTupdateNot message" to notify update in the FNTP Forwarding Table
* @see ISO 24102-3 Clause E.2.4
*/
// template MN_Request_request mdw_fWTupdateNotRequestReq
// modifies mw_mnRequestRequest_any := {
// request_param := {
// fWTupdateNot := {
// fast := ?
// }
// }
// } // End of template mdw_fWTUpdateNotRequestReq
/**
* @desc Receive "FWTdeleteNot message" to notify deletion of an entry in the FNTP Forwarding Table
* @see ISO 24102-3 Clause E.2.5
*/
// FIXME To be removed - Moved on NF-SAP
// template MN_Request_request mdw_fWTdeleteNotRequestReq
// modifies mw_mnRequestRequest_any := {
// request_param := {
// fWTdeleteNot := {
// fast := ?
// }
// }
// } // End of template mdw_fWTdeleteNotRequestReq
} // 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 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 Receive 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 (present) MI_Get_request mw_miGetRequest(
in template (present) Link_ID p_linkID,
in template (present) CommandRef p_commandRef,
in template (present) IParamNoList p_get_param_no
) := {
linkID := p_linkID,
commandRef := p_commandRef,
get_param_no := p_get_param_no
} // End of template mw_miGetRequest
/**
* @desc Receive 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_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_set_param
) := {
linkID := p_linkID,
commandRef := p_commandRef,
set_param := p_set_param
} // End of template mw_miSetRequest
} // End of mgtMISapTemplatesRecv
} // End of group mgtMISapTemplates
} // End of group mgtSapTemplates
} // End of module LibItsMgt_Templates