diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000000000000000000000000000000000..d4233787fb473a16cb273ab88260c286ba6088be --- /dev/null +++ b/.gitmodules @@ -0,0 +1,4 @@ +[submodule "asn1/cdd"] + path = asn1/cdd + url = https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2.git + branch = testing diff --git a/asn1/CALMfntp/CALMfntp.asn b/asn1/CALMfntp/CALMfntp.asn deleted file mode 100644 index 696ee9d704fdbca8002cabdad05dd942b76b7ae4..0000000000000000000000000000000000000000 --- a/asn1/CALMfntp/CALMfntp.asn +++ /dev/null @@ -1,235 +0,0 @@ -CALMfntp { iso (1) standard (0) calm-nonip(29281) fntp(1) asnm-1 (1)} - -DEFINITIONS AUTOMATIC TAGS::=BEGIN - -IMPORTS - -CIstatus, Link-ID, UserPriority FROM CALMllsap {iso(1) standard(0) calm-ll-sap(21218) asnm-1(1)} - -ITS-scuId FROM CALMmanagement { iso (1) standard (0) calm-management (24102) local (1) asnm-1 (1)} - -COMMUPDOWN FROM CALMmsap { iso (1) standard (0) calm-management (24102) msap (3) asnm-1 (1)} - -FNTPlpp FROM CALMlegacySupport { iso (1) standard (0) calm-nonip(29281) legacy (2) asnm-1 (1)} - -ServiceRef FROM CITSapplReq {iso(1) standard(0) cits-applReq (17423) asnm-1 (1)} -; - --- End of IMPORTS - --- Types - --- PDUs -- - - -- FNTP NPDU -- - -FNTPNPDU::=SEQUENCE{ - header FNTPHeader, - body ITSfpdu -- specific to an ITS-S application / message - } - -FNTPHeader::=SEQUENCE{ - sourcePort PortNumber, - destinationPort PortNumber, - options FntpOptions - } - -FntpOptions::=SEQUENCE{ - intForw FNTPintForwarding OPTIONAL, - sec FNTPsecurity OPTIONAL, - hops FNTPhopCount OPTIONAL, - lpp FNTPlpp OPTIONAL, - cip FNTPCIPheader OPTIONAL, - opt5 NULL OPTIONAL, - opt6 NULL OPTIONAL, - opt7 NULL OPTIONAL -} - -FNTPintForwarding::=SEQUENCE{ - hostITS-scuId ITS-scuId, - link Link-ID, - counter FNTPpacketCounter, - sourcePort PortNumber, - destinationPort PortNumber - } - -FNTPpacketCounter::=INTEGER(0..255) - -FNTPsecurity::=OCTET STRING (SIZE(0..65535)) - -FNTPhopCount::=INTEGER(0..255) - -FNTPCIPheader::=SEQUENCE{ - rxCIP RXcip, - txCIP TXcip - } - -RXcip::=OCTET STRING (SIZE(0..255)) - -TXcip::=OCTET STRING (SIZE(0..255)) -- may optionally be forwarded to peer ITS station - - --- Managements SAP service primitives -- --- Payload definitions for primitives defined in ISO 24102 -- - - -- MN-SAP -- - - -- FWTxxx -- - -DeleteFNTP::=SEQUENCE{ - reference INTEGER(0..noFNTPfwtEntries) - } - -DeleteNotFNTP::=SEQUENCE{ - reference INTEGER(0..noFNTPfwtEntries) - } - -SetFNTP::=SEQUENCE{ - remotePort PortNumber, - linkID Link-ID, - ciStatus CIstatus, - linkPort PortNumber, - serviceInfo HostServiceInfo, --formerly ServiceNWref - priority UserPriority, - timeout NTtimeout - } -- SetConfFNTP will return the reference pointing to the new entry. - -SetConfFNTP::=SEQUENCE{ - reference INTEGER(0..noFNTPfwtEntries) - } - -HostServiceInfo::=SEQUENCE{ - servicePort PortNumber, - hostITSscu ITS-scuId, - servicePriority UserPriority - } - -SetNotFNTP::=SEQUENCE{ - reference INTEGER(0..noFNTPfwtEntries), - remotePort PortNumber, - linkID Link-ID, - ciStatus CIstatus, - linkPort PortNumber, - serviceInfo HostServiceInfo, - priority UserPriority, - timeout NTtimeout - } - -UpdateFNTP::=SEQUENCE{ - fill BIT STRING (SIZE(1)), - reference INTEGER(0..noFNTPfwtEntries), - remotePort PortNumber OPTIONAL, - linkID Link-ID OPTIONAL, - ciStatus CIstatus OPTIONAL, - linkPort PortNumber OPTIONAL, - serviceInfo HostServiceInfo OPTIONAL, - priority UserPriority OPTIONAL, - timeout NTtimeout OPTIONAL - } - -UpdateNotFNTP::=SEQUENCE{ - fill BIT STRING (SIZE(1)), - reference INTEGER(0..noFNTPfwtEntries), - remotePort PortNumber OPTIONAL, - linkID Link-ID OPTIONAL, - ciStatus CIstatus OPTIONAL, - linkPort PortNumber OPTIONAL, - serviceInfo HostServiceInfo OPTIONAL, - priority UserPriority OPTIONAL, - timeout NTtimeout OPTIONAL - } - - -- NF-SAP -- - -NFSAP ::= COMMUPDOWN - -NFsapPrimitivesDown::=SEQUENCE{ - spRef NFSAP.&primitiveRef ({NFsapspsdown}), - servPrimitive NFSAP.&Primitive({NFsapspsdown}{@spRef}) - } - -NFsapspsdown NFSAP::={fntpPortRequest | fntpCommRequest, ...} - -fntpPortRequest NFSAP::={&primitiveRef 0, &Primitive NFfntpPortRequest} -fntpCommRequest NFSAP::={&primitiveRef 1, &Primitive NFfntpCommRequest} - -NFsapPrimitivesUp::=SEQUENCE{ - spRef NFSAP.&primitiveRef ({NFsapspsup}), - servPrimitive NFSAP.&Primitive({NFsapspsup}{@spRef}) - } - -NFsapspsup NFSAP::={fntpPortConfirm | fntpCommConfirm | fntpCommIndication, ...} - -fntpPortConfirm NFSAP::={&primitiveRef 0, &Primitive NFfntpPortConfirm} -fntpCommConfirm NFSAP::={&primitiveRef 1, &Primitive NFfntpCommConfirm} -fntpCommIndication NFSAP::={&primitiveRef 2, &Primitive NFfntpCommIndication} - -PortOp::=INTEGER{ - delete (0), - create (255) - } (0..255) - -NFfntpPortRequest::=SEQUENCE{ - serviceRef ServiceRef, - operation PortOp, - portno PortNumber, - priority UserPriority - } - -NFfntpPortConfirm::=SEQUENCE{ - serviceRef ServiceRef, - servicePort PortNumber - } - -NFfntpCommRequest::=SEQUENCE{ - commRef INTEGER(0..255), - servicePort PortNumber, - remotePort PortNumber, - linkID Link-ID, - data ITSfpdu, - priority UserPriority, - controlField FntpOptions -- some options do not apply - } - -NFfntpCommConfirm::=SEQUENCE{ - commRef INTEGER(0..255), - servicePort PortNumber, - errStatus FNTPerrorStatus - } - -FNTPerrorStatus::=INTEGER{ - success (0), - unspecFailure (1), - ciBusyTX (2), - noForwardInfo (254), - ciSuspend (255) - } (0..255) - -NFfntpCommIndication::=SEQUENCE{ - servicePort PortNumber, - remotePort PortNumber, - linkID Link-ID, - data ITSfpdu, - priority UserPriority, - controlField FntpOptions - } - --- General types -- - -PortNumber::=CHOICE{ - portShort INTEGER(0..127), - portLong INTEGER(0..32767) - } - -ITSfpdu::=OCTET STRING(SIZE(0..65535)) -- as defined by application. Details not known to FNTP - - -NTtimeout::=INTEGER(0..65535) -- in s - --- Values - -noFNTPfwtEntries INTEGER::=65535 - - - -END diff --git a/asn1/CALMfntp/CALMlegacySupport.asn b/asn1/CALMfntp/CALMlegacySupport.asn deleted file mode 100644 index a6415b062b216b8f964974a57fbaae90da743b7c..0000000000000000000000000000000000000000 --- a/asn1/CALMfntp/CALMlegacySupport.asn +++ /dev/null @@ -1,29 +0,0 @@ -CALMlegacySupport { iso (1) standard (0) calm-nonip(29281) legacy (2) asnm-1 (1)} - -DEFINITIONS AUTOMATIC TAGS::=BEGIN - -IMPORTS -PortNumber FROM CALMfntp { iso (1) standard (0) calm-nonip(29281) fntp(1) asnm-1 (1)} -; - --- End of IMPORTS - --- General types -- - -Param15628::=SEQUENCE{ - fill BIT STRING (SIZE(7)), - params CHOICE{ - legacyOption [0] INTEGER(0..255), - portPM [1] PortNumber -- Port number of 15628 Port Manager --- [2-254] - } - } - -FNTPlpp::=OCTET STRING (SIZE(0..65535)) - --- Values - - --- Dummy values not defined here which cannot be imported. To be replaced by proper type. - -END diff --git a/asn1/CALMfsap/CALMfsap.asn b/asn1/CALMfsap/CALMfsap.asn deleted file mode 100644 index cf5addfa522841458bfa306c8c8209d84e1f0c18..0000000000000000000000000000000000000000 --- a/asn1/CALMfsap/CALMfsap.asn +++ /dev/null @@ -1,333 +0,0 @@ -CALMfsap { iso (1) standard (0) calm-management (24102) fsap (5) asnm-1 (1)} - -DEFINITIONS AUTOMATIC TAGS::=BEGIN - -IMPORTS - -ITSaid FROM CITSapplMgmtApplReg {iso(1) standard(0) cits-applMgmt (17419) applRegistry (2)} - -PortNumber FROM CALMfntp { iso (1) standard (0) calm-nonip(29281) fntp(1) asnm-1(1)} - -Directivity, LLserviceAddr, MedType, UserPriority FROM CALMllsap {iso(1) standard(0) calm-ll-sap(21218) asnm-1(1)} - -ApplicationID, ITS-scuId, StationID FROM CALMmanagement { iso (1) standard (0) calm-management (24102) local (1) asnm-1(1)} - -TransportAddressType, TransportAddress FROM TRANSPORT-ADDRESS-MIB - -; - --- End of IMPORTS - --- Types - --- PDUs -- - --- SAM -- - -SAM::=SEQUENCE{ - fmtID FmtID, -- value sam - version VersionFSAP, - serverID StationID, - serviceList ServiceList, - channelList ChannelList, - ipServList IpServList - } - -FmtID::=INTEGER{ - sam (0), - ctx (1) - } (0..15) - -VersionFSAP::=INTEGER(0..15) - -ServiceList::=SEQUENCE (SIZE(0..noNonipServices))OF NonipService - -ChannelList::=SEQUENCE(SIZE(0..noChannels)) OF SessionChannel --- Name changed from ServiceChannel to SessionChannel for clarification - -IpServList::=SEQUENCE (SIZE(0..noIpServices))OF IpService - -NonipService::=SEQUENCE{ - serviceID ITSaid, - serviceData ServiceData, - serverPort PortNumber, -- always transmitted, even if not used - sessionChannel INTEGER(0..noChannels) -- '0':no change of channel - } - -SessionChannel::= SEQUENCE{ - serviceChannel INTEGER(0..255), -- medium-specific channel number - medium MedType, -- identification of access technology - schParams OCTET STRING -- medium-specific parameters -} - -IpService::=SEQUENCE{ - serviceID ITSaid, - serviceData IpServiceData, - ipInfo IpInfo, - sessionChannel INTEGER(0..noChannels) -} - --- CTX -- - -CTX::=SEQUENCE{ - fmtID FmtID, -- value ctx - version VersionFSAP, - clientID StationID, - servContextList ServContextList, - ipContextList IpContextList -} - -ServContextList::=SEQUENCE (SIZE(0..noNonipContexts))OF NonipContext - -IpContextList::=SEQUENCE (SIZE(0..noIpContexts))OF IpContext - -IpContext::=SEQUENCE{ - serviceID ITSaid, - contextData IpContextData, - ipInfo IpInfo -} - --- MF-SAP services -- - -GCctxTxCmd::=SEQUENCE{ - link LLserviceAddr, -- NT protocol and UC-VCI - ctx CTX - } - -GCperiodCmd::=SEQUENCE{ - applicationID ApplicationID, - bcVCIs SEQUENCE (SIZE(1..256)) OF LLserviceAddr, - gcInterval GcInterval, -- repetition interval - priority UserPriority, -- of advertisement - serviceDataReg ServiceDataReg -- advertisement details - } - -GCsamctx::= SEQUENCE{ - applicationID ApplicationID, -- unique in the host - serverID StationID, -- of peer station - serviceInfo ServiceInfo, - link LLserviceAddr - } - -GCsamctxConf::= SEQUENCE{ - applicationID ApplicationID, -- unique in the host - link LLserviceAddr, -- as received in the GCsamctx - port PortNumber -- dynamically assigned port number to be used in CTX - } - -GCdeleteCmd::=SEQUENCE{ - applicationID ApplicationID - } - -ServiceInfo::=SEQUENCE{ - fill BIT STRING (SIZE(7)), - info CHOICE{ - nonipService NonipSAMctx, - ipService IpSAMctx - } - } - -NonipSAMctx::=SEQUENCE{ - serviceID ITSaid, - providerPort PortNumber - } - -IpSAMctx::=SEQUENCE{ - serviceID ITSaid, - ipInfo IpInfo - } - --- MN-SAP services -- - -CTXrxNot::=SEQUENCE{ - link LLserviceAddr, - ctx CTX - } - -SAMrxNot::=SEQUENCE{ - link LLserviceAddr, - sam SAM - } - -GCsam::= SEQUENCE{ - applicationID ApplicationID, -- unique in the host - serverID StationID, -- peer station - serviceData SAMserviceData, - link LLserviceAddr -} - -SAMserviceData::=SEQUENCE{ - fill BIT STRING (SIZE(7)), - servData CHOICE { - nonipService NonipSAM, - ipService IpSAM - } - } - -NonipSAM::=SEQUENCE{ - serviceID ITSaid, - serviceData ServiceData, - providerPort PortNumber, - sessionChannel SessionChannel -} - -IpSAM::=SEQUENCE{ - serviceID ITSaid, - serviceData IpServiceData, - ipInfo IpInfo, - sessionChannel SessionChannel - } - -GCctx::= SEQUENCE{ - applicationID ApplicationID, -- unique in the host - clientID StationID, -- peer station - serviceContext CTXserviceData - } - -CTXserviceData::=SEQUENCE{ - fill BIT STRING (SIZE(7)), - servData CHOICE { - nonipContext NonipContext, - ipContext IpContext - } - } - -NonipContext::=SEQUENCE{ - serviceID ITSaid, - contextData ContextData, - userPort PortNumber - } - -GCregServer::= SEQUENCE{ - applicationID ApplicationID, - gCschedule GCschedule, - priority UserPriority, - serviceDataReg ServiceDataReg - } - -GCupdateServer::= SEQUENCE{ - applicationID ApplicationID, - gCschedule GCschedule, - fill BIT STRING (SIZE(7)), - serviceDataReg SEQUENCE (SIZE(0..1)) OF ServiceDataReg - } - -GCderegServer::= SEQUENCE{ - applicationID ApplicationID - } - -GCregClient::= SEQUENCE{ - applicationID ApplicationID, - priority UserPriority, - serviceID ITSaid, - contextData ContextData - } - -GCupdateClient::= SEQUENCE{ - applicationID ApplicationID, - serviceID ITSaid, - contextData ContextData - } - -GCderegClient::= SEQUENCE{ - applicationID ApplicationID - } - -GCregServerConf::= SEQUENCE{ - applicationID ApplicationID - } - -GCupdateServerConf::= SEQUENCE{ - applicationID ApplicationID - } - -GCderegServerConf::= SEQUENCE{ - applicationID ApplicationID - } - -GCregClientConf::= SEQUENCE{ - applicationID ApplicationID - } - -GCupdateClientConf::= SEQUENCE{ - applicationID ApplicationID - } - -GCderegClientConf::= SEQUENCE{ - applicationID ApplicationID - } - - --- General types -- -ServiceData::=OCTET STRING (SIZE(0..noServiceDataOctets)) - -ContextData::=OCTET STRING (SIZE(0..noContextDataOctets)) - -IpServiceData::=OCTET STRING (SIZE(0..noIpServiceDataOctets)) - -IpContextData::=OCTET STRING (SIZE(0..noIpContextDataOctets)) - -GCschedule::= SEQUENCE (SIZE(0..255)) OF GCsched - -GCsched::= SEQUENCE{ - medium MedType, - directivity Directivity, - gcInterval GcInterval - } - -ServiceDataReg::= SEQUENCE{ - fill BIT STRING (SIZE(7)), - datareg CHOICE{ - nonipData [0] NonipServiceReg, - ipData [1] IpServiceReg - } - } - -NonipServiceReg::=SEQUENCE{ - serviceID ITSaid, - serviceData OCTET STRING (SIZE(0..noServiceDataOctets)), - providerPort PortNumber -- if not used, put PORT_UNK -} - -IpServiceReg::=SEQUENCE{ - serviceID ITSaid, - serviceData OCTET STRING (SIZE(0..noIpServiceDataOctets)), - ipInfo IpInfo - } - -GcInterval::=INTEGER(0..65535) -- in ms - -IpInfo::=SEQUENCE{ - address IpAddressInfo - } - -IpAddressInfo::=SEQUENCE{ - addressType TransportAddressType, - address TransportAddress -} - --- Values --- to be corrected / confirmed - -noNonipServices INTEGER::=255 - -noChannels INTEGER::=255 - -noIpServices INTEGER::=255 - -noNonipContexts INTEGER::=255 - -noIpContexts INTEGER::=255 - -noServiceDataOctets INTEGER::=65535 - -noIpServiceDataOctets INTEGER::=65535 - -noContextDataOctets INTEGER::=65535 - -noIpContextDataOctets INTEGER::=65535 - -versionNoFSAP INTEGER::=0 -- This standard - - -END diff --git a/asn1/CALMiitsscu/CALMiitsscu.asn b/asn1/CALMiitsscu/CALMiitsscu.asn deleted file mode 100644 index c6815463cae1d2c964b49ad0c68136be3b7f72f8..0000000000000000000000000000000000000000 --- a/asn1/CALMiitsscu/CALMiitsscu.asn +++ /dev/null @@ -1,392 +0,0 @@ ----- - -CALMiitsscu { iso (1) standard (0) calm-management (24102) iitsscu (4) asnm-1 (1) version1 (1)} -DEFINITIONS AUTOMATIC TAGS::=BEGIN - -IMPORTS -CIaClass, CIclass, CIstatus, Directivity, Link-ID, LLserviceAddr, MACaddress, MedType, NullType FROM CALMllsap {iso(1) standard(0) calm-ll-sap(21218) asnm-1 (1) version1 (1)} - -ITS-scuId, Param24102No, Param24102 FROM CALMmanagement { iso (1) standard (0) calm-management (24102) local (1) asnm-1 (1) version1 (1)} - -SimFUTcmd, SimFUTreq, SimFLTcmd, SimNUTcmd, SimNLTcmd, SimIUTcmd, SimFLTreq, SimNUTreq, SimNLTreq, SimIUTreq, ErrStatus, MF-Command-request, MF-Request-request, MN-Command-request, MN-Request-request, MI-Command-request, MI-Request-request, MA-Command-request, MA-Request-request, MS-Command-request, MS-Request-request, MI-Get-request, MI-Set-request, MF-Command-confirm, MF-Request-confirm, MN-Command-confirm, MN-Request-confirm, MI-Command-confirm, MI-Request-confirm, MA-Command-confirm, MA-Request-confirm, MS-Command-confirm, MS-Request-confirm, MI-Get-confirm, MI-Set-confirm FROM CALMmsap {iso (1) standard (0) calm-management (24102) msap (3) asnm-1 (1) version1 (1)} - --- Details on SecRq and SecRs to be provided by a standard on security -; --- End of IMPORTS - --- Types - --- PDUs -- --- IIC-Request PDU -IIC-Request::=SEQUENCE{ - sourceITS-scuId ITS-scuId, - destinationITS-scuId ITS-scuId, - pduCounter PduCounter, - requestID RequestID, -- value zero - pduRequest PduRequest, - secRq SecRq - } - -RequestID::=INTEGER{ - request (0) - } (0..255) - -RefIICP ::= INTEGER { -- Define IICPREQ.ref values range - c-alive (0), - c-mfRcmd (1), - c-mfRreq (2), - c-mnRcmd (3), - c-mnRreq (4), - c-miRcmd (5), - c-miRreq (6), - c-miRget (7), - c-miRset (8), - c-mCmd (9), - c-maRcmd (10), - c-maRreq (11), - c-msRcmd (12), - c-msRreq (13), - c-simUtIn (240), - c-simUtOut (241), - c-simAutCmd (242), - c-simAutReq (243), - c-simFutCmd (244), - c-simFutReq (245), - c-simNutCmd (246), - c-simNutReq (247), - c-simIutCmd (248), - c-simIutReq (249), - c-simAltCmd (250), - c-simAltReq (251), - c-simFltCmd (252), - c-simFltReq (253), - c-simNltCmd (254), - c-simNltReq (255) -} (0..255) - -IICPREQ::=CLASS{ - &ref RefIICP UNIQUE, -- data type identifier - &IICPrequest - } - -IICPrequests IICPREQ::={aliveRq | mfRcmdRq | mfRreqRq | mnRcmdRq | mnRreqRq | miRcmdRq | miRreqRq | miRgetRq | miRsetRq | mCmdRq | maRcmdRq | maRreqRq | msRcmdRq | msRreqRq | simFutCmdRq | simFutReqRq | simNutCmdRq | simNutReqRq | simIutCmdRq | simIutReqRq | simFltCmdRq | simFltReqRq | simNltCmdRq | simNltReqRq | simUtInRq | simUtOutRq, ...} - -PduRequest::=SEQUENCE{ - reqRef IICPREQ.&ref({IICPrequests}), -- data type identifier - iicpReq IICPREQ.&IICPrequest({IICPrequests}{@reqRef}) - } - -aliveRq IICPREQ::={&ref c-alive, &IICPrequest ITS-SCUalive} -mfRcmdRq IICPREQ::={&ref c-mfRcmd, &IICPrequest MF-Command-request} -mfRreqRq IICPREQ::={&ref c-mfRreq, &IICPrequest MF-Request-request} -mnRcmdRq IICPREQ::={&ref c-mnRcmd, &IICPrequest MN-Command-request} -mnRreqRq IICPREQ::={&ref c-mnRreq, &IICPrequest MN-Request-request} -miRcmdRq IICPREQ::={&ref c-miRcmd, &IICPrequest MI-Command-request} -miRreqRq IICPREQ::={&ref c-miRreq, &IICPrequest MI-Request-request} -miRgetRq IICPREQ::={&ref c-miRget, &IICPrequest MI-Get-request} -miRsetRq IICPREQ::={&ref c-miRset, &IICPrequest MI-Set-request} -mCmdRq IICPREQ::={&ref c-mCmd, &IICPrequest McmdRq} -maRcmdRq IICPREQ::={&ref c-maRcmd, &IICPrequest MA-Command-request} -maRreqRq IICPREQ::={&ref c-maRreq, &IICPrequest MA-Request-request} -msRcmdRq IICPREQ::={&ref c-msRcmd, &IICPrequest MS-Command-request} -msRreqRq IICPREQ::={&ref c-msRreq, &IICPrequest MS-Request-request} --- simAutCmdRq IICPREQ::={&ref c-simAutCmd, &IICPrequest SimAUTcmd} --- simAutReqRq IICPREQ::={&ref c-simAutReq, &IICPrequest SimAUTreq} -simFutCmdRq IICPREQ::={&ref c-simFutCmd, &IICPrequest SimFUTcmd} -simFutReqRq IICPREQ::={&ref c-simFutReq, &IICPrequest SimFUTreq} -simNutCmdRq IICPREQ::={&ref c-simNutCmd, &IICPrequest SimNUTcmd} -simNutReqRq IICPREQ::={&ref c-simNutReq, &IICPrequest SimNUTreq} -simIutCmdRq IICPREQ::={&ref c-simIutCmd, &IICPrequest SimIUTcmd} -simIutReqRq IICPREQ::={&ref c-simIutReq, &IICPrequest SimIUTreq} --- simAltCmdRq IICPREQ::={&ref c-simAltCmd, &IICPrequest SimALTcmd} --- simAltReqRq IICPREQ::={&ref c-simAltReq, &IICPrequest SimALTreq} -simFltCmdRq IICPREQ::={&ref c-simFltCmd, &IICPrequest SimFLTcmd} -simFltReqRq IICPREQ::={&ref c-simFltReq, &IICPrequest SimFLTreq} -simNltCmdRq IICPREQ::={&ref c-simNltCmd, &IICPrequest SimNLTcmd} -simNltReqRq IICPREQ::={&ref c-simNltReq, &IICPrequest SimNLTreq} -simUtInRq IICPREQ::={&ref c-simUtIn, &IICPrequest SimUt} -simUtOutRq IICPREQ::={&ref c-simUtOut, &IICPrequest SimUt} - - -ITS-SCUalive::=SEQUENCE{ - message AliveMessage, - its-scuType ITS-SCUtype - } - -AliveMessage::= INTEGER{ - alive (0), - delete (1), - new (255) - } (0..255) - -ITS-SCUtype::= INTEGER{ - unknown (0), - host (1), -- multicast address - router (2), -- multicast address - itsTestSystem (3), -- used in conformance testing - itsTestCIunit (4), -- used in conformance testing - any (255) -- broadcast address - } (0..255) - -SimUt::=SEQUENCE{ - fill BIT STRING (SIZE(3)), -- all bits set to '0' - action CHOICE{ - mfCmdReq MF-Command-request, - mfCmdConf MF-Command-confirm, - mnCmdReq MN-Command-request, - mnCmdConf MN-Command-confirm, - miCmdReq MI-Command-request, - miCmdConf MI-Command-confirm, - maCmdReq MA-Command-request, - maCmdConf MA-Command-confirm, - mfReqReq MF-Request-request, - mfReqConf MF-Request-confirm, - mnReqReq MN-Request-request, - mnReqConf MN-Request-confirm, - miReqReq MI-Request-request, - miReqConf MI-Request-confirm, - maReqReq MA-Request-request, - maReqConf MA-Request-confirm, - miGetReq MI-Get-request, - miGetConf MI-Get-confirm, - miSetReq MI-Set-request, - miSetConf MI-Set-confirm, - mcmdTrigger McmdRq, - mcmdEvent McmdRs --- msCmdReq MS-Command-request, --- msCmdConf MS-Command-confirm, --- msReqReq MS-Request-request, --- msReqConf MS-Request-confirm - } - } - - --- General OBJECT CLASS for management commands - -RefMcmdRq ::= INTEGER { -- allows for 256 commands - c-pingRq (0), - c-vCIinfoRq (1), - c-vCIupdateRq (2), - c-getParam24102Rq (3), - c-setParam24102Rq (4), - c-testIicpRq (254), - c-testConfigRq (255) -} (0..255) - -MCMDREQ::=CLASS{ - &refMcmd RefMcmdRq UNIQUE, -- allows for 256 commands - &Mcmd - } - -McmdReqs MCMDREQ::={pingRq | vCIinfoRq | vCIupdateRq | getParam24102Rq | setParam24102Rq | testConfigRq, ...} - -McmdRq::=SEQUENCE{ - mCmdRef MCMDREQ.&refMcmd({McmdReqs}), - mcmd MCMDREQ.&Mcmd ({McmdReqs}{@mCmdRef}) - } - -pingRq MCMDREQ::={&refMcmd c-pingRq, &Mcmd PingIICP} -vCIinfoRq MCMDREQ::={&refMcmd c-vCIinfoRq, &Mcmd VCI-info-req} -vCIupdateRq MCMDREQ::={&refMcmd c-vCIupdateRq, &Mcmd VCI-update-req} -getParam24102Rq MCMDREQ::={&refMcmd c-getParam24102Rq, &Mcmd Param24102No} -setParam24102Rq MCMDREQ::={&refMcmd c-setParam24102Rq, &Mcmd Param24102} -testConfigRq MCMDREQ::={&refMcmd c-testConfigRq, &Mcmd TestConfigIICP} - -PingIICP::=OCTET STRING (SIZE(0..255)) - -VCI-info-req::=SEQUENCE{ - medType MedType, - ciaClass CIaClass, - ciClass CIclass - } - -VCI-update-req::=SEQUENCE (SIZE(0..255)) OF VCI-Info - -VCI-Info::=SEQUENCE{ - linkId Link-ID, - medType MedType, - ciaClass CIaClass, - ciClass CIclass, - status CIstatus - } - -TestConfigIICP::=SEQUENCE{ - location BIT STRING (SIZE(6)), - lowerLayers BIT STRING (SIZE(1)), - testMode BIT STRING (SIZE(1)) - } - - - --- IIC-Response PDU - -IIC-Response::=SEQUENCE{ - sourceITS-scuId ITS-scuId, - destinationITS-scuId ITS-scuId, - pduCounter PduCounter, - responseID ResponseID, -- value 1 - pduResponse PduResponse, - errorStatus PduErrStatus, - secRs SecRs - } - -ResponseID::=INTEGER{ - response (1) - } (0..255) - - -IICPRES::=CLASS{ - &ref RefIICP UNIQUE, - &IICPresponse - } - -IICPresponses IICPRES::={aliveRs | mfRcmdRs | mfRreqRs | mnRcmdRs | mnRreqRs | miRcmdRs | miRreqRs | miRgetRs | miRgetRs | miRsetRs | mCmdRs | maRcmdRs | maRreqRs | msRcmdRs | msRreqRs | simAutCmdRs | simAutReqRs | simFutCmdRs | simFutReqRs | simNutCmdRs | simNutReqRs | simIutCmdRs | simIutReqRs | simAltCmdRs | simAltReqRs | simFltCmdRs | simFltReqRs | simNltCmdRs | simNltReqRs | simUtInRs | simUtOutRs, ...} - -PduResponse::=SEQUENCE{ - resRef IICPRES.&ref({IICPresponses}), -- data type identifier - iicpRes IICPRES.&IICPresponse({IICPresponses}{@resRef}) - } - -aliveRs IICPRES::={&ref c-alive, &IICPresponse ITS-SCUalive} -mfRcmdRs IICPRES::={&ref c-mfRcmd, &IICPresponse MF-Command-confirm} -mfRreqRs IICPRES::={&ref c-mfRreq, &IICPresponse MF-Request-confirm} -mnRcmdRs IICPRES::={&ref c-mnRcmd, &IICPresponse MN-Command-confirm} -mnRreqRs IICPRES::={&ref c-mnRreq, &IICPresponse MN-Request-confirm} -miRcmdRs IICPRES::={&ref c-miRcmd, &IICPresponse MI-Command-confirm} -miRreqRs IICPRES::={&ref c-miRreq, &IICPresponse MI-Request-confirm} -miRgetRs IICPRES::={&ref c-miRget, &IICPresponse MI-Get-confirm} -miRsetRs IICPRES::={&ref c-miRset, &IICPresponse MI-Set-confirm} -mCmdRs IICPRES::={&ref c-mCmd, &IICPresponse McmdRs} -maRcmdRs IICPRES::={&ref c-maRcmd, &IICPresponse MA-Command-confirm} -maRreqRs IICPRES::={&ref c-maRreq, &IICPresponse MA-Request-confirm} -msRcmdRs IICPRES::={&ref c-msRcmd, &IICPresponse MS-Command-confirm} -msRreqRs IICPRES::={&ref c-msRreq, &IICPresponse MS-Request-confirm} -simAutCmdRs IICPRES::={&ref c-simAutCmd, &IICPresponse NULL} -simAutReqRs IICPRES::={&ref c-simAutReq, &IICPresponse NULL} -simFutCmdRs IICPRES::={&ref c-simFutCmd, &IICPresponse NULL} -simFutReqRs IICPRES::={&ref c-simFutReq, &IICPresponse NULL} -simNutCmdRs IICPRES::={&ref c-simNutCmd, &IICPresponse NULL} -simNutReqRs IICPRES::={&ref c-simNutReq, &IICPresponse NULL} -simIutCmdRs IICPRES::={&ref c-simIutCmd, &IICPresponse NULL} -simIutReqRs IICPRES::={&ref c-simIutReq, &IICPresponse NULL} -simAltCmdRs IICPRES::={&ref c-simAltCmd, &IICPresponse NULL} -simAltReqRs IICPRES::={&ref c-simAltReq, &IICPresponse NULL} -simFltCmdRs IICPRES::={&ref c-simFltCmd, &IICPresponse NULL} -simFltReqRs IICPRES::={&ref c-simFltReq, &IICPresponse NULL} -simNltReqRs IICPRES::={&ref c-simNltReq, &IICPresponse NULL} -simNltCmdRs IICPRES::={&ref c-simNltCmd, &IICPresponse NULL} -simUtInRs IICPRES::={&ref c-simUtIn, &IICPresponse NULL} -simUtOutRs IICPRES::={&ref c-simUtOut, &IICPresponse NULL} - -RefMcmdRs ::= INTEGER { - c-pingRs (0), - c-vCIinfoRs (1), - c-vCIupdateRs (2), - c-getParam24102Rs (3), - c-setParam24102Rs (4), - c-testIicpRs (254), - c-testConfigRs (255) -} (0..255) - -MCMDRES::=CLASS{ - &refMcmd RefMcmdRs UNIQUE, - &Mcmd - } - -McmdRess MCMDRES::={pingRs | vCIinfoRs | vCIupdateRs | getParam24102Rs | setParam24102Rs | testConfigRs, ...} - -McmdRs::=SEQUENCE{ - mCmdRef MCMDRES.&refMcmd({McmdRess}), - mcmd MCMDRES.&Mcmd ({McmdRess}{@mCmdRef}) - } - -pingRs MCMDRES::={&refMcmd c-pingRs, &Mcmd PingIICP} -vCIinfoRs MCMDRES::={&refMcmd c-vCIinfoRs, &Mcmd VCI-info-res} -vCIupdateRs MCMDRES::={&refMcmd c-vCIupdateRs, &Mcmd NULL} -getParam24102Rs MCMDRES::={&refMcmd c-getParam24102Rs, &Mcmd Param24102} -setParam24102Rs MCMDRES::={&refMcmd c-setParam24102Rs, &Mcmd ErrStatus} -testConfigRs MCMDRES::={&refMcmd c-testConfigRs, &Mcmd NullType} - -PduErrStatus::=INTEGER{ - success (0), - pduUnknown (1), - duplicateITS-scuId (2), - invalidAliveMessage (3), - invalidITSscuType (4), - unspecFailure (255) - } (0..255) - -VCI-info-res::=SEQUENCE (SIZE(0..255)) OF VCI-Info - --- SECURITY IIC_REQUEST -RefSECIICPRQ ::= INTEGER { - c-secRqRef (0), - c-secRq (1) -} (0..255) - -SECIICPRQ::=CLASS{ - &ref RefSECIICPRQ UNIQUE, -- security type identifier - &SecIICP - } - - -SecIICPRQs SECIICPRQ::={noSecurityRq | octStringRq, ...} - -SecRq::=SEQUENCE{ - secRqRef SECIICPRQ.&ref({SecIICPRQs}), - secRq SECIICPRQ.&SecIICP({SecIICPRQs}{@secRqRef}) - } - -noSecurityRq SECIICPRQ::={&ref c-secRqRef, &SecIICP NullType} -octStringRq SECIICPRQ::={&ref c-secRq, &SecIICP SecIICPpayload } - --- SECURITY IIC_RESPONSE -RefSECIICPRS ::= INTEGER { - c-secRsRef (0), - c-secRs (1) -} (0..255) -SECIICPRS ::= CLASS{ - &ref RefSECIICPRS UNIQUE, -- security type identifier - &SecIICP - } -SECIICPRSs SECIICPRS::={noSecurityRs | octStringRs, ...} - - -SecRs::=SEQUENCE{ - secRsRef SECIICPRS.&ref({SECIICPRSs}), - secRs SECIICPRS.&SecIICP({SECIICPRSs}{@secRsRef}) - } - -noSecurityRs SECIICPRS::={&ref c-secRsRef, &SecIICP NullType} -octStringRs SECIICPRS::={&ref c-secRs, &SecIICP SecIICPpayload } - -SecIICPpayload ::= OCTET STRING (SIZE(0..65535)) --- MF-SAP -- - --- MF-COMMANDs -- - -IICrequestTX::=IIC-Request - -IICresponseTX::=IIC-Response - --- MF-REQUESTs -- - -IICrequestRX::=IIC-Request - -IICresponseRX::=IIC-Response - - --- General types -- - -PduCounter::=INTEGER(0..65535) - --- Values - -version INTEGER(0..255)::=2 -- version of this ASN.1 module - -/* - The ASN.1 specification has been checked for conformance to the ASN.1 - standards by OSS ASN.1 Syntax Checker, and by OSS ASN-1STEP -*/ - -END diff --git a/asn1/CALMipv6/CALMipv6.asn b/asn1/CALMipv6/CALMipv6.asn deleted file mode 100644 index 1a4da01fbec2f24adda69ec4ad8224be50b74b23..0000000000000000000000000000000000000000 --- a/asn1/CALMipv6/CALMipv6.asn +++ /dev/null @@ -1,98 +0,0 @@ -CALMipv6 { iso(1) standard(0) calm-ipv6(21210) asnm-1(1)} - -DEFINITIONS AUTOMATIC TAGS::=BEGIN - -IMPORTS -Link-ID, CIstatus, UserPriority FROM CALMllsap {iso(1) standard(0) calm-ll-sap(21218) asnm-1(1)} - -IpAddressInfo FROM CALMfsap { iso (1) standard (0) calm-management (24102) fsap (5) asnm-1 (1)} - -TransportAddressType, TransportAddress FROM TRANSPORT-ADDRESS-MIB; --- It needs to be checked whether this ASN.1 module is the correct one. - --- End of IMPORTS - -DeleteIPv6::=SEQUENCE -- used in 24102 -{ -reference INTEGER(0..65535) -} - -DeleteNotIPv6::=SEQUENCE -- used in 24102 -{ -reference INTEGER(0..65535) -} - -SetConfIPv6::=SEQUENCE -- used in 24102 -{ -reference INTEGER(0..65535) -} - -SetIPv6::=SEQUENCE -- used in 24102 -{ -reference INTEGER(0..65535), -remoteIP IpAddressInfo, -ciid Link-ID, -ciStatus CIstatus, -localIP IpAddressInfo, -priority UserPriority, -timeout IPv6timeout -} - -SetNotIPv6::=SEQUENCE -- used in 24102 -{ -reference INTEGER(0..65535), -remoteIP IpAddressInfo, -ciid Link-ID, -ciStatus CIstatus, -localIP IpAddressInfo, -priority UserPriority, -timeout IPv6timeout -} - -UpdateIPv6::=SEQUENCE -- used in 24102 -{ -fill [0] BIT STRING (SIZE(2)), -reference [1] INTEGER(0..65535), -remoteIP [2] IpAddressInfo OPTIONAL, -ciid [3] Link-ID OPTIONAL, -ciStatus [4] CIstatus OPTIONAL, -localIP [5] IpAddressInfo OPTIONAL, -priority [6] UserPriority OPTIONAL, -timeout [7] IPv6timeout OPTIONAL -} - -UpdateNotIPv6::=SEQUENCE -- used in 24102 -{ -fill [0] BIT STRING (SIZE(2)), -reference [1] INTEGER(0..65535), -remoteIP [2] IpAddressInfo OPTIONAL, -ciid [3] Link-ID OPTIONAL, -ciStatus [4] CIstatus OPTIONAL, -localIP [5] IpAddressInfo OPTIONAL, -priority [6] UserPriority OPTIONAL, -timeout [7] IPv6timeout OPTIONAL -} - -IPv6timeout::=INTEGER(0..65535) -- Used in IPv6 forwarding tables; in ms - --- CME-Application-SET::= --- This was used in the previous version of IS21217. --- Needs to be checked how it is used now. --- If this is no more used, then IS24102 needs to be changed. - --- IpAddress::= --- Part of CME-Application-SET --- Is contained in IpAddressInfo - --- SocketID::= --- Part of CME-Application-SET --- Likely the meaning is the same as for "reference" used above - --- PhysicalInfo::= --- Part of CME-Application-SET - --- PortNumber::= --- Part of CME-Application-SET --- Is contained in IpAddressInfo - -END diff --git a/asn1/CALMllsap/CALMllsap.asn b/asn1/CALMllsap/CALMllsap.asn deleted file mode 100644 index d78f3a6c44c9bfae946b4fa19aa658aa4c61d087..0000000000000000000000000000000000000000 --- a/asn1/CALMllsap/CALMllsap.asn +++ /dev/null @@ -1,561 +0,0 @@ ----- - -CALMllsap {iso(1) standard(0) calm-ll-sap(21218) asnm-1(1)} DEFINITIONS AUTOMATIC TAGS::=BEGIN - --- EXPORTS; - -IMPORTS - -ITS-scuId FROM CALMmanagement { iso (1) standard (0) calm-management (24102) local (1) asnm-1 (1)} - - -ErrStatus, COMMUPDOWN FROM CALMmsap { iso (1) standard (0) calm-management (24102) msap (3) asnm-1 (1)} - - -MediumCost FROM CITSapplReq {iso(1) standard(0) cits-applReq (17423) asnm-1} - -LogicalChannelType FROM CITSapplMgmtComm {iso(1) standard(0) cits-applMgmt (17419) comm (3)} -; - --- End of IMPORTS - -Alt::=INTEGER(0..65535) -- Resolution 0,1 m. - -CIaClass::=INTEGER{ - unknown (0), - ciac-1 (1), - ciac-2 (2), - ciac-3 (3) - } (0..255) - -CIclass::=INTEGER{ - unknown (0), - cic-l1 (1), - cic-l2 (2), - cic-l3 (3), - cic-l4 (4), - cic-l5 (5), - cic-il1 (254), - cic-il2 (255) - } (0..255) - -Link-ID::=SEQUENCE{ -- Link-ID - remoteCIID EUI64, -- CI in peer ITS-S(s) - localCIID EUI64 -- Unique ID of local CI - } - -CIstatus::=INTEGER{ - not-existent (0), - existent (1), - unknown (2), - registered (4), - active (8), - connected (16), - suspended (64), - inactive (128) - } (0..255) - -CommProfile::=SEQUENCE (SIZE(0..255)) OF I-Param - -Connect::=INTEGER{ - automatic (0), - manual (255) - } (0..255) - -IN-SAPaddress::=INTEGER(0..255) - -DataRate::= INTEGER(0..4294967295) -- in 100 bit/s - -DataRatesNW::=SEQUENCE{ -- available to the appl. - minimum DataRate, -- minimum possible value - maximum DataRate -- maximum possible value - } - -Directivity::=SEQUENCE{ - mode DirMode, - dirPredef INTEGER(0..255), -- 0: see dirVar - -- >0: predefined direction - fill BIT STRING (SIZE(7)), - dirVar SEQUENCE (SIZE(0..1)) OF DirVar - } - -DirMode::=INTEGER{ - fixed (0), - tracking (255) - } (0..255) - - -DirVar::=SEQUENCE{ - bsAzimuth INTEGER(-32768..32767) , -- -180 - +180 - bsElevation INTEGER(-128..127) , -- -90 - +90 - openHorizontal INTEGER(0..255) , -- 0 - 180 - openVertical INTEGER(0..255) -- 0 - 180 - } - -TxPowMax::=INTEGER(0..255) -- unit, minimum value and step size defined by access technology (medium) - -Errors::=SEQUENCE (SIZE(0..255)) OF SingleError - -SingleError::=SEQUENCE{ - paramNo INTEGER(0..255), -- ref number of parameter - errStatus ErrStatus -- IS24102-3 - } - -Gs::=INTEGER(0..65535) -- Resolution 0,01 m/s. - -KineVectIn::=SEQUENCE{ - dut Time48IAT, -- date and universal time - lat Lat, -- latitude - lon Lon, -- longitude - alt Alt, -- altitude / elevation - gs Gs, -- ground speed - tta Tta -- true track angle - } - -KineVectOut::=SEQUENCE{ - dut Time48IAT, -- date and universal time - fill BIT STRING (SIZE(5)), -- used for octet alignment in PER - options SEQUENCE (SIZE(0..5)) OF KineVectOptions -- options - } - -KineVectOptions::=CHOICE{ - lat Lat, -- latitude - lon Lon, -- longitude - alt Alt, -- altitude - gs Gs, -- ground speed - tta Tta -- true track angle - } - -Lat::=INTEGER(-2147483648..2147483647) -- equals ± pi/2 - -Lon::=INTEGER(-2147483648..2147483647) -- equals ± pi - -LLserviceAddr::=SEQUENCE{ - csap IN-SAPaddress, - linkID Link-ID - } - - -MACaddress::=OCTET STRING (SIZE(6)) - -MediumUsage::=SEQUENCE{ - receive INTEGER(0..255), - transmit INTEGER(0..255) - } - -MedType::=INTEGER{ - unknown (0), - any (1), - iso21212 (2), -- 2G - iso21213 (3), -- 3G - iso21214 (4), -- IR - iso21215 (5), -- M5 - iso21216 (6), -- MM - iso25112 (7), -- 802.16e - iso25113 (8), -- HC-SDMA - iso29283 (9), -- 802.20 - iso17515 (10), -- LTE - iso15628 (128), -- DSRC - can (254), - ethernet (255) - } (0..255) - -MedUseObsTime::=SEQUENCE { - value INTEGER(0..1023), -- valid parameter number (10 bits in PER) - unit TimeUnit - } -- 2 octets in PER - -TimeUnit::=INTEGER{ - microseconds (0), - milliseconds (1), - seconds (2), - minutes (3), - hours (4), - days (5), - weeks (6), - months (7), - years (8) - }(0..63) -- 6 bits in PER - -Notify::=SEQUENCE (SIZE(0..255)) OF INTEGER(0..255) -- valid parameter number - - -PeerRXpower::=INTEGER(0..255) - -PARAMS ::= CLASS { - ¶mRef INTEGER(0..255), - &Parameter - } - -IPARAM ::= PARAMS - -I-Params IPARAM::={errors | commProfile | properties | manuDeviceID | iTS-scuId | medID | localCIID | timeoutReg | macAddress | macAddrTemp | ciClass | ciaClass | ciStatus | notify | medType | regInfo | connect | simPin | providerInfo | minUserPriority | queueLevel | queueLowTh | queueAlarmTh | distancePeer | commRangeRef | timeOfLastRecep | inactTimeLimit | mediumUsage | medUseObsTime | peerMAC | virtualCIs | minPrioCrossCI | rxSens | txPower | txPowMax | peerRXpower | dataRate | dataRateNW | dataRatesNW | dataRateNWreq | directivity | blockLength | freeAirTime | frameLengthMax | kineVectIn | kineVectOut | cost | reliability | logicalChannel, ...} - -I-Param::=SEQUENCE{ - paramNo IPARAM.¶mRef({I-Params}), - parameter IPARAM.&Parameter({I-Params}{@paramNo}) - } - -errors IPARAM::={¶mRef 0, &Parameter Errors} -commProfile IPARAM::={¶mRef 2, &Parameter CommProfile} -properties IPARAM::={¶mRef 3, &Parameter Properties} -manuDeviceID IPARAM::={¶mRef 4, &Parameter UTF8String} -iTS-scuId IPARAM::={¶mRef 5, &Parameter ITS-scuId} -medID IPARAM::={¶mRef 6, &Parameter MedID} -localCIID IPARAM::={¶mRef 7, &Parameter EUI64} -timeoutReg IPARAM::={¶mRef 8, &Parameter INTEGER(0..255)} -macAddress IPARAM::={¶mRef 9, &Parameter MACaddress} -macAddrTemp IPARAM::={¶mRef 10, &Parameter MACaddress} -ciClass IPARAM::={¶mRef 11, &Parameter CIclass} -ciaClass IPARAM::={¶mRef 12, &Parameter CIaClass} -ciStatus IPARAM::={¶mRef 13, &Parameter CIstatus} -notify IPARAM::={¶mRef 16, &Parameter Notify} -medType IPARAM::={¶mRef 17, &Parameter MedType} -regInfo IPARAM::={¶mRef 18, &Parameter RegInfo} -connect IPARAM::={¶mRef 19, &Parameter Connect} -simPin IPARAM::={¶mRef 20, &Parameter SimPin} -providerInfo IPARAM::={¶mRef 21, &Parameter ProviderInfo} -minUserPriority IPARAM::={¶mRef 22, &Parameter UserPriority} -- DEFAULT 0 -queueLevel IPARAM::={¶mRef 23, &Parameter QueueLevel} -queueLowTh IPARAM::={¶mRef 24, &Parameter QueueValue} -queueAlarmTh IPARAM::={¶mRef 25, &Parameter QueueValue} -distancePeer IPARAM::={¶mRef 26, &Parameter Distance} -commRangeRef IPARAM::={¶mRef 27, &Parameter Distance} -timeOfLastRecep IPARAM::={¶mRef 28, &Parameter Time48IAT} - -- 1 ms resolution -inactTimeLimit IPARAM::={¶mRef 29, &Parameter INTEGER(0..65535)} - -- milliseconds -mediumUsage IPARAM::={¶mRef 30, &Parameter MediumUsage} -medUseObsTime IPARAM::={¶mRef 31, &Parameter MedUseObsTime} -peerMAC IPARAM::={¶mRef 32, &Parameter MACaddress} -virtualCIs IPARAM::={¶mRef 33, &Parameter VirtualCIs} -minPrioCrossCI IPARAM::={¶mRef 34, &Parameter UserPriority} -rxSens IPARAM::={¶mRef 35, &Parameter INTEGER(0..255)} -txPower IPARAM::={¶mRef 36, &Parameter INTEGER(0..255)} -txPowMax IPARAM::={¶mRef 37, &Parameter TxPowMax} -peerRXpower IPARAM::={¶mRef 38, &Parameter PeerRXpower} -dataRate IPARAM::={¶mRef 39, &Parameter DataRate} -dataRateNW IPARAM::={¶mRef 40, &Parameter DataRate} -dataRatesNW IPARAM::={¶mRef 41, &Parameter DataRatesNW} -dataRateNWreq IPARAM::={¶mRef 42, &Parameter DataRate} -directivity IPARAM::={¶mRef 43, &Parameter Directivity} -blockLength IPARAM::={¶mRef 44, &Parameter INTEGER(0..65535)} -freeAirTime IPARAM::={¶mRef 45, &Parameter INTEGER(0..255)} - -- measured in milliseconds -frameLengthMax IPARAM::={¶mRef 46, &Parameter INTEGER(0..255)} - -- measured in milliseconds -kineVectIn IPARAM::={¶mRef 47, &Parameter KineVectIn} -kineVectOut IPARAM::={¶mRef 48, &Parameter KineVectOut} -cost IPARAM::={¶mRef 49, &Parameter MediumCost} -reliability IPARAM::={¶mRef 50, &Parameter INTEGER(0..255)} -logicalChannel IPARAM::={¶mRef 51, &Parameter LogicalChannels} - -Time48IAT ::= INTEGER { utcStartOf2004(0), oneMillisecAfterUTCStartOf2004(1) } (0..281474976710655) -- International Atomic Time with one millisecond steps - -I-ParamNo::=INTEGER{ - errors (0), - commProfile (2), - properties (3), - manuDeviceID (4), - iTS-scuId (5), - medID (6), - localCIID (7), - timeoutReg (8), - macAddress (9), - macAddrTemp (10), - ciClass (11), - ciaClass (12), - ciStatus (13), - notify (16), - medType (17), - regInfo (18), - connect (19), - simPin (20), - providerInfo (21), - minUserPriority (22), - queueLevel (23), - queueLowTh (24), - queueAlarmTh (25), - distancePeer (26), - commRangeRef (27), - timeOfLastRecep (28), - inactTimeLimit (29), - mediumUsage (30), - medUseObsTime (31), - peerMAC (32), - virtualCI (33), - minPrioCrossCI (34), - rxSens (35), - txPower (36), - txPowMax (37), - peerRXpower (38), - dataRate (39), - dataRateNW (40), - dataRatesNW (41), - dataRateNWreq (42), - directivity (43), - blockLength (44), - freeAirTime (45), - frameLengthMax (46), - kineVectIn (47), - kineVectOut (48), - cost (49), - reliability (50), - logicalChannel (51) - } (0..255) - -SimPin::=OCTET STRING - -LogicalChannels::=SEQUENCE (SIZE(0..255)) OF LogicalChannelType - -Distance::=INTEGER(0..65535) -- measured in 1/10 m - -MedID::=INTEGER(0..255) - -Properties::=SEQUENCE (SIZE(0..255)) OF I-Param -- only selected parameters - -ProviderInfo::=SEQUENCE{ - provName OCTET STRING (SIZE(0..255)), -- Name of provider - apn OCTET STRING (SIZE(0..255)), -- Name of access point - username OCTET STRING (SIZE(0..255)), -- Log-in name of user - password OCTET STRING (SIZE(0..255)) -- Password for log-in - } - -QueueLevel::=SEQUENCE{ - priority UserPriority, - level QueueValue - } - -QueueValue::=INTEGER(0..255) - -RegInfo::=SEQUENCE{ - status RegInfoStatus, - limits RegulatoryScheme - } - -RegInfoStatus::=INTEGER{ - notApplicable (0), - invalid (1), - new (254), - valid (255) - } (0..255) - - - -REGULSCHEME::=CLASS { - ®ID INTEGER(0..255), - &RegInfo - } - - -RegulatoryScheme::=SEQUENCE{ - reguIdent REGULSCHEME.®ID({RegulSchemes}), - reguInfo REGULSCHEME.&RegInfo({RegulSchemes}{@reguIdent}) - } - -RegulSchemes REGULSCHEME::={nullRegScheme, ...} -- to be filled - -nullRegScheme REGULSCHEME::={®ID 0, &RegInfo NULL} - - -Tta::=INTEGER(0..65535) -- Resolution 0,1°. - -UserPriority::=INTEGER(0..255) - -VirtualCIs::=SEQUENCE (SIZE(0..65535))OF RemoteCIID - -INSAP ::= COMMUPDOWN - -INsapspsdown INSAP::={inUnitdataRq | inDataAckRq | inReplyAckRq | inReplyUpdateRq, ...} - -INsapPrimitivesDown::=SEQUENCE{ - spRef INSAP.&primitiveRef({INsapspsdown}), - servPrimitive INSAP.&Primitive({INsapspsdown}{@spRef}) - } - -inUnitdataRq INSAP::={&primitiveRef 0, &Primitive IN-UNITDATA-request} -inDataAckRq INSAP::={&primitiveRef 1, &Primitive IN-DATA-ACK-request} -inReplyAckRq INSAP::={&primitiveRef 2, &Primitive IN-REPLY-ACK-request} -inReplyUpdateRq INSAP::={&primitiveRef 3, &Primitive IN-REPLY-UPDATE-request} - -IN-UNITDATA-request::=SEQUENCE{ - source-addr LLserviceAddr, - dest-addr LLserviceAddr, - data INdata, - priority UserPriority, - accessParams AccessParameters - } - -IN-DATA-ACK-request::=SEQUENCE{ - source-addr LLserviceAddr, - dest-addr LLserviceAddr, - data INdata, - priority UserPriority, - serviceClass MACServiceClass - } - -IN-REPLY-ACK-request::=SEQUENCE{ - source-addr LLserviceAddr, - dest-addr LLserviceAddr, - data INdata, - priority UserPriority, - serviceClass MACServiceClass - } - -IN-REPLY-UPDATE-request::=SEQUENCE{ - source-addr LLserviceAddr, - data INdata - } - -INSAPUP::= COMMUPDOWN - -INsapspsup INSAP::={inUnitdataInd | inUnitdataStatusInd | inDataAckInd | inDataAckStatusInd | inReplyInd | inReplyStatusInd | inReplyUpdateStatusInd, ...} - -INsapPrimitivesUp::=SEQUENCE{ - spRef INSAP.&primitiveRef ({INsapspsup}), - servPrimitive INSAP.&Primitive ({INsapspsup}{@spRef}) - } - -inUnitdataInd INSAP::={&primitiveRef 0, &Primitive IN-UNITDATA-indication} -inUnitdataStatusInd INSAP::={&primitiveRef 1, &Primitive IN-UNITDATA-STATUS-indication} -inDataAckInd INSAP::={&primitiveRef 2, &Primitive IN-DATA-ACK-indication} -inDataAckStatusInd INSAP::={&primitiveRef 3, &Primitive IN-DATA-ACK-STATUS-indication} -inReplyInd INSAP::={&primitiveRef 4, &Primitive IN-REPLY-indication} -inReplyStatusInd INSAP::={&primitiveRef 5, &Primitive IN-REPLY-STATUS-indication} -inReplyUpdateStatusInd INSAP::={&primitiveRef 6, &Primitive IN-REPLY-UPDATE-STATUS-indication} - -IN-UNITDATA-indication::=SEQUENCE{ - source-addr LLserviceAddr, - dest-addr LLserviceAddr, - data INdata, - priority UserPriority, - accessParams AccessParameters - } - -IN-UNITDATA-STATUS-indication::=SEQUENCE{ - source-addr LLserviceAddr, - dest-addr LLserviceAddr, - data INdata, - priority UserPriority, - accessParams AccessParameters, - txStatus INtxStatus - } - -IN-DATA-ACK-indication::=SEQUENCE{ - source-addr LLserviceAddr, - dest-addr LLserviceAddr, - data INdata, - priority UserPriority, - serviceClass MACServiceClass - } - -IN-DATA-ACK-STATUS-indication::=SEQUENCE{ - source-addr LLserviceAddr, - dest-addr LLserviceAddr, - data INdata, - priority UserPriority, - serviceClass MACServiceClass, - status INtxStatus - } - -IN-REPLY-indication::=SEQUENCE{ - source-addr LLserviceAddr, - dest-addr LLserviceAddr, - data INdata, - priority UserPriority, - serviceClass MACServiceClass - } - -IN-REPLY-STATUS-indication::=SEQUENCE{ - source-addr LLserviceAddr, - status INtxStatus - } - -IN-REPLY-UPDATE-STATUS-indication::=SEQUENCE{ - source-addr LLserviceAddr, - data INdata, - priority UserPriority, - accessParams AccessParameters, - txStatus INtxStatus - } - -INdata::=OCTET STRING (SIZE(0..65535)) - -ACCPARAM ::= PARAMS - -nullAP ACCPARAM::={¶mRef 0, &Parameter NullType} - -AccessParameters::=SEQUENCE{ - apRef ACCPARAM.¶mRef ({AccParams}), - aParameter ACCPARAM.&Parameter ({AccParams}{@apRef}) - } - -AccParams ACCPARAM::={nullAP, ...} - -NullType::=NULL - -MACServiceClass::=INTEGER{ - macAckNotUsed (0), - macAckUsed (255) - } (0..255) - -INtxStatus::=INTEGER{ - success (0), - queueFull (1), - timeout (2), - priority (3), - unspecFailure (255) - } (0..255) - -VCIserialNumber::=INTEGER(0..65535) - -EUI64::=OCTET STRING (SIZE(8)) - -LegacyCIID::=SEQUENCE{ - selector1 OneOCTETones, - iTS-scuId ITS-scuId, - selector2 TwoOCTETones, - medID MedID, - vciSerialNumber VCIserialNumber - } - -RemoteCIID::=EUI64 - -OneOCTETones::=INTEGER{ - all (255) - } (0..255) - -TwoOCTETones::=INTEGER{ - all (65535) - } (0..65535) - -EUI64MAC48::=SEQUENCE{ - oui MACoui, - selector2 TwoOCTETones, - ext MACext - } - -MACoui::=SEQUENCE{ - uoi1 INTEGER(0..63), - ulBit BOOLEAN, - igBIT BOOLEAN, - uoi2 OCTET STRING (SIZE(2)) - } - -MACext::=OCTET STRING (SIZE(3)) - -MACmcID::=SEQUENCE{ - ucgc INTEGER(0..63), - mc INTEGER{all (3)} (0..3), - serial OCTET STRING (SIZE(2)) - } - - --- Values - -version INTEGER(0..255)::= 2 -- insert version value - - - -END - diff --git a/asn1/CALMmanagement/CALMmanagement.asn b/asn1/CALMmanagement/CALMmanagement.asn deleted file mode 100644 index 8432b1dcdba13051e398ca3c824dcec8a6230ec6..0000000000000000000000000000000000000000 --- a/asn1/CALMmanagement/CALMmanagement.asn +++ /dev/null @@ -1,152 +0,0 @@ ----- - - -CALMmanagement { iso (1) standard (0) calm-management (24102) local (1) asnm-1 (1)} - -DEFINITIONS AUTOMATIC TAGS::=BEGIN - -IMPORTS - -CIstatus, Connect, DataRate, DataRatesNW, Directivity, KineVectOut, Link-ID, MACaddress, MedType, PARAMS, UserPriority FROM CALMllsap {iso(1) standard(0) calm-ll-sap(21218) asnm-1(1)} - -ITS-SCUtype FROM CALMiitsscu {iso (1) standard (0) calm-management (24102) iitsscu (4) asnm-1 (1)} - -ITSSappCPReqReg, ServiceRef, MediumCost FROM CITSapplReq {iso(1) standard(0) cits-applReq (17423) asnm-1 (1)} - -LogicalChannelType FROM CITSapplMgmtComm {iso(1) standard(0) cits-applMgmt (17419) comm (3)} - -; - --- End of IMPORTS - --- Types - -ApplReqList::=ITSSappCPReqReg -- from TS 17423 - -ApplicationID::=SEQUENCE{ - hostITS-scuId ITS-scuId, - seqNumber ServiceRef -- unique in the ITS-SCU (host) - } - - -CrCiPrioList::=SEQUENCE (SIZE(0..255)) OF CrCiPrioReq - -CrCiPrioReq::=SEQUENCE{ - linkId Link-ID, -- requesting CI - timeout INTEGER(0..255), - request CCPrequest, - interferer SEQUENCE OF CCPpotInt -- potential interferers - } - -CCPrequest::=SEQUENCE (SIZE(0..255)) OF SEQUENCE - { - reqNo INTEGER(0..255), - priority UserPriority, - status CCPstatus - } - -CCPpotInt::=SEQUENCE{ - linkID Link-ID, -- interferer - status CCPstatus - } - -CCPstatus::=INTEGER{ - released (0), - requestd (16), - ignored (64), - granted (128) - } - -ITS-scuId::=INTEGER(0..65535) - -ITS-scuList::=SEQUENCE{ - iTS-scuId ITS-scuId, - its-scuType ITS-SCUtype, - time GeneralizedTime, - uniqueID PrintableString - } - -ITS-SSI::=SEQUENCE{ - stationType StationType, - stationID StationID, - stationPosition KineVectOut - } - -MPARAM ::= PARAMS - -Param24102::=SEQUENCE{ - paramNo MPARAM.¶mRef({M-Params}), - param MPARAM.&Parameter({M-Params}{@paramNo}) - } - -M-Params MPARAM::={stationID | minPrioCrossCI | stationPosition | iTS-scuId | vciList | crCiPrioList | timerITS-SSI | its-ssi | applReqList | vCIperformList | talive | iTS-scuList, ...} - -stationID MPARAM::={¶mRef 0, &Parameter StationID} -minPrioCrossCI MPARAM::={¶mRef 1, &Parameter UserPriority} -stationPosition MPARAM::={¶mRef 2, &Parameter KineVectOut} -iTS-scuId MPARAM::={¶mRef 3, &Parameter ITS-scuId} -vciList MPARAM::={¶mRef 4, &Parameter VciList} -crCiPrioList MPARAM::={¶mRef 5, &Parameter CrCiPrioList} -timerITS-SSI MPARAM::={¶mRef 6, &Parameter INTEGER(0..65535)} -its-ssi MPARAM::={¶mRef 7, &Parameter ITS-SSI} -applReqList MPARAM::={¶mRef 8, &Parameter ApplReqList} -vCIperformList MPARAM::={¶mRef 9, &Parameter VCIperformList} -talive MPARAM::={¶mRef 10, &Parameter Talive} -iTS-scuList MPARAM::={¶mRef 11, &Parameter ITS-scuList} - - -Param24102No::=INTEGER{ - stationID (0), - minPrioCrossCI (1), - stationPosition (2), - iTS-scuId (3), - vciList (4), - crCiPrioList (5), - timerITS-SSI (6), - its-ssi (7), - applReqList (8), - vCIperformList (9), - talive (10), - iTS-scuList (11) - } (0..255) - -Talive::=INTEGER(0..65535) -- time in ms - -VciList::=SEQUENCE (SIZE(0..255)) OF VciListEntry - -VciListEntry::=SEQUENCE{ - linkId Link-ID, - medType MedType, - status CIstatus, - connect Connect, - macAddress MACaddress - } - -VCIperformList::=SEQUENCE (SIZE(0..255)) OF VCIperformance - -VCIperformance::=SEQUENCE{ - linkId Link-ID, - channelType LogicalChannelType, - channelNo INTEGER(0..255), - minUserPrio UserPriority, - dataRateNW DataRate, - dataRatesNW DataRatesNW, - directivity Directivity, - commRangeRef INTEGER(0..65535), -- in 1/10 m - cost MediumCost, - reliability INTEGER(0..255) - } - -StationID::=OCTET STRING (SIZE(4)) - -StationType::= INTEGER{ - mobile (0), -- vehicle - fixed (1), -- roadside - portable (2), - infrastructure (254), -- central - unknown (255) - } (0..255) - - - -END diff --git a/asn1/CALMmsap/CALMmsap.asn b/asn1/CALMmsap/CALMmsap.asn deleted file mode 100644 index 0303062bf43050cdf03dc1f2bbdc0b7017e59a01..0000000000000000000000000000000000000000 --- a/asn1/CALMmsap/CALMmsap.asn +++ /dev/null @@ -1,1137 +0,0 @@ ----- - -CALMmsap { iso (1) standard (0) calm-management (24102) msap (3) asnm-1 (1)} - -DEFINITIONS AUTOMATIC TAGS::=BEGIN - -IMPORTS - -CIclass, CIstatus, Errors, INsapPrimitivesDown, INsapPrimitivesUp, I-Param, I-ParamNo, KineVectOut, Link-ID, MACaddress, MedID, MedType, UserPriority, NullType FROM CALMllsap {iso(1) standard(0) calm-ll-sap(21218) asnm-1(1)} - -ITS-scuId, ITS-SSI FROM CALMmanagement { iso (1) standard (0) calm-management (24102) local(1) asnm-1 (1)} - -IICrequestTX, IICresponseTX, IICrequestRX, IICresponseRX FROM CALMiitsscu { iso (1) standard (0) calm-management (24102) iitsscu (4) asnm-1 (1)} - -GCctx, GCdeleteCmd, GCregServer, GCregServerConf, GCsam, GCsamctx, GCsamctxConf, GCctxTxCmd, GCperiodCmd, CTXrxNot, SAMrxNot, GCupdateServer, GCupdateServerConf, GCderegServer, GCderegServerConf, GCregClient, GCregClientConf, GCupdateClient, GCupdateClientConf, GCderegClient, GCderegClientConf FROM CALMfsap { iso (1) standard (0) calm-management (24102) fsap (5) asnm-1 (1)} - -SetIPv6, SetConfIPv6, UpdateIPv6, DeleteIPv6, SetNotIPv6, UpdateNotIPv6, DeleteNotIPv6 FROM CALMipv6{iso(1) standard(0) calm-ipv6(21210) asnm-1(1)} - -HostServiceInfo, NFsapPrimitivesDown, NFsapPrimitivesUp, SetFNTP, SetConfFNTP, UpdateFNTP, DeleteFNTP, SetNotFNTP, UpdateNotFNTP, DeleteNotFNTP FROM CALMfntp { iso (1) standard (0) calm-nonip(29281) fntp(1) asnm-1 (1)} - - -ITS-S-Appl-Reg, ITS-S-Appl-RegConf, ITS-S-Appl-RegFinal FROM CITSapplReq {iso(1) standard(0) cits-applReq (17423) asnm-1 (1)} - -; - --- End of IMPORTS - --- GENERIC OBJECT CLASSES - --- Communication-SAP generic OBJECT CLASS -COMMUPDOWN::=CLASS { - &primitiveRef INTEGER(0..255), - &Primitive - } - --- FA-SAP services up and down -FASAPDOWN::=COMMUPDOWN - -FAsapPrimitivesDown::=SEQUENCE{ - spRef FASAPDOWN.&primitiveRef({FAsapspsdown}), - servPrimitive FASAPDOWN.&Primitive({FAsapspsdown}{@spRef}) - } - -FAsapspsdown FASAPDOWN::={gCsamctxConfFA | gCregServerFA | gCupdateServerFA | gCderegServerFA | gCregClientFA | gCupdateClientFA | gCderegClientFA, ...} - -gCsamctxConfFA FASAPDOWN::={&primitiveRef 2, &Primitive GCsamctxConf} -gCregServerFA FASAPDOWN::={&primitiveRef 3, &Primitive GCregServer} -gCupdateServerFA FASAPDOWN::={&primitiveRef 4, &Primitive GCupdateServer} -gCderegServerFA FASAPDOWN::={&primitiveRef 5, &Primitive GCderegServer} -gCregClientFA FASAPDOWN::={&primitiveRef 6, &Primitive GCregClient} -gCupdateClientFA FASAPDOWN::={&primitiveRef 7, &Primitive GCupdateClient} -gCderegClientFA FASAPDOWN::={&primitiveRef 8, &Primitive GCderegClient} - - -FASAPUP::=COMMUPDOWN - -FAsapPrimitivesUp::=SEQUENCE{ - spRef FASAPUP.&primitiveRef({FAsapspsup}), - servPrimitive FASAPUP.&Primitive({FAsapspsup}{@spRef}) - } - -FAsapspsup FASAPUP::={gCsamctxFA | gCregServerConfFA | gCupdateServerConfFA | gCderegServerConfFA | gCregClientConfFA | gCupdateClientConfFA | gCderegClientConfFA| gCsamFA | gCctxFA, ...} - -gCsamctxFA FASAPUP::={&primitiveRef 2, &Primitive GCsamctx} -gCregServerConfFA FASAPUP::={&primitiveRef 3, &Primitive GCregServerConf} -gCupdateServerConfFA FASAPUP::={&primitiveRef 4, &Primitive GCupdateServerConf} -gCderegServerConfFA FASAPUP::={&primitiveRef 5, &Primitive GCderegServerConf} -gCregClientConfFA FASAPUP::={&primitiveRef 6, &Primitive GCregClientConf} -gCupdateClientConfFA FASAPUP::={&primitiveRef 7, &Primitive GCupdateClientConf} -gCderegClientConfFA FASAPUP::={&primitiveRef 8, &Primitive GCderegClientConf} -gCsamFA FASAPUP::={&primitiveRef 9, &Primitive GCsam} -gCctxFA FASAPUP::={&primitiveRef 10, &Primitive GCctx} - - - --- MX-SAP generic OBJECT CLASS -MXSERV::=CLASS { - &mxref INTEGER(0..255), - &MXParam - } - - --- MF-SAP Service primitives -- --- MF-SAP Command.request -- - -MFSAP-CR::=MXSERV - -MF-Command MFSAP-CR::={simFUTcmd | simFLTcmd | gCsamctx | gCsam | gCctx | lDMnotifyCmd | legacyCICmd | stateCInotify | gCperiodCmd | gCctxTxCmd | gCdeleteCmd | iICrequestTX | iICresponseTX | testMF, ...} -- insert simFUTcmd once being defined and activate below - -MF-Command-request::=SEQUENCE{ - commandRef CommandRef, - ref MFSAP-CR.&mxref({MF-Command}), - command-param MFSAP-CR.&MXParam({MF-Command}{@ref}) - } - -simFUTcmd MFSAP-CR::={&mxref 0, &MXParam SimFUTcmd} -simFLTcmd MFSAP-CR::={&mxref 1, &MXParam SimFLTcmd} -gCsamctx MFSAP-CR::={&mxref 2, &MXParam GCsamctx} -gCsam MFSAP-CR::={&mxref 3, &MXParam GCsam} -gCctx MFSAP-CR::={&mxref 4, &MXParam GCctx} -lDMnotifyCmd MFSAP-CR::={&mxref 5, &MXParam LDMnotify} -legacyCICmd MFSAP-CR::={&mxref 6, &MXParam LegacyCIreq} -stateCInotify MFSAP-CR::={&mxref 7, &MXParam StateCInotify} -gCperiodCmd MFSAP-CR::={&mxref 8, &MXParam GCperiodCmd} -gCctxTxCmd MFSAP-CR::={&mxref 9, &MXParam GCctxTxCmd} -gCdeleteCmd MFSAP-CR::={&mxref 10, &MXParam GCdeleteCmd} -iICrequestTX MFSAP-CR::={&mxref 11, &MXParam IICrequestTX} -iICresponseTX MFSAP-CR::={&mxref 12, &MXParam IICresponseTX} -testMF MFSAP-CR::={&mxref 255, &MXParam OCTET STRING (SIZE(0..255))} - -SimFUTcmd::=FAsapPrimitivesDown - -SimFLTcmd::=NFsapPrimitivesUp - -LDMnotify::=SEQUENCE (SIZE(0..255)) OF RadarView - -RadarView::=SEQUENCE{ - peerITS-SSI ITS-SSI - } - -LegacyCIreq::=SEQUENCE{ - cIclass CIclass, - legacyOption INTEGER(0..255), - linkId Link-ID - } - -StateCInotify::=SEQUENCE{ - linkId Link-ID, - cIstatus CIstatus -} - --- MF-SAP Command.confirm -- - -MFSAP-CC ::= MXSERV - -MF-CmdConfirm MFSAP-CC::={simFUTcmdConf | simFLTcmdConf | gCsamctxConf | gCsamConf | gCctxConf | lDMnotifyConf | legacyCIConf | stateCInotifyConf | gCperiodCmdConf | gCctxTxCmdConf | gCdeleteCmdConf | iICrequestTXConf | iICresponseTXConf | testMFConf, ...} - -MF-Command-confirm::=SEQUENCE{ - commandRef CommandRef, - ref MFSAP-CC.&mxref({MF-CmdConfirm}), - cmdConfirm-param MFSAP-CC.&MXParam({MF-CmdConfirm}{@ref}), - errStatus ErrStatus - } - -simFUTcmdConf MFSAP-CC::={&mxref 0, &MXParam NullType} -simFLTcmdConf MFSAP-CC::={&mxref 1, &MXParam NullType} -gCsamctxConf MFSAP-CC::={&mxref 2, &MXParam GCsamctxConf} -gCsamConf MFSAP-CC::={&mxref 3, &MXParam NullType} -gCctxConf MFSAP-CC::={&mxref 4, &MXParam NullType} -lDMnotifyConf MFSAP-CC::={&mxref 5, &MXParam NullType} -legacyCIConf MFSAP-CC::={&mxref 6, &MXParam HostServiceInfo} -stateCInotifyConf MFSAP-CC::={&mxref 7, &MXParam NullType} -gCperiodCmdConf MFSAP-CC::={&mxref 8, &MXParam NullType} -gCctxTxCmdConf MFSAP-CC::={&mxref 9, &MXParam NullType} -gCdeleteCmdConf MFSAP-CC::={&mxref 10, &MXParam NullType} -iICrequestTXConf MFSAP-CC::={&mxref 11, &MXParam NullType} -iICresponseTXConf MFSAP-CC::={&mxref 12, &MXParam NullType} -testMFConf MFSAP-CC::={&mxref 255, &MXParam NullType} - --- MF-SAP Request.request -- - -MFSAP-RR::=MXSERV - -MF-Request MFSAP-RR::={simFUTreq | simFLTreq | iTS-S-Appl-Reg | gCregServer | gCupdateServer | gCderegServer | gCregClient | gCupdateClient | gCderegClient | lDMregister | sAMrxNot | cTXrxNot | iICrequestRX | iICresponseRX | iTS-S-Appl-ReqFinal | testMFecho, ...} - -MF-Request-request::=SEQUENCE{ - commandRef CommandRef, - ref MFSAP-RR.&mxref({MF-Request}), - request-param MFSAP-RR.&MXParam({MF-Request}{@ref}) - } - -simFUTreq MFSAP-RR::={&mxref 0, &MXParam SimFUTreq} -simFLTreq MFSAP-RR::={&mxref 1, &MXParam SimFLTreq} -iTS-S-Appl-Reg MFSAP-RR::={&mxref 2, &MXParam ITS-S-Appl-Reg} -gCregServer MFSAP-RR::={&mxref 3, &MXParam GCregServer} -gCupdateServer MFSAP-RR::={&mxref 4, &MXParam GCupdateServer} -gCderegServer MFSAP-RR::={&mxref 5, &MXParam GCderegServer} -gCregClient MFSAP-RR::={&mxref 6, &MXParam GCregClient} -gCupdateClient MFSAP-RR::={&mxref 7, &MXParam GCupdateClient} -gCderegClient MFSAP-RR::={&mxref 8, &MXParam GCderegClient} -lDMregister MFSAP-RR::={&mxref 9, &MXParam LDMregister} -sAMrxNot MFSAP-RR::={&mxref 10, &MXParam SAMrxNot} -cTXrxNot MFSAP-RR::={&mxref 11, &MXParam CTXrxNot} -iICrequestRX MFSAP-RR::={&mxref 12, &MXParam IICrequestRX} -iICresponseRX MFSAP-RR::={&mxref 13, &MXParam IICresponseRX} -iTS-S-Appl-ReqFinal MFSAP-RR::={&mxref 14, &MXParam ITS-S-Appl-RegFinal} -testMFecho MFSAP-RR::={&mxref 255, &MXParam TestMFecho} - -SimFUTreq::=FAsapPrimitivesUp - -SimFLTreq::=NFsapPrimitivesDown - -LDMregister::=SEQUENCE{ - iTS-scuId ITS-scuId, - reference OCTET STRING (SIZE(0..65535)) - } - -TestMFecho::=SEQUENCE{ - sap INTEGER{f (70)} (0..255), -- indicating MF-SAP - info OCTET STRING (SIZE(0..255)) - } - --- MF-SAP Request.confirm -- - -MFSAP-RC::=MXSERV - -MF-ReqConfirm MFSAP-RC::={simFUTreqConf | simFLTreqConf | iTS-S-Appl-RegConf | gCregServerConf | gCupdateServerConf | gCderegServerConf | gCregClientConf | gCupdateClientConf | gCderegClientConf | lDMregisterConf | sAMrxNotConf | cTXrxNotConf | iICrequestRXConf | iICresponseRXConf | iTS-S-Appl-ReqFinalConf | testMFechoConf, ...} - -MF-Request-confirm::=SEQUENCE{ - commandRef CommandRef, - ref MFSAP-RC.&mxref({MF-ReqConfirm}), - reqConfirm-param MFSAP-RC.&MXParam({MF-ReqConfirm}{@ref}), - errStatus ErrStatus - } - -simFUTreqConf MFSAP-RC::={&mxref 0, &MXParam NULL} -simFLTreqConf MFSAP-RC::={&mxref 1, &MXParam NULL} -iTS-S-Appl-RegConf MFSAP-RC::={&mxref 2, &MXParam NULL} -gCregServerConf MFSAP-RC::={&mxref 3, &MXParam GCregServerConf} -gCupdateServerConf MFSAP-RC::={&mxref 4, &MXParam GCupdateServerConf} -gCderegServerConf MFSAP-RC::={&mxref 5, &MXParam GCderegServerConf} -gCregClientConf MFSAP-RC::={&mxref 6, &MXParam GCregClientConf} -gCupdateClientConf MFSAP-RC::={&mxref 7, &MXParam GCupdateClientConf} -gCderegClientConf MFSAP-RC::={&mxref 8, &MXParam GCderegClientConf} -lDMregisterConf MFSAP-RC::={&mxref 9, &MXParam ITS-scuId} -sAMrxNotConf MFSAP-RC::={&mxref 10, &MXParam NULL} -cTXrxNotConf MFSAP-RC::={&mxref 11, &MXParam NULL} -iICrequestRXConf MFSAP-RC::={&mxref 12, &MXParam NULL} -iICresponseRXConf MFSAP-RC::={&mxref 13, &MXParam NULL} -iTS-S-Appl-ReqFinalConf MFSAP-RC::={&mxref 14, &MXParam NULL} -testMFechoConf MFSAP-RC::={&mxref 255, &MXParam NULL} - --- MN-SAP Service primitives -- --- MN-SAP Command.request -- - -MNSAP-CR::=MXSERV - -MN-Command MNSAP-CR::={simNUTcmd | simNLTcmd | fWTset | fWTupdate | fWTdelete | testMN, ...} - -MN-Command-request::=SEQUENCE{ - commandRef CommandRef, - ref MNSAP-CR.&mxref({MN-Command}), - command-param MNSAP-CR.&MXParam({MN-Command}{@ref}) - } - -simNUTcmd MNSAP-CR::={&mxref 0, &MXParam SimNUTcmd} -simNLTcmd MNSAP-CR::={&mxref 1, &MXParam SimNLTcmd} -fWTset MNSAP-CR::={&mxref 2, &MXParam FWTset} -fWTupdate MNSAP-CR::={&mxref 3, &MXParam FWTupdate} -fWTdelete MNSAP-CR::={&mxref 4, &MXParam FWTdelete} -testMN MNSAP-CR::={&mxref 255, &MXParam OCTET STRING (SIZE(0..255))} - -SimNUTcmd::=NFsapPrimitivesDown - -SimNLTcmd::=INsapPrimitivesUp - -FWT::=CLASS { - &fwtRef INTEGER(0..255), - &Fwt - } - -FWTset::=SEQUENCE{ - fwtNo FWT.&fwtRef({NTprotsSet}), - fwt FWT.&Fwt({NTprotsSet}{@fwtNo}) - } - -NTprotsSet FWT::={fntpset, ...} - -FWTupdate::=SEQUENCE{ - fwtNo FWT.&fwtRef({NTprotsUpdate}), - fwt FWT.&Fwt({NTprotsUpdate}{@fwtNo}) - } - -NTprotsUpdate FWT::={fntpupdate, ...} - -FWTdelete::=SEQUENCE{ - fwtNo FWT.&fwtRef({NTprotsDelete}), - fwt FWT.&Fwt({NTprotsDelete}{@fwtNo}) - } - -NTprotsDelete FWT::={fntpdelete, ...} - -fntpset FWT::={&fwtRef 0, &Fwt SetFNTP} -fntpupdate FWT::={&fwtRef 1, &Fwt UpdateFNTP} -fntpdelete FWT::={&fwtRef 2, &Fwt DeleteFNTP} - --- MN-SAP Command.confirm -- - -MNSAP-CC::=MXSERV - -MN-CmdConfirm MNSAP-CC::={simNUTcmdConf | simNLTcmdConf | fWTsetConf | fWTupdateConf | fWTdeletConf | testMNConf, ...} - -MN-Command-confirm::=SEQUENCE{ - commandRef CommandRef, - ref MNSAP-CC.&mxref({MN-CmdConfirm}), - cmdConfirm-param MNSAP-CC.&MXParam({MN-CmdConfirm}{@ref}), - errStatus ErrStatus - } - -simNUTcmdConf MNSAP-CC::={&mxref 0, &MXParam NULL} -simNLTcmdConf MNSAP-CC::={&mxref 1, &MXParam NULL} -fWTsetConf MNSAP-CC::={&mxref 2, &MXParam FWTsetConf} -fWTupdateConf MNSAP-CC::={&mxref 3, &MXParam FWTupdateConf} -fWTdeletConf MNSAP-CC::={&mxref 4, &MXParam FWTdeleteConf} -testMNConf MNSAP-CC::={&mxref 255, &MXParam NULL} - -FWTCONF::=CLASS { - &fwtRef INTEGER(0..255), - &Fwt - } - -FWTsetConf::=SEQUENCE{ - fwtNo FWTCONF.&fwtRef({NTprotsSetConf}), - fwt FWTCONF.&Fwt({NTprotsSetConf}{@fwtNo}) - } - -NTprotsSetConf FWTCONF::={fntpsetConf, ...} - -FWTupdateConf::=SEQUENCE{ - fwtNo FWTCONF.&fwtRef({NTprotsUpdateConf}), - fwt FWTCONF.&Fwt({NTprotsUpdateConf}{@fwtNo}) - } - -NTprotsUpdateConf FWTCONF::={fntpupdateConf, ...} - -FWTdeleteConf::=SEQUENCE{ - fwtNo FWTCONF.&fwtRef({NTprotsDeleteConf}), - fwt FWTCONF.&Fwt({NTprotsDeleteConf}{@fwtNo}) - } - -NTprotsDeleteConf FWTCONF::={fntpdeleteConf, ...} - -fntpsetConf FWTCONF::={&fwtRef 0, &Fwt SetConfFNTP} -fntpupdateConf FWTCONF::={&fwtRef 1, &Fwt NULL} -fntpdeleteConf FWTCONF::={&fwtRef 2, &Fwt NULL} - --- MN-SAP Request.request -- - -MNSAP-RR::=MXSERV - -MN-Request MNSAP-RR::={simNUTreq | simNLTreq | fWTsetNot | fWTupdateNot | fWTdeletNot | vCIcreatePeerMAC | its-ssiPeerNot | testMNecho, ...} - -MN-Request-request::=SEQUENCE{ - commandRef CommandRef, - ref MNSAP-RR.&mxref({MN-Request}), - request-param MNSAP-RR.&MXParam({MN-Request}{@ref}) - } - -simNUTreq MNSAP-RR::={&mxref 0, &MXParam SimNUTreq} -simNLTreq MNSAP-RR::={&mxref 1, &MXParam SimNLTreq} -fWTsetNot MNSAP-RR::={&mxref 2, &MXParam FWTsetNot} -fWTupdateNot MNSAP-RR::={&mxref 3, &MXParam FWTupdateNot} -fWTdeletNot MNSAP-RR::={&mxref 4, &MXParam FWTdeleteNot} -vCIcreatePeerMAC MNSAP-RR::={&mxref 5, &MXParam VCIcreatePeerMAC} -its-ssiPeerNot MNSAP-RR::={&mxref 6, &MXParam Its-ssiPeerNot} -testMNecho MNSAP-RR::={&mxref 255, &MXParam TestMNecho} - -SimNUTreq::=NFsapPrimitivesUp - -SimNLTreq::=INsapPrimitivesDown - -FWTNOT::=CLASS { - &fwtRef INTEGER(0..255), - &Fwt - } - -FWTsetNot::=SEQUENCE{ - fwtNo FWTNOT.&fwtRef({NTprotsSetNot}), - fwt FWTNOT.&Fwt({NTprotsSetNot}{@fwtNo}) - } - -NTprotsSetNot FWTNOT::={fntpsetNot, ...} - -FWTupdateNot::=SEQUENCE{ - fwtNo FWTNOT.&fwtRef({NTprotsUpdateNot}), - fwt FWTNOT.&Fwt({NTprotsUpdateNot}{@fwtNo}) - } - -NTprotsUpdateNot FWTNOT::={fntpupdateNot, ...} - -FWTdeleteNot::=SEQUENCE{ - fwtNo FWTNOT.&fwtRef({NTprotsDeleteNot}), - fwt FWTNOT.&Fwt({NTprotsDeleteNot}{@fwtNo}) - } - -NTprotsDeleteNot FWTNOT::={fntpdeleteNot, ...} - -fntpsetNot FWTNOT::={&fwtRef 0, &Fwt SetNotFNTP} -fntpupdateNot FWTNOT::={&fwtRef 1, &Fwt UpdateNotFNTP} -fntpdeleteNot FWTNOT::={&fwtRef 2, &Fwt DeleteNotFNTP} - - -VCIcreatePeerMAC::=SEQUENCE{ - reference INTEGER(0..255), - linkId Link-ID, - peerMac MACaddress - } - -Its-ssiPeerNot::=SEQUENCE{ - sap INTEGER(0..255), - mACaddress MACaddress, - linkId Link-ID, - its-ssiData ITS-SSI - } - -StationType::= INTEGER{ - mobile (0), - fixed (1), - infrastructure (2), - vehicle (3), - roadside (4), - central (5), - portable (6), - unknown (255) - }(0..255) - -StationID::=OCTET STRING (SIZE(4)) - -TestMNecho::=SEQUENCE{ - sap INTEGER{n (78)} (0..255), -- indicating MN-SAP - info OCTET STRING (SIZE(0..255)) - } - --- MN-SAP Request.confirm -- - -MNSAP-RC::=MXSERV - -MN-ReqConfirm MNSAP-RC::={simNUTreqConf | simNLTreqConf | fWTsetNotConf | fWTupdateNotConf | fWTdeletNotConf | vCIcreatePeerMACConf | its-ssiPeerNotConf | testMNechoConf, ...} - -MN-Request-confirm::=SEQUENCE{ - commandRef CommandRef, - ref MNSAP-RC.&mxref({MN-ReqConfirm}), - reqConfirm-param MNSAP-RC.&MXParam({MN-ReqConfirm}{@ref}), - errStatus ErrStatus - } - -simNUTreqConf MNSAP-RC::={&mxref 0, &MXParam NULL} -simNLTreqConf MNSAP-RC::={&mxref 1, &MXParam NULL} -fWTsetNotConf MNSAP-RC::={&mxref 2, &MXParam NULL} -fWTupdateNotConf MNSAP-RC::={&mxref 3, &MXParam NULL} -fWTdeletNotConf MNSAP-RC::={&mxref 4, &MXParam NULL} -vCIcreatePeerMACConf MNSAP-RC::={&mxref 5, &MXParam VCIPeerMAC} -its-ssiPeerNotConf MNSAP-RC::={&mxref 6, &MXParam NULL} -testMNechoConf MNSAP-RC::={&mxref 255, &MXParam NULL} - -VCIPeerMAC::=SEQUENCE{ - reference INTEGER(0..255), - linkId Link-ID - } - - --- MI-SAP Service primitives -- --- MI-SAP Command.request -- - -MISAP-CR::=MXSERV - -MI-Command MISAP-CR::={simIUTcmd | regCmd | cIstate | wakeUp | rTScmd | rTSackCmd | cONcmd | rIcmd | manuCmd | vciCmd | monitor | unitDataCmd | testMI |unknownCmd, ...} - -MI-Command-request::=SEQUENCE{ - linkID Link-ID, - commandRef CommandRef, - ref MISAP-CR.&mxref({MI-Command}), - command-param MISAP-CR.&MXParam({MI-Command}{@ref}) - } - -simIUTcmd MISAP-CR::={&mxref 0, &MXParam SimIUTcmd} -regCmd MISAP-CR::={&mxref 1, &MXParam RegCmd} -cIstate MISAP-CR::={&mxref 2, &MXParam CIstateChng} -wakeUp MISAP-CR::={&mxref 3, &MXParam WakeUp} -rTScmd MISAP-CR::={&mxref 4, &MXParam RTScmd} -rTSackCmd MISAP-CR::={&mxref 5, &MXParam RTSackCmd} -cONcmd MISAP-CR::={&mxref 6, &MXParam CONcmd} -rIcmd MISAP-CR::={&mxref 7, &MXParam RIcmd} -manuCmd MISAP-CR::={&mxref 8, &MXParam OCTET STRING} -vciCmd MISAP-CR::={&mxref 9, &MXParam VciCmd} -monitor MISAP-CR::={&mxref 10, &MXParam Monitor} -unitDataCmd MISAP-CR::={&mxref 11, &MXParam UnitData} -testMI MISAP-CR::={&mxref 255, &MXParam OCTET STRING (SIZE(0..255))} -unknownCmd MISAP-CR::={&mxref 254, &MXParam UnknownCommand} - -UnknownCommand::=INTEGER - -SimIUTcmd::=INsapPrimitivesDown - -RegCmd::=SEQUENCE{ - scuId ITS-scuId, - medID MedID - } - -CIstateChng::=INTEGER{ - deregister (0), - activate (4), - resume (8), - connect (16), - disconnect (32), - suspend (64), - inactivate (128) - }(0..255) - -WakeUp::=INTEGER(0..255) - -RTScmd::=SEQUENCE{ - reqID ReqID, - priority UserPriority, - seqNo INTEGER(0..255), - status INTEGER { - release (0), -- release prioritization - request (16) -- request prioritization - }(0..255) - } - -ReqID::=SEQUENCE{ - linkID Link-ID - } - -RTSackCmd::=SEQUENCE{ - priority UserPriority, - seqNo INTEGER(0..255), - status INTEGER { - ignored (64), -- request ignored - granted (128) -- request granted - }(0..255) - } - -CONcmd::=INTEGER{ - deleteAC (0), - connect (1), - disconnect (255) - }(0..255) - -RIcmd::=SEQUENCE{ - linkID Link-ID, - ri RI - } - -RI::=OCTET STRING (SIZE(0..65535)) - -VciCmd::=SEQUENCE{ - fill BIT STRING (SIZE(7)), - linkID Link-ID, - alive BOOLEAN OPTIONAL - } - -Monitor::=SEQUENCE (SIZE(0..255)) OF SEQUENCE{ - paramNo INTEGER(0..255), -- valid parameter number - active INTEGER{ - stop (0), - start (255) - }(0..255) - } - -UnitData::=SEQUENCE{ - sourceAddr Link-ID, - destAddr Link-ID, - data DataUnitData, - priority UserPriority, - parameter ParameterUnitData -- tbd dependent on medium - } - -DataUnitData::=OCTET STRING (SIZE(0..65535)) - -ParameterUnitData::=OCTET STRING (SIZE(0..65535)) - --- MI-SAP Command.Confirm -- - -MI-Command-confirm::=SEQUENCE{ - linkID Link-ID, - commandRef CommandRef, - errStatus ErrStatus - } - --- MI-SAP Request.request -- - -MISAP-RR::=MXSERV - -MI-Request MISAP-RR::={simIUTreq | regReq | prioReg | rTSreq | rTSackReq | rIreq | manuReq | events | posUpdateReq | unitDataReq | testMIecho, ...} - -MI-Request-request::=SEQUENCE{ - linkID Link-ID, - commandRef CommandRef, - ref MISAP-RR.&mxref({MI-Request}), - request-param MISAP-RR.&MXParam({MI-Request}{@ref}) - } - -simIUTreq MISAP-RR::={&mxref 0, &MXParam SimIUTreq} -regReq MISAP-RR::={&mxref 1, &MXParam RegReq} -prioReg MISAP-RR::={&mxref 2, &MXParam PrioReg} -rTSreq MISAP-RR::={&mxref 3, &MXParam RTSreq} -rTSackReq MISAP-RR::={&mxref 4, &MXParam RTSackReq} -rIreq MISAP-RR::={&mxref 5, &MXParam RIreq} -manuReq MISAP-RR::={&mxref 6, &MXParam OCTET STRING} -events MISAP-RR::={&mxref 7, &MXParam Events21218} -posUpdateReq MISAP-RR::={&mxref 8, &MXParam PosUpdateReq} -unitDataReq MISAP-RR::={&mxref 9, &MXParam UnitData} -testMIecho MISAP-RR::={&mxref 255, &MXParam TestMIecho} - -SimIUTreq::=INsapPrimitivesUp - -RegReq::=SEQUENCE{ - medType MedType - } - -PrioReg::=SEQUENCE{ - interferers Interferers, - timeout INTEGER(0..255) - } - -Interferers::=SEQUENCE (SIZE(0..255)) OF MedType - -RTSreq::=SEQUENCE{ - priority UserPriority, - seqNo INTEGER(0..255), - status INTEGER { - release (0), -- release prioritization - request (16) -- request prioritization - }(0..255) - } - -RTSackReq::=SEQUENCE{ - reqID ReqID, - seqNo INTEGER(0..255), - status INTEGER { - ignored (64), -- request ignored - granted (128) -- request granted - }(0..255) - } - -RIreq::=SEQUENCE{ - medType MedType, -- medium for retrieval - riAccess RIaccess -- request frame details - } - -RIaccess::=OCTET STRING (SIZE(0..65535)) - -EVENT21218::=CLASS { - &eventRef INTEGER(0..255), - &Event21218 - } - -Events21218::=SEQUENCE{ - eventNo EVENT21218.&eventRef({Events-21218}), - event EVENT21218.&Event21218({Events-21218} {@eventNo}) - } - -Events-21218 EVENT21218::={minUserPrio | txQueueThreshold | txQueueFull | vciCreated | vciDeleted | paramMonitor | txQueueLow | vciReset, ...} - - -minUserPrio EVENT21218::={&eventRef 0, &Event21218 E21218-0} --- MinimumUserPriority -txQueueThreshold EVENT21218::={&eventRef 1, &Event21218 E21218-1} --- TX queue at threshold -txQueueFull EVENT21218::={&eventRef 2, &Event21218 E21218-2} -- TX queue full -vciCreated EVENT21218::={&eventRef 3, &Event21218 E21218-3} -- VCI created -vciDeleted EVENT21218::={&eventRef 4, &Event21218 E21218-4} -- VCI deleted -paramMonitor EVENT21218::={&eventRef 5, &Event21218 E21218-5} --- Automatic notification -txQueueLow EVENT21218::={&eventRef 6, &Event21218 E21218-6} --- TX queue below low thresh. -vciReset EVENT21218::={&eventRef 7, &Event21218 E21218-7} -- VCI reset - -E21218-0::=SEQUENCE{ - priority UserPriority, - linkID Link-ID - } - -E21218-1::=UserPriority - -E21218-2::=UserPriority - -E21218-3::=Link-ID - -E21218-4::=Link-ID - -E21218-5::=I-Param - -E21218-6::=UserPriority - -E21218-7::=Link-ID - -PosUpdateReq::=INTEGER(0..65535) -- 0: Update disabled - -- >0: Update interval in ms - -TestMIecho::=SEQUENCE{ - sap INTEGER{i (73)} (0..255), -- indicating MI-SAP - info OCTET STRING (SIZE(0..255)) - } - --- MI-SAP Request.confirm -- - -MI-Request-confirm::=SEQUENCE{ - linkID Link-ID, - commandRef CommandRef, - errStatus ErrStatus - } - --- MI-SAP Set.request -- - -MI-Set-request::=SEQUENCE{ - linkID Link-ID, - commandRef CommandRef, - set-param SEQUENCE OF I-Param - } - --- MI-SAP Set.confirm -- - -MI-Set-confirm::=SEQUENCE{ - linkID Link-ID, - commandRef CommandRef, - set-param Errors -- previously this was SEQUENCE OF Errors, which is wrong. - } - --- MI-SAP Get.request -- - -MI-Get-request::=SEQUENCE{ - linkID Link-ID, - commandRef CommandRef, - get-param-no SEQUENCE OF I-ParamNo - } - --- MI-SAP Get.confirm -- - -MI-Get-confirm::=SEQUENCE{ - linkID Link-ID, - commandRef CommandRef, - get-param SEQUENCE OF I-Param - } - --- SF-SAP Service primitives -- --- SF-SAP Command.request -- - --- activate the following once an SF-Command is defined --- SFSAP-CR::=MXSERV --- --- SF-Command-request::=SEQUENCE{ --- commandRef CommandRef, --- ref SFSAP-CR.&mxref({SF-Command}), --- command-param SFSAP-CR.&MXParam({SF-Command}{@ref}) --- } --- --- SF-Command SFSAP-CR::={, ...} - - --- SF-SAP Command.confirm -- - --- activate the following once an SF-CmdConfirm is defined --- SFSAP-CC::=MXSERV --- --- SF-Command-confirm::=SEQUENCE{ --- commandRef CommandRef, --- ref SFSAP-CC.&mxref({SF-CmdConfirm}), --- cmdConfirm-param SFSAP-CC.&MXParam({SF-CmdConfirm}{@ref}), --- errStatus ErrStatus --- } --- --- SF-CmdConfirm SFSAP-CC::={, ...} - - --- SF-SAP Request.request -- - --- activate the following once an SF-Request is defined --- SFSAP-RR::=MXSERV --- --- SF-Request-request::=SEQUENCE{ --- commandRef CommandRef, --- ref SFSAP-RR.&mxref({SF-Request}), --- request-param SFSAP-RR.&MXParam({SF-Request}{@ref}) --- } --- --- SF-Request SFSAP-RR::={, ...} - - --- SF-SAP Request.confirm -- - --- activate the following once an SN-ReqConfirm is defined --- SFSAP-RC::=MXSERV --- --- SF-Request-confirm::=SEQUENCE{ --- commandRef CommandRef, --- ref SFSAP-RC.&mxref({SF-ReqConfirm}), --- reqConfirm-param SFSAP-RC.&MXParam({SF-ReqConfirm}{@ref}), --- errStatus ErrStatus --- } --- --- SF-ReqConfirm SFSAP-RC::={, ...} - - --- SN-SAP Service primitives -- --- SN-SAP Command.request -- - --- activate the following once an SN-Command is defined --- SNSAP-CR::=MXSERV --- --- SN-Command-request::=SEQUENCE{ --- commandRef CommandRef, --- ref SNSAP-CR.&mxref({SN-Command}), --- command-param SNSAP-CR.&MXParam({SN-Command}{@ref}) --- } --- SN-Command SNSAP-CR::={, ...} - - --- SN-SAP Command.confirm -- - --- activate the following once an SN-CmdConfirm is defined --- SNSAP-CC::=MXSERV --- --- SN-Command-confirm::=SEQUENCE{ --- commandRef CommandRef, --- ref SNSAP-CC.&mxref({SN-CmdConfirm}), --- cmdConfirm-param SNSAP-CC.&MXParam({SN-CmdConfirm}{@ref}), --- errStatus ErrStatus --- } --- --- SN-CmdConfirm SNSAP-CC::={, ...} - - --- SN-SAP Request.request -- - --- activate the following once an SN-Request is defined --- SNSAP-RR::=MXSERV --- --- SN-Request-request::=SEQUENCE{ --- commandRef CommandRef, --- ref SNSAP-RR.&mxref({SN-Request}), --- request-param SNSAP-RR.&MXParam({SN-Request}{@ref}) --- } --- --- SN-Request SNSAP-RR::={, ...} - - --- SN-SAP Request.confirm -- - --- activate the following once an SN-ReqConfirm is defined --- SNSAP-RC::=MXSERV --- --- SN-Request-confirm::=SEQUENCE{ --- commandRef CommandRef, --- ref SNSAP-RC.&mxref({SN-ReqConfirm}), --- reqConfirm-param SNSAP-RC.&MXParam({SN-ReqConfirm}{@ref}), --- errStatus ErrStatus --- } --- --- SN-ReqConfirm SNSAP-RC::={, ...} - - --- SI-SAP Service primitives -- --- SI-SAP Command.request -- - --- activate the following once an SI-Command is defined --- SISAP-CR::=MXSERV --- --- SI-Command-request::=SEQUENCE{ --- linkID Link-ID, --- commandRef CommandRef, --- ref SISAP-CR.&mxref({SI-Command}), --- command-param SISAP-CR.&MXParam({SI-Command}{@ref}) --- } --- --- SI-Command SISAP-CR::={, ...} - --- SI-SAP Command.confirm -- - --- activate the following once an SI-CmdConfirm is defined --- SISAP-CC::=MXSERV --- --- SI-Command-confirm::=SEQUENCE{ --- linkID Link-ID, --- commandRef CommandRef, --- ref SISAP-CC.&mxref({SI-CmdConfirm}), --- cmdConfirm-param SISAP-CC.&MXParam({SI-CmdConfirm}{@ref}), --- errStatus ErrStatus --- } --- --- SI-CmdConfirm SISAP-CC::={, ...} - - --- SI-SAP Request.request -- - --- activate the following once an SI-Request is defined --- SISAP-RR::=MXSERV --- --- SI-Request-request::=SEQUENCE{ --- linkID Link-ID, --- commandRef CommandRef, --- ref SISAP-RR.&mxref({SI-Request}), --- request-param SISAP-RR.&MXParam({SI-Request}{@ref}) --- } --- --- SI-Request SISAP-RR::={, ...} - - --- SI-SAP Request.confirm -- - --- activate the following once an SI-CRqConfirm is defined --- SISAP-RC::=MXSERV --- --- SI-Request-confirm::=SEQUENCE{ --- linkID Link-ID, --- commandRef CommandRef, --- ref SISAP-RC.&mxref({SI-CmdConfirm}), --- reqConfirm-param SISAP-RC.&MXParam({SI-CmdConfirm}{@ref}), --- errStatus ErrStatus --- } --- --- SI-ReqConfirm SISAP-RC::={, ...} - - --- MS-SAP Service primitives -- --- MS-SAP Command.request -- - -MSSAP-CR::=MXSERV - -MS-Command-request::=SEQUENCE{ - commandRef CommandRef, - ref MSSAP-CR.&mxref({MS-Command}), - command-param MSSAP-CR.&MXParam({MS-Command}{@ref}) - } - -MS-Command MSSAP-CR::={testMS, ...} - -testMS MSSAP-CR::={&mxref 255, &MXParam OCTET STRING (SIZE(0..255))} - --- MS-SAP Command.confirm -- - -MSSAP-CC::=MXSERV - -MS-Command-confirm::=SEQUENCE{ - commandRef CommandRef, - ref MSSAP-CC.&mxref({MS-CmdConfirm}), - cmdConfirm-param MSSAP-CC.&MXParam({MS-CmdConfirm}{@ref}), - errStatus ErrStatus - } - -MS-CmdConfirm MSSAP-CC::={testMSConf, ...} - -testMSConf MSSAP-CC::={&mxref 255, &MXParam NULL} - --- MS-SAP Request.request -- - -MSSAP-RR::=MXSERV - -MS-Request-request::=SEQUENCE{ - commandRef CommandRef, - ref MSSAP-RR.&mxref({MS-Request}), - request-param MSSAP-RR.&MXParam({MS-Request}{@ref}) - } - -MS-Request MSSAP-RR::={iTS-S-Appl-ProcS-Reg | iTS-S-Appl-ProcS-ReqFinal | testMSecho, ...} - -iTS-S-Appl-ProcS-Reg MSSAP-RR::={&mxref 1, &MXParam ITS-S-Appl-Reg} -iTS-S-Appl-ProcS-ReqFinal MSSAP-RR::={&mxref 13, &MXParam ITS-S-Appl-RegFinal} -testMSecho MSSAP-RR::={&mxref 255, &MXParam TestMSecho} - -TestMSecho::=SEQUENCE{ - sap INTEGER{s (83)} (0..255), -- indicating MS-SAP - info OCTET STRING (SIZE(0..255)) - } - - --- MS-SAP Request.confirm -- - -MSSAP-RC::=MXSERV - -MS-Request-confirm::=SEQUENCE{ - commandRef CommandRef, - ref MSSAP-RC.&mxref({MS-ReqConfirm}), - reqConfirm-param MSSAP-RC.&MXParam({MS-ReqConfirm}{@ref}), - errStatus ErrStatus - } - -MS-ReqConfirm MSSAP-RC::={iTS-S-Appl-ProcS-RegConf | iTS-S-Appl-ProcS-ReqFinalConf | testMSechoConf, ...} - -iTS-S-Appl-ProcS-RegConf MSSAP-RR::={&mxref 1, &MXParam NULL} -iTS-S-Appl-ProcS-ReqFinalConf MSSAP-RR::={&mxref 13, &MXParam NULL} -testMSechoConf MSSAP-RR::={&mxref 255, &MXParam NULL} - - --- MA-SAP service primitives --- MA-SAP Command.request -- - -MASAP-CR::=MXSERV - -MA-Command-request::=SEQUENCE{ - commandRef CommandRef, - ref MASAP-CR.&mxref({MA-Command}), - command-param MASAP-CR.&MXParam({MA-Command}{@ref}) - } - -MA-Command MASAP-CR::={testMA, ...} - -testMA MASAP-CR::={&mxref 255, &MXParam OCTET STRING (SIZE(0..255))} - --- MA-SAP Command.confirm -- - -MASAP-CC::=MXSERV - -testMAConf MASAP-CC::={&mxref 255, &MXParam NULL} - -MA-Command-confirm::=SEQUENCE{ - commandRef CommandRef, - ref MASAP-CC.&mxref({MA-CmdConfirm}), - cmdConfirm-param MASAP-CC.&MXParam({MA-CmdConfirm}{@ref}), - errStatus ErrStatus - } - -MA-CmdConfirm MASAP-CC::={testMAConf, ...} - --- MA-SAP Request.request -- - -MASAP-RR::=MXSERV - -MA-Request-request::=SEQUENCE{ - commandRef CommandRef, - ref MASAP-RR.&mxref({MA-Request}), - request-param MASAP-RR.&MXParam({MA-Request}{@ref}) - } - -MA-Request MASAP-RR::={iTS-S-Appl-Proc-Reg | iTS-S-Appl-Proc-ReqFinal | testMAecho, ...} - -iTS-S-Appl-Proc-Reg MASAP-RR::={&mxref 1, &MXParam ITS-S-Appl-Reg} -iTS-S-Appl-Proc-ReqFinal MASAP-RR::={&mxref 13, &MXParam ITS-S-Appl-RegFinal} -testMAecho MASAP-RR::={&mxref 255, &MXParam TestMAecho} - -TestMAecho::=SEQUENCE{ - sap INTEGER{a (65)} (0..255), -- indicating MA-SAP - info OCTET STRING (SIZE(0..255)) - } - --- MA-SAP Request.confirm -- - -MASAP-RC::=MXSERV - -MA-Request-confirm::=SEQUENCE{ - commandRef CommandRef, - ref MASAP-RC.&mxref({MA-ReqConfirm}), - reqConfirm-param MASAP-RC.&MXParam({MA-ReqConfirm}{@ref}), - errStatus ErrStatus - } - -MA-ReqConfirm MASAP-RC::={iTS-S-Appl-Proc-RegConf | iTS-S-Appl-Proc-ReqFinalConf | testMAechoConf, ...} - -iTS-S-Appl-Proc-RegConf MASAP-RC::={&mxref 1, &MXParam ITS-S-Appl-RegConf} -iTS-S-Appl-Proc-ReqFinalConf MASAP-RC::={&mxref 13, &MXParam NULL} -testMAechoConf MASAP-RC::={&mxref 255, &MXParam NULL} - - - --- SA-SAP service primitives --- SA-SAP Command.request -- - --- activate the following once an SA-Command is defined --- SASAP-CR::=MXSERV --- --- SA-Command-request::=SEQUENCE{ --- commandRef CommandRef, --- ref SASAP-CR.&mxref({SA-Command}), --- command-param SASAP-CR.&MXParam({SA-Command}{@ref}) --- } --- --- SA-Command SASAP-CR::={, ...} - - --- SA-SAP Command.confirm -- - --- activate the following once an SA-CmdConfirm is defined --- SASAP-CC::=MXSERV --- --- SA-Command-confirm::=SEQUENCE{ --- commandRef CommandRef, --- ref SASAP-CC.&mxref({SA-CmdConfirm}), --- cmdConfirm-param SASAP-CC.&MXParam({SA-CmdConfirm}{@ref}), --- errStatus ErrStatus --- } --- --- SA-CmdConfirm SASAP-CC::={, ...} - - --- SA-SAP Request.request -- - --- activate the following once an SA-Request is defined --- SASAP-RR::=MXSERV --- --- SA-Request-request::=SEQUENCE{ --- commandRef CommandRef, --- ref SASAP-RR.&mxref({SA-Request}), --- request-param SASAP-RR.&MXParam({SA-Request}{@ref}) --- } --- --- SA-Request MASAP-RR::={, ...} - - --- SA-SAP Request.confirm -- - --- activate the following once an SA-ReqConfirm is defined --- SASAP-RC::=MXSERV --- --- SA-Request-confirm::=SEQUENCE{ --- commandRef CommandRef, --- ref SASAP-RC.&mxref({SA-Request-confirm}), --- reqConfirm-param SASAP-RC.&MXParam({SA-Request-confirm}{@ref}), --- errStatus ErrStatus --- } --- --- SA-ReqConfirm SASAP-RC::={, ...} - - - --- General types -- - -ErrStatus::=INTEGER{ - success (0), - unspecFailure (1), -- unspecified failure - invalParamNo (2), -- invalid param no. - invalParamVal (3), -- invalid param value - riViolation (4), -- RI violation - cmdReqNo (5), -- invalid cmd/req no. - cmdReqVal (6), -- invalid cmd/req value - accessViolation (7), -- access violation - invalidType (8), -- invalid cmd/req type - sequenceError (9), -- cmd/req not applicable in the given context - nonavailValue (10), -- value required in cmd/req is not available - hardwareFailure (255) -- unspecified hardware failure - } (0..255) - -CommandRef::=INTEGER(0..65535) - - --- Values - - - -/* - The ASN.1 specification has been checked for conformance to the ASN.1 - standards by OSS ASN.1 Syntax Checker, and by OSS ASN-1STEP -*/ - -END - diff --git a/asn1/CAM/CAM.asn b/asn1/CAM/CAM.asn deleted file mode 100644 index e6cb301a6dff06a235a9c12d27129ce217aa8341..0000000000000000000000000000000000000000 --- a/asn1/CAM/CAM.asn +++ /dev/null @@ -1,132 +0,0 @@ -CAM-PDU-Descriptions { -itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (302637) cam (2) version (1) -} - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS -ItsPduHeader, CauseCode, ReferencePosition, AccelerationControl, Curvature, CurvatureCalculationMode, Heading, LanePosition, EmergencyPriority, EmbarkationStatus, Speed, DriveDirection, LongitudinalAcceleration, LateralAcceleration, VerticalAcceleration, StationType, ExteriorLights, DangerousGoodsBasic, SpecialTransportType, LightBarSirenInUse, VehicleRole, VehicleLength, VehicleWidth, PathHistory, RoadworksSubCauseCode, ClosedLanes, TrafficRule, SpeedLimit, SteeringWheelAngle, PerformanceClass, YawRate, ProtectedCommunicationZone, PtActivation, Latitude, Longitude, ProtectedCommunicationZonesRSU, CenDsrcTollingZone FROM ITS-Container { -itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) -}; - - --- The root data frame for cooperative awareness messages - -CAM ::= SEQUENCE { - header ItsPduHeader, - cam CoopAwareness -} - -CoopAwareness ::= SEQUENCE { - generationDeltaTime GenerationDeltaTime, - camParameters CamParameters -} - -CamParameters ::= SEQUENCE { - basicContainer BasicContainer, - highFrequencyContainer HighFrequencyContainer, - lowFrequencyContainer LowFrequencyContainer OPTIONAL, - specialVehicleContainer SpecialVehicleContainer OPTIONAL, - ... -} - -HighFrequencyContainer ::= CHOICE { - basicVehicleContainerHighFrequency BasicVehicleContainerHighFrequency, - rsuContainerHighFrequency RSUContainerHighFrequency, - ... -} - - LowFrequencyContainer ::= CHOICE { - basicVehicleContainerLowFrequency BasicVehicleContainerLowFrequency, - ... -} - -SpecialVehicleContainer ::= CHOICE { - publicTransportContainer PublicTransportContainer, - specialTransportContainer SpecialTransportContainer, - dangerousGoodsContainer DangerousGoodsContainer, - roadWorksContainerBasic RoadWorksContainerBasic, - rescueContainer RescueContainer, - emergencyContainer EmergencyContainer, - safetyCarContainer SafetyCarContainer, - ... -} - -BasicContainer ::= SEQUENCE { - stationType StationType, - referencePosition ReferencePosition, - ... -} - -BasicVehicleContainerHighFrequency ::= SEQUENCE { - heading Heading, - speed Speed, - driveDirection DriveDirection, - vehicleLength VehicleLength, - vehicleWidth VehicleWidth, - longitudinalAcceleration LongitudinalAcceleration, - curvature Curvature, - curvatureCalculationMode CurvatureCalculationMode, - yawRate YawRate, - accelerationControl AccelerationControl OPTIONAL, - lanePosition LanePosition OPTIONAL, - steeringWheelAngle SteeringWheelAngle OPTIONAL, - lateralAcceleration LateralAcceleration OPTIONAL, - verticalAcceleration VerticalAcceleration OPTIONAL, - performanceClass PerformanceClass OPTIONAL, - cenDsrcTollingZone CenDsrcTollingZone OPTIONAL -} - -BasicVehicleContainerLowFrequency ::= SEQUENCE { - vehicleRole VehicleRole, - exteriorLights ExteriorLights, - pathHistory PathHistory -} - -PublicTransportContainer ::= SEQUENCE { - embarkationStatus EmbarkationStatus, - ptActivation PtActivation OPTIONAL -} - -SpecialTransportContainer ::= SEQUENCE { - specialTransportType SpecialTransportType, - lightBarSirenInUse LightBarSirenInUse -} - - DangerousGoodsContainer ::= SEQUENCE { - dangerousGoodsBasic DangerousGoodsBasic - } - - RoadWorksContainerBasic ::= SEQUENCE { - roadworksSubCauseCode RoadworksSubCauseCode OPTIONAL, - lightBarSirenInUse LightBarSirenInUse, - closedLanes ClosedLanes OPTIONAL - } - -RescueContainer ::= SEQUENCE { - lightBarSirenInUse LightBarSirenInUse -} - -EmergencyContainer ::= SEQUENCE { - lightBarSirenInUse LightBarSirenInUse, - incidentIndication CauseCode OPTIONAL, - emergencyPriority EmergencyPriority OPTIONAL -} - -SafetyCarContainer ::= SEQUENCE { - lightBarSirenInUse LightBarSirenInUse, - incidentIndication CauseCode OPTIONAL, - trafficRule TrafficRule OPTIONAL, - speedLimit SpeedLimit OPTIONAL -} - -RSUContainerHighFrequency ::= SEQUENCE { - protectedCommunicationZonesRSU ProtectedCommunicationZonesRSU OPTIONAL, - ... -} - -GenerationDeltaTime ::= INTEGER { oneMilliSec(1) } (0..65535) - -END \ No newline at end of file diff --git a/asn1/CITSapplMgmt/CITSapplMgmtApplReg.asn b/asn1/CITSapplMgmt/CITSapplMgmtApplReg.asn deleted file mode 100644 index ed7f715dcc564b993c7c9db4f55de432a0737e34..0000000000000000000000000000000000000000 --- a/asn1/CITSapplMgmt/CITSapplMgmtApplReg.asn +++ /dev/null @@ -1,413 +0,0 @@ -CITSapplMgmtApplReg {iso(1) standard(0) cits-applMgmt (17419) applRegistry (2) version1 (1) } -DEFINITIONS AUTOMATIC TAGS::=BEGIN - --- Warning: Module is still under development - -IMPORTS -VarLengthNumber, VarLengthNumber2 FROM CITSapplMgmtIDs {iso(1) standard(0) cits-applMgmt (17419) ids (1)} - - -LogicalChannelType FROM CITSapplMgmtComm {iso(1) standard(0) cits-applMgmt (17419) comm (3)} - -ITSSappRxTxPortNo, ITSSappCPReqReg FROM CITSapplReq {iso(1) standard(0) cits-applReq (17423) asnm-1(1)} - -Lon, Lat, UserPriority FROM CALMllsap {iso(1) standard(0) calm-ll-sap(21218) asnm-1(1)} - -PortNumber FROM CALMfntp { iso (1) standard (0) calm-nonip(29281) fntp(1) asnm-1 (1)} - -; - --- End of IMPORTS - --- Types - --- registration information records for several ITS application objects - - --- ITS application object registration ITS-AID - - --- registry record for the whole set of registration information -ITSapObRegistry::=SEQUENCE OF ITSapOb - --- for a single ITS application object (ITSapOb) -ITSapOb::=SEQUENCE { - iTSaid ITSaid, -- ITS-AID - iTSapObName ITSObName, -- name of ITS application object - iTSapObType ITSapObType, -- class or application - iTSapObOwner ITSObOwner, -- owner of the ITS application - iTSapObCert ITSapObCertificate, -- information on certificate - iTSapObPorts ITSapObPorts - } - -ITSapObPorts::=SEQUENCE OF SEQUENCE{ - portNo ITSSappRxTxPortNo, - rules SEQUENCE OF ITSapObPort -- Information per source, see CEN/ISO TS 17423 - } - -ITSapObPort::= SEQUENCE OF ITSapObPortRule -- all rules shall be used at least once per source! - -ITSAPOBSR::=CLASS { - &ruleRef INTEGER(0..255), - &Rule - } - -ITSapObPortRule::=SEQUENCE{ - ruleNo ITSAPOBSR.&ruleRef({ITSapObPortRules}), - rule ITSAPOBSR.&Rule({ITSapObPortRules}{@ruleNo}) - } - -ITSapObPortRules ITSAPOBSR::={iTSapObRxTx | iTSapObLch | iTSapObPn, ...} - -iTSapObRxTx ITSAPOBSR::={&ruleRef 0, &Rule PortRxTx} -- RX or TX port -iTSapObLch ITSAPOBSR::={&ruleRef 1, &Rule LogicalChannelPrio} -- TX LCH allowed -iTSapObPn ITSAPOBSR::={&ruleRef 2, &Rule PortNumber} -- well-known PortNumber - -PortRxTx::=INTEGER{ - rxPort (0), - txPort (255) - } (0..255) - -LogicalChannelPrio::=SEQUENCE{ - lch LogicalChannelType, - prio UserPriority - } -- priority of messages of a source may depend on the LCH. - - -ITSObName::=OCTET STRING (SIZE(0..255)) - -ITSapObType::=INTEGER { - appClass (0), - application (1) - } (0..255) - -ITSObOwner::=SEQUENCE{ - ownerName ITSObOwnerName, - ownerType ITSObOwnerType, - ownerOID OBJECT IDENTIFIER - } - -ITSObOwnerName::=OCTET STRING (SIZE(0..255)) - -ITSObOwnerType::=INTEGER{ - standard (0), - private (1) - } (0..255) - -ITSapObPriority::=UserPriority - -ITSapObCertificate::=SEQUENCE { - issuingSA IssuingSA, - startDate CertStartDate, - endDate CertEndDate, - status CertStatus - } - -IssuingSA::=SEQUENCE { - name SAname, - saOID OBJECT IDENTIFIER - } - -SAname::=OCTET STRING (SIZE(0..255)) - -CertStartDate::=SEQUENCE{ - fill BIT STRING (SIZE(7)), -- set to zero - csd CHOICE { - inactive [0] NULL, -- indicates that certificate is not issued - date [1] NumericString (SIZE(8)) -- yyyymmdd - } - } - -CertEndDate::=SEQUENCE{ - fill BIT STRING (SIZE(6)), -- set to zero - ced CHOICE { - inactive [0] NULL, -- this shall apply if StartDate is set to [0] - date [1] NumericString (SIZE(8)), -- yyyymmdd - never [2] NULL -- indicates that there is no end date - } - } - -CertStatus::=SEQUENCE{ - fill BIT STRING (SIZE(6)), -- set to zero - cs CHOICE { - active [0] NULL, -- certificate is issued - inactive [1] NULL, -- certificate is not issued - testActiv [2] NULL, -- ITS application object is in test phase - blocked [3] CertBlocked -- issued certificate is blocked - } - } - -CertBlocked::=SEQUENCE { - date NumericString (SIZE(8)), -- yyyymmdd - issuingSA IssuingSA -- SA who performed black-listing of an ITS-AID - } - - --- ITS message set registration ITS-MsgSetID - - --- registry record for the whole set of registration information -ITSmsgSetRegistry::=SEQUENCE OF ITSmsgSet - --- for a single ITS message set (ITSmsgSet) -ITSmsgSet::=SEQUENCE { - iTSmsID ITSmsgSetID, -- ITS-MsgSetID - iTSmsName ITSObName, -- human-readable name of ITS message set - iTSmsOwner ITSObOwner -- owner of the ITS message set - } - - --- ITS regulatory region registration - - --- registry record for the whole set of registration information -ITSregRegionRegistry::=SEQUENCE OF ITSregRegion --- for a single regulatory region -ITSregRegion::=SEQUENCE{ - regID ITSrrID, - regAuthority ITS-RegPolicyAuthority, - fill BIT STRING (SIZE(7)), - regArea ITS-RParea - } - -ITS-RegPolicyAuthority::=SEQUENCE{ - name ITSObOwnerName, - url URLreg - } - -URLreg::=OCTET STRING (SIZE(0..256)) - -ITSRPAREA::=CLASS{ - &areaRef INTEGER(0..255), - &Area - } - -ITS-RParea::=SEQUENCE{ - areaTypeNo ITSRPAREA.&areaRef({ITS-RPareaTypes}), - areaType ITSRPAREA.&Area({ITS-RPareaTypes}) - } - -ITS-RPareaTypes ITSRPAREA::={rpAreaCountryCode | rpAreaGeoPolygon,...} - -rpAreaCountryCode ITSRPAREA::={&areaRef 0, &Area CountryCode} -rpAreaGeoPolygon ITSRPAREA::={&areaRef 1, &Area GeoPolygon} - -GeoPolygon::=SEQUENCE (SIZE(0..65535)) OF GeoCoordinates - -GeoCoordinates::=SEQUENCE{ - lat Lat, -- from ISO 21218 - long Lon -- from ISO 21218 - } - -CountryCode::=OCTET STRING (SIZE(3)) -- ISO 3166 Alpha-3 code - - --- ITS policy region registration - - --- registry record for the whole set of registration information -ITSpolRegionRegistry::=SEQUENCE OF ITSpolRegion --- for a single policy region -ITSpolRegion::=SEQUENCE{ - polID ITSprID, - polAuthority ITS-RegPolicyAuthority, - fill BIT STRING (SIZE(7)), - polArea ITS-RParea - } - - --- ITS port number registration - --- registry record for the whole set of registration information -ITSportNumberRegistry::=SEQUENCE OF ITSportNumber --- for a single port number -ITSportNumber::=SEQUENCE{ - pn PortNumber, -- PN used by transport protocol - ntProt NTprotocol, -- transport protocol identifier - itssAp ItsAppInfo -- RxTx port (sink/source) of ITS application object - } - - -ItsAppInfo::=SEQUENCE{ - itsAid ITSaid, - rxTxPortNo ITSSappRxTxPortNo - } - -NTprotocol::=SEQUENCE{ - name OCTET STRING (SIZE(0..255)), - protRef ProtocolReference - } - -ProtocolReference::=SEQUENCE{ - sdo OCTET STRING (SIZE(0..255)), - docNo OCTET STRING (SIZE(0..255)) - } - --- ITS flow type registration - --- registry record for the whole set of registration information -ITSflowTypeRegistry::=SEQUENCE OF ITSflowType --- for a single flow type -ITSflowType::=SEQUENCE{ - id FlowTypeID, -- Flow type identifier (well-known Flow type) - req ITSSappCPReqReg -- list of requirements - } - -FlowTypeID::=VarLengthNumber2 - - - --- ITS logical channel registration - - --- registry record for the whole set of registration information -ITSlchRegistry::=SEQUENCE OF ITSlch --- for a single LCH -ITSlch::=SEQUENCE{ - lchID LogicalChannelType, -- reference ID of LCH - lchPurpose OCTET STRING (SIZE(0..255)) -- Purpose of LCH - } - - - - --- ITS station unit registration - - --- registry record for the whole set of registration information -ITSsuRegistry::=SEQUENCE OF ITSsu --- for a single ITS-SU -ITSsu::=SEQUENCE{ - itssuID ITSsuID - } - - - --- ITS station communication unit registration - - --- registry record for the whole set of registration information -ITSscuRegistry::=SEQUENCE OF ITSscu --- for a single ITS-SCU -ITSscu::=SEQUENCE{ - itsscuID ITSscuID - } - - --- ITS-S application process provisioner registration - - --- registry record for the whole set of registration information -ITSSappRegistry::=SEQUENCE OF ITSSapPrPr --- for a single ITS-S-APP -ITSSapPrPr::=SEQUENCE{ - itssappID ITSSappid, - itssapProv RegEntryOwner - } - -RegEntryOwner::=SEQUENCE{ - ownerName OCTET STRING (SIZE(0..255)), - ownerAddress OCTET STRING (SIZE(0..255)), - ownerURL URLreg - } - - --- ITS equipment manufacturer registration - - --- registry record for the whole set of registration information -ITSemRegistry::=SEQUENCE OF ITSem --- for a single ITS equipment manufacturer -ITSem::=SEQUENCE{ - itsemID ITSemID, - equipManu RegEntryOwner - } - - --- ITS application object owner registration - - --- registry record for the whole set of registration information -ITSaooRegistry::=SEQUENCE OF ITSaoo --- for a single ITS application object owner -ITSaoo::=SEQUENCE{ - itsaooID ITSaooID, - aoo RegEntryOwner - } - - --- ITS message set owner registration - - --- registry record for the whole set of registration information -Registry::=SEQUENCE OF ITSmso --- for a single ITS message set owner -ITSmso::=SEQUENCE{ - iTSmsoID ITSmsoID, - mso RegEntryOwner - } - - --- ITS-S application process developer registration - - --- registry record for the whole set of registration information -ITSSapdRegistry::=SEQUENCE OF ITSSapd --- for a single ITS-S application process developer -ITSSapd::=SEQUENCE{ - itssapdID ITSSapdID, - ad RegEntryOwner - } - - --- ID types -- - -ITSaid::=VarLengthNumber -- used in 24102-5 - -ITSmsgSetID::=VarLengthNumber - -ITSemID::=VarLengthNumber2 - -ITSsuID::=SEQUENCE{ - suID VarLengthNumber, - scuID ITSscuID - } - -ITSscuID::=SEQUENCE{ - emID ITSemID, -- manufacturer ID - serialNo VarLengthNumber -- serial number - } - -ITSSappid::=VarLengthNumber - -ITSrrID::=VarLengthNumber - -ITSprID::=VarLengthNumber - -ITSaooID::=VarLengthNumber - -ITSmsoID::=VarLengthNumber2 - -ITSSapdID::=VarLengthNumber - - --- Values - --- OIDs of standards organizations --- ISO -oidISO OBJECT IDENTIFIER::={iso(1) standard(0)} --- ETSI -oidETSI OBJECT IDENTIFIER::={itu-t(0) identified-organization(4) etsi(0)} --- IEEE -oidIEEE OBJECT IDENTIFIER::={iso(1) identified-organization(3) ieee(3)} --- CEN -oidCEN OBJECT IDENTIFIER::={iso(1) identified-organization(3) cen(162)} - -fntpRefNo OCTET STRING(SIZE(0..255))::='49534F2032393238312D31'H --"ISO 29281-1" - - --- version of this module -version INTEGER(0..255)::=1 - - -END diff --git a/asn1/CITSapplMgmt/CITSapplMgmtComm.asn b/asn1/CITSapplMgmt/CITSapplMgmtComm.asn deleted file mode 100644 index ef829a60d96e48912d71616ae9ae414336f4c30c..0000000000000000000000000000000000000000 --- a/asn1/CITSapplMgmt/CITSapplMgmtComm.asn +++ /dev/null @@ -1,28 +0,0 @@ -CITSapplMgmtComm {iso(1) standard(0) cits-applMgmt (17419) comm (3)} -DEFINITIONS AUTOMATIC TAGS::=BEGIN - --- Warning: Module is still under development - -IMPORTS -VarLengthNumber, VarLengthNumber2 FROM CITSapplMgmtIDs {iso(1) standard(0) cits-applMgmt (17419) ids (1)} - -; - --- End of IMPORTS - --- Types - -LogicalChannelType::=VarLengthNumber2 -- used in 17423, 21218, 24102-1 - -MCgroup::= VarLengthNumber -- used in 17423 - -ITSprotocolStackID::= VarLengthNumber -- used in 17423 - - - --- Values - -version INTEGER(0..255)::=1 -- version of this module - - -END diff --git a/asn1/CITSapplMgmt/CITSapplMgmtIDs.asn b/asn1/CITSapplMgmt/CITSapplMgmtIDs.asn deleted file mode 100644 index df372c41d1ecfe993de7ae2a6d2ffd153145e500..0000000000000000000000000000000000000000 --- a/asn1/CITSapplMgmt/CITSapplMgmtIDs.asn +++ /dev/null @@ -1,47 +0,0 @@ -CITSapplMgmtIDs {iso(1) standard(0) cits-applMgmt (17419) ids (1)} -DEFINITIONS AUTOMATIC TAGS::=BEGIN - --- Warning: Module is still under development - -IMPORTS - -; - --- End of IMPORTS - --- Types - --- Variable length data types - -VarLengthNumber::=CHOICE{ - content [0] INTEGER(0..127), -- one octet length - extension [1] Ext1 - } - -Ext1::=CHOICE{ - content [0] INTEGER(128..16511), -- two octets length - extension [1] Ext2 -} - -Ext2::=CHOICE{ - content [0] INTEGER(16512..2113663), -- three octets length - extension [1] Ext3 - } - -Ext3::=INTEGER(211664..270549119,...) -- four and more octets length - - -VarLengthNumber2::=CHOICE{ - shortNo [0] INTEGER(0..127), - longNo [1] INTEGER(0..32767) - } - - --- Values - -version INTEGER(0..255)::=1 -- version of this module - - - -END - diff --git a/asn1/CITSapplReq/CITSapplReq.asn b/asn1/CITSapplReq/CITSapplReq.asn deleted file mode 100644 index 5a2c8ff0adc5534deb342f6c2690d10ca7ccc5d9..0000000000000000000000000000000000000000 --- a/asn1/CITSapplReq/CITSapplReq.asn +++ /dev/null @@ -1,351 +0,0 @@ ----- - -CITSapplReq {iso(1) standard(0) cits-applReq (17423) asnm-1 (1)} - -DEFINITIONS AUTOMATIC TAGS::=BEGIN - --- Warning: Module is still under development - -IMPORTS -DataRate, Directivity, TimeUnit FROM CALMllsap {iso(1) standard(0) calm-ll-sap(21218) asnm-1(1)} - -VarLengthNumber2 FROM CITSapplMgmtIDs {iso(1) standard(0) cits-applMgmt (17419) ids (1)} - -ITSaid , FlowTypeID FROM CITSapplMgmtApplReg {iso(1) standard(0) cits-applMgmt (17419) applRegistry (2)} - -LogicalChannelType, MCgroup, ITSprotocolStackID FROM CITSapplMgmtComm {iso(1) standard(0) cits-applMgmt (17419) comm (3)} - -ApplicationID FROM CALMmanagement { iso (1) standard (0) calm-management (24102) local (1) asnm-1 (1)} -; - --- End of IMPORTS - --- Types - --- Communication Requirement per communication source identified by FlowNo - --- Used in REQUEST.request service primitive - -ITSSappCPReqReg::=SEQUENCE{ - applicationID ApplicationID, ---ID of ITS-S application process unique in an ITS-SCU - rxTxPort ITSSappRxTxPort, - requirements ITSSappReq - } - -ITSSappRxTxPort::=SEQUENCE{ - portNo ITSSappRxTxPortNo, - portType ITSSappRxTxPortType - } - -ITSSappRxTxPortNo::=VarLengthNumber2 - -ITSSappRxTxPortType::=INTEGER{ - rxPort (0), - txPort (255) - } (0..255) - -ServiceRef::=SEQUENCE{ - itsaid ITSaid, - instance INTEGER(0..255), -- allows for 256 instances of this app - flowNo FlowNo - } - -FlowNo::=INTEGER(0..255) -- allows for 256 different flows per app - - --- Used in REQUEST.confirm service primitive -ITSSappCPReqConf::=SEQUENCE{ - applicationID ApplicationID, - rxTxPort ITSSappRxTxPort, - confDetails ITSSappReqConf - } - --- Confirmation of presented requirements -REQSCP::=CLASS { - &ref INTEGER(0..255), - &ReqParam - } - -ITSSappReq::=SEQUENCE OF SEQUENCE{ - refNo REQSCP.&ref({Req-SCP}), - param REQSCP.&ReqParam({Req-SCP}{@refNo}) - } - -REQSCPCONF::=CLASS { - &ref INTEGER(0..255), - &ReqConfParam - } - -ITSSappReqConf::=SEQUENCE OF SEQUENCE{ - refNo REQSCPCONF.&ref({ReqConf-SCP}), -- same as in request - param REQSCPCONF.&ReqConfParam({ReqConf-SCP}{@refNo}) - } - --- Notification of final decision of ITS-S application process -ITSSappCPFinal::=SEQUENCE{ - applicationID ApplicationID, -- same as in .request - final Logic - } - - --- Requirements - - -Req-SCP REQSCP::={logChannel | destType | destDomain | maxAPDU | contConnect | nxRepeat | storeForward | flowType | commDistance | directivity | multiHop | reduntOp | minThP | maxLat | protocolReq | dataConfidentiality | dataIntegrity | nonReputability | dataAuthentication, ...} - --- Mandatory requirements (only odd ref numbers) -logChannel REQSCP::={&ref 0, &ReqParam LogicalChannelType} -destType REQSCP::={&ref 2, &ReqParam DestinationType} -destDomain REQSCP::={&ref 4, &ReqParam DestDomain} -maxAPDU REQSCP::={&ref 6, &ReqParam MaxADU} - -DestinationType::=SEQUENCE{ - fill BIT STRING (SIZE(7)), -- all bits set to zero - type DestType - } - -DestType::=CHOICE{ - addressType [0] AddressBasedType, - geoLocType [1] GeoLocationBasedType - } - -AddressBasedType::=SEQUENCE{ - type INTEGER{ - broadCast (0), - multiCast (1), - unicast (2) - }(0..127), - mcGroups SEQUENCE (SIZE(0..255)) OF MCgroup OPTIONAL - } - -GeoLocationBasedType::=SEQUENCE{ - type INTEGER{ - geoUnicast (0), - geoAnycast (1), - geoMulticast (2), - geoBroadcast (4) - } (0..127), - mcGroups SEQUENCE (SIZE(0..255)) OF MCgroup OPTIONAL - } - -DestDomain::=INTEGER{ - stationInternal (0), - linkLocal (1), - siteLocal (2), - itsNWlocal (4), - global (8) - } (0..255) - -MaxADU::=INTEGER(0..65535) -- multiples of 100 byte - - --- Optional requirements (only even ref numbers) -contConnect REQSCP::={&ref 1, &ReqParam ContConnect} -nxRepeat REQSCP::={&ref 3, &ReqParam NxRepeat} -storeForward REQSCP::={&ref 5, &ReqParam StoreForward} -flowType REQSCP::={&ref 7, &ReqParam FlowTypeID} -commDistance REQSCP::={&ref 9, &ReqParam CommDistance} -directivity REQSCP::={&ref 11, &ReqParam Directivity} -multiHop REQSCP::={&ref 13, &ReqParam MultiHop} -reduntOp REQSCP::={&ref 15, &ReqParam Resilience} -minThP REQSCP::={&ref 17, &ReqParam MinThP} -maxLat REQSCP::={&ref 19, &ReqParam MaxLat} -protocolReq REQSCP::={&ref 21, &ReqParam ProtocolReq} -dataConfidentiality REQSCP::={&ref 23, &ReqParam DataConfidentiality} -dataIntegrity REQSCP::={&ref 25, &ReqParam DataIntegrity} -nonReputability REQSCP::={&ref 27, &ReqParam ReqNonrepudiation} -dataAuthentication REQSCP::={&ref 29, &ReqParam DataAuthentication} - -ContConnect::=SEQUENCE{ - duration TimDurationValue, - interrupt Logic -- true: session may be interrupted - } -- three octets in PER - -TimDurationValue::=SEQUENCE { - value INTEGER(0..1023), -- valid parameter number (10 bits in PER) - unit TimeUnit - } -- 16 bits in PER - -NxRepeat::=SEQUENCE{ - repeat INTEGER(0..255), -- 0 no repetition, 255 no stop until flow ends - interval TimDurationValue - } - -StoreForward::=TimDurationValue - -CommDistance::=SEQUENCE{ - minDistance INTEGER(0..65535), -- m - cost CostObjective - } - -MultiHop::=SEQUENCE{ - hops INTEGER(0..255), - cost CostObjective - } - -Resilience::=CostObjective -- true: resilience requested - -MinThP::=SEQUENCE{ - minThP DataRate, - cost CostObjective - } - -MaxLat::=SEQUENCE{ - lat INTEGER{ - unknown (0), -- unknown latency - any (1), -- any latency - not further specified - ms (2), -- response within less than 10 ms - ms10 (4), -- response within less than 100 ms - ms100 (8), -- response within less than 1 second - sec (16), -- response within less than 10 seconds - sec10 (32), -- response within less than 1 minute - min (64), -- response within less than 10 minutes - min10 (128) -- response within less than 1 hour - } (0..255), - cost CostObjective - } - -ProtocolReq::=ITSprotocolStackID -- this type must be octet aligned. - -DataConfidentiality::=ConfValue - -DataIntegrity::=ConfValue - -ReqNonrepudiation::=ConfValue - -DataAuthentication::=ConfValue - - --- Confirmation requirements and objectives requested - -ReqConf-SCP REQSCPCONF::={logChannelConf | destTypeConf | destDomainConf | maxAPDUConf | contConnectConf | nxRepeatConf | storeForwardConf | flowTypeConf | commDistanceConf | directivityConf | multiHopConf | reduntOpConf | minThPConf | maxLatConf | protocolReqConf | dataConfidentialityConf | dataIntegrityConf | nonReputabilityConf | dataAuthenticationConf, ...} - --- Mandatory (only odd ref numbers): ok (TRUE) / nok or possible values -logChannelConf REQSCPCONF::={&ref 0, &ReqConfParam Logic} -destTypeConf REQSCPCONF::={&ref 2, &ReqConfParam Logic} -destDomainConf REQSCPCONF::={&ref 4, &ReqConfParam Logic} -maxAPDUConf REQSCPCONF::={&ref 6, &ReqConfParam MaxADU} --- Optional (only even ref numbers): ok (TRUE) / nok or possible values -contConnectConf REQSCPCONF::={&ref 1, &ReqConfParam ContConnect} -nxRepeatConf REQSCPCONF::={&ref 3, &ReqConfParam Logic} -storeForwardConf REQSCPCONF::={&ref 5, &ReqConfParam Logic} -flowTypeConf REQSCPCONF::={&ref 7, &ReqConfParam Logic} -commDistanceConf REQSCPCONF::={&ref 9, &ReqConfParam CommDistance} -directivityConf REQSCPCONF::={&ref 11, &ReqConfParam Directivity} -multiHopConf REQSCPCONF::={&ref 13, &ReqConfParam Logic} -reduntOpConf REQSCPCONF::={&ref 15, &ReqConfParam Logic} -minThPConf REQSCPCONF::={&ref 17, &ReqConfParam MinThP} -maxLatConf REQSCPCONF::={&ref 19, &ReqConfParam MaxLat} -protocolReqConf REQSCPCONF::={&ref 21, &ReqConfParam Logic} -dataConfidentialityConf REQSCPCONF::={&ref 23, &ReqConfParam Logic} -dataIntegrityConf REQSCPCONF::={&ref 25, &ReqConfParam Logic} -nonReputabilityConf REQSCPCONF::={&ref 27, &ReqConfParam Logic} -dataAuthenticationConf REQSCPCONF::={&ref 29, &ReqConfParam Logic} - - --- Policies - -POLICYC::=CLASS { - &ref INTEGER(0..255), - &PolParam - } - -Policies::=SEQUENCE OF SEQUENCE{ - refNo POLICYC.&ref({Policy}), - param POLICYC.&PolParam({Policy}{@refNo}) - } - -Policy POLICYC::={mediumCost | locPrivacy | anonymity, ...} - -mediumCost POLICYC::={&ref 0, &PolParam MediumCost} -locPrivacy POLICYC::={&ref 1, &PolParam LocPrivacy} -anonymity POLICYC::={&ref 2, &PolParam Anonymity} - - --- Financial policies - -MediumCost::=SEQUENCE{ - fill BIT STRING (SIZE(2)), -- bits set to zero - costClass CostClass, -- uses 3 bits - costAmount CostAmount OPTIONAL, - timeUnit CostTimeUnit OPTIONAL, - amountUnit CostAmountUnit OPTIONAL - } - -CostClass::=INTEGER{ - tempUnavailable (0), - noCharge (1), - flatRate (2), - perTime (3), - perAmount (4), - perConnection (5) - } (0..7) - -CostAmount::=SEQUENCE{ - currency INTEGER(0..1023), -- ISO 4217 three digit numeric code - value CostValue - } -- presented in 4 octets - -CostValue::=SEQUENCE{ - main INTEGER(0..4095), -- in currency unit - fraction INTEGER(0..1023) -- in 1/1000 of currency unit - } - -CostTimeUnit::=SEQUENCE{ - value INTEGER(0..1023), -- valid parameter number (10 bits in PER) - fill BIT STRING (SIZE(1)), -- set to zero, extends TimeUnit size. - unit TimeUnit -- presented in 5 bits - } -- 2 octets in PER - -CostAmountUnit::=INTEGER{ - tempUnavailable (0), - kbyte (1), - tkbyte (2), - hkbyte (4), - mbyte (8), - tmbyte (16), - hmbyte (32), - gbyte (64), - tgbyte (128) - } (0..255) - --- Security -LocPrivacy::=ConfValue - -Anonymity::=ConfValue - --- MA-SAP / MF-SAP / MS-SAP functions --- Some functions are used in these three SAPs - - -ITS-S-Appl-Reg::= SEQUENCE OF ITSSappCPReqReg -- used in 24102-3 - -ITS-S-Appl-RegConf::= SEQUENCE OF ITSSappCPReqConf -- used in 24102-3 - -ITS-S-Appl-RegFinal::=ITSSappCPFinal - --- General -Logic::=INTEGER{ - false (0), - true (255) - } (0..255) - -ConfValue::=INTEGER{ - ok (0), - alternative (1), - nok (2) - } (0..255) - -CostObjective::=INTEGER(0..255) - --- values - - - - - -END - - - diff --git a/asn1/DENM/DENM.asn b/asn1/DENM/DENM.asn deleted file mode 100644 index 20546bdaafa963fa23da7441928bcb764f453523..0000000000000000000000000000000000000000 --- a/asn1/DENM/DENM.asn +++ /dev/null @@ -1,109 +0,0 @@ -DENM-PDU-Descriptions { - itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (302637) denm (1) version (1) -} - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS -ItsPduHeader, CauseCode, Speed, InformationQuality, ReferencePosition, ClosedLanes, DangerousGoodsExtended, Heading, LanePosition, LightBarSirenInUse, RoadType, HeightLonCarr, PosLonCarr, PosCentMass, PositioningSolutionType, RequestResponseIndication, StationType, SpeedLimit, StationarySince, TimestampIts, WheelBaseVehicle, TurningRadius, PosFrontAx, PositionOfOccupants, Temperature, VehicleMass, VehicleIdentification, EnergyStorageType, ActionID, ItineraryPath, NumberOfOccupants, PositionOfPillars, RelevanceTrafficDirection, RestrictedTypes, Traces, TransmissionInterval, ValidityDuration, RelevanceDistance, EventHistory, TrafficRule, DeltaReferencePosition FROM ITS-Container { -itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) -}; - - -DENM ::= SEQUENCE { - header ItsPduHeader, - denm DecentralizedEnvironmentalNotificationMessage -} - -DecentralizedEnvironmentalNotificationMessage ::= SEQUENCE { - management ManagementContainer, - situation SituationContainer OPTIONAL, - location LocationContainer OPTIONAL, - alacarte AlacarteContainer OPTIONAL -} - -ManagementContainer ::= SEQUENCE { - actionID ActionID, - detectionTime TimestampIts, - referenceTime TimestampIts, - termination Termination OPTIONAL, - eventPosition ReferencePosition, - relevanceDistance RelevanceDistance OPTIONAL, - relevanceTrafficDirection RelevanceTrafficDirection OPTIONAL, - validityDuration ValidityDuration DEFAULT defaultValidity, - transmissionInterval TransmissionInterval OPTIONAL, - stationType StationType, - ... -} - -SituationContainer ::= SEQUENCE { - informationQuality InformationQuality, - eventType CauseCode, - linkedCause CauseCode OPTIONAL, - eventHistory EventHistory OPTIONAL, - ... -} - -LocationContainer ::= SEQUENCE { - eventSpeed Speed OPTIONAL, - eventPositionHeading Heading OPTIONAL, - traces Traces, - roadType RoadType OPTIONAL, - ... -} - -ImpactReductionContainer ::= SEQUENCE { - heightLonCarrLeft HeightLonCarr, - heightLonCarrRight HeightLonCarr, - posLonCarrLeft PosLonCarr, - posLonCarrRight PosLonCarr, - positionOfPillars PositionOfPillars, - posCentMass PosCentMass, - wheelBaseVehicle WheelBaseVehicle, - turningRadius TurningRadius, - posFrontAx PosFrontAx, - positionOfOccupants PositionOfOccupants, - vehicleMass VehicleMass, - requestResponseIndication RequestResponseIndication -} - -RoadWorksContainerExtended ::= SEQUENCE { - lightBarSirenInUse LightBarSirenInUse OPTIONAL, - closedLanes ClosedLanes OPTIONAL, - restriction RestrictedTypes OPTIONAL, - speedLimit SpeedLimit OPTIONAL, - incidentIndication CauseCode OPTIONAL, - recommendedPath ItineraryPath OPTIONAL, - startingPointSpeedLimit DeltaReferencePosition OPTIONAL, - trafficFlowRule TrafficRule OPTIONAL, - referenceDenms ReferenceDenms OPTIONAL - } - -StationaryVehicleContainer ::= SEQUENCE { - stationarySince StationarySince OPTIONAL, - stationaryCause CauseCode OPTIONAL, - carryingDangerousGoods DangerousGoodsExtended OPTIONAL, - numberOfOccupants NumberOfOccupants OPTIONAL, - vehicleIdentification VehicleIdentification OPTIONAL, - energyStorageType EnergyStorageType OPTIONAL -} - -AlacarteContainer ::= SEQUENCE { - lanePosition LanePosition OPTIONAL, - impactReduction ImpactReductionContainer OPTIONAL, - externalTemperature Temperature OPTIONAL, - roadWorks RoadWorksContainerExtended OPTIONAL, - positioningSolution PositioningSolutionType OPTIONAL, - stationaryVehicle StationaryVehicleContainer OPTIONAL, - ... -} - -defaultValidity INTEGER ::= 600 - -Termination ::= ENUMERATED {isCancellation(0), isNegation (1)} - -ReferenceDenms ::= SEQUENCE (SIZE(1..8, ...)) OF ActionID - -END \ No newline at end of file diff --git a/asn1/DSRCData/DSRCData.asn b/asn1/DSRCData/DSRCData.asn deleted file mode 100644 index 1af274d726a08428cac2561cd23156f23426326d..0000000000000000000000000000000000000000 --- a/asn1/DSRCData/DSRCData.asn +++ /dev/null @@ -1,267 +0,0 @@ -DSRCData {iso(1) standard(0) dsrc(15628) dsrcData(0) version (1)} -DEFINITIONS AUTOMATIC TAGS::= BEGIN --- IMPORTS --- New type definitions shall be imported from other ASN.1 modules as follows: --- Type1, Type2 FROM ModuleA; --- were: --- - Type1 and Type2 shall be replaced with the names of the types to be imported. --- - ModuleA shall be replaced the name of the exporting ASN.1 module --- EXPORTS everything; -Action-Request::=SEQUENCE{ - mode BOOLEAN, - eid Dsrc-EID, - actionType ActionType, - accessCredentials OCTET STRING (SIZE (0..127,...)) OPTIONAL, - actionParameter Container OPTIONAL, - iid Dsrc-EID OPTIONAL - } - -Action-Response::=SEQUENCE{ - fill BIT STRING (SIZE(1)), - eid Dsrc-EID, - iid Dsrc-EID OPTIONAL, - responseParameter Container OPTIONAL, - ret ReturnStatus OPTIONAL - } - -ActionType::=INTEGER(0..127,...) --- (0..118) Reserved for ISO/CEN use. --- Below ActionTypes defined in ISO FDIS 14906 --- 0 : getStamped --- 1 : setStamped --- 2 : getSecure --- 3 : setSecure --- 4 : getInstance --- 5 : setInstance --- 6 : getNonce --- 7 : setNonce --- 8 : transferChannel --- 9 : copy --- 10 : setMMI --- 11 : substract --- 12 : add --- 13 : debit --- 14 : credit --- 15 : echo --- (119-127) Reserved for private use - -ApplicationContextMark::=Container -- OCTET STRING (SIZE(0..127,...)) --- Illustration of an ApplicationContextMark example --- can be found in ISO 14906, referred to as an EFC-ContextMark - -ApplicationList::=SEQUENCE (SIZE (0..127,...)) OF SEQUENCE { - aid DSRCApplicationEntityID, - eid Dsrc-EID OPTIONAL, - parameter ApplicationContextMark OPTIONAL - } - -AttributeIdList::=SEQUENCE (SIZE(0.. 127,...)) OF INTEGER(0..127,...) - -AttributeList::=SEQUENCE (SIZE(0..127,...)) OF Attributes - -Attributes::=SEQUENCE{ - attributeId INTEGER (0..127,...), - attributeValue Container - } - -BeaconID::=SEQUENCE{ - manufacturerid INTEGER(0..65535), - individualid INTEGER(0..134217727) - } -- for registration of manufacturerid see www.nen.nl/cen278 - -BroadcastPool::=SEQUENCE{ - directoryvalue Directory, - content SEQUENCE (SIZE(0..127,...)) OF File - } - -BST::=SEQUENCE{ - rsu BeaconID, - time Time, - profile Profile, - mandApplications ApplicationList, - nonmandApplications ApplicationList OPTIONAL, - profileList SEQUENCE (SIZE(0..127,...)) OF Profile - } - -Container::=CHOICE{ - integer [0] INTEGER, - bitstring [1] BIT STRING, - octetstring [2] OCTET STRING (SIZE (0..127, ...)), - universalString [3] UniversalString, - beaconId [4] BeaconID, - t-apdu [5] T-APDUs, - dsrcApplicationEntityId[6] DSRCApplicationEntityID, - dsrc-Ase-Id [7] Dsrc-EID, - attrIdList [8] AttributeIdList, - attrList [9] AttributeList, - broadcastPool [10] BroadcastPool, - directory [11] Directory, - file [12] File, - fileType [13] FileType, - record [14] Record, - time [15] Time, - vector [16] SEQUENCE (SIZE(0..255)) OF INTEGER(0..127,...), --- tags [17..69] are defined in ISO 14906 for CEN DSRC application use --- tags [70..86] are reserved for ISO/CEN DSRC application use --- tags [87..127] are reserved for private use and intended for the --- addressing of the corresponding private attribute identifiers. - ... -- extension marker --- New attributes shall be inserted as: --- componentName1 [i] ModuleA.Type1 --- were --- - componentName1 is a name unique within the Container definition --- - "i" is the registered tag chosen from the ranges as specified above. --- - Type1 is the name of an imported type and --- - ModuleA is the name of the module the type Type1 is imported from. --- The prefix “ModuleA.” is only required in case of a name conflict, --- if the name “Type1” is not also defined in the DSRCData module and not --- imported from another module the prefix “ModuleA” should be ommitted. - } - -Directory::=SEQUENCE (SIZE(0..127,...)) OF FileName - -Dsrc-EID::=INTEGER(0..127, ...) - -DSRCApplicationEntityID::=INTEGER{ - system (0), - electronic-fee-collection (1), - freight-fleet-management (2), - public-transport (3), - traffic-traveller-information (4), - traffic-control (5), - parking-management (6), - geographic-road-database (7), - medium-range-preinformation (8), - man-machine-interface (9), - intersystem-interface (10), - automatic-vehicle-identification (11), - emergency-warning (12), - private (13), - multi-purpose-payment (14), - dsrc-resource-manager (15), - after-theft-systems (16), - cruise-assist-highway-system (17), - multi-purpose-information-system (18), - multi-mobile-information-system (19) - -- (20..28) are reserved for ISO/CEN-dsrc-applications - -- (29..30) are reserved for private use - -- 31 is reserved for ISO/CEN-dsrc-applications - }(0..31,...) --- For the latest standard use of application definition, --- refer to Clause 9 --- As an example, the application "electronic-fee-collection (1)" --- is standardised by ISO 14906 - -Event-Report-Request::=SEQUENCE{ - mode BOOLEAN, - eid Dsrc-EID, - eventType EventType, - accessCredentials OCTET STRING (SIZE(0..127,...)) OPTIONAL, - eventParameter Container OPTIONAL, - iid Dsrc-EID OPTIONAL - } - -Event-Report-Response::=SEQUENCE{ - fill BIT STRING (SIZE(2)), - eid Dsrc-EID, - iid Dsrc-EID OPTIONAL, - ret ReturnStatus OPTIONAL - } - -EventType::=INTEGER{ - release (0) - -- (1..118) are reserved for ISO/CEN use - -- (119..127) are reserved for private use - }(0..127,...) - -File::=SEQUENCE (SIZE(0..127,...)) OF Record - -FileName::=SEQUENCE{ - aseID Dsrc-EID, - fileID INTEGER(0..127,...) - } - -FileType::=NULL --- Not defined. This might be defined in future version. - -Get-Request::=SEQUENCE{ - fill BIT STRING (SIZE(1)), - eid Dsrc-EID, - accessCredentials OCTET STRING (SIZE(0..127,...)) OPTIONAL, - iid Dsrc-EID OPTIONAL, - attrIdList AttributeIdList OPTIONAL - } - -Get-Response::=SEQUENCE{ -fill BIT STRING (SIZE(1)), -eid Dsrc-EID, -iid Dsrc-EID OPTIONAL, -attributelist AttributeList OPTIONAL, -ret ReturnStatus OPTIONAL -} -Initialisation-Request::=BST -Initialisation-Response::=VST -NamedFile::=SEQUENCE{ -name FileName, -file File -} --- NamedFile will be used in T-Kernel with GetBroadcastData-Request, --- that might be specified in T-APDU in future version. -ObeConfiguration::=SEQUENCE{ -equipmentClass INTEGER(0..32767), -manufacturerID INTEGER(0..65535), -obeStatus INTEGER(0..65535) OPTIONAL -} -Profile::=INTEGER (0..127,...) --- (0..118) are reserved for ISO/CEN use, --- (119..127) are reserved for private use -Record::=CHOICE{ simple VisibleString, -... -} -ReturnStatus::=INTEGER{ -noError (0), -accessDenied (1), -argumentError (2), -complexityLimitation (3), -processingFailure (4), -processing (5), -chainingError (6) --- (7..99) are reserved for future ISO/CEN use, --- (100..127) are reserved for private use -}(0..127,...) -Set-Request::=SEQUENCE{ -fill BIT STRING (SIZE(1)), -mode BOOLEAN, -eid Dsrc-EID, -accessCredentials OCTET STRING (SIZE(0..127,...)) OPTIONAL, -attrList AttributeList, -iid Dsrc-EID OPTIONAL -} -Set-Response::=SEQUENCE{ -fill BIT STRING (SIZE(2)), -eid Dsrc-EID, -iid Dsrc-EID OPTIONAL, -ret ReturnStatus OPTIONAL -} -Time::=INTEGER(0..4294967295) --- The number of seconds passed since --- 1st January 1970, 00:00 (UTC) -T-APDUs::=CHOICE{ -action-request [0] Action-Request, -action-response [1] Action-Response, -event-report-request [2] Event-Report-Request, -event-report-response [3] Event-Report-Response, -set-request [4] Set-Request, -set-response [5] Set-Response, -get-request [6] Get-Request, -get-response [7] Get-Response, -initialisation-request [8] Initialisation-Request, -initialisation-response [9] Initialisation-Response -} -VST::=SEQUENCE{ -fill BIT STRING (SIZE(4)), -profile Profile, -applications ApplicationList, -obeConfiguration ObeConfiguration -} -END diff --git a/asn1/DSRCData/DSRCtransferData.asn b/asn1/DSRCData/DSRCtransferData.asn deleted file mode 100644 index cb052eaa33dfc890b815456e2753a98b79c2fcf2..0000000000000000000000000000000000000000 --- a/asn1/DSRCData/DSRCtransferData.asn +++ /dev/null @@ -1,7 +0,0 @@ -DSRCtransferData {iso(1) standard(0) dsrc(15628) dsrctransferData(1) version (1)} -DEFINITIONS::= BEGIN -IMPORTS T-APDUs -FROM DSRCData {iso(1) standard(0) dsrc(15628) dsrcData(0) version (1)}; --- EXPORTS everything; -Message::= T-APDUs -- Message is transferred over the DSRC link; -END diff --git a/asn1/EV-RSR/EV-RSR-PDU-Descriptions.asn b/asn1/EV-RSR/EV-RSR-PDU-Descriptions.asn deleted file mode 100644 index d8f79ac37aaf6291131dc63ab67580fe8c81c6ee..0000000000000000000000000000000000000000 --- a/asn1/EV-RSR/EV-RSR-PDU-Descriptions.asn +++ /dev/null @@ -1,157 +0,0 @@ -EV-RechargingSpotReservation-PDU-Descriptions { - itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (101556) ev-rsr (4) version (1) -} - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS - ItsPduHeader FROM ITS-Container { - itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) -}; - -EV-RSR ::= SEQUENCE { - header ItsPduHeader, - messageBody EV-RSR-MessageBody -} - -EV-RSR-MessageBody ::= CHOICE { - preReservationRequestMessage PreReservationRequestMessage, - preReservationResponseMessage PreReservationResponseMessage, - reservationRequestMessage ReservationRequestMessage, - reservationResponseMessage ReservationResponseMessage, - cancellationRequestMessage CancellationRequestMessage, - cancellationResponseMessage CancellationResponseMessage, - updateRequestMessage UpdateRequestMessage, - updateResponseMessage UpdateResponseMessage, -... -} - -PreReservationRequestMessage ::= SEQUENCE { - evse-ID EVSE-ID, - arrivalTime TimestampUTC, - departureTime TimestampUTC OPTIONAL, - rechargingType RechargingType, - batteryType BatteryType OPTIONAL, - ... -} - -PreReservationResponseMessage ::= SEQUENCE { - preReservation-ID PreReservation-ID, - availabilityStatus AvailabilityStatus, - preReservationExpirationTime TimestampUTC, - supportedPaymentTypes SupportedPaymentTypes, - ... -} - -ReservationRequestMessage ::= SEQUENCE { - currentTime TimestampUTC, - preReservation-ID PreReservation-ID, - arrivalTime TimestampUTC, - departureTime TimestampUTC OPTIONAL, - eAmount EAmount, - eAmountMin EAmount, - paymentType PaymentType, - payment-ID Payment-ID, - secondPayment-ID Payment-ID OPTIONAL, - pairing-ID Pairing-ID OPTIONAL, - ... -} - -ReservationResponseMessage ::= SEQUENCE { - reservationResponseCode ReservationResponseCode, - reservation-ID Reservation-ID OPTIONAL, - reservation-Password Reservation-Password OPTIONAL, - stationDetails StationDetails OPTIONAL, - chargingSpotLabel ChargingSpotLabel OPTIONAL, - expirationTime TimestampUTC, - freeCancelTimeLimit TimestampUTC OPTIONAL, - ... -} - -CancellationRequestMessage ::= SEQUENCE { - reservation-ID Reservation-ID, - reservation-Password Reservation-Password, - currentTime TimestampUTC, - ... -} - -CancellationResponseMessage ::= SEQUENCE { - reservation-ID Reservation-ID, - cancellationResponseCode CancellationResponseCode, - ... -} - -UpdateRequestMessage ::= SEQUENCE { - reservation-ID Reservation-ID, - reservation-Password Reservation-Password, - updatedArrivalTime TimestampUTC, - updatedDepartureTime TimestampUTC, - ... -} - -UpdateResponseMessage ::= SEQUENCE { - reservation-ID Reservation-ID, - updateResponseCode UpdateResponseCode, - chargingSpotLabel ChargingSpotLabel OPTIONAL, - ... -} - - - -AvailabilityStatus ::= ENUMERATED { available, no-free-capacity } - -BatteryType ::= UTF8String (SIZE(1..16)) - -CancellationResponseCode ::= ENUMERATED { ok, unknown-Reservation-ID, mismatching-Reservation-Password } - -ChargingSpotLabel ::= UTF8String (SIZE(1..4)) - -ContractID ::= UTF8String (SIZE(1..24)) - -EAmount ::= INTEGER { oneWh(1) } (1..500000) - -ChargingPower ::= INTEGER { oneW(1) } (1..200000) - -EVSE-ID ::= OCTET STRING (SIZE(1..32)) - -ExternalIdentificationMeans ::= UTF8String (SIZE(1..24)) - -Pairing-ID ::= VisibleString (SIZE(1..64)) - -PaymentType ::= ENUMERATED {contract, externalIdentification} - -Payment-ID ::= CHOICE { - contractID ContractID, - externalIdentificationMeans ExternalIdentificationMeans -} - -RechargingType ::= SEQUENCE { - rechargingMode RechargingMode, - powerSource PowerSource -} - -RechargingMode ::= INTEGER { mode1(0), mode2(1), mode3(2), mode4(3), quickDrop(8), inductiveChargingWhileStationary(12), inductiveChargingWhileDriving(14) } (0..15) - -PowerSource::= INTEGER { notApplicable(0), ac1Phase(1), ac2Phase(2), ac3Phase(3), dcc(4), chaDeMo(5) } (0..7) -ReservationResponseCode ::= ENUMERATED {ok, invalid-EVSE-ID, payment-type-not-supported, payment-error, authentication-error, insufficient-power-availability } - -Reservation-ID ::= VisibleString (SIZE(8)) - -PreReservation-ID ::= Reservation-ID - -Reservation-Password ::= VisibleString (SIZE(8)) - - -StationDetails ::= UTF8String (SIZE(1..32)) - -SupportedPaymentTypes ::= BIT STRING { contract(0), externalIdentification (1) } (SIZE(2)) - -TimestampUTC ::= INTEGER { utcStartOf2013(0), oneSecondAfterUTCStartOf2013(1) } - -UpdateResponseCode ::= ENUMERATED { ok, unknown-Reservation-ID, mismatching-Reservation-Password, invalid-Arrival-Time, invalid-Departure-Time } - -StatusResponseCode ::= ENUMERATED { charging-Spot-Occupied, charging-Spot-Unoccupied, charging-Ongoing, reservation-Limit-Exceeded, reservation-Cancelled, unknown-Reservation-ID, expired-Reservation-ID } - -END \ No newline at end of file diff --git a/asn1/EVCSN/EVCSN-PDU-Descriptions.asn b/asn1/EVCSN/EVCSN-PDU-Descriptions.asn deleted file mode 100644 index 8d67d8f6b074bfb51dbcee66fb0464a10a85b961..0000000000000000000000000000000000000000 --- a/asn1/EVCSN/EVCSN-PDU-Descriptions.asn +++ /dev/null @@ -1,102 +0,0 @@ --- Point of Interest (POI) notification for charging spot --- for electric vehicle --- EVCSN Message definition --- ASN.1 Start Definition - -EVCSN-PDU-Descriptions { -itu-t (0) identified-organization (4) etsi (0) itsDomain (5) -wg1 (1) ts (101556) evcsn (1) version (1) -} - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS - ItsPduHeader, - StationID, - TimestampIts, - ReferencePosition -FROM ITS-Container { - itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) -}; - --- Root Message PDU: EvcsnPdu - -EvcsnPdu ::= SEQUENCE { - header ItsPduHeader, - evcsn EVChargingSpotNotificationPOIMessage -} - -EVChargingSpotNotificationPOIMessage ::= SEQUENCE { - poiHeader ItsPOIHeader, -- Specific POI Message Header - evcsnData ItsEVCSNData -- Electric Vehicle Charging Spot Data Elements -} - -ItsPOIHeader ::= SEQUENCE { - poiType POIType, -- set to "EV charging station POI ID = 1" - timeStamp TimestampIts, - relayCapable BOOLEAN -} - - -ItsEVCSNData ::= SEQUENCE { - totalNumberOfStations NumberStations, - chargingStationsData SEQUENCE (SIZE(1..256)) OF ItsChargingStationData -} - -ItsChargingStationData ::= SEQUENCE { - chargingStationID StationID, - utilityDistributorId UTF8String (SIZE(1..32)) OPTIONAL, - providerID UTF8String (SIZE(1..32)) OPTIONAL, - chargingStationLocation ReferencePosition, - address UTF8String OPTIONAL, - phoneNumber NumericString (SIZE(1..16)) OPTIONAL, - accessibility UTF8String (SIZE(1..32)), - digitalMap DigitalMap OPTIONAL, - openingDaysHours UTF8String, - pricing UTF8String, - bookingContactInfo UTF8String OPTIONAL, - payment UTF8String OPTIONAL, - chargingSpotsAvailable ItsChargingSpots, - ... -} - - -ItsChargingSpots ::= SEQUENCE (SIZE(1..16)) OF ItsChargingSpotDataElements - - -ItsChargingSpotDataElements ::= SEQUENCE { - type ChargingSpotType, - evEquipmentID UTF8String OPTIONAL, - typeOfReceptacle TypeOfReceptacle, - energyAvailability UTF8String, - parkingPlacesData ParkingPlacesData OPTIONAL -} - -DigitalMap ::= SEQUENCE (SIZE(1..256)) OF ReferencePosition - -ChargingSpotType ::= BIT STRING { - standardChargeMode1(0), - standardChargeMode2(1), - standardOrFastChargeMode3(2), - fastChargeWithExternalCharger(3), - quickDrop(8), - inductiveChargeWhileStationary(12), - inductiveChargeWhileDriving(14) -} - -TypeOfReceptacle ::= BIT STRING - -ParkingPlacesData ::= SEQUENCE (SIZE(1..4)) OF SpotAvailability - -SpotAvailability ::= SEQUENCE { - maxWaitingTimeMinutes INTEGER (0..1400), -- 0 if available or max waiting - -- time (minutes) - blocking BOOLEAN -- true if the spot can be blocked -} - -POIType ::= INTEGER(0..65535) -NumberStations ::= INTEGER(1..256) - -END \ No newline at end of file diff --git a/asn1/IS/ETSI_TS_103301.asn b/asn1/IS/ETSI_TS_103301.asn deleted file mode 100644 index a37d593b8155555b3fa12f894636ef67c4e4bfd1..0000000000000000000000000000000000000000 --- a/asn1/IS/ETSI_TS_103301.asn +++ /dev/null @@ -1,146 +0,0 @@ --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- ETSI TS 103 301 --- --- This ASN.1 was generated: 30.08.2016 --- --- This document contains the data element needed for the encoding the SPATEM, MAPEM, IVIM, SSEM and SREM message --- as defined in ETSI TS 103 301 --- --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --- --- module: SPAT-MESSAGE-PDU-Descriptions --- --- This ASN.1 was created: 30.08.2016 --- --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -SPATEM-PDU-Descriptions { - itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) spatem (0) version1 (1) -} - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS -SPAT FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; - - -SPATEM ::= SEQUENCE { - header ItsPduHeader, - spat SPAT -} - -END - - - --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --- --- module: MAP-MESSAGE-PDU-Descriptions --- --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -MAPEM-PDU-Descriptions { - itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) mapem (1) version1 (1) -} - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS -MapData FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; - - -MAPEM ::= SEQUENCE { - header ItsPduHeader, - map MapData -} - -END - - - --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --- --- module: IVI-MESSAGE-PDU-Descriptions --- --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -IVIM-PDU-Descriptions { - itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) ivim (2) version1 (1) -} - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS -IviStructure FROM IVI {iso (1) standard (0) ivi (19321) version1 (1)} -ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; - - -IVIM ::= SEQUENCE { - header ItsPduHeader, - ivi IviStructure -} - -END - - - --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --- --- module: SRM-MESSAGE-PDU-Descriptions --- --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -SREM-PDU-Descriptions { - itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) srem (3) version1 (1) -} - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS -SignalRequestMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; - -SREM ::= SEQUENCE { - header ItsPduHeader, - srm SignalRequestMessage -} - -END - - - --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --- --- module: SSM-MESSAGE-PDU-Descriptions --- --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -SSEM-PDU-Descriptions { - itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) ssem (4) version1 (1) -} - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS -SignalStatusMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; - - -SSEM ::= SEQUENCE { - header ItsPduHeader, - ssm SignalStatusMessage -} - -END - diff --git a/asn1/IS/ISO_TS_14816.asn b/asn1/IS/ISO_TS_14816.asn deleted file mode 100644 index adcff5c8d6f484207b80e730b735196add18aa33..0000000000000000000000000000000000000000 --- a/asn1/IS/ISO_TS_14816.asn +++ /dev/null @@ -1,28 +0,0 @@ --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- ISO TS 14816 --- --- This ASN.1 was generateds: 30.08.2016 --- --- This document contains only the data element needed for the encoding of an IVI message --- as defined in ISO TS 19321(2015) --- --- Published version location: --- http://standards.iso.org/iso/14816/ --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -AVIAEINumberingAndDataStructures {iso(1) standard(0) iso14816(14816) asnm1(1) version1(1)} - -DEFINITIONS AUTOMATIC TAGS::= BEGIN - -CS5::= SEQUENCE { - vin VisibleString, -- 17 characters VIN - fill BIT STRING (SIZE(9)) -- set to '000000000' -} - - - -CountryCode::= BIT STRING(SIZE(10)) - -IssuerIdentifier::= INTEGER(0 .. 16383) - -END diff --git a/asn1/IS/ISO_TS_14906_Application.asn b/asn1/IS/ISO_TS_14906_Application.asn deleted file mode 100644 index b7d595e51ff29ad4b25e5f82ecd8bb7e2f5a4282..0000000000000000000000000000000000000000 --- a/asn1/IS/ISO_TS_14906_Application.asn +++ /dev/null @@ -1,140 +0,0 @@ --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- ISO TS 14906 Application --- --- This ASN.1 was generateds: 30.08.2016 --- --- This document contains only the data element needed for the encoding of an IVI message --- as defined in ISO TS 19321(2015) --- --- Published version location: --- http://standards.iso.org/iso/14906 --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -EfcDsrcApplication { iso(1) standard(0) 14906 application(0) version5(5) } - -DEFINITIONS AUTOMATIC TAGS ::= BEGIN -EXPORTS ALL; -IMPORTS -CountryCode, CS5, IssuerIdentifier -FROM AVIAEINumberingAndDataStructures {iso(1) standard(0) iso14816(14816) asnm1(1) version1(1)} --- defined in ISO 14816 -- -AttributeIdList -FROM EfcDsrcGeneric {iso(1) standard(0) 14906 generic(1) version5(5)}; --- NOTE: The following are the definitions of the action and response --- parameters - -AxleWeightLimits ::= SEQUENCE { - maxLadenweightOnAxle1 Int2, - maxLadenweightOnAxle2 Int2, - maxLadenweightOnAxle3 Int2, - maxLadenweightOnAxle4 Int2, - maxLadenweightOnAxle5 Int2 -} - -DieselEmissionValues::= SEQUENCE { - particulate SEQUENCE { - unitType UnitType, - value INTEGER (0..32767) - }, - absorptionCoeff Int2 -} - -EnvironmentalCharacteristics::= SEQUENCE { - euroValue EuroValue, - copValue CopValue -} - -EuroValue::= ENUMERATED { - noEntry (0), - euro-1 (1), - euro-2 (2), - euro-3 (3), - euro-4 (4), - euro-5 (5), - euro-6 (6), - reservedForUse1 (7), - reservedForUse2 (8), - reservedForUse3 (9), - reservedForUse4 (10), - reservedForUse5 (11), - reservedForUse6 (12), - reservedForUse7 (13), - reservedForUse8 (14), - eev (15) -} -- 4 bits, EURO-Clases as defined in EC directive 88/77/EEC, annex 1 --- and in 91/542/EEC, 96/1/EC, 1999/96/EC, 2001/27/EC, regulation No 595/2009 --- and for EEV in Section 6.2.1 of Annex I in EC directive 2005/55/EC - -CopValue::= ENUMERATED { - noEntry (0), - co2class1 (1), -- below 101 g/km - co2class2 (2), -- 101 to 120 g/km - co2class3 (3), -- 121 to 140 g/km - co2class4 (4), -- 141 to 160 g/km - co2class5 (5), -- 161 to 200 g/km - co2class6 (6), -- 201 to 250 g/km - co2class7 (7), -- above 250 g/km - reservedforUse (8) -- reserved for future CEN and ISO use -} -- 4 bits, reserved for carbon dioxide pollution values as defined in --- EC directive 2003/127/EC' - -EngineCharacteristics::= INTEGER { - noEntry (0), - noEngine (1), - petrolUnleaded (2), - petrolLeaded (3), - diesel (4), - lPG (5), - battery (6), - solar (7), - hybrid (8), - hydrogen (9) - -- (10-255) are reserved for future CEN use -} (0..255) - -ExhaustEmissionValues ::= SEQUENCE { - unitType UnitType, - emissionCO INTEGER (0..32767), - emissionHC Int2, - emissionNOX Int2, - emissionHCNOX Int2 -} - - -Int1 ::= INTEGER(0..255) - -Int2 ::= INTEGER(0..65535) - -PassengerCapacity ::= SEQUENCE{ - numberOfSeats Int1, - numberOfStandingPlaces Int1 -} - -Provider ::= SEQUENCE { - countryCode CountryCode, - providerIdentifier IssuerIdentifier -} - -SoundLevel ::= SEQUENCE{ - soundstationary Int1, - sounddriveby Int1 -} - -UnitType::= ENUMERATED { - mg-km (0), - mg-kWh (1) -} - -VehicleDimensions ::= SEQUENCE { - vehicleLengthOverall Int1, - vehicleHeigthOverall Int1, - vehicleWidthOverall Int1 -} - -VehicleWeightLimits ::= SEQUENCE { - vehicleMaxLadenWeight Int2, - vehicleTrainMaximumWeight Int2, - vehicleWeightUnladen Int2 -} - -END diff --git a/asn1/IS/ISO_TS_14906_Generic.asn b/asn1/IS/ISO_TS_14906_Generic.asn deleted file mode 100644 index 2f64fd7b38f196f01d7e821e4ce2dc4cce818e1e..0000000000000000000000000000000000000000 --- a/asn1/IS/ISO_TS_14906_Generic.asn +++ /dev/null @@ -1,28 +0,0 @@ --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- ISO TS 14906 Generic --- --- This ASN.1 was generateds: 30.08.2016 --- --- This document contains only the data element needed for the encoding of an IVI message --- as defined in ISO TS 19321(2015) --- --- Published version location: --- http://standards.iso.org/iso/14906 --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -EfcDsrcGeneric { iso(1) standard(0) 14906 generic(1) version5(5) } - -DEFINITIONS AUTOMATIC TAGS ::= BEGIN -EXPORTS ALL; - -AttributeIdList ::= SEQUENCE (SIZE(0.. 127,...)) OF INTEGER(0..127,...) - -AttributeList{Container} ::= SEQUENCE (SIZE(0..127,...)) OF Attributes{Container} - -Attributes{Container} ::= SEQUENCE { - attributeId INTEGER (0..127,...), - attributeValue Container -} - - -END \ No newline at end of file diff --git a/asn1/IS/ISO_TS_17419.asn b/asn1/IS/ISO_TS_17419.asn deleted file mode 100644 index 8b0113f088bb02c759df221abefb8360ec7c3f7d..0000000000000000000000000000000000000000 --- a/asn1/IS/ISO_TS_17419.asn +++ /dev/null @@ -1,44 +0,0 @@ --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- ISO TS 17419 --- --- This ASN.1 was generateds: 30.08.2016 --- --- This document contains only the data element needed for the encoding of an IVI message --- as defined in ISO TS 19321(2015) --- --- Published version location: --- http://standards.iso.org/iso/ts/17419/ --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -CITSapplMgmtIDs {iso(1) standard(0) cits-applMgmt (17419) ids (1) version1 (1)} - -DEFINITIONS AUTOMATIC TAGS::=BEGIN - -IMPORTS - -; - --- End of IMPORTS - --- Types - --- Variable length data types - -VarLengthNumber::=CHOICE{ - content [0] INTEGER(0..127), -- one octet length - extension [1] Ext1 - } - -Ext1::=CHOICE{ - content [0] INTEGER(128..16511), -- two octets length - extension [1] Ext2 -} - -Ext2::=CHOICE{ - content [0] INTEGER(16512..2113663), -- three octets length - extension [1] Ext3 - } - -Ext3::=INTEGER(2113664..270549119,...) -- four and more octets length - -END diff --git a/asn1/IS/ISO_TS_19091.asn b/asn1/IS/ISO_TS_19091.asn deleted file mode 100644 index 6f8ca68421303c9db3728b985edf5a92a84def3f..0000000000000000000000000000000000000000 --- a/asn1/IS/ISO_TS_19091.asn +++ /dev/null @@ -1,2077 +0,0 @@ --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- ISO TS 19091 --- --- This ASN.1 was generated: 30.08.2016 --- --- This document contains the data element needed for the encoding the SPAT, MapData, SignalRequestMessage, SignalStatusMessage message --- as defined in ISO TS 19091 and SAEJ2735 --- --- It includes the addendunm extensions for Addgrp-C (e.g. Europe) --- --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --- --- module: AddGrpC --- --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -AddGrpC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1) } - - -DEFINITIONS AUTOMATIC TAGS::= BEGIN - -IMPORTS -NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, DeltaTime, LaneID FROM DSRC -Altitude, StationID, DeltaAltitude FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; - - -ConnectionManeuverAssist-addGrpC ::= SEQUENCE { - itsStationPositions ItsStationPositionList OPTIONAL, - rsuGNSSOffset NodeOffsetPointXY OPTIONAL, - ... -} - -ConnectionTrajectory-addGrpC ::= SEQUENCE { - nodes NodeSetXY, - ... -} - -Control-addGrpC ::= SEQUENCE { - ptvRequest PtvRequestType, - ... -} - -IntersectionState-addGrpC ::= SEQUENCE { - activePrioritizations PrioritizationResponseList OPTIONAL, - ... -} - -MapData-addGrpC ::= SEQUENCE { - signalHeadLocations SignalHeadLocationList OPTIONAL, - ... -} - -Position3D-addGrpC ::= SEQUENCE { - altitude Altitude, - ... -} - -PrioritizationResponseList ::= SEQUENCE SIZE(1..10) OF PrioritizationResponse - -PrioritizationResponse ::= SEQUENCE { - stationID StationID, - priorState PrioritizationResponseStatus, - signalGroup SignalGroupID, - ... -} - -RestrictionUserType-addGrpC ::= SEQUENCE { - emission EmissionType OPTIONAL, - ... -} - -SignalHeadLocationList ::= SEQUENCE (SIZE(1..64)) OF SignalHeadLocation - -SignalHeadLocation ::= SEQUENCE { - nodeXY NodeOffsetPointXY, - nodeZ DeltaAltitude, - signalGroupID SignalGroupID, - ... -} - -SignalStatusPackage-addGrpC ::= SEQUENCE { - synchToSchedule DeltaTime OPTIONAL, - ... -} - - -ItsStationPositionList::= SEQUENCE SIZE(1..5) OF ItsStationPosition - -ItsStationPosition ::= SEQUENCE { - stationID StationID, - laneID LaneID OPTIONAL, - nodeXY NodeOffsetPointXY OPTIONAL, - timeReference TimeReference OPTIONAL, - ... -} -EmissionType ::= ENUMERATED { - euro1, - euro2, - euro3, - euro4, - euro5, - euro6, - ... -} - -PtvRequestType ::= ENUMERATED { - preRequest, - mainRequest, - doorCloseRequest, - cancelRequest, - emergencyRequest, - ... -} - -TimeReference ::= INTEGER { oneMilliSec(1) } (0..65535) - -END - - - --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --- --- module: REGION --- --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -REGION { iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1) } - -DEFINITIONS AUTOMATIC TAGS::= BEGIN - -IMPORTS -addGrpC, REG-EXT-ID-AND-TYPE FROM DSRC -ConnectionManeuverAssist-addGrpC, ConnectionTrajectory-addGrpC, IntersectionState-addGrpC, Control-addGrpC, Position3D-addGrpC, RestrictionUserType-addGrpC, -SignalStatusPackage-addGrpC, MapData-addGrpC FROM AddGrpC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1)}; - -Reg-AdvisorySpeed REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-ComputedLane REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-ConnectionManeuverAssist REG-EXT-ID-AND-TYPE ::= { - {ConnectionManeuverAssist-addGrpC IDENTIFIED BY addGrpC} , - ... -} - -Reg-GenericLane REG-EXT-ID-AND-TYPE ::= { - {ConnectionTrajectory-addGrpC IDENTIFIED BY addGrpC} , - ... -} - -Reg-IntersectionGeometry REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-IntersectionState REG-EXT-ID-AND-TYPE ::= { - {IntersectionState-addGrpC IDENTIFIED BY addGrpC} , - ... -} - -Reg-LaneAttributes REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-MapData REG-EXT-ID-AND-TYPE ::= { - {MapData-addGrpC IDENTIFIED BY addGrpC}, - ... -} - -Reg-MovementEvent REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-MovementState REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-NodeAttributeSetLL REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= { - {Control-addGrpC IDENTIFIED BY addGrpC} , - ... -} - -Reg-NodeOffsetPointLL REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-Position3D REG-EXT-ID-AND-TYPE ::= { - {Position3D-addGrpC IDENTIFIED BY addGrpC} , - ... -} - -Reg-RequestorDescription REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-RequestorType REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-RestrictionUserType REG-EXT-ID-AND-TYPE ::= { - {RestrictionUserType-addGrpC IDENTIFIED BY addGrpC} , - ... -} - -Reg-RoadSegment REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-SignalControlZone REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-SignalRequest REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-SignalRequestMessage REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-SignalRequestPackage REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-SignalStatus REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-SignalStatusMessage REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-SignalStatusPackage REG-EXT-ID-AND-TYPE ::= { - { SignalStatusPackage-addGrpC IDENTIFIED BY addGrpC} , - ... -} - -Reg-SPAT REG-EXT-ID-AND-TYPE ::= { ... } - -END - - - --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --- --- module: DSRC --- --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } - -DEFINITIONS AUTOMATIC TAGS::= BEGIN - -IMPORTS -StationID, Longitude, Latitude, SpeedConfidence FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) } -Reg-SPAT,Reg-SignalRequestMessage, Reg-SignalStatusMessage, Reg-MapData, Reg-AdvisorySpeed, Reg-ComputedLane, Reg-ConnectionManeuverAssist, -Reg-GenericLane, Reg-IntersectionGeometry, Reg-IntersectionState, Reg-LaneAttributes, Reg-LaneDataAttribute, Reg-MovementEvent, Reg-MovementState, -Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY,Reg-Position3D, Reg-RequestorDescription, Reg-RequestorType, Reg-RestrictionUserType, Reg-RoadSegment, -Reg-SignalControlZone, Reg-SignalRequestPackage, Reg-SignalRequest, Reg-SignalStatusPackage, Reg-SignalStatus FROM REGION { iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1)} -Iso3833VehicleType FROM ElectronicRegistrationIdentificationVehicleDataModule { iso(1) standard(0) iso24534 (24534) vehicleData (1) version (1) }; - --- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ --- --- Start of entries from table Messages... --- This table typicaly contains message entries. --- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ --- - -MessageFrame ::= SEQUENCE { - messageId MESSAGE-ID-AND-TYPE.&id({MessageTypes}), - value MESSAGE-ID-AND-TYPE.&Type({MessageTypes}{@.messageId}), - ... - } - -MESSAGE-ID-AND-TYPE ::= CLASS { - &id DSRCmsgID UNIQUE, - &Type - } WITH SYNTAX {&Type IDENTIFIED BY &id} - -MessageTypes MESSAGE-ID-AND-TYPE ::= { - { MapData IDENTIFIED BY mapData } | - { SPAT IDENTIFIED BY signalPhaseAndTimingMessage } | - { SignalRequestMessage IDENTIFIED BY signalRequestMessage } | - { SignalStatusMessage IDENTIFIED BY signalStatusMessage }, - ... -- Expansion to be used only by the SAE J2735 DSRC TC - } - - --- Regional extensions support -REG-EXT-ID-AND-TYPE ::= CLASS { - &id RegionId UNIQUE, - &Type - } WITH SYNTAX {&Type IDENTIFIED BY &id} - -RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE { - regionId REG-EXT-ID-AND-TYPE.&id( {Set} ), - regExtValue REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} ) - } - -SPAT ::= SEQUENCE { - timeStamp MinuteOfTheYear OPTIONAL, - name DescriptiveName OPTIONAL, - -- human readable name for this collection - -- to be used only in debug mode - - intersections IntersectionStateList, - -- sets of SPAT data (one per intersection) - - -- If PrioritizationResponse data is required, it is found - -- in the RegionalSPAT entry below - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-SPAT}} OPTIONAL, - ... - } - -SignalRequestMessage ::= SEQUENCE { - timeStamp MinuteOfTheYear OPTIONAL, - second DSecond, - sequenceNumber MsgCount OPTIONAL, - - requests SignalRequestList OPTIONAL, - -- Request Data for one or more signalized - -- intersections that support SRM dialogs - - requestor RequestorDescription, - -- Requesting Device and other User Data - -- contains vehicle ID (if from a vehicle) - -- as well as type data and current position - -- and may contain additional transit data - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL, - ... -} - -SignalStatusMessage ::= SEQUENCE { - timeStamp MinuteOfTheYear OPTIONAL, - second DSecond, - sequenceNumber MsgCount OPTIONAL, - - -- Status Data for one of more signalized intersections - status SignalStatusList, - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-SignalStatusMessage}} OPTIONAL, - ... -} - -MapData ::= SEQUENCE { - timeStamp MinuteOfTheYear OPTIONAL, - msgIssueRevision MsgCount, - layerType LayerType OPTIONAL, - layerID LayerID OPTIONAL, - intersections IntersectionGeometryList OPTIONAL, - -- All Intersection definitions - roadSegments RoadSegmentList OPTIONAL, - -- All roadway descriptions - - dataParameters DataParameters OPTIONAL, - -- Any meta data regarding the map contents - - restrictionList RestrictionClassList OPTIONAL, - -- Any restriction ID tables which have - -- established for these map entries - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-MapData}} OPTIONAL, - - -- NOTE: - -- Other map data will be added here as it is defined - -- Examples of the type of content to be added include - -- curve warnings, construction routes, etc. - ... -} - - --- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ --- --- Start of entries from table Data_Frames... --- This table typicaly contains data frame entries. --- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ --- - -AdvisorySpeed ::= SEQUENCE { - type AdvisorySpeedType, - -- the type of advisory which this is. - speed SpeedAdvice OPTIONAL, - -- See Section 11 for converting and translating speed - -- expressed in mph into units of m/s - -- This element is optional ONLY when superceded - -- by the presence of a regional speed element found in - -- Reg-AdvisorySpeed entry - confidence SpeedConfidence OPTIONAL, - -- A confidence value for the above speed - distance ZoneLength OPTIONAL, - -- Unit = 1 meter, - -- The distance indicates the region for which the advised speed - -- is recommended, it is specified upstream from the stop bar - -- along the connected egressing lane - class RestrictionClassID OPTIONAL, - -- the vehicle types to which it applies - -- when absent, the AdvisorySpeed applies to - -- all motor vehicle types - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL, - ... - } - -AdvisorySpeedList ::= SEQUENCE (SIZE(1..16)) OF AdvisorySpeed - -ComputedLane ::= SEQUENCE { - -- Data needed to created a computed lane - referenceLaneId LaneID, - -- the lane ID upon which this - -- computed lane will be based - -- Lane Offset in X and Y direction - offsetXaxis CHOICE { - small DrivenLineOffsetSm, - large DrivenLineOffsetLg - }, - offsetYaxis CHOICE { - small DrivenLineOffsetSm, - large DrivenLineOffsetLg - }, - -- A path X offset value for translations of the - -- path's points when creating translated lanes. - -- The values found in the reference lane are - -- all offset based on the X and Y values from - -- the coordinates of the reference lane's - -- initial path point. - -- Lane Rotation - rotateXY Angle OPTIONAL, - -- A path rotation value for the entire lane - -- Observe that this rotates the existing orientation - -- of the referenced lane, it does not replace it. - -- Rotation occurs about the initial path point. - -- Lane Path Scale (zooming) - scaleXaxis Scale-B12 OPTIONAL, - scaleYaxis Scale-B12 OPTIONAL, - -- value for translations or zooming of the path's - -- points. The values found in the reference lane - -- are all expanded or contracted based on the X - -- and Y and width values from the coordinates of - -- the reference lane's initial path point. - -- The Z axis remains untouched. - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-ComputedLane}} OPTIONAL, - ... - } -ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection - -ConnectingLane ::= SEQUENCE { - lane LaneID, -- Index of the connecting lane - maneuver AllowedManeuvers OPTIONAL - -- The Maneuver between - -- the enclosing lane and this lane - -- at the stop line to connect them - } - - -Connection ::= SEQUENCE { - -- The subject lane connecting to this lane is: - connectingLane ConnectingLane, - -- The index of the connecting lane and also - -- the maneuver from the current lane to it - remoteIntersection IntersectionReferenceID OPTIONAL, - -- This entry is only used when the - -- indicated connecting lane belongs - -- to another intersection layout. This - -- provides a means to create meshes of lanes - - -- SPAT mapping details at the stop line are: - signalGroup SignalGroupID OPTIONAL, - -- The matching signal group send by - -- the SPAT message for this lane/maneuver. - -- Shall be present unless the connectingLane - -- has no signal group (is un-signalized) - userClass RestrictionClassID OPTIONAL, - -- The Restriction Class of users this applies to - -- The use of some lane/maneuver and SignalGroupID - -- pairings are restricted to selected users. - -- When absent, the SignalGroupID applies to all - - -- Movement assist details are given by: - connectionID LaneConnectionID OPTIONAL - -- An optional connection index used to - -- relate this lane connection to any dynamic - -- clearance data in the SPAT. Note that - -- the index may be shared with other - -- connections if the clearance data is common - } - - -ConnectionManeuverAssist ::= SEQUENCE { - connectionID LaneConnectionID, - -- the common connectionID used by all lanes to which - -- this data applies - -- (this value traces to ConnectsTo entries in lanes) - -- Expected Clearance Information - queueLength ZoneLength OPTIONAL, - -- Unit = 1 meter, 0 = no queue - -- The distance from the stop line to the back - -- edge of the last vehicle in the queue, - -- as measured along the lane center line. - availableStorageLength ZoneLength OPTIONAL, - -- Unit = 1 meter, 0 = no space remains - -- Distance (e.g. beginning from the downstream - -- stop-line up to a given distance) with a high - -- probability for successfully executing the - -- connecting maneuver between the two lanes - -- during the current cycle. - -- Used for enhancing the awareness of vehicles - -- to anticipate if they can pass the stop line - -- of the lane. Used for optimizing the green wave, - -- due to knowledge of vehicles waiting in front - -- of a red light (downstream). - -- The element nextTime in TimeChangeDetails - -- in the containing data frame contains the next - -- timemark at which an active phase is expected, - -- a form of storage flush interval. - waitOnStop WaitOnStopline OPTIONAL, - -- If "true", the vehicles on this specific connecting - -- maneuver have to stop on the stop-line and not - -- to enter the collision area - pedBicycleDetect PedestrianBicycleDetect OPTIONAL, - -- true if ANY ped or bicycles are detected crossing - -- the above lanes. Set to false ONLY if there is a - -- high certainty that there are none present, - -- otherwise element is not sent. - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL, - ... - } - -DataParameters ::= SEQUENCE { - processMethod IA5String(SIZE(1..255)) OPTIONAL, - processAgency IA5String(SIZE(1..255)) OPTIONAL, - lastCheckedDate IA5String(SIZE(1..255)) OPTIONAL, - geoidUsed IA5String(SIZE(1..255)) OPTIONAL, - ... - } - -EnabledLaneList ::= SEQUENCE (SIZE(1..16)) OF LaneID - -- The unique ID numbers for each - -- lane object which is 'active' - -- as part of the dynamic map contents. - -GenericLane ::= SEQUENCE { - laneID LaneID, - -- The unique ID number assigned - -- to this lane object - name DescriptiveName OPTIONAL, - -- often for debug use only - -- but at times used to name ped crossings - ingressApproach ApproachID OPTIONAL, -- inbound - egressApproach ApproachID OPTIONAL, -- outbound - -- Approach IDs to which this lane belongs - laneAttributes LaneAttributes, - -- All Attribute information about - -- the basic selected lane type - -- Directions of use, Geometric co-sharing - -- and Type Specific Attributes - -- These Attributes are 'lane - global' that is, - -- they are true for the entire length of the lane - maneuvers AllowedManeuvers OPTIONAL, - -- the permitted maneuvers for this lane - nodeList NodeListXY, - -- Lane spatial path information as well as - -- various Attribute information along the node path - -- Attributes found here are more general and may - -- come and go over the length of the lane. - connectsTo ConnectsToList OPTIONAL, - -- a list of other lanes and their signal group IDs - -- each connecting lane and its signal group ID - -- is given, therefore this element provides the - -- information formerly in "signalGroups" in prior - -- editions. - overlays OverlayLaneList OPTIONAL, - -- A list of any lanes which have spatial paths that - -- overlay (run on top of, and not simply cross) - -- the path of this lane when used - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-GenericLane}} OPTIONAL, - ... - } - -IntersectionAccessPoint ::= CHOICE { - lane LaneID, - approach ApproachID, - connection LaneConnectionID, - ... - } - -IntersectionGeometry ::= SEQUENCE { - name DescriptiveName OPTIONAL, - -- For debug use only - id IntersectionReferenceID, - -- A globally unique value set, - -- consisting of a regionID and - -- intersection ID assignment - revision MsgCount, - - -- Required default values about lane descriptions follow - refPoint Position3D, -- The reference from which subsequent - -- data points are offset until a new - -- point is used. - laneWidth LaneWidth OPTIONAL, - -- Reference width used by all subsequent - -- lanes unless a new width is given - speedLimits SpeedLimitList OPTIONAL, - -- Reference regulatory speed limits - -- used by all subsequent - -- lanes unless a new speed is given - -- See Section 11 for converting and - -- translating speed expressed in mph - -- into units of m/s - -- Complete details regarding each lane type in this intersection - laneSet LaneList, -- Data about one or more lanes - -- (all lane data is found here) - - -- Data describing how to use and request preemption and - -- priority services from this intersection (if supported) - -- NOTE Additonal data may be added in the next release of the - -- standard at this point to handle this concept - preemptPriorityData PreemptPriorityList OPTIONAL, - -- data about one or more regional - -- preempt or priority zones - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL, - ... - } - -IntersectionGeometryList ::= SEQUENCE (SIZE(1..32)) OF IntersectionGeometry - -IntersectionReferenceID ::= SEQUENCE { - region RoadRegulatorID OPTIONAL, - -- a globally unique regional assignment value - -- typical assigned to a regional DOT authority - -- the value zero shall be used for testing needs - id IntersectionID - -- a unique mapping to the intersection - -- in question within the above region of use - } - -IntersectionState ::= SEQUENCE { - name DescriptiveName OPTIONAL, - -- human readable name for intersection - -- to be used only in debug mode - id IntersectionReferenceID, - -- A globally unique value set, consisting of a - -- regionID and intersection ID assignment - -- provides a unique mapping to the - -- intersection MAP in question - -- which provides complete location - -- and approach/move/lane data - revision MsgCount, - status IntersectionStatusObject, - -- general status of the controller(s) - moy MinuteOfTheYear OPTIONAL, - -- Minute of current UTC year - -- used only with messages to be archived - timeStamp DSecond OPTIONAL, - -- the mSec point in the current UTC minute that - -- this message was constructed - enabledLanes EnabledLaneList OPTIONAL, - -- a list of lanes where the RevocableLane bit - -- has been set which are now active and - -- therefore part of the current intersection - states MovementList, - -- Each Movement is given in turn - -- and contains its signal phase state, - -- mapping to the lanes it applies to, and - -- point in time it will end, and it - -- may contain both active and future states - maneuverAssistList ManeuverAssistList OPTIONAL, - -- Assist data - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-IntersectionState}} OPTIONAL, - ... - } - -IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF IntersectionState - -LaneAttributes ::= SEQUENCE { - directionalUse LaneDirection, -- directions of lane use - sharedWith LaneSharing, -- co-users of the lane path - laneType LaneTypeAttributes, -- specific lane type data - regional RegionalExtension {{Reg-LaneAttributes}} OPTIONAL - } - -LaneDataAttribute ::= CHOICE { - -- Segment attribute types and the data needed for each - pathEndPointAngle DeltaAngle, - -- adjusts final point/width slant - -- of the lane to align with the stop line - laneCrownPointCenter RoadwayCrownAngle, - -- sets the canter of the road bed - -- from centerline point - laneCrownPointLeft RoadwayCrownAngle, - -- sets the canter of the road bed - -- from left edge - laneCrownPointRight RoadwayCrownAngle, - -- sets the canter of the road bed - -- from right edge - laneAngle MergeDivergeNodeAngle, - -- the angle or direction of another lane - -- this is required to support Japan style - -- when a merge point angle is required - speedLimits SpeedLimitList, - -- Reference regulatory speed limits - -- used by all segments - - -- Add others as needed, in regional space - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-LaneDataAttribute}}, - ... - } - -LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute - -LaneList ::= SEQUENCE (SIZE(1..255)) OF GenericLane - -LaneSharing ::= BIT STRING { - -- With bits as defined: - overlappingLaneDescriptionProvided (0), - -- Assert when another lane object is present to describe the - -- path of the overlapping shared lane - -- this construct is not used for lane objects which simply cross - multipleLanesTreatedAsOneLane (1), - -- Assert if the lane object path and width details represents - -- multiple lanes within it that are not further described - - -- Various modes and type of traffic that may share this lane: - otherNonMotorizedTrafficTypes (2), -- horse drawn etc. - individualMotorizedVehicleTraffic (3), - busVehicleTraffic (4), - taxiVehicleTraffic (5), - pedestriansTraffic (6), - cyclistVehicleTraffic (7), - trackedVehicleTraffic (8), - pedestrianTraffic (9) - } (SIZE (10)) - -- All zeros would indicate 'not shared' and 'not overlapping' - -LaneTypeAttributes ::= CHOICE { - vehicle LaneAttributes-Vehicle, -- motor vehicle lanes - crosswalk LaneAttributes-Crosswalk, -- pedestrian crosswalks - bikeLane LaneAttributes-Bike, -- bike lanes - sidewalk LaneAttributes-Sidewalk, -- pedestrian sidewalk paths - median LaneAttributes-Barrier, -- medians & channelization - striping LaneAttributes-Striping, -- roadway markings - trackedVehicle LaneAttributes-TrackedVehicle, -- trains and trolleys - parking LaneAttributes-Parking, -- parking and stopping lanes - ... - } - -ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist - -MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent - -MovementEvent ::= SEQUENCE { - eventState MovementPhaseState, - -- Consisting of: - -- Phase state (the basic 11 states) - -- Directional, protected, or permissive state - - timing TimeChangeDetails OPTIONAL, - -- Timing Data in UTC time stamps for event - -- includes start and min/max end times of phase - -- confidence and estimated next occurrence - - speeds AdvisorySpeedList OPTIONAL, - -- various speed advisories for use by - -- general and specific types of vehicles - -- supporting green-wave and other flow needs - -- See Section 11 for converting and translating - -- speed expressed in mph into units of m/s - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-MovementEvent}} OPTIONAL, - ... - } - -MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState - -MovementState ::= SEQUENCE { - movementName DescriptiveName OPTIONAL, - -- uniquely defines movement by name - -- human readable name for intersection - -- to be used only in debug mode - signalGroup SignalGroupID, - -- the group id is used to map to lists - -- of lanes (and their descriptions) - -- which this MovementState data applies to - -- see comments in the Remarks for usage details - state-time-speed MovementEventList, - -- Consisting of sets of movement data with: - -- a) SignalPhaseState - -- b) TimeChangeDetails, and - -- c) AdvisorySpeeds (optional ) - -- Note one or more of the movement events may be for - -- a future time and that this allows conveying multiple - -- predictive phase and movement timing for various uses - -- for the current signal group - maneuverAssistList ManeuverAssistList OPTIONAL, - -- This information may also be placed in the - -- IntersectionState when common information applies to - -- different lanes in the same way - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-MovementState}} OPTIONAL, - ... - } - -NodeAttributeSetXY ::= SEQUENCE { - localNode NodeAttributeXYList OPTIONAL, - -- Attribute states which pertain to this node point - disabled SegmentAttributeXYList OPTIONAL, - -- Attribute states which are disabled at this node point - enabled SegmentAttributeXYList OPTIONAL, - -- Attribute states which are enabled at this node point - -- and which remain enabled until disabled or the lane ends - data LaneDataAttributeList OPTIONAL, - -- Attributes which require an additional data values - -- some of these are local to the node point, while others - -- persist with the provided values until changed - -- and this is indicated in each entry - dWidth Offset-B10 OPTIONAL, - -- A value added to the current lane width - -- at this node and from this node onwards, in 1cm steps - -- lane width between nodes are a linear taper between pts - -- the value of zero shall not be sent here - dElevation Offset-B10 OPTIONAL, - -- A value added to the current Elevation - -- at this node from this node onwards, in 10cm steps - -- elevations between nodes are a linear taper between pts - -- the value of zero shall not be sent here - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL, - ... - } - -NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY - -NodeAttributeXY ::= ENUMERATED { - -- Various values which pertain only to the current node point - - -- General Items - reserved, - stopLine, -- point where a mid-path stop line exists - -- See also 'do not block' for segments - - -- Path finish details - roundedCapStyleA, -- Used to control final path rounded end shape - -- with edge of curve at final point in a circle - roundedCapStyleB, -- Used to control final path rounded end shape - -- with edge of curve extending 50% of width past - -- final point in a circle - - -- Topography Points (items with no concept of a distance along the path) - mergePoint, -- Japan merge with 1 or more lanes - divergePoint, -- Japan diverge with 1 or more lanes - downstreamStopLine, -- Japan style downstream intersection - -- (a 2nd intersection) stop line - downstreamStartNode, -- Japan style downstream intersection - -- (a 2nd intersection) start node - - -- Pedestrian Support Attributes - closedToTraffic, -- where a pedestrian may NOT go - -- to be used during construction events - safeIsland, -- a pedestrian safe stopping point - -- also called a traffic island - -- This usage described a point feature on a path, - -- other entries can describe a path - curbPresentAtStepOff, -- the sidewalk to street curb is NOT - -- angled where it meets the edge of the - -- roadway (user must step up/down) - - -- Lane geometry details (see standard for defined shapes) - hydrantPresent, -- Or other services access - ... - } - -Node-LLmD-64b ::= SEQUENCE { - lon Longitude, - lat Latitude - } - - Node-XY-20b ::= SEQUENCE { - x Offset-B10, - y Offset-B10 - } - -Node-XY-22b ::= SEQUENCE { - x Offset-B11, - y Offset-B11 - } - - -Node-XY-24b ::= SEQUENCE { - x Offset-B12, - y Offset-B12 - } - - -Node-XY-26b ::= SEQUENCE { - x Offset-B13, - y Offset-B13 - } - - -Node-XY-28b ::= SEQUENCE { - x Offset-B14, - y Offset-B14 - } - - -Node-XY-32b ::= SEQUENCE { - x Offset-B16, - y Offset-B16 - } - -NodeListXY ::= CHOICE { - nodes NodeSetXY, - -- a lane made up of two or more - -- XY node points and any attributes - -- defined in those nodes - computed ComputedLane, - -- a lane path computed by translating - -- the data defined by another lane - ... - } - -NodeOffsetPointXY ::= CHOICE { - -- Nodes with X,Y content - node-XY1 Node-XY-20b, -- node is within 5.11m of last node - node-XY2 Node-XY-22b, -- node is within 10.23m of last node - node-XY3 Node-XY-24b, -- node is within 20.47m of last node - node-XY4 Node-XY-26b, -- node is within 40.96m of last node - node-XY5 Node-XY-28b, -- node is within 81.91m of last node - node-XY6 Node-XY-32b, -- node is within 327.67m of last node - node-LatLon Node-LLmD-64b, -- node is a full 32b Lat/Lon range - regional RegionalExtension {{Reg-NodeOffsetPointXY}} - -- node which follows is of a - -- regional definition type - } - -NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY - -NodeXY ::= SEQUENCE { - delta NodeOffsetPointXY, - -- A choice of which X,Y offset value to use - -- this includes various delta values as well a regional choices - attributes NodeAttributeSetXY OPTIONAL, - -- Any optional Attributes which are needed - -- This includes changes to the current lane width and elevation - ... -} - -OverlayLaneList ::= SEQUENCE (SIZE(1..5)) OF LaneID - -- The unique ID numbers for any lane object which have - -- spatial paths that overlay (run on top of, and not - -- simply cross with) the current lane. - -- Such as a train path that overlays a motor vehicle - -- lane object for a roadway segment. - -Position3D ::= SEQUENCE { - lat Latitude, -- in 1/10th micro degrees - long Longitude, -- in 1/10th micro degrees - elevation Elevation OPTIONAL, -- in 10 cm units - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-Position3D}} OPTIONAL, - ... - } - -PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone - -RegulatorySpeedLimit ::= SEQUENCE { - type SpeedLimitType, - -- The type of regulatory speed which follows - speed Velocity - -- The speed in units of 0.02 m/s - -- See Section 11 for converting and translating - -- speed expressed in mph into units of m/s - } - -RequestorDescription ::= SEQUENCE { - id VehicleID, - -- The ID used in the BSM or CAM of the requestor - -- This ID is presumed not to change - -- during the exchange - type RequestorType OPTIONAL, - -- Information regarding all type and class data - -- about the requesting vehicle - position RequestorPositionVector OPTIONAL, - -- The location of the requesting vehicle - name DescriptiveName OPTIONAL, - -- A human readable name for debugging use - -- Support for Transit requests - routeName DescriptiveName OPTIONAL, - -- A string for transit operations use - transitStatus TransitVehicleStatus OPTIONAL, - -- current vehicle state (loading, etc.) - transitOccupancy TransitVehicleOccupancy OPTIONAL, - -- current vehicle occupancy - transitSchedule DeltaTime OPTIONAL, - -- current vehicle schedule adherence - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-RequestorDescription}} OPTIONAL, - ... - } - -RequestorPositionVector ::= SEQUENCE { - position Position3D, - heading Angle OPTIONAL, - speed TransmissionAndSpeed OPTIONAL, - ... - } - -RequestorType ::= SEQUENCE { - -- Defines who is requesting - role BasicVehicleRole, -- Basic role of this user at this time - subrole RequestSubRole OPTIONAL, -- A local list with role based items - - -- Defines what kind of request (a level of importance in the Priority Scheme) - request RequestImportanceLevel OPTIONAL, -- A local list with request items - - -- Additional classification details - iso3883 Iso3833VehicleType OPTIONAL, - hpmsType VehicleType OPTIONAL, -- HPMS classification types - - regional RegionalExtension {{Reg-RequestorType}} OPTIONAL, - ... - } - -RestrictionClassAssignment ::= SEQUENCE { - id RestrictionClassID, - -- the unique value (within an intersection or local region) - -- that is assigned to this group of users - users RestrictionUserTypeList - -- The list of user types/classes - -- to which this restriction ID applies - } - -RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment - -RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF RestrictionUserType - -RestrictionUserType ::= CHOICE { - basicType RestrictionAppliesTo, - -- a set of the most commonly used types - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-RestrictionUserType}}, - ... - } - -RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane - -RoadSegmentReferenceID ::= SEQUENCE { - region RoadRegulatorID OPTIONAL, - -- a globally unique regional assignment value - -- typically assigned to a regional DOT authority - -- the value zero shall be used for testing needs - id RoadSegmentID - -- a unique mapping to the road segment - -- in question within the above region of use - -- during its period of assignment and use - -- note that unlike intersectionID values, - -- this value can be reused by the region - } - -RoadSegment ::= SEQUENCE { - name DescriptiveName OPTIONAL, - id RoadSegmentReferenceID, - -- a globally unique value for the segment - revision MsgCount, - -- Required default values about the descriptions to follow - refPoint Position3D, -- the reference from which subsequent - -- data points are offset until a new - -- point is used. - laneWidth LaneWidth OPTIONAL, - -- Reference width used by all subsequent - -- lanes unless a new width is given - speedLimits SpeedLimitList OPTIONAL, - -- Reference regulatory speed limits - -- used by all subsequent - -- lanes unless a new speed is given - -- See Section 11 for converting and - -- translating speed expressed in mph - -- into units of m/s - - -- Data describing disruptions in the RoadSegment - -- such as work zones etc will be added here; - -- in the US the SAE ITIS codes would be used here - -- The details regarding each lane type in the RoadSegment - roadLaneSet RoadLaneSetList, - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-RoadSegment}} OPTIONAL, - ... - } - -RoadSegmentList ::= SEQUENCE (SIZE(1..32)) OF RoadSegment - -SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY - -SignalControlZone ::= SEQUENCE { - zone RegionalExtension {{Reg-SignalControlZone}}, - ... - } - -SignalRequesterInfo ::= SEQUENCE { - -- These three items serve to uniquely identify the requester - -- and the specific request to all parties - id VehicleID, - request RequestID, - sequenceNumber MsgCount, - role BasicVehicleRole OPTIONAL, - - typeData RequestorType OPTIONAL, - -- Used when addition data besides the role - -- is needed, at which point the role entry - -- above is not sent. - ... - } - -SignalRequestList ::= SEQUENCE (SIZE(1..32)) OF SignalRequestPackage - -SignalRequestPackage ::= SEQUENCE { - request SignalRequest, - -- The specific request to the intersection - -- contains IntersectionID, request type, - -- requested action (approach/lane request) - - -- The Estimated Time of Arrival (ETA) when the service is requested - minute MinuteOfTheYear OPTIONAL, - second DSecond OPTIONAL, - duration DSecond OPTIONAL, - -- The duration value is used to provide a short interval that - -- extends the ETA so that the requesting vehicle can arrive at - -- the point of service with uncertainty or with some desired - -- duration of service. This concept can be used to avoid needing - -- to frequently update the request. - -- The requester must update the ETA and duration values if the - -- period of services extends beyond the duration time. - -- It should be assumed that if the vehicle does not clear the - -- intersection when the duration is reached, the request will - -- be cancelled and the intersection will revert to - -- normal operation. - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL, - ... - } - -SignalRequest ::= SEQUENCE { - -- the unique ID of the target intersection - id IntersectionReferenceID, - - -- The unique requestID used by the requestor - requestID RequestID, - - -- The type of request or cancel for priority or preempt use - -- when a prior request is canceled, only the requestID is needed - requestType PriorityRequestType, - - -- In typical use either an approach or a lane number would - -- be given, this indicates the requested - -- path through the intersection to the degree it is known. - inBoundLane IntersectionAccessPoint, - -- desired entry approach or lane - outBoundLane IntersectionAccessPoint OPTIONAL, - -- desired exit approach or lane - -- the values zero is used to indicate - -- intent to stop within the intersection - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-SignalRequest}} OPTIONAL, - ... - } - -SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus - -SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage - -SignalStatusPackage ::= SEQUENCE { - -- The party that made the initial SRM request - requester SignalRequesterInfo OPTIONAL, - -- The lanes or approaches used in the request - inboundOn IntersectionAccessPoint, -- estimated lane / approach of vehicle - outboundOn IntersectionAccessPoint OPTIONAL, - - -- The Estimated Time of Arrival (ETA) when the service is requested - -- This data echos the data of the request - minute MinuteOfTheYear OPTIONAL, - second DSecond OPTIONAL, - duration DSecond OPTIONAL, - - -- the SRM status for this request - status PrioritizationResponseStatus, - -- Status of request, this may include rejection - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL, - ... - } - -SignalStatus ::= SEQUENCE { - sequenceNumber MsgCount, - -- changed whenever the below contents have change - id IntersectionReferenceID, - -- this provides a unique mapping to the - -- intersection map in question - -- which provides complete location - -- and approach/movement/lane data - -- as well as zones for priority/preemption - sigStatus SignalStatusPackageList, - -- a list of detailed status containing all - -- priority or preemption state data, both - -- active and pending, and who requested it - -- requests which are denied are also listed - -- here for a short period of time - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-SignalStatus}} OPTIONAL, - ... - } - -SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit - -SpeedLimitType ::= ENUMERATED { - unknown, -- Speed limit type not available - maxSpeedInSchoolZone, -- Only sent when the limit is active - maxSpeedInSchoolZoneWhenChildrenArePresent, -- Sent at any time - maxSpeedInConstructionZone, -- Used for work zones, incident zones, etc. - -- where a reduced speed is present - vehicleMinSpeed, - vehicleMaxSpeed, -- Regulatory speed limit for general traffic - vehicleNightMaxSpeed, - - truckMinSpeed, - truckMaxSpeed, - truckNightMaxSpeed, - - vehiclesWithTrailersMinSpeed, - vehiclesWithTrailersMaxSpeed, - vehiclesWithTrailersNightMaxSpeed, - ... - } - -TimeChangeDetails ::= SEQUENCE { - startTime TimeMark OPTIONAL, - -- When this phase 1st started - minEndTime TimeMark, - -- Expected shortest end time - maxEndTime TimeMark OPTIONAL, - -- Expected longest end time - - likelyTime TimeMark OPTIONAL, - -- Best predicted value based on other data - confidence TimeIntervalConfidence OPTIONAL, - -- Applies to above time element only - - nextTime TimeMark OPTIONAL - -- A rough estimate of time when - -- this phase may next occur again - -- used to support various ECO driving power - -- management needs. - } - -TimeMark ::= INTEGER (0..36001) - -- Tenths of a second in the current or next hour - -- In units of 1/10th second from UTC time - -- A range of 0~36000 covers one hour - -- The values 35991..36000 are used when a leap second occurs - -- The value 36001 is used to indicate time >3600 seconds - -- 36002 is to be used when value undefined or unknown - -- Note that this is NOT expressed in GPS time - -- or in local time - -TransmissionAndSpeed ::= SEQUENCE { - transmisson TransmissionState, - speed Velocity - } - -VehicleID ::= CHOICE { - entityID TemporaryID, - stationID StationID - } - - --- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ --- --- Start of entries from table Data_Elements... --- This table typicaly contains data element entries. --- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ --- - -AdvisorySpeedType ::= ENUMERATED { - none (0), - greenwave (1), - ecoDrive (2), - transit (3), - ... - } -- Note: subject to further growth - -AllowedManeuvers ::= BIT STRING { - -- With bits as defined: - -- Allowed maneuvers at path end (stop line) - -- All maneuvers with bits not set are therefore prohibited ! - -- A value of zero shall be used for unknown, indicating no Maneuver - maneuverStraightAllowed (0), - -- a Straight movement is allowed in this lane - maneuverLeftAllowed (1), - -- a Left Turn movement is allowed in this lane - maneuverRightAllowed (2), - -- a Right Turn movement is allowed in this lane - maneuverUTurnAllowed (3), - -- a U turn movement is allowed in this lane - maneuverLeftTurnOnRedAllowed (4), - -- a Stop, and then proceed when safe movement - -- is allowed in this lane - maneuverRightTurnOnRedAllowed (5), - -- a Stop, and then proceed when safe movement - -- is allowed in this lane - maneuverLaneChangeAllowed (6), - -- a movement which changes to an outer lane - -- on the egress side is allowed in this lane - -- (example: left into either outbound lane) - maneuverNoStoppingAllowed (7), - -- the vehicle should not stop at the stop line - -- (example: a flashing green arrow) - yieldAllwaysRequired (8), - -- the allowed movements above are not protected - -- (example: an permanent yellow condition) - goWithHalt (9), - -- after making a full stop, may proceed - caution (10), - -- proceed past stop line with caution - reserved1 (11) - -- used to align to 12 Bit Field - - } (SIZE(12)) - -Angle ::= INTEGER (0..28800) - -- LSB of 0.0125 degrees - -- A range of 0 to 359.9875 degrees - -ApproachID ::= INTEGER (0..15) -- zero to be used when valid value is unknown - -BasicVehicleRole ::= ENUMERATED { - -- Values used in the EU and in the US - basicVehicle (0), -- Light duty passenger vehicle type - publicTransport (1), -- Used in EU for Transit us - specialTransport (2), -- Used in EU (e.g. heavy load) - dangerousGoods (3), -- Used in EU for any HAZMAT - roadWork (4), -- Used in EU for State and Local DOT uses - roadRescue (5), -- Used in EU and in the US to include tow trucks. - emergency (6), -- Used in EU for Police, Fire and Ambulance units - safetyCar (7), -- Used in EU for Escort vehicles - -- Begin US unique numbering - none-unknown (8), -- added to follow current SAE style guidelines - truck (9), -- Heavy trucks with additional BSM rights and obligations - motorcycle (10), -- - roadSideSource (11), -- For infrastructure generated calls such as - -- fire house, rail infrastructure, roadwork site, etc. - police (12), -- - fire (13), -- - ambulance (14), -- (does not include private para-transit etc.) - dot (15), -- all roadwork vehicles - transit (16), -- all transit vehicles - slowMoving (17), -- to also include oversize etc. - stopNgo (18), -- to include trash trucks, school buses and others - -- that routinely disturb the free flow of traffic - cyclist (19), -- - pedestrian (20), -- also includes those with mobility limitations - nonMotorized (21), -- other, horse drawn, etc. - military (22), -- - ... - } - -DeltaAngle ::= INTEGER (-150..150) - -- With an angle range from - -- negative 150 to positive 150 - -- in one degree steps where zero is directly - -- along the axis or the lane center line as defined by the - -- two closest points - -DeltaTime ::= INTEGER (-122 .. 121) - -- Supporting a range of +/- 20 minute in steps of 10 seconds - -- the value of -121 shall be used when more than -20 minutes - -- the value of +120 shall be used when more than +20 minutes - -- the value -122 shall be used when the value is unavailable - -DescriptiveName ::= IA5String (SIZE(1..63)) - -DrivenLineOffsetLg ::= INTEGER (-32767..32767) - -- LSB units are 1 cm. - -DrivenLineOffsetSm ::= INTEGER (-2047..2047) - -- LSB units are 1 cm. - -DSecond ::= INTEGER (0..65535) -- units of milliseconds - -DSRCmsgID ::= INTEGER (0..32767) - mapData DSRCmsgID ::= 18 -- MAP, intersections - signalPhaseAndTimingMessage DSRCmsgID ::= 19 -- SPAT - signalRequestMessage DSRCmsgID ::= 29 -- SRM - signalStatusMessage DSRCmsgID ::= 30 -- SSM - -Elevation ::= INTEGER (-4096..61439) - -- In units of 10 cm steps above or below the reference ellipsoid - -- Providing a range of -409.5 to + 6143.9 meters - -- The value -4096 shall be used when Unknown is to be sent - -IntersectionID ::= INTEGER (0..65535) - -- The values zero through 255 are allocated for testing purposes - -- Note that the value assigned to an intersection will be - -- unique within a given regional ID only - -IntersectionStatusObject ::= BIT STRING { - manualControlIsEnabled (0), - -- Timing reported is per programmed values, etc. but person - -- at cabinet can manually request that certain intervals are - -- terminated early (e.g. green). - stopTimeIsActivated (1), - -- And all counting/timing has stopped. - failureFlash (2), - -- Above to be used for any detected hardware failures, - -- e.g. conflict monitor as well as for police flash - preemptIsActive (3), - signalPriorityIsActive (4), - - -- Additional states - fixedTimeOperation (5), - -- Schedule of signals is based on time only - -- (i.e. the state can be calculated) - trafficDependentOperation (6), - -- Operation is based on different levels of traffic parameters - -- (requests, duration of gaps or more complex parameters) - standbyOperation (7), - -- Controller: partially switched off or partially amber flashing - failureMode (8), - -- Controller has a problem or failure in operation - off (9), - -- Controller is switched off - - -- Related to MAP and SPAT bindings - recentMAPmessageUpdate (10), - -- Map revision with content changes - recentChangeInMAPassignedLanesIDsUsed (11), - -- Change in MAP's assigned lanes used (lane changes) - -- Changes in the active lane list description - noValidMAPisAvailableAtThisTime (12), - -- MAP (and various lanes indexes) not available - noValidSPATisAvailableAtThisTime (13) - -- SPAT system is not working at this time - - -- Bits 14,15 reserved at this time and shall be zero - } (SIZE(16)) - - -LaneAttributes-Barrier ::= BIT STRING { - -- With bits as defined: - median-RevocableLane (0), - -- this lane may be activated or not based - -- on the current SPAT message contents - -- if not asserted, the lane is ALWAYS present - median (1), - whiteLineHashing (2), - stripedLines (3), - doubleStripedLines (4), - trafficCones (5), - constructionBarrier (6), - trafficChannels (7), - lowCurbs (8), - highCurbs (9) - -- Bits 10~15 reserved and set to zero - } (SIZE (16)) - -LaneAttributes-Bike ::= BIT STRING { - -- With bits as defined: - bikeRevocableLane (0), - -- this lane may be activated or not based - -- on the current SPAT message contents - -- if not asserted, the lane is ALWAYS present - pedestrianUseAllowed (1), - -- The path allows pedestrian traffic, - -- if not set, this mode is prohibited - isBikeFlyOverLane (2), - -- path of lane is not at grade - fixedCycleTime (3), - -- the phases use preset times - -- i.e. there is not a 'push to cross' button - biDirectionalCycleTimes (4), - -- ped walk phases use different SignalGroupID - -- for each direction. The first SignalGroupID - -- in the first Connection represents 'inbound' - -- flow (the direction of travel towards the first - -- node point) while second SignalGroupID in the - -- next Connection entry represents the 'outbound' - -- flow. And use of RestrictionClassID entries - -- in the Connect follow this same pattern in pairs. - isolatedByBarrier (5), - unsignalizedSegmentsPresent (6) - -- The lane path consists of one of more segments - -- which are not part of a signal group ID - - -- Bits 7~15 reserved and set to zero - } (SIZE (16)) - -LaneAttributes-Crosswalk ::= BIT STRING { - -- With bits as defined: - -- MUTCD provides no suitable "types" to use here - crosswalkRevocableLane (0), - -- this lane may be activated or not based - -- on the current SPAT message contents - -- if not asserted, the lane is ALWAYS present - bicyleUseAllowed (1), - -- The path allows bicycle traffic, - -- if not set, this mode is prohibited - isXwalkFlyOverLane (2), - -- path of lane is not at grade - fixedCycleTime (3), - -- ped walk phases use preset times - -- i.e. there is not a 'push to cross' button - biDirectionalCycleTimes (4), - -- ped walk phases use different SignalGroupID - -- for each direction. The first SignalGroupID - -- in the first Connection represents 'inbound' - -- flow (the direction of travel towards the first - -- node point) while second SignalGroupID in the - -- next Connection entry represents the 'outbound' - -- flow. And use of RestrictionClassID entries - -- in the Connect follow this same pattern in pairs. - hasPushToWalkButton (5), - -- Has a demand input - audioSupport (6), - -- audio crossing cues present - rfSignalRequestPresent (7), - -- Supports RF push to walk technologies - unsignalizedSegmentsPresent (8) - -- The lane path consists of one of more segments - -- which are not part of a signal group ID - -- Bits 9~15 reserved and set to zero - } (SIZE (16)) - -LaneAttributes-Parking ::= BIT STRING { - -- With bits as defined: - -- Parking use details, note that detailed restrictions such as - -- allowed hours are sent by way of ITIS codes in the TIM message - parkingRevocableLane (0), - -- this lane may be activated or not based - -- on the current SPAT message contents - -- if not asserted, the lane is ALWAYS present - parallelParkingInUse (1), - headInParkingInUse (2), - doNotParkZone (3), - -- used to denote fire hydrants as well as - -- short disruptions in a parking zone - parkingForBusUse (4), - parkingForTaxiUse (5), - noPublicParkingUse (6) - -- private parking, as in front of - -- private property - -- Bits 7~15 reserved and set to zero - } (SIZE (16)) - -LaneAttributes-Sidewalk ::= BIT STRING { - -- With bits as defined: - sidewalk-RevocableLane (0), - -- this lane may be activated or not based - -- on the current SPAT message contents - -- if not asserted, the lane is ALWAYS present - bicyleUseAllowed (1), - -- The path allows bicycle traffic, - -- if not set, this mode is prohibited - isSidewalkFlyOverLane (2), - -- path of lane is not at grade - walkBikes (3) - -- bike traffic must dismount and walk - -- Bits 4~15 reserved and set to zero - } (SIZE (16)) - - -LaneAttributes-Striping ::= BIT STRING { - -- With bits as defined: - stripeToConnectingLanesRevocableLane (0), - -- this lane may be activated or not activated based - -- on the current SPAT message contents - -- if not asserted, the lane is ALWAYS present - stripeDrawOnLeft (1), - stripeDrawOnRight (2), - -- which side of lane to mark - stripeToConnectingLanesLeft (3), - stripeToConnectingLanesRight (4), - stripeToConnectingLanesAhead (5) - -- the stripe type should be - -- presented to the user visually - -- to reflect stripes in the - -- intersection for the type of - -- movement indicated - -- Bits 6~15 reserved and set to zero - } (SIZE (16)) - - -LaneAttributes-TrackedVehicle ::= BIT STRING { - -- With bits as defined: - spec-RevocableLane (0), - -- this lane may be activated or not based - -- on the current SPAT message contents - -- if not asserted, the lane is ALWAYS present - spec-commuterRailRoadTrack (1), - spec-lightRailRoadTrack (2), - spec-heavyRailRoadTrack (3), - spec-otherRailType (4) - -- Bits 5~15 reserved and set to zero - } (SIZE (16)) - - -LaneAttributes-Vehicle ::= BIT STRING { - -- With bits as defined: - isVehicleRevocableLane (0), - -- this lane may be activated or not based - -- on the current SPAT message contents - -- if not asserted, the lane is ALWAYS present - isVehicleFlyOverLane (1), - -- path of lane is not at grade - hovLaneUseOnly (2), - restrictedToBusUse (3), - restrictedToTaxiUse (4), - restrictedFromPublicUse (5), - hasIRbeaconCoverage (6), - permissionOnRequest (7) -- e.g. to inform about a lane for e-cars - - } (SIZE (8,...)) - -LaneConnectionID ::= INTEGER (0..255) - -LaneDirection ::= BIT STRING { - -- With bits as defined: - -- Allowed directions of travel in the lane object - -- All lanes are described from the stop line outwards - ingressPath (0), - -- travel from rear of path to front - -- is allowed - egressPath (1) - -- travel from front of path to rear - -- is allowed - -- Notes: No Travel, i.e. the lane object type does not support - -- travel (medians, curbs, etc.) is indicated by not - -- asserting any bit value - -- Bi-Directional Travel (such as a ped crosswalk) is - -- indicated by asserting both of the bits - } (SIZE (2)) - -LaneID ::= INTEGER (0..255) - -- the value 0 shall be used when the lane ID is - -- not available or not known - -- the value 255 is reserved for future use - -LayerID ::= INTEGER (0..100) - -LayerType ::= ENUMERATED { - none, - mixedContent, -- two or more of the below types - generalMapData, - intersectionData, - curveData, - roadwaySectionData, - parkingAreaData, - sharedLaneData, - ... - } - -LaneWidth ::= INTEGER (0..32767) -- units of 1 cm - -MergeDivergeNodeAngle ::= INTEGER (-180..180) - -- In units of 1.5 degrees from north - -- the value -180 shall be used to represent - -- data is not available or unknown - -MinuteOfTheYear ::= INTEGER (0..527040) - -- the value 527040 shall be used for invalid - -MovementPhaseState ::= ENUMERATED { - -- Note that based on the regions and the operating mode not every - -- phase will be used in all transportation modes and that not - -- every phase will be used in all transportation modes - - unavailable (0), - -- This state is used for unknown or error - dark (1), - -- The signal head is dark (unlit) - - -- Reds - stop-Then-Proceed (2), - -- Often called 'flashing red' in US - -- Driver Action: - -- Stop vehicle at stop line. - -- Do not proceed unless it is safe. - -- Note that the right to proceed either right or left when - -- it is safe may be contained in the lane description to - -- handle what is called a 'right on red' - stop-And-Remain (3), - -- e.g. called 'red light' in US - -- Driver Action: - -- Stop vehicle at stop line. - -- Do not proceed. - -- Note that the right to proceed either right or left when - -- it is safe may be contained in the lane description to - -- handle what is called a 'right on red' - - -- Greens - pre-Movement (4), - -- Not used in the US, red+yellow partly in EU - -- Driver Action: - -- Stop vehicle. - -- Prepare to proceed (pending green) - -- (Prepare for transition to green/go) - permissive-Movement-Allowed (5), - -- Often called 'permissive green' in US - -- Driver Action: - -- Proceed with caution, - -- must yield to all conflicting traffic - -- Conflicting traffic may be present - -- in the intersection conflict area - protected-Movement-Allowed (6), - -- Often called 'protected green' in US - -- Driver Action: - -- Proceed, tossing caution to the wind, - -- in indicated (allowed) direction. - - -- Yellows / Ambers - -- The vehicle is not allowed to cross the stop bar if it is possible - -- to stop without danger. - permissive-clearance (7), - -- Often called 'permissive yellow' in US - -- Driver Action: - -- Prepare to stop. - -- Proceed if unable to stop, - -- Clear Intersection. - -- Conflicting traffic may be present - -- in the intersection conflict area - protected-clearance (8), - -- Often called 'protected yellow' in US - -- Driver Action: - -- Prepare to stop. - -- Proceed if unable to stop, - -- in indicated direction (to connected lane) - -- Clear Intersection. - - caution-Conflicting-Traffic (9) - -- Often called 'flashing yellow' in US - -- Often used for extended periods of time - -- Driver Action: - -- Proceed with caution, - -- Conflicting traffic may be present - -- in the intersection conflict area - } - -- The above number assignments are not used with UPER encoding - -- and are only to be used with DER or implicit encoding - -MsgCount ::= INTEGER (0..127) - -Offset-B10 ::= INTEGER (-512..511) - -- a range of +- 5.11 meters - -Offset-B11 ::= INTEGER (-1024..1023) - -- a range of +- 10.23 meters - -Offset-B12 ::= INTEGER (-2048..2047) - -- a range of +- 20.47 meters - -Offset-B13 ::= INTEGER (-4096..4095) - -- a range of +- 40.95 meters - -Offset-B14 ::= INTEGER (-8192..8191) - -- a range of +- 81.91 meters - -Offset-B16 ::= INTEGER (-32768..32767) - -- a range of +- 327.68 meters - -PedestrianBicycleDetect ::= BOOLEAN - -- true if ANY Pedestrians or Bicyclists are - -- detected crossing the target lane or lanes - -PrioritizationResponseStatus ::= ENUMERATED { - unknown (0), - -- Unknown state - requested (1), - -- This prioritization request was detected - -- by the traffic controller - processing (2), - -- Checking request - -- (request is in queue, other requests are prior) - watchOtherTraffic (3), - -- Cannot give full permission, - -- therefore watch for other traffic - -- Note that other requests may be present - granted (4), - -- Intervention was successful - -- and now prioritization is active - rejected (5), - -- The prioritization or preemption request was - -- rejected by the traffic controller - maxPresence (6), - -- The Request has exceeded maxPresence time - -- Used when the controller has determined that - -- the requester should then back off and - -- request an alternative. - reserviceLocked (7), - -- Prior conditions have resulted in a reservice - -- locked event: the controller requires the - -- passage of time before another similar request - -- will be accepted - ... -} - -PriorityRequestType ::= ENUMERATED { - priorityRequestTypeReserved (0), - priorityRequest (1), - priorityRequestUpdate (2), - priorityCancellation (3), - ... - } - -RegionId ::= INTEGER (0..255) - noRegion RegionId ::= 0 -- Use default supplied stubs - addGrpA RegionId ::= 1 -- USA - addGrpB RegionId ::= 2 -- Japan - addGrpC RegionId ::= 3 -- EU - -- NOTE: new registered regional IDs will be added here - -- The values 128 and above are for local region use - -RequestID ::= INTEGER (0..255) - -RequestImportanceLevel ::= ENUMERATED { - requestImportanceLevelUnKnown (0), - requestImportanceLevel1 (1), -- The least important request - requestImportanceLevel2 (2), -- The values here shall be assigned - requestImportanceLevel3 (3), -- Meanings based on regional needs - requestImportanceLevel4 (4), -- for each of the basic roles which - requestImportanceLevel5 (5), -- are defined elsewhere - requestImportanceLevel6 (6), - requestImportanceLevel7 (7), - requestImportanceLevel8 (8), - requestImportanceLevel9 (9), - requestImportanceLevel10 (10), - requestImportanceLevel11 (11), - requestImportanceLevel12 (12), - requestImportanceLevel13 (13), - requestImportanceLevel14 (14), -- The most important request - requestImportanceReserved (15) -- Reserved for future use - } - -RequestSubRole ::= ENUMERATED { - requestSubRoleUnKnown (0), - requestSubRole1 (1), -- The first type of sub role - requestSubRole2 (2), -- The values here shall be assigned - requestSubRole3 (3), -- Meanings based on regional needs - requestSubRole4 (4), -- to refine and expand the basic - requestSubRole5 (5), -- roles which are defined elsewhere - requestSubRole6 (6), - requestSubRole7 (7), - requestSubRole8 (8), - requestSubRole9 (9), - requestSubRole10 (10), - requestSubRole11 (11), - requestSubRole12 (12), - requestSubRole13 (13), - requestSubRole14 (14), -- The last type of sub role - requestSubRoleReserved (15) -- Reserved for future use - } - -RestrictionAppliesTo ::= ENUMERATED { - none, -- applies to nothing - equippedTransit, -- buses etc. - equippedTaxis, - equippedOther, -- other vehicle types with - -- necessary signal phase state - -- reception equipment - emissionCompliant, -- regional variants with more - -- definitive items also exist - equippedBicycle, - weightCompliant, - heightCompliant, - -- Items dealing with traveler needs serviced by the infrastructure - -- These end users (which are not vehicles) are presumed to be suitably equipped - pedestrians, - slowMovingPersons, - wheelchairUsers, - visualDisabilities, - audioDisabilities, -- hearing - otherUnknownDisabilities, - ... - } - -RestrictionClassID ::= INTEGER (0..255) - -- An index value to identify data about classes of users - -- the value used varies with each intersection's - -- needs and is defined in the map to the assigned - -- classes of supported users. - -RoadRegulatorID ::= INTEGER (0..65535) - -- The value zero shall be used for testing only - -RoadSegmentID ::= INTEGER (0..65535) - -- The values zero to 255 shall be used for testing only - -- Note that the value assigned to an RoadSegment will be - -- unique within a given regional ID only during its use - -RoadwayCrownAngle ::= INTEGER (-128..127) - -- In LSB units of 0.3 degrees of angle - -- over a range of -38.1 to + 38.1 degrees - -- The value -128 shall be used for unknown - -- The value zero shall be used for angles - -- which are between -0.15 and +0.15 - -Scale-B12 ::= INTEGER (-2048..2047) -- in steps of 0.05 percent - -SignalGroupID ::= INTEGER (0..255) - -- The value 0 shall be used when the ID is - -- not available or not known - -- the value 255 is reserved to indicate a - -- permanent green movement state - -- therefore a simple 8 phase signal controller - -- device might use 1..9 as its groupIDs - -SegmentAttributeXY ::= ENUMERATED { - -- Various values which can be Enabled and Disabled for a lane segment - - -- General Items - reserved , - doNotBlock , -- segment where a vehicle - -- may not come to a stop - whiteLine , -- segment where lane crossing not allowed - -- such as the final few meters of a lane - - -- Porous Lane states, merging, turn outs, parking etc. - - mergingLaneLeft , -- indicates porous lanes - mergingLaneRight , - - curbOnLeft , -- indicates presence of curbs - curbOnRight , - - loadingzoneOnLeft , -- loading or drop off zones - loadingzoneOnRight , - - turnOutPointOnLeft , -- opening to adjacent street/alley/road - turnOutPointOnRight , - - adjacentParkingOnLeft , -- side of road parking - adjacentParkingOnRight , - - -- Bike Lane Needs - adjacentBikeLaneOnLeft , -- presence of marked bike lanes - adjacentBikeLaneOnRight , - sharedBikeLane , -- right of way is shared with bikes - -- who may occupy entire lane width - bikeBoxInFront , - - -- Transit Needs - transitStopOnLeft , -- any form of bus/transit loading - -- with pull in-out access to lane on left - transitStopOnRight , -- any form of bus/transit loading - -- with pull in-out access to lane on right - transitStopInLane , -- any form of bus/transit loading - -- in mid path of the lane - sharedWithTrackedVehicle , -- lane is shared with train or trolley - -- not used for crossing tracks - - - -- Pedestrian Support Attributes - safeIsland , -- begin/end a safety island in path - lowCurbsPresent , -- for ADA support - rumbleStripPresent , -- for ADA support - audibleSignalingPresent , -- for ADA support - adaptiveTimingPresent , -- for ADA support - rfSignalRequestPresent , -- Supports RF push to walk technologies - partialCurbIntrusion , -- path is blocked by a median or curb - -- but at least 1 meter remains open for use - -- and at-grade passage - - -- Lane geometry details (see standard for defined shapes) - taperToLeft , -- Used to control final path shape - taperToRight , -- Used to control final path shape - taperToCenterLine , -- Used to control final path shape - - -- Parking Lane and Curb Attributes - parallelParking , -- - headInParking , -- Parking at an angle with the street - freeParking , -- no restriction on use of parking - timeRestrictionsOnParking , -- Parking is not permitted at all times - -- typically used when the 'parking' lane - -- becomes a driving lane at times - costToPark , -- Used where parking has a cost - midBlockCurbPresent , -- a protruding curb near lane edge - unEvenPavementPresent , -- a disjoint height at lane edge - ... - } - -SpeedAdvice ::= INTEGER (0..500) - -- LSB units are 0.1 m/s^2 - -- the value 499 shall be used for values at or greater than 49.9 m/s - -- the value 500 shall be used to indicate that speed is unavailable - - -TemporaryID ::= OCTET STRING (SIZE(4)) - -TimeIntervalConfidence ::= INTEGER (0..15) - -- Value Probability - -- 0 21% - -- 1 36% - -- 2 47% - -- 3 56% - -- 4 62% - -- 5 68% - -- 6 73% - -- 7 77% - -- 8 81% - -- 9 85% - -- 10 88% - -- 11 91% - -- 12 94% - -- 13 96% - -- 14 98% - -- 15 100% - -TransitVehicleOccupancy ::= ENUMERATED { - occupancyUnknown (0), - occupancyEmpty (1), - occupancyVeryLow (2), - occupancyLow (3), - occupancyMed (4), - occupancyHigh (5), - occupancyNearlyFull (6), - occupancyFull (7) - } - -TransitVehicleStatus ::= BIT STRING { - loading (0), -- parking and unable to move at this time - anADAuse (1), -- an ADA access is in progress (wheelchairs, kneeling, etc.) - aBikeLoad (2), -- loading of a bicycle is in progress - doorOpen (3), -- a vehicle door is open for passenger access - charging (4), -- a vehicle is connected to charging point - atStopLine (5) -- a vehicle is at the stop line for the lane it is in - } (SIZE(8)) - -TransmissionState ::= ENUMERATED { - neutral (0), -- Neutral - park (1), -- Park - forwardGears (2), -- Forward gears - reverseGears (3), -- Reverse gears - reserved1 (4), - reserved2 (5), - reserved3 (6), - unavailable (7) -- not-equipped or unavailable value, - -- Any related speed is relative to the vehicle reference frame used - } - -VehicleType ::= ENUMERATED { - none (0), -- Not Equipped, Not known or unavailable - unknown (1), -- Does not fit any other category - special (2), -- Special use - moto (3), -- Motorcycle - car (4), -- Passenger car - carOther (5), -- Four tire single units - bus (6), -- Buses - axleCnt2 (7), -- Two axle, six tire single units - axleCnt3 (8), -- Three axle, single units - axleCnt4 (9), -- Four or more axle, single unit - axleCnt4Trailer (10), -- Four or less axle, single trailer - axleCnt5Trailer (11), -- Five or less axle, single trailer - axleCnt6Trailer (12), -- Six or more axle, single trailer - axleCnt5MultiTrailer (13), -- Five or less axle, multi-trailer - axleCnt6MultiTrailer (14), -- Six axle, multi-trailer - axleCnt7MultiTrailer (15), -- Seven or more axle, multi-trailer - ... - } - -Velocity ::= INTEGER (0..8191) -- Units of 0.02 m/s - -- The value 8191 indicates that - -- velocity is unavailable - -WaitOnStopline ::= BOOLEAN -- - -- True or False - -- If "true", the vehicles on this specific connecting - -- maneuver have to stop on the stop-line - -- and not to enter the collision area - -ZoneLength ::= INTEGER (0..10000) - -- Unit = 1 meter, 0 = unknown, - -- The value 10000 to be used for Distances >=10000 m - -- (e.g. from known point to another point along a - -- known path, often against traffic flow direction - -- when used for measuring queues) - -END - diff --git a/asn1/IS/ISO_TS_19321.asn b/asn1/IS/ISO_TS_19321.asn deleted file mode 100644 index c923226bc175b4afffb93174ebc24a8275989bed..0000000000000000000000000000000000000000 --- a/asn1/IS/ISO_TS_19321.asn +++ /dev/null @@ -1,621 +0,0 @@ --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- ISO TS 19321 --- --- This ASN.1 was generateds: 30.08.2016 --- --- Due to typos in the published version, --- small ASN.1 syntax adaptations have been executed --- --- Published version location: --- http://standards.iso.org/iso/ts/19321 --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -IVI {iso (1) standard (0) ivi (19321) version1 (1)} - -DEFINITIONS AUTOMATIC TAGS ::= -BEGIN -IMPORTS -ItsPduHeader, Altitude, DangerousGoodsBasic , DeltaLatitude, DeltaLongitude, DeltaReferencePosition, Heading, HeadingValue, Latitude, LanePosition, Longitude, ReferencePosition, RoadType, SpecialTransportType, Speed, StationType, TimestampIts, VehicleRole -FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) } - -AxleWeightLimits, DieselEmissionValues, ExhaustEmissionValues, EngineCharacteristics, EnvironmentalCharacteristics, PassengerCapacity , Provider, SoundLevel, VehicleDimensions, VehicleWeightLimits -FROM EfcDsrcApplication {iso(1) standard(0) 14906 application(0) version5(5)} - -EuVehicleCategoryCode, Iso3833VehicleType -FROM ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version (1)} - -VarLengthNumber -FROM CITSapplMgmtIDs {iso(1) standard(0) cits-applMgmt (17419) ids (1) version1 (1)}; - ---Definition of IVI message to be send over the air is outside of the scope and given for information only: - -IVI::= SEQUENCE { - header ItsPduHeader, - ivi IviStructure -} - ---Definition of IVI Structure - - - -IviStructure::= SEQUENCE{ - mandatory IVIManagementContainer, - optional SEQUENCE (SIZE (1..8,...)) OF IviContainer OPTIONAL - } - ---Definition of Containers - -IviContainer::= CHOICE { - glc GeographicLocationContainer, - giv GeneralIviContainer, - rcc RoadConfigurationContainer, - tc TextContainer, - lac LayoutContainer, - ... -- extension for future containers - } - --- Prefix IVI added due to naming collision with data element ManagementContainer of Module DENM-PDU-Descriptions -IVIManagementContainer::= SEQUENCE { - serviceProviderId Provider, - iviIdentificationNumber IviIdentificationNumber, - timeStamp TimestampIts OPTIONAL, - validFrom TimestampIts OPTIONAL, - validTo TimestampIts OPTIONAL, - connectedIviStructures SEQUENCE (SIZE(1..8)) OF IviIdentificationNumber OPTIONAL, - iviStatus IviStatus, - ... - } - -GeographicLocationContainer::= SEQUENCE { - referencePosition ReferencePosition, - referencePositionTime TimestampIts OPTIONAL, - referencePositionHeading Heading OPTIONAL, - referencePositionSpeed Speed OPTIONAL, - parts SEQUENCE (SIZE (1..16,...)) OF GlcPart, - ... - } - -GlcPart::= SEQUENCE { - zoneId Zid, - laneNumber LanePosition OPTIONAL, - zoneExtension INTEGER (0..255) OPTIONAL, - zoneHeading HeadingValue OPTIONAL, - zone Zone OPTIONAL, - ... - } - -GeneralIviContainer::= SEQUENCE (SIZE (1..16,...)) OF GicPart - -GicPart::= SEQUENCE { - detectionZoneIds SEQUENCE (SIZE (1..8,...)) OF Zid OPTIONAL, - its-Rrid VarLengthNumber OPTIONAL, - relevanceZoneIds SEQUENCE (SIZE (1..8,...)) OF Zid OPTIONAL, - direction Direction OPTIONAL, - driverAwarenessZoneIds SEQUENCE (SIZE (1..8,...)) OF Zid OPTIONAL, - minimumAwarenessTime INTEGER (0..255) OPTIONAL, - applicableLanes SEQUENCE (SIZE (1..8,...)) OF LanePosition OPTIONAL, - iviType IviType, - iviPurpose IviPurpose OPTIONAL, - laneStatus LaneStatus OPTIONAL, - vehicleCharacteristics SEQUENCE (SIZE (1..8, ...)) OF CompleteVehicleCharacteristics OPTIONAL, - driverCharacteristics DriverCharacteristics OPTIONAL, - layoutId INTEGER(1..4,...) OPTIONAL, - preStoredlayoutId INTEGER(1..64,...) OPTIONAL, - roadSignCodes SEQUENCE (SIZE (1..4,...)) OF RSCode, - extraText SEQUENCE (SIZE (1..4,...)) OF Text (WITH COMPONENTS {layoutComponentId, language, textContent (SIZE(1..32))}) OPTIONAL, - ... - } - -RoadConfigurationContainer::= SEQUENCE (SIZE (1..16,...)) OF RccPart - -RccPart::= SEQUENCE{ - zoneIds SEQUENCE (SIZE (1..8,...)) OF Zid, - roadType RoadType, - laneConfiguration SEQUENCE (SIZE (1..16,...)) OF LaneInformation, - ... - } - -TextContainer::= SEQUENCE (SIZE (1..16,...)) OF TcPart - -TcPart::= SEQUENCE { - detectionZoneIds SEQUENCE (SIZE (1..8,...)) OF Zid OPTIONAL, - relevanceZoneIds SEQUENCE (SIZE (1..8,...)) OF Zid, - direction Direction OPTIONAL, - driverAwarenessZoneIds SEQUENCE (SIZE (1..8,...)) OF Zid OPTIONAL, - minimumAwarenessTime INTEGER (0..255) OPTIONAL, - applicableLanes SEQUENCE (SIZE (1..8,...)) OF LanePosition OPTIONAL, - layoutId INTEGER(1..4,...) OPTIONAL, - preStoredlayoutId INTEGER(1..64,...) OPTIONAL, - text SEQUENCE (SIZE (1..4,...)) OF Text OPTIONAL, - data OCTET STRING, - ... - } - -LayoutContainer::=SEQUENCE{ - layoutId INTEGER(1..4,...), - height INTEGER(10..73) OPTIONAL, - width INTEGER(10..265) OPTIONAL, - layoutComponents SEQUENCE SIZE (1..4,...) OF LayoutComponent, - ... - } - --- Definition of Data Frames & Elements - -AbsolutePosition::= SEQUENCE{ - latitude Latitude, - longitude Longitude - } - -AbsolutePositionWAltitude::= SEQUENCE{ - latitude Latitude, - longitude Longitude, - altitude Altitude - } - -AnyCatalogue::=SEQUENCE{ - owner Provider, - version INTEGER(0..255), - pictogramCode INTEGER(0..65535), - value INTEGER (0..65535) OPTIONAL, - unit RSCUnit OPTIONAL, - attributes ISO14823Attributes OPTIONAL - } - -ComparisonOperator ::= INTEGER { - greaterThan (0), - greaterThanOrEqualTo (1), - lessThan (2), - lessThanOrEqualTo (3) -} (0..3) - -CompleteVehicleCharacteristics::= SEQUENCE{ - tractor TractorCharacteristics OPTIONAL, - trailer SEQUENCE (SIZE (1..3)) OF TrailerCharacteristics OPTIONAL, - train TrainCharacteristics OPTIONAL - } - -ComputedSegment::= SEQUENCE { - zoneId Zid, - laneNumber LanePosition, - laneWidth IVILaneWidth, - offsetDistance INTEGER (-32768..32767) OPTIONAL, - offsetPosition DeltaReferencePosition OPTIONAL - } - -DeltaPosition::=SEQUENCE{ - deltaLatitude DeltaLatitude, - deltaLongitude DeltaLongitude - } - -Direction::= INTEGER{ - sameDirection (0), - oppositeDirection (1), - bothDirections (2), - valueNotUsed (3) - } (0..3) - -Distance::= SEQUENCE { - value INTEGER(1..16384), - unit RSCUnit (2..4|6..8) - } - -DistanceOrDuration::= SEQUENCE { - value INTEGER(1..16384), - unit RSCUnit (2..9) - } - -DriverCharacteristics::= INTEGER{ - unexperiencedDrivers (0), - experiencedDrivers (1), - rfu1 (2), - rfu2 (3) - } (0..3) - -GoodsType::= INTEGER { - ammunition (0), - chemicals (1), - empty (2), - fuel (3), - glass (4), - dangerous (5), - liquid (6), - liveStock (7), - dangerousForPeople (8), - dangerousForTheEnvironment (9), - dangerousForWater (10), - perishableProducts (11), - pharmaceutical (12), - vehicles (13) - -- other values reserved for future use - } (0..15,...) - - -ISO14823Attributes::= SEQUENCE (SIZE(1..8,...)) OF CHOICE{ - dtm DTM, -- Date/Time/Period - edt EDT, -- Exemption status of Date/Time/Period - dfl DFL, -- Directional Flow of Lane - ved VED, -- Vehicle Dimensions - spe SPE, -- Speed - roi ROI, -- Rate of Incline - dbv DBV, -- Distance Between Vehicles - ddd DDD -- Destination/Direction/Distance - } - -ISO14823Code ::= SEQUENCE{ - pictogramCode SEQUENCE { - countryCode OCTET STRING (SIZE (2)) OPTIONAL, - serviceCategoryCode CHOICE { - trafficSignPictogram ENUMERATED {dangerWarning, regulatory, informative,...}, - publicFacilitiesPictogram ENUMERATED {publicFacilities, ...}, - ambientOrRoadConditionPictogram ENUMERATED {ambientCondition, roadCondition,...}, - ...}, - pictogramCategoryCode SEQUENCE { - nature INTEGER (1..9), - serialNumber INTEGER (0..99) - }}, - attributes ISO14823Attributes OPTIONAL - } - -IviIdentificationNumber::= INTEGER(1..32767,...) - -IviPurpose::= INTEGER { - safety (0), - environmental (1), - trafficOptimisation (2) - } (0..3) - -IviStatus::= INTEGER { - new (0), - update (1), - cancellation (2), - negation (3) - -- other values reserved for future use - }(0..7) - -IviType::= INTEGER { - immediateDangerWarningMessages (0), - regulatoryMessages (1), - trafficRelatedInformationMessages (2), - pollutionMessages (3), - notTrafficRelatedInformationMessages (4) - -- other values reserved for future use - } (0..7) - -LaneInformation::= SEQUENCE{ - laneNumber LanePosition, - direction Direction, - validity DTM OPTIONAL, - laneType LaneType, - laneTypeQualifier CompleteVehicleCharacteristics OPTIONAL, - laneStatus LaneStatus, - laneWidth IVILaneWidth OPTIONAL, - ... - } - -LaneStatus::= INTEGER { - open (0), - closed (1), - mergeR (2), - mergeL (3), - mergeLR (4), - provisionallyOpen (5), - diverging (6) - -- value 7 reserved for future use -} (0..7, ...) - -LaneType::= INTEGER{ - traffic (0), - through (1), - reversible (2), - acceleration (3), - deceleration (4), - leftHandTurning (5), - rightHandTurning (6), - dedicatedVehicle (7), - bus (8), - taxi (9), - hov (10), - hot (11), - pedestrian (12), - bikeLane (13), - median (14), - striping (15), - trackedVehicle (16), - parking (17), - emergency (18), - verge (19) --- values 20 to 31 reserved for future use - }(0..31) - --- Prefix IVI added due to naming collision with data element LaneWidth of Module DSRC -IVILaneWidth::= INTEGER (0..1023) - -LayoutComponent::=SEQUENCE{ - layoutComponentId INTEGER(1..8,...), - height INTEGER(10..73), - width INTEGER(10..265), - x INTEGER(10..265), - y INTEGER(10..73), - textScripting INTEGER {horizontal (0), vertical (1)}(0..1) - } - -LoadType::= SEQUENCE{ - goodsType GoodsType, - dangerousGoodsType DangerousGoodsBasic, - specialTransportType SpecialTransportType - } - -PolygonalLine::= CHOICE { - deltaPositions SEQUENCE (SIZE (1..32,...)) OF DeltaPosition, - deltaPositionsWithAltitude SEQUENCE (SIZE (1..32,...)) OF DeltaReferencePosition, - absolutePositions SEQUENCE (SIZE (1..8,...)) OF AbsolutePosition, - absolutePositionsWithAltitude SEQUENCE (SIZE (1..8,...)) OF AbsolutePositionWAltitude, - ... - } - -RSCode::= SEQUENCE{ - layoutComponentId INTEGER(1..4,...) OPTIONAL, - code CHOICE { - viennaConvention VcCode, -- see Vienna Convention Annex A - iso14823 ISO14823Code, - itisCodes INTEGER (0..65535), -- see SAE J2540 - anyCatalogue AnyCatalogue, - ... - }} - -RSCUnit::= INTEGER { - kmperh (0), - milesperh (1), - kilometer (2), - meter (3), - decimeter (4), - centimeter (5), - mile (6), - yard (7), - foot (8), - minutesOfTime (9), - tonnes (10), --1000 kg, not Ton! - hundredkg (11), - pound (12), --lbs - rateOfIncline (13) - -- other value reserved for future use - } (0..15) - - -Segment::= SEQUENCE { - line PolygonalLine, - laneWidth IVILaneWidth OPTIONAL - } - -Text::= SEQUENCE { - layoutComponentId INTEGER(1..4,...) OPTIONAL, - language BIT STRING (SIZE(10)), - textContent UTF8String - } - -TractorCharacteristics::=SEQUENCE{ - equalTo SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsFixValues OPTIONAL, - notEqualTo SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsFixValues OPTIONAL, - ranges SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsRanges OPTIONAL -} - -TrailerCharacteristics::=SEQUENCE{ - equalTo SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsFixValues (WITH COMPONENTS {..., euroAndCo2value ABSENT, engineCharacteristics ABSENT}) OPTIONAL, - notEqualTo SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsFixValues (WITH COMPONENTS {..., euroAndCo2value ABSENT, engineCharacteristics ABSENT}) OPTIONAL, - ranges SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsRanges (WITH COMPONENTS {comparisonOperator, limits (WITH COMPONENTS {..., exhaustEmissionValues ABSENT, dieselEmissionValues ABSENT, soundLevel ABSENT})}) OPTIONAL - } - -TrainCharacteristics::= TractorCharacteristics - -VcClass::= INTEGER { - classA (0), - classB (1), - classC (2), - classD (3), - classE (4), - classF (5), - classG (6), - classH (7) - } (0..7) - -VcCode::= SEQUENCE { - roadSignClass VcClass, -- see Vienna Convention - roadSignCode INTEGER (1..64), - vcOption VcOption, -- e.g. the "a" in H, 3a - validity SEQUENCE (SIZE (1..8,...)) OF DTM OPTIONAL, - value INTEGER (0..65535) OPTIONAL, - unit RSCUnit OPTIONAL - } - -VcOption::= INTEGER { - none (0), - a (1), - b (2), - c (3), - d (4), - e (5), - f (6), - g (7) - } (0..7) - -VehicleCharacteristicsFixValues::= CHOICE{ - simpleVehicleType StationType, - euVehicleCategoryCode EuVehicleCategoryCode, - iso3833VehicleType Iso3833VehicleType, - euroAndCo2value EnvironmentalCharacteristics, - engineCharacteristics EngineCharacteristics, - loadType LoadType, - usage VehicleRole, - ...} - -VehicleCharacteristicsRanges::= SEQUENCE{ - comparisonOperator ComparisonOperator, - limits CHOICE{ - numberOfAxles INTEGER(0..7), - vehicleDimensions VehicleDimensions, - vehicleWeightLimits VehicleWeightLimits, - axleWeightLimits AxleWeightLimits, - passengerCapacity PassengerCapacity, - exhaustEmissionValues ExhaustEmissionValues, - dieselEmissionValues DieselEmissionValues, - soundLevel SoundLevel, - ...}} - -Weight::= SEQUENCE { - value INTEGER(1..16384), - unit RSCUnit (10..12) - } - -Zid::= INTEGER (1..32,...) - -Zone::= CHOICE { - segment Segment, - area PolygonalLine, - computedSegment ComputedSegment, - ... - } - --- Definition of the single ISO 14823 Attributes - - -DTM ::= SEQUENCE { - year SEQUENCE { -- contains SYR and EYR - syr INTEGER(2000..2127,...), - eyr INTEGER(2000..2127,...) - } OPTIONAL, - month-day SEQUENCE { -- contains SMD and EMD - smd MonthDay, - emd MonthDay - } OPTIONAL, - pmd PMD OPTIONAL, - hourMinutes SEQUENCE { -- contains SHM and EHM - shm HoursMinutes, - ehm HoursMinutes - } OPTIONAL, - dayOfWeek DayOfWeek OPTIONAL, -- corresponds to SDY and EDY - period HoursMinutes OPTIONAL -- corresponds to LDM -} - -MonthDay ::= SEQUENCE { - month INTEGER (1..12), - day INTEGER (1..31) -} - -PMD::= BIT STRING {national-holiday (0), even-days(1), odd-days(2), market-day(3) } (SIZE (4)) - -HoursMinutes ::= SEQUENCE { - hours INTEGER (0..23), -- number of hours after midnight - mins INTEGER (0..59) -- number of minutes after the hour - } - --- Prefix IVI added due to naming collision with data element DayOfWeek of Module DSRC -DayOfWeek ::= BIT STRING {unused(0), monday(1), tuesday(2), wednesday(3), thursday(4), friday(5), saturday(6), sunday(7)} (SIZE (8)) - -EDT ::= DTM - - - -DFL::= INTEGER { - sDL (1) , -- Straight Direction Only - sLT (2) , -- Straight and Left Turn Only - sRT (3) , -- Straight and Right Turn Only - lTO (4) , -- Left Turn Only - rTO (5) , -- Right Turn Only - cLL (6) , -- Convergence from the Left Lane - cRI (7) , -- Convergence from the Right Lane - oVL (8) -- Oncoming Vehicles Lane - } (1..8) - -VED::=SEQUENCE{ - hei Distance OPTIONAL, - wid Distance OPTIONAL, - vln Distance OPTIONAL, - wei Weight OPTIONAL - } - -SPE::=SEQUENCE{ - spm INTEGER(0..250) OPTIONAL, - mns INTEGER(0..250) OPTIONAL, - unit RSCUnit(0..1) - } - -ROI::= INTEGER(1..32) - -DBV::= Distance --- changes: from DDD_IO to DDD-IO -DDD::= SEQUENCE{ - dcj INTEGER(1..128) OPTIONAL, - dcr INTEGER(1..128)OPTIONAL, - tpl INTEGER(1..128)OPTIONAL, - ioList SEQUENCE (SIZE (1..8,...)) OF DDD-IO - } --- changes: from DDD_IO to DDD-IO -DDD-IO::= SEQUENCE{ - drn INTEGER(0..7), - dp SEQUENCE (SIZE (1..4,...)) OF DestinationPlace OPTIONAL, - dr SEQUENCE (SIZE (1..4,...)) OF DestinationRoad OPTIONAL, - rne INTEGER(1..999) OPTIONAL, - stnId INTEGER(1..999) OPTIONAL, - stnText UTF8String OPTIONAL, - dcp DistanceOrDuration OPTIONAL, - ddp DistanceOrDuration OPTIONAL - } --- changes: from DDD_DEP to DDD-DEP -DestinationPlace::= SEQUENCE{ - depType DDD-DEP, - -- Encoding problem: to be checked if the statement is ASN.1 compatible - -- depRSCode ISO14823Code (WITH COMPONENTS {..., attributes ABSENT}) OPTIONAL, - depRSCode ISO14823Code OPTIONAL, - depBlob OCTET STRING OPTIONAL, - plnId INTEGER(1..999) OPTIONAL, - plnText UTF8String OPTIONAL - } --- changes: from DDD_DER to DDD-DER -DestinationRoad::=SEQUENCE{ - derType DDD-DER, - ronId INTEGER(1..999) OPTIONAL, - ronText UTF8String OPTIONAL - } --- changes: from DDD_DER to DDD-DER -DDD-DER::= INTEGER { - none (0), - nationalHighway (1), - localHighway (2), - tollExpresswayMotorway (3), - internationalHighway (4), - highway (5), - expressway (6), - nationalRoad (7), - regionalProvincialRoad (8), - localRoad (9), - motorwayJunction (10), - diversion (11), - rfu1 (12), - rfu2 (13), - rfu3 (14), - rfu4 (15) - } (0..15, ...) --- changes: from DDD_DEP to DDD-DEP -DDD-DEP::= INTEGER { - none (0), - importantArea (1), - principalArea (2), - generalArea (3), - wellKnownPoint (4), - country (5), - city (6), - street (7), - industrialArea (8), - historicArea (9), - touristicArea (10), - culturalArea (11), - touristicRoute (12), - recommendedRoute (13), - touristicAttraction (14), - geographicArea (15) - } (0..15, ...) - - - -END - diff --git a/asn1/IS/ISO_TS_24534-3.asn b/asn1/IS/ISO_TS_24534-3.asn deleted file mode 100644 index 941b180650764605e7d31dffdc339dbad2ea4b40..0000000000000000000000000000000000000000 --- a/asn1/IS/ISO_TS_24534-3.asn +++ /dev/null @@ -1,85 +0,0 @@ --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- ISO TS 24534-3:2015 --- --- This ASN.1 was generateds: 30.08.2016 --- --- This document contains only the data element needed for the encoding of an IVI message --- as defined in ISO TS 19321(2015) --- --- Published version location: --- http://standards.iso.org/iso/24534/-3/ --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - --- ISO 24534-3:2015 --- Version 29.4.2015 - - -ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version1 (1)} - - -DEFINITIONS AUTOMATIC TAGS ::= BEGIN - --- Electronic Registration Identification (ERI)- Vehicle Data - -EuVehicleCategoryCode ::= CHOICE { - euVehicleCategoryL EuVehicleCategoryL, -- conforms to EU 2002/24 and UNECE 1999 - euVehicleCategoryM EuVehicleCategoryM, -- conforms to EU 2001/116 and UNECE 1999 - euVehicleCategoryN EuVehicleCategoryN, -- conforms to EU 2001/116 and UNECE 1999 - euVehicleCategoryO EuVehicleCategoryO, -- conforms to EU 2001/116 and UNECE 1999 - euVehilcleCategoryT NULL, -- conforms to UNECE 1999 - euVehilcleCategoryG NULL -- conforms to EU 2001/116 and UNECE 1999 - } - -EuVehicleCategoryL ::= ENUMERATED { l1, l2, l3, l4, l5, l6, l7 } - -EuVehicleCategoryM ::= ENUMERATED {m1, m2, m3} - -EuVehicleCategoryN ::= ENUMERATED {n1, n2, n3} - -EuVehicleCategoryO ::= ENUMERATED {o1, o2, o3, o4} - -Iso3833VehicleType ::= INTEGER { - passengerCar (0), -- term No 3.1.1 - saloon (1), -- term No 3.1.1.1 (sedan) - convertibleSaloon (2), -- term No 3.1.1.2 - pullmanSaloon (3), -- term No 3.1.1.3 - stationWagon (4), -- term No 3.1.1.4 - truckStationWagon (5), -- term No 3.1.1.4.1 - coupe (6), -- term No 3.1.1.5 (coupé) - convertible (7), -- term No 3.1.1.6 (open tourer, roadstar, spider) - multipurposePassengerCar (8), -- term No 3.1.1.7 - forwardControlPassengerCar (9), -- term No 3.1.1.8 - specialPassengerCar (10), -- term No 3.1.1.9 - bus (11), -- term No 3.1.2 - minibus (12), -- term No 3.1.2.1 - urbanBus (13), -- term No 3.1.2.2 - interurbanCoach (14), -- term No 3.1.2.3 - longDistanceCoach (15), -- term No 3.1.2.4 - articulatedBus (16), -- term No 3.1.2.5 - trolleyBus (17), -- term No 3.1.2.6 - specialBus (18), -- term No 3.1.2.7 - commercialVehicle (19), -- term No 3.1.3 - specialCommercialVehicle (20), -- term No 3.1.3.1 - specialVehicle (21), -- term No 3.1.4 - trailingTowingVehicle (22), -- term No 3.1.5 (draw-bar tractor) - semiTrailerTowingVehicle (23), -- term No 3.1.6 (fifth wheel tractor) - trailer (24), -- term No 3.2.1 - busTrailer (25), -- term No 3.2.1.1 - generalPurposeTrailer (26), -- term No 3.2.1.2 - caravan (27), -- term No 3.2.1.3 - specialTrailer (28), -- term No 3.2.1.4 - semiTrailer (29), -- term No 3.2.2 - busSemiTrailer (30), -- term No 3.2.2.1 - generalPurposeSemiTrailer (31), -- term No 3.2.2.2 - specialSemiTrailer (32), -- term No 3.2.2.3 - roadTrain (33), -- term No 3.3.1 - passengerRoadTrain (34), -- term No 3.3.2 - articulatedRoadTrain (35), -- term No 3.3.3 - doubleRoadTrain (36), -- term No 3.3.4 - compositeRoadTrain (37), -- term No 3.3.5 - specialRoadTrain (38), -- term No 3.3.6 - moped (39), -- term No 3.4 - motorCycle (40) -- term No 3.5 - } (0..255) - -END diff --git a/asn1/ITS-Container/ITS-Container.asn b/asn1/ITS-Container/ITS-Container.asn deleted file mode 100644 index e57ad63f746b46745673e552f29d9fab7be3a61e..0000000000000000000000000000000000000000 --- a/asn1/ITS-Container/ITS-Container.asn +++ /dev/null @@ -1,498 +0,0 @@ -ITS-Container { -itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) -} - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -ItsPduHeader ::= SEQUENCE { - protocolVersion INTEGER{currentVersion(1)} (0..255), - messageID INTEGER{ denm(1), cam(2), poi(3), spatem(4), mapem(5), ivim(6), ev-rsr(7), tistpgtransaction(8), srem(9), ssem(10), evcsn(11) } (0..255), -- Mantis #7209, #7005 - stationID StationID -} - -StationID ::= INTEGER(0..4294967295) - -ReferencePosition ::= SEQUENCE { - latitude Latitude, - longitude Longitude, - positionConfidenceEllipse PosConfidenceEllipse , - altitude Altitude -} - -DeltaReferencePosition ::= SEQUENCE { - deltaLatitude DeltaLatitude, - deltaLongitude DeltaLongitude, - deltaAltitude DeltaAltitude -} - -Longitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavailable(1800000001)} (-1800000000..1800000001) - -Latitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10), unavailable(900000001)} (-900000000..900000001) - -Altitude ::= SEQUENCE { - altitudeValue AltitudeValue, - altitudeConfidence AltitudeConfidence -} - -AltitudeValue ::= INTEGER {referenceEllipsoidSurface(0), oneCentimeter(1), unavailable(800001)} (-100000..800001) - -AltitudeConfidence ::= ENUMERATED { - alt-000-01 (0), - alt-000-02 (1), - alt-000-05 (2), - alt-000-10 (3), - alt-000-20 (4), - alt-000-50 (5), - alt-001-00 (6), - alt-002-00 (7), - alt-005-00 (8), - alt-010-00 (9), - alt-020-00 (10), - alt-050-00 (11), - alt-100-00 (12), - alt-200-00 (13), - outOfRange (14), - unavailable (15) -} - -DeltaLongitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavailable(131072)} (-131071..131072) - -DeltaLatitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10) , unavailable(131072)} (-131071..131072) - -DeltaAltitude ::= INTEGER {oneCentimeterUp (1), oneCentimeterDown (-1), unavailable(12800)} (-12700..12800) - -PosConfidenceEllipse ::= SEQUENCE { - semiMajorConfidence SemiAxisLength, - semiMinorConfidence SemiAxisLength, - semiMajorOrientation HeadingValue -} - -PathPoint ::= SEQUENCE { - pathPosition DeltaReferencePosition, - pathDeltaTime PathDeltaTime OPTIONAL -} - -PathDeltaTime ::= INTEGER {tenMilliSecondsInPast(1)} (1..65535, ...) - -PtActivation ::= SEQUENCE { - ptActivationType PtActivationType, - ptActivationData PtActivationData -} - -PtActivationType ::= INTEGER {undefinedCodingType(0), r09-16CodingType(1), vdv-50149CodingType(2)} (0..255) - -PtActivationData ::= OCTET STRING (SIZE(1..20)) - -AccelerationControl ::= BIT STRING { - brakePedalEngaged (0), - gasPedalEngaged (1), - emergencyBrakeEngaged (2), - collisionWarningEngaged (3), - accEngaged (4), - cruiseControlEngaged (5), - speedLimiterEngaged (6) -} (SIZE(7)) - - -SemiAxisLength ::= INTEGER{oneCentimeter(1), outOfRange(4094), unavailable(4095)} (0..4095) - -CauseCode ::= SEQUENCE { - causeCode CauseCodeType, - subCauseCode SubCauseCodeType -} - -CauseCodeType ::= INTEGER { - reserved (0), - trafficCondition (1), - accident (2), - roadworks (3), - adverseWeatherCondition-Adhesion (6), - hazardousLocation-SurfaceCondition (9), - hazardousLocation-ObstacleOnTheRoad (10), - hazardousLocation-AnimalOnTheRoad (11), - humanPresenceOnTheRoad (12), - wrongWayDriving (14), - rescueAndRecoveryWorkInProgress (15), - adverseWeatherCondition-ExtremeWeatherCondition (17), - adverseWeatherCondition-Visibility (18), - adverseWeatherCondition-Precipitation (19), - slowVehicle (26), - dangerousEndOfQueue (27), - vehicleBreakdown (91), - postCrash (92), - humanProblem (93), - stationaryVehicle (94), - emergencyVehicleApproaching (95), - hazardousLocation-DangerousCurve (96), - collisionRisk (97), - signalViolation (98), - dangerousSituation (99) -} (0..255) - -SubCauseCodeType ::= INTEGER (0..255) - -TrafficConditionSubCauseCode ::= INTEGER {unavailable(0), increasedVolumeOfTraffic(1), trafficJamSlowlyIncreasing(2), trafficJamIncreasing(3), trafficJamStronglyIncreasing(4), trafficStationary(5), trafficJamSlightlyDecreasing(6), trafficJamDecreasing(7), trafficJamStronglyDecreasing(8)} (0..255) - -AccidentSubCauseCode ::= INTEGER {unavailable(0), multiVehicleAccident(1), heavyAccident(2), accidentInvolvingLorry(3), accidentInvolvingBus(4), accidentInvolvingHazardousMaterials(5), accidentOnOppositeLane(6), unsecuredAccident(7), assistanceRequested(8)} (0..255) - -RoadworksSubCauseCode ::= INTEGER {unavailable(0), majorRoadworks(1), roadMarkingWork(2), slowMovingRoadMaintenance(3), shortTermStationaryRoadworks(4), streetCleaning(5), winterService(6)} (0..255) - -HumanPresenceOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), childrenOnRoadway(1), cyclistOnRoadway(2), motorcyclistOnRoadway(3)} (0..255) - -WrongWayDrivingSubCauseCode ::= INTEGER {unavailable(0), wrongLane(1), wrongDirection(2)} (0..255) - -AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode ::= INTEGER {unavailable(0), strongWinds(1), damagingHail(2), hurricane(3), thunderstorm(4), tornado(5), blizzard(6)} (0..255) - -AdverseWeatherCondition-AdhesionSubCauseCode ::= INTEGER {unavailable(0), heavyFrostOnRoad(1), fuelOnRoad(2), mudOnRoad(3), snowOnRoad(4), iceOnRoad(5), blackIceOnRoad(6), oilOnRoad(7), looseChippings(8), instantBlackIce(9), roadsSalted(10)} (0..255) - -AdverseWeatherCondition-VisibilitySubCauseCode ::= INTEGER {unavailable(0), fog(1), smoke(2), heavySnowfall(3), heavyRain(4), heavyHail(5), lowSunGlare(6), sandstorms(7), swarmsOfInsects(8)} (0..255) - -AdverseWeatherCondition-PrecipitationSubCauseCode ::= INTEGER {unavailable(0), heavyRain(1), heavySnowfall(2), softHail(3)} (0..255) - -SlowVehicleSubCauseCode ::= INTEGER {unavailable(0), maintenanceVehicle(1), vehiclesSlowingToLookAtAccident(2), abnormalLoad(3), abnormalWideLoad(4), convoy(5), snowplough(6), deicing(7), saltingVehicles(8)} (0..255) - -StationaryVehicleSubCauseCode ::= INTEGER {unavailable(0), humanProblem(1), vehicleBreakdown(2), postCrash(3), publicTransportStop(4), carryingDangerousGoods(5)} (0..255) - -HumanProblemSubCauseCode ::= INTEGER {unavailable(0), glycemiaProblem(1), heartProblem(2)} (0..255) - -EmergencyVehicleApproachingSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicleApproaching(1), prioritizedVehicleApproaching(2)} (0..255) - -HazardousLocation-DangerousCurveSubCauseCode ::= INTEGER {unavailable(0), dangerousLeftTurnCurve(1), dangerousRightTurnCurve(2), multipleCurvesStartingWithUnknownTurningDirection(3), multipleCurvesStartingWithLeftTurn(4), multipleCurvesStartingWithRightTurn(5)} (0..255) - -HazardousLocation-SurfaceConditionSubCauseCode ::= INTEGER {unavailable(0), rockfalls(1), earthquakeDamage(2), sewerCollapse(3), subsidence(4), snowDrifts(5), stormDamage(6), burstPipe(7), volcanoEruption(8), fallingIce(9)} (0..255) - -HazardousLocation-ObstacleOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), shedLoad(1), partsOfVehicles(2), partsOfTyres(3), bigObjects(4), fallenTrees(5), hubCaps(6), waitingVehicles(7)} (0..255) - -HazardousLocation-AnimalOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), wildAnimals(1), herdOfAnimals(2), smallAnimals(3), largeAnimals(4)} (0..255) - - CollisionRiskSubCauseCode ::= INTEGER {unavailable(0), longitudinalCollisionRisk(1), crossingCollisionRisk(2), lateralCollisionRisk(3), vulnerableRoadUser(4)} (0..255) - - SignalViolationSubCauseCode ::= INTEGER {unavailable(0), stopSignViolation(1), trafficLightViolation(2), turningRegulationViolation(3)} (0..255) - -RescueAndRecoveryWorkInProgressSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicles(1), rescueHelicopterLanding(2), policeActivityOngoing(3), medicalEmergencyOngoing(4), childAbductionInProgress(5)} (0..255) - -DangerousEndOfQueueSubCauseCode ::= INTEGER {unavailable(0), suddenEndOfQueue(1), queueOverHill(2), queueAroundBend(3), queueInTunnel(4)} (0..255) - -DangerousSituationSubCauseCode ::= INTEGER {unavailable(0), emergencyElectronicBrakeEngaged(1), preCrashSystemEngaged(2), espEngaged(3), absEngaged(4), aebEngaged(5), brakeWarningEngaged(6), collisionRiskWarningEngaged(7)} (0..255) - -VehicleBreakdownSubCauseCode ::= INTEGER {unavailable(0), lackOfFuel (1), lackOfBatteryPower (2), engineProblem(3), transmissionProblem(4), engineCoolingProblem(5), brakingSystemProblem(6), steeringProblem(7), tyrePuncture(8)} (0..255) - -PostCrashSubCauseCode ::= INTEGER {unavailable(0), accidentWithoutECallTriggered (1), accidentWithECallManuallyTriggered (2), accidentWithECallAutomaticallyTriggered (3), accidentWithECallTriggeredWithoutAccessToCellularNetwork(4)} (0..255) - -Curvature ::= SEQUENCE { - curvatureValue CurvatureValue, - curvatureConfidence CurvatureConfidence -} - -CurvatureValue ::= INTEGER {straight(0), reciprocalOf1MeterRadiusToRight(-30000), reciprocalOf1MeterRadiusToLeft(30000), unavailable(30001)} (-30000..30001) - -CurvatureConfidence ::= ENUMERATED { - onePerMeter-0-00002 (0), - onePerMeter-0-0001 (1), - onePerMeter-0-0005 (2), - onePerMeter-0-002 (3), - onePerMeter-0-01 (4), - onePerMeter-0-1 (5), - outOfRange (6), - unavailable (7) -} - -CurvatureCalculationMode ::= ENUMERATED {yawRateUsed(0), yawRateNotUsed(1), unavailable(2), ...} - -Heading ::= SEQUENCE { - headingValue HeadingValue, - headingConfidence HeadingConfidence -} - -HeadingValue ::= INTEGER {wgs84North(0), wgs84East(900), wgs84South(1800), wgs84West(2700), unavailable(3601)} (0..3601) - -HeadingConfidence ::= INTEGER {equalOrWithinZeroPointOneDegree (1), equalOrWithinOneDegree (10), outOfRange(126), unavailable(127)} (1..127) - -LanePosition::= INTEGER {offTheRoad(-1), hardShoulder(0), -outermostDrivingLane(1), secondLaneFromOutside(2)} (-1..14) - -ClosedLanes ::= SEQUENCE { - hardShoulderStatus HardShoulderStatus OPTIONAL, - drivingLaneStatus DrivingLaneStatus, - ... -} - -HardShoulderStatus ::= ENUMERATED {availableForStopping(0), closed(1), availableForDriving(2)} - -DrivingLaneStatus ::= BIT STRING (SIZE (1..14)) - - -PerformanceClass ::= INTEGER {unavailable(0), performanceClassA(1), performanceClassB(2)} (0..7) - -SpeedValue ::= INTEGER {standstill(0), oneCentimeterPerSec(1), unavailable(16383)} (0..16383) - -SpeedConfidence ::= INTEGER {equalOrWithinOneCentimeterPerSec(1), equalOrWithinOneMeterPerSec(100), outOfRange(126), unavailable(127)} (1..127) - -VehicleMass ::= INTEGER {hundredKg(1), unavailable(1024)} (1..1024) - -Speed ::= SEQUENCE { - speedValue SpeedValue, - speedConfidence SpeedConfidence -} - -DriveDirection ::= ENUMERATED {forward (0), backward (1), unavailable (2)} - -EmbarkationStatus ::= BOOLEAN - -LongitudinalAcceleration ::= SEQUENCE { - longitudinalAccelerationValue LongitudinalAccelerationValue, - longitudinalAccelerationConfidence AccelerationConfidence -} - -LongitudinalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredForward(1), pointOneMeterPerSecSquaredBackward(-1), unavailable(161)} (-160 .. 161) - -AccelerationConfidence ::= INTEGER {pointOneMeterPerSecSquared(1), outOfRange(101), unavailable(102)} (0 .. 102) - -LateralAcceleration ::= SEQUENCE { - lateralAccelerationValue LateralAccelerationValue, - lateralAccelerationConfidence AccelerationConfidence -} - -LateralAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredToRight(-1), pointOneMeterPerSecSquaredToLeft(1), unavailable(161)} (-160 .. 161) - -VerticalAcceleration ::= SEQUENCE { - verticalAccelerationValue VerticalAccelerationValue, - verticalAccelerationConfidence AccelerationConfidence -} - -VerticalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredUp(1), pointOneMeterPerSecSquaredDown(-1), unavailable(161)} (-160 .. 161) - -StationType ::= INTEGER {unknown(0), pedestrian(1), cyclist(2), moped(3), motorcycle(4), passengerCar(5), bus(6), -lightTruck(7), heavyTruck(8), trailer(9), specialVehicles(10), tram(11), roadSideUnit(15)} (0..255) - -ExteriorLights ::= BIT STRING { - lowBeamHeadlightsOn (0), - highBeamHeadlightsOn (1), - leftTurnSignalOn (2), - rightTurnSignalOn (3), - daytimeRunningLightsOn (4), - reverseLightOn (5), - fogLightOn (6), - parkingLightsOn (7) -} (SIZE(8)) - -DangerousGoodsBasic::= ENUMERATED { - explosives1(0), - explosives2(1), - explosives3(2), - explosives4(3), - explosives5(4), - explosives6(5), - flammableGases(6), - nonFlammableGases(7), - toxicGases(8), - flammableLiquids(9), - flammableSolids(10), - substancesLiableToSpontaneousCombustion(11), - substancesEmittingFlammableGasesUponContactWithWater(12), - oxidizingSubstances(13), - organicPeroxides(14), - toxicSubstances(15), - infectiousSubstances(16), - radioactiveMaterial(17), - corrosiveSubstances(18), - miscellaneousDangerousSubstances(19) -} - -DangerousGoodsExtended ::= SEQUENCE { - dangerousGoodsType DangerousGoodsBasic, - unNumber INTEGER (0..9999), - elevatedTemperature BOOLEAN, - tunnelsRestricted BOOLEAN, - limitedQuantity BOOLEAN, - emergencyActionCode IA5String (SIZE (1..24)) OPTIONAL, - phoneNumber IA5String (SIZE (1..24)) OPTIONAL, - companyName UTF8String (SIZE (1..24)) OPTIONAL -} - -SpecialTransportType ::= BIT STRING {heavyLoad(0), excessWidth(1), excessLength(2), excessHeight(3)} (SIZE(4)) - -LightBarSirenInUse ::= BIT STRING { - lightBarActivated (0), - sirenActivated (1) -} (SIZE(2)) - -HeightLonCarr ::= INTEGER {oneCentimeter(1), unavailable(100)} (1..100) - -PosLonCarr ::= INTEGER {oneCentimeter(1), unavailable(127)} (1..127) - -PosPillar ::= INTEGER {tenCentimeters(1), unavailable(30)} (1..30) - -PosCentMass ::= INTEGER {tenCentimeters(1), unavailable(63)} (1..63) - -RequestResponseIndication ::= ENUMERATED {request(0), response(1)} - -SpeedLimit ::= INTEGER {oneKmPerHour(1)} (1..255) - -StationarySince ::= ENUMERATED {lessThan1Minute(0), lessThan2Minutes(1), lessThan15Minutes(2), equalOrGreater15Minutes(3)} - -Temperature ::= INTEGER {equalOrSmallerThanMinus60Deg (-60), oneDegreeCelsius(1), equalOrGreaterThan67Deg(67)} (-60..67) - -TrafficRule ::= ENUMERATED {noPassing(0), noPassingForTrucks(1), passToRight(2), passToLeft(3), ... -} - -WheelBaseVehicle ::= INTEGER {tenCentimeters(1), unavailable(127)} (1..127) - -TurningRadius ::= INTEGER {point4Meters(1), unavailable(255)} (1..255) - -PosFrontAx ::= INTEGER {tenCentimeters(1), unavailable(20)} (1..20) - -PositionOfOccupants ::= BIT STRING { - row1LeftOccupied (0), - row1RightOccupied (1), - row1MidOccupied (2), - row1NotDetectable (3), - row1NotPresent (4), - row2LeftOccupied (5), - row2RightOccupied (6), - row2MidOccupied (7), - row2NotDetectable (8), - row2NotPresent (9), - row3LeftOccupied (10), - row3RightOccupied (11), - row3MidOccupied (12), - row3NotDetectable (13), - row3NotPresent (14), - row4LeftOccupied (15), - row4RightOccupied (16), - row4MidOccupied (17), - row4NotDetectable (18), - row4NotPresent (19)} (SIZE(20)) - -PositioningSolutionType ::= ENUMERATED {noPositioningSolution(0), sGNSS(1), dGNSS(2), sGNSSplusDR(3), dGNSSplusDR(4), dR(5), ...} - -VehicleIdentification ::= SEQUENCE { - wMInumber WMInumber OPTIONAL, - vDS VDS OPTIONAL, - ... -} - -WMInumber ::= IA5String (SIZE(1..3)) - -VDS ::= IA5String (SIZE(6)) - -EnergyStorageType ::= BIT STRING {hydrogenStorage(0), electricEnergyStorage(1), liquidPropaneGas(2), compressedNaturalGas(3), diesel(4), gasoline(5), ammonia(6)} (SIZE(7)) - -VehicleLength ::= SEQUENCE { - vehicleLengthValue VehicleLengthValue, - vehicleLengthConfidenceIndication VehicleLengthConfidenceIndication -} - -VehicleLengthValue ::= INTEGER {tenCentimeters(1), outOfRange(1022), unavailable(1023)} (1..1023) - -VehicleLengthConfidenceIndication ::= ENUMERATED {noTrailerPresent(0), trailerPresentWithKnownLength(1), trailerPresentWithUnknownLength(2), trailerPresenceIsUnknown(3), unavailable(4)} - -VehicleWidth ::= INTEGER {tenCentimeters(1), outOfRange(61), unavailable(62)} (1..62) - -PathHistory::= SEQUENCE (SIZE(0..40)) OF PathPoint - -EmergencyPriority ::= BIT STRING {requestForRightOfWay(0), requestForFreeCrossingAtATrafficLight(1)} (SIZE(2)) - -InformationQuality ::= INTEGER {unavailable(0), lowest(1), highest(7)} (0..7) - -RoadType ::= ENUMERATED { - urban-NoStructuralSeparationToOppositeLanes(0), - urban-WithStructuralSeparationToOppositeLanes(1), - nonUrban-NoStructuralSeparationToOppositeLanes(2), - nonUrban-WithStructuralSeparationToOppositeLanes(3)} - -SteeringWheelAngle ::= SEQUENCE { - steeringWheelAngleValue SteeringWheelAngleValue, - steeringWheelAngleConfidence SteeringWheelAngleConfidence -} - -SteeringWheelAngleValue ::= INTEGER {straight(0), onePointFiveDegreesToRight(-1), onePointFiveDegreesToLeft(1), unavailable(512)} (-511..512) - -SteeringWheelAngleConfidence ::= INTEGER {equalOrWithinOnePointFiveDegree (1), outOfRange(126), unavailable(127)} (1..127) - -TimestampIts ::= INTEGER {utcStartOf2004(0), oneMillisecAfterUTCStartOf2004(1)} (0..4398046511103) - -VehicleRole ::= ENUMERATED {default(0), publicTransport(1), specialTransport(2), dangerousGoods(3), roadWork(4), rescue(5), emergency(6), safetyCar(7), agriculture(8),commercial(9),military(10),roadOperator(11),taxi(12), reserved1(13), reserved2(14), reserved3(15)} - -YawRate::= SEQUENCE { - yawRateValue YawRateValue, - yawRateConfidence YawRateConfidence -} - -YawRateValue ::= INTEGER {straight(0), degSec-000-01ToRight(-1), degSec-000-01ToLeft(1), unavailable(32767)} (-32766..32767) - -YawRateConfidence ::= ENUMERATED { - degSec-000-01 (0), - degSec-000-05 (1), - degSec-000-10 (2), - degSec-001-00 (3), - degSec-005-00 (4), - degSec-010-00 (5), - degSec-100-00 (6), - outOfRange (7), - unavailable (8) -} - -ProtectedZoneType::= ENUMERATED { cenDsrcTolling (0), ... } - -RelevanceDistance ::= ENUMERATED {lessThan50m(0), lessThan100m(1), lessThan200m(2), lessThan500m(3), lessThan1000m(4), lessThan5km(5), lessThan10km(6), over10km(7)} - -RelevanceTrafficDirection ::= ENUMERATED {allTrafficDirections(0), upstreamTraffic(1), downstreamTraffic(2), oppositeTraffic(3)} - -TransmissionInterval ::= INTEGER {oneMilliSecond(1), tenSeconds(10000)} (1..10000) - -ValidityDuration ::= INTEGER {timeOfDetection(0), oneSecondAfterDetection(1)} (0..86400) - -ActionID ::= SEQUENCE { - originatingStationID StationID, - sequenceNumber SequenceNumber -} - -ItineraryPath ::= SEQUENCE SIZE(1..40) OF ReferencePosition - -ProtectedCommunicationZone ::= SEQUENCE { - protectedZoneType ProtectedZoneType, - expiryTime TimestampIts OPTIONAL, - protectedZoneLatitude Latitude, - protectedZoneLongitude Longitude, - protectedZoneRadius ProtectedZoneRadius OPTIONAL, - protectedZoneID ProtectedZoneID OPTIONAL -} - -Traces ::= SEQUENCE SIZE(1..7) OF PathHistory - -NumberOfOccupants ::= INTEGER {oneOccupant (1), unavailable(127)} (0 .. 127) - -SequenceNumber ::= INTEGER (0..65535) - -PositionOfPillars ::= SEQUENCE (SIZE(1..3, ...)) OF PosPillar - -RestrictedTypes ::= SEQUENCE (SIZE(1..3, ...)) OF StationType - -EventHistory::= SEQUENCE (SIZE(1..23)) OF EventPoint - -EventPoint ::= SEQUENCE { - eventPosition DeltaReferencePosition, - eventDeltaTime PathDeltaTime OPTIONAL, - informationQuality InformationQuality -} - -ProtectedCommunicationZonesRSU ::= SEQUENCE (SIZE(1..16)) OF ProtectedCommunicationZone - - - -CenDsrcTollingZone ::= SEQUENCE { - protectedZoneLatitude Latitude, - protectedZoneLongitude Longitude, - cenDsrcTollingZoneID CenDsrcTollingZoneID OPTIONAL -} - -ProtectedZoneRadius ::= INTEGER {oneMeter(1)} (1..255,...) - -ProtectedZoneID ::= INTEGER (0.. 134217727) - -CenDsrcTollingZoneID ::= ProtectedZoneID - -END diff --git a/asn1/ProtocolManagementInformation/ProtocolManagementInformation.asn b/asn1/ProtocolManagementInformation/ProtocolManagementInformation.asn deleted file mode 100644 index 44a1050b767a5d6b4fe3580496e66b552d82ceae..0000000000000000000000000000000000000000 --- a/asn1/ProtocolManagementInformation/ProtocolManagementInformation.asn +++ /dev/null @@ -1,181 +0,0 @@ -ProtocolManagementInformation {iso(1) standard(0) iso15662(15662) protocolManagementInformation(1)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN - -ProtocolManagementInformation ::= SEQUENCE{ - selectionOfCommunicationSysyem SelectionOfCommunicationSystem OPTIONAL, - applicationIdentifiers ApplicationIdentifiers OPTIONAL, - address Address OPTIONAL, - priority Priority OPTIONAL, - security Security OPTIONAL, - applicationExecution ApplicationExecution OPTIONAL - } - -SelectionOfCommunicationSystem ::= SEQUENCE{ --see 4.1 - responsiveness Responsiveness OPTIONAL, - directionality Directionality OPTIONAL, - usageEnvironment UsageEnvironment OPTIONAL, - serviceArea ServiceArea OPTIONAL, - serviceTime ServiceTime OPTIONAL, - bandwidth Bandwidth OPTIONAL, - connectionCost ConnectionCost OPTIONAL - } - -ApplicationIdentifiers ::= SEQUENCE{ --see 4.2 - messageIdentifier EXTERNAL OPTIONAL, - messageNumber INTEGER OPTIONAL, - timeOfMessageTransmission GeneralizedTime OPTIONAL - } - -Address ::= SEQUENCE{ --see 4.3 - addressOfOrigin EXTERNAL OPTIONAL, - addressOfDestination EXTERNAL OPTIONAL - } - -Priority ::= SEQUENCE{ --see 4.4 - interruptHandling INTEGER{ - undefined (0), - lowPriority (1), - middlePriority (2), - highPriority (3)}, - interruptHandlingLevel INTEGER OPTIONAL, - queueControl INTEGER{ - undefined-FIFO (0), - lIFO (1), - random (2), - re-try (3), - errorNotification (4) - } - } - -Security ::= BIT STRING { --see 4.5 - userAuthentication (0), - terminalAuthentication (1), - dataAuthentication (2), - consealment (3) - } - -ApplicationExecution ::= SEQUENCE{ --see 4.6 - validTime ValidTime, - timeStamp GeneralizedTime, - targetArea TargetArea - } - -Responsiveness ::= SEQUENCE{ --see 4.1.1 - responsivenessCode INTEGER{ - undefined (0), - within1Sec (1), - within30Sec (2), - oneMinute (3), - fifteenMinute (4), - other (5), - error (6) - }, - responsivenessValue UTCTime OPTIONAL - } - -Directionality ::= INTEGER{ --see 4.1.2 - undefined (0), - unidirectional (1), - bidirectional-Symmetric (2), - bidirectional-UpLarger (3), - bidirectional-DownLarger (4) - } - -UsageEnvironment ::= SEQUENCE { --see 4.1.3 - meansOfTransportation BIT STRING{ - undefined (0), - vehicle (1), - publicTransport (2), - foot (3), - bicycle (4), - motorCycle (5), - moped (6), - car (7), - truck (8), - emergencyVehicle (9), - buss (10), - tram (11), - train (12), - ferry (13), - taxi (14), - other (15) - }, - speed INTEGER{ - undefined (0), - fast (1), - middle (2), - slow (3), - stopped (4), - other (5) - }, - speedValue EXTERNAL OPTIONAL - } - -ServiceArea ::= SEQUENCE{ --see 4.1.4 - serviceAreaCode INTEGER{ - undefined (0), - continuous (1), - non-continuous (2) - }, - serviceAreaValue EXTERNAL OPTIONAL - } - -ServiceTime ::= SEQUENCE{ --see 4.1.5 - serviceTimeCode INTEGER{ - undefined (0), - start-StopTime (1), - startTime (2), - stopTime (3), - continuous (4) - }, - serviceTimeValue EXTERNAL OPTIONAL - } - -Bandwidth ::= SEQUENCE{ --see 4.1.6 - capacityOfTransmissionValue INTEGER OPTIONAL, - dataExpressionCode BIT STRING{ - undefined (0), - text (1), - audio (2), - simpleGraphic (3), - stillImage (4), - video (5), - other (6) - } - } - -ConnectionCost ::= SEQUENCE{ --see 4.1.7 - maximumCostRequirement INTEGER{ - undefined (0), - totalCost (1), - timeUnitPrice (2), - bitUnitPrice (3), - other (4) - }, - maximumCostValue EXTERNAL OPTIONAL - } - -ValidTime ::= SEQUENCE{ --see 4.6.1 - validTimeCode INTEGER{ - undefined (0), - duringReceptionOnly (1), - timeDesignated (2), - untilUpdated (3), - other (4) - }, - validTimeValue EXTERNAL OPTIONAL - } - -TargetArea ::= SEQUENCE{ --see 4.6.3 - targetAreaCode INTEGER{ - undefined (0), - spot (1), - zone (2), - interval (3), - region (4), - wideArea (5), - other (6) - }, - targetAreaValue EXTERNAL OPTIONAL - } - -END diff --git a/asn1/TransportAddressMib/TransportAddressMib.asn b/asn1/TransportAddressMib/TransportAddressMib.asn deleted file mode 100644 index 82740380d410ae43a0063be4deafad161aa74fe3..0000000000000000000000000000000000000000 --- a/asn1/TransportAddressMib/TransportAddressMib.asn +++ /dev/null @@ -1,12 +0,0 @@ -TRANSPORT-ADDRESS-MIB - -DEFINITIONS AUTOMATIC TAGS ::= BEGIN - --- this is only a dummy module to resolve the two elements in IMPORT statements of other modules - -TransportAddressType ::= OCTET STRING (SIZE(6)) - -TransportAddress ::= OCTET STRING (SIZE(6)) - -END - diff --git a/module.mk b/module.mk new file mode 100644 index 0000000000000000000000000000000000000000..cead6c13868007a95cb28379ff9cf89fac1f2feb --- /dev/null +++ b/module.mk @@ -0,0 +1 @@ +modules := ttcn/Common diff --git a/ttcn/BTP/LibItsBtp_Functions.ttcn b/ttcn/BTP/LibItsBtp_Functions.ttcn deleted file mode 100644 index 581629d19d6dfc391e0b68e2c88a25458d164f67..0000000000000000000000000000000000000000 --- a/ttcn/BTP/LibItsBtp_Functions.ttcn +++ /dev/null @@ -1,240 +0,0 @@ -/** - * @author ETSI / STF405 - * @version $URL$ - * $Id$ - * @desc Module containing functions for basic Transport Protocol - * @copyright ETSI Copyright Notification - * No part may be reproduced except as authorized by written permission. - * The copyright and the foregoing restriction extend to reproduction in all media. - * All rights reserved. - * - */ - - module LibItsBtp_Functions { - - // LibCommon - import from LibCommon_Sync all; - import from LibCommon_Time all; - import from LibCommon_VerdictControl all; - - // LibItsCommon - import from LibItsCommon_Functions all; - import from LibItsCommon_TypesAndValues all; - - // LibItsBtp - import from LibItsBtp_TestSystem all; - import from LibItsBtp_TypesAndValues all; - import from LibItsBtp_Templates all; - import from LibItsBtp_Pixits all; - - group utFuntions { - - /** - * @desc Requests to bring the IUT in an initial state - * @param p_init The initialisation to trigger. - */ - function f_utInitializeIut(template (value) UtInitialize p_init) runs on ItsBtp { - - //deactivate btpPort default alts - vc_btpDefaultActive := false; - - utPort.send(p_init); - tc_wait.start; - alt { - [] utPort.receive(UtInitializeResult:true) { - tc_wait.stop; - log("*** f_utInitializeIut: INFO: IUT initialized ***"); - } - [] utPort.receive { - tc_wait.stop; - log("*** f_utInitializeIut: INFO: IUT could not be initialized ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] tc_wait.timeout { - log("*** f_utInitializeIut: INFO: IUT could not be initialized in time ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - } - - //activate btpPort default alts - vc_btpDefaultActive := true; - - } - - /** - * @desc Triggers event from the application layer - * @param p_event The event to trigger. - */ - function f_utTriggerEvent(template (value) UtBtpTrigger p_event) runs on ItsBtp { - - //deactivate btpPort default alts - vc_btpDefaultActive := false; - - utPort.send(p_event); - alt { - [] utPort.receive(UtBtpTriggerResult:true) { - tc_wait.stop; - } - [] utPort.receive { - tc_wait.stop; - } - [] tc_wait.timeout { - } - } - - //activate btpPort default alts - vc_btpDefaultActive := true; - - } - - } // End of group utFunctions - - group configurationFunctions { - - /** - * @desc Setups default configuration - */ - function f_cfUp() runs on ItsBtp system ItsBtpSystem { - - map(self:utPort, system:utPort); - map(self:btpPort, system:btpPort); - f_connect4SelfOrClientSync(); - - } // end f_cfUp - - /** - * @desc Deletes default configuration - */ - function f_cfDown() runs on ItsBtp system ItsBtpSystem { - - unmap(self:utPort, system:utPort); - unmap(self:btpPort, system:btpPort); - f_disconnect4SelfOrClientSync(); - - } // end f_cfDown - - } // end configurationFunctions - - group btpAltsteps { - - /** - * @desc The base default. - */ - altstep a_default() runs on ItsBtp { - - [vc_btpDefaultActive] btpPort.receive { - log("*** a_default: ERROR: Received an unexpected message ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] tc_wait.timeout { - log("*** a_default: INCONC: Timeout while awaiting reaction of the IUT prior to Upper Tester action ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [] tc_ac.timeout { - log("*** a_default: INCONC: Timeout while awaiting the reception of a message ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [] a_shutdown() { - f_poDefault(); - f_cfDown(); - log("*** a_default: INFO: TEST COMPONENT NOW STOPPING ITSELF! ***"); - stop; - } - } - - /** - * @desc The default for handling upper tester messages. - */ - altstep a_utDefault() runs on ItsBtp { - var UtBtpEventInd v_ind; - [vc_utDefaultActive] utPort.receive(UtBtpEventInd:?) -> value v_ind { - //store every upper tester indication received - vc_utEvents[lengthof(vc_utEvents)] := v_ind; - repeat; - } - [vc_utDefaultActive] utPort.receive { - log("*** " & testcasename() & ": INFO: Received unhandled/unknown UT message from IUT ***"); - repeat; - } - } - - } //end btpAltsteps - - group preambles { - - /** - * @desc The default preamble. - */ - function f_prDefault() runs on ItsBtp { - activate(a_default()); - activate(a_utDefault()); - } - - /** - * @desc Brings the IUT into an initial state. - */ - function f_prInitialState() runs on ItsBtp { - - f_utInitializeIut(m_btpInitialize); - f_prDefault(); - - } - - } // end of group preambles - - - group postambles { - - /** - * @desc The default postamble. - */ - function f_poDefault() runs on ItsBtp { - //empty - } - - } // end postambles - - group getFunctions { - - /** - * @desc Gets the BTP source port of the IUT. - * @return BTP source port ID - */ - function f_getBtpSrcPort() return BtpPortId { - return PX_SOURCE_PORT; - } - - /** - * @desc Gets the BTP destination port of the IUT. - * @return BTP destination port ID - */ - function f_getBtpDstPort() return BtpPortId { - return PX_DESTINATION_PORT; - } - - /** - * @desc Gets a unknown BTP destination port of the IUT. - * @return Unknown BTP destination port ID - */ - function f_getBtpUnknownDstPort() return BtpPortId { - return PX_UNKNOWN_DESTINATION_PORT; - } - - /** - * @desc Gets the BTP destination port info of the IUT. - * @return BTP destination port info - */ - function f_getBtpDstPortInfo() return BtpPortId { - return PX_DESTINATION_PORT_INFO; - } - - /** - * @desc Gets the BTP payload to use. - * @return BTP payload - */ - function f_getBtpPayload() return BtpPayload { - return PX_PAYLOAD; - } - - } // end getFunctions -} // end LibItsBtp_Functions \ No newline at end of file diff --git a/ttcn/BTP/LibItsBtp_Pixits.ttcn b/ttcn/BTP/LibItsBtp_Pixits.ttcn deleted file mode 100644 index 06e819a724be444456d25dc1ec631076e6e1533c..0000000000000000000000000000000000000000 --- a/ttcn/BTP/LibItsBtp_Pixits.ttcn +++ /dev/null @@ -1,52 +0,0 @@ -/** - * @author ETSI / STF405 - * @version $URL$ - * $Id$ - * @desc Basic Transport Protocol Templates - * @copyright ETSI Copyright Notification - * No part may be reproduced except as authorized by written permission. - * The copyright and the foregoing restriction extend to reproduction in all media. - * All rights reserved. - * - */ -module LibItsBtp_Pixits { - - // LibIts - import from LibItsBtp_TypesAndValues all; - - - /** - * @desc BTP source port of the IUT - * - */ - modulepar BtpPortId PX_SOURCE_PORT := 0; - - /** - * @desc BTP Destination port of the IUT - * - */ - modulepar BtpPortId PX_DESTINATION_PORT := 0; - - /** - * @desc BTP Unknown Destination port of the IUT - * - */ - modulepar BtpPortId PX_UNKNOWN_DESTINATION_PORT := 0; - - /** - * @desc BTP Destination port Info of the IUT - * - */ - modulepar BtpPortId PX_DESTINATION_PORT_INFO := 0; - - /** - * @desc Payload to be sent to the IUT for testing matter - * - */ - modulepar BtpPayload PX_PAYLOAD := { - decodedPayload := omit, - rawPayload := '0102030405'O - }; - - -} // end LibItsBtp_Pixits \ No newline at end of file diff --git a/ttcn/BTP/LibItsBtp_Templates.ttcn b/ttcn/BTP/LibItsBtp_Templates.ttcn deleted file mode 100644 index dbbb0aa46f997785b278331201d0c4b96d58d81a..0000000000000000000000000000000000000000 --- a/ttcn/BTP/LibItsBtp_Templates.ttcn +++ /dev/null @@ -1,204 +0,0 @@ -/** - * @author ETSI / STF405 - * @version $URL$ - * $Id$ - * @desc Basic Transport Protocol Templates - * @copyright ETSI Copyright Notification - * No part may be reproduced except as authorized by written permission. - * The copyright and the foregoing restriction extend to reproduction in all media. - * All rights reserved. - * - */ -module LibItsBtp_Templates { - - // LibIts - import from LibItsBtp_TestSystem all; - import from LibItsBtp_TypesAndValues all; - import from LibItsBtp_Pixits all; - import from LibItsCommon_TypesAndValues all; - - group btpPrimitivesTemplates { - - /** - * @desc Send template for BTP packet (BtpPort Primitive) - * @param p_btpPkt BTP Packet to be sent - */ - template (value) BtpReq m_btpReq( - template (value) BtpPacket p_btpPkt - ) := { - msgOut := p_btpPkt - } - - /** - * @desc Receive template for BTP packet (BtpPort Primitive) - * @param p_btpPkt BTP Packet to be received - */ - template BtpInd mw_btpInd( - template (present) BtpPacket p_btpPkt - ) := { - msgIn := p_btpPkt - } - - group utPrimitives { - - /** - * @desc Initializes the BTP IUT. - */ - template (value) UtInitialize m_btpInitialize := { - hashedId8 := '0000000000000000'O - } - - /** - * @desc Generate a BTP A packet - * @param p_destPort The destination port - * @param p_srcPort The source port - */ - template (value) UtBtpTrigger m_generateBtpA(in BtpPortId p_destPort, in BtpPortId p_srcPort) := { - btpA := { - btpAHeader := { - destinationPort := p_destPort, - sourcePort := p_srcPort - } - } - } - - /** - * @desc Generate a BTP B packet - * @param p_destPort The destination port - * @param p_destPortInfo The destination port information - */ - template (value) UtBtpTrigger m_generateBtpB(in BtpPortId p_destPort, in BtpPortInfo p_destPortInfo) := { - btpB := { - btpBHeader := { - destinationPort := p_destPort, - destinationPortInfo := p_destPortInfo - } - } - } - - } // end utPrimitives - - } // btpPrimitivesTemplates - - group btpPduTemplates { - - /** - * @desc Send template for BTP-A packet - * @param p_destPort Destination port - * @param p_srcPort Source port - * @param p_payload Payload - */ - template (value) BtpPacket m_btpA ( - template (value) BtpPayload p_payload - ):= { - header := { - btpAHeader := { - destinationPort := PX_DESTINATION_PORT, - sourcePort := PX_SOURCE_PORT - } - }, - payload := p_payload - } - - /** - * @desc Send template for BTP-B packet - * @param p_destPort Destination port - * @param p_destPortInfo Destination port information - * @param p_payload Payload - */ - template( value) BtpPacket m_btpB ( - template (value) BtpPayload p_payload - ) := { - header := { - btpBHeader := { - destinationPort := PX_DESTINATION_PORT, - destinationPortInfo := 0 - } - }, - payload := p_payload - } - - /** - * @desc Send template for BTP-A packet with port parameters - * @param p_destPort Destination port - * @param p_srcPort Source port - * @param p_payload Payload - */ - template (value) BtpPacket m_btpAWithPorts ( - template (value) BtpPortId p_destPort, - template (value) BtpPortId p_srcPort, - template (value) BtpPayload p_payload - ):= { - header := { - btpAHeader := { - destinationPort := p_destPort, - sourcePort := p_srcPort - } - }, - payload := p_payload - } - - /** - * @desc Send template for BTP-B packet with port parameters - * @param p_destPort Destination port - * @param p_destPortInfo Destination port information - * @param p_payload Payload - */ - template( value) BtpPacket m_btpBWithPorts ( - template (value) BtpPortId p_destPort, - template (value) BtpPortInfo p_destPortInfo, - template (value) BtpPayload p_payload - ) := { - header := { - btpBHeader := { - destinationPort := p_destPort, - destinationPortInfo := p_destPortInfo - } - }, - payload := p_payload - } - - /** - * @desc Receive template for BTP-A packet - * @param p_destPort Destination port - * @param p_srcPort Source port - * @param p_payload Payload - */ - template BtpPacket mw_btpA ( - template (present) BtpPortId p_destPort, - template (present) BtpPortId p_srcPort, - template BtpPayload p_payload - ) := { - header := { - btpAHeader := { - destinationPort := p_destPort, - sourcePort := p_srcPort - } - }, - payload := p_payload - } - - /** - * @desc Receive template for BTP-B packet - * @param p_destPort Destination port - * @param p_destPortInfo Destination port information - * @param p_payload Payload - */ - template BtpPacket mw_btpB ( - template (present) BtpPortId p_destPort, - template (present) BtpPortInfo p_destPortInfo, - template BtpPayload p_payload - ) := { - header := { - btpBHeader := { - destinationPort := p_destPort, - destinationPortInfo := p_destPortInfo - } - }, - payload := p_payload - } - - } // end btpPduTemplates - - -} // end LibItsBtp_Templates \ No newline at end of file diff --git a/ttcn/BTP/LibItsBtp_TestSystem.ttcn b/ttcn/BTP/LibItsBtp_TestSystem.ttcn deleted file mode 100644 index 4c7929d948b0df755f9677712f9a8c461bf78d20..0000000000000000000000000000000000000000 --- a/ttcn/BTP/LibItsBtp_TestSystem.ttcn +++ /dev/null @@ -1,117 +0,0 @@ -/** - * @author ETSI / STF405 - * @version $URL$ - * $Id$ - * @desc Test System module for ITS BTP - * @copyright ETSI Copyright Notification - * No part may be reproduced except as authorized by written permission. - * The copyright and the foregoing restriction extend to reproduction in all media. - * All rights reserved. - * - */ -module LibItsBtp_TestSystem { - - // LibCommon - import from LibCommon_Time {modulepar all}; - import from LibCommon_Sync all; - - // LibIts - import from LibItsCommon_TestSystem all; - import from LibItsCommon_TypesAndValues all; - import from LibItsBtp_TypesAndValues all; - - group portDefinitions { - - /** - * @desc Upper Tester port - */ - type port UpperTesterPort message { - out - UtInitialize, UtBtpTrigger; - in - UtInitializeResult, UtBtpTriggerResult, UtBtpEventInd; - } // end UpperTesterPort - - } // end portDefinitions - - group interfacePorts { - - group networkAndTransportPorts { - - group nt1Ports { - - /** - * @desc NT1 BTP Port (BTP/GeoNet/G5) - */ - type port BtpPort message { - in BtpInd; - out BtpReq; - } // end BtpPort - - } // End of group nt1Ports - - } // End of group networkAndTransportPorts - - } // End of group interfacePorts - - group componentDefinitions { - - /** - * @desc ITS System Adapter - */ - type component ItsBtpSystem { - - port UpperTesterPort utPort; - - // NT1 ports - port BtpPort btpPort; - - } // end component ItsAdapter - - } // End of group componentDefinitions - - /** - * @desc Test component for ITS Network and Transport layer - */ - type component ItsBtp extends ItsBaseComponent { - - port UpperTesterPort utPort; - - // NT1 ports - port BtpPort btpPort; - - // timers - - var UtBtpEventIndList vc_utEvents := {}; - - var boolean vc_utDefaultActive := true; - var boolean vc_btpDefaultActive := true; - - } // End of component ItsBtp - - group networkAndTransportPrimitives { - - group nt1Primitives { - - /** - * @desc NT1 BTP Indication Primitive - */ - type record BtpInd { - BtpPacket msgIn - } - - /** - * @desc NT1 BTP Request Primitive - */ - type record BtpReq { - BtpPacket msgOut - } - - } // end nt1Primitives - - } // End of group networkAndTransportPrimitives - with { - encode "LibIts_Interface" - } // end interfacePrimitives - -} // End of module LibItsBtp_TestSystem diff --git a/ttcn/BTP/LibItsBtp_TypesAndValues.ttcn b/ttcn/BTP/LibItsBtp_TypesAndValues.ttcn deleted file mode 100644 index c2ca46ef9e257030ff7cb0ae6102f18b64f57ae6..0000000000000000000000000000000000000000 --- a/ttcn/BTP/LibItsBtp_TypesAndValues.ttcn +++ /dev/null @@ -1,189 +0,0 @@ -/** - * @author ETSI / STF405 - * @version $URL$ - * $Id$ - * @desc Module containing types and values for Basic Transport Protocol - * @copyright ETSI Copyright Notification - * No part may be reproduced except as authorized by written permission. - * The copyright and the foregoing restriction extend to reproduction in all media. - * All rights reserved. - * - */ -module LibItsBtp_TypesAndValues { - - // LibCommon - import from LibCommon_BasicTypesAndValues all; - - // LibIts - import from CAM_PDU_Descriptions language "ASN.1:1997" all; - import from DENM_PDU_Descriptions language "ASN.1:1997" all; - import from MAPEM_PDU_Descriptions language "ASN.1:1997" all; - import from SPATEM_PDU_Descriptions language "ASN.1:1997" all; - import from IVIM_PDU_Descriptions language "ASN.1:1997" all; - import from SREM_PDU_Descriptions language "ASN.1:1997" all; - import from SSEM_PDU_Descriptions language "ASN.1:1997" all; - - group btpPdus { - - /** - * @desc BTP Packet - * @see ETSI TS 102 636-5-1 chapter 6 - * @member header - * @member payload - */ - type record BtpPacket { - BtpHeader header, - BtpPayload payload optional - } - - } // end btpPdus - - group btpHeaders { - - /** - * @desc BTP Header - * @see ETSI TS 102 636-5-1 chapter 7.1 - * @member btpAHeader - * @member btpBHeader - */ - type union BtpHeader { - BtpAHeader btpAHeader, - BtpBHeader btpBHeader - } - - /** - * @desc BTP-A Header - * @see ETSI TS 102 636-5-1 chapter 7.2 - * @member destinationPort - * @member sourcePort - */ - type record BtpAHeader { - BtpPortId destinationPort, - BtpPortId sourcePort - } - - /** - * @desc BTP-B Header - * @see ETSI TS 102 636-5-1 chapter 7.3 - * @member destinationPort - * @member destinationPortInfo - */ - type record BtpBHeader { - BtpPortId destinationPort, - BtpPortInfo destinationPortInfo - } - - /** - * @desc BTP Port ID - * @see ETSI TS 102 636-5-1 chapter 7.3.2 - */ - type UInt16 BtpPortId; - - /** - * @desc BTP-B Port info - * @see ETSI TS 102 636-5-1 chapter 7.3.2 - */ - type UInt16 BtpPortInfo; - - } // end btpHeaders - - group btpPayload { - - type octetstring BtpRawPayload; - - /** - * @desc The payload of the BTP packet - * @member decodedPayload The decoded payload - * @member rawPayload Raw payload as it is received - */ - type record BtpPayload { - DecodedBtpPayload decodedPayload optional, - BtpRawPayload rawPayload - } - - /** - * @desc The decoded payload of the BTP packet - * @member camPacket The CAM packet - * @member denmPacket The DENM packet - * @member mapemPacket - * @member spatemPacket - * @member ivimPacket - * @member sremPacket - * @member seemPacket - */ - type union DecodedBtpPayload { - CAM camPacket, - DENM denmPacket, - MAPEM mapemPacket, - SPATEM spatemPacket, - IVIM ivimPacket, - SREM sremPacket, - SSEM ssemPacket - } with { - encode (camPacket) "LibItsCam_asn1"; - encode (denmPacket) "LibItsDenm_asn1"; - encode (mapemPacket) "LibItsMapemSpatem_asn1"; - encode (spatemPacket) "LibItsMapemSpatem_asn1"; - encode (ivimPacket) "LibItsIvim_asn1"; - encode (sremPacket) "LibItsSremSsem_asn1"; - encode (ssemPacket) "LibItsSremSsem_asn1" - } - - } //end btpPayload - - group utPrimitives { - - group utCommonPrimitives { - - /** - * @desc UT primitives for BTP - * @member btpA - - * @member btpB - - */ - type union UtBtpTrigger { - GenerateBtpA btpA, - GenerateBtpB btpB - } - - type boolean UtBtpTriggerResult; - - /** - * @desc Upper Tester message to request triggering of an BTPA message at IUT - */ - type record GenerateBtpA { - BtpAHeader btpAHeader - } - - /** - * @desc Upper Tester message to request triggering of an BTPB message at IUT - */ - type record GenerateBtpB { - BtpBHeader btpBHeader - } - - /** - * @desc Upper Tester message to check event/status on BTP IUT - */ - type record UtBtpEventInd { - BtpRawPayload rawPayload - } - - /** - * @desc List of Upper Tester messages to check event/status on CAM IUT - */ - type record of UtBtpEventInd UtBtpEventIndList; - } -// with { -// encode "LibItsCommon" -// } - - - } // end utPrimitives - with { - encode "UpperTester" - } - -} -with { - encode "LibItsBtp" -} diff --git a/ttcn/CALM/ATSP/LibItsAtsp_Functions.ttcn3 b/ttcn/CALM/ATSP/LibItsAtsp_Functions.ttcn3 deleted file mode 100644 index a78b7eb1bde9ac172ee881c8760e872994d5bd98..0000000000000000000000000000000000000000 --- a/ttcn/CALM/ATSP/LibItsAtsp_Functions.ttcn3 +++ /dev/null @@ -1,1410 +0,0 @@ -/** - * @author ETSI / STF455 - * @version $URL$ - * $Id$ - * @desc Access Technology Layer (ISO 21218) functions - */ -module LibItsAtsp_Functions { - - // LibCommon - import from LibCommon_Sync { - function - f_connect4SelfOrClientSync, f_disconnect4SelfOrClientSync, - f_selfOrClientSyncAndVerdict, f_selfOrClientSyncAndVerdictTestBody; - altstep a_shutdown - }; - import from LibCommon_VerdictControl { - type FncRetCode - }; - import from LibCommon_Time { - function f_sleep, f_sleepIgnoreDef - }; - import from LibCommon_BasicTypesAndValues { - type UInt6, UInt8 - }; - - // LibIts - - // LibItsCalm - import from CALMllsap language "ASN.1:1997" { - type - UserPriority, VCIserialNumber, EUI64, - LLserviceAddr, INdata, IN_SAPaddress, - CIstatus, Link_ID, MedType, Errors, - I_Param, I_ParamNo, MedID, VirtualCIs - }; - import from CALMmsap language "ASN.1:1997" { - type - CIstateChng, Events21218, ErrStatus, - MI_Request_request, MI_Request_confirm, - MI_Command_request, MI_Command_confirm, - CommandRef - }; - import from CALMmanagement language "ASN.1:1997" { - type - ITS_scuId - }; - import from LibItsCalm_Interface { - type - UtInitialize, CfInitialize, CfEventInd, - UtResult, CfResult, - ItsCalm - }; - - import from LibItsAtsp_Templates all; - import from LibItsAtsp_Pics all; - import from LibItsAtsp_Pixits all; - import from LibItsAtsp_TypesAndValues all; - import from LibItsCalm_Interface all; - import from LibItsFsap_TypesAndValues { - type AcFsapPrimitive - }; - import from LibItsIicp_Functions { - altstep a_iicpDefault - }; - import from LibItsMgt_TypesAndValues { - const c_dniCiid; - type IParamNoList, IParamList - }; - import from LibItsMgt_Functions { - function f_getNextCommandRef - }; - - /** - * @desc Upper tester functions - */ - group utFunctions { - - /** - * @desc Requests to bring the IUT in an initial state - * @param p_utInitialize The initialisation to trigger. - * @verdict Unchanged on success, fail on error and inconc otherwise - */ - function f_utAtspInitializeIut(template (value) UtInitialize p_utInitialize) runs on ItsCalm { - - utPort.send(p_utInitialize); - tc_wait.start; - alt { - [] utPort.receive(UtResult:true) { - tc_wait.stop; - log("*** f_utAtspInitializeIut: INFO: IUT initialized ***"); - } - [] utPort.receive { - tc_wait.stop; - log("*** f_utAtspInitializeIut: INFO: IUT could not be initialized ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] tc_wait.timeout { - log("*** f_utAtspInitializeIut: INFO: IUT could not be initialized in time ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [else] { // Shortcut defaults - //f_sleep(0.050); // 50 ms - repeat; - } - } // End of 'alt' statement - - } // End of function f_utAtspInitializeIut - - /** - * @desc Send a NFsapPrimitivesDown primitive and wait for the NFsapPrimitivesUp confirm response - * @param p_utAtspEvent The NFsapPrimitivesDown request - * @param p_utAtspEventInd The NFsapPrimitivesDown response - * @param p_discard Set to true if responses shall be discard, otherwise the function failed - * @param p_result The response value - * @verdict Unchanged on success, fail on error and inconc otherwise - */ - function f_utAtspEventResponse( - in template (value) UtAtspEvent p_utAtspEvent, - in template (present) UtAtspEventInd p_utAtspEventInd, - in boolean p_discard, - out UtAtspEventInd p_result) - runs on ItsCalm { - -// log("*** f_utAtspEventResponse: INFO: Send message: ", p_commandReq, " ***"); - utPort.send(p_utAtspEvent); -// log("*** f_utAtspEventResponse: INFO: Expected UtCommandConfirm: ", p_commandConf, " ***"); - tc_wait.start; - alt { - [] utPort.receive(p_utAtspEventInd) -> value p_result { -// log("*** f_utAtspEventResponse: INFO: Receive expected confirm: message ***"); - tc_wait.stop; - } - [] utPort.receive(UtAtspEventInd:? ) -> value p_result { - if (p_discard == false) { - tc_wait.stop; - log("*** f_utAtspEventResponse: ERROR: Event not correctly indicated at application layer ***", p_result); - f_selfOrClientSyncAndVerdict("fail", e_error); - } - else { - log("*** f_utAtspEventResponse: INFO: Another event indicated at application layer, repeating check ***"); - repeat; - } - } - [] tc_wait.timeout { - if (p_discard == false) { - log("*** f_utAtspEventResponse: ERROR: Timeout while waiting for event check result ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - else { - log("*** f_utAtspEventResponse: INFO: Event not indicated at application layer ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - } - } // End of 'alt' statement - - } // End of function f_utAtspEventResponse - - /** - * @desc Send a NFsapPrimitivesDown primitive and do not wait for the NFsapPrimitivesDown confirm response - * @param p_utAtspEvent The NFsapPrimitivesDown primitive - * @verdict Unchanged on success, fail otherwise - */ - function f_utAtspEvent( - in template (value) UtAtspEvent p_utAtspEvent - ) runs on ItsCalm { - var UtAtspEventInd v_utAtspEventInd; - - utPort.send(p_utAtspEvent); - tc_noac.start; - alt { - [] utPort.receive(UtAtspEventInd:?) -> value v_utAtspEventInd { // FIXME Use altstep for UtPort - tc_noac.stop; - log("*** f_utAtspEvent: INFO: Unexpected message was received ***", v_utAtspEventInd); - // FIXME Check the content of the notification, not sure which fields should be set - repeat; - } - [] tc_noac.timeout { - log("*** f_utAtspEvent: INFO: CommandRequest succeed ***"); - } - } // End of 'alt' statement - - } // End of function f_utAtspEvent - - } // End of group utFunctions - - /** - * @desc Config tester functions - */ - group cfFunctions { - - /** - * @desc Requests to initialize the configuration tester - * @param p_cfInitialize The initialisation to trigger. - * @verdict Unchanged on success, fail otherwise - */ - function f_cfAtspInitialize(template (value) CfInitialize p_cfInitialize) runs on ItsCalm { - - cfPort.send(p_cfInitialize); - tc_wait.start; - alt { - [] cfPort.receive(CfResult:true) { - tc_wait.stop; - log("*** f_cfAtspInitialize: INFO: Configuration tester initialized ***"); - } - [] cfPort.receive { - tc_wait.stop; - log("*** f_cfAtspInitialize: INFO: Configuration tester could not be initialized ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] tc_wait.timeout { - log("*** f_cfAtspInitialize: INFO: Configuration tester could not be initialized in time ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [else] { // Shortcut defaults - //f_sleep(0.050); // 50 ms - repeat; - } - } // End of 'alt' statement - - } // End of function f_cfAtspInitialize - - /** - * @desc Await for notification on MN-SAP - * @param p_cfAtspEventInd The MN_Request_request notification message. - * @param p_discard Set to true if responses shall be discard, otherwise the function failed - * @verdict Unchanged on success, fail otherwise - */ -/* TODO To be removed function f_cfAtspAwaitNotificationToManagement( - in template CfAtspEventInd p_cfAtspEventInd, - in boolean p_discard - ) runs on ItsCalm { - var CfAtspEventInd p_result; - - log("*** f_cfAtspAwaitNotificationToManagement: INFO: Expected event: ", p_cfAtspEventInd, " ***"); - tc_wait.start; - alt { - [] cfPort.receive(p_cfAtspEventInd) { - tc_wait.stop; - log("*** f_cfAtspAwaitNotificationToManagement: INFO: Notification event received ***"); - } - [] cfPort.receive(CfAtspEventInd: ?) -> value p_result { - if (p_discard == false) { - tc_wait.stop; - log("*** f_cfAtspAwaitNotificationToManagement: ERROR: Another event indicated at application layer ***", p_result); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } else { - log("*** f_cfAtspAwaitNotificationToManagement: INFO: Another event indicated at application layer, repeating check ***"); - repeat; - } - } - [] tc_wait.timeout { - if (p_discard == false) { - log("*** f_cfAtspAwaitNotificationToManagement: ERROR: Timeout while waiting for event check result ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } else { - log("*** f_cfAtspAwaitNotificationToManagement: INFO: Event not indicated at application layer ***"); - } - } - } // End of 'alt' statement - - } // End of function f_cfAtspAwaitNotificationToManagement -*/ - } // End of group cfFunctions - - /** - * @desc Test adapter setting functions - */ - group atspConfigurationFunctions { - - /** - * @desc This configuration features: - */ - function f_cf01Up() runs on ItsCalm { - - // Sanity check - - // Map - map(self:acPort, system:acPort); - map(self:utPort, system:utPort); - map(self:cfPort, system:cfPort); - map(self:atspPort, system:atspPort); - - // Connect - f_connect4SelfOrClientSync(); - - // Set processing on shutdown - activate(a_cf01Down()); - - // Initialize the component - f_initialiseComponent("cf01Up"); - - // Initialze the IUT - f_initialState(); - - } // End of function f_cf01Up - - /** - * @desc Deletes configuration cf01 - */ - function f_cf01Down() runs on ItsCalm { - - deactivate; - - // Unmap - unmap(self:acPort, system:acPort); - unmap(self:utPort, system:utPort); - unmap(self:cfPort, system:cfPort); - unmap(self:atspPort, system:atspPort); - - // Disconnect - f_disconnect4SelfOrClientSync(); - - } // End of f_cf01Down - - /** - * @desc Behavior function for initializing component's variables and tables - * @param p_componentName Name of the component - * @param p_iicpMGM Set to true if IISC port shall be used - */ - function f_initialiseComponent(in charstring p_componentName) runs on ItsMgt { - - // Initialize variables - - // Set defaults - activate(a_atspDefault()); - } // End of function f_initialiseComponent - } - - group preambles { - - /** - * @desc Brings the IUT into an initial state. - */ - function f_initialState() runs on ItsCalm { - f_utAtspInitializeIut(m_utAtspInitialize); - f_cfAtspInitialize(m_cfAtspInitialize); - f_sleepIgnoreDef(PX_WAIT_FOR_IUT_READY); // Wait until the IUT is in a stable situation - cfPort.clear; // Because TestConfigIICP should trigger management port deletion message - } // End of function f_initialState - - - /** - * @desc Checks whether the IUT is in the initial CI state "active". - */ - function f_initialCIstateActive() runs on ItsCalm return CIstatus { - var CIstatus v_CIstatus; - // CI status has to be "active" - v_CIstatus := f_cnGetCiStatusParameterValueCI( f_get_CI_LinkID()); - if( v_CIstatus != c_ciStatusActive) - // wrong status - { - // Request operator to switch on the SUT or to activate the IUT - action("Switch on SUT or activate IUT"); - f_cnAwaitRegistrationCI(f_get_CI_LinkID(), PX_CI_MED_TYPE, true); - f_cnAwaitEventNotificationCI(f_get_CI_LinkID(), mw_miEvent21218_5(mw_miCIStatusParam(c_ciStatusActive)), true); - v_CIstatus := f_cnGetCiStatusParameterValueCI( f_get_CI_LinkID()); - } - // check again CI status after activation of IUT - if( v_CIstatus != c_ciStatusActive) - { - log("*** f_initialCIstateActive: ERROR: Invalid initial CI status returned ***", v_CIstatus); - f_selfOrClientSyncAndVerdict("error", e_timeout); // Might be just a time-out error - stop; - } - else - { - log("*** f_initialCIstateActive: Allowed initial CI status returned ***", v_CIstatus); - } - return v_CIstatus - } - // End of function f_initialCIstateActive - - /** - * @desc Checks whether the IUT is in the initial CI state "active" or connected. - */ - function f_initialCIstateActiveConnected() runs on ItsCalm return CIstatus { - var CIstatus v_CIstatus; - // CI status has to be "active" - v_CIstatus := f_cnGetCiStatusParameterValueCI( f_get_CI_LinkID()); - if( (v_CIstatus != c_ciStatusActive) and (v_CIstatus != c_ciStatusConnected)) - // wrong status - { - // Request operator to switch on the SUT or to activate the IUT - action("Switch on SUT or activate IUT"); - f_cnAwaitRegistrationCI(f_get_CI_LinkID(), PX_CI_MED_TYPE, true); - f_cnAwaitEventNotificationCI(f_get_CI_LinkID(), mw_miEvent21218_5(mw_miCIStatusParam(c_ciStatusActive)), true); - v_CIstatus := f_cnGetCiStatusParameterValueCI( f_get_CI_LinkID()); - } - // check again CI status after activation of IUT - if( (v_CIstatus != c_ciStatusActive) and (v_CIstatus != c_ciStatusConnected)) - { - log("*** f_initialCIstateActive: ERROR: Invalid initial CI status returned ***", v_CIstatus); - f_selfOrClientSyncAndVerdict("error", e_timeout); // Might be just a time-out error - stop; - } - else - { - log("*** f_initialCIstateActive: Allowed initial CI status returned ***", v_CIstatus); - } - return v_CIstatus - } - // End of function f_initialCIstateActiveConnected - - /** - * @desc Checks whether the IUT is in an operational initial CI state - * i.e. not in "not-existent", "existent", "unknown". - */ - function f_initialCIstatesOperational() runs on ItsCalm return CIstatus { - var CIstatus v_CIstatus; - // CI status has to be in any CI state except "not_existent", "existent", "unknown". - v_CIstatus := f_cnGetCiStatusParameterValueCI( f_get_CI_LinkID()); - if( (v_CIstatus == c_ciStatusUnknown) or (v_CIstatus == c_ciStatusNot_existent) or (v_CIstatus == c_ciStatusExistent) ) - // wrong status - { - // Request operator to switch on the SUT or to activate the IUT - action("Switch on SUT or activate IUT"); - f_cnAwaitRegistrationCI(f_get_CI_LinkID(), PX_CI_MED_TYPE, true); - f_cnAwaitEventNotificationCI(f_get_CI_LinkID(), mw_miEvent21218_5(mw_miCIStatusParam(c_ciStatusActive)), true); - v_CIstatus := f_cnGetCiStatusParameterValueCI( f_get_CI_LinkID()); - } - // check again CI status after activation of IUT - if( (v_CIstatus == c_ciStatusUnknown) or (v_CIstatus == c_ciStatusNot_existent) or (v_CIstatus == c_ciStatusExistent) ) - { - log("*** f_initialCIstatesOperational: ERROR: Invalid initial CI status returned ***", v_CIstatus); - f_selfOrClientSyncAndVerdict("error", e_timeout); // Might be just a time-out error - stop; - } - else - { - log("*** f_initialCIstatesOperational: Allowed initial CI status returned ***", v_CIstatus); - } - return v_CIstatus - } - // End of function f_initialCIstatesOperational - - } // End of group preambles - - group postambles { - - /** - * @desc The default postamble. - */ - function f_poDefault() runs on ItsCalm { - // Nothing to do - } // End of function f_poDefault - - } // End of group postambles - - group adapterControl { - - /** - * @desc Triggers event in the test system adaptation. - * @param p_event The event to trigger - */ - function f_acTriggerEvent( - in template (value) AcFsapPrimitive p_event - ) runs on ItsCalm { -// log("*** f_acTriggerEvent: send: ", p_event, "***"); - acPort.send(p_event); - } - } // End of group adapterControl - - group atspFunctions { - - group miSAP { - - /** - * @desc Wait for Registration Request from IUT - * @param p_linkID Link-ID used by IUT - * @param p_medType MedType of IUT - * @param p_discard Unexpected Confirm messages will be discarded, or cause testcase failure - */ - function f_cnAwaitRegistrationCI( - in template Link_ID p_linkID, // PIXIT Element - in template MedType p_medType, // PIXIT Element - in boolean p_discard // set to TRUE - ) runs on ItsCalm { - if(PICS_DYNREG) - { - // Wait for MI-Request.request "RegReq" - f_cnAwaitAndConfirmMI_RequestCI(mw_miRegRequest(p_linkID, ?, m_regRequest(p_medType)), p_discard); - - // Reply MI-Command.request "RegCmd" - f_cnSendMICOMMAND_RequestCheckSuccessCI(m_miRegistrationCommandRequest( - p_linkID, - f_getNextCommandRef(), - m_regCommand(PX_ITS_SCU_ID, p_medType)), p_discard); - } - // Check for reception of Status notification (I-Parameter 12 "CIstatus" set to "registered". - f_cnAwaitEventNotificationCI(p_linkID, mw_miEvent21218_5(mw_miCIStatusParam(c_ciStatusRegistered)), p_discard); - } // End of function f_cnAwaitRegistrationCI - - /** - * @desc Wait for a specific MI-REQUEST and confirm it - * @param p_expectedMI_Request MI-Request to expect - * @param p_discard Unexpected request messages will be discarded, or cause testcase failure - */ - function f_cnAwaitAndConfirmMI_RequestCI( - in template MI_Request_request p_expectedMI_Request, - in boolean p_discard // set to TRUE - ) runs on ItsCalm { - var CfAtspEventInd v_result; - var template CfAtspEventInd v_cfAtspEventInd; - - v_cfAtspEventInd := mw_cfAtspRequestRequest(p_expectedMI_Request); - log("*** f_cnAwaitAndConfirmMI_RequestCI: DEBUG: Expected MI-REQUEST.request: ", v_cfAtspEventInd, " ***"); - tc_wait.start; - alt { - [] cfPort.receive(v_cfAtspEventInd) -> value v_result { - tc_wait.stop; - log("*** f_cnAwaitAndConfirmMI_RequestCI: INFO: MI-REQUEST.request received ***"); - f_cnConfirmMI_RequestCI(m_cfAtspRequestConfirm(v_result.miRequestRequest, c_ciErrStatusSuccess)); - } - [] cfPort.receive( { miRequestRequest := ? } ) -> value v_result { - if (p_discard == false) { - tc_wait.stop; - log("*** f_cnAwaitAndConfirmMI_RequestCI: ERROR: An unexpected MI-REQUEST.Request was received ***", v_result); - f_selfOrClientSyncAndVerdict("error", e_timeout); // to be checked - } else { - log("*** f_cnAwaitAndConfirmMI_RequestCI: DEBUG: An unexpected MI-REQUEST.Request was received, repeating check ***"); - f_cnConfirmMI_RequestCI(m_cfAtspRequestConfirm(v_result.miRequestRequest, c_ciErrStatusSuccess)); - repeat; - } - } - [] cfPort.receive(CfAtspEventInd : ?) -> value v_result { - if (p_discard == false) { - tc_wait.stop; - log("*** f_cnAwaitAndConfirmMI_RequestCI: ERROR: An unexpected message was received ***", v_result); - f_selfOrClientSyncAndVerdict("error", e_timeout); // to be checked - } else { - log("*** f_cnAwaitAndConfirmMI_RequestCI: INFO: An unexpected message was received, repeating check ***"); - repeat; - } - } - [] tc_wait.timeout { - if (p_discard == false) { - log("*** f_cnAwaitAndConfirmMI_RequestCI: ERROR: Timeout while waiting for event check result ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); // to be checked - } else { // What is the purpose of this? - log("*** f_cnAwaitAndConfirmMI_RequestCI: INFO: Event not indicated at application layer ***"); - } - } - } // End of 'alt' statement - } // End of function f_cnAwaitAndConfirmMI_RequestCI - - /** - * @desc Send an MI-REQUEST confirmation - * @param p_MI_RequestConfirm Confirmation to send - */ - function f_cnConfirmMI_RequestCI( - in template(value) MI_Request_confirm p_MI_RequestConfirm - ) runs on ItsCalm { - //Local variables - var template CfAtspEvent v_cfConfirmEvent; - - v_cfConfirmEvent := m_cfAtspMIRequest_confirm(p_MI_RequestConfirm); - log("*** f_cnConfirmMI_RequestCI: DEBUG: Sending MI-REQUEST.confirm: ", v_cfConfirmEvent, " ***"); - cfPort.send(v_cfConfirmEvent); - } // End of function f_cnConfirmMI_RequestCI - - /** - * @desc Send an MI-COMMAND request - * @param p_sentMI_Command Command to send - */ - function f_cnSendMICOMMAND_RequestCI( - in template(value) MI_Command_request p_sentMI_Command - ) runs on ItsCalm { - var template CfAtspEvent v_cfCommandEvent; - - v_cfCommandEvent := m_cfAtspCommandReqEvent(p_sentMI_Command); - log("*** f_cnSendMICOMMAND_RequestCI: DEBUG: Sending MI-COMMAND.request: ", v_cfCommandEvent, " ***"); - cfPort.send(v_cfCommandEvent); - } // End of function f_cnSendMICOMMAND_RequestCI - - /** - * @desc Send an MI-COMMAND request and wait for confirmation - * @param p_sentMI_Command Command to send wait confirmation for - * @param p_discard Unexpected Request messages will be discarded, or cause testcase failure - */ - function f_cnSendMICOMMAND_RequestCheckSuccessCI( - in template(value) MI_Command_request p_sentMI_Command, - in boolean p_discard // set to TRUE - ) runs on ItsCalm { - - f_cnSendMICOMMAND_RequestCI(p_sentMI_Command); - f_cnAwaitCommandConfirmSuccess(p_sentMI_Command, p_discard); - } // End of function f_cnSendMICOMMAND_RequestCheckSuccessCI - - /** - * @desc Await success confirmation for a specific command - * @param p_sentMI_Command Command to wait confirmation for - * @param p_discard Unexpected Confirm messages will be discarded, or cause testcase failure - */ - function f_cnAwaitCommandConfirmSuccess( - in template(value) MI_Command_request p_sentMI_Command, - in boolean p_discard // set to TRUE - ) runs on ItsCalm { - f_cnAwaitCommandConfirm(p_sentMI_Command, c_ciErrStatusSuccess, p_discard); - } // End of function f_cnAwaitCommandConfirmSuccess - - /** - * @desc Await confirmation with a specific content for a specific command - * @param p_sentMI_Command Command to wait confirmation for - * @param p_expectedStatus The specific status to expect - * @param p_discard Unexpected Confirm messages will be discarded, or cause testcase failure - */ - function f_cnAwaitCommandConfirm( - in template(value) MI_Command_request p_sentMI_Command, - in template(value) ErrStatus p_expectedStatus, - in boolean p_discard // set to TRUE - ) runs on ItsCalm { - var CfAtspEventInd v_result; - var template CfAtspEventInd v_cfAtspEventInd; - var template CfAtspEventInd v_cfAtspEventReq; - - v_cfAtspEventInd := mw_cfAtspCommandConfirm( - m_miCommandConfirm( - p_sentMI_Command.linkID, - p_sentMI_Command.commandRef, - p_expectedStatus)); - - v_cfAtspEventReq := mw_cfAtspRequestRequest( - mw_miEventsRequest( - p_sentMI_Command.linkID, - ?, - ?)); - - log("*** f_cnAwaitCommandConfirm: DEBUG: Expected MI-COMMAND.confirm: ", v_cfAtspEventInd, " ***"); - tc_wait.start; - alt { - [] cfPort.receive(v_cfAtspEventInd) -> value v_result { - tc_wait.stop; - log("*** f_cnAwaitCommandConfirm: INFO: Expected MI-COMMAND.confirm received ***"); - } - [] cfPort.receive( { miCommandConfirm := ? } ) -> value v_result { - tc_wait.stop; - log("*** f_cnAwaitCommandConfirm: ERROR: An unexpected MI-COMMAND.confirm was received ***", v_result); - f_selfOrClientSyncAndVerdict("error", e_timeout); // to be checked - } - [] cfPort.receive( v_cfAtspEventReq ) -> value v_result { - if (p_discard == false) { - tc_wait.stop; - log("*** f_cnAwaitCommandConfirm: ERROR: An unexpected MI-COMMAND.confirm was received ***", v_result); - f_selfOrClientSyncAndVerdict("error", e_timeout); // to be checked - } else { - log("*** f_cnAwaitCommandConfirm: INFO: An unexpected MI-COMMAND.confirm was received, repeating check ***"); - f_cnConfirmMI_RequestCI(m_cfAtspRequestConfirm(v_result.miRequestRequest, c_ciErrStatusSuccess)); - repeat; - } - } - [] cfPort.receive(CfAtspEventInd : ? ) -> value v_result { - if (p_discard == false) { - tc_wait.stop; - log("*** f_cnAwaitCommandConfirm: ERROR: An unexpected message was received ***", v_result); - f_selfOrClientSyncAndVerdict("error", e_timeout); // to be checked - } else { - log("*** f_cnAwaitCommandConfirm: INFO: An unexpected message was received, repeating check ***"); - repeat; - } - } - [] tc_wait.timeout { - if (p_discard == false) { - log("*** f_cnAwaitCommandConfirm: ERROR: Timeout while waiting for event check result ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); // to be checked - } else { // What is the purpose of this? - log("*** f_cnAwaitCommandConfirm: INFO: Event not indicated at application layer ***"); - } - } - } // End of 'alt' statement - } // End of function f_cnAwaitCommandConfirm - - - /** - * @desc Return the number of VCIs values in the I-Parameter 33 - * @param p_iParam VirtualCis parameter to check - */ - function f_getVirualCIcount( - in I_Param p_iParam - ) return integer{ - if(p_iParam.paramNo == c_ciIParamNoVirtualCI) - { - return lengthof(p_iParam.parameter.VirtualCIs); - } - return 0; - } // End of function f_checkNoVirualCIs - - /** - * @desc Force CI to change state, wait for notification of reaching specific state - * @param p_linkID Link-ID used by IUT - * @param p_newState New state to force - * @param p_expectedStatus State to wait notification of - * @param p_discard Unexpected Confirm messages will be discarded, or cause testcase failure - */ - function f_cnTriggerStateChangeAndWaitCI( - in Link_ID p_linkID, // PIXIT Element - in CIstateChng p_newState, - in CIstatus p_expectedStatus, - in boolean p_discard // set to TRUE - ) runs on ItsCalm { - //Local variables - - f_cnSendMICOMMAND_RequestCheckSuccessCI(m_miStateChangeCommandRequest( - p_linkID, - f_getNextCommandRef(), - p_newState), true); - - f_cnAwaitEventNotificationCI(p_linkID, mw_miEvent21218_5( - mw_miCIStatusParam(p_expectedStatus)), p_discard); - } // End of function f_cnTriggerStateChangeAndWaitCI - - /** - * @desc Wait for a specific event, respond with confirmation - * @param p_linkID Link-ID used by IUT - * @param p_ev21218 21218 event to expect - * @param p_discard Unexpected event request messages will be discarded, or cause testcase failure - */ - function f_cnAwaitEventNotificationCI( - in template Link_ID p_linkID, // PIXIT Element - in template Events21218 p_ev21218, - in boolean p_discard // set to TRUE - ) runs on ItsCalm { - f_cnAwaitAndConfirmMI_RequestCI(mw_miEventsRequest(p_linkID, ?, p_ev21218), p_discard); - } // End of function f_cnAwaitEventNotificationCI - - /** - * @desc Set parameter values - * @param p_linkID Link-ID used by IUT - * @param p_paramValueList Parameter list to set values of - * @param p_discard Unexpected Confirm messages will be discarded, or cause testcase failure - * @return List of Errors representing set command success - */ - function f_cnSetIParameterValueCI( - in template Link_ID p_linkID, // PIXIT Element - in IParamList p_paramValueList, - in boolean p_discard // set to TRUE - ) runs on ItsCalm return Errors { - //local variable(s) - var template CfAtspEvent v_setCIparams; - var template CfAtspEventInd v_cfSetSuccess; - var Errors v_cfSetErrorList; - var CfAtspEventInd v_result; - var CommandRef v_commandRef := f_getNextCommandRef(); - - v_setCIparams := m_cfAtspSetReqEvent( - m_miSetRequest( - p_linkID, - v_commandRef, - p_paramValueList - ) - ); - cfPort.send(v_setCIparams); - - v_cfSetSuccess := mw_cfAtspEventIndSetConf( - mw_miSetConfirm(p_linkID, v_commandRef, ?)); - log("*** f_cnSetIParameterValueCI: INFO: Expected MI-Set.confirm: ", v_cfSetSuccess, " ***"); - tc_wait.start; - alt { - [] cfPort.receive(v_cfSetSuccess) -> value v_result{ - tc_wait.stop; - f_selfOrClientSyncAndVerdict("Expected message received", e_success); - log("*** f_cnSetIParameterValueCI: INFO: Expected 'MI-Set.confirm' received ***"); - v_cfSetErrorList := v_result.miSetConfirm.set_param; - } - [] cfPort.receive(CfAtspEventInd : ? ) -> value v_result { - if (p_discard == false) { - tc_wait.stop; - log("*** f_cnSetIParameterValueCI: ERROR: An unexpected MI-COMMAND was received ***", v_result); - f_selfOrClientSyncAndVerdict("error", e_error); // to be checked - } else { - log("*** f_cnSetIParameterValueCI: INFO: An unexpected MI-COMMAND was received, repeating check ***"); - repeat; - } - } - [] tc_wait.timeout { - if (p_discard == false) { - log("*** f_cnSetIParameterValueCI: ERROR: Timeout while waiting for event check result ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); // to be checked - } else { // What is the purpose of this? - log("*** f_cnSetIParameterValueCI: INFO: Event not indicated at application layer ***"); - } - } - } // End of 'alt' statement - return v_cfSetErrorList; - } // End of function f_cnSetIParameterValueCI - - /** - * @desc Get parameter values - * @param p_linkID Link-ID used by IUT - * @param p_paramList Parameter list to get values of - * @param p_discard Unexpected Confirm messages will be discarded, or cause testcase failure - * @return List of IParameter values requested - */ - function f_cnGetIParameterValueCI( - in template Link_ID p_linkID, // PIXIT Element - in IParamNoList p_paramList, - in boolean p_discard // set to TRUE - ) runs on ItsCalm return IParamList { - //local variable(s) - var template CfAtspEvent v_getCIparam; - var template CfAtspEventInd v_cfGetSuccess; - var IParamList v_paramValueList := {}; - var CfAtspEventInd v_result; - var CommandRef c_commandRef := f_getNextCommandRef(); - - v_getCIparam := m_cfAtspGetReqEvent( - m_miGetRequest( - p_linkID, - c_commandRef, - p_paramList - ) - ); - cfPort.send(v_getCIparam); - - v_cfGetSuccess := mw_cfAtspEventIndGetConf( - mw_miGetConfirm(p_linkID, c_commandRef, ?)); - log("*** f_cnGetIParameterValueCI: INFO: Expected MI-Get.confirm: ", v_cfGetSuccess, " ***"); - tc_wait.start; - alt { - [] cfPort.receive(v_cfGetSuccess) -> value v_result{ - tc_wait.stop; - log("*** f_cnGetIParameterValueCI: INFO: Expected 'MI-Get.confirm' received ***"); - v_paramValueList := v_result.miGetConfirm.get_param; - } - [] cfPort.receive(CfAtspEventInd : ?) -> value v_result { - if (p_discard == false) { - tc_wait.stop; - log("*** f_cnGetIParameterValueCI: ERROR: An unexpected MI-COMMAND was received ***", v_result); - f_selfOrClientSyncAndVerdict("error", e_timeout); // to be checked - } else { - log("*** f_cnGetIParameterValueCI: INFO: An unexpected MI-COMMAND was received, repeating check ***"); - repeat; - } - } - [] tc_wait.timeout { - if (p_discard == false) { - log("*** f_cnGetIParameterValueCI: ERROR: Timeout while waiting for event check result ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); // to be checked - } else { // What is the purpose of this? - log("*** f_cnGetIParameterValueCI: INFO: Event not indicated at application layer ***"); - } - } - } // End of 'alt' statement - return v_paramValueList; - }// End of function f_cnGetIParameterValueCI - - /** - * @desc Get current CiStatus IParameter value - * @param p_linkID Link-ID used by IUT - * @return The CIstatus value returned - */ - function f_cnGetCiStatusParameterValueCI( - in template Link_ID p_linkID // PIXIT Element - ) runs on ItsCalm return CIstatus { - //local variable(s) - var template CfAtspEvent v_getCIparam; - var template CfAtspEventInd v_cfGetCiStatusValue; - var CIstatus v_ciStatus; - var CfAtspEventInd v_result; - var CommandRef v_commandRef := f_getNextCommandRef(); - - v_ciStatus := c_ciStatusUnknown; // initialization with unknown status - - v_getCIparam := m_cfAtspGetReqEvent( - m_miGetRequest( - p_linkID, - v_commandRef, - { c_ciIParamNoCiStatus } ) ); - cfPort.send(v_getCIparam); - - v_cfGetCiStatusValue := mw_cfAtspEventIndGetConf( - mw_miGetConfirm(p_linkID, v_commandRef, { - { - paramNo := c_ciIParamNoCiStatus, - parameter := { - CIstatus := ? - } - } - })); - log("*** f_cnGetCiStatusParameterValueCI: INFO: Expected MI-Get.confirm: ", v_cfGetCiStatusValue, " ***"); - tc_wait.start; - alt { - [] cfPort.receive(v_cfGetCiStatusValue) -> value v_result{ - tc_wait.stop; - log("*** f_cnGetCiStatusParameterValueCI: INFO: Expected 'MI-Get.confirm' received ***"); - v_ciStatus := v_result.miGetConfirm.get_param[0].parameter.CIstatus; - } - [] cfPort.receive(CfAtspEventInd : ?) -> value v_result { - tc_wait.stop; - log("*** f_cnGetCiStatusParameterValueCI: ERROR: An unexpected MI-COMMAND was received ***", v_result); - repeat; - } - [] tc_wait.timeout { - log("*** f_cnGetCiStatusParameterValueCI: ERROR: Timeout while waiting for event check result ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - } // End of 'alt' statement - return v_ciStatus; - }// End of function f_cnGetCiStatusParameterValueCI - - /** - * @desc Test addressability of CI using Get current CiStatus IParameter value - * @param p_linkID Link-ID used by IUT - * @return The CIstatus value returned - */ - function f_cnTestGetCiStatusParameterValueNoReplyExpected( - in template Link_ID p_linkID - ) runs on ItsCalm { - //local variable(s) - var template CfAtspEvent v_getCIparam; - var template CfAtspEventInd v_cfGetCiStatusValue; - var CIstatus v_ciStatus; - var CfAtspEventInd v_result; - var CommandRef v_commandRef := f_getNextCommandRef(); - - v_getCIparam := m_cfAtspGetReqEvent( - m_miGetRequest( - p_linkID, - v_commandRef, - { c_ciIParamNoCiStatus } - ) - ); - cfPort.send(v_getCIparam); - - v_cfGetCiStatusValue := mw_cfAtspEventIndGetConf( - mw_miGetConfirm(p_linkID, v_commandRef, { - { - paramNo := c_ciIParamNoCiStatus, - parameter := { - CIstatus := ? - } - } - })); - log("*** f_cnTestGetCiStatusParameterValueNoReplyExpected: INFO: MI-Get.request sent", v_getCIparam, " ***"); - tc_ac.start; - alt { - [] cfPort.receive(v_cfGetCiStatusValue){ - tc_ac.stop; - log("*** f_cnTestGetCiStatusParameterValueNoReplyExpected: ERROR: Unexpected 'MI-Get.confirm' received ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] tc_ac.timeout { - log("*** f_cnTestGetCiStatusParameterValueNoReplyExpected: INFO: Expected Timeout ***"); - f_selfOrClientSyncAndVerdict("expected timeout", e_success); - } - } // End of 'alt' statement - }// End of function f_cnTestGetCiStatusParameterValueNoReplyExpected - - } // End of group miSAP - - group utPort { - - /** - * @desc Send IN-UNITDATA.Request message - * @param p_source_addr Source address value - * @param p_dst_addr Destination address value - * @param p_data Data to send - * @param p_priority Priority value - */ - function f_utSendIN_UNITDATA_Request( - in template(value) LLserviceAddr p_source_addr, - in template(value) LLserviceAddr p_dst_addr, - in template(value) INdata p_data, - in template(value) UserPriority p_priority - ) runs on ItsCalm { - var template UtAtspEvent v_utAtspEvent := m_utAtspEventDown(m_inPrimitivesDownUDR( - m_inUnitDataRequest(p_source_addr, p_dst_addr, p_data, p_priority))); - log("*** f_fnIN_UNITDATA_Request: INFO: Sending IN-UNITDATA.request: ", v_utAtspEvent, " ***"); - utPort.send(v_utAtspEvent); - - if(PICS_IN_UNITDATA_STATUS) - { - var template UtAtspEventInd v_result; - var template UtAtspEventInd v_recv := { - inSapPrimitivesUp := { - spRef := 1, - servPrimitive := { - IN_UNITDATA_STATUS_indication := { - source_addr := p_source_addr, - dest_addr := p_dst_addr, - data := p_data, - priority := p_priority, - accessParams := m_inUnitdataDefaultAP, - txStatus := c_ciINtxStatus_Success - } - } - } - }; - tc_wait.start; - alt { - [] utPort.receive(v_recv){ - tc_wait.stop; - log("*** f_utSendIN_UNITDATA_Request: INFO: IN-UNITDATA-STATUS.indication received ***"); - } - [] utPort.receive(UtAtspEventInd : ?) { - tc_wait.stop; - log("*** f_utSendIN_UNITDATA_Request: ERROR: An unexpected message was received ***", v_result); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] tc_wait.timeout { - log("*** f_utSendIN_UNITDATA_Request: ERROR: Timeout while waiting for event check result ***"); - f_selfOrClientSyncAndVerdict("timeout", e_timeout); - } - } // End of 'alt' statement - } - }// End of function f_utSendIN_UNITDATA_Request - - /** - * @desc Check proper executing of MI-SET.command for a single I-Parameter - * @param p_cfSetErrorList Error list returned in MI-SET.confirm - * @return Boolean: TRUE = success - */ - function f_cnCheckOneIparamSetSuccess( - in I_ParamNo p_IparmNo, - in Errors p_cfSetErrorList - ) runs on ItsCalm return boolean { - //local variable(s) - var boolean v_returnValue; - - if(lengthof(p_cfSetErrorList) == 0){ - // no error occured - v_returnValue := true; - } - else if(lengthof(p_cfSetErrorList) == 1){ - // correct number or error statuses reported - if(p_cfSetErrorList[0].paramNo == p_IparmNo) { - // report for correct parameter - if (p_cfSetErrorList[0].errStatus == c_ciErrStatusSuccess) { - // success reported - v_returnValue := true; - } - else { - // Error reported - log("*** f_cnCheckOneIparamSetSuccess: ERROR: writing I-Parameter. Error code: ", p_cfSetErrorList[0].errStatus, " ***"); - v_returnValue := false; - } - } - else { - // Report for incorrect parameter - log("*** f_cnCheckOneIparamSetSuccess: ERROR: writing I-Parameter: wrong I-ParamNo: ", p_cfSetErrorList[0].paramNo, " ***"); - v_returnValue := false; - } - } - else { - // Incorrect size of Error list - log("*** f_cnCheckOneIparamSetSuccess: ERROR: writing I-Parameter: too many errors: ", lengthof(p_cfSetErrorList), " ***"); - v_returnValue := false; - } - - return v_returnValue; - }// End of function f_cnCheckOneIparamSetSuccess - - - /** - * @desc Check proper executing of MI-GET.command for a single I-Parameter - * @param p_returnedValues Value list returned in MI-GET.confirm - * @return Boolean: TRUE = success - */ - function f_cnCheckOneIparamGetSuccess( - in I_ParamNo p_IparmNo, - in IParamList p_IparameterList, - out I_Param p_Iparam - ) runs on ItsCalm return boolean { - //local variable(s) - var boolean v_returnValue; - - if(lengthof(p_IparameterList) == 1){ - // correct number or returned values - if(p_IparameterList[0].paramNo == p_IparmNo) { - // correct parameter returned - p_Iparam := p_IparameterList[0]; - log("*** f_cnCheckOneIparamGetSuccess: INFO: reading I-Parameter: ", p_IparmNo, " was correctly done: ", p_IparameterList[0].parameter, " ***"); - v_returnValue := true; - } - else { - v_returnValue := false; - // Report for incorrect parameter - if(p_IparameterList[0].paramNo==c_ciIParamNoErrors){ - // Error Code was returned - log("*** f_cnCheckOneIparamGetSuccess: ERROR: reading I-Parameter error: ", p_IparameterList[0].parameter, " was reported ***"); - } - else { - log("*** f_cnCheckOneIparamGetSuccess: ERROR: the following I-Parameter: ", p_IparameterList[0].paramNo, " was was returned ***"); - } - } - } - else { - // incorrect number or returned values - log("*** f_cnCheckOneIparamGetSuccess: ERROR: writing I-Parameter: too many errors: ", lengthof(p_IparameterList), " ***"); - v_returnValue := false; - } - - return v_returnValue; - }// End of function f_cnCheckOneIparamGetSuccess - - - } // End of group utPort - - group atspPort { - - /** - * @desc Send IN-UNITDATA.Request message - * @param p_source_addr Source address value - * @param p_dst_addr Destination address value - * @param p_data Data to send - * @param p_priority Priority value - */ - function f_atspSendIN_UNITDATA_Request( - in template(value) LLserviceAddr p_source_addr, - in template(value) LLserviceAddr p_dst_addr, - in template(value) INdata p_data, - in template(value) UserPriority p_priority - ) runs on ItsCalm { - var template AtspReq v_atspReq := m_atspReq(m_inPrimitivesDownUDR( - m_inUnitDataRequest(p_source_addr, p_dst_addr, p_data, p_priority))); - log("*** f_fnIN_UNITDATA_Request: INFO: Sending IN-UNITDATA.request: ", v_atspReq, " ***"); - atspPort.send(v_atspReq); - - if(PICS_IN_UNITDATA_STATUS) // this is applicable for the radio used to connect ITS test system with IUT - { - var template AtspInd v_result; - var template AtspInd v_recv := { - msgIn := { - spRef := 1, - servPrimitive := { - IN_UNITDATA_STATUS_indication := { - source_addr := p_source_addr, - dest_addr := p_dst_addr, - data := p_data, - priority := p_priority, - accessParams := m_inUnitdataDefaultAP, - txStatus := c_ciINtxStatus_Success - } - } - } - } - tc_wait.start; - alt { - [] atspPort.receive(v_recv){ - tc_wait.stop; - log("*** f_utSendIN_UNITDATA_Request: INFO: IN-UNITDATA-STATUS.indication received ***"); - } - [] atspPort.receive(AtspInd : { msgIn := ?, receptionTime := ? }/*TODO Use a template*/ ) -> value v_result { - tc_wait.stop; - log("*** f_utSendIN_UNITDATA_Request: ERROR: An unexpected message was received ***", v_result); - f_selfOrClientSyncAndVerdict("error", e_timeout); // to be checked - } - [] tc_wait.timeout { - log("*** f_utSendIN_UNITDATA_Request: ERROR: Timeout while waiting for event check result ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); // to be checked - } - } // End of 'alt' statement - - } // End of if block - - } // End of function f_atspSendIN_UNITDATA_Request - - } // End of group atspPort - - } // End of group atspFunctions - - group atspAltsteps { - - /** - * @desc The base default. - */ - altstep a_atspDefault() runs on ItsMgt { - [] tc_wait.timeout { - log("*** a_atspDefault: ERROR: Timeout while awaiting reaction of the IUT prior to Upper Tester action ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [] tc_ac.timeout { - log("*** a_atspDefault: ERROR: Timeout while awaiting the reception of a message ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [] any timer.timeout { - log("*** a_atspDefault: INCONC: An unknown timer has expired in default ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [] a_shutdown() { - f_poDefault(); - log("*** a_atspDefault: INFO: TEST COMPONENT NOW STOPPING ITSELF! ***"); - if(self == mtc) { - f_cf01Down(); - } - stop; - } - } // End of altstep a_fsapDefault() - - - /** - * @desc Default handling cf01 de-initialisation. - */ - altstep a_cf01Down() runs on ItsMgt { - [] a_shutdown() { - f_poDefault(); - f_cf01Down(); - log("*** a_cf01Down: INFO: TEST COMPONENT NOW STOPPING ITSELF! ***"); - stop; - } - } // End of altstep a_cf01Down() - - } // End of group fsapAltsteps - - group atspPIXITHelperFunctions - { - /** - * @desc used to address a VCI in IUT, e.g. to be deleted - */ - function f_get_VCI_LinkID( - in EUI64 p_remoteCIID - ) return Link_ID { - if(PICS_MAC48) - { - return {remoteCIID := p_remoteCIID, localCIID := PX_LOCAL_CIID} - } - else - { - return { remoteCIID := p_remoteCIID, - localCIID := f_get_EUI64_LegacyCI(0, PX_ITS_SCU_ID, PX_Med_ID, 0)} - } - } // end - - /** - * @desc used to address CI in IUT itself. - */ - function f_get_CI_LinkID() return Link_ID{ - if(PICS_MAC48) - { - return {remoteCIID := PX_REMOTE_CIID_LOCAL_CI, localCIID := PX_LOCAL_CIID} - } - else - { - return { remoteCIID := f_get_EUI64_LegacyCI(0, PX_ITS_SCU_ID, PX_Med_ID, 0), - localCIID := f_get_EUI64_LegacyCI(0, PX_ITS_SCU_ID, PX_Med_ID, 0)} - } - } // end - - /** - * @desc Local CIID value part of the IUT itself - */ - function f_get_CI_Local_CIID() return EUI64{ - if(PICS_MAC48) - { - return PX_LOCAL_CIID; - } - else - { - return f_get_EUI64_LegacyCI(0, PX_ITS_SCU_ID, PX_Med_ID, 0); - } - } // end - - /** - * @desc used to address CI in the Test System itself - */ - function f_get_TesterCI_LinkID() return Link_ID{ - if(PICS_MAC48) - { - return {remoteCIID := PX_TESTER_REMOTE_CIID_LOCAL_CI, localCIID := PX_TESTER_LOCAL_CIID} - } - else - { - return { remoteCIID := f_get_EUI64_LegacyCI(0, 0, 0, 0), - localCIID := f_get_EUI64_LegacyCI(0, 0, 0, 0)} - } - } // end - - /** - * @desc used to send via a UC-VCI - */ - // source_address field - // use f_get_CI_LinkID - - /** - * @desc used to send via a UC-VCI in the IUT - */ - // destination_address field - function f_get_DestinationVCI_UC_LinkID() return Link_ID{ - if(PICS_MAC48) - { - return {remoteCIID := PX_REMOTE_CIID_UC , localCIID := PX_LOCAL_CIID} - } - else - { - return { remoteCIID := f_get_EUI64_LegacyCI(0, PX_ITS_SCU_ID, PX_Med_ID, PX_VCI_SERIAL_NUMBER), - localCIID := f_get_EUI64_LegacyCI(0, PX_ITS_SCU_ID, PX_Med_ID, 0)} - } - } // End of function f_get_DestinationVCI_UC_LinkID - - /** - * @desc used to send via a UC-VCI in the Test System to the IUT - */ - // destination_address field - function f_get_TesterDestinationVCI_UC_LinkID() return Link_ID{ - if(PICS_MAC48) - { - return {remoteCIID := PX_TESTER_REMOTE_CIID_LOCAL_CI , localCIID := PX_TESTER_LOCAL_CIID} - } - else - { - return { remoteCIID := f_get_EUI64_LegacyCI(0, 0, 0, 255), - localCIID := f_get_EUI64_LegacyCI(0, 0, 0, 0)} - } - } // End of function f_get_DestinationVCI_UC_LinkID - - /** - * @desc used to send via a BC-VCI in the IUT - */ - // source_address field - // use f_get_CI_LinkID - - /** - * @desc used to send via a BC-VCI - */ - // destination_address field - function f_get_DestinationVCI_BC_LinkID() return Link_ID{ - if(PICS_MAC48) - { - return {remoteCIID := PX_REMOTE_CIID_BC, localCIID := PX_LOCAL_CIID} - } - else - { - return { remoteCIID := f_get_EUI64_LegacyCI(63, PX_ITS_SCU_ID, PX_Med_ID, 65535), - localCIID := f_get_EUI64_LegacyCI(0, PX_ITS_SCU_ID, PX_Med_ID, 0)} - } - } // End of function f_get_DestinationVCI_BC_LinkID - - /** - * @desc used to send via a BC-VCI in the Test System to the IUT - */ - // destination_address field - function f_get_TesterDestinationVCI_BC_LinkID() return Link_ID{ - if(PICS_MAC48) - { - return {remoteCIID := PX_REMOTE_CIID_BC, localCIID := PX_TESTER_LOCAL_CIID} - } - else - { - return { remoteCIID := f_get_EUI64_LegacyCI(63, 0, 0, 65535), - localCIID := f_get_EUI64_LegacyCI(0, 0, 0, 0)} - } - } // End of function f_get_TesterDestinationVCI_BC_LinkID - - /** - * @desc used to send via a BC-VCI in the IUT - */ - // source_address field - // use f_get_CI_LinkID - - /** - * @desc used to send via a MC-VCI - */ - // destination_address field - function f_get_DestinationVCI_MC_LinkID() return Link_ID{ - if(PICS_MAC48) - { - return {remoteCIID := PX_REMOTE_CIID_MC, localCIID := PX_LOCAL_CIID} - } - else - { - return { remoteCIID := f_get_EUI64_LegacyCI(PX_LEGACY_VCI_MC_GROUP_ID, PX_ITS_SCU_ID, PX_Med_ID, PX_VCI_SERIAL_NUMBER_MC), - localCIID := f_get_EUI64_LegacyCI(0, PX_ITS_SCU_ID, PX_Med_ID, 0)} - } - - } // End of function f_get_DestinationVCI_MC_LinkID - - /** - * @desc used to send via a MC-VCI in the Test System to the IUT - */ - // destination_address field - function f_get_TesterDestinationVCI_MC_LinkID() return Link_ID{ - if(PICS_MAC48) - { - return {remoteCIID := PX_REMOTE_CIID_MC, localCIID := PX_TESTER_LOCAL_CIID} - } - else - { - return { remoteCIID := f_get_EUI64_LegacyCI(PX_LEGACY_VCI_MC_GROUP_ID, 0, 0, PX_VCI_SERIAL_NUMBER_MC), - localCIID := f_get_EUI64_LegacyCI(0, 0, 0, 0)} - } - - } // End of function f_get_TesterDestinationVCI_MC_LinkID - - /** - * @desc used to create the EUI64 format of a legacy CI - * @param p_uCmCbCnumber 63 for BC, 0 for UC, 1-62 for MC group - * @param p_iTS_scuID ITS-SCU-ID - * @param p_medID MedID - * @param p_vCIserialNumber Serial number unique in CI - */ - function f_get_EUI64_LegacyCI ( - in UInt6 p_uCmCbCnumber, - in ITS_scuId p_iTS_scuID, - in MedID p_medID, - in VCIserialNumber p_vCIserialNumber - ) return EUI64 { - var UInt8 v_U8Integer; - var EUI64 v_returnValue; - - v_U8Integer:= p_uCmCbCnumber * 4 +3; // 'shift left' two bits and set two lowest bits to one. - v_returnValue := int2oct(v_U8Integer,1) & - int2oct(p_iTS_scuID,2) & - 'FFFE'O & - int2oct(p_medID,1) & - int2oct(p_vCIserialNumber,2); - log("f_get_EUI64_LegacyCI: DEBUG: returns ", v_returnValue, " ***"); - return v_returnValue; - } // End of function f_get_EUI64_LegacyCI - - } // End of group atspPIXITHelperFunctions - -} // End of module LibItsAtsp_Functions diff --git a/ttcn/CALM/ATSP/LibItsAtsp_Pics.ttcn3 b/ttcn/CALM/ATSP/LibItsAtsp_Pics.ttcn3 deleted file mode 100644 index e9c3f49537415b043fbcf118dbec4422dfe0b18f..0000000000000000000000000000000000000000 --- a/ttcn/CALM/ATSP/LibItsAtsp_Pics.ttcn3 +++ /dev/null @@ -1,232 +0,0 @@ -/** - * @author ETSI / STF455 - * @version $URL$ - * $Id$ - * @desc Access Technology Layer (ISO 21218) PICS - */ -module LibItsAtsp_Pics { - - /** - * @desc ATSP PICS - */ - group atspPics { - - /** - * @desc PICS mnemonics for ISO 21218 "ITS - CALM - Access Technology Support" - * @see ETSI TS 102 760-1 v_stf455_v06 - */ - modulepar boolean PICS_ACT := false; - - /** - * @desc Is IUT supporting BC-VCI transmitter? - * @see ETSI TS 102 760-1 v_stf455_v06 C.11/4 - */ - modulepar boolean PICS_BCVCI := false; - - /** - * @desc Is IUT of CI access class CIAC-1 (no user authentiaction required, usage of CI is free of charge)? - * @see ETSI TS 102 760-1 v_stf455_v06 C.6/1 - */ - modulepar boolean PICS_CIAC1 := false; - - /** - * @desc Is IUT of CI access class CIAC-2 (access credentials required, usage of CI is subject of a service charge? - * @see ETSI TS 102 760-1 v_stf455_v06 C.6/2 - */ - modulepar boolean PICS_CIAC2 := false; - - /** - * @desc Is IUT of CI access class CIAC-3 (access credentials required, usage of CI is free of charge)? - * @see ETSI TS 102 760-1 v_stf455_v06 C.6/3 - */ - modulepar boolean PICS_CIAC3 := false; - - /** - * @desc Is IUT of CI class CIC-il1 (non-deterministic ITS station-internal network interface)? - * @see ETSI TS 102 760-1 v_stf455_v06 C.5/6 - */ - modulepar boolean PICS_CIC_il1 := false; - - /** - * @desc Is IUT of CI class CIC-il2 (deterministic ITS station-internal network interface)? - * @see ETSI TS 102 760-1 v_stf455_v06 C.5/7 - */ - modulepar boolean PICS_CIC_il2 := false; - - /** - * @desc Is IUT of CI class CIC-l1 (multiple simultaneous peer stations transceiver)? - * @see ETSI TS 102 760-1 v_stf455_v06 C.5/1 - */ - modulepar boolean PICS_CIC_l1 := false; - - /** - * @desc Is IUT of CI class CIC-l2 (single peer station transceiver)? - * @see ETSI TS 102 760-1 v_stf455_v06 C.5/2 - */ - modulepar boolean PICS_CIC_l2 := false; - - /** - * @desc Is IUT of CI class CIC-l3 (groupcast transmitter only)? - * @see ETSI TS 102 760-1 v_stf455_v06 C.5/3 - */ - modulepar boolean PICS_CIC_l3 := false; - - - /** - * @desc Is IUT of CI class CIC-l4 (broadcast receiver only)? - * @see ETSI TS 102 760-1 v_stf455_v06 C.5/4 - */ - modulepar boolean PICS_CIC_l4 := false; - - /** - * @desc Is IUT of CI class CIC-l5 (CEN / Japanese DSRC)? - * @see ETSI TS 102 760-1 v_stf455_v06 C.5/5 - */ - modulepar boolean PICS_CIC_l5 := false; - - /** - * @desc Is IUT supporting the connection procedure? - * @see ETSI TS 102 760-1 v_stf455_v06 C.11/7 - */ - modulepar boolean PICS_CONN := false; - - /** - * @desc Is IUT supporting the Cross-CI prioritization - interferer procedure? - * @see ETSI TS 102 760-1 v_stf455_v06 C.11/10 - */ - modulepar boolean PICS_CRCIP_I := false; - - /** - * @desc Is IUT supporting the Cross-CI prioritization - victim procedure? - * @see ETSI TS 102 760-1 v_stf455_v06 C.11/9 - */ - modulepar boolean PICS_CRCIP_V := false; - - /** - * @desc Is IUT supporting deletion of VCIs? - * @see ETSI TS 102 760-1 v_stf455_v04 C.11/18 - */ - modulepar boolean PICS_DELET := false; - /** - * @desc Is IUT supporting the disconnection procedure? - * @see ETSI TS 102 760-1 v_stf455_v06 C.11/8 - */ - modulepar boolean PICS_DISCONN := false; - - /** - * @desc Is IUT supporting dynamic registration using the standardized registration procedure? - * @see ETSI TS 102 760-1 v_stf455_v06 C.1/1 - */ - modulepar boolean PICS_DYNREG := true; - - /** - * @desc Is IUT supporting the inactivation procedure? - * @see ETSI TS 102 760-1 v_stf455_v06 C.11/3 - */ - modulepar boolean PICS_INACT := false; - - /** - * @desc Is IUT supporting the IN-UNITDATA-STATUS service? - * @see ETSI TS 102 760-1 v_stf455_v06 C.12/2 - */ - modulepar boolean PICS_INUDS := false; - - /** - * @desc Is IUT supporting notification-only I-Parameters? - * @see ETSI TS 102 760-1 v_stf455_v06 C.24 any selected notify-only I-Parameter - */ - modulepar boolean PICS_IPNO := false; - - /** - * @desc Is IUT supporting read-only I-Parameters? - * @see ETSI TS 102 760-1 v_stf455_v06 C.21 and C.22 any selected read-only I-Parameter - */ - modulepar boolean PICS_IPRO := false; - - /** - * @desc Is IUT supporting read/write I-Parameters? - * @see ETSI TS 102 760-1 v_stf455_v06 C.19 and C.20 any selected read/write I-Parameter - */ - modulepar boolean PICS_IPRW := false; - - /** - * @desc Is IUT supporting write-only I-Parameters? - * @see ETSI TS 102 760-1 v_stf455_v06 C.23 any selected write-only I-Parameter - */ - modulepar boolean PICS_IPWO := false; - - /** - * @desc Is IUT useing 48 bit MAC addresses? - * @see ETSI TS 102 760-1 v_stf455_v06 C.4/1 - */ - modulepar boolean PICS_MAC48 := false; - - /** - * @desc Is IUT supporting MC-VCI transmitter? - * @see ETSI TS 102 760-1 v_stf455_v06 C.8/2 - */ - modulepar boolean PICS_MCVCI := false; - - /** - * @desc Is IUT supporting rejection of DL-UNITDATA.reqeusts with user priority smaller than given in parameter "MinimumUserPriority"? - * @see ETSI TS 102 760-1 v_stf455_v06 C.11/20 - */ - modulepar boolean PICS_REJECT := false; - - /** - * @desc Is IUT supporting the resuming procedure? - * @see ETSI TS 102 760-1 v_stf455_v06 C.11/6 - */ - modulepar boolean PICS_RES := false; - - /** - * @desc Is IUT supporting the Regulatory Information Management procedure? - * @see ETSI TS 102 760-1 v_stf455_v06 C.11/12 - */ - modulepar boolean PICS_RIM := false; - - /** - * @desc Is IUT supporting SNAP? - * @see ETSI TS 102 760-1 v_stf455_v06 C.13/1 - */ - modulepar boolean PICS_SNAP := false; - - /** - * @desc Is IUT supporting the suspension procedure? - * @see ETSI TS 102 760-1 v_stf455_v06 C.11/5 - */ - modulepar boolean PICS_SUSP := false; - - /** - * @desc Is IUT supporting UC-VCI (transmitter and receiver)? - * @see ETSI TS 102 760-1 v_stf455_v06 C.8/3 - */ - modulepar boolean PICS_UCVCI := false; - - /** - * @desc Is IUT supporting the UnitDataCmd command? - * @see ETSI TS 102 760-1 v_stf455_v06 C.15/12 - */ - modulepar boolean PICS_UDC := false; - - /** - * @desc Is IUT supporting the WakeUp command? - * @see ETSI TS 102 760-1 v_stf455_v06 C.15/4 - */ - modulepar boolean PICS_WAKEUP := false; - - /** - * @desc Is IUT supporting the IN-UNITDATA-STATUS service primitive? - * @see ETSI TS 102 760-1 v_stf455_v06 C.12/2 - */ - modulepar boolean PICS_IN_UNITDATA_STATUS := false; - - /** - * @desc Is IUT supporting the Monitor command? - * @see ETSI TS 102 760-1 v_stf455_v06 C.15/11 - */ - modulepar boolean PICS_MONITOR := false; - - } // End of group atspPics - -} // End of module LibItsAtsp_Pics diff --git a/ttcn/CALM/ATSP/LibItsAtsp_Pixits.ttcn3 b/ttcn/CALM/ATSP/LibItsAtsp_Pixits.ttcn3 deleted file mode 100644 index 0239b96b3f8370439ee49f828c5b03a6a26fc6fc..0000000000000000000000000000000000000000 --- a/ttcn/CALM/ATSP/LibItsAtsp_Pixits.ttcn3 +++ /dev/null @@ -1,200 +0,0 @@ -/** - * @author ETSI / STF455 - * @version $URL$ - * $Id$ - * @desc Access Technology Layer (ISO 21218) Pixits - */ -module LibItsAtsp_Pixits { - - import from CALMllsap language "ASN.1:1997" { - type - EUI64, MedID, VCIserialNumber, IN_SAPaddress, I_ParamNo, I_Param, MedID - }; - - import from CALMmanagement language "ASN.1:1997" { - type - ITS_scuId - }; - - import from CALMmsap language "ASN.1:1997" { - type - DataUnitData, ParameterUnitData - }; - - import from LibItsAtsp_TypesAndValues all; - - import from LibCommon_BasicTypesAndValues { - type - UInt8, UInt6 - }; - - group Iparameter { - /** - * @desc Expected ITS-SCU-ID of the IUT CI - * @see ISO 21218 - Clause 6.2 Link Identifier - * I-Parameter No c_ciIParamNoITS_scuId - */ - modulepar ITS_scuId PX_ITS_SCU_ID := 0; - - /** - * @desc Expected MedID of the IUT CI - * @see ISO 21218 - Clause 6.2 Link Identifier - * I-Parameter No c_ciIParamNoMedID - */ - modulepar MedID PX_Med_ID := 0; - - /** - * @desc Expected MedType of the IUT CI - * @see ISO 21218 - Clause 6.3 Link Identifier - * I-Parameter No c_ciIParamNoMedID - */ - modulepar MedID PX_CI_MED_TYPE := 5; - - /** - * @desc MedType of potential interferer - * @see ISO 21218 - Clause 6.3 Link Identifier - * used in PrioReg - */ - modulepar MedID PX_CI_INTERFERER_MED_TYPE := 5; - - /** - * @desc Unknown I-Parameter No - * @see ISO 21218 - Clause 6.3 Link Identifier - */ - modulepar I_ParamNo PX_CI_UNKNOWN_PARAM_NO := 255; - - /** - * @desc Not supported I-Parameter - * @see ISO 21218 - Clause 6.3 Link Identifier - */ - modulepar I_Param PX_CI_NO_SUPPORT_PARAM := {paramNo := PX_CI_NO_SUPPORT_PARAM_NO, parameter := {UserPriority := 0} }; - modulepar I_ParamNo PX_CI_NO_SUPPORT_PARAM_NO := 125; - - /** - * @desc Supported I-Parameter with write or read/write access - * @see ISO 21218 - Clause 6.3 Link Identifier - */ - modulepar I_Param PX_CI_SUPPORT_PARAM_WR := {paramNo := PX_CI_SUPPORT_PARAM_WR_NO, parameter := {DataRate := 125} }; - modulepar I_ParamNo PX_CI_SUPPORT_PARAM_WR_NO := 39; - - /** - * @desc Supported Read-Only or Notify-Only I-Parameter - * @see ISO 21218 - Clause 6.3 Link Identifier - */ - modulepar I_ParamNo PX_CI_SUPPORT_NO_WRITE_ACCESS_PARAM_NO := c_ciIParamNoCiStatus; - modulepar I_Param PX_CI_SUPPORT_NO_WRITE_ACCESS_PARAM := {paramNo := PX_CI_SUPPORT_NO_WRITE_ACCESS_PARAM_NO, parameter := {CIstatus := 0} }; - - } // End of group Iparameter - - /** - * @desc T_DummyAckReq timer for prioritization procedure - * @see ISO 21218 - Clause 6.4.11.3 - */ - modulepar float PX_TIMER_DUMMYAckReq := 0.1; // in seconds In reality the value has to be smaller - - /** - * @desc Expected IN-SAP address - * @see ISO 21218 - Clause 8.2 Addressing - * FNTP: 186 - * IPv6: 182 - */ - modulepar IN_SAPaddress PX_IN_SAP_ADDRESS := 186; - - /** - * @desc Expected VCIserialNumber of the IUT UC-VCI - * @see ISO 21218 - Clause 6.3 Link Identifier - */ - modulepar VCIserialNumber PX_VCI_SERIAL_NUMBER := 0; - - /** - * @desc Expected VCIserialNumber of the IUT MC-VCI - * @see ISO 21218 - Clause 6.3 Link Identifier - */ - modulepar VCIserialNumber PX_VCI_SERIAL_NUMBER_MC := 0; - - /** - * @desc MultiCast group ID of the IUT legacy CI - * @see ISO 21218 - Clause 6.3 Link Identifier - * Range from 1 through 62 - */ - modulepar UInt6 PX_LEGACY_VCI_MC_GROUP_ID := 1; - - /** - * Wait until the IUT is in a stable situation - */ - modulepar float PX_WAIT_FOR_IUT_READY := 1.0; - - /** - * Data in UnitData - */ - modulepar DataUnitData PX_DATA_UNITDATA := 'ABCDEF'O; - - /** - * Parameter in UnitData - */ - modulepar ParameterUnitData PX_PARAMETER_UNITDATA := '012345'O; - - /** - * @desc Identifies RemoteLocalCIID group - * Values of RemoteCIID and LocalCIID - * @see ISO 21218 - Clause 6.3 Link Identifier and 8.2.2 Tables 6 and 7 - */ - group RemoteLocalCIID { - /** - * @desc Identifies RemoteCIID of local VCI - */ -// modulepar EUI64 PX_REMOTE_CIID_LOCAL := 'FFFFFFFFFEFFFFFF'O; // DNI - modulepar EUI64 PX_REMOTE_CIID_LOCAL_CI := PX_LOCAL_CIID; - - /** - * @desc Identifies the VCI localCIID on ITS-S router (e.g. It coud be the G5 radio MAC address of the IUT) - * NOTE 0A0B0CFFFE0D0E0F is MAC address 0A:0B:0C:0D:0E:0F - */ -// modulepar EUI64 PX_LOCAL_CIID := 'FFFFFFFFFEFFFFFF'O ; // DNI - modulepar EUI64 PX_LOCAL_CIID := '0A0B0CFFFE0D0E0F'O; // Commsignia FNTP setting (laptop) -// modulepar EUI64 PX_LOCAL_CIID := 'FFFFFFFFFEFFFFFF'O ; // Commsignia FSAP setting -// modulepar EUI64 PX_LOCAL_CIID := 'D4CA6DFFFF55A72C'O ; // Commsignia FNTP setting (ITS-S box) -// modulepar EUI64 PX_LOCAL_CIID := '000C42FFFF6A9E2C'O; // Peek setting (@home) -// modulepar EUI64 PX_LOCAL_CIID := '000C42FFFF974497'O; // Peek setting (@office) - - /** - * @desc Identifies RemoteCIID of VCI on ITS test system - */ -// modulepar EUI64 PX_TESTER_REMOTE_CIID_LOCAL := 'FFFFFFFFFEFFFFFF'O; // DNI - modulepar EUI64 PX_TESTER_REMOTE_CIID_LOCAL_CI := PX_TESTER_LOCAL_CIID; - - /** - * @desc Identifies the VCI localCIID on ITS test system (e.g. It coud be the G5 radio MAC address of the IUT) - * NOTE 0A0B0CFFFE0D0E0F is MAC address 0A:0B:0C:0D:0E:0F - */ - modulepar EUI64 PX_TESTER_LOCAL_CIID := 'FFFFFFFFFEFFFFFF'O ; // DNI -// modulepar EUI64 PX_TESTER_LOCAL_CIID := '0A0B0CFFFE0D0E0F'O; // tbd - - /** - * @desc Identifies the VCI for broadcast on ITS-S router - * Note that U/L bit is set to 1 for broadcast - */ - modulepar EUI64 PX_REMOTE_CIID_BC := 'FFFFFFFFFEFFFFFF'O; - - /** - * @desc Identifies the VCI for multicast on ITS-S router - */ - modulepar EUI64 PX_REMOTE_CIID_MC := 'EF0008FFFE011234'O; - - /** - * @desc Identifies the VCI for unicast on ITS-S router (peer station) ( - * this is the MAC address of the ITS test system - */ - modulepar EUI64 PX_REMOTE_CIID_UC := '030008FFFE010001'O; // Commsignia setting -// modulepar EUI64 PX_REMOTE_CIID_UC := '030008FFFF010001'O; // Peek setting - - /** - * @desc Identifies the VCI for unicast transmission to the IUT) ( - * this is the MAC address of the IUT - */ - modulepar EUI64 PX_TESTER_REMOTE_CIID_UC := '030008FFFE010001'O; // tbd - - } // End of group RemoteLocalCIID - - -} // End of module LibItsAtsp_Pixits diff --git a/ttcn/CALM/ATSP/LibItsAtsp_Templates.ttcn3 b/ttcn/CALM/ATSP/LibItsAtsp_Templates.ttcn3 deleted file mode 100644 index 5a8b3349b74bfc63d82dcb9f6ce71f59bd743755..0000000000000000000000000000000000000000 --- a/ttcn/CALM/ATSP/LibItsAtsp_Templates.ttcn3 +++ /dev/null @@ -1,1067 +0,0 @@ -/** - * @author ETSI / STF455 - * @version $URL$ - * $Id$ - * @desc Template definitions for Access Technology Support Protocols (ISO 21218) - */ -module LibItsAtsp_Templates { - - import from CALMllsap language "ASN.1:1997" { - type - Link_ID, MedID, MedType, CIstatus, - INsapPrimitivesDown, INsapPrimitivesUp, - IN_UNITDATA_request, IN_UNITDATA_indication, IN_UNITDATA_STATUS_indication, - UserPriority, - LLserviceAddr, INdata, IN_SAPaddress, EUI64, Link_ID, - AccessParameters, - NullType, Errors, INtxStatus - }; - - import from CALMmsap language "ASN.1:1997" { - type - CIstateChng, WakeUp, RIcmd, RI, - RegCmd, RegReq, Events21218, - PrioReg, RTSreq,RTSackCmd, RTScmd, RTSackReq, - E21218_3, E21218_4, E21218_5, E21218_7, - StationID, CommandRef, ErrStatus, - MI_Command_request, MI_Command_confirm, - MI_Request_request, MI_Request_confirm, - MI_Get_request, MI_Get_confirm, - MI_Set_request, MI_Set_confirm, - SimIUTcmd , - CONcmd, VciCmd, UnitData, - DataUnitData, ParameterUnitData - }; - - import from CALMmanagement language "ASN.1:1997" { - type - ITS_scuId - }; - - import from LibItsCalm_Pixits { - modulepar - PX_LOC_ITS_ATSP_ACCESS_SETTINGS_MX_SAP_SET, PX_LOC_ITS_ATSP_ACCESS_SETTINGS_MX_SAP_UNSET, - PX_IUT_LOWER_LAYER_USED, PX_IUT_LOWER_LAYER_UNUSED, - PX_IUT_TEST_MODE_ON - }; - import from LibItsCalm_Interface all; - import from LibItsAtsp_TypesAndValues all; - import from LibItsMgt_TypesAndValues { - type IParamNoList, IParamList - }; - - - group sendOperation { - - group cfPort { - - /** - * @desc Send template - * CfAtspEvent for sending MI-REQUEST.confirm over cfPort - * @param p_miReqConfirm: The MI-REQUEST.confirm primitive - */ - template CfAtspEvent m_cfAtspMIRequest_confirm( - in template(value) MI_Request_confirm p_miReqConfirm - ) := { - miRequestConfirm := p_miReqConfirm - } // End of template m_cfAtspMIRequest_confirm - - /** - * @desc Send template - * CfAtspEvent for sending MI-GET.request over cfPort - * @param p_miGetRequest: Get request to send - */ - template CfAtspEvent m_cfAtspGetReqEvent( - in template(value) MI_Get_request p_miGetRequest - ) := { - miGetRequest := p_miGetRequest - } // End of template m_cfAtspGetReqEvent - - /** - * @desc Send template - * CfAtspEvent for sending MI-SET.request over cfPort - * @param p_miSetRequest: Set request to send - */ - template CfAtspEvent m_cfAtspSetReqEvent( - in template(value) MI_Set_request p_miSetRequest - ) := { - miSetRequest := p_miSetRequest - } // End of template m_cfAtspSetReqEvent - - /** - * @desc Send template - * CfAtspEvent for sending MI-COMMAND.request over cfPort - * @param p_miCommandRequest: Command request to send - */ - template CfAtspEvent m_cfAtspCommandReqEvent( - in template(value) MI_Command_request p_miCommandRequest - ) := { - miCommandRequest := p_miCommandRequest - } // End of template m_cfAtspCommandReqEvent - - } // End of group cfPort - - group cfPortTools { - - /** - * @desc Send template - * MI-REQUEST.confirm to send - * @param p_MI_REQUEST_Request: The MI-REQUEST.request to confirm - * @param p_errorStatus: ErrStatus value of the confirmation - */ - template MI_Request_confirm m_cfAtspRequestConfirm( - in template(value) MI_Request_request p_MI_REQUEST_Request, - in template(value) ErrStatus p_errorStatus - ) := { - linkID := p_MI_REQUEST_Request.linkID, - commandRef := p_MI_REQUEST_Request.commandRef, - errStatus := p_errorStatus - } // End of template m_cfAtspRequestConfirm - - /** - * @desc Send template - * Registration Command to confirm with - * @param p_sourceLinkID - * @param p_destinationLinkID - * @param p_data - * @param p_priority - * @param p_parameter - */ - template UnitData m_unitDataCommand( - in template(value) Link_ID p_sourceLinkID, - in template(value) Link_ID p_destinationLinkID, - in template(value) DataUnitData p_data, - in template(value) UserPriority p_priority, - in template(value) ParameterUnitData p_parameter - ) := { - sourceAddr := p_sourceLinkID, - destAddr := p_destinationLinkID, - data := p_data, - priority := p_priority, - parameter := p_parameter - } // End of template m_unitDataCommand - - /** - * @desc Send template - * UnitData Command - * @param p_scudId: ITS-SCU-ID value - * @param p_medType: MedID value - */ - template RegCmd m_regCommand( - in template(value) ITS_scuId p_scudId, - in template(value) MedID p_medType - ) := { - scuId := p_scudId, - medID := p_medType - } // End of template m_regCommand - - /** - * @desc Send template for MI-COMMAND.request containing registration command service primitive - * @param p_linkID Link-ID of VCI / CI. - * @param p_commandRef Unique cyclic reference number of command. - * @param p_regCmd Registration command primitive - */ - template (value) MI_Command_request m_miRegistrationCommandRequest( - in template (value) Link_ID p_linkID, - in template (value) CommandRef p_commandRef, - in template (value) RegCmd p_regCmd - ) := { - linkID := p_linkID, - commandRef := p_commandRef, - ref := c_miCmd_regCmd, - command_param := {RegCmd := p_regCmd} - } // End of template m_miRegistrationCommandRequest - - /** - * @desc Send template for MI-COMMAND.request containing UnitDataCmd command service primitive - * @param p_linkID Link-ID of VCI / CI. - * @param p_commandRef Unique cyclic reference number of command. - * @param p_regCmd Registration command primitive - */ - template (value) MI_Command_request m_miUnitDataCmdCommandRequest( - in template (value) Link_ID p_linkID, - in template (value) CommandRef p_commandRef, - in template (value) UnitData p_unitData - ) := { - linkID := p_linkID, - commandRef := p_commandRef, - ref := c_miCmd_unitDataCmd, - command_param := {UnitData := p_unitData} - } // End of template MI_Command_request m_miUnitDataCmdCommandRequest - - /** - * @desc Generic send template for MI-COMMAND.confirm service primitive - * @param p_linkID Link-ID of VCI / CI. - * @param p_commandRef Unique cyclic reference number of command. - * @param p_errorStatus Unique identifier of error status. - */ - template (value) MI_Command_confirm m_miCommandConfirm( - in template (value) Link_ID p_linkID, - in template (value) CommandRef p_commandRef, - in template (value) ErrStatus p_errorStatus - ) := { - linkID := p_linkID, - commandRef := p_commandRef, - errStatus := p_errorStatus - } // End of template m_miCommandConfirm - - /** - * @desc Send template for MI-COMMAND.request containing state change command service primitive - * @param p_linkID Link-ID of VCI / CI. - * @param p_commandRef Unique cyclic reference number of command. - * @param p_stateChng State change primitive - */ - template (value) MI_Command_request m_miRTSackCmdCommandRequest( - in template (value) Link_ID p_linkID, - in template (value) CommandRef p_commandRef, - in template (value) RTSackCmd p_rTSackCmd - ) := { - linkID := p_linkID, - commandRef := p_commandRef, - ref := c_miCmd_rTSackCmd, - command_param := {RTSackCmd := p_rTSackCmd} - } // End of template m_miRTSackCmdCommandRequest - - /** - * @desc Send template for MI-COMMAND.request containing state change command service primitive - * @param p_linkID Link-ID of VCI / CI. - * @param p_commandRef Unique cyclic reference number of command. - * @param p_stateChng State change primitive - */ - template (value) MI_Command_request m_miStateChangeCommandRequest( - in template (value) Link_ID p_linkID, - in template (value) CommandRef p_commandRef, - in template (value) CIstateChng p_stateChng - ) := { - linkID := p_linkID, - commandRef := p_commandRef, - ref := c_miCmd_ciState, - command_param := {CIstateChng := p_stateChng} - } // End of template m_miStateChangeCommandRequest - - /** - * @desc Generic send 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 - * @param p_setParam List of parameters to be set - * @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_miGetRequest - - /** - * @desc Generic send 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 - * @param p_getParamNo List of reference numbers of parameters to be retrieved - * @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-COMMAND.request containing CONcmd command service primitive - * @param p_linkID Link-ID of VCI / CI. - * @param p_commandRef Unique cyclic reference number of command. - * @param p_conCmd Registration command primitive - */ - template (value) MI_Command_request m_miCONcmdCommandRequest( - in template (value) Link_ID p_linkID, - in template (value) CommandRef p_commandRef, - in template (value) CONcmd p_conCMD - ) := { - linkID := p_linkID, - commandRef := p_commandRef, - ref := c_miCmd_cONcmd, - command_param := {CONcmd := p_conCMD} - } // End of template m_miCONcmdCommandRequest - - /** - * @desc Send template for MI-COMMAND.request containing wake up command service primitive - * @param p_linkID Link-ID of VCI / CI. - * @param p_commandRef Unique cyclic reference number of command. - * @param p_wakeUp State change primitive - */ - template (value) MI_Command_request m_miWakeUpCommandRequest( - in template (value) Link_ID p_linkID, - in template (value) CommandRef p_commandRef, - in template (value) WakeUp p_wakeUp - ) := { - linkID := p_linkID, - commandRef := p_commandRef, - ref := c_miCmd_wakeUp, - command_param := {WakeUp := p_wakeUp} - } // End of template m_miWakeUpCommandRequest - - /** - * @desc Send template for MI-COMMAND.request containing regulatory info command service primitive - * @param p_linkID Link-ID of VCI / CI. - * @param p_commandRef Unique cyclic reference number of command. - * @param p_riCmd Regulatory information primitive - */ - template (value) MI_Command_request m_miRICmdCommandRequest( - in template (value) Link_ID p_linkID, - in template (value) CommandRef p_commandRef, - in template (value) RIcmd p_riCmd - ) := { - linkID := p_linkID, - commandRef := p_commandRef, - ref := c_miCmd_rIcmd, - command_param := {RIcmd := p_riCmd} - } // End of template m_miRICmdCommandRequest - - /** - * @desc Send template for MI-COMMAND.request containing regulatory info command service primitive - * @param p_linkID Link-ID of VCI / CI. - * @param p_ri Regulatory information - */ - template (value) RIcmd m_miRICmd( - in template (value) Link_ID p_linkID, - in template (value) RI p_ri - ) := { - linkID := p_linkID, - ri := p_ri - } // End of template m_miRICmd - - /** - * @desc Send template for MI-COMMAND.request containing VCIcmd command service primitive - * @param p_linkID Link-ID of VCI / CI. - * @param p_commandRef Unique cyclic reference number of command. - * @param p_vciCmd VCIcmd value - */ - template (value) MI_Command_request m_miVCIcmdCommandRequest( - in template (value) Link_ID p_linkID, - in template (value) CommandRef p_commandRef, - in template (value) VciCmd p_vciCmd - ) := { - linkID := p_linkID, - commandRef := p_commandRef, - ref := c_miCmd_vciCmd, - command_param := {VciCmd := p_vciCmd} - } // End of template m_miVCIcmdCommandRequest - - /** - * @desc Send template for MI-COMMAND.request containing unknown command - * @param p_linkID Link-ID of VCI / CI. - * @param p_commandRef Unique cyclic reference number of command. - */ - template (value) MI_Command_request m_miUnknwonCommandRequest( - in template (value) Link_ID p_linkID, - in template (value) CommandRef p_commandRef - ) := { - linkID := p_linkID, - commandRef := p_commandRef, - ref := c_miCmd_UnknownCmd, - command_param := {UnknownCommand := 100} - } // End of template m_miUnknownCommandRequest - - } // End of group cfPortTools - - group atspPort { - - /** - * @desc Send template - * Allows ITS test system to request frame transmission to IUT - * @param p_inSapPrimitiveDown: IN-SAP primitive to send - */ - template AtspReq m_atspReq( - template(value) INsapPrimitivesDown p_inSapPrimitiveDown - ) := { - msgOut:= p_inSapPrimitiveDown - } // End of template m_atspReq - - } // End of group atspPort - - group utPort { - - /** - * @desc Send template INsapPrimitivesDown - * UtAtspEvent for sending any of the IN SAP primitives over utPort - * @param p_inSapPrimitiveDown: IN SAP primitive to send - */ - template UtAtspEvent m_utAtspEventDown( - in template(value) INsapPrimitivesDown p_inSapPrimitiveDown - ) := { - inSapPrimitivesDown := p_inSapPrimitiveDown - } // End of template m_utAtspEventDown - - /** - * @desc Receive template INsapPrimitivesUp - * UtAtspEvent for receiving any of the IN SAP primitives over utPort - * @param p_inSapPrimitiveUp: IN SAP primitive to be received - */ - template UtAtspEventInd m_utAtspEventInd( - in template(value) INsapPrimitivesUp p_inSapPrimitiveUp - ) := { - inSapPrimitivesUp := p_inSapPrimitiveUp - } // End of template m_utAtspEventUp - - } // End of group utPort - - group ut_astpPortTools { - - /** - * @desc Send template - * UtAtspEvent for sending IN-UNITDATA.request - * @param p_inUnitdataRequest: IN-UNITDATA.request primitive to send - */ - template INsapPrimitivesDown m_inPrimitivesDownUDR( - in template(value) IN_UNITDATA_request p_inUnitdataRequest - ) := { - spRef := 0, - servPrimitive := { - IN_UNITDATA_request := p_inUnitdataRequest - } - } // End of template m_inPrimitivesDownUDR - - /** - * @desc Send template - * AccessParameters default value template used for sending - */ - template(value) AccessParameters m_inUnitdataDefaultAP := { - apRef := 0, - aParameter := { - NullType := NULL - } - } // End of template m_inUnitdataDefaultAP - - /** - * @desc Send template - * IN-UNITDATA.request message for sending - * @param p_source_addr: Source address - * @param p_dest_addr: Destination address - * @param p_data: Data to send - * @param p_priority: User priority value - */ - template(value) IN_UNITDATA_request m_inUnitDataRequest( - in template(value) LLserviceAddr p_source_addr, - in template(value) LLserviceAddr p_dest_addr, - in template(value) INdata p_data, - in template(value) UserPriority p_priority - ) := { - source_addr := p_source_addr, - dest_addr := p_dest_addr, - data := p_data, - priority := p_priority, - accessParams := m_inUnitdataDefaultAP - } // End of template m_inUnitDataRequest - - /** - * @desc Send template - * Used for creating source and destination addres values for IN-UNITDATA.request(STATUS) - * @param p_SAPAddress: IN-SAP part of the address - * @param p_linkID: LinkID used to create address - */ - template LLserviceAddr m_inLLServiceAddr( - in template(value) IN_SAPaddress p_SAPAddress, - in template(value) Link_ID p_linkID - ) := { - csap := p_SAPAddress, - linkID := p_linkID - } // End of template m_inLLServiceAddr - - /** - * @desc Send template - * Default empty data - */ - template(value) INdata m_inDataEmpty := ''O; - // End of template m_inDataEmpty - - /** - * @desc Send template - * 'AA' data - */ - template(value) INdata m_inDataAA := 'AA'O; - // End of template m_inDataEmpty - - /** - * @desc Send template - * 'BB' data - */ - template(value) INdata m_inDataBB := 'AA'O; - // End of template m_inDataEmpty - - /** - * @desc Send template - * Lowest user priority value - */ - template(value) UserPriority m_inUserPriorityLowest := 0; - // End of template m_inUserPriorityLowest - - /** - * @desc Send template - * Highest user priority value - */ - template(value) UserPriority m_inUserPriorityHighest := 255; - // End of template m_inUserPriorityHighest - - /** - * @desc Send template - * Average user priority value - */ - template(value) UserPriority m_inUserPriorityAverage := 127; - // End of template m_inUserPriorityAverage - - - } // End of group ut_astpPortTools - - - } // End of group sendOperation - - group recvOperation { - - group cfPort { - - /** - * @desc Receive template - * CfAtspEventInd to notify reception of an expected frame given by p_miRequestReq - * @param p_miRequestReq: The MI_REQUEST.request primitive - */ - template CfAtspEventInd mw_cfAtspRequestRequest(in template MI_Request_request p_miRequestReq) := { - miRequestRequest:= p_miRequestReq - } // End of template mw_cfAtspRequestRequest - - /** - * @desc Receive template - * CfAtspEventInd to notify reception of an expected frame given by p_miCommandConfirm - * @param p_miCommandConfirm: The MI-COMMAND.confirm primitive - */ - template CfAtspEventInd mw_cfAtspCommandConfirm(in template MI_Command_confirm p_miCommandConfirm) := { - miCommandConfirm:= p_miCommandConfirm - } // End of template mw_cfAtspCommandConfirm - - /** - * @desc Receive template - * CfAtspEventInd to notify reception of an expected frame given by p_miGetConfirm - * @param p_miGetConfirm: The MI-GET.confirm primitive - */ - template CfAtspEventInd mw_cfAtspEventIndGetConf(in template MI_Get_confirm p_miGetConfirm) := { - miGetConfirm := p_miGetConfirm - } // End of template mw_cfAtspEventIndGetConf - - /** - * @desc Receive template - * CfAtspEventInd to notify reception of an expected frame given by p_miSetConfirm - * @param p_miSetConfirm: The MI-SET.confirm primitive - */ - template CfAtspEventInd mw_cfAtspEventIndSetConf(in template MI_Set_confirm p_miSetConfirm) := { - miSetConfirm := p_miSetConfirm - } // End of template mw_cfAtspEventIndSetConf - - } // End of group cfPort - - group cfPortTools { - - /** - * @desc Generic receive template for registration request in MI-REQUEST.request service primitive - * @param p_linkID Link-ID of VCI / CI. - * @param p_commandRef Unique cyclic reference number of command. - * @param p_regReq Registration request primitive - */ - template MI_Request_request mw_miRegRequest( - in template Link_ID p_linkID, - in template CommandRef p_commandRef, - in template RegReq p_regReq - ) := { - linkID := p_linkID, - commandRef := p_commandRef, - ref := c_miReq_regReq, - request_param := { - RegReq := p_regReq - } - } // End of template mw_miRegRequest - - /** - * @desc Generic receive template for registration request with a specific MedType - * @param p_medType Expected MedType - */ - template RegReq m_regRequest( - in template(value) MedType p_medType - ) := { - medType := p_medType - } // End of template m_regRequest - - /** - * @desc Generic receive template for notifications of IParameters in MI-REQUEST.request service primitive - * @param p_parameter Parameter monitor event data - */ - template Events21218 mw_miEvent21218_5( - in template E21218_5 p_parameter - ) := { - eventNo := 5, - event := { - E21218_5 := p_parameter - } - } // End of template mw_miEvent21218_5 - - /** - * @desc Generic receive template for VCI notifications in MI-REQUEST.request service primitive - * @param p_parameter VCI created event data - */ - template Events21218 mw_miEvent21218_3( - in template E21218_3 p_parameter - ) := { - eventNo := 3, - event := { - E21218_3 := p_parameter - } - } // End of template mw_miEvent21218_3 - - /** - * @desc Generic receive template for VCI notifications in MI-REQUEST.request service primitive - * @param p_parameter VCI deleted event data - */ - template Events21218 mw_miEvent21218_4( - in template Link_ID p_parameter - ) := { - eventNo := 4, - event := { - E21218_4 := p_parameter - } - } // End of template mw_miEvent21218_4 - - /** - * @desc Generic receive template for notifications of CIstatus in MI-REQUEST.request service primitive - * @param p_ciStatus CiStatus parameter notification data - */ - template E21218_5 mw_miCIStatusParam( - in template CIstatus p_ciStatus - ) := { - paramNo := c_ciIParamNoCiStatus, - parameter := { - CIstatus := p_ciStatus - } - } // End of template mw_miCIStatusParam - - /** - * @desc Generic receive template for VCI notifications in MI-REQUEST.request service primitive - * @param p_parameter VCI reset event data - */ - template Events21218 mw_miEvent21218_7( - in template E21218_7 p_parameter - ) := { - eventNo := 7, - event := { - E21218_7 := p_parameter - } - } // End of template mw_miEvent21218_3 - - /** - * @desc Generic receive template for event notification in MI-REQUEST.request service primitive - * @param p_linkID Link-ID of VCI / CI. - * @param p_commandRef Unique cyclic reference number of command. - * @param p_event Event notification primitive - */ - template MI_Request_request mw_miEventsRequest( - in template Link_ID p_linkID, - in template CommandRef p_commandRef, - in template Events21218 p_event - ) := { - linkID := p_linkID, - commandRef := p_commandRef, - ref := c_miReq_events, - request_param := { - Events21218 := p_event - } - } // End of template mw_miEventsRequest - - /** - * @desc Generic receive template for prioritization registration request in MI-REQUEST.request service primitive - * @param p_linkID Link-ID of VCI / CI. - * @param p_commandRef Unique cyclic reference number of command. - * @param p_regReq Registration request primitive - */ - template MI_Request_request mw_miPrioRegRequest( - in template Link_ID p_linkID, - in template CommandRef p_commandRef, - in template PrioReg p_prioReg - ) := { - linkID := p_linkID, - commandRef := p_commandRef, - ref := c_miReq_prioReg, - request_param := { - PrioReg := p_prioReg - } - } // End of template mw_miPrioRegRequest - - /** - * @desc Generic receive template for prioritization registration request in MI-REQUEST.request service primitive - * @param p_linkID Link-ID of VCI / CI. - * @param p_commandRef Unique cyclic reference number of command. - * @param p_regReq Registration request primitive - */ - template MI_Request_request mw_miRTSackReqRequest( - in template Link_ID p_linkID, - in template CommandRef p_commandRef, - in template RTSackReq p_rTSackReq - ) := { - linkID := p_linkID, - commandRef := p_commandRef, - ref := c_miReq_rTSackReq, - request_param := { - RTSackReq := p_rTSackReq - } - } // End of template mw_miRTSackReqRequest - - /** - * @desc Generic receive template for prioritization request in MI-REQUEST.request service primitive - * @param p_linkID Link-ID of VCI / CI. - * @param p_commandRef Unique cyclic reference number of command. - * @param p_regReq Registration request primitive - */ - template MI_Request_request mw_miRTSreqRequest( - in template Link_ID p_linkID, - in template CommandRef p_commandRef, - in template RTSreq p_rTSreq - ) := { - linkID := p_linkID, - commandRef := p_commandRef, - ref := c_miReq_prioReg, - request_param := { - RTSreq := p_rTSreq - } - } // End of template mw_miRTSreqRequest - - /** - * @desc Generic receive template for prioritization request in MI-REQUEST.request service primitive - * @param p_linkID Link-ID of VCI / CI. - * @param p_commandRef Unique cyclic reference number of command. - * @param p_regReq Registration request primitive - */ - template MI_Request_request mw_miRTScmdRequest( - in template Link_ID p_linkID, - in template CommandRef p_commandRef, - in template RTScmd p_rTScmd - ) := { - linkID := p_linkID, - commandRef := p_commandRef, - ref := c_miCmd_rTScmd, - request_param := { - RTScmd := p_rTScmd - } - } // End of template mw_miRTScmdRequest - - /** - * @desc Generic receive template for MI-SET.confirm 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 MI-SET.request - * @param p_errors List of errors - * @see ISO 24102-3 6.3.1 MI-SET.confirm - * @see ISO 21218 Annex A (normative) I parameters - */ - template MI_Set_confirm mw_miSetConfirm( - in template Link_ID p_linkID, - in template CommandRef p_commandRef, - in template Errors p_iErrors - ) := { - linkID := p_linkID, - commandRef := p_commandRef, - set_param := p_iErrors - } // End of template mw_miSetConfirm - - /** - * @desc Generic receive template for MI-GET.confirm 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 MI-GET.request - * @param p_getParam List of reference parameters returned - * @see ISO 24102-3 6.3.1 MI-GET.confirm - * @see ISO 21218 Annex A (normative) I parameters - */ - template MI_Get_confirm mw_miGetConfirm( - in template Link_ID p_linkID, - in template CommandRef p_commandRef, - in template IParamList p_iParams - ) := { - linkID := p_linkID, - commandRef := p_commandRef, - get_param := p_iParams - } // End of template mw_miGetConfirm - - /** - * @desc Generic receive template for VCI Created / Deleleted / Reset notifications in MI-REQUEST.request service primitive - * @param p_remoteCIID RemoteCIID of the VCI event data - * @param p_localCIID LocalCIID of the VCI event data - */ - template Link_ID mw_miVCICreDelRes( - in template EUI64 p_remoteCIID, - in template EUI64 p_localCIID - ) := { - remoteCIID := p_remoteCIID, - localCIID := p_localCIID - } // End of template mw_miVCICreDelRes - - /** - * @desc Generic receive template for matching any LinkID value - */ - template Link_ID mw_miLinkIndAny := - { - remoteCIID := ?, - localCIID := ? - } // End of template mw_miLinkIndAny - - template CfAtspEventInd mw_miEventMI_RequestRequest_any := { - miRequestRequest := ? - } // End of template mw_miEventMI_RequestRequest_any - - /** - * @desc Generic receive template for notifications of errors in MI-REQUEST.request service primitive - */ - template E21218_5 mw_miCIStatusErrors := { - paramNo := 0, - parameter := { - Errors := ? - } - } // End of template mw_miCIStatusErrors - - } // End of group cfPortTools - - group atspPort { - - /** - * @desc Receive template - * Allows ITS test system to receive frame from IUT - * @param p_inSapPrimitiveUp: IN-SAP primitive to receive - */ - template(present) AtspInd mw_atspInd( - template INsapPrimitivesUp p_inSapPrimitiveUp - ) := { - msgIn:= p_inSapPrimitiveUp - } // End of template m_atspInd - - } // End of group atspPort - - group utPort { - - - - - } // End of group utPort - - group ut_atspPortTools { - - /** - * @desc Receive template - * Generic template for notifications from a CI via the IN-SAP - * @see ISO 21218 - Clause 8.3.1 - */ - template INsapPrimitivesUp mw_InSapPrimitiveUp_any := { - spRef := ?, - servPrimitive := ? - } // End of template mw_InSapPrimitiveUp_any - - /** - * @desc Receive template - * IN-UNITDATA.indication to notify reception of any frame from any CI - * @see ISO 21218 - Clause 8.3.1 - */ - template INsapPrimitivesUp mwd_inUnitDataInd_any modifies mw_InSapPrimitiveUp_any:= { - spRef := 0, - servPrimitive := { IN_UNITDATA_indication := ? } - } // End of template mwd_inUnitDataInd_any - - /** - * @desc Receive template - * IN-UNITDATA.indication to notify reception of an expected frame given by p_inUnitdataInd - * @param p_inUnitdataInd: The IN-UNITDATA.indication primitive - * @see ISO 21218 - Clause 8.3.1 - */ - template INsapPrimitivesUp mwd_inUnitDataInd( - in template (present) IN_UNITDATA_indication p_inUnitdataInd - ) modifies mwd_inUnitDataInd_any:= { - spRef := 0, - servPrimitive := { IN_UNITDATA_indication := p_inUnitdataInd } - } // End of template mwd_inUnitDataInd - - /** - * @desc Receive template - * IN-UNITDATA-Status.indication to notify any status of any previous transmission request - * @see ISO 21218 - Clause 8.3.1 - */ - template INsapPrimitivesUp mw_inUnitDataStatusInd_any := { - spRef := 1, - servPrimitive := { IN_UNITDATA_STATUS_indication := ? } - } // End of template mw_inUnitDataStatusInd_any - - /** - * @desc Receive template - * IN-UNITDATA-Status.indication to notify an expected status of a previous transmission request - * given by p_inUnitdataStatusInd - * @param p_inUnitdataStatusInd: The IN-UNITDATA-Status.indication primitive - * @see ISO 21218 - Clause 8.3.1 - */ - template INsapPrimitivesUp mwd_inUnitDataStatusInd( - in template (value) IN_UNITDATA_STATUS_indication p_inUnitdataStatusInd - ) modifies mw_inUnitDataStatusInd_any := { - spRef := 1, - servPrimitive := { IN_UNITDATA_STATUS_indication := p_inUnitdataStatusInd } - } // End of template mw_inUnitDataStatusInd - - /** - * @desc IN-UNITDATA.indication primitive - * @param p_insap_source_address Source LinkId - * @param p_insap_dest_address Destination LinkId - * @param p_inData Data in octetstring format - * @param p_priority User Priority - * @param p_accessParameters Access Parameters - * @see ISO 21218 - Clause 8.3.3 - */ - template (present) IN_UNITDATA_indication mw_inUnitDataInd( - in template LLserviceAddr p_insapSourceAddress, - in template LLserviceAddr p_insapDestAddress, - in template INdata p_inData, - in template UserPriority p_priority, - in template AccessParameters p_accessParameters - ) := { - source_addr := p_insapSourceAddress, - dest_addr := p_insapDestAddress, - data := p_inData, - priority := p_priority, - accessParams := p_accessParameters - }; // End of template m_inUnitDataInd - - /** - * @desc IN-UNITDATA-STATUS.indication primitive - * @param p_insap_source_address Source LinkId - * @param p_insap_dest_address Destination LinkId - * @param p_inData Data in octetstring format - * @param p_priority User Priority - * @param p_accessParameters Access Parameters - * @see ISO 21218 - Clause 8.3.3 - */ - template (present) IN_UNITDATA_STATUS_indication mw_inUnitDataStatusInd( - in template LLserviceAddr p_insapSourceAddress, - in template LLserviceAddr p_insapDestAddress, - in template INdata p_inData, - in template UserPriority p_priority, - in template AccessParameters p_accessParameters, - in template INtxStatus p_txStatus - ) := { - source_addr := p_insapSourceAddress, - dest_addr := p_insapDestAddress, - data := p_inData, - priority := p_priority, - accessParams := p_accessParameters, - txStatus := p_txStatus - }; // End of template m_inUnitDataStatusInd - - /** - * @desc Send template - * IN-UNITDATA.request primitive - * @param p_insap_source_address Source linkId - * @param p_insap_dest_address Destination linkId - * @param p_inData Data in octetstring format - * @param p_priority User Priority - * @param p_accessParameters Access Parameters - * @see ISO 21218 - Clause 8.3.3 - */ - template (value) IN_UNITDATA_indication m_inUnitDataInd( - in template LLserviceAddr p_insapSourceAddress, - in template LLserviceAddr p_insapDestAddress, - in template INdata p_inData, - in template UserPriority p_priority, - in template AccessParameters p_accessParameters - ) := { - source_addr := p_insapSourceAddress, - dest_addr := p_insapDestAddress, - data := p_inData, - priority := p_priority, - accessParams := p_accessParameters - }; // End of template m_inUnitDataInd - - /** - * @desc Send template - * LLserviceAddr (IN-SAP source and destination address) - * @param p_inSAPaddress DSAP/SSAP address of the N&T layer protocol - * @param p_linkId Link identifier of the CI - * @see ISO 21218 - Clause 8.2.2 - */ - template (value) LLserviceAddr m_llServiceAddr( - in template IN_SAPaddress p_inSAPaddress, - in template Link_ID p_linkId - ) := { - csap := p_inSAPaddress, - linkID := p_linkId - }; // End of template m_llServiceAddr - - /** - * @desc Send template - * Link-ID based on the combination of remote and local CIID - * @param p_remoteLinkId Remote link ID - * @param p_localLinkId Local link ID - * @see ISO 21218 - Clause 8.2.2 - */ - template (value) Link_ID m_linkId( - in template EUI64 p_remoteLinkId, - in template EUI64 p_localLinkId - ) := { - remoteCIID := p_remoteLinkId, - localCIID := p_localLinkId - }; // End of template m_linkID - - } // End of group ut_atspPortTools - - } // End of group recvOperation - - - group atspInitPrimitives { - /** - * @desc Templates used to - *
  • trigger message on Upper Tester
  • - *
  • capture indication message sent by the IUT
  • - */ - group utPrimitives { - - /** - * @desc Initializes the SUT for ATSP testing - * See Test System Configuration Access to SUT - */ - template (value) UtInitialize m_utAtspInitialize := { - utAtspInitialize := { - mcmdRq := { - mCmdRef := 255, - mcmd := { - TestConfigIICP := { - location := '100000'B, // PX_LOC_ITS_ATSP_ACCESS_SETTINGS_MX_SAP_SET, - lowerLayers := PX_IUT_LOWER_LAYER_USED, - testMode := PX_IUT_TEST_MODE_ON - } - } // End of field 'mcmd' - } // End of field 'mcmdRq' - } // End of field 'utAtspInitialize' - } // End of template m_utAtspInitialize - - } // End of group utPrimitives - - group cfPrimitives { - - /** - * @desc Initializes the Configuration tester - */ - template (value) CfInitialize m_cfAtspInitialize := { - cfAtspInitialize := { - } // End of field 'cfAtspInitialize' - - } // End of template m_cfAtspInitialize - - } // End of group cfPrimitives - - } // End of group atspInitPrimitives - - -} // End of module LibItsAtsp_Templates \ No newline at end of file diff --git a/ttcn/CALM/ATSP/LibItsAtsp_TypesAndValues.ttcn3 b/ttcn/CALM/ATSP/LibItsAtsp_TypesAndValues.ttcn3 deleted file mode 100644 index f095e7247a04f9a2272845402a1d01c0b71e1cba..0000000000000000000000000000000000000000 --- a/ttcn/CALM/ATSP/LibItsAtsp_TypesAndValues.ttcn3 +++ /dev/null @@ -1,247 +0,0 @@ -/** - * @author ETSI / STF455 - * @version $URL$ - * $Id$ - * @desc Types and constants definitions for Access Technology Layer (ISO 21218) - */ -module LibItsAtsp_TypesAndValues { - - import from CALMiitsscu language "ASN.1:1997" { - type - McmdRq - }; - import from CALMmsap language "ASN.1:1997" { - type - SimIUTcmd, SimIUTreq, CIstateChng, - MI_Command_request, MI_Command_confirm, - MI_Request_request, MI_Request_confirm, - MI_Get_request, MI_Get_confirm, - MI_Set_request, MI_Set_confirm, - ErrStatus, WakeUp, - CONcmd - }; - - import from CALMllsap language "ASN.1:1997" { - type - INsapPrimitivesUp, INsapPrimitivesDown, - I_ParamNo, INtxStatus, CIstatus, - UserPriority - }; - - import from LibCommon_BasicTypesAndValues { - type - UInt8 - }; - - group cfContants { - - const UInt8 c_miCmd_regCmd := 1; - const UInt8 c_miCmd_ciState := 2; - const UInt8 c_miCmd_wakeUp := 3; - const UInt8 c_miCmd_rTScmd := 4; - const UInt8 c_miCmd_rTSackCmd := 5; - const UInt8 c_miCmd_cONcmd := 6; - const UInt8 c_miCmd_rIcmd := 7; - const UInt8 c_miCmd_manuCmd := 8; - const UInt8 c_miCmd_vciCmd := 9; - const UInt8 c_miCmd_monitor := 10; - const UInt8 c_miCmd_unitDataCmd := 11; - const UInt8 c_miCmd_UnknownCmd := 254; // this is not part of the standard, only for testing. - const UInt8 c_miCmd_testMI := 255; - - const UInt8 c_miReq_regReq := 1; - const UInt8 c_miReq_prioReg := 2; - const UInt8 c_miReq_rTSreq := 3; - const UInt8 c_miReq_rTSackReq := 4; - const UInt8 c_miReq_rIreq := 5; - const UInt8 c_miReq_manuReq := 6; - const UInt8 c_miReq_events := 7; - const UInt8 c_miReq_posUpdateReq := 8; - const UInt8 c_miReq_unitDataReq := 9; - const UInt8 c_miReq_testMIecho := 255; - - const CONcmd c_ciConDeleteAC := 0; - const CONcmd c_ciConConnect := 1; - const CONcmd c_ciConDisconnect :=255; - - const CIstateChng c_ciStateChngDeregister := 0; - const CIstateChng c_ciStateChngActivate := 4; - const CIstateChng c_ciStateChngResume := 8; - const CIstateChng c_ciStateChngConnect := 16; - const CIstateChng c_ciStateChngDisconnect := 32; - const CIstateChng c_ciStateChngSuspend := 64; - const CIstateChng c_ciStateChngInactivate := 128; - const CIstateChng c_ciStateChngInvalidValue := 255; - - const CIstatus c_ciStatusNot_existent := 0; - const CIstatus c_ciStatusExistent := 1; - const CIstatus c_ciStatusUnknown := 2; - const CIstatus c_ciStatusRegistered := 4; - const CIstatus c_ciStatusActive := 8; - const CIstatus c_ciStatusConnected := 16; - const CIstatus c_ciStatusSuspended := 64; - const CIstatus c_ciStatusInactive := 128; - - const UInt8 c_PrioStatus_release := 0; - const UInt8 c_PrioStatus_request :=16; - const UInt8 c_PrioStatus_ignored := 64; - const UInt8 c_PrioStatus_granted := 128; - - const I_ParamNo c_ciIParamNoErrors := 0; - const I_ParamNo c_ciIParamNoCommProfile := 2; - const I_ParamNo c_ciIParamNoProperties := 3; - const I_ParamNo c_ciIParamNoManuDeviceID := 4; - const I_ParamNo c_ciIParamNoITS_scuId := 5; - const I_ParamNo c_ciIParamNoMedID := 6; - const I_ParamNo c_ciIParamNoLocalCIID := 7; - const I_ParamNo c_ciIParamNoTimeoutReg := 8; - const I_ParamNo c_ciIParamNoMacAddress := 9; - const I_ParamNo c_ciIParamNoMacAddrTemp := 10; - const I_ParamNo c_ciIParamNoCiClass := 11; - const I_ParamNo c_ciIParamNoCiaClass := 12; - const I_ParamNo c_ciIParamNoCiStatus := 13; - const I_ParamNo c_ciIParamNoNotify := 16; - const I_ParamNo c_ciIParamNoMedType := 17; - const I_ParamNo c_ciIParamNoRegInfo := 18; - const I_ParamNo c_ciIParamNoConnect := 19; - const I_ParamNo c_ciIParamNoSimPin := 20; - const I_ParamNo c_ciIParamNoProviderInfo := 21; - const I_ParamNo c_ciIParamNoMinUserPriority := 22; - const I_ParamNo c_ciIParamNoQueueLevel := 23; - const I_ParamNo c_ciIParamNoQueueLowTh := 24; - const I_ParamNo c_ciIParamNoQueueAlarmTh := 25; - const I_ParamNo c_ciIParamNoDistancePeer := 26; - const I_ParamNo c_ciIParamNoCommRangeRef := 27; - const I_ParamNo c_ciIParamNoTimeOfLastRecep := 28; - const I_ParamNo c_ciIParamNoInactTimeLimit := 29; - const I_ParamNo c_ciIParamNoMediumUsage := 30; - const I_ParamNo c_ciIParamNoMedUseObsTime := 31; - const I_ParamNo c_ciIParamNoPeerMAC := 32; - const I_ParamNo c_ciIParamNoVirtualCI := 33; - const I_ParamNo c_ciIParamNoMinPrioCrossCI := 34; - const I_ParamNo c_ciIParamNoRxSens := 35; - const I_ParamNo c_ciIParamNoTxPower := 36; - const I_ParamNo c_ciIParamNoTxPowMax := 37; - const I_ParamNo c_ciIParamNoPeerRXpower := 38; - const I_ParamNo c_ciIParamNoDataRate := 39; - const I_ParamNo c_ciIParamNoDataRateNW := 40; - const I_ParamNo c_ciIParamNoDataRatesNW := 41; - const I_ParamNo c_ciIParamNoDataRateNWreq := 42; - const I_ParamNo c_ciIParamNoDirectivity := 43; - const I_ParamNo c_ciIParamNoBlockLength := 44; - const I_ParamNo c_ciIParamNoFreeAirTime := 45; - const I_ParamNo c_ciIParamNoFrameLengthMax := 46; - const I_ParamNo c_ciIParamNoKineVectIn := 47; - const I_ParamNo c_ciIParamNoKineVectOut := 48; - const I_ParamNo c_ciIParamNoCost := 49; - const I_ParamNo c_ciIParamNoReliability := 50; - const I_ParamNo c_ciIParamNoLogicalChannel := 51; - - const UserPriority c_IParamValueMinPrioCrossCI := 100; - - const ErrStatus c_ciErrStatusSuccess := 0; - const ErrStatus c_ciErrStatusUnspecFailure := 1; - const ErrStatus c_ciErrStatusInvalParamNo := 2; - const ErrStatus c_ciErrStatusInvalParamVal := 3; - const ErrStatus c_ciErrStatusRiViolation := 4; - const ErrStatus c_ciErrStatusCmdReqNo := 5; - const ErrStatus c_ciErrStatusCmdReqVal := 6; - const ErrStatus c_ciErrStatusAccessViolation := 7; - const ErrStatus c_ciErrStatusInvalidType := 8; - const ErrStatus c_ciErrStatusSequenceError := 9; - const ErrStatus c_ciErrStatusNonavailValue := 10; - const ErrStatus c_ciErrStatusHardwareFailure := 255; - - - const WakeUp c_ciWakeUpDisable := 0; - const WakeUp c_ciWakeUpEnable := 255; - - const INtxStatus c_ciINtxStatus_Success := 0; - const INtxStatus c_ciINtxStatus_QueueFull := 1; - const INtxStatus c_ciINtxStatus_Timeout := 2; - const INtxStatus c_ciINtxStatus_Priority := 3; - const INtxStatus c_ciINtxStatus_unspecFailure := 255; - - } - - group cnPrimitives { - /** - * @desc Trigger to initialize the IUT. - * @member McmdRq MN-COMMAND-Request message to initialize the upper tester - * - * @see TS 1xx xxx V<0.0.0> (<2013-04>) - */ - type record UtAtspInitialize { - McmdRq mcmdRq - } with { - encode (mcmdRq) "LibItsIicp_asn1" - } - - /** - * @desc Trigger to initialize the IUT. - * @member McmdRq MN-COMMAND-Request message to initialize the upper tester - * - * @see TS 1xx xxx V<0.0.0> (<2013-04>) - */ - type record CfAtspInitialize { - } - - /** - * @desc Send a MI-SAP.request primitive to the Management layer through a SAP. - * @member miRequestRequest MI_Request_request primitive - */ - type union CfAtspEventInd { - MI_Request_request miRequestRequest, - MI_Command_confirm miCommandConfirm, - MI_Get_confirm miGetConfirm, - MI_Set_confirm miSetConfirm - } - with { - encode (miCommandConfirm, miRequestRequest, miGetConfirm, miSetConfirm) "LibItsCALMmsap_asn1" - } - - /** - * @desc Send a MI-SAP.request primitive to the Management layer through a SAP. - * @member mnCommandRequest MI_Command_request primitive - */ - type union CfAtspEvent { - MI_Request_confirm miRequestConfirm, - MI_Command_request miCommandRequest, - MI_Get_request miGetRequest, - MI_Set_request miSetRequest - } - with { - encode (miRequestConfirm, miCommandRequest, miGetRequest, miSetRequest) "LibItsCALMmsap_asn1" - } - - - } // End of group cnPrimitives - - - group utPrimitives { - - /** - * @desc Present an IN-SAP service primitive to the access layer - * @member inSapPrimitivesDown IN-SAP down primitive - */ - type union UtAtspEvent { - INsapPrimitivesDown inSapPrimitivesDown - } - with { - encode (inSapPrimitivesDown) "LibItsAtsp_asn1" - } - - /** - * @desc Present an IN-SAP service primitive to networking & transport layer - * @member inSapPrimitivesUp IN-SAP up primitive - */ - type union UtAtspEventInd { - INsapPrimitivesUp inSapPrimitivesUp - } - with { - encode (inSapPrimitivesUp) "LibItsAtsp_asn1" - } - - } // End of group utPrimitives - -} // End of module LibItsAtsp_TypesAndValues diff --git a/ttcn/CALM/FNTP/LibItsFntp_Functions.ttcn3 b/ttcn/CALM/FNTP/LibItsFntp_Functions.ttcn3 deleted file mode 100644 index 7e83f7013375bb5027e7a935ebb1f16bc460b45c..0000000000000000000000000000000000000000 --- a/ttcn/CALM/FNTP/LibItsFntp_Functions.ttcn3 +++ /dev/null @@ -1,1485 +0,0 @@ -/** - * @author ETSI / STF422_EETS - * @version $URL$ - * $Id$ - * @desc FAST networking & transport layer protocol (ISO 29281-2) functions - */ -module LibItsFntp_Functions { - - // Libcommon - import from LibCommon_Sync { - function - f_connect4SelfOrClientSync, f_disconnect4SelfOrClientSync, - f_selfOrClientSyncAndVerdict, f_selfOrClientSyncAndVerdictTestBody; - altstep a_shutdown - }; - import from LibCommon_VerdictControl { - type FncRetCode - }; - import from LibCommon_Time { - function f_sleep, f_sleepIgnoreDef - }; - import from LibCommon_BasicTypesAndValues { - type UInt16 - }; - - // LibIts - - // LibItsCalm - import from CALMmanagement language "ASN.1:1997" { - type StationID, ITS_scuId; - }; - import from CALMllsap language "ASN.1:1997" { - type - EUI64, IN_SAPaddress, LLserviceAddr, Link_ID, AccessParameters - }; - import from CALMmsap language "ASN.1:1997" { - type - FWTsetNot - }; - import from CITSapplReq language "ASN.1:1997" { - type ServiceRef - }; - import from CALMfntp language "ASN.1:1997" all; - import from LibItsFntp_TypesAndValues { - const c_portDyn, c_portNon; - type - UtFntpEvent, UtFntpEventInd, - CfFntpEventInd - }; - import from LibItsFntp_Pics { - modulepar PICS_ITS_MGT_NOT - }; - import from LibItsFntp_Templates all; - import from LibItsFntp_Pixits all; - import from LibItsFntp_Pics { - modulepar PICS_ITS_S_INW, PICS_ROLE_RH; - }; - import from LibItsMgt_TypesAndValues { - group constants - }; - import from LibItsMgt_Templates { - template - mdw_fwtSetNotRequestReq, mdw_fwtDeleteFntp, - mw_mnRequestRequest_setNotFNTP - }; - import from LibItsCalm_Interface { - type - UtInitialize, CfInitialize, CfEventInd, - UtResult, CfResult, - ItsCalm - }; - - /** - * @desc Upper tester functions - */ - group utFunctions { - - /** - * @desc Requests to bring the IUT in an initial state - * @param p_utInitialize The initialisation to trigger. - * @verdict Unchanged on success, fail on error and inconc otherwise - */ - function f_utFntpInitializeIut(template (value) UtInitialize p_utInitialize) runs on ItsCalm { - - utPort.send(p_utInitialize); - tc_wait.start; - alt { - [] utPort.receive(UtResult:true) { - tc_wait.stop; - log("*** f_utFntpInitializeIut: INFO: IUT initialized ***"); - } - [] utPort.receive { - tc_wait.stop; - log("*** f_utFntpInitializeIut: INFO: IUT could not be initialized ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] tc_wait.timeout { - log("*** f_utFntpInitializeIut: INFO: IUT could not be initialized in time ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [else] { // Shortcut defaults - //f_sleep(0.050); // 50 ms - repeat; - } - } // End of 'alt' statement - - } // End of function f_utFntpInitializeIut - - /** - * @desc Send a NFsapPrimitivesDown primitive and wait for the NFsapPrimitivesUp confirm response - * @param p_utFntpEvent The NFsapPrimitivesDown request - * @param p_utFntpEventInd The NFsapPrimitivesDown response - * @param p_discard Set to true if responses shall be discard, otherwise the function failed - * @param p_result The response value - * @verdict Unchanged on success, fail on error and inconc otherwise - */ - function f_utFntpEventResponse( - in template (value) UtFntpEvent p_utFntpEvent, - in template (present) UtFntpEventInd p_utFntpEventInd, - in boolean p_discard, - out UtFntpEventInd p_result) - runs on ItsCalm { - -// log("*** f_utFntpEventResponse: INFO: Send message: ", p_commandReq, " ***"); - utPort.send(p_utFntpEvent); -// log("*** f_utFntpEventResponse: INFO: Expected UtCommandConfirm: ", p_commandConf, " ***"); - tc_wait.start; - alt { - [] utPort.receive(p_utFntpEventInd) -> value p_result { -// log("*** f_utFntpEventResponse: INFO: Receive expected confirm: message ***"); - tc_wait.stop; - } - [] utPort.receive(UtFntpEventInd:? ) -> value p_result { - if (p_discard == false) { - tc_wait.stop; - log("*** f_utFntpEventResponse: ERROR: Event not correctly indicated at application layer ***", p_result); - f_selfOrClientSyncAndVerdict("fail", e_error); - } - else { - log("*** f_utFntpEventResponse: INFO: Another event indicated at application layer, repeating check ***"); - repeat; - } - } - [] tc_wait.timeout { - if (p_discard == false) { - log("*** f_utFntpEventResponse: ERROR: Timeout while waiting for event check result ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - else { - log("*** f_utFntpEventResponse: INFO: Event not indicated at application layer ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - } - } // End of 'alt' statement - - } // End of function f_utFntpEventResponse - - /** - * @desc Send a NFsapPrimitivesDown primitive and do not wait for the NFsapPrimitivesDown confirm response - * @param p_utFntpEvent The NFsapPrimitivesDown primitive - * @verdict Unchanged on success, fail otherwise - */ - function f_utFntpEvent( - in template (value) UtFntpEvent p_utFntpEvent - ) runs on ItsCalm { - var UtFntpEventInd v_utFntpEventInd; - - utPort.send(p_utFntpEvent); - tc_noac.start; - alt { - [] utPort.receive(mdw_fntpCommConfirm_anyError(?)) { // Failure expected - tc_noac.stop; - log("*** f_utFntpEvent: ERROR: Message is confirmed on error only (see ISO/IEC WD 29281-1 Clause 7.6.2 Basic procedure) ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] utPort.receive(mw_fntpCommConfirm_success) { // FIXME Use altstep for UtPort - tc_noac.stop; - log("*** f_utFntpEvent: INFO: Message was confirmed successfully ***"); - } - [] utPort.receive(UtFntpEventInd:?) -> value v_utFntpEventInd { // FIXME Use altstep for UtPort - tc_noac.stop; - log("*** f_utFntpEvent: INFO: Unexpected message was received ***", v_utFntpEventInd); - // FIXME Check the content of the notification, not sure which fields should be set - repeat; - } - [] tc_noac.timeout { - log("*** f_utFntpEvent: INFO: CommandRequest succeed ***"); - } - } // End of 'alt' statement - - } // End of function f_utFntpEvent - - } // End of group utFunctions - - /** - * @desc Config tester functions - */ - group cfFunctions { - - /** - * @desc Requests to initialize the configuration tester - * @param p_cfInitialize The initialisation to trigger. - * @verdict Unchanged on success, fail otherwise - */ - function f_cfFntpInitialize(template (value) CfInitialize p_cfInitialize) runs on ItsCalm { - - cfPort.send(p_cfInitialize); - tc_wait.start; - alt { - [] cfPort.receive(CfResult:true) { - tc_wait.stop; - log("*** f_cfFntpInitialize: INFO: Configuration tester initialized ***"); - } - [] cfPort.receive { - tc_wait.stop; - log("*** f_cfFntpInitialize: INFO: Configuration tester could not be initialized ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] tc_wait.timeout { - log("*** f_cfFntpInitialize: INFO: Configuration tester could not be initialized in time ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [else] { // Shortcut defaults - //f_sleep(0.050); // 50 ms - repeat; - } - } // End of 'alt' statement - - } // End of function f_cfFntpInitialize - - /** - * @desc Await for notification on MN-SAP - * @param p_cfFntpEventInd The MN_Request_request notification message. - * @param p_discard Set to true if responses shall be discard, otherwise the function failed - * @verdict Unchanged on success, fail otherwise - */ - function f_cfFntpAwaitNotificationToManagement( - in template CfFntpEventInd p_cfFntpEventInd, - in boolean p_discard - ) runs on ItsCalm { - var CfFntpEventInd p_result; - - log("*** f_cfFntpAwaitNotificationToManagement: INFO: Expected event: ", p_cfFntpEventInd, " ***"); - tc_wait.start; - alt { - [] cfPort.receive(p_cfFntpEventInd) { - tc_wait.stop; - log("*** f_cfFntpAwaitNotificationToManagement: INFO: Notification event received ***"); - } - [] cfPort.receive(CfFntpEventInd: ?) -> value p_result { - if (p_discard == false) { - tc_wait.stop; - log("*** f_cfFntpAwaitNotificationToManagement: ERROR: Another event indicated at application layer ***", p_result); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } else { - log("*** f_cfFntpAwaitNotificationToManagement: INFO: Another event indicated at application layer, repeating check ***"); - repeat; - } - } - [] tc_wait.timeout { - if (p_discard == false) { - log("*** f_cfFntpAwaitNotificationToManagement: ERROR: Timeout while waiting for event check result ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } else { - log("*** f_cfFntpAwaitNotificationToManagement: INFO: Event not indicated at application layer ***"); - } - } - } // End of 'alt' statement - - } // End of function f_cfFntpAwaitNotificationToManagement - - } // End of group cfFunctions - - /** - * @desc Test adapter setting functions - */ - group fntpConfigurationFunctions { - - /** - * @desc This configuration features: - *
  • Host and Router are combined (see ISO/WD 29281-2 - Figure 1 - Implementation architecture I)
  • - *
  • MGT1 IISC Port (IISC/LAN) is not used
  • - */ - function f_cf01Up() runs on ItsCalm { - - // Sanity check - if (PICS_ITS_S_INW or not(PICS_ROLE_RH)) { - log("*** f_cf01Up: ERROR: 'PICS_ITS_S_INW or not(PICS_ROLE_RH)' required for stting up CF01 ***"); - stop; - } - - // Map - map(self:utPort, system:utPort); - map(self:cfPort, system:cfPort); // FIXME Add check PICS_ITS_MGT_NOT - map(self:fntpPort, system:fntpPort); - - vc_commandRef := 0; - vc_pduCounter := 0; - - // Connect - f_connect4SelfOrClientSync(); - - // Set processing on shutdown - activate(a_cf01Down()); - - // Initialize the component - f_initialiseComponent("cf01Up"); - - // Initialze the IUT - f_initialState(); - - } // End of function f_cf01Up - - /** - * @desc This configuration features: - *
  • Host and Router are separated (see ISO/WD 29281-2 - Figure 3 - Implementation architecture II & III)
  • - *
  • MGT1 IISC Port (IISC/LAN) is not used
  • - */ - function f_cf02Up() runs on ItsCalm { - - // Sanity check - if (not(PICS_ITS_S_INW)) { - log("*** f_cf02Up: ERROR: PICS_ITS_S_INW required for setting uo CF02 ***"); - stop; - } - - vc_commandRef := 0; - vc_pduCounter := 0; - - // Map - map(self:utPort, system:utPort); - map(self:cfPort, system:cfPort); // FIXME Add check PICS_ITS_MGT_NOT - map(self:fntpPort, system:fntpPort); - - // Connect - f_connect4SelfOrClientSync(); - - // Set processing on shutdown - activate(a_cf02Down()); - - // Initialize the component - f_initialiseComponent("cf02Up"); - - // Initialze the IUT - f_initialState(); - - } // End of function f_cf02Up - - /** - * @desc Deletes configuration cf01 - */ - function f_cf01Down() runs on ItsCalm { - - deactivate; - - // Unmap - unmap(self:utPort, system:utPort); - unmap(self:cfPort, system:cfPort); // FIXME Add check PICS_ITS_MGT_NOT - unmap(self:fntpPort, system:fntpPort); - - // Disconnect - f_disconnect4SelfOrClientSync(); - - } // end f_cf01Down - - /** - * @desc Deletes configuration cf02 - */ - function f_cf02Down() runs on ItsCalm { - - deactivate; - - // Unmap - unmap(self:utPort, system:utPort); - unmap(self:cfPort, system:cfPort); // FIXME Add check PICS_ITS_MGT_NOT - unmap(self:fntpPort, system:fntpPort); - - // Disconnect - f_disconnect4SelfOrClientSync(); - - } // End of f_cf02Down - - /** - * @desc Behavior function for initializing component's variables and tables - * @param p_componentName Name of the component - */ - function f_initialiseComponent(in charstring p_componentName) runs on ItsCalm { - - // Initialize variables - vc_componentName := p_componentName; - vc_portNumber := { portLong := c_portNon }; - - // Set defaults - activate(a_fntpDefault()); // Default for Fntp module - } // End of f_initialiseComponent - - } // End of group fntpConfigurationFunctions - - /** - * @desc Preambule functions - */ - group preambles { - - /** - * @desc Brings the IUT into an initial state. - */ - function f_initialState() runs on ItsCalm { - - if (PICS_ITS_MGT_NOT == true) { - f_utFntpInitializeIut(m_utFntpInitialize_with_management); - } else { - f_utFntpInitializeIut(m_utFntpInitialize_without_management); - } - f_cfFntpInitialize(m_cfFntpInitialize); - f_sleepIgnoreDef(PX_WAIT_FOR_IUT_READY); // Wait until the IUT is in a stable situation (beaconing...) - cfPort.clear; // Because TestConfigIICP should trigger management port deletion message - } // End of function f_initialState - - /** - * @desc Implement the following Initial conditions: - *
  • the IUT having set up properly the FNTP forwarding table, and the local port number of the ITS-S application
  • - *
  • the IUT having an entry in the FNTP forwarding table for unicast communication with remote Link Port and Service Port
  • - *
  • the IUT having an entry in the FNTP forwarding table for Service Port = port1, but not for Service Port = port2
  • - *
  • the IUT having an entry in the FNTP forwarding table for a Service Port, but no entry for the peer station
  • - * @param p_port Indicates the port number - * @verdict Unchanged on success, set to fail on error (e_timeout) - * @see ISO 29281-2 Clause 8.2 - */ - // TODO Consider case of c_portDyn, and use f_utEventResponse - function f_initializeFntpForwardingTable(in PortNumber p_port) runs on ItsCalm { - - f_utFntpEventResponse( - m_generateNfFntpPortCreationRequest( - f_getIutServiceRef(), - p_port - ), - mw_utFntpEventInd( - mw_fntpPortConfirm( - f_getIutServiceRef(), - p_port - ) - ), - false, - vc_utEventInd.utFntpEventInd - ); - // Store the allocated port number - vc_portNumber := p_port; - if (ischosen(vc_portNumber.portShort)) { - log("*** f_initializeFntpForwardingTable: INFO: portNumber value is: " & int2str(vc_portNumber.portShort) & " ***"); - } else { - log("*** f_initializeFntpForwardingTable: INFO: portNumber value is: " & int2str(vc_portNumber.portLong) & " ***"); - } - if (PICS_ITS_MGT_NOT) { - // And wait for a MN-SAP.MN-REQUEST/FWTupdate message sent to ITS management entity to update the forwarding table - f_fntpAwaitFwtUpdate_reference( - vc_portNumber, - vc_reference - ); - } - } // End of function f_initializeFntpForwardingTable - - /** - * @desc Wait for MN_Request_request/FWTupdate message sent by IST management entity to update the forwarding table - * @param p_portNumber Contains either the value PORT_NON in order to indicate dynamic assignment of a port number by the port number manager, or a valid value of a well-known static port PORT_REG - * @param p_reference The reference value associated to the provided port number - * @verdict Unchanged - */ - function f_fntpAwaitFwtUpdate_reference( - in template (present) PortNumber p_portNumber, - out integer p_reference - ) runs on ItsCalm { - - f_cfAwaitCreationPortNotificationToManagement( - mw_cfFntpEventInd( - mdw_fwtSetNotRequestReq( - p_portNumber, - PX_USER_PRIORITY, - c_linkId_unknown, - c_unknown_portLong, - c_unknown_portLong - ) - ), - false, - p_reference - ); - } // End of function f_fntpAwaitFwtUpdate_reference - - /** - * @desc Wait for notification from IUT to Management layer - * @param p_cfFntpEventInd Receive template of the expected event - * @param p_discard Set to true if command confirm responses shall be discard, otherwise the function failed - * @param p_reference The reference value associated to the provided port number - * @verdict Unchanged on success, set to fail on error (e_timeout) - */ - function f_cfAwaitCreationPortNotificationToManagement( - in template CfFntpEventInd p_cfFntpEventInd, - in boolean p_discard, - out integer p_reference - ) runs on ItsCalm { - var CfFntpEventInd p_result; - - p_reference := 65535; // See noFNTPfwtEntries FIXME Create a constant - - log("*** f_cfAwaitCreationPortNotificationToManagement: INFO: Expected event: ", p_cfFntpEventInd, " ***"); - tc_wait.start; - alt { - [] cfPort.receive(p_cfFntpEventInd) -> value p_result { - tc_wait.stop; - p_reference := p_result.mnRequestRequest.request_param.FWTsetNot.fwt.SetNotFNTP.reference; - log("*** f_cfAwaitCreationPortNotificationToManagement: INFO: Notification event received, reference entry=", p_reference, " ***"); - } - [] cfPort.receive(CfFntpEventInd: ?) -> value p_result { - if (p_discard == false) { - tc_wait.stop; - log("*** f_cfAwaitCreationPortNotificationToManagement: ERROR: Another event indicated at application layer ***", p_result); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } else { - log("*** f_cfAwaitCreationPortNotificationToManagement: INFO: Another event indicated at application layer, repeating check ***"); - repeat; - } - } - [] tc_wait.timeout { - if (p_discard == false) { - log("*** f_cfAwaitCreationPortNotificationToManagement: ERROR: Timeout while waiting for event check result ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } else { - log("*** f_cfAwaitCreationPortNotificationToManagement: INFO: Event not indicated at application layer ***"); - } - } - } // End of 'alt' statement - - } // End of function f_cfAwaitCreationPortNotificationToManagement - - /** - * @desc Wait for MN_Request_request/FWT Update notification from IUT to Management layer - * @param p_portNumber The provided port number value - * @param p_linkId Set VCI link identifier - * @param p_remotePortNumber The remote port number value - * @param p_linkPortNumber The linked port number value - * @verdict Unchanged on success, set to fail on error (e_timeout) - */ - function f_fntpAwaitFwtUpdate( - in template (present) PortNumber p_portNumber, - in template (value) Link_ID p_linkId, - in template (value) PortNumber p_remotePortNumber, - in template (value) PortNumber p_linkPortNumber - ) runs on ItsCalm { - - f_cfFntpAwaitNotificationToManagement( - mw_cfFntpEventInd( - mdw_fwtSetNotRequestReq( - p_portNumber, - PX_USER_PRIORITY, - p_linkId, - p_remotePortNumber, - p_linkPortNumber - ) - ), - false - ); - } // End of function f_fntpAwaitFwtUpdate - - /** - * @desc Wait for MN_Request_request/FWT Delete notification from IUT to Management layer - * @param p_reference The reference value associated to the provided port number - * @verdict Unchanged on success, set to fail on error (e_timeout) - */ - function f_fntpAwaitFwtDelete( - in template (value) integer p_reference - ) runs on ItsCalm { - - f_cfFntpAwaitNotificationToManagement( - mw_cfFntpEventInd( - mdw_fwtDeleteFntp( - p_reference - ) - ), - false - ); - } // End of function f_fntpAwaitFwtDelete() - - /** - * @desc Generate a NF-SAP request and wait for a confirm message - * @param p_generateNfSapRequest The NF-SAP request message to send - * @param p_nfSapRequestConfirm The command confirm response - * @param p_discard Set to true if command confirm responses shall be discard, otherwise the function failed - * @param p_result The command/request confirm response - * @verdict Unchanged on success, fail otherwise - */ - function f_fntpGenerateNfSApRequestWithConfirm( - in template (value) UtFntpEvent p_generateNfSapRequest, - in template (present) UtFntpEventInd p_nfSapRequestConfirm, - in boolean p_discard, - out UtFntpEventInd p_result - ) runs on ItsCalm { - - f_utFntpEventResponse( - p_generateNfSapRequest, - p_nfSapRequestConfirm, - p_discard, - p_result - ); - - } // End of function f_fntpGenerateNfSApRequestWithConfirm - - /** - * @desc Generate a NFsapPrimitivesDown primitive without waiting for a confirm message - * @param p_utFntpEvent The NFsapPrimitivesDown primitive to send - * @verdict Unchanged - */ - function f_fntpGenerateNfSApRequestWithoutConfirm( - in template (value) UtFntpEvent p_utFntpEvent - ) runs on ItsCalm { - - f_utFntpEvent(p_utFntpEvent); - - } // End of function f_fntpGenerateNfSApRequestWithoutConfirm - - /** - * @desc Await for NFsapPrimitivesUp primitive - * @param p_portNumber The port number value - * @param p_linkId The source link identifier - * @verdict Unchanged on success, fail on error and inconc otherwise - */ - function f_fntpAwaitNfSapCommConfirm( - in template (present) PortNumber p_portNumber, - in template (present) Link_ID p_linkId - ) runs on ItsCalm { - var UtFntpEventInd v_utFntpEventInd; - - log("*** f_fntpAwaitNfSapCommConfirm: DEBUG: Expected template: ", - mw_utFntpEventInd( - mdw_checkNfFntpCommIndication( - vc_portNumber, // Destination port of DL-UNITDATA.request primitive - p_portNumber, // Source port of DL-UNITDATA.request primitive - p_linkId // Source address of DL-UNITDATA.request primitive - ))); - tc_wait.start; - alt { - [] utPort.receive( - mw_utFntpEventInd( - mdw_checkNfFntpCommIndication( - vc_portNumber, // Destination port of DL-UNITDATA.request primitive - p_portNumber, // Source port of DL-UNITDATA.request primitive - p_linkId // Source address of DL-UNITDATA.request primitive - ))) -> value v_utFntpEventInd { - tc_wait.stop; - log("*** f_fntpAwaitNfSapCommConfirm: INFO: NF-SAP Communication indication received:", v_utFntpEventInd, " ***"); - } - [] utPort.receive( - mw_utFntpEventInd( - mw_checkNfFntpCommIndication_any - )) -> value v_utFntpEventInd { - tc_wait.stop; - log("*** f_fntpAwaitNfSapCommConfirm: INFO: Unexpected NF-SAP Communication indication received:", v_utFntpEventInd, " ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] utPort.receive(UtFntpEventInd:?) -> value v_utFntpEventInd { - tc_wait.stop; - log("*** f_fntpAwaitNfSapCommConfirm: INFO: Unknown NF-SAP Communication indication received:", v_utFntpEventInd, " ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] tc_wait.timeout { - log("*** f_fntpAwaitNfSapCommConfirm: ERROR: Timeout while waiting for event check result ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - } // End of 'alt' statement - } // End of function f_fntpAwaitNfSapCommConfirm - - /** - * @desc Call this method to remove entry created by f_initializeFntpForwardingTable() in FNTP Forwarding Table - * @verdict Unchanged on success, fail on error and inconc otherwise - */ - function f_unInitializeFntpForwardingTable() runs on ItsCalm { - // check c_portDyn - // Send for FTN-SOCKET.request & Wait for FTN-SOCKET.confirm - - f_utFntpEventResponse( - m_generateNfFntpPortDeletionRequest( - f_getIutServiceRef(), - vc_portNumber - ), - mw_utFntpEventInd( - mw_fntpPortConfirm( - f_getIutServiceRef(), - c_unknown_portLong - ) - ), - false, - vc_utEventInd.utFntpEventInd - ); - - if (PICS_ITS_MGT_NOT) { - // And wait for a MN-SAP.MN-REQUEST/FWTupdate message sent to ITS management entity to update the forwarding table - f_fntpAwaitFwtDelete( - vc_reference - ); - } - } // End of function f_unInitializeFntpForwardingTable - - /** - * @desc Trigger a basic FNTPNPDU to create an entry in forwarding table for a known peer station - * @verdict Unchanged on success, fail on error and inconc otherwise - */ - function f_setupKnownPeerStation() runs on ItsCalm { - f_sendBasicFntpNpdu( - f_getIutRemotePortNumberValue(), - vc_portNumber, - m_llServiceAddr(mw_linkId(f_getIutRemoteDestCiidUc(), f_getIutWlLocalCiid())), - m_llServiceAddr(mw_linkId(f_getIutWlLocalCiid(), f_getIutWlLocalCiid())) - ); - if (PICS_ITS_MGT_NOT) { - // And wait for a MN-SAP.MN-REQUEST/FWTupdate message sent to ITS management entity to update the forwarding table - f_fntpAwaitFwtUpdate( - vc_portNumber, - mw_linkId(f_getIutRemoteDestCiidUc(), f_getIutWlLocalCiid()), - f_getIutRemotePortNumberValue(), - vc_portNumber - ); - } - // And wait for NF-SAP Comm.ind message sent by the FNTP to the ITS facilities entity - f_fntpAwaitNfSapCommConfirm( - f_getIutRemotePortNumberValue(), - m_linkId(f_getIutRemoteDestCiidUc(), f_getIutWlLocalCiid()) - ); - } // End of function f_setupKnownPeerStation - - } // End of group preambles - - /** - * @desc Postambule functions - */ - group postambles { - - /** - * @desc The default postamble. - */ - function f_poDefault() runs on ItsCalm { - // Nothing to do - } - - } // End of group postambles - - /** - * @desc Message triggreing functions - */ - group messagesTriggering { - - /** - * @desc Triggers test adapter to send FNTP basic NDPU - * @param p_sourcePort Source port (c_portRtr or c_portHst) - * @param p_destinationPort Destination port (c_portRtr or c_portHst) - * @param p_inSapSourceAddress IN-SAP source port - * @param p_inSapDestAddress IN-SAP destination port - * @verdict Unchanged - */ - function f_sendBasicFntpNpdu( - in template (value) PortNumber p_sourcePort, - in template (value) PortNumber p_destinationPort, - in template (value) LLserviceAddr p_inSapSourceAddress, - in template (value) LLserviceAddr p_inSapDestAddress - ) runs on ItsCalm { - fntpPort.send( - m_fntpReq( - m_generateFntpNpdu( - p_inSapSourceAddress, - p_inSapDestAddress, - bit2oct( - encvalue( - m_fntpBasicNpdu( - p_sourcePort, - p_destinationPort - ) - ) - ) - ) - ) - ); - } // End of function f_sendBasicFntpNpdu - - /** - * @desc Triggers test adapter to send FNTP forwarding NDPU - * @param p_sourcePort Source port (c_portRtr or c_portHst) - * @param p_destinationPort Destination port (c_portRtr or c_portHst) - * @param p_fromPort Forwarding source port - * @param p_toPort Forwarding destination port - * @param p_inSapSourceAddress IN-SAP source port - * @param p_inSapDestAddress IN-SAP destination port - * @param p_counter Expected value of FNTP packet counter counter field - * @param p_hops N-hops value - * @verdict Unchanged - */ - function f_sendForwardingNpdu( - in template (value) PortNumber p_sourcePort, - in template (value) PortNumber p_destinationPort, - in template (value) PortNumber p_fromPort, - in template (value) PortNumber p_toPort, - in template (value) LLserviceAddr p_inSapSourceAddress, - in template (value) LLserviceAddr p_inSapDestAddress, - in template (value) FNTPpacketCounter p_counter, - in template (value) FNTPhopCount p_hops - ) runs on ItsCalm { - fntpPort.send( - m_fntpReq( - m_generateFntpNpdu( - p_inSapSourceAddress, - p_inSapDestAddress, - bit2oct( - encvalue( - md_fntpForwardingNpdu( - p_sourcePort, - p_destinationPort, - p_hops, - p_fromPort, - p_toPort, - p_counter - ) - ) - ) - ) - ) - ); - } // End of function f_sendForwardingNpdu - - /** - * @desc Triggers test adapter to send FNTP NDPU - * @param p_sourcePort Source port number - * @param p_destinationPort Destination port number - * @param p_inSapSourceAddress IN-SAP source port - * @param p_inSapDestAddress IN-SAP destination port - * @param p_hops N-hops value - * @verdict Unchanged - */ - function f_sendExtendedFntpNpdu( - in template (value) PortNumber p_sourcePort, - in template (value) PortNumber p_destinationPort, - in template (value) LLserviceAddr p_inSapSourceAddress, - in template (value) LLserviceAddr p_inSapDestAddress, - in FNTPhopCount p_hops - ) runs on ItsCalm { - fntpPort.send( - m_fntpReq( - m_generateFntpNpdu( - p_inSapSourceAddress, - p_inSapDestAddress, - bit2oct( - encvalue( - m_fntpExtendedNpdu( - p_sourcePort, - p_destinationPort, - p_hops - ) - ) - ) - ) - ) - ); - } // End of function f_sendExtendedFntpNpdu - - /** - * @desc Triggers lower tester to send FNTP station-internal NDPU with several hops and an invalid control field - * @param p_sourcePort Source port - * @param p_destinationPort Destination port - * @param p_inSapSourceAddress IN-SAP source port - * @param p_inSapDestAddress IN-SAP destination port - * @param p_hops N-hops value - * @verdict Unchanged - */ - function f_sendFntpNpduInvalidCtrlField( - in template (value) PortNumber p_sourcePort, - in template (value) PortNumber p_destinationPort, - in template (value) LLserviceAddr p_inSapSourceAddress, - in template (value) LLserviceAddr p_inSapDestAddress, - in template (value) FNTPhopCount p_hops - ) runs on ItsCalm { - fntpPort.send( - m_fntpReq( - m_generateFntpNpdu( - p_inSapSourceAddress, - p_inSapDestAddress, - bit2oct( - encvalue( - md_fntpExtendedNpdu_invalidCtrlField( - p_sourcePort, - p_destinationPort, - p_hops - ) - ) - ) - ) - ) - ); - } // End of function f_sendFntpNpduInvalidCtrlField - - /** - * @desc Triggers lower tester to send FNTP station-internal NDPU with bit5 set - * @param p_sourcePort Source port - * @param p_destinationPort Destination port - * @param p_inSapSourceAddress IN-SAP source port - * @param p_inSapDestAddress IN-SAP destination port - * @verdict Unchanged - */ - function f_sendFntpNpduInvalidBitSet( - in template (value) PortNumber p_sourcePort, - in template (value) PortNumber p_destinationPort, - in template (value) LLserviceAddr p_inSapSourceAddress, - in template (value) LLserviceAddr p_inSapDestAddress - ) runs on ItsCalm { - fntpPort.send( - m_fntpReq( - m_generateFntpNpdu( - p_inSapSourceAddress, - p_inSapDestAddress, - bit2oct( - encvalue( - md_fntpExtendedNpdu_invalidBitSet( - p_sourcePort, - p_destinationPort, - omit - ) - ) - ) - ) - ) - ); - } // End of function f_sendFntpNpduInvalidBitSet - - /** - * @desc Triggers test adapter to send FNTP NDPU - * @param p_sourcePort Source port - * @param p_destinationPort Destination port - * @param p_inSapSourceAddress IN-SAP source port - * @param p_inSapDestAddress IN-SAP destination port - * @param p_hops N-hops value - * @param p_rxCIP Receive (RX) parameter settings - * @param p_txCIP Transmit (TX) parameters of a VCI - * @param p_accessParams Access parameters - * @verdict Unchanged - */ - function f_sendFntpNpduCip( - in template (value) PortNumber p_sourcePort, - in template (value) PortNumber p_destinationPort, - in template (value) LLserviceAddr p_inSapSourceAddress, - in template (value) LLserviceAddr p_inSapDestAddress, - in template (value) FNTPhopCount p_hops, - in template (value) RXcip p_rxCip, // TODO Perhaps this parameter is not required, p_accessParams would be enough - in template (value) TXcip p_txCip, // TODO Perhaps this parameter is not required, p_accessParams would be enough - in template (value) AccessParameters p_accessParams - ) runs on ItsCalm { - fntpPort.send( - m_fntpReq( - md_generateFntpNpduCip( - p_inSapSourceAddress, - p_inSapDestAddress, - bit2oct( - encvalue( - md_fntpExtendedNpdu_cip( - p_sourcePort, - p_destinationPort, - p_hops, - p_rxCip, // TODO Perhaps this parameter is not required, p_accessParams would be enough - p_txCip // TODO Perhaps this parameter is not required, p_accessParams would be enough - ) - ) - ), - p_accessParams - ) - ) - ); - } // End of function f_sendFntpNpduCip - - /** - * @desc Triggers test adapter to send FNTP forwarding NDPU with an unknown ITS-SCU-ID - * @param p_sourcePort Source port (c_portRtr or c_portHst) - * @param p_destinationPort Destination port (c_portRtr or c_portHst) - * @param p_fromPort Forwarding source port - * @param p_toPort Forwarding destination port - * @param p_sourcePort IN-SAP source port - * @param p_destinationPort IN-SAP destination port - * @param p_counter Expected value of FNTP packet counter counter field - * @param p_hops N-hops value - * @verdict Unchanged - */ - function f_sendFntpForwardingNpduWithUnknownItsSciId( - in template (value) PortNumber p_sourcePort, - in template (value) PortNumber p_destinationPort, - in template (value) PortNumber p_fromPort, - in template (value) PortNumber p_toPort, - in template (value) LLserviceAddr p_inSapSourceAddress, - in template (value) LLserviceAddr p_inSapDestAddress, - in template (value) FNTPpacketCounter p_counter, - in template (value) FNTPhopCount p_hops - ) runs on ItsCalm { - fntpPort.send( - m_fntpReq( - m_generateFntpNpdu( - p_inSapSourceAddress, - p_inSapDestAddress, - bit2oct( - encvalue( - md_fntpForwardingNpdu_unknownItsScuId( - p_sourcePort, - p_destinationPort, - p_hops, - p_fromPort, - p_toPort, - p_counter - ) // End of field 'md_fntpForwardingNpdu_UnknownITS_SCU_ID' - ) // End of function encvalue - ) // End of function bit2oct - ) // End of field 'm_generateFntpNPDU' - ) - ); - } // End of function f_sendFntpForwardingNpduWithUnknownItsSciId - - /** - * @desc Triggers test adapter to send FNTP forwarding NDPU with CIP - * @param p_sourcePort Source port (c_portRtr or c_portHst) - * @param p_destinationPort Destination port (c_portRtr or c_portHst) - * @param p_fromPort Forwarding source port - * @param p_toPort Forwarding destination port - * @param p_sourcePort IN-SAP source port - * @param p_destinationPort IN-SAP destination port - * @param p_counter Expected value of FNTP packet counter counter field - * @param p_hops N-hops value - * @param p_rxCIP Receive (RX) parameter settings - * @param p_txCIP Transmit (TX) parameters of a VCI - * @verdict Unchanged - */ - function f_sendFntpForwardingNpduCip( - in template (value) PortNumber p_sourcePort, - in template (value) PortNumber p_destinationPort, - in template (value) PortNumber p_fromPort, - in template (value) PortNumber p_toPort, - in template (value) LLserviceAddr p_inSapSourceAddress, - in template (value) LLserviceAddr p_inSapDestAddress, - in template (value) FNTPpacketCounter p_counter, - in template (value) FNTPhopCount p_hops, - in template (value) RXcip p_rxCip, // TODO Perhaps this parameter is not required, p_accessParams would be enough - in template (value) TXcip p_txCip, // TODO Perhaps this parameter is not required, p_accessParams would be enough - in template (value) AccessParameters p_accessParams - ) runs on ItsCalm { - fntpPort.send( - m_fntpReq( - md_generateFntpNpduCip( - p_inSapSourceAddress, - p_inSapDestAddress, - bit2oct( - encvalue( - md_fntpForwardingNpdu_cip( - p_sourcePort, - p_destinationPort, - p_hops, - p_fromPort, - p_toPort, - p_counter, - p_rxCip, // TODO Perhaps this parameter is not required, p_accessParams would be enough - p_txCip // TODO Perhaps this parameter is not required, p_accessParams would be enough - ) // End of field 'md_fntpForwardingNpdu_CIP' - ) // End of function 'encvalue' - ), // End of function 'bit2oct' - p_accessParams - ) - ) - ); - } // End of function f_sendFntpForwardingNpduCip - - } // End of group messagesTriggering - - /** - * @desc Validation helpers functions - */ - group internalFunctions { // TODO Use parametrized function (ETSI ES 202 784) insetad of the three oct2xxx functions - - /** - * @desc This function convert the specified octetstring into a template (FNTPNPDU or FntpExtInd or FntpFwdInd) - * This SHALL be done due to the ASN.1 description of IN-SAP service primitives DL_Unitdata_request/DL_Unitdata_indication - * @param p_data An octetstring to decode - * @param p_syncPoint Current synchronisation point, required to set verdict according to the LibCommon rules - * @param p_decoded The decoded message - * @verdict Unchanged on success, set to fail otherwise - * @see ISO/CD 21218 - Clause 8.2.2 - */ - function f_oct2npdu(in octetstring p_data, in charstring p_syncPoint, out FNTPNPDU p_decoded) runs on ItsCalm { - var bitstring v_data; - var integer v_result; - -// log("*** f_oct2npdu: INFO: pdu: " & oct2str(p_data) & " ***"); - v_data := oct2bit(p_data); - v_result := decvalue(v_data, p_decoded); - if (v_result == 1) { - log("*** f_oct2npdu: FAIL: 'decvalue' operation failed ***"); - f_selfOrClientSyncAndVerdictTestBody(p_syncPoint, e_error); - } else if (v_result == 2) { - log("*** f_oct2npdu: FAIL: 'decvalue' operation failed, not enougth bits ***"); - f_selfOrClientSyncAndVerdictTestBody(p_syncPoint, e_error); - } -// log("*** f_oct2npdu: INFO: Decoded message done ***"); - } // End of function f_oct2npdu - - } // End of group internalFunctions - - /** - * @desc PIXIT accessors - */ - group iutFunctions { - - group cf01 { - - /** - * @desc Get the local identifier of the VCI - * @return The local identifier of the VCI - * @see PX_WL_LOCAL_CIID - * @verdict Unchanged - * @see ISO 21218 - Clause 6.2 Link Identifier - */ - function f_getIutWlLocalCiid() return EUI64 { - return PX_WL_LOCAL_CIID; - } - - function f_getIutWlRemoteCiid() return EUI64 { - return PX_WL_REMOTE_CIID; - } - - /** - * @desc Get the local identifier of the VCI for broadcast on ITS-S host - * @return The local identifier of the VCI for broadcast on ITS-S host - * @see PX_WL_REMOTE_CIID_BC - * @verdict Unchanged - */ - function f_getIutWlRemoteCiidBc() return EUI64 { - return PX_WL_REMOTE_CIID_BC; - } - - /** - * @desc Get the remote CIID for unicast (peer to peer) - * @return The remote CIID for unicast - * @see PX_WL_REMOTE_CIID_UC - * @verdict Unchanged - */ - function f_getIutWlRemoteCiidUc() return EUI64 { - return PX_WL_REMOTE_CIID_UC; - } - - /** - * @desc Get the IUT Link-ID in broadcast transmission mode - * @return The IUT Link-ID in broadcast transmission mode - * @see PX_WL_LINK_ID_BC - * @verdict Unchanged - * @see ISO 21218 - Clause 6.2 Link Identifier - */ - function f_getIutWlLinkIdBc() return Link_ID { - return PX_WL_LINK_ID_BC; - } - - /** - * @desc Get an unknown VCI to be used to transmit the packet, i.e. the peer station, for Unicast - * @return An unknown VCI to be used to transmit the packet - * @see PX_WL_LINK_ID_UNKWNON_UC - * @verdict Unchanged - */ - function f_getIutWlLinkIdUnknownUc() return Link_ID { - return PX_WL_LINK_ID_UNKWNON_UC; - } - - /** - * @desc Get the VCI to be used to transmit the packet, i.e. the peer station, for Unicast - * @return The VCI to be used to transmit the packet, i.e. the peer station, for Unicast - * @see PX_WL_LINK_ID_UC - * @verdict Unchanged - */ - function f_getIutWlLinkIdUc() return Link_ID { - return PX_WL_LINK_ID_UC; - } - - } // End of group cf01 - - group cf02 { - - /** - * @desc Get the local identifier of the VCI - * @return The local identifier of the VCI - * @see PX_LAN_LOCAL_CIID - * @verdict Unchanged - * @see ISO 21218 - Clause 6.2 Link Identifier - */ - function f_getIutLanLocalCiid() return EUI64 { - return PX_LAN_LOCAL_CIID; - } - - /** - * @desc Get the local identifier of the VCI for broadcast on ITS-S host - * @return The local identifier of the VCI for broadcast on ITS-S host - * @see PX_LAN_REMOTE_CIID_BC - * @verdict Unchanged - */ - function f_getIutLanRemoteCiidBc() return EUI64 { - return PX_LAN_REMOTE_CIID_BC; - } - - /** - * @desc Get the IUT Link-ID in broadcast transmission mode - * @return The IUT Link-ID in broadcast transmission mode - * @see PX_LAN_LINK_ID_BC - * @verdict Unchanged - * @see ISO 21218 - Clause 6.2 Link Identifier - */ - function f_getIutLanLinkIdBc() return Link_ID { - return PX_LAN_LINK_ID_BC; - } - - /** - * @desc Get the identifier of a different VCI on ITS-S host/router only - * @return The identifier of a different VCI on ITS-S host/router only - * @see PX_LAN_DIFFERENT_LOCAL_CIID - * @verdict Unchanged - */ - function f_getIutLanDifferentLocalCiid() return EUI64 { - return PX_LAN_DIFFERENT_LOCAL_CIID; - } - - } // End of group cf02 - - group peerStation { - - /** - * @desc Get the local identifier of the VCI - * @return The local identifier of the VCI - * @see PX_DEST_LOCAL_CIID - * @verdict Unchanged - * @see ISO 21218 - Clause 6.2 Link Identifier - */ - function f_getIutDestLocalCiid() return EUI64 { - return PX_DEST_LOCAL_CIID; - } - - /** - * @desc Get the remote identifier of the VCI for broadcast on ITS-S host - * @return The remote identifier of the VCI for broadcast on ITS-S host - * @see PX_DEST_REMOTE_CIID_BC - * @verdict Unchanged - * @see ISO 21218 - Clause 6.2 Link Identifier - */ - function f_getIutRemoteDestCiidBc() return EUI64 { - return PX_DEST_REMOTE_CIID_BC; - } - - /** - * @desc Get the remote identifier of a second VCI for unicast (peer to peer) on ITS-S host - * @return The remote identifier of a a second VCI for unicast (peer to peer) on ITS-S host - * @see PX_DEST_REMOTE_CIID_UC - * @verdict Unchanged - */ - function f_getIutRemoteDestCiidUc() return EUI64 { - return PX_DEST_REMOTE_CIID_UC; - } - - /** - * @desc Get the identifier of a second VCI for unicast (peer to peer) on ITS-S host - * @return The identifier of a a second VCI for unicast (peer to peer) on ITS-S host - * @see PX_WL_SECOND_REMOTE_CIID_BC - * @verdict Unchanged - */ - function f_getIutSecondRemoteDestCiidBc() return EUI64 { - return PX_SECOND_REMOTE_CIID_BC; - } - - } // End of group peerStation - - /** - * @desc Get the application port number, used instead of c_portDyn - * @return The application port number, used instead of c_portDyn - * @see PX_APP_PORT_NUMBER - * @verdict Unchanged - */ - function f_getIutAppPortValue() return PortNumber { - return PX_APP_PORT_NUMBER; - } - - /** - * @desc Get the source forwarding port - * @return The source forwarding port - * @see PX_FORWARDING_SRC_PORT - * @verdict Unchanged - */ - function f_getIutForwardingSrcPort() return PortNumber { - return PX_FORWARDING_SRC_PORT; - } - - /** - * @desc Get the destination forwarding port - * @return The destination forwarding port - * @see PX_FORWARDING_DST_PORT - * @verdict Unchanged - */ - function f_getIutForwardingDestPort() return PortNumber { - return PX_FORWARDING_DST_PORT; - } - - /** - * @desc Get the source port number, i.e. the local endpoint - * @return The source port number - * @see PX_LOCAL_PORT_NUMBER - * @verdict Unchanged - */ - function f_getIutLocalPortNumberValue() return PortNumber { - return PX_LOCAL_PORT_NUMBER; - } - - /** - * @desc Unknown broadcast VCI - * @return An unknown broadcast VCI - * @see PX_WL_LINK_ID_UNKWNON_BC - * @verdict Unchanged - */ - function f_getIutWlLinkIdUnknownBc() return Link_ID { - return PX_WL_LINK_ID_UNKWNON_BC; - } - - /** - * @desc Get the ITS-SP payload EPDU - * @return The ITS-SP payload EPDU - * @see PX_ITS_FPDU - * @verdict Unchanged - */ - function f_getIutItsFpdu() return ITSfpdu { - return PX_ITS_FPDU; - } - - /** - * @desc Get the service reference defining a number uniquely identifying the endpoint at this host in an implementation specific way - * @return The service reference - * @see PX_SERVICE_REF - * @verdict Unchanged - */ - function f_getIutServiceRef() return ServiceRef { - return PX_SERVICE_REF; - } - - /** - * @desc Get the Single-hop value - * @return The Single-hop value - * @verdict Unchanged - */ - function f_getIutShopValue() return FNTPhopCount { - return PX_SHOP; - } - - /** - * @desc Get the N-hops value - * @return The N-hops value - * @verdict Unchanged - */ - function f_getIutNhopsValue() return FNTPhopCount { - return PX_NHOPS; - } - - /** - * @desc Get a service port number - * @return The service port number - * @see PX_SERVICE_PORT - * @verdict Unchanged - */ - function f_getIutServicePortValue() return PortNumber { - return PX_SERVICE_PORT; - } - - /** - * @desc Get the reception access parameter - * @return The reception access parameter - * @see PX_CIP_RX_SETTINGS - * @verdict Unchanged - */ - function f_getIutRxCipValue() return RXcip { - return PX_CIP_RX_SETTINGS; - } - - /** - * @desc Get the transmission access parameter - * @return The transmission access parameter - * @see PX_CIP_TX_SETTINGS - * @verdict Unchanged - */ - function f_getIutTxCipValue() return TXcip { - return PX_CIP_TX_SETTINGS; - } - - function f_getIutAccessParametersValue() return AccessParameters { - return PX_ACCESS_PARAMETERS_SETTINGS; - } - - /** - * @desc Get the remote port number value - * @return The remote port number value - * @see PX_REMOTE_PORT_NUMBER - * @verdict Unchanged - */ - function f_getIutRemotePortNumberValue() return PortNumber { - return PX_REMOTE_PORT_NUMBER; - } // End of function f_getIutRemotePortNumberValue - - /** - * @desc Get the second remote port number value - * @return The second remote port number value - * @see PX_SECOND_REMOTE_PORT_NUMBER - * @verdict Unchanged - */ - function f_getIutSecondRemotePortNumberValue() return PortNumber { - return PX_SECOND_REMOTE_PORT_NUMBER; - } // End of function f_getIutSecondRemotePortNumberValue - - } // End of group iutFunctions - - /** - * @desc altstep functions - */ - group fntpAltsteps { - - /** - * @desc The base default. - */ - altstep a_fntpDefault() runs on ItsCalm { - [] tc_wait.timeout { - log("*** a_fntpDefault: ERROR: Timeout while awaiting reaction of the IUT prior to Upper Tester action ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [] tc_ac.timeout { // For security because it should be done in main altsetp bloc - log("*** a_fntpDefault: ERROR: Timeout while awaiting the reception of a message ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [] any timer.timeout { - log("*** a_fntpDefault: INCONC: An unknown timer has expired in default ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [] a_shutdown() { - f_poDefault(); - log("*** a_fntpDefault: INFO: TEST COMPONENT NOW STOPPING ITSELF! ***"); - if(self == mtc) { - f_cf01Down(); - } - stop; - } - } // End of altstep a_fntpDefault() - - /** - * @desc The base default. - */ - altstep a_fntpUnsollictedMessages() runs on ItsCalm { - [] fntpPort.receive(mw_fntpInd(mw_fntpInSapPrimitiveReq(mw_inUnitDataReq_any))) { - log("*** a_fntpDefault: INFO: Unexpected FNTP NDPU received in default ***"); - } - [] fntpPort.receive(mw_fntpInd(?)) { - log("*** a_fntpUnsollictedMessages: INFO: Unkown FNTP NDPU received in default ***"); - } - [] fntpPort.receive { - log("*** a_fntpUnsollictedMessages: INFO: Unkown message received in default ***"); - } - } // End of altstep a_fntpUnsollictedMessages() - - /** - * @desc Default handling cf01 de-initialisation. - */ - altstep a_cf01Down() runs on ItsCalm { - [] a_shutdown() { - f_poDefault(); - f_cf01Down(); - log("*** a_cf01Down: INFO: TEST COMPONENT NOW STOPPING ITSELF! ***"); - stop; - } - } // End of altstep a_cf01Down() - - /** - * @desc Default handling cf02 de-initialisation. - */ - altstep a_cf02Down() runs on ItsCalm { - [] a_shutdown() { - f_poDefault(); - f_cf02Down(); - log("*** a_cf02Down: INFO: TEST COMPONENT NOW STOPPING ITSELF! ***"); - stop; - } - } // End of altstep a_cf02Down() - - } // End of group fntpAltsteps - -} // End of module LibItsFntp_Functions \ No newline at end of file diff --git a/ttcn/CALM/FNTP/LibItsFntp_Pics.ttcn3 b/ttcn/CALM/FNTP/LibItsFntp_Pics.ttcn3 deleted file mode 100644 index b90c65db73106802d4b22db00903dbba714ba092..0000000000000000000000000000000000000000 --- a/ttcn/CALM/FNTP/LibItsFntp_Pics.ttcn3 +++ /dev/null @@ -1,88 +0,0 @@ -/** - * @author ETSI / STF422_EETS - * @version $URL$ - * $Id$ - * @desc FAST networking & transport layer protocol (ISO 29281) PICS - */ -module LibItsFntp_Pics { - - /** - * @desc FNTP PICS - */ - group fntpPics { - - /** - * @desc Does the architecture implement ITS station-internal network? - * @see ETSI TS 102 985-1 v1.1.2 A.1/1 - */ - modulepar boolean PICS_ITS_S_INW := false; - - /** - * @desc Is IUT an host only? - * @see ETSI TS 102 985-1 v1.1.2 A.2/1 - */ - modulepar boolean PICS_ROLE_RONLY := false; - - /** - * @desc Is IUT a router only? - * @see ETSI TS 102 985-1 v1.1.2 A.2/2 - */ - modulepar boolean PICS_ROLE_HONLY := false; - - /** - * @desc Is IUT both host and router? - * @see ETSI TS 102 985-1 v1.1.2 A.2/3 - */ - modulepar boolean PICS_ROLE_RH := true; - - /** - * @desc Is IUT support basic architecture? - * @see ETSI TS 102 985-1 v1.1.2 A.3/1 - */ - modulepar boolean PICS_BASIC := true; - - /** - * @desc Is IUT support extended architecture? - * @see ETSI TS 102 985-1 v1.1.2 A.3/2 - */ - modulepar boolean PICS_EXT := false; - - /** - * @desc Is IUT support ITS station-internal forwarding? - * @see ETSI TS 102 985-1 v1.1.2 A.4/1 - */ - modulepar boolean PICS_IFWD := false; - - /** - * @desc Is IUT support secure communication? - * @see ETSI TS 102 985-1 v1.1.2 A.4/2 - */ - modulepar boolean PICS_SEC := false; - - /** - * @desc Is IUT support N-hop broadcast? - * @see ETSI TS 102 985-1 v1.1.2 A.4/3 - */ - modulepar boolean PICS_NHOPBC := false; - - /** - * @desc Is access parameters settings supported? - * @see ETSI TS 102 985-1 v1.1.2 A.4/5 - */ - modulepar boolean PICS_CIP := false; - - /** - * @desc Is IUT support 15628 Kernel Emulation? - * @see ETSI TS 102 985-1 v1.1.2 A.5/1 - */ - modulepar boolean PICS_15628 := false; - - /** - * @desc Is IUT support notification to the ITS Management layer - * @see ETSI TS 102 985-1 v1.1.2 A.6/3 - */ - modulepar boolean PICS_ITS_MGT_NOT := false; - - } // End of group fntpPics - -} // End of module LibItsFntp_Pics \ No newline at end of file diff --git a/ttcn/CALM/FNTP/LibItsFntp_Pixits.ttcn3 b/ttcn/CALM/FNTP/LibItsFntp_Pixits.ttcn3 deleted file mode 100644 index fb4b7e1b04ebf0c1c3f3d5fe1b6be31a114a7a4f..0000000000000000000000000000000000000000 --- a/ttcn/CALM/FNTP/LibItsFntp_Pixits.ttcn3 +++ /dev/null @@ -1,361 +0,0 @@ -/** - * @author ETSI / STF422_EETS - * @version $URL$ - * $Id$ - * @desc FAST networking & transport layer protocol (ISO 29281-2) Pixits - * @see ETSI TS 102 985-3 v1.1.2 - */ -module LibItsFntp_Pixits { - - // LibCommon - import from LibCommon_DataStrings { - type Bit6, Bit7 - }; - - // LibIts - - // LibItsCalm - import from CITSapplMgmtApplReg language "ASN.1:1997" { - type ITSaid - }; - import from CALMmanagement language "ASN.1:1997" { - type - ITS_scuId, StationID - }; - import from CALMllsap language "ASN.1:1997" { - type - EUI64, - UserPriority, Link_ID, - AccessParameters, NullType - }; - import from CALMfntp language "ASN.1:1997" { - type - PortNumber, ITSfpdu, FNTPhopCount, - RXcip, TXcip - }; - import from CALMlegacySupport language "ASN.1:1997" { - type FNTPlpp - }; - import from CITSapplReq language "ASN.1:1997" { - type ServiceRef - }; - - /** - * @desc Service reference value used bu NF-FNTP-PORT.request SAP primitive - */ - group generalSettings { - - /** - * @desc Defines a number uniquely identifying the endpoint at this host in an implementation specific way - * @see ISO 29281-2 - Clause 8.2.1 Link Identifier - */ - modulepar ServiceRef PX_SERVICE_REF := { - itsaid:= { - content := 8 - }, - instance := 1, - flowNo := 0 - }; - - /** - * @desc ITS-SP payload - * For instance, a DENM messages associated to a Slow vehicle in ASN.1 PER encoding - */ - modulepar ITSfpdu PX_ITS_FPDU := '0102000000021b3b4056b49d200d693a3ffffffffc21f861a83c87843f7ffff809f754399d4eba7fff84202800'O; - - /** - * @desc The user priority as specified in ISO 21218 - */ - modulepar UserPriority PX_USER_PRIORITY := 0; - - /** - * @desc The ITS-SCU-ID of the host ITS-SCU - */ - modulepar ITS_scuId PX_HOST_SCU_ID := 8; - - /** - * @desc The ITS-SCU-ID of an unknown host ITS-SCU - */ - modulepar ITS_scuId PX_UNKNOWN_HOST_SCU_ID := 65534; - - } // End of group generalSettings - - /** - * @desc 64 bits MAC addresses for local CIs/VCIs for ITS_S router (e.g.G5 CI/VCI) - */ - group routerWlanVcisMac { - - /** - * @desc Identifies the VCI localCIID on ITS-S router (e.g. It coud be the G5 radio MAC address of the IUT) - * @see ISO 21218 - Clause 6.2 Link Identifier - * NOTE 0A0B0CFFFE0D0E0F is MAC address 0A:0B:0C:0D:0E:0F - */ - modulepar EUI64 PX_WL_LOCAL_CIID := '0A0B0CFFFE0D0E0F'O; // Commsignia FNTP setting (laptop) -// modulepar EUI64 PX_WL_LOCAL_CIID := 'FFFFFFFFFEFFFFFF'O ; // Commsignia FSAP setting -// modulepar EUI64 PX_WL_LOCAL_CIID := 'D4CA6DFFFF55A72C'O ; // Commsignia FNTP setting (ITS-S box) -// modulepar EUI64 PX_WL_LOCAL_CIID := '000C42FFFF6A9E2C'O; // Peek setting (@home) -// modulepar EUI64 PX_WL_LOCAL_CIID := '000C42FFFF974497'O; // Peek setting (@office) - - /** - * @desc Identifies the VCI remoteCIID on ITS-S router (e.g. It coud be the G5 radio MAC address of the IUT) - * @see ISO 21218 - Clause 6.2 Link Identifier - */ - modulepar EUI64 PX_WL_REMOTE_CIID := '0A0B0CFFFE0D0E0F'O; // Commsignia setting -// modulepar EUI64 PX_WL_REMOTE_CIID := '000C42FFFF6A9E2C'O; // Peek setting (@home) -// modulepar EUI64 PX_WL_REMOTE_CIID := '000C42FFFF974497'O; // Peek setting (@office) - - /** - * @desc Identifies the VCI for broadcast on ITS-S router - * Note that U/L bit is set to 1 for broadcast - */ - modulepar EUI64 PX_WL_REMOTE_CIID_BC := 'FFFFFFFFFEFFFFFF'O; - - /** - * @desc Identifies the VCI for multicast on ITS-S router - */ - modulepar EUI64 PX_WL_REMOTE_CIID_MC := 'EF0008FFFE011234'O; - - /** - * @desc Identifies the VCI for unicast on ITS-S router (peer station) - */ - modulepar EUI64 PX_WL_REMOTE_CIID_UC := '030008FFFE010001'O; // Commsignia setting -// modulepar EUI64 PX_WL_REMOTE_CIID_UC := '030008FFFF010001'O; // Peek setting - - /** - * @desc Identifies an unknown CI on ITS-S router - */ - modulepar EUI64 PX_WL_LOCAL_CIID_UNKNOWN := '030008FFFE020001'O; - - /** - * @desc Identifies the VCI for multicast on ITS-S router - */ - modulepar EUI64 PX_WL_REMOTE_CIID_UNKNOWN_UC := '030008FFFE020001'O; - - /** - * @desc Identifies an unknown CI on ITS-S router - */ - modulepar EUI64 PX_WL_REMOTE_CIID_UNKNOWN_BC := 'FF0008FFFF02FFFF'O; - - } // End of group routerWlanVcisMac - - /** - * @desc 64 bits MAC addresses for lan CIs/VCIs to connect to the ITS station-internal network - */ - group routerLanVcisMac { - - /** - * @desc Identifies the CI on ITS-S host - * @see ISO 21218 - Clause 6.2 Link Identifier - */ - modulepar EUI64 PX_LAN_LOCAL_CIID := '03000AFFFEFF0000'O; - - /** - * @desc Identifies the VCI for broadcast on ITS-S host - */ - modulepar EUI64 PX_LAN_REMOTE_CIID_BC := 'FF000AFFFEFFFFFF'O; - - /** - * @desc Identifies the VCI for unicast on ITS-S host - */ - modulepar EUI64 PX_LAN_REMOTE_CIID_UC := '03000AFFFEFF0001'O; - - /** - * @desc Identifies a different VCI on ITS-S host - * @see ISO 21218 - Clause 6.2 Link Identifier - */ - modulepar EUI64 PX_LAN_DIFFERENT_LOCAL_CIID := '03000AFFFEFE0001'O; - - } // End of routerLanVcisMac - - /** - * @desc 64 bits MAC addresses for the peer ITS-S station - */ - group peerItsStationVcisMac { - - /** - * @desc Identifies uniquely a specific CI in a specific ITS-SCU - * @see ISO 21218 - Clause 6.2 Link Identifier - */ - modulepar EUI64 PX_DEST_LOCAL_CIID := '030009FFFE010000'O; - - /** - * @desc Identifies uniquely a specific CI in a specific ITS-SCU for broadcast - */ - modulepar EUI64 PX_DEST_REMOTE_CIID_BC := 'FFFFFFFFFEFFFFFF'O; // Standard value -// modulepar EUI64 PX_DEST_REMOTE_CIID_BC := 'FFFFFFFFFFFFFFFF'O; // For Peek - - /** - * @desc Identifies uniquely a specific CI in a specific ITS-SCU for multicast - */ - modulepar EUI64 PX_DEST_REMOTE_CIID_MC := '030009FFFE010001'O; - - /** - * @desc Identifies uniquely a specific VCI in a specific ITS-SCU for unicast (peer to peer) - */ - modulepar EUI64 PX_DEST_REMOTE_CIID_UC := '030009FFFE010001'O; // Commsignia -// modulepar EUI64 PX_DEST_REMOTE_CIID_UC := 'D4CA6DFFFF55A72C'O; // Peek - - /** - * @desc Identifies a second VCI for unicast (peer to peer) on ITS-SCU - */ - modulepar EUI64 PX_SECOND_REMOTE_CIID_BC := '040002FFFE010005'O; - - } // End of peerItsStationVcisMac - - /** - * @desc Contains the Link Identifier parameters for broadcast, Multicast and unicast modes - * @see ISO 21218 Clause 6.2 - * Notes: - *
  • vciID Identifies the MAC address of the Communication Interface identified by the CIID
  • - *
  • CIID Identifies the Communication Interface of the ITS-SCU. 0 indicates unknown or not existent
  • - *
  • scuID Identifies the ITS-SCU in the ITS station
  • - */ - group linkIds { - - group cf01 { - - /** - * @desc Identify the VCI to be used to transmit the packet outside (e.g. G5), i.e. the IUT station, for Broadcast - */ - modulepar Link_ID PX_WL_LINK_ID_BC := { - remoteCIID := PX_WL_REMOTE_CIID_BC, - localCIID := PX_WL_LOCAL_CIID - } - - } // End of group cf01 - - group cf02 { - - /** - * @desc Identify the VCI to be used to transmit the packet to the LAN, for Broadcast - */ - modulepar Link_ID PX_LAN_LINK_ID_BC := { - remoteCIID := PX_LAN_REMOTE_CIID_BC, - localCIID := PX_LAN_LOCAL_CIID - } - - } // End of group cf02 - - /** - * @desc Identify an unknown VCI to be used to transmit the packet, i.e. the peer station, for Broadcast - */ - modulepar Link_ID PX_WL_LINK_ID_UNKWNON_BC := { - remoteCIID := PX_WL_REMOTE_CIID_UNKNOWN_BC, - localCIID := PX_WL_LOCAL_CIID_UNKNOWN - } - - /** - * @desc Identify an unknown VCI to be used to transmit the packet, i.e. the peer station, for Unicast - */ - modulepar Link_ID PX_WL_LINK_ID_UNKWNON_UC := { - remoteCIID := PX_WL_REMOTE_CIID_UNKNOWN_UC, - localCIID := PX_WL_LOCAL_CIID_UNKNOWN - } - - /** - * @desc Identify the VCI to be used to transmit the packet, i.e. the peer station, for Unicast - */ - modulepar Link_ID PX_WL_LINK_ID_UC := { - remoteCIID := PX_WL_REMOTE_CIID_UC, - localCIID := PX_WL_LOCAL_CIID - } - - } // End of group linkIds - - /** - * @desc Source and destination Ports - * @see ISO/WD 29281-2 Clause 6.2.2.2 - */ - group portNumbers { - - /** - * @desc Indicate the application port number, used instead of c_portDyn - */ - modulepar PortNumber PX_APP_PORT_NUMBER := { portLong := 12345 } ; - - /** - * @desc Indicate the source port number, i.e. the local endpoint - */ - modulepar PortNumber PX_LOCAL_PORT_NUMBER := { portLong := 5555 } ; - - /** - * @desc Indicate the destination port number, i.e. the peer ITS-SP - */ - modulepar PortNumber PX_REMOTE_PORT_NUMBER := { portLong := 5556 } ; - - /** - * @desc Indicate a second destination port number - */ - modulepar PortNumber PX_SECOND_REMOTE_PORT_NUMBER := { portLong := 5557 } ; - - /** - * @desc Indicate an unknown destination port number - */ - modulepar PortNumber PX_UNKNOWN_REMOTE_PORT_NUMBER := { portLong := 666 } ; - - /** - * @desc Indicate the forwarding source port number, i.e. the originator endpoint - * @see ISO/CD 29281-2 Clause 8.3.1 - */ - modulepar PortNumber PX_FORWARDING_SRC_PORT := { portLong := 5550 } ; - - /** - * @desc Indicate the forwarding destination port number, i.e. the destinator endpoint - * @see ISO/CD 29281-2 Clause 8.3.1 - */ - modulepar PortNumber PX_FORWARDING_DST_PORT := { portLong := 5551 } ; - - /** - * @desc Indicate the forwarding destination port number, i.e. the destinator endpoint - * @see ISO/CD 29281-2 Clause 8.3.1 - */ - modulepar PortNumber PX_SERVICE_PORT := { portLong := 32700 } ; - - } // End of group portNumbers - - group hopsConstants { - - /** - * Single hop value - * @see ISO/CD 29281-2 Clause 8.3.1 NF-FNTP-COMM.request - */ - modulepar FNTPhopCount PX_SHOP := 0; - - /** - * N hops value - * @see ISO/CD 29281-2 Clause 8.3.1 NF-FNTP-COMM.request - */ - modulepar FNTPhopCount PX_NHOPS := 5; - - } // End of group hopsConstants - - group cipConstants { - - /** - * Access parameters settings for reception - * @see ISO/CD 29281-2 Clause 7.10.1 Purpose of CIPs - */ - modulepar RXcip PX_CIP_RX_SETTINGS := 'CAFEDECA'O; - - /** - * Access parameters settings for transmission - * @see ISO/CD 29281-2 Clause 7.10.1 Purpose of CIPs - */ - modulepar TXcip PX_CIP_TX_SETTINGS := 'C0CAC01A'O; - - } // End of group cipConstants - - group accessParams { - - modulepar AccessParameters PX_ACCESS_PARAMETERS_SETTINGS := { - apRef := 0, - aParameter := { NullType := NULL } - } - - } // End of group accessParams - - /** - * Wait until the IUT is in a stable situation (beaconing...) - */ - modulepar float PX_WAIT_FOR_IUT_READY := 1.0; -} // End of module LibItsFntp_Pixits \ No newline at end of file diff --git a/ttcn/CALM/FNTP/LibItsFntp_Templates.ttcn3 b/ttcn/CALM/FNTP/LibItsFntp_Templates.ttcn3 deleted file mode 100644 index 63ba98f7a5f92db69c4e6c03864bafe35e390fc2..0000000000000000000000000000000000000000 --- a/ttcn/CALM/FNTP/LibItsFntp_Templates.ttcn3 +++ /dev/null @@ -1,1204 +0,0 @@ -/** - * @author ETSI / STF455 - * @version $URL$ - * $Id$ - * @desc Templates definitions for FAST networking & transport layer protocol (ISO 29281-1) - */ -module LibItsFntp_Templates { - - // LibCommon - import from LibCommon_BasicTypesAndValues { - type - UInt8, UInt16; - }; - import from LibCommon_DataStrings { - type Oct1 - }; - - // LibIts - - // LibItsCalm - import from CALMllsap language "ASN.1:1997" { - type - IN_SAPaddress, EUI64, LLserviceAddr, Link_ID, INdata, AccessParameters, - INsapPrimitivesDown, INsapPrimitivesUp, - IN_UNITDATA_request, IN_UNITDATA_indication - }; - import from CALMmsap language "ASN.1:1997" { - type - CommandRef, ErrStatus, - MN_Command_confirm, - MN_Request_request, - SimNUTcmd, SimNLTcmd - }; - import from CALMmanagement language "ASN.1:1997" { - type - StationID, ITS_scuId - }; - import from CALMiitsscu language "ASN.1:1997" { - type - McmdRs, TestConfigIICP, - PduCounter - }; - import from CITSapplReq language "ASN.1:1997" { - type ServiceRef - }; - import from CALMfntp language "ASN.1:1997" all; - import from LibItsCalm_Pixits { - modulepar - PX_LOC_ITS_FNTP_ACCESS_SETTINGS_MX_SAP_SET, PX_LOC_ITS_FNTP_ACCESS_SETTINGS_MX_SAP_UNSET, - PX_IUT_LOWER_LAYER_USED, PX_IUT_LOWER_LAYER_UNUSED, - PX_IUT_TEST_MODE_ON - }; - import from LibItsFntp_TypesAndValues { - group fntpPortsValues; - type - UtFntpEvent, UtFntpEventInd, - CfFntpEventInd - }; - import from LibItsFntp_Pixits all; - import from LibItsMgt_Functions { - function - f_getNextCommandRef, - f_getIutDestItsScuId, f_getIutOtherItsScuId, - f_getNextPduCounter - }; - import from LibItsCalm_Interface { - type - FntpReq, FntpInd, - UtInitialize, CfInitialize - }; - - /** - * @desc constants definitions - */ - group csapCstes { - - /** - * @desc CSAP value - * @see ISO 21218 - Table 5 — Addresses for the Link Service Access Point (IN-SAP) - */ - const IN_SAPaddress c_fntpInSapAddress := 186; //oct2int('BA'O); - - } // group csapCstes - - /** - * @desc ASN.1 error status definitions - */ - group errorStatusCstes { - - /** - * @desc Success code - */ - const FNTPerrorStatus c_errStatus_success := 0; - - /** - * @desc Unexpected failure code - */ - const FNTPerrorStatus c_errStatus_unspecFailure := 1; - - } // group errorStatusCstes - - /** - * @descFNTP templates definitions - */ - group fntpPrimitives { - - /** - * @desc Send template for IN-SAP Message (FntpPort Primitive) - * @param p_inSapPrimitivesUp IN-SAP message to be sent to the IUT - */ - template (value) FntpReq m_fntpReq( - template (value) INsapPrimitivesUp p_inSapPrimitivesUp - ) := { - msgOut := p_inSapPrimitivesUp - } - - /** - * @desc Receive template for IN-SAP message (FntpPort Primitive) - * @param p_inSapPrimitivesDown Expected IN-SAP message generqted by the IUT - */ - template FntpInd mw_fntpInd( - template (present) INsapPrimitivesDown p_inSapPrimitivesDown - ) := { - msgIn := p_inSapPrimitivesDown, - receptionTime := ? - } - - /** - * @desc Primitive on IN-SAP interface - * @see ISO 21218 - Clause 8.3 - * @see ISO 29281-2 - Clause 7.1.2 - */ - group inSapPrimitives { - - group sendOperation { - - /** - * @desc Generate a FNTP NPDU through IN-SAP - * @param p_insapSourceAddress Source linkId - * @param p_insapDestAddress Destination linkId - * @param p_inData The FNTP NPDU in octetstring format - * @see ISO 21218 - Clause 8.3.3 - */ - template (value) IN_UNITDATA_indication m_inUnitDataInd( - in template (value) LLserviceAddr p_insapSourceAddress, - in template (value) LLserviceAddr p_insapDestAddress, - in template (value) INdata p_inData - ) := { - source_addr := p_insapSourceAddress, - dest_addr := p_insapDestAddress, - data := p_inData, - priority := 0, - accessParams := { - apRef := 0, - aParameter := { NullType:= NULL } - } - } // End of template m_inUnitDataInd - - /** - * @desc Send template for IN-SAP source and destination address - * @param p_linkId Link identifier of the CI - * @see ISO 21218 - Clause 8.2.2 - */ - template (value) LLserviceAddr m_llServiceAddr( - in template (value) Link_ID p_linkId - ) := { - csap := c_fntpInSapAddress, - linkID := p_linkId - } // // End of template m_llServiceAddr - - /** - * @desc Send template for link-ID - * @param p_remoteLinkId Remote link ID - * @param p_localLinkId Local link ID - * @see ISO 21218 - Clause 8.2.2 - */ - template (value) Link_ID m_linkId( - in template (value) EUI64 p_remoteLinkId, - in template (value) EUI64 p_localLinkId - ) := { - remoteCIID := p_remoteLinkId, - localCIID := p_localLinkId - } // End of template m_linkID - - } // End of group sendOperation - - group recvOperation { - - /** - * @desc Receive template for a SAP primitive message on IN-SAP interface - * @param p_inUnitdataRq The IN-DATA.request SAP primitive message - * @see ISO 21218 - Clause 8.3.1 - * @see ISO 29281-2 - Clause 7.1.2 - */ - template INsapPrimitivesDown mw_fntpInSapPrimitiveReq( - in template (present) IN_UNITDATA_request p_inUnitdataRq - ) := { - spRef := 0, - servPrimitive := { IN_UNITDATA_request := p_inUnitdataRq } - } // End of template m_fntpImPrimitiveReq - - /** - * @desc Generic receive template for IN-UNITDATA.request SAP primitive - * @see ISO 21218 - Clause 8.2.2 - */ - template IN_UNITDATA_request mw_inUnitDataReq_any := { - source_addr := { - csap := c_fntpInSapAddress, - linkID := ? - }, - dest_addr := { - csap := c_fntpInSapAddress, - linkID := ? - }, - data := ?, - priority := PX_USER_PRIORITY, - accessParams := { - apRef := ?, - aParameter := ? - } - } // End of template mw_inUnitDataReq_any - - /** - * @desc Receive template for IN-UNITDATA.request SAP primitive - * @param p_sourceLinkId Source linkId - * @param p_destLinkId Destination linkId - * @see ISO 21218 - Clause 8.2.2 - */ - template IN_UNITDATA_request mdw_inUnitDataReq( - in template (present) Link_ID p_sourceLinkId, - in template (present) Link_ID p_destLinkId - ) modifies mw_inUnitDataReq_any := { - source_addr := { - csap := c_fntpInSapAddress, - linkID := p_sourceLinkId - }, - dest_addr := { - csap := c_fntpInSapAddress, - linkID := p_destLinkId - } - } // End of template mdw_inUnitDataReq - - /** - * @desc Receive template for IN-UNITDATA.request SAP primitive - * @param p_sourceLinkId Source linkId - * @param p_destLinkId Destination linkId - * @param p_accessParams Access parameters - * @see ISO 21218 - Clause 8.2.2 - */ - template IN_UNITDATA_request mdw_inUnitDataReqCip( - in template (present) Link_ID p_sourceLinkId, - in template (present) Link_ID p_destLinkId, - in template (present) AccessParameters p_accessParams - ) modifies mdw_inUnitDataReq := { - accessParams := p_accessParams - } // End of template mdw_inUnitDataReqCip - - /** - * @desc Receive template for link-ID - * @param p_remoteLinkId Remote link Id - * @param p_localLinkId Source link Id - * @see ISO 21218 - Clause 8.2.2 - */ - template Link_ID mw_linkId( - in template (present) EUI64 p_remoteLinkId, - in template (present) EUI64 p_localLinkId - ) := { - remoteCIID := p_remoteLinkId, - localCIID := p_localLinkId - } // End of template mw_linkID - - /** - * @desc Receive template for IN-SAP source and destination address - * @param p_linkId Link identifier of the CI - * @see ISO 21218 - Clause 8.2.2 - */ - template LLserviceAddr mw_llServiceAddr( - in template (present) Link_ID p_linkId - ) := { - csap := c_fntpInSapAddress, - linkID := p_linkId - } // End of template mw_llServiceAddr - - } // End of group recvOperation - - } // End of group inSapPrimitives - - /** - * @desc Fntp NPUD templates - */ - group fntpBasicNpdu { - - /** - * @desc Send template for basic NPDU for UC/BC transmission- N/single hop - * For basic FNTPNPDU, S-Hop is required (see ISO 29281-1 Clause 5.1.2 Basic mode of operation) - * @param p_sourcePort Source port - * @param p_destinationPort Destination port - */ - template FNTPNPDU m_fntpBasicNpdu( - in template (value) PortNumber p_sourcePort, - in template (value) PortNumber p_destinationPort - ) := { - header := { - sourcePort := p_sourcePort, - destinationPort := p_destinationPort, - options := { - intForw := omit, - sec := omit, - hops := omit, // It means single-hop - lpp := omit, - cip := omit, - opt5 := omit, - opt6 := omit, - opt7 := omit - } // End of 'options' field - }, // End of 'header' field - body := PX_ITS_FPDU - } // End of template m_fntpBasicNpdu - - /** - * @desc Send template for basic NPDU for UC/BC transmission- N/single hop - * @param p_sourcePort Source port - * @param p_destinationPort Destination port - * @param p_hops N-hops value - */ - template FNTPNPDU m_fntpExtendedNpdu( - in template (value) PortNumber p_sourcePort, - in template (value) PortNumber p_destinationPort, - in template (omit) FNTPhopCount p_hops - ) := { - header := { - sourcePort := p_sourcePort, - destinationPort := p_destinationPort, - options := { - intForw := omit, - sec := omit, - hops := p_hops, - lpp := omit, - cip := omit, - opt5 := omit, - opt6 := omit, - opt7 := omit - } // End of 'options' field - }, // End of 'header' field - body := PX_ITS_FPDU - } // End of template m_fntpExtendedNpdu - - /** - * @desc Generic receive template for FNTP basic NPDU - * Used for: - *
  • modifying restrictif template
  • - *
  • default altstep
  • - */ - template FNTPNPDU mw_fntpBasicNpdu_any := { - header := { - sourcePort := { portLong := complement((c_portReservedLow .. c_portReservedHigh)) }, // See ISO 29281-2 Table 1: FNTP endpoints identified by port numbers - destinationPort := ?, - options := mw_noFntpOptions - }, // End of 'header' field - body := ? - } // End of template mw_fntpBasicNpdu_any - - /** - * @desc Receive template for FNTP basic NPDU, specifying port values - * For basic FNTPNPDU, S-Hop is required (see ISO 29281-1 Clause 5.1.2 Basic mode of operation) - * @param p_sourcePort Source port number - * @param p_destinationPort Destination (or remote) port number - */ - template (present) FNTPNPDU mdw_fntpBasicNpdu( - in template (present) PortNumber p_sourcePort, - in template (present) PortNumber p_destinationPort - ) modifies mw_fntpBasicNpdu_any := { - header := { - sourcePort := p_sourcePort, - destinationPort := p_destinationPort, - options := { - hops := 0 ifpresent - } // End of 'options' field - }, // End of 'header' field - body := PX_ITS_FPDU - } // End of template mw_basicNpdu - - } // End of group fntpBasicNpdu - - group fntpExtendedNpdu { - - /** - * @desc Send template for FNTP extended NPDU with an invalid control fields (lpp is set) - * @param p_sourcePort Broadcast source port - * @param p_destinationPort Broadcast destination port - * @param p_hops N-hops value - * @see ISO 29281-2 - Table 3 — FNTP control field (implemented as OPTION selector in ASN.1) - */ - template FNTPNPDU md_fntpExtendedNpdu_invalidCtrlField( - in template (value) PortNumber p_sourcePort, - in template (value) PortNumber p_destinationPort, - in template (omit) FNTPhopCount p_hops /* TODO this seems to be wrong */ - ) modifies m_fntpBasicNpdu := { - header := { - options := { - lpp := 'FFFFFFFF'O /* this is not an invalid control field */ - } - } // End of 'header' field - } // End of template md_fntpExtendedNpdu_invalidCtrlField - - /** - * @desc Send template for FNTP extended NPDU with an invalid control fields (lpp is set) - * @param p_sourcePort Broadcast source port - * @param p_destinationPort Broadcast destination port - * @param p_hops N-hops value - * @see ISO 29281-2 - Table 3 — FNTP control field (implemented as OPTION selector in ASN.1) - */ - template FNTPNPDU md_fntpExtendedNpdu_invalidBitSet( - in template (value) PortNumber p_sourcePort, - in template (value) PortNumber p_destinationPort, - in template (omit) FNTPhopCount p_hops - ) modifies m_fntpBasicNpdu := { - header := { - options := { - opt5 := NULL - } // End of 'options' field - } // End of 'header' field - } // End of template md_fntpExtendedNpdu_invalidBitSet - - /** - * @desc Send template for FNTP extended NPDU with an invalid control fields (lpp is set) - * @param p_sourcePort Broadcast source port - * @param p_destinationPort Broadcast destination port - * @param p_hops N-hops value - * @param p_rxCIP Receive (RX) parameter settings - * @param p_txCIP Transmit (TX) parameters of a VCI - */ - template FNTPNPDU md_fntpExtendedNpdu_cip( - in template (value) PortNumber p_sourcePort, - in template (value) PortNumber p_destinationPort, - in template (omit) FNTPhopCount p_hops, // Should be omitted - in template (value) RXcip p_rxCip, - in template (value) TXcip p_txCip - ) modifies m_fntpBasicNpdu := { - header := { - options := { - hops := p_hops, - cip := { - rxCIP := p_rxCip, - txCIP := p_txCip - } // End of 'cip' field - } // End of'options' field - } // End of 'header' field - } // End of template md_fntpExtendedNpdu_cip - - /** - * @desc Send template for FNTP extended NPDU for BC transmission-single/N-hops - * @param p_sourcePort Broadcast source port - * @param p_destinationPort Broadcast destination port - */ - template (present) FNTPNPDU mdw_fntpExtendedNpdu( - in template (present) PortNumber p_sourcePort, - in template (present) PortNumber p_destinationPort - ) modifies mdw_fntpBasicNpdu := { - header := { - options := mdw_nHopNfFntpOptions(PX_NHOPS) - } // End of field 'header' - } // End of template mdw_fntpExtendedNPDU - - /** - * @desc Send template for FNTP extended NPDU for BC transmission-single/N-hops - * @param p_sourcePort Broadcast source port - * @param p_destinationPort Broadcast destination port - */ - template (present) FNTPNPDU mdw_fntpExtendedNpdu_portNumber( - in template (present) PortNumber p_sourcePort, - in template (present) PortNumber p_destinationPort, - in template (omit) FNTPhopCount p_hops - ) modifies mdw_fntpBasicNpdu := { - header := { - options := mdw_nHopNfFntpOptions(p_hops) - } // End of field 'header' - } // End of template mdw_fntpExtendedNpdu_portNumber - - /** - * @desc Send template for FNTP extended NPDU for BC transmission-single/N-hops with CIP - * @param p_rxCIP Receive (RX) parameter settings - * @param p_txCIP Transmit (TX) parameters of a VCI - */ - template (present) FNTPNPDU mw_fntpExtendedNpduCip( - in template (present) RXcip p_rxCip, - in template (present) TXcip p_txCip - ) := { - header := { - sourcePort := { portLong := complement((c_portReservedLow .. c_portReservedHigh)) }, // See ISO 29281-2 Table 1: FNTP endpoints identified by port numbers - destinationPort := ?, - options := mdw_nHopNfFntpOptions_cip( - PX_NHOPS, - p_rxCip, - p_txCip - ) - }, // End of field 'header' - body := ? - } // End of template mdw_fntpExtendedNPDU - - } // End of group fntpExtendedNpdu - - group fntpForwardingNpdu { - - /** - * @desc Send template for FNTP forwarding NPDU - * @param p_sourcePort Source port (c_portRtr or c_portHst) - * @param p_destinationPort Destination port (c_portRtr or c_portHst) - * @param p_hops N-hops value - * @param p_fromPort Forwarding source port - * @param p_toPort Forwarding destination port - * @param p_counter Expected value of FNTP packet counter counter field - */ - template (value) FNTPNPDU md_fntpForwardingNpdu( - in template (value) PortNumber p_sourcePort, - in template (value) PortNumber p_destinationPort, - in template (value) FNTPhopCount p_hops, - in template (value) PortNumber p_fromPort, - in template (value) PortNumber p_toPort, - in template (value) FNTPpacketCounter p_counter - ) modifies m_fntpBasicNpdu := { - header := { - options := { - intForw := { - hostITS_scuId := PX_HOST_SCU_ID, - link := PX_WL_LINK_ID_UC, - counter := p_counter, - sourcePort := p_fromPort, - destinationPort := p_toPort - } // End of field 'intForw' - } // End of field 'options' - } // End of field 'header' - } // End of template md_fntpForwardingNpdu - - /** - * @desc Send template for FNTP forwarding NPDU with an unknown ITS-SCU-ID - * @param p_sourcePort Source port (c_portRtr or c_portHst) - * @param p_destinationPort Destination port (c_portRtr or c_portHst) - * @param p_hops N-hops value - * @param p_fromPort Forwarding source port - * @param p_toPort Forwarding destination port - * @param p_counter Expected value of FNTP packet counter counter field - */ - template (value) FNTPNPDU md_fntpForwardingNpdu_unknownItsScuId( - in template (value) PortNumber p_sourcePort, - in template (value) PortNumber p_destinationPort, - in template (value) FNTPhopCount p_hops, - in template (value) PortNumber p_fromPort, - in template (value) PortNumber p_toPort, - in template (value) FNTPpacketCounter p_counter - ) modifies md_fntpForwardingNpdu := { - header := { - options := { - intForw := { - hostITS_scuId := PX_UNKNOWN_HOST_SCU_ID, - link := PX_WL_LINK_ID_UC, - counter := p_counter, - sourcePort := p_fromPort, - destinationPort := p_toPort - } // End of field 'intForw' - } // End of field 'options' - } // End of field 'header' - } // End of template md_fntpForwardingNpdu_UnknownITtsScuId - - /** - * @desc Send template for FNTP forwarding NPDU with CIPs - * @param p_sourcePort Source port (c_portRtr or c_portHst) - * @param p_destinationPort Destination port (c_portRtr or c_portHst) - * @param p_hops N-hops value - * @param p_fromPort Forwarding source port - * @param p_toPort Forwarding destination port - * @param p_counter Expected value of FNTP packet counter counter field - * @param p_rxCIP Receive (RX) parameter settings - * @param p_txCIP Transmit (TX) parameters of a VCI - */ - template (value) FNTPNPDU md_fntpForwardingNpdu_cip( - in template (value) PortNumber p_sourcePort, - in template (value) PortNumber p_destinationPort, - in template (value) FNTPhopCount p_hops, - in template (value) PortNumber p_fromPort, - in template (value) PortNumber p_toPort, - in template (value) FNTPpacketCounter p_counter, - in template (value) RXcip p_rxCip, - in template (value) TXcip p_txCip - ) modifies md_fntpForwardingNpdu := { - header := { - options := { - intForw := { - hostITS_scuId := PX_HOST_SCU_ID, - link := PX_WL_LINK_ID_UC, - counter := p_counter, - sourcePort := p_fromPort, - destinationPort := p_toPort - }, // End of field 'intForw' - cip := { - rxCIP := p_rxCip, - txCIP := p_txCip - } // End of field 'cip' - } // End of field 'options' - } // End of field 'header' - } // End of template md_fntpForwardingNpdu_cip - - /** - * @desc Generic receive template for FNTP forwarding NPDU - */ - template (present) FNTPNPDU mw_fntpForwardingNpdu_any := { - header := { - sourcePort := ?, - destinationPort := ?, - options := { - intForw := { - hostITS_scuId := ?, - link := { - remoteCIID := ?, - localCIID := ? - }, - counter := ?, - sourcePort := ?, - destinationPort := ? - }, - sec := omit, - hops := ?, - lpp := omit, - cip := omit, - opt5 := omit, - opt6 := omit, - opt7 := omit - } - }, - body := ? - } // End of template mw_fntpForwardingNpdu_any - - /** - * @desc Receive template for FNTP forwarding NPDU - * @param p_sourcePort Source port - * @param p_destinationPort Destination port - * @param p_fromPort Forwarding source port - * @param p_toPort Forwarding destination port - * @param p_hops N-hops value - * @param p_counter Expected value of FNTP packet counter counter field - */ - template (present) FNTPNPDU mdw_fntpForwardingNpdu( - in template (present) UInt16 p_sourcePort, // FIXME Change it into PortNumber - in template (present) UInt16 p_destinationPort, // FIXME Change it into PortNumber - in template (present) PortNumber p_fromPort, - in template (present) PortNumber p_toPort, - in template (present) FNTPpacketCounter p_counter, - in template (present) FNTPhopCount p_hops - ) modifies mw_fntpForwardingNpdu_any := { - header := { - sourcePort := { portLong := p_sourcePort }, - destinationPort := { portLong := p_destinationPort }, - options := { - intForw := { - counter := p_counter, - sourcePort := p_fromPort, - destinationPort := p_toPort - }, // End of field 'intForw' - hops := p_hops - } // End of field 'options' - }, // End of field 'header' - body := PX_ITS_FPDU - } // End of template mdw_fntpForwardingNpdu - - /** - * @desc Receive template for FNTP forwarding NPDU with CIP - * @param p_sourcePort Source port - * @param p_destinationPort Destination port - * @param p_fromPort Forwarding source port - * @param p_toPort Forwarding destination port - * @param p_hops N-hops value - * @param p_counter Expected value of FNTP packet counter counter field - * @param p_rxCIP Receive (RX) parameter settings - * @param p_txCIP Transmit (TX) parameters of a VCI - */ - template (present) FNTPNPDU mdw_fntpForwardingNpduCip( - in template (present) UInt16 p_sourcePort, - in template (present) UInt16 p_destinationPort, - in template (present) PortNumber p_fromPort, - in template (present) PortNumber p_toPort, - in template (present) FNTPpacketCounter p_counter, - in template (present) FNTPhopCount p_hops, - in template (present) RXcip p_rxCip, - in template (present) TXcip p_txCip - ) modifies mdw_fntpForwardingNpdu := { - header := { - sourcePort := { portLong := c_portRtr }, - destinationPort := { portLong := c_portHst }, - options := { - intForw := { - counter := p_counter, - sourcePort := p_fromPort, - destinationPort := p_toPort - }, // End of field 'intForw' - hops := p_hops, - cip := { - rxCIP := p_rxCip, - txCIP := p_txCip - } // End of field 'cip' - } // End of field 'options' - } // End of field 'header' - } // End of template mdw_fntpForwardingNpduCip - - } // End of group fntpForwardingNpdu - - group fntpManagement { - - /** - * @desc Generic receive template for UpdateNotFNTP - */ - template UpdateNotFNTP mw_updateNotFNTP_any := { - fill := '0'B, - reference := ?, - remotePort := *, - linkID := *, - ciStatus := *, - linkPort := *, - serviceInfo := *, - priority := *, - timeout_ := * - } // End of template mw_updateNotFNTP_any - - /** - * @desc Receive template for UpdateNotFNTP - * @param p_remotePort Remote port value - */ - template (present) UpdateNotFNTP mdw_updateNotFNTP_port( - in template (present) PortNumber p_remotePort - ) modifies mw_updateNotFNTP_any := { - remotePort := p_remotePort - } // End of template mdw_updateNotFNTP_port - - } // End of group fntpManagement - - /** - * @desc template used to trigger message on Lower Tester - */ - group taPrimitives { - - /** - * @desc Generate a FNTP NPDU through IN-SAP - * @param p_insapSourceAddress Source linkId - * @param p_insapDestAddress Destination linkId - * @param p_inData The FNTP NPDU in octetstring format - * @see ISO 21218 - Clause 8.3.3 - */ - template (value) INsapPrimitivesUp m_generateFntpNpdu( - in template (value) LLserviceAddr p_insapSourceAddress, - in template (value) LLserviceAddr p_insapDestAddress, - in template (value) INdata p_inData - ) := { - spRef := 0, - servPrimitive := { - IN_UNITDATA_indication := - m_inUnitDataInd( - p_insapSourceAddress, - p_insapDestAddress, - p_inData - ) - } - } // End of template m_generateFntpNpdu1 - - /** - * @desc Generate a FNTP NPDU through IN-SAP - * @param p_insapSourceAddress Source linkId - * @param p_insapDestAddress Destination linkId - * @param p_inData The FNTP NPDU in octetstring format - * @param p_accessParams access_parameters parameter - * @see ISO 21218 - Clause 8.3.3 & Clause 8.5 - * @see ISO 29281-2 - Clause 7.10.1 - */ - template (value) INsapPrimitivesUp md_generateFntpNpduCip( - in template (value) LLserviceAddr p_insapSourceAddress, - in template (value) LLserviceAddr p_insapDestAddress, - in template (value) INdata p_inData, - in template (present) AccessParameters p_accessParams - ) modifies m_generateFntpNpdu := { - servPrimitive := { - IN_UNITDATA_indication := { - accessParams := p_accessParams - } // End of field 'inUnitdataInd' - } // End of field 'servPrimitive' - } // End of template m_generateFntpNpduCip - - } // End of group taPrimitives - - /** - * @desc Templates used to - *
  • trigger message on Upper Tester
  • - *
  • capture indication message sent by the IUT
  • - */ - group utPrimitives { - - /** - * @desc Initializes the FNTP IUT including support notification to the Management entity - * See Test System Configuration Access to SUT - */ - template (value) UtInitialize m_utFntpInitialize_with_management := { - utFntpInitialize := { - mcmdRq := { - mCmdRef := 255, - mcmd := { - TestConfigIICP := { - location := PX_LOC_ITS_FNTP_ACCESS_SETTINGS_MX_SAP_UNSET, - lowerLayers := PX_IUT_LOWER_LAYER_UNUSED, // PX_IUT_LOWER_LAYER_USED - testMode := PX_IUT_TEST_MODE_ON - } - } // End of field 'mcmd' - } // End of field 'mcmdRq' - } // End of field 'utFntpInitialize' - } // End of template m_utFntpInitialize_with_management - - /** - * @desc Initializes the FNTP IUT without support notification to the Management entity - * See Test System Configuration Access to SUT - */ - template (value) UtInitialize m_utFntpInitialize_without_management := { - utFntpInitialize := { - mcmdRq := { - mCmdRef := 255, - mcmd := { - TestConfigIICP := { - location := PX_LOC_ITS_FNTP_ACCESS_SETTINGS_MX_SAP_UNSET, - lowerLayers := PX_IUT_LOWER_LAYER_UNUSED, // PX_IUT_LOWER_LAYER_USED - testMode := PX_IUT_TEST_MODE_ON - } - } // End of field 'mcmd' - } // End of field 'mcmdRq' - } // End of field 'utFntpInitialize' - } // End of template m_utFntpInitialize_without_management - - /** - * @desc Receive template to generate a NFsapPrimitivesUp message - * @param p_nfSapPrimitivesUp The NFsapPrimitivesUp message - */ - template (present) UtFntpEventInd mw_utFntpEventInd( - in template (present) NFsapPrimitivesUp p_nfSapPrimitivesUp - ) := { - nfSapPrimitivesUp := p_nfSapPrimitivesUp - } // End of template mw_utFntpEventInd - - group fntpNfPort { - - /** - * @desc Send template to request creation or modification of a socket for an endpoint - * @param p_serviceRef Number uniquely identifying the endpoint at this host in an implementation specific way - * @param p_portNumber Contains either the value PORT_NON in order to indicate dynamic assignment of a port number by the port number manager, or a valid value of a well-known static port PORT_REG - * @see ISO 29281-2 Clause 8.2.1 - */ - template (value) UtFntpEvent m_generateNfFntpPortCreationRequest( - in template (value) ServiceRef p_serviceRef, - in template (value) PortNumber p_portNumber - ) := { - nfSapPrimitivesDown := { - spRef := 0, - servPrimitive := { - NFfntpPortRequest := { - serviceRef := p_serviceRef, - operation := 255, // FIXME Change to constant - portno := p_portNumber, - priority := PX_USER_PRIORITY - } // End of field 'NFfntpPortRequest' - } // End of field 'servPrimitive' - } // End of field 'nfSapPrimitivesDown' - } // End of template m_generateNfFntpPortCreationRequest - - /** - * @desc Send template to request deletion of a socket for an endpoint - * @param p_serviceRef Number uniquely identifying the endpoint at this host in an implementation specific way - * @param p_portNumber Contains the port to be deleted - * @see ISO 29281-2 Clause 8.2.1 - */ - template (value) UtFntpEvent m_generateNfFntpPortDeletionRequest( - in template (value) ServiceRef p_serviceRef, - in template (value) PortNumber p_portNumber - ) := { - nfSapPrimitivesDown := { - spRef := 0, - servPrimitive := { - NFfntpPortRequest := { - serviceRef := p_serviceRef, - operation := 0, // Deletion requested FIXME Change to constant - portno := p_portNumber, - priority := PX_USER_PRIORITY - } // End of field 'NFfntpPortRequest' - } // End of field 'servPrimitive' - } // End of field 'nfSapPrimitivesDown' - } // End of template m_generateNfFntpPortDeletionRequest - - /** - * @desc Receive template used by the FNTP to acknowledge a previous NF-FNTP-PORT.request - * @param p_serviceRef Contains the same value provided in parameter "serviceRef" in the related NF-FNTP-SOCKET.request - * @param p_servicePort Contains the Service port number assigned by the FNTP - * @see ISO 29281-2 Clause 8.2.2 - */ - template NFsapPrimitivesUp mw_fntpPortConfirm( - in template (present) ServiceRef p_serviceRef, - in template (present) PortNumber p_servicePort - ) := { - spRef := 0, - servPrimitive := { - NFfntpPortConfirm := { - serviceRef := p_serviceRef, - servicePort := p_servicePort - } // End of field 'NFfntpPortConfirm' - } // End of field 'servPrimitive' - } // End of template mw_fntpPortConfirm - - } // End of group fntpNfPort - - /** - * @desc Receive a succesful COMMAND.confirm primitive - * @see ISO 29281-2 Clause 8.2.1 NF-FNTP-PORT.request - */ - template (present) UtFntpEventInd mw_fntpCommConfirm_success := { //FIXME To be renamed - nfSapPrimitivesUp := { - spRef := 1, - servPrimitive := { - NFfntpCommConfirm := { - commRef := ?, - servicePort := ?, - errStatus := c_errStatus_success - } // End of field 'NFfntpCommConfirm' - } // End of field 'servPrimitive' - } // End of field 'nfSapPrimitivesUp' - } // End of template mw_fntpCommConfirm_success - - /** - * @desc Receive a succesful COMMAND.confirm primitive - * @see ISO 29281-2 Clause 8.2.1 NF-FNTP-PORT.request - */ - template (present) UtFntpEventInd mdw_fntpCommConfirm_success( - in template (value) PortNumber p_port - ) modifies mw_fntpCommConfirm_success := { //FIXME To be renamed - nfSapPrimitivesUp := { - servPrimitive := { - NFfntpCommConfirm := { - servicePort := p_port, - errStatus := c_errStatus_success - } // End of field 'NFfntpCommConfirm' - } // End of field 'servPrimitive' - } // End of field 'nfSapPrimitivesUp' - } // End of template mw_fntpCommConfirm_success - - /** - * @desc Receive a succesful COMMAND.confirm primitive - * @see ISO 29281-2 Clause 8.2.1 NF-FNTP-PORT.request - */ - template (present) UtFntpEventInd mdw_fntpCommConfirm_anyError( - in template (present) PortNumber p_port - ) modifies mw_fntpCommConfirm_success := { - nfSapPrimitivesUp := { - servPrimitive := { - NFfntpCommConfirm := { - servicePort := p_port, - errStatus := complement(c_errStatus_success) - } // End of field 'NFfntpCommConfirm' - } // End of field 'servPrimitive' - } // End of field 'nfSapPrimitivesUp' - } // End of template mdw_fntpCommConfirm_anyError - - /** - * @desc Receive an unsuccesful COMMAND.confirm primitive - * @see ISO/WD 29281-2 Clause 8.3.2 - */ - template (present) UtFntpEventInd mdw_fntpCommConfirm_unspecFailure( - in template (present) PortNumber p_port - ) modifies mdw_fntpCommConfirm_anyError := { - nfSapPrimitivesUp := { - servPrimitive := { - NFfntpCommConfirm := { - errStatus := c_errStatus_unspecFailure - } // End of field 'NFfntpCommConfirm' - } // End of field 'servPrimitive' - } // End of field 'nfSapPrimitivesUp' - } // End of template mdw_fntpCommConfirm_fail - - /** - * @desc Send template for a NF-SAP command request - * @param p_commRef Unique cyclic reference number of command - * @param p_servicePort Port number allocated by FN-FNTP-SOCKECT.create operation - * @param p_linkID Identifies the VCI to be used to transmit the packet - * @param p_data Contains the ITS-SP payload EPDU - * @param p_controlField Content of the FNTP control field in the FNTP extended header - * @see ISO 29281-2 Clause 8.3.1 - */ - template (value) UtFntpEvent m_generateNfFntpCommRequest( - in template (value) CommandRef p_commRef, - in template (value) PortNumber p_servicePort, - in template (value) Link_ID p_linkId, - in template (value) ITSfpdu p_data, - in template (value) FntpOptions p_controlField - ) := { - nfSapPrimitivesDown := { - spRef := 1, - servPrimitive := { - NFfntpCommRequest := { - commRef := p_commRef, - servicePort := p_servicePort, - remotePort := PX_REMOTE_PORT_NUMBER, - linkID := p_linkId, - data := p_data, - priority := PX_USER_PRIORITY, - controlField := p_controlField - } // End of field 'NFfntpCommRequest' - } // End of field 'servPrimitive' - } // End of field 'nfSapPrimitivesDown' - } // End of template m_generateNfFntpCommRequest - - /** - * @desc Receive an COMMAND.indication primitive - * @see ISO 29281-2 Clause 8.3.3 - */ - template (present) NFsapPrimitivesUp mw_checkNfFntpCommIndication_any := { - spRef := 2, - servPrimitive := { - NFfntpCommIndication := { - servicePort := ?, - remotePort := ?, - linkID := ?, - data := PX_ITS_FPDU, - priority := PX_USER_PRIORITY, - controlField := mw_noFntpOptions - } // End of field 'NFfntpCommIndication' - } // End of field 'servPrimitive' - } // End of template mw_checkNfFntpCommIndication_any - - /** - * @desc Receive an COMMAND.indication primitive - * @param p_servicePort Set equal to "destinationPort" given in the NPDU - * @param p_port Set equal to "sourcePort" given in the NPDU - * @param p_linkID Identify the VCI associated with the peer station - */ - template (present) NFsapPrimitivesUp mdw_checkNfFntpCommIndication( - in template (present) PortNumber p_servicePort, - in template (present) PortNumber p_remotePort, - in template (present) Link_ID p_linkId - ) modifies mw_checkNfFntpCommIndication_any := { - servPrimitive := { - NFfntpCommIndication := { - servicePort := p_servicePort, - remotePort := p_remotePort, - linkID := p_linkId - } // End of field 'NFfntpCommIndication' - } // End of field 'servPrimitive' - } // End of template mw_checkNfFntpCommIndication - - /** - * @desc Receive an COMMAND.indication primitive with Access parameters - * @param p_servicePort Set equal to "destinationPort" given in the NPDU - * @param p_port Set equal to "sourcePort" given in the NPDU - * @param p_linkID Identify the VCI associated with the peer station - * @param p_nHopNfFntpOptionsCip FNTP options with Access parameters - * @see ISO/WD 29281-2 Clause 6.2.2.3.6 CIP management - */ - template (present) NFsapPrimitivesUp mdw_checkNfFntpCommIndicationCip( - in template (present) PortNumber p_servicePort, - in template (present) PortNumber p_remotePort, - in template (present) Link_ID p_linkId, - in template (present) FntpOptions p_nHopNfFntpOptionsCip - ) modifies mw_checkNfFntpCommIndication_any := { - servPrimitive := { - NFfntpCommIndication := { - servicePort := p_servicePort, - remotePort := p_remotePort, - linkID := p_linkId, - controlField := p_nHopNfFntpOptionsCip - } // End of field 'NFfntpCommIndication' - } // End of field 'servPrimitive' - } // End of template mdw_checkNfFntpCommIndicationCip - - /** - * @desc Templates for FNTP control fields - * @see ISO 29281-2 Clause 6.2.2.3 - */ - group fntpControlFields { - - /** - * @desc Send template for no FNTP control fields set, meaning "Basic procedure" (ISO 29281-2 Clause 7.6.1) - * @see ISO 29281-2 Clause 6.2.2.3.1 - */ - template (value) FntpOptions m_noFntpOptions := { - intForw := omit, - sec := omit, - hops := omit, - lpp := omit, - cip := omit, - opt5 := omit, - opt6 := omit, - opt7 := omit - } // End of template m_noFntpOptions - - /** - * @desc Send template for a S/N-hops communications - * @param p_hops Number of hops. This parameter shall be set to zero for single hop - * @see ISO 29281-2 Clause 6.2.2.3.1 - */ - template (value) FntpOptions md_nHopNfFntpOptions( - in template (value) FNTPhopCount p_hops - ) modifies m_noFntpOptions := { - hops := p_hops - } // End of template md_nHopNfFntpOptions - - /** - * @desc Receive template for no FNTP control fields set, meaning "Basic procedure" (ISO 29281-2 Clause 7.6.1) - * @see ISO 29281-2 Clause 6.2.2.3.1 - */ - template FntpOptions mw_noFntpOptions := { - intForw := omit, - sec := omit, - hops := omit, - lpp := omit, - cip := omit, - opt5 := omit, - opt6 := omit, - opt7 := omit - } // End of template mw_noFntpOptions - - /** - * @desc Receive template for a S/N-hops communications - * @param p_hops Number of hops. This parameter shall be set to zero for single hop - * @see ISO 29281-2 Clause 6.2.2.3.1 - */ - template (present) FntpOptions mdw_nHopNfFntpOptions( - in template (present) FNTPhopCount p_hops - ) modifies mw_noFntpOptions := { - hops := p_hops - } // End of template mdw_nHopNfFntpOptions - - /** - * @desc Send template for unsupported control fiel - * @see ISO 29281-2 Clause 6.2.6 - */ - template (value) FntpOptions md_nonSupportedFntpControlField - modifies m_noFntpOptions := { - opt5 := NULL - } // End of template md_nonSupportedFntpControlField - - /** - * @desc Send template for with CIP required - * @param p_hops Number of hops. This parameter shall be set to zero for single hop - * @param p_rxCIP Receive (RX) parameter settings - * @param p_txCIP Transmit (TX) parameters of a VCI - * @see ISO 29281-2 Clause 7.10 - */ - template (value) FntpOptions md_cipNfFntpOptions( - in template (value) FNTPhopCount p_hops, - in template (value) RXcip p_rxCip, - in template (value) TXcip p_txCip - ) modifies md_nHopNfFntpOptions := { - cip := { - rxCIP := p_rxCip, - txCIP := p_txCip - } // End of field 'cip' - } // End of template md_cipNfFntpOptions - - /** - * @desc Receive template for a S/N-hops communications with CIP - * @param p_hops Number of hops. This parameter shall be set to zero for single hop - * @param p_rxCIP Receive (RX) parameter settings - * @param p_txCIP Transmit (TX) parameters of a VCI - * @see ISO 29281-2 Clause 6.2.2.3.1 - */ - template FntpOptions mdw_nHopNfFntpOptions_cip( - in template (present) FNTPhopCount p_hops, - in template RXcip p_rxCip, - in template TXcip p_txCip - ) modifies mw_noFntpOptions := { - hops := p_hops, - cip := { - rxCIP := p_rxCip, - txCIP := p_txCip - } // End of field 'cip' - } // End of template mdw_nHopNfFntpOptions_cip - - } // End of group fntpControlFields - - } // End of group utPrimitives - - group cfPrimitives { - - /** - * @desc Initializes the Configuration tester - */ - template (value) CfInitialize m_cfFntpInitialize := { - cfFntpInitialize := { - } // End of field 'cfFntpInitialize' - } // End of template m_cfFntpInitialize - - /** - * @desc Receive template for configuration message (CfPort Primitive) - * @param p_mnRequestRequest Expected MN_Request_rquest message - */ - template (present) CfFntpEventInd mw_cfFntpEventInd( - template (present) MN_Request_request p_mnRequestRequest - ) := { - mnRequestRequest := p_mnRequestRequest - } // End of template mw_cfFntpEventInd - - } // End of group cfPrimitives - - } // End of group fntpPrimitives - -} // End of module LibItsFntp_Templates \ No newline at end of file diff --git a/ttcn/CALM/FNTP/LibItsFntp_TypesAndValues.ttcn3 b/ttcn/CALM/FNTP/LibItsFntp_TypesAndValues.ttcn3 deleted file mode 100644 index 05dfed232564cc50b1db4debf719b85da105a6f7..0000000000000000000000000000000000000000 --- a/ttcn/CALM/FNTP/LibItsFntp_TypesAndValues.ttcn3 +++ /dev/null @@ -1,153 +0,0 @@ -/** - * @author ETSI / STF422_EETS - * @version $URL$ - * $Id$ - * @desc Types and constants definitions for Fast Networking & Transport layer Protocol (ISO 29281-2) - */ -module LibItsFntp_TypesAndValues { - - // LibCommon - import from LibCommon_BasicTypesAndValues { - type UInt16 - }; - import from LibCommon_DataStrings { - type Bit1, Bit6 - }; - - // LibIts - - // LibItsCalm - import from CALMllsap language "ASN.1:1997" { - type - INsapPrimitivesUp - }; - import from CALMfntp language "ASN.1:1997" { - type - FNTPNPDU, - NFsapPrimitivesDown, NFsapPrimitivesUp, FNTPintForwarding, - PortNumber - }; - import from CALMiitsscu language "ASN.1:1997" { - type - McmdRq - }; - import from CALMmsap language "ASN.1:1997" { - type - MN_Request_request, MN_Request - }; - - /** - * @desc FNTP port values - * @see ISO/CD 29281-2 Table 1 — FNTP endpoints identified by port numbers - */ - group fntpPortsValues { - - /** - * @desc Groupcast manager, i.e. Service Advertisement Message (SAM) endpoint - */ - const UInt16 c_portSam := 0; - - /** - * @desc dynamic port - */ - const UInt16 c_portDyn := 128; - - /** - * @desc Low limit of reserved range - */ - const UInt16 c_portReservedLow := 32717; - - /** - * @desc High limit of reserved range - */ - const UInt16 c_portReservedHigh := 32763; - - /** - * @desc Inter ITS-SCU communications specified in ISO 24102-4 - */ - const UInt16 c_portIic := 32764; - - /** - * @desc Shall be used to identify an ITS-SCU with functionality of an ITS-S router. These values shall be used only in the FNTP forwarding header - */ - const UInt16 c_portRtr := 32765; - - /** - * @desc Shall be used to identify an ITS-SCU with functionality of an ITS-S host. These values shall be used only in the FNTP forwarding header - */ - const UInt16 c_portHst := 32766; - - /** - * @desc Unknown or 'don't care' port - */ - const UInt16 c_portNon := 32767; - - } // End of group fntpPortsValues - - group utPrimitives { - - /** - * @desc Trigger to initialize the IUT. - * @member McmdRq IICPrequests/McmdRq message to initialize the upper tester - * - * @see ISO 24102-4 - */ - type record UtFntpInitialize { - McmdRq mcmdRq - } with { - encode (mcmdRq) "LibItsIicp_asn1" - } - - /** - * @desc Events at the application layer of the IUT. - * @member nfSapPrimitivesDown NF-SAP down primitive - */ - type union UtFntpEvent { - NFsapPrimitivesDown nfSapPrimitivesDown - } - with { - encode (nfSapPrimitivesDown) "LibItsFntp_asn1" - } - - /** - * @desc Send a NF-SAP primitive from Facility layer through a SAP. - * @member nfSapPrimitivesUp NF-SAP up primitive - */ - type union UtFntpEventInd { - NFsapPrimitivesUp nfSapPrimitivesUp - } - with { - encode (nfSapPrimitivesUp) "LibItsFntp_asn1" - } - - } with { - encode "UpperTester" - } // End of group utPrimitives - - group cfPrimitives { - - /** - * @desc Trigger to initialize the IUT. - */ - type record CfFntpInitialize { - } - - /** - * @desc Send a MN-SAP.request primitive to the Management layer through a SAP. - * @member mnRequestRequest MN_REQUEST_Request primitive - */ - type union CfFntpEventInd { - MN_Request_request mnRequestRequest - } - with { - encode (mnRequestRequest) "LibItsCALMmsap_asn1" - } - - } with { - encode "ConfigTester" - } // End of group cfPrimitives - -} -with { - encode "LibItsFntp" -} //End of module LibItsFntp_TypesAndValues \ No newline at end of file diff --git a/ttcn/CALM/FSAP/LibItsFsap_Functions.ttcn3 b/ttcn/CALM/FSAP/LibItsFsap_Functions.ttcn3 deleted file mode 100644 index f9c6940d0476f8d1be1f1b1a5ae180504fe69fd3..0000000000000000000000000000000000000000 --- a/ttcn/CALM/FSAP/LibItsFsap_Functions.ttcn3 +++ /dev/null @@ -1,1005 +0,0 @@ -/** - * @author ETSI / STF422_EETS - * @version $URL$ - * $Id$ - * @desc Fast service advertisement protocol (ISO 24102-5) functions - */ -module LibItsFsap_Functions { - - // Libcommon - import from LibCommon_Sync all; - import from LibCommon_Time { - function f_sleep, f_sleepIgnoreDef - }; - - // LibIts - import from CITSapplMgmtApplReg language "ASN.1:1997" { - type ITSaid - }; - import from CALMllsap language "ASN.1:1997" { - type EUI64 - }; - import from CALMmanagement language "ASN.1:1997" { - type - ITS_scuId, StationID, - ApplicationID - }; - import from CALMiitsscu language "ASN.1:1997" { - type - ITS_SCUtype - }; - import from CALMmsap language "ASN.1:1997" { - type CommandRef - }; - import from CALMfsap language "ASN.1:1997" { - type - SAM, - CTX, CTXrxNot, - GCregClient, - GCschedule, ServiceDataReg, ServiceList, - ContextData - }; - import from CALMfntp language "ASN.1:1997" { - type - PortNumber - }; - import from LibItsMgt_Templates all; // FIXME Remove 'all' - import from LibItsMgt_Functions all; // FIXME Remove 'all' - import from LibItsFsap_TypesAndValues all; - import from LibItsFsap_Templates all; - import from LibItsFsap_Pixits all; - import from LibItsFsap_Pics all; - import from LibItsIicp_Functions { - altstep a_iicpDefault - }; - import from LibItsFntp_Templates { - template - m_llServiceAddr, m_linkId - }; - import from LibItsFntp_Functions { - function - f_getIutRemoteDestCiidBc, f_getIutRemoteDestCiidUc, f_getIutWlLocalCiid - }; - import from LibItsCalm_Interface all; // FIXME Remove 'all' - - /** - * @desc Upper tester functions - */ - group utFunctions { - - /** - * @desc Requests to bring the IUT in an initial state - * @param p_utInitialize The initialisation to trigger. - * @verdict Unchanged on success, fail on error and inconc otherwise - */ - function f_utFsapInitializeIut(template (value) UtInitialize p_utInitialize) runs on ItsCalm { - - utPort.send(p_utInitialize); - tc_wait.start; - alt { - [] utPort.receive(UtResult:true) { - tc_wait.stop; - log("*** f_utFsapInitializeIut: INFO: IUT initialized ***"); - } - [] utPort.receive { - tc_wait.stop; - log("*** f_utFsapInitializeIut: INFO: IUT could not be initialized ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] tc_wait.timeout { - log("*** f_utFsapInitializeIut: INFO: IUT could not be initialized in time ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [else] { // Shortcut defaults - //f_sleep(0.050); // 50 ms - repeat; - } - } // End of 'alt' statement - - } // End of function f_utFsapInitializeIut - - /** - * @desc Send a FAsapPrimitivesDown primitive and wait for the NFsapPrimitivesUp confirm response - * @param p_utFsapEvent The FAsapPrimitivesDown request - * @param p_utFsapEventInd The FAsapPrimitivesDown response - * @param p_discard Set to true if responses shall be discard, otherwise the function failed - * @param p_result The response value - * @verdict Unchanged on success, fail on error and inconc otherwise - */ - function f_utFsapEventResponse( - in template (value) UtFsapEvent p_utFsapEvent, - in template (present) UtFsapEventInd p_utFsapEventInd, - in boolean p_discard, - out UtFsapEventInd p_result) - runs on ItsCalm { - -// log("*** f_utFsapEventResponse: INFO: Send message: ", p_commandReq, " ***"); - utPort.send(p_utFsapEvent); -// log("*** f_utFsapEventResponse: INFO: Expected UtCommandConfirm: ", p_commandConf, " ***"); - tc_wait.start; - alt { - [] utPort.receive(p_utFsapEventInd) -> value p_result { -// log("*** f_utFsapEventResponse: INFO: Receive expected confirm: message ***"); - tc_wait.stop; - } - [] utPort.receive(UtFsapEventInd:? ) -> value p_result { - if (p_discard == false) { - tc_wait.stop; - log("*** f_utFsapEventResponse: ERROR: Event not correctly indicated at application layer ***", p_result); - f_selfOrClientSyncAndVerdict("fail", e_error); - } - else { - log("*** f_utFsapEventResponse: INFO: Another event indicated at application layer, repeating check ***"); - repeat; - } - } - [] tc_wait.timeout { - if (p_discard == false) { - log("*** f_utFsapEventResponse: ERROR: Timeout while waiting for event check result ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - else { - log("*** f_utFsapEventResponse: INFO: Event not indicated at application layer ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - } - } // End of 'alt' statement - - } // End of function f_utFsapEventResponse - - /** - * @desc Send a FAsapPrimitivesDown primitive and do not wait for the NFsapPrimitivesDown confirm response - * @param p_utFsapEvent The FAsapPrimitivesDown primitive - * @verdict Unchanged on success, fail otherwise - */ - function f_utFsapEvent( - in template (value) UtFsapEvent p_utFsapEvent - ) runs on ItsCalm { - var UtFsapEventInd v_utFsapEventInd; - - utPort.send(p_utFsapEvent); - tc_noac.start; - alt { - [] utPort.receive(UtFsapEventInd:?) -> value v_utFsapEventInd { // FIXME Use altstep for UtPort - tc_noac.stop; - log("*** f_utFsapEvent: INFO: Unexpected message was received ***", v_utFsapEventInd); - } - [] tc_noac.timeout { - log("*** f_utFsapEvent: INFO: FAsapPrimitivesUp succeed ***"); - } - } // End of 'alt' statement - - } // End of function f_utFsapEvent - - } // End of group utFunctions - - /** - * @desc Config tester functions - */ - group cfFunctions { - - /** - * @desc Requests to initialize the configuration tester - * @param p_cfInitialize The initialisation to trigger. - * @verdict Unchanged on success, fail otherwise - */ - function f_cfFsapInitialize(template (value) CfInitialize p_cfInitialize) runs on ItsCalm { - - cfPort.send(p_cfInitialize); - tc_wait.start; - alt { - [] cfPort.receive(CfResult:true) { - tc_wait.stop; - log("*** f_cfFsapInitialize: INFO: Configuration tester initialized ***"); - } - [] cfPort.receive { - tc_wait.stop; - log("*** f_cfFsapInitialize: INFO: Configuration tester could not be initialized ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] tc_wait.timeout { - log("*** f_cfFsapInitialize: INFO: Configuration tester could not be initialized in time ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [else] { // Shortcut defaults - //f_sleep(0.050); // 50 ms - repeat; - } - } // End of 'alt' statement - - } // End of function f_cfFsapInitialize - - /** - * @desc Await for notification on MF-SAP - * @param p_cfFsapEventInd The MF_Request_request notification message. - * @param p_discard Set to true if responses shall be discard, otherwise the function failed - * @verdict Unchanged on success, fail otherwise - */ - function f_cfFsapAwaitNotificationToManagement( - in template CfFsapEventInd p_cfFsapEventInd, - in boolean p_discard - ) runs on ItsCalm { - var CfFsapEventInd p_result; - - log("*** f_cfFsapAwaitNotificationToManagement: INFO: Expected event: ", p_cfFsapEventInd, " ***"); - tc_wait.start; - alt { - [] cfPort.receive(p_cfFsapEventInd) { - tc_wait.stop; - log("*** f_cfFsapAwaitNotificationToManagement: INFO: Notification event received ***"); - } - [] cfPort.receive(CfFsapEventInd: ?) -> value p_result { - if (p_discard == false) { - tc_wait.stop; - log("*** f_cfFsapAwaitNotificationToManagement: ERROR: Another event indicated at application layer ***", p_result); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } else { - log("*** f_cfFsapAwaitNotificationToManagement: INFO: Another event indicated at application layer, repeating check ***"); - repeat; - } - } - [] tc_wait.timeout { - if (p_discard == false) { - log("*** f_cfFsapAwaitNotificationToManagement: ERROR: Timeout while waiting for event check result ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } else { - log("*** f_cfFsapAwaitNotificationToManagement: INFO: Event not indicated at application layer ***"); - } - } - } // End of 'alt' statement - - } // End of function f_cfFsapAwaitNotificationToManagement - - } // End of group cfFunctions - - group fsapConfigurationFunctions { - - /** - * @desc This configuration features: - *
  • Host and Router are combined (see ISO/WD 29281-2 - Figure 1 - Implementation architecture I)
  • - *
  • MGT1 IISC Port (IISC/LAN) is not used
  • - */ - function f_cf01Up() runs on ItsCalm { - - // Sanity check - if (PICS_ITS_S_INW) { - log("*** f_cf01Up: ERROR: PICS_ITS_S_INW shall not be required for executing the TC ***"); - stop; - } - - // Map - map(self:acPort, system:acPort); - map(self:utPort, system:utPort); - map(self:cfPort, system:cfPort); // FIXME Add check PICS_ITS_MGT_NOT - map(self:fsapPort, system:fsapPort); - - // Connect - f_connect4SelfOrClientSync(); - - // Set processing on shutdown - activate(a_cf01Down()); - - // Initialize the component - f_initialiseComponent("cf01Up"); - - // Initialze the IUT - f_initialState(); - - } // End of function f_cf01Up - - /** - * @desc This configuration features: - *
  • Host and Router are separated (see ISO/WD 29281-2 - Figure 3 - Implementation architecture II & III)
  • - *
  • MGT1 IISC Port (IISC/LAN) is used if specified
  • - */ - function f_cf02Up() runs on ItsCalm { - - // Sanity check - if (not(PICS_ITS_S_INW)) { - log("*** f_cf02Up: ERROR: PICS_ITS_S_INW required for executing the TC ***"); - stop; - } - - vc_commandRef := 0; - vc_pduCounter := 0; - - // Map - map(self:utPort, system:utPort); - map(self:cfPort, system:cfPort); // FIXME Add check PICS_ITS_MGT_NOT - map(self:fsapPort, system:fsapPort); - - // Connect - f_connect4SelfOrClientSync(); - - // Set processing on shutdown - activate(a_cf02Down()); - - // Initialize the component - f_initialiseComponent("cf02Up"); - - // Initialze the IUT - f_initialState(); - - } // End of function f_cf02Up - - /** - * @desc Deletes configuration cf01 - */ - function f_cf01Down() runs on ItsCalm { - - deactivate; - - // Unmap - unmap(self:acPort, system:acPort); - unmap(self:utPort, system:utPort); - unmap(self:cfPort, system:cfPort); // FIXME Add check PICS_ITS_MGT_NOT - unmap(self:fsapPort, system:fsapPort); - - // Disconnect - f_disconnect4SelfOrClientSync(); - - } // End of f_cf01Down - - /** - * @desc Deletes configuration cf02 - */ - function f_cf02Down() runs on ItsCalm { - - deactivate; - - // Unmap - unmap(self:utPort, system:utPort); - unmap(self:cfPort, system:cfPort); // FIXME Add check PICS_ITS_MGT_NOT - unmap(self:fsapPort, system:fsapPort); - - // Disconnect - f_disconnect4SelfOrClientSync(); - - } // End of f_cf02Down - - /** - * @desc Behavior function for initializing component's variables and tables - * @param p_componentName Name of the component - * @param p_iicpMGM Set to true if IISC port shall be used - */ - function f_initialiseComponent(in charstring p_componentName) runs on ItsMgt { - - // Initialize variables - - // Set defaults - activate(a_fsapDefault()); - if (p_componentName == "cf02Up") { - activate(a_iicpDefault()); - } - } // end f_initialiseComponent - - } // End of group fsapConfigurationFunctions - - group preambles { - - /** - * @desc Brings the IUT into an initial state. - */ - function f_initialState() runs on ItsCalm { - if (PICS_ITS_MGT_NOT == true) { - f_utFsapInitializeIut(m_utFsapInitialize_with_management); - } else { - f_utFsapInitializeIut(m_utFsapInitialize_without_management); - } // FIXME Add suport of PICS_FSAP_FNTP - f_cfFsapInitialize(m_cfFsapInitialize); - f_sleepIgnoreDef(PX_WAIT_FOR_IUT_READY); // Wait until the IUT is in a stable situation (beaconing...) - cfPort.clear; // Because TestConfigIICP should trigger management port deletion message - } // End of function f_initialState - - /** - * @desc Generte FAsapPrimitivesDown primitive - * @param p_utFsapEvent The FAsapPrimitivesDown primitive - * @verdict Unchanged - */ - function f_fsapGenerateFaPrimitiveWithConfirm( - in template (value) UtFsapEvent p_generateFaSapRequest, - in template (present) UtFsapEventInd p_faSapRequestConfirm, - in boolean p_discard, - out UtFsapEventInd p_result - ) runs on ItsCalm { - - f_utFsapEventResponse( - p_generateFaSapRequest, - p_faSapRequestConfirm, - p_discard, - p_result - ); - - } // End of function f_fsapGenerateFaPrimitiveWithConfirm - - /** - * @desc Generte FAsapPrimitivesDown primitive - * @param p_utFsapEvent The FAsapPrimitivesDown primitive - * @verdict Unchanged - */ - function f_fsapGenerateFaPrimitiveWithoutConfirm( - in template (value) UtFsapEvent p_utFsapEvent - ) runs on ItsCalm { - - f_utFsapEvent(p_utFsapEvent); - - } // End of function f_fsapGenerateFaPrimitiveWithoutConfirm - - /** - * @desc Wait for MF_Request_request/CTXrxNot message sent by ITS management entity - * @param p_ctxRxNot CTXrxNot value - * @verdict Unchanged - */ - function f_fsapAwaitCtxRxNot( - in template (present) CTXrxNot p_ctxRxNot - ) runs on ItsCalm { - - f_cfFsapAwaitNotificationToManagement( - mw_cfFsapEventInd( - mw_mfRequestRequest_ctx( - p_ctxRxNot - ) - ), - false - ); - - } // End of function f_fsapAwaitCtxRxNot - - /** - * @desc Makes the simulated ITS Service Provider for IUT - */ - function f_startServiceProvider( - in template (value) ServiceList p_serviceList, - in template (value) PortNumber p_sourcePort, - in template (value) PortNumber p_destinationPort - ) runs on ItsCalm { - f_acFsapTriggerEvent( - AcFsapPrimitive: { - inSapPrimitivesUp := m_generateSamMessagePdu( - m_llServiceAddr(m_linkId(f_getIutRemoteDestCiidBc(), f_getIutWlLocalCiid())), - m_llServiceAddr(m_linkId(f_getIutRemoteDestCiidBc(), f_getIutWlLocalCiid())), - bit2oct( - encvalue( - m_fsapBasicFntpNpdu( - p_sourcePort, - p_destinationPort, - bit2oct( - encvalue( - m_sam( - f_getIutClientId(), - f_getIutServiceId(), - p_serviceList - ) - ) - ) - ) - ) - ) - ) // End of field 'm_generateSamMessagePdu' - } - ); - f_sleepIgnoreDef(PX_SP_DISCOVERY_DELAY); - } // End of function f_startServiceProvider - - /** - * @desc Makes the simulated ITS Service Provider for IUT - */ - function f_stopServiceProvider() runs on ItsCalm { - f_acFsapTriggerEvent(AcFsapPrimitive: { stopTransmission := true }); - f_sleepIgnoreDef(PX_SP_DISCOVERY_DELAY); - } // End of function f_stopServiceProvider - - } // End of group preambles - - group postambles { - - /** - * @desc The default postamble. - */ - function f_poDefault() runs on ItsCalm { - // Nothing to do - } // End of function f_poDefault - - } // End of group postambles - - group adapterControl { - - /** - * @desc Triggers event in the test system adaptation. - * @param p_event The event to trigger - */ - function f_acFsapTriggerEvent( - in template (value) AcFsapPrimitive p_event - ) runs on ItsCalm { -// log("*** f_acFsapTriggerEvent: send: ", p_event, "***"); - acPort.send(p_event); - } - - /** - * @desc Triggers event in the test system adaptation via NF-SAP interface. - * @param p_event The event to trigger - */ - function f_sendCtx( - in template (value) PortNumber p_sourcePort, - in template (value) PortNumber p_destinationPort, - template (value) CTX p_ctx - ) runs on ItsCalm { - if (PICS_FSAP_FNTP == true) { - log( - "*** f_sendCtx: Send CTX: ", - p_ctx, - "***"); - fsapPort.send( - m_fsapReq_inSap( - m_inSapPrimitivesUp( - m_llServiceAddr(m_linkId(f_getIutRemoteDestCiidUc(), f_getIutWlLocalCiid())), - m_llServiceAddr(m_linkId(f_getIutWlLocalCiid(), f_getIutWlLocalCiid())), - bit2oct( - encvalue( - m_fsapBasicFntpNpdu( - p_sourcePort, - p_destinationPort, - bit2oct( - encvalue( - p_ctx - ) - ) - ) - ) - ) - ) - ) - ); - } else { - fsapPort.send( - m_fsapReq_nfSap( - m_nfSapPrimitivesUp( - p_sourcePort, // FIXME Wrong value I guess - p_destinationPort, // FIXME Wrong value I guess - m_linkId(f_getIutWlLocalCiid(), f_getIutWlLocalCiid()), - bit2oct( - encvalue( - p_ctx - ) - ) - ) - ) - ); - } - } // End of function f_sendCtx - - } // End of group adapterControl - - group testerFunctions { - - } // End of group testerFunctions - - group internalFunctions { // TODO Use parametrized function (ETSI ES 202 784) insetad of the three oct2xxx functions - - group serviceProvider { - - function f_regServer( - in template (value) GCschedule p_gcSchedule, - in template (value) ServiceDataReg p_serviceDataReg - ) runs on ItsCalm { - f_fsapGenerateFaPrimitiveWithConfirm( - m_generateFaSapPrimitivesDown( - m_faSapPrimitivesDown_gcRegServer( - m_gcRegServer( - f_getIutApplicationId(), - p_gcSchedule, - p_serviceDataReg - ) - ) - ), - mw_fsapGcRegServerConf(f_getIutApplicationId()), - true, - vc_utEventInd.utFsapEventInd - ); - } // End of function f_regServer - - function f_deregServer() runs on ItsCalm { - f_fsapGenerateFaPrimitiveWithConfirm( - m_generateFaSapPrimitivesDown( - m_faSapPrimitivesDown_gcDeregServer( - m_gcDeregServer( - f_getIutApplicationId() - ) - ) - ), - mw_fsapGcDeregServerConf(f_getIutApplicationId()), // Expected GCDeregServerConf - true, - vc_utEventInd.utFsapEventInd - ); - } // End of function f_deregServer - - /** - * @desc This function convert the specified octetstring into a template (SAM) - * This SHALL be done due to the ASN.1 description of IN-SAP service primitives DL_Unitdata_request/DL_Unitdata_indication - * @param p_data An octetstring to decode - * @param p_syncPoint Current synchronisation point, required to set verdict according to the LibCommon rules - * @param p_decoded The decoded message - * @verdict Unchanged on success, set to fail otherwise - * @see ISO/CD 21218 - Clause 8.2.2 - */ - function f_oct2sam( - in octetstring p_data, - in charstring p_syncPoint, - out SAM p_decoded - ) runs on ItsCalm { - var bitstring v_data; - var integer v_result; - -// log("*** f_oct2sam: INFO: pdu: " & oct2str(p_data) & " ***"); - v_data := oct2bit(p_data); - v_result := decvalue(v_data, p_decoded); - if (v_result == 1) { - log("*** f_oct2sam: FAIL: 'decvalue' operation failed ***"); - f_selfOrClientSyncAndVerdictTestBody(p_syncPoint, e_error); - } else if (v_result == 2) { - log("*** f_oct2sam: FAIL: 'decvalue' operation failed, not enougth bits ***"); - f_selfOrClientSyncAndVerdictTestBody(p_syncPoint, e_error); - } -// log("*** f_oct2sam: INFO: Decoded message done ***"); - } // End of function f_oct2sam - - /** - * @desc This function convert the specified octetstring into a template (CTX) - * This SHALL be done due to the ASN.1 description of IN-SAP service primitives DL_Unitdata_request/DL_Unitdata_indication - * @param p_data An octetstring to decode - * @param p_syncPoint Current synchronisation point, required to set verdict according to the LibCommon rules - * @param p_decoded The decoded message - * @verdict Unchanged on success, set to fail otherwise - * @see ISO/CD 21218 - Clause 8.2.2 - */ - function f_oct2ctx( - in octetstring p_data, - in charstring p_syncPoint, - out CTX p_decoded - ) runs on ItsCalm { - var bitstring v_data; - var integer v_result; - - log("*** f_oct2ctx: INFO: pdu: " & oct2str(p_data) & " ***"); - v_data := oct2bit(p_data); - v_result := decvalue(v_data, p_decoded); - if (v_result == 1) { - log("*** f_oct2ctx: FAIL: 'decvalue' operation failed ***"); - f_selfOrClientSyncAndVerdictTestBody(p_syncPoint, e_error); - } else if (v_result == 2) { - log("*** f_oct2ctx: FAIL: 'decvalue' operation failed, not enougth bits ***"); - f_selfOrClientSyncAndVerdictTestBody(p_syncPoint, e_error); - } - log("*** f_oct2ctx: INFO: Decoded message done ***"); - } // End of function f_oct2ctx - - } // End of group serviceProvider - - group serviceUser { - - function f_regClient( - in template (value) ApplicationID p_applicationId, - in template (value) ITSaid p_serviceId, - in template (value) GCregClient p_gcRegClient - ) runs on ItsCalm { - - f_fsapGenerateFaPrimitiveWithConfirm( - m_generateFaSapPrimitivesDown( - m_faSapPrimitivesDown_gcRegClient( - p_gcRegClient - ) - ), - mw_fsapGcRegClientConf(p_applicationId), - true, - vc_utEventInd.utFsapEventInd - ); - } // End of function f_regClient - - function f_deregClient( - in template (value) ApplicationID p_applicationId - ) runs on ItsCalm { - - f_fsapGenerateFaPrimitiveWithConfirm( - m_generateFaSapPrimitivesDown( - m_faSapPrimitivesDown_gcDeregClient( - p_applicationId - ) - ), - mw_fsapGcDeregClientConf(p_applicationId), // Expected GCDeregClientConf - true, - vc_utEventInd.utFsapEventInd - ); - } // End of function f_deregClient - - } // End of group serviceUser - - } // End of group internalFunctions - - group iutFunctions { - - /** - * @desc Get the local identifier of the VCI for broadcast on ITS-S host - * @return The local identifier of the VCI for broadcast on ITS-S host - * @see PX_WL_REMOTE_CIID_BC - * @verdict Unchanged - */ - function f_getIutSrcRemoteCiId() return EUI64 { - return PX_SRC_REMOTE_CIID; - } - - /** - * @desc Get the identifier of a VCI on ITS-S host/router only - * @return The identifier of a different VCI on ITS-S host/router only - * @see PX_WL_LOCAL_CIID - * @verdict Unchanged - */ - function f_getIutSrcLocalCiId() return EUI64 { - return PX_WL_LOCAL_CIID; - } - - function f_getIutMedTypeIso21215LocalCiid() return EUI64 { - return PX_IUT_MEDTYPE_ISO21215_LOCAL_CIID; - } - - function f_getIutMedTypeIso21215RemoteCiid() return EUI64 { - return PX_IUT_MEDTYPE_ISO21215_REMOTE_CIID; - } - - function f_getIutMedTypeOtherLocalCiid() return EUI64 { - return PX_IUT_MEDTYPE_OTHER_LOCAL_CIID; - } - - function f_getIutMedTypeOtherRemoteCiid() return EUI64 { - return PX_IUT_MEDTYPE_OTHER_REMOTE_CIID; - } - - /** - * @desc Gets the SAM retransmit timer. - * @return SAM retransmit timer - * @see PICS_SAM_RETRANSMIT_TIMER - */ - function f_getIutSamRetransmitTimer() return float { - return 0.9 * PICS_SAM_RETRANSMIT_TIMER / 100.0; // 90% - } - - /** - * @desc Gets the maximum SAM jitter. - * @return Maximum SAM jitter - * @see PICS_SAM_RETRANSMIT_TIMER - */ - function f_getIutSamMaxJitter() return float { - return 1.1 * PICS_SAM_RETRANSMIT_TIMER / 100.0; // 110% - } - - /** - * @desc Get the ITS application object ID (ITS-AID) for GCregServer MF-REQUEST - * @return The ITS application object ID (ITS-AID) - * @see PX_APPLICATION_ID - */ - function f_getIutApplicationId() return ApplicationID { - return PX_APPLICATION_ID; - } - - /** - * @desc Get the ITS application object ID (ITS-AID) for GCregClient MF-REQUEST - * @return The ITS application object ID (ITS-AID) - * @see PX_CLIENT_APPLICATION_ID - */ - function f_getIutClientApplicationId() return ApplicationID { - return PX_CLIENT_APPLICATION_ID; - } - - /** - * @desc Get the globally unique ITS-AID of the ITS-S application - * @return The globally unique ITS-AID of the ITS-S application - * @see PX_ITS_AID - */ - function f_getIutServiceId() return ITSaid { - return PX_ITS_AID; - } - - /** - * @desc Get the server identifier value - * @return The client identifier value - * @see PX_SERVER_ID - */ - function f_getIutServerId() return StationID { - return PX_SERVER_ID; - } - - function f_getLocalClientId() return StationID { - return PX_LOCAL_ID; - } - /** - * @desc Get the service client ITS station value - * @return The service client ITS station value - * @see PX_CLIENT_ID - */ - function f_getIutClientId() return StationID { - return PX_IUT_ID; - } - - /** - * @desc Get the scheduling information with a specific access technology - * @return The scheduling information - * @see PX_GSCHED_ACCESS_TECH_NONIP - */ - function f_getIutGcScheduleWithAccessTechAndNonIp() return GCschedule { - return { PX_GSCHED_ACCESS_TECH_NONIP }; - } - - /** - * @desc Get the scheduling information with a specific access technology using a long period time - * @return The scheduling information - * @see PX_GSCHED_ACCESS_TECH_NONIP - */ - function f_getIutGcScheduleLongTPeriodTimeWithAccessTechAndNonIp() return GCschedule { - return { PX_GSCHED_LOG_PERIOD_TIME_ACCESS_TECH_NONIP }; - } - - /** - * @desc Get the scheduling information with an unknown access technology - * @return The scheduling information - * @see PX_GSCHED_ACCESS_UNKNOWN_TECH_NONIP - */ - function f_getIutGCscheduleWithUnknownAccessTechAndNonIp() return GCschedule { - return { PX_GSCHED_ACCESS_UNKNOWN_TECH_NONIP }; - } - - - /** - * @desc Get the scheduling information with no access technology - * @return The scheduling information - * @see PX_GSCHED_NONIP - */ - function f_getIutGCscheduleWithNonIp() return GCschedule { - return { PX_GSCHED_NONIP }; - } - - /** - * @desc Get advertisement details with no session phase - * @return The advertisement details - * @see PX_SERVICE_DATA_REG_WITH_NO_SESSION_PHASE - */ - function f_getIutServiceDataRegWithNoSession() return ServiceDataReg { - return PX_SERVICE_DATA_REG_WITH_NO_SESSION_PHASE; - } - - /** - * @desc Get advertisement details with a specific access technology and with request to change communication channel for session phase - * @return The advertisement details - * @see PX_SERVICE_DATA_REG_WITH_SESSION_PHASE_AND_CHANNEL_CHANGE - */ - function f_getIutServiceDataRegWithNoSessionAndChannelChange() return ServiceDataReg { - return PX_SERVICE_DATA_REG_WITH_SESSION_PHASE_AND_CHANNEL_CHANGE; - } - - /** - * @desc Get advertisement details without request to change communication channel for session phase and without request to change communication channel for session phase - * @return The advertisement details - * @see PX_SERVICE_DATA_REG_WITH_SESSION_PHASE - */ - function f_getIutServiceDataRegWithSession() return ServiceDataReg { - return PX_SERVICE_DATA_REG_WITH_SESSION_PHASE; - } - - /** - * @desc Get non-IP information on services offered, with no session phase and no channel change requested - * @return The non-IP information on services offered - * @see PX_NO_IP_SERVICE_WITH_NO_SESSION_AND_NO_CHANGE_CHANNEL - */ - function f_getIutServicelistWithNoSessionAndNoChannelChange() return ServiceList { - return { PX_NO_IP_SERVICE_WITH_NO_SESSION_AND_NO_CHANGE_CHANNEL }; - } - - /** - * @desc Get non-IP information on services offered, with session phase and no channel change requested - * @return The non-IP information on services offered - * @see PX_NO_IP_SERVICE_WITH_SESSION_AND_NO_CHANGE_CHANNEL - */ - function f_getIutServicelistWithSessionAndNoChangeChannel() return ServiceList { - return { PX_NO_IP_SERVICE_WITH_SESSION_AND_NO_CHANGE_CHANNEL }; - } - - /** - * @desc Get non-IP information on services offered, with no session phase and channel change requested - * @return The non-IP information on services offered - * @see PX_NO_IP_SERVICE_WITH_SESSION_AND_CHANNEL_CHANGE - */ - function f_getIutServicelistWithSessionAndChangeChannel() return ServiceList { - return { PX_NO_IP_SERVICE_WITH_SESSION_AND_CHANNEL_CHANGE }; - } - - /** - * @desc Get non-IP information on an unknown services offered, with session phase and no channel change requested - * @return The non-IP information on services offered - * @see PX_NO_IP_SERVICE_WITH_UNKNOWN_SERVICE_ID - */ - function f_getIutServicelistWithUnknownServiceId() return ServiceList { - return { PX_NO_IP_SERVICE_WITH_UNKNOWN_SERVICE_ID }; - } - - /** - * @desc Get non-IP information on services offered, with session phase and channel change requested on an unknown channel - * @return The non-IP information on services offered - * @see PX_NO_IP_SERVICE_WITH_UNKNOWN_CHANNEL - */ - function f_getIutServicelistWithUnknownChannel() return ServiceList { - return { PX_NO_IP_SERVICE_WITH_UNKNOWN_CHANNEL }; - } - - /** - * @desc Get the session port as acknowledgement of GCsamctx offered byt the ITS application - * @return The session port - * @see PX_SESSION_PORT - */ - function f_getIutSessionPort() return PortNumber { - return PX_SESSION_PORT; - } - - /** - * @desc Get the context data value - * @return The context data value - * @see PX_CONTEXT_DATA - */ - function f_getContextData() return ContextData { - return PX_CONTEXT_DATA; - } - - } // End of group iutFunctions - - group fsapAltsteps { - - /** - * @desc The base default. - */ - altstep a_fsapDefault() runs on ItsMgt { - [] tc_wait.timeout { - log("*** a_fsapDefault: ERROR: Timeout while awaiting reaction of the IUT prior to Upper Tester action ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [] tc_ac.timeout { - log("*** a_fsapDefault: ERROR: Timeout while awaiting the reception of a message ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [] any timer.timeout { - log("*** a_fsapDefault: INCONC: An unknown timer has expired in default ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [] a_shutdown() { - f_poDefault(); - log("*** a_fsapDefault: INFO: TEST COMPONENT NOW STOPPING ITSELF! ***"); - if(self == mtc) { - f_cf01Down(); - } - stop; - } - } // End of altstep a_fsapDefault() - - /** - * @desc Default handling cf01 de-initialisation. - */ - altstep a_cf01Down() runs on ItsMgt { - [] a_shutdown() { - f_poDefault(); - f_cf01Down(); - log("*** a_cf01Down: INFO: TEST COMPONENT NOW STOPPING ITSELF! ***"); - stop; - } - } // End of altstep a_cf01Down() - - /** - * @desc Default handling cf02 de-initialisation. - */ - altstep a_cf02Down() runs on ItsMgt { - [] a_shutdown() { - f_poDefault(); - f_cf02Down(); - log("*** a_cf02Down: INFO: TEST COMPONENT NOW STOPPING ITSELF! ***"); - stop; - } - } // End of altstep a_cf02Down() - - } // End of group fsapAltsteps - -} // End of module LibItsFsap_Functions \ No newline at end of file diff --git a/ttcn/CALM/FSAP/LibItsFsap_Pics.ttcn3 b/ttcn/CALM/FSAP/LibItsFsap_Pics.ttcn3 deleted file mode 100644 index c4f82a177d528c439f2130fa3f3840cc4064697f..0000000000000000000000000000000000000000 --- a/ttcn/CALM/FSAP/LibItsFsap_Pics.ttcn3 +++ /dev/null @@ -1,104 +0,0 @@ -/** - * @author ETSI / STF422_EETS - * @version $URL$ - * $Id$ - * @desc Fast service advertisement protocol (ISO 24102-5) PICS - */ -module LibItsFsap_Pics { - - /** - * @desc FSAP PICS - */ - group fsapPics { - - /** - * @desc Is FSAP Service Provider role ? - * @see ETSI TS 102 797-1 v1.1.2 D.2/1 - */ - modulepar boolean PICS_FSAP_ROLE_SP := true; - - /** - * @desc Is FSAP Service User role ? - * @see ETSI TS 102 797-1 v1.1.2 D.2/2 - */ - modulepar boolean PICS_FSAP_ROLE_SU := true; - - /** - * @desc Is supported SIP ? - * @see ETSI TS 102 797-1 v1.1.2 D.2/1 - */ - modulepar boolean PICS_SIP := true; - - /** - * @desc Is supported SIP with support of CTX message mode ? - * @see ETSI TS 102 797-1 v1.1.2 D.3/1 - */ - modulepar boolean PICS_SIP_W_CTX := true; - - /** - * @desc Is supported SIP without support of CTX message mode ? - * @see ETSI TS 102 797-1 v1.1.2 D.3/2 - */ - modulepar boolean PICS_SIP_N_CTX := false; - - /** - * @desc Is IUT an host only? - * @see ETSI TS 102 797-1 v1.1.2 D.4/1 - */ - modulepar boolean PICS_ROLE_RONLY := false; - - /** - * @desc Is IUT a router only? - * @see ETSI TS 102 797-1 v1.1.2 D.4/2 - */ - modulepar boolean PICS_ROLE_HONLY := false; - - /** - * @desc Is IUT both host and router? - * @see ETSI TS 102 797-1 v1.1.2 D.4/3 - */ - modulepar boolean PICS_ROLE_RH := true; - - /** - * @desc Does the architecture implement ITS station-internal network? - * @see ETSI TS 102 797-1 v1.1.2 D.5/1 - */ - modulepar boolean PICS_ITS_S_INW := false; - - /** - * @desc Duration of SAM retransmit timer [ms] - */ - modulepar float PICS_SAM_RETRANSMIT_TIMER := 1000.0; - - /** - * @desc Is IISC available? - * @see ISO 24102-4 - */ - modulepar boolean PICS_IICP_MGM := true; - - /** - * @desc Is FSAP and FNTP linked together. - * On true, fsapPort is on IN-SAP, otherwise fsapPort is on NF-SAP - */ - modulepar boolean PICS_FSAP_FNTP := true; - - /** - * @desc Is IUT support notification to the ITS Management layer - */ - modulepar boolean PICS_ITS_MGT_NOT := false; - - /** - * @desc TODO - * @see ETSI TS 102 797-1 v1.1.2 D.13/1 - */ - modulepar boolean PICS_FSAP_MULTIPLE_AL_TECHNOLOGIES := true; - - /** - * @desc TODO - * @see ETSI TS 102 797-1 v1.1.2 D.13/2 - */ - modulepar boolean PICS_FSAP_CHANGE_COMM_CHANNEL := true; - - } // End of group fsapPics - -} // End of module LibItsFsap_Pics \ No newline at end of file diff --git a/ttcn/CALM/FSAP/LibItsFsap_Pixits.ttcn3 b/ttcn/CALM/FSAP/LibItsFsap_Pixits.ttcn3 deleted file mode 100644 index c890b9f379745104cde0b187593fa6ad18f74e45..0000000000000000000000000000000000000000 --- a/ttcn/CALM/FSAP/LibItsFsap_Pixits.ttcn3 +++ /dev/null @@ -1,405 +0,0 @@ -/** - * @version $URL$ - * $Id$ - * @desc Fast service advertisement protocol (ISO 24102-5) Pixits - */ -module LibItsFsap_Pixits { - - // LibCommon - - // LibIts - import from CALMllsap language "ASN.1:1997" all; - import from CITSapplMgmtApplReg language "ASN.1:1997" { - type ITSaid - }; - import from CALMmanagement language "ASN.1:1997" { - type - ApplicationID, - ITS_scuId, StationID, - Talive - }; - import from CALMfsap language "ASN.1:1997" { - type - FmtID, VersionFSAP, - GCsched, NonipService, ServiceDataReg, - ContextData - }; - import from CALMfntp language "ASN.1:1997" { - type - PortNumber - }; - import from LibItsFntp_TypesAndValues { - const - c_portNon - }; - import from LibItsMgt_TypesAndValues { - group asn1Constants, constants - }; - import from LibItsFsap_Pics { - modulepar - PICS_SAM_RETRANSMIT_TIMER - }; - - /** - * @desc Source and destination Ports - * @see ISO/WD 29281-2 Clause 6.2.2.2 - */ - group portNumbers { - - /** - * @desc Indicate the application port number, used instead of c_portDyn - */ - modulepar PortNumber PX_APP_PORT_NUMBER := { portLong := 12345 } ; - - /** - * @desc Indicate the source port number, i.e. the local endpoint - */ - modulepar PortNumber PX_LOCAL_PORT_NUMBER := { portLong := 5555 } ; - - /** - * @desc Indicate the destination port number, i.e. the peer ITS-SP - */ - modulepar PortNumber PX_REMOTE_PORT_NUMBER := { portLong := 5556 } ; - - } // End of group portNumbers - - /** - * @desc Local settings - */ - group local { - - /** - * @desc Identifies the CI on ITS-S host - * @see ISO 21218 - Clause 6.2 Link Identifier - */ - modulepar EUI64 PX_WL_LOCAL_CIID := '03000AFFFFFF0000'O; - - /** - * @desc Identifies the VCI on ITS-S host - */ - modulepar EUI64 PX_SRC_REMOTE_CIID := 'FF000AFFFFFFFFFF'O; - - /** - * @desc Priority of the ITS-S application - */ - modulepar UserPriority PX_USER_PRIORITY := 0; - - } // End of group local - - group iutVcisMac { - - modulepar EUI64 PX_IUT_MEDTYPE_ISO21215_LOCAL_CIID := '0A0B0CFFFE0D0E10'O; // Commsignia settings -// modulepar EUI64 PX_IUT_MEDTYPE_ISO21215_LOCAL_CIID := '000C42FFFF974497'O; // Peek settings - - modulepar EUI64 PX_IUT_MEDTYPE_ISO21215_REMOTE_CIID := '0A0B0CFFFE0D0E10'O; // Commsignia settings -// modulepar EUI64 PX_IUT_MEDTYPE_ISO21215_REMOTE_CIID := '000C42FFFF974497'O; // Peek settings - - modulepar EUI64 PX_IUT_MEDTYPE_OTHER_LOCAL_CIID := '0A0B0CFFFE0D0E0F'O; - - modulepar EUI64 PX_IUT_MEDTYPE_OTHER_REMOTE_CIID := '0A0B0CFFFE0D0E0F'O; - - } // End of group iutVcisMac - - group cRegServer { - - /** - * @desc The service provider ITS station - */ - modulepar StationID PX_SERVER_ID := '11111111'O; - - /** - * @desc The service client ITS station - */ -// modulepar StationID PX_IUT_ID := '0000473A'O; // Commsignia setting (ITS-S box) - modulepar StationID PX_IUT_ID := '00003039'O; // Commsignia setting (laptop) -// modulepar StationID PX_IUT_ID := '5045454B'O; // Peek setting - - /** - * @desc The service client ITS station - */ - modulepar StationID PX_LOCAL_ID := '00003930'O; // Commsignia setting -// modulepar StationID PX_LOCAL_ID := '5045454B'O; // Peek setting - - /** - * @desc The globally unique ITS-AID of the ITS-S application - */ - modulepar ITSaid PX_ITS_AID := { content := 8 } - - - /** - * @desc The globally unique ITS-AID of the ITS-S application is case of change channel - * TODO Add phrasing here - */ - modulepar ITSaid PX_ITS_AID_CHANNEL_CHANGE := { content := 99 } - - /** - * @desc An unknown ITS-AID of the ITS-S application - */ - modulepar ITSaid PX_UNKNOWN_ITS_AID := { content := 126 } - - /** - * @desc A session port value - */ - modulepar PortNumber PX_SESSION_PORT := { portLong := 7896 } - - /** - * @desc An unspecified session port value - */ - modulepar PortNumber PX_NO_SESSION_PORT := c_unknown_portLong; - - /** - * @desc An unnknown session port value - */ - modulepar PortNumber PX_UNKNOWN_SESSION_PORT := { portLong := 1234 } - - /** - * @desc ITS application object ID (ITS-AID) for GCregServer MF-REQUEST - * @see ISO EN 17419 - * @see ISO 24102-5 Clause 8.3.1 Groupcast registration - */ - modulepar ApplicationID PX_APPLICATION_ID := { - hostITS_scuId := 1, - seqNumber := { - itsaid := PX_ITS_AID, - instance := 1, - flowNo := 0 - } - } - - /** - * @desc ITS application object ID (ITS-AID) for GCregClient MF-REQUEST - * @see ISO EN 17419 - * @see ISO 24102-5 Clause 8.3.1 Groupcast registration - */ - modulepar ApplicationID PX_CLIENT_APPLICATION_ID := { - hostITS_scuId := 2, - seqNumber := { - itsaid := PX_ITS_AID, - instance := 1, - flowNo := 0 - } - } - - /** - * @desc Scheduling information for registration / deregistration request in order to select the proper VCI in the ITS-station for communication - * 'medium' field indicates a request of specific access technology - * @see ISO/CD 24102-5 Clause 8.2.4 Groupcast communication management - */ - modulepar GCsched PX_GSCHED_ACCESS_TECH_NONIP := { - medium := c_medType_iso21215, - directivity := { - mode := 0, // FIXME Check why TTwb raises an error using DirMode_fixed_ - dirPredef := 0, - fill := '0000000'B, - dirVar := { // For Commsignia: shall be empty - /*{ - fill := '0000000'B, - bsAzimuth := 0, - bsElevation := 0, - openHorizontal := 128, - openVertical := 180 - }*/ - } - }, // End of field 'directivity' - gcInterval := float2int(PICS_SAM_RETRANSMIT_TIMER) // SAM Repeat timer in ms - } // End of modulepar PX_GSCHED_ACCESS_TECH_NONIP - - /** - * @desc Scheduling information for registration / deregistration request in order to select the proper VCI in the ITS-station for communication, - * with a long period time value - * 'medium' field indicates a request of specific access technology - * Used for TC_FSAP_SP_HR_BV_05 - * @see ISO/CD 24102-5 Clause 8.2.4 Groupcast communication management - */ - modulepar GCsched PX_GSCHED_LOG_PERIOD_TIME_ACCESS_TECH_NONIP := { - medium := c_medType_iso21215, // IR - directivity := { - mode := c_dirMode_fixed, - dirPredef := 0, - fill := '0000000'B, - dirVar := { } - }, // End of field 'directivity' - gcInterval := 30000 // SAM Repeat timer in ms - } // End of modulepar PX_GSCHED_ACCESS_TECH_NONIP - - /** - * @desc Scheduling information for registration / deregistration request in order to select the proper VCI in the ITS-station for communication - * 'medium' field indicates a request of an unknown access technology - * For TC_FSAP_SP_HR_BV_05, increase - * @see ISO/CD 24102-5 Clause 8.2.4 Groupcast communication management - */ - modulepar GCsched PX_GSCHED_ACCESS_UNKNOWN_TECH_NONIP := { - medium := c_medType_iso21214, // IR - directivity := { - mode := c_dirMode_fixed, - dirPredef := 0, - fill := '0000000'B, - dirVar := { } - }, // End of field 'directivity' - gcInterval := float2int(PICS_SAM_RETRANSMIT_TIMER) // SAM Repeat timer in ms - } // End of modulepar PX_GSCHED_ACCESS_TECH_NONIP - - /** - * @desc Scheduling information for registration / deregistration request in order to select the proper VCI in the ITS-station for communication - * 'medium' field indicates no request of specific access technology - * @see ISO/CD 24102-5 Clause 8.2.4 Groupcast communication management - */ - modulepar GCsched PX_GSCHED_NONIP := { - medium := c_medType_any, // FIXME Check why TTwb raises an error using MedType_any_ - directivity := { - mode := 0, // FIXME Check why TTwb raises an error using DirMode_fixed_ - dirPredef := 0, - fill := '0000000'B, - dirVar := { } - }, // End of field 'directivity' - gcInterval := float2int(PICS_SAM_RETRANSMIT_TIMER) // SAM Repeat timer in ms - } // End of modulepar PX_GSCHED_NONIP - - /** - * @desc Receive template for advertisement details with no session phase - */ - modulepar ServiceDataReg PX_SERVICE_DATA_REG_WITH_NO_SESSION_PHASE := { - fill := '0000000'B, - datareg := { - nonipData := { - serviceID := PX_ITS_AID, - serviceData := ''O, - providerPort := PX_NO_SESSION_PORT - } // End of field 'nonipData' - } // End of field 'datareg' - } // End of modulepar PX_SERVICE_DATA_REG_WITH_NO_SESSION_PHASE - - /** - * @desc Receive template for advertisement details with session phase - */ - modulepar ServiceDataReg PX_SERVICE_DATA_REG_WITH_SESSION_PHASE := { - fill := '0000000'B, - datareg := { - nonipData := { - serviceID := PX_ITS_AID, - serviceData := ''O, - providerPort := PX_SESSION_PORT - } // End of field 'nonipData' - } // End of field 'datareg' - } // End of modulepar PX_SERVICE_DATA_REG_WITH_SESSION_PHASE - - /** - * @desc Receive template for advertisement details with session phase and channel change requested - */ - modulepar ServiceDataReg PX_SERVICE_DATA_REG_WITH_SESSION_PHASE_AND_CHANNEL_CHANGE := { - fill := '0000000'B, - datareg := { - nonipData := { - serviceID := PX_ITS_AID_CHANNEL_CHANGE, - serviceData := ''O, - providerPort := PX_SESSION_PORT - } // End of field 'nonipData' - } // End of field 'datareg' - } // End of modulepar PX_SERVICE_DATA_REG_WITH_SESSION_PHASE_AND_CHANNEL_CHANGE - - } // End of group cRegServer - - group sam { - - /** - * @desc TODO - */ - modulepar integer PX_NO_SESSION_CHANNEL := 0; - - /** - * @desc TODO - */ - modulepar integer PX_SESSION_CHANNEL := 1; - - /** - * @desc Non-IP information on services offered, with no session phase and no channel change requested - * @see ISO 24102-5 Figure 9 — serviceList - */ - modulepar NonipService PX_NO_IP_SERVICE_WITH_NO_SESSION_AND_NO_CHANGE_CHANNEL := { - serviceID := PX_ITS_AID, - serviceData := ''O, - serverPort := PX_NO_SESSION_PORT, - sessionChannel := PX_NO_SESSION_CHANNEL - } // End of modulepar PX_NO_IP_SERVICE_WITH_NO_SESSION_AND_NO_CHANGE_CHANNEL - - /** - * @desc Non-IP information on services offered, with session phase and no channel change requested - * @see ISO 24102-5 Figure 9 — serviceList - */ - modulepar NonipService PX_NO_IP_SERVICE_WITH_SESSION_AND_NO_CHANGE_CHANNEL := { - serviceID := PX_ITS_AID, - serviceData := ''O, - serverPort := PX_SESSION_PORT, - sessionChannel := PX_NO_SESSION_CHANNEL - } // End of modulepar PX_NO_IP_SERVICE_WITH_SESSION_AND_NO_CHANGE_CHANNEL - - /** - * @desc Non-IP information on services offered, with no session phase and channel change requested - * @see ISO 24102-5 Figure 9 — serviceList - */ - modulepar NonipService PX_NO_IP_SERVICE_WITH_SESSION_AND_CHANNEL_CHANGE := { - serviceID := PX_ITS_AID_CHANNEL_CHANGE, - serviceData := ''O, - serverPort := PX_SESSION_PORT, - sessionChannel := 1 - } // End of modulepar PX_NO_IP_SERVICE_WITH_SESSION_AND_CHANNEL_CHANGE - - /** - * @desc Non-IP information on an unknown services offered, with session phase and no channel change requested - * @see ISO 24102-5 Figure 9 — serviceList - */ - modulepar NonipService PX_NO_IP_SERVICE_WITH_UNKNOWN_SERVICE_ID := { - serviceID := PX_UNKNOWN_ITS_AID, - serviceData := ''O, - serverPort := PX_SESSION_PORT, - sessionChannel := PX_SESSION_CHANNEL - } // End of modulepar PX_NO_IP_SERVICE_WITH_UNKNOWN_SERVICE_ID - - /** - * @desc Non-IP information on services offered, with session phase and channel change requested on an unknown channel - * @see ISO 24102-5 Figure 9 — serviceList - */ - modulepar NonipService PX_NO_IP_SERVICE_WITH_UNKNOWN_CHANNEL := { - serviceID := PX_ITS_AID, - serviceData := ''O, - serverPort := PX_UNKNOWN_SESSION_PORT, - sessionChannel := PX_SESSION_CHANNEL - } // End of modulepar PX_NO_IP_SERVICE_WITH_UNKNOWN_CHANNEL - - modulepar ContextData PX_CONTEXT_DATA := '4743726567436C69656E74'O; - - } // End of group sam - - group parametrisation { - - /** - * @desc SAM tag identifier - * @see ISO 24102-5 Clause 7.2.1 Overview - */ - modulepar FmtID PX_FMTID_SAM := 0; // FIXME Check why TTWB raises an error using CLAMfsap.FmtID_sam_ - - /** - * @desc CTX tag identifier - * @see ISO 24102-5 Clause 7.2.1 Overview - */ - modulepar FmtID PX_FMTID_CTX := 1; // FIXME Check why TTWB raises an error using CLAMfsap.FmtID_ctx_ - - /** - * @desc FSAP version number - * @see ISO 24102-5 Clause 7.2.2 Service advertisement message - */ - modulepar VersionFSAP PX_VERSION_FSAP := 0; - - /** - * Wait until the IUT is in a stable situation (beaconing...) - */ - modulepar float PX_WAIT_FOR_IUT_READY := 1.0; - - /** - * @desc Time necessary for IUT to detect SAM messages (in seconds) - */ - modulepar float PX_SP_DISCOVERY_DELAY := PICS_SAM_RETRANSMIT_TIMER * 2.0 / 1000.0; - - } // End of group parametrisation - -} // End of module LibItsFsap_Pixits \ No newline at end of file diff --git a/ttcn/CALM/FSAP/LibItsFsap_Templates.ttcn3 b/ttcn/CALM/FSAP/LibItsFsap_Templates.ttcn3 deleted file mode 100644 index e994d1f0f1a4601d4765599b41efdbf6f2faec55..0000000000000000000000000000000000000000 --- a/ttcn/CALM/FSAP/LibItsFsap_Templates.ttcn3 +++ /dev/null @@ -1,1019 +0,0 @@ -/** - * @author ETSI / STF422_EETS - * @version $URL$ - * $Id$ - * @desc Templates definitions for Fast service advertisement protocol (ISO 24102-5) - */ -module LibItsFsap_Templates { - // LibCommon - - // LibIts - - // LibItsCalm - import from CALMmanagement language "ASN.1:1997" { - type - ApplicationID, - ITS_scuId, StationID - }; - import from CITSapplMgmtApplReg language "ASN.1:1997" { - type - ITSaid - }; - import from CALMmsap language "ASN.1:1997" { - type - FAsapPrimitivesDown, FAsapPrimitivesUp, - MF_Request_request - /* TODO To be removed - MF_Command_request, MF_Command_confirm, MF_Command, - MF_Request */ - }; - import from CALMllsap language "ASN.1:1997" { - type - LLserviceAddr, Link_ID, - INsapPrimitivesUp, INsapPrimitivesDown, - IN_UNITDATA_request, IN_UNITDATA_indication, - INdata - }; - import from CALMfntp language "ASN.1:1997" { - type - PortNumber, FntpOptions, - FNTPNPDU, ITSfpdu, - NFsapPrimitivesUp, NFsapPrimitivesDown, - NFfntpCommIndication - }; - import from CALMfsap language "ASN.1:1997" { - type - GCregServer, GCderegServer, - GCregClient, GCderegClient, - GCschedule, - ServiceDataReg, ServiceData, - ContextData, - ServiceList, ServiceInfo, - NonipContext, - ChannelList, - SessionChannel, - SAMserviceData, CTXserviceData, - SAM, SAMrxNot, GCsam, GCsamctx, GCsamctxConf, - CTX, CTXrxNot, GCctxTxCmd, GCctx - }; - import from LibItsFsap_TypesAndValues { - type - UtFsapEvent, UtFsapEventInd, - CfFsapEventInd - , AcFsapPrimitive - }; - import from LibItsFsap_Pixits { - modulepar - PX_FMTID_CTX, PX_VERSION_FSAP, PX_FMTID_SAM, - PX_USER_PRIORITY, PX_REMOTE_PORT_NUMBER - }; - import from LibItsFntp_Templates { - template - m_fntpBasicNpdu, - m_inUnitDataInd - }; - import from LibItsCalm_Pixits { - modulepar - PX_LOC_ITS_FSAP_ACCESS_SETTINGS_MX_SAP_SET, PX_LOC_ITS_FSAP_ACCESS_SETTINGS_MX_SAP_UNSET, - PX_IUT_LOWER_LAYER_USED, PX_IUT_LOWER_LAYER_UNUSED, - PX_IUT_TEST_MODE_ON - }; - import from LibItsCalm_Interface all; - - group fsapPrimitives { - - /** - * @desc Send template for IN-SAP Messages (FsapPort Primitive) - * @param p_inSapPrimitivesUp IN-SAP message to be sent - */ - template (value) FsapReq m_fsapReq_nfSap( - template (value) NFsapPrimitivesUp p_nfSapPrimitivesUp - ) := { - msgOut_nf := p_nfSapPrimitivesUp - } // End of template m_fsapReq_nfSap - - /** - * @desc Receive template for IN-SAP message (FsapPort Primitive) - * @param p_inSapPrimitivesDown Expected IN-SAP message - */ - template FsapInd mw_fsapInd_nfSap( - template (present) NFsapPrimitivesDown p_nfSapPrimitivesDown - ) := { - msgIn := { - msgIn_nf := p_nfSapPrimitivesDown - }, - receptionTime := ? - } // End of template mw_fsapInd_nfSap - - /** - * @desc Send template for DEN Message (DenmPort Primitive) - * @param p_inSapPrimitivesUp IN-SAP message to be sent - */ - template (value) FsapReq m_fsapReq_inSap( - template (value) INsapPrimitivesUp p_inSapPrimitivesUp - ) := { - msgOut_in := p_inSapPrimitivesUp - } - - /** - * @desc Receive template for IN-SAP message (FntpPort Primitive) - * @param p_inSapPrimitivesDown Expected IN-SAP message - */ - template FsapInd mw_fsapInd_inSap( - template (present) INsapPrimitivesDown p_inSapPrimitivesDown - ) := { - msgIn := { - msgIn_in := p_inSapPrimitivesDown - }, - receptionTime := ? - } // End of template mw_fsapInd_inSap - - /** - * @desc Primitive on IN-SAP interface - * @see ISO/CD 21218 - Clause 8.3 - * @see ISO/CD 29281-2 - Clause 7.1.2 - */ - group inSapPrimitives { - - group sendOperation { - - /** - * @desc Generate a SAM notification message through IN-SAP - * @param p_insap_source_address Source linkId - * @param p_insap_dest_address Destination linkId - * @param p_sam The SAM message in octetstring format - * @see ISO/CD 21218 - Clause 8.3.3 - * @see ISO 29281 - Clause 7.9.3 - */ - template (value) INsapPrimitivesUp m_generateSamMessagePdu( - in template (value) LLserviceAddr p_insapSourceAddress, - in template (value) LLserviceAddr p_insapDestAddress, - in template (value) INdata p_data - ) := { - spRef := 0, - servPrimitive := { - IN_UNITDATA_indication := { - source_addr := p_insapSourceAddress, - dest_addr := p_insapDestAddress, - data := p_data, - priority := PX_USER_PRIORITY, - accessParams := { - apRef := 0, - aParameter := { NullType := NULL } - } - } // End of field 'inUnitdataInd' - } // End of field 'servPrimitive' - } // End of template m_generateSamMessagePdu - - /** - * @desc Generate a CTX reception message through IN-SAP - * @param p_insap_source_address Source linkId - * @param p_insap_dest_address Destination linkId - * @param p_ctx The SAM message in octetstring format - * @see ISO/CD 21218 - Clause 8.3.3 - * @see ISO 29281 - Clause 7.9.4 - */ - template (value) INsapPrimitivesUp m_generateCtxMessagePdu( - in template (value) LLserviceAddr p_insapSourceAddress, - in template (value) LLserviceAddr p_insapDestAddress, - in template (value) INdata p_ctx - ) := { - spRef := 0, - servPrimitive := { - IN_UNITDATA_indication := { - source_addr := p_insapSourceAddress, - dest_addr := p_insapDestAddress, - data := p_ctx, - priority := PX_USER_PRIORITY, - accessParams := { - apRef := 0, - aParameter := ? - } - } // End of field 'inUnitdataInd' - } // End of field 'servPrimitive' - } // End of template m_generateCtxMessagePdu - - } // End of group sendOperation - - group recvOperation { - - /** - * @desc Receive template for a SAP primitive message on IN-SAP interface - * @param p_inUnitdataRq The IN-DATA.request SAP primitive message - * @see ISO/CD 21218 - Clause 8.3.1 - * @see ISO/CD 29281-2 - Clause 7.1.2 - */ - template INsapPrimitivesDown mw_fsapInSapPrimitiveReq( - in template (present) IN_UNITDATA_request p_inUnitdataRq - ) := { - spRef := 0, - servPrimitive := { IN_UNITDATA_request := p_inUnitdataRq } - } // End of template m_fntpImPrimitiveReq - - } // End of group recvOperation - - } // End of group inSapPrimitives - - /** - * @desc Primitive on IN-SAP interface - * @see ISO/CD 21218 - Clause 8.3 - * @see ISO/CD 29281-2 - Clause 7.1.2 - */ - group nfSapPrimitives { - - group recvOperation { - - /** - * @desc Receive template for a SAP primitive message on IN-SAP interface - * @param p_inUnitdataRq The IN-DATA.request SAP primitive message - * @see ISO/CD 21218 - Clause 8.3.1 - * @see ISO/CD 29281-2 - Clause 7.1.2 - */ - template (present) NFsapPrimitivesDown mw_fsapNfSapPrimitiveReq( - in template (present) PortNumber p_servicePort, - in template (present) Link_ID p_linkId, - in template (present) ITSfpdu p_data - ) := { - spRef := 1, - servPrimitive := { - NFfntpCommRequest := { - commRef := ?, - servicePort := p_servicePort, - remotePort := PX_REMOTE_PORT_NUMBER, - linkID := p_linkId, - data := p_data, - priority := PX_USER_PRIORITY, - controlField := ? - } // End of field 'NFfntpCommRequest' - } // End of field 'servPrimitive' - } // End of template mw_fsapNfSapPrimitiveReq - - } // End of group recvOperation - - } // End of group nfSapPrimitives - - /** - * @desc Templates used to - *
  • trigger message on Upper Tester
  • - *
  • capture indication message sent by the IUT
  • - */ - group utPrimitives { - - /** - * @desc Initializes the FSAP IUT including support notification to the Management entity - * See Test System Configuration Access to SUT - */ - template (value) UtInitialize m_utFsapInitialize_with_management := { - utFsapInitialize := { - mcmdRq := { - mCmdRef := 255, - mcmd := { - TestConfigIICP := { - location := PX_LOC_ITS_FSAP_ACCESS_SETTINGS_MX_SAP_SET, - lowerLayers := PX_IUT_LOWER_LAYER_UNUSED, // PX_IUT_LOWER_LAYER_USED - testMode := PX_IUT_TEST_MODE_ON - } - } // End of field 'mcmd' - } // End of field 'mcmdRq' - } // End of field 'utFntpInitialize' - } // End of template m_utFntpInitialize - - /** - * @desc Initializes the FSAP IUT without support notification to the Management entity - * See Test System Configuration Access to SUT - */ - template (value) UtInitialize m_utFsapInitialize_without_management := { - utFsapInitialize := { - mcmdRq := { - mCmdRef := 255, - mcmd := { - TestConfigIICP := { - location := PX_LOC_ITS_FSAP_ACCESS_SETTINGS_MX_SAP_SET, - lowerLayers := PX_IUT_LOWER_LAYER_UNUSED, // PX_IUT_LOWER_LAYER_USED - testMode := PX_IUT_TEST_MODE_ON - } - } // End of field 'mcmd' - } // End of field 'mcmdRq' - } // End of field 'utFntpInitialize' - } // End of template m_utFntpInitialize - - /** - * @desc Send template to generate a FAsapPrimitivesDown message - * @param p_faSapPrimitivesDown The FAsapPrimitivesDown message - */ - template (value) UtFsapEvent m_generateFaSapPrimitivesDown( - in template (value) FAsapPrimitivesDown p_faSapPrimitivesDown - ) := { - faSapPrimitivesDown := p_faSapPrimitivesDown - } // End of template m_generateFaSapPrimitivesDown - - /** - * @desc Receive template for FAsapPrimitivesUp/GcRegServerConf message - * @param p_applicationID Application Identifier - */ - template UtFsapEventInd mw_fsapGcRegServerConf( - in template (present) ApplicationID p_applicationID - ) := { - faSapPrimitivesUp := { - spRef := 3, - servPrimitive := { - GCregServerConf := { - applicationID := p_applicationID - } - } - } - } // End of template mw_fsapGcRegServerConf - - /** - * @desc Receive template for FAsapPrimitivesUp/GcRegServerConf message - * @param p_applicationID Application Identifier - */ - template UtFsapEventInd mw_fsapGcDeregServerConf( - in template (present) ApplicationID p_applicationID - ) := { - faSapPrimitivesUp := { - spRef := 5, - servPrimitive := { - GCderegServerConf := { - applicationID := p_applicationID - } - } - } - } // End of template mw_fsapGcDeregServerConf - - /** - * @desc Receive template for FAsapPrimitivesUp/GcRegClientConf message - * @param p_applicationID Application Identifier - */ - template UtFsapEventInd mw_fsapGcRegClientConf( - in template (present) ApplicationID p_applicationID - ) := { - faSapPrimitivesUp := { - spRef := 6, - servPrimitive := { - GCregClientConf := { - applicationID := p_applicationID - } - } - } - } // End of template mw_fsapGcRegClientConf - - /** - * @desc Receive template for FAsapPrimitivesUp/GcDeregClientConf message - * @param p_applicationID Application Identifier - */ - template UtFsapEventInd mw_fsapGcDeregClientConf( - in template (present) ApplicationID p_applicationID - ) := { - faSapPrimitivesUp := { - spRef := 8, - servPrimitive := { - GCderegClientConf := { - applicationID := p_applicationID - } - } - } - } // End of template mw_fsapGcDeregClientConf - - /** - * @desc Receive template for FAsapPrimitivesUp/GCctx message - * @param p_gcCtx GCctx notification message - */ - template UtFsapEventInd mw_fsapGcCtx( - in template (present) GCctx p_gcCtx - ) := { - faSapPrimitivesUp := { - spRef := 10, - servPrimitive := { - GCctx := p_gcCtx - } // End of field 'servPrimitive' - } // End of field 'faSapPrimitivesUp' - } // End of template mw_fsapGcCtx - - /** - * @desc Receive template for FAsapPrimitivesUp/GCctx message - * @param p_gcCtx GCctx notification message - */ - template UtFsapEventInd mw_fsapGcSam( - in template (present) GCsam p_gcSam - ) := { - faSapPrimitivesUp := { - spRef := 9, - servPrimitive := { - GCsam := p_gcSam - } // End of field 'servPrimitive' - } // End of field 'faSapPrimitivesUp' - } // End of template mw_fsapGcSam - - /** - * @desc Receive template for FAsapPrimitivesUp/GCsamctx message - * @param p_gcSamCtx GCsamctx notification message - */ - template UtFsapEventInd mw_fsapGcSamCtx( - in template (present) GCsamctx p_gcSamCtx - ) := { - faSapPrimitivesUp := { - spRef := 2, - servPrimitive := { - GCsamctx := p_gcSamCtx - } // End of field 'servPrimitive' - } // End of field 'faSapPrimitivesUp' - } // End of template mw_fsapGcSamCtx - - } // End of group utPrimitives - - group cfPrimitives { - - /** - * @desc Initializes the Configuration tester - */ - template (value) CfInitialize m_cfFsapInitialize := { - cfFsapInitialize := { - } // End of field 'cfFsapInitialize' - } // End of template m_cfFsapInitialize - - /** - * @desc Receive template for configuration message (CfPort Primitive) - * @param p_mfRequestRequest Expected MF_Request_request message - */ - template CfFsapEventInd mw_cfFsapEventInd( - template (present) MF_Request_request p_mfRequestRequest - ) := { - mfRequestRequest := p_mfRequestRequest - } // End of template mw_cfFsapEventInd - - } // End of group cfPrimitives - - group taPrimitives { - - } // End of group taPrimitives - - group cregServerMessage { - - group cregServerMessageSend { - - template (value) FAsapPrimitivesDown m_faSapPrimitivesDown_gcRegServer( - in template (value) GCregServer p_gcRegServer - ) := { - spRef := 3, - servPrimitive := { GCregServer := p_gcRegServer } - } // End of template m_generateFaSapPrimitivesDown - - template (value) FAsapPrimitivesDown m_faSapPrimitivesDown_gcDeregServer( - in template (value) GCderegServer p_gcDeregServer - ) := { - spRef := 5, - servPrimitive := { GCderegServer := p_gcDeregServer } - } // End of template m_faSapPrimitivesDown_gcDeregServer - - /** - * @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) GCregServer m_gcRegServer( - in template (value) ApplicationID p_applicationId, - in template (value) GCschedule p_gCschedule, - in template (value) ServiceDataReg p_serviceDataReg - ) := { - applicationID := p_applicationId, - gCschedule := p_gCschedule, - priority := PX_USER_PRIORITY, - serviceDataReg := p_serviceDataReg - //} // End of field 'gCregServer' - } // End of template m_gcRegServer - - template (value) GCderegServer m_gcDeregServer( - in template (value) ApplicationID p_applicationId - ) := { - applicationID := p_applicationId - } // End of template m_gcDeregServer - - } // End of group cregServerMessageSend - - group cregServerMessageRecv { - - /** - * @desc Generic receive GCregServer template - * Used for: - *
  • modifying restrictif template
  • - *
  • default altstep
  • - * @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 := { - datareg := { - nonipData := ? - } // End of field 'datareg' - } // End of field 'serviceDataReg' - } // End of template mw_gCregServer - - } // End of group cregServerMessageRecv - - } // End of group cregServerMessage - - group cregClientMessage { - - group cregClientMessageSend { - - template (value) FAsapPrimitivesDown m_faSapPrimitivesDown_gcRegClient( - in template (value) GCregClient p_gcRegClient - ) := { - spRef := 6, - servPrimitive := { GCregClient := p_gcRegClient } - } // End of template m_faSapPrimitivesDown_gcRegClient - - /** - * @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) GCregClient m_gCregClientWithNoSessionAndNoCtx( - in template (value) ApplicationID p_applicationId, - in template (value) ITSaid p_serviceId - ) := { - applicationID := p_applicationId, - priority := PX_USER_PRIORITY, - serviceID := p_serviceId, - contextData := ''O - } // End of template m_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) GCregClient m_gCregClientWithSessionAndCtx( - in template (value) ApplicationID p_applicationId, - in template (value) ITSaid p_serviceId, - in template (value) ContextData p_contextData - ) := { - // gCregClient := { - applicationID := p_applicationId, - priority := PX_USER_PRIORITY, - serviceID := p_serviceId, - contextData := p_contextData - // } // End of field 'gCregClient' - } // End of template m_gCregClientWithSessionAndCtx - - template (value) FAsapPrimitivesDown m_faSapPrimitivesDown_gcDeregClient( - in template (value) ApplicationID p_applicationId - ) := { - spRef := 8, - servPrimitive := { - GCderegClient := { - applicationID := p_applicationId - } - } - } // End of template m_faSapPrimitivesDown_gcRegClient - - } // End of group cregClientMessageSend - - group cderegServerMessageRecv { - - } // End of group cderegServerMessageRecv - - } // End of group cregClientMessage - - group samMessage { - - group samMessageSend { - - /** - * @desc Send 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 - */ - template (value) SAM m_sam( - in template (value) StationID p_serverId, - in template (value) ITSaid p_serviceId, - in template (value) ServiceList p_serviceList - ) := { - fmtID := PX_FMTID_SAM, - version := PX_VERSION_FSAP, - serverID := p_serverId, - serviceList := p_serviceList, - channelList := { }, - ipServList := { // Empty list - } - } // End of template mw_sam - - template (value) GCsamctxConf m_gcSamCtxConf( - in template (value) ApplicationID p_applicationID, - in template (value) LLserviceAddr p_link, - in template (value) PortNumber p_port - ) := { - applicationID := p_applicationID, - link := p_link, - port_ := p_port - } // End of template m_mfRequest_samRxNot - - } // End of group samMessageSend - - group samMessageRecv { - - template (value) FAsapPrimitivesDown m_faSapPrimitivesDown_gcSamCtxConf( - in template (value) GCsamctxConf p_gcSamCtxConf - ) := { - spRef := 2, - servPrimitive := { GCsamctxConf := p_gcSamCtxConf } - } // End of template m_faSapPrimitivesDown_gcSamCtxConf - - /** - * @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 - */ - template (present) SAM mw_sam( - in template (present) StationID p_serverId, - in template (present) ServiceList p_serviceList - ) := { - fmtID := PX_FMTID_SAM, - version := PX_VERSION_FSAP, - serverID := p_serverId, - serviceList := p_serviceList, - channelList := ?, - ipServList := { // Empty list - } - } // End of template mw_sam - - template (present) SAM mw_sam_channelList( - in template (present) StationID p_serverId, - in template (present) ServiceList p_serviceList, - in template (present) ChannelList p_channelList - ) modifies mw_sam := { - channelList := p_channelList - } // End of template mw_sam_channelList - - template (present) GCsam mw_gcSam( - in template (present) ApplicationID p_applicationId, - in template (present) StationID p_serverId, - in template (present) SAMserviceData p_samServiceData, - in template (present) LLserviceAddr p_linkId - ) := { - applicationID := p_applicationId, - serverID := p_serverId, - serviceData := p_samServiceData, - link := p_linkId - } // End of template mw_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) GCsamctx mw_gcSamCtx( - in template (present) ApplicationID p_applicationId, - in template (present) StationID p_serverId, - in template (present) ServiceInfo p_serviceInfo, - in template (present) LLserviceAddr p_link - ) := { - applicationID := p_applicationId, - serverID := p_serverId, - serviceInfo := p_serviceInfo, - link := p_link - } // End of template mdw_mfCommand_gcSamCtx - - /** - * @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( - in template (present) ITSaid p_serviceId, - in template (present) ServiceData p_serviceData, - in template (present) PortNumber p_providerPort, - in template (present) SessionChannel p_sessionChannel - ) := { - fill := '0000000'B, - servData := { - nonipService := { - serviceID := p_serviceId, - serviceData := p_serviceData, - providerPort := p_providerPort, - sessionChannel := p_sessionChannel - } // End of field 'nonipService' - } // End of field 'servData' - } // End of template mw_samDataServerciceWithAccessTechAndNonIP - - template (present) ServiceInfo mw_serviceInfo_nonipService( - in template (present) ITSaid p_serviceId, - in template (present) PortNumber p_providerPort - ) := { - fill := '0000000'B, - info := { - nonipService := { - serviceID := p_serviceId, - providerPort := p_providerPort - } // End of field 'nonipService' - } // End of field 'info' - } // End of template mw_serviceInfo_nonipService - - template (present) SessionChannel mw_sessionChannel( - in template (present) integer p_serviceChannel - ) := { - serviceChannel := p_serviceChannel, - medium := ?, - schParams := ? - } // End of template mw_sessionChannel - - } // End of group samMessageRecv - - } // End of group samMessage - - group ctxMessage { - - group ctxMessageSend { - - template (value) INsapPrimitivesUp m_inSapPrimitivesUp( - in template (value) LLserviceAddr p_insapSourceAddress, - in template (value) LLserviceAddr p_insapDestAddress, - in template (value) INdata p_inData - ) := { - spRef := 0, - servPrimitive := { - IN_UNITDATA_indication := - m_inUnitDataInd( - p_insapSourceAddress, - p_insapDestAddress, - p_inData - ) - } - } // End of template m_inSapPrimitivesUp - - // FIXME To be continued - template (value) NFsapPrimitivesUp m_nfSapPrimitivesUp( - in template (value) PortNumber p_servicePort, - in template (value) PortNumber p_remotePort, - in template (value) Link_ID p_linkId, - in template (value) ITSfpdu p_data - ) := { - spRef := 2, - servPrimitive := { - NFfntpCommIndication := { - servicePort := p_servicePort, - remotePort := p_remotePort, - linkID := p_linkId, - data := p_data, - priority := PX_USER_PRIORITY, - controlField := m_noFntpOptions - } - } - } // End of template m_nfSapPrimitivesUp - - /** - * @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 - */ - template (value) CTXrxNot m_ctxRxNot( - in template (value) LLserviceAddr p_linkId, - in template (value) CTX p_ctx - ) := { - // cTXrxNot := { - link := p_linkId, - ctx := p_ctx - //} // // End of field 'cTXrxNot' - } // End of template m_ctxRxNot - - /** - * @desc Send template for CTX - * @param p_clientID Client identifier - * @see ISO 24102-5 Clause 8.2.6 Reception of 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 - - template (value) CTX m_ctx_noip( - in template (value) StationID p_clientId, - in template (value) NonipContext p_noIpContext - ) modifies m_ctx := { - servContextList := { - p_noIpContext - } - } // End of template m_ctx_noip - - /** - * @desc Send template for CTX in non-ip context - * @param p_serviceId The globally unique ITS-AID of the ITS-S application - * @param p_contextData Service port number - * @param p_userPort Service port number - * @see ISO2410-5 Clause 8.2.1 Groupcast registration - * @see ISO2410-5 Figure 9 — serviceList - */ - template (value) NonipContext m_nonIpContext( - in template (value) ITSaid p_serviceId, - in template (value) ContextData p_contextData, - in template (value) PortNumber p_userPort - ) := { - serviceID := p_serviceId, - contextData := p_contextData, - userPort := p_userPort - } // End of template m_nonIpContext - - } // End of group ctxMessageSend - - group ctxMessageRecv { - - /** - * @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) GCctx mdw_gCctx( // FIXME To be renamed - in template (present) ApplicationID p_applicationId, - in template (present) StationID p_clientId, - in template (present) CTXserviceData p_serviceContext - ) := { - applicationID := p_applicationId, - clientID := p_clientId, - serviceContext := p_serviceContext - } // End of template mdw_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) GCctxTxCmd mdw_mfCommand_gcCtxTxCmd( - in template (present) CALMllsap.LLserviceAddr p_link, - in template (present) CTX p_ctx - ) := { - // gCctxTxCmd := { - link := p_link, - ctx := p_ctx - // } // End of header 'gCctxTxCmd' - } // End of template mdw_mfCommand_gcCtxTxCmd - - /** - * @desc Generic receive template for CTX. - * Used for: - *
  • modifying restrictif template
  • - *
  • default altstep
  • - * @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 Send template for CTX - * @param p_clientID Client identifier - * @see ISO 24102-5 Clause 8.2.6 Reception of CTX - */ - template (present) CTX mdw_ctx( - in template (present) StationID p_clientId - ) modifies mw_ctx_any := { - clientID := p_clientId - } // End of template mw_ctx - - /** - * @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 mdw_ctx_nonIpContext( - in template (present) StationID p_clientId, - in template (present) NonipContext p_servContext - ) modifies mdw_ctx := { - servContextList := { p_servContext } // FIXME To be reviewed during validation superset(p_servContext) - } // End of template mdw_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 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 - * @param p_contextData A context data value - * @see ISO2410-5 Clause 8.2.1 Groupcast registration - * @see ISO2410-5 Figure 9 — serviceList - */ - template (present) NonipContext mw_nonIpContext_contextdata( - in template (present) ITSaid p_serviceId, - in template (present) PortNumber p_userPort, - in template (value) ContextData p_contextData - ) modifies mw_nonIpContext := { - contextData := p_contextData - } // End of template mw_nonIpContext - - /** - * @desc Generic receive template for CTXserviceData - * Used for: - *
  • modifying restrictif template
  • - *
  • default altstep
  • - */ - template (present) CTXserviceData mw_ctxDataServercice_any := { - fill := '0000000'B, - 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 - - } // End of group ctxMessageRecv - - } // End of group ctxMessage - - /** - * @desc Fntp NPUD templates - */ - group fsapFntpNpdu { - - /** - * @desc Send template for basic NPDU for UC/BC transmission- N/single hop - * For basic FNTPNPDU, S-Hop is required (see ISO 29281-1 Clause 5.1.2 Basic mode of operation) - * @param p_sourcePort Source port - * @param p_destinationPort Destination port - */ - template (value) FNTPNPDU m_fsapBasicFntpNpdu( - in template (value) PortNumber p_sourcePort, - in template (value) PortNumber p_destinationPort, - in template (value) ITSfpdu p_body - ) modifies m_fntpBasicNpdu := { - body := p_body - } // End of template m_fntpBasicNpdu - - template (value) FntpOptions m_noFntpOptions := { - intForw := omit, - sec := omit, - hops := omit, - lpp := omit, - cip := omit, - opt5 := omit, - opt6 := omit, - opt7 := omit - } // End of template m_noFntpOptions - - } // End of group fsapFntpNpdu - - } // End of group fsapPrimitives - -} // End of module LibItsFsap_Templates \ No newline at end of file diff --git a/ttcn/CALM/FSAP/LibItsFsap_TypesAndValues.ttcn3 b/ttcn/CALM/FSAP/LibItsFsap_TypesAndValues.ttcn3 deleted file mode 100644 index c3f22152046d7298bdfa451f26472ea948cf5570..0000000000000000000000000000000000000000 --- a/ttcn/CALM/FSAP/LibItsFsap_TypesAndValues.ttcn3 +++ /dev/null @@ -1,126 +0,0 @@ -/** - * @author ETSI / STF422_EETS - * @version $URL$ - * $Id$ - * @desc Types and constants definitions for Fast Service Advertisement Protocol (ISO 24102-4) - */ -module LibItsFsap_TypesAndValues { - - // LibCommon - - // LibIts - - // LibItsCalm - import from CALMiitsscu language "ASN.1:1997" { - type - McmdRq - }; - import from CALMllsap language "ASN.1:1997" { - type - INsapPrimitivesUp - }; - import from CALMmsap language "ASN.1:1997" { - type - FAsapPrimitivesUp, FAsapPrimitivesDown, - MF_Command_request, MF_Request_request - }; - import from CALMfntp language "ASN.1:1997" { - type - NFsapPrimitivesDown, NFsapPrimitivesUp - }; - import from CALMfsap language "ASN.1:1997" { - type - SAM - }; - - /** - * @desc UpperTester primitives - */ - group utPrimitives { - - /** - * @desc Trigger to initialize the IUT. - */ - type record UtFsapInitialize { - McmdRq mcmdRq - } with { - encode (mcmdRq) "LibItsIicp_asn1" - } - - /** - * @desc Events at the application layer of the IUT. - */ - type union UtFsapEvent { - FAsapPrimitivesDown faSapPrimitivesDown - } - with { - encode (faSapPrimitivesDown) "LibItsCALMmsap_asn1" - } - - /** - * @desc Send a MF-SAP primitive from Facility layer through a SAP. - * @member faSapPrimitivesUp MF-SAP up primitive - */ - type union UtFsapEventInd { - FAsapPrimitivesUp faSapPrimitivesUp - } - with { - encode (faSapPrimitivesUp) "LibItsCALMmsap_asn1" - } - - } with { - encode "UpperTester" - } // End of group utPrimitives - - /** - * @desc ConfigTester primitives - */ - group cfPrimitives { - - /** - * @desc Trigger to initialize the IUT. - * @member McmdRq MN-COMMAND-Request message to initialize the upper tester - */ - type record CfFsapInitialize { - } - - /** - * @desc Send a MA-SAP.request primitive to the Management layer through a SAP. - * @member mnRequestRequest MN_REQUEST_Request primitive - */ - type union CfFsapEventInd { - MF_Request_request mfRequestRequest - } - with { - encode (mfRequestRequest) "LibItsCALMmsap_asn1" - } - - } with { - encode "ConfigTester" - } // End of group cfPrimitives - - /** - * @desc Test Adapter control primitives - */ - group acPrimitives { - - /** - * @desc TA primitives for FSAP - */ - type union AcFsapPrimitive { - INsapPrimitivesUp inSapPrimitivesUp, - boolean stopTransmission - } - with { - encode (inSapPrimitivesUp) "LibItsCALMllsap_asn1" - encode "AdapterControl" - } - - } with { - encode "AdapterControl" - }// End of group acPrimitives - -} -with { - encode "LibItsFsap" -} //End of module LibItsFsap_TypesAndValues \ No newline at end of file diff --git a/ttcn/CALM/IICP/LibItsIicp_Functions.ttcn3 b/ttcn/CALM/IICP/LibItsIicp_Functions.ttcn3 deleted file mode 100644 index 13739205d30aa9c310cd17a97e578e433d165c2e..0000000000000000000000000000000000000000 --- a/ttcn/CALM/IICP/LibItsIicp_Functions.ttcn3 +++ /dev/null @@ -1,614 +0,0 @@ -/** - * @author ETSI / STF422_EETS - * @version $URL$ - * $Id$ - * @desc Inter-ITS-SCU communications (ISO 24102-4) functions - */ -module LibItsIicp_Functions { - - // LibCommon - import from LibCommon_Sync all; - import from LibCommon_Time { - function f_sleep, f_sleepIgnoreDef - }; - import from LibCommon_BasicTypesAndValues { - const - c_uInt8Max; - }; - import from LibCommon_Sync { - function - f_selfOrClientSyncAndVerdict, f_selfOrClientSyncAndVerdictPreamble - }; - import from LibCommon_VerdictControl all; - - // LibIts - - // LibItsCalm - import from CALMllsap language "ASN.1:1997" { - type - Link_ID, Errors - }; - import from CALMmsap language "ASN.1:1997" { - type - MF_Request_confirm, - WakeUp, RegReq, StateCInotify, - LDMregister - }; - import from CALMmanagement language "ASN.1:1997" { - type - ITS_scuId, Talive - }; - import from CALMiitsscu language "ASN.1:1997" { - type - IIC_Request, IIC_Response, - SimUt, - ITS_SCUtype, ITS_SCUalive, - VCI_Info, VCI_info_res, VCI_update_req - }; - import from CALMfntp language "ASN.1:1997" { - type SetNotFNTP, DeleteFNTP - }; - import from LibItsMgt_TypesAndValues { - type IParamNoList, IParamList - }; - import from LibItsMgt_Functions { - function - f_getIutSourceItsScuId, f_getIutDestItsScuId, - f_getNextPduCounter - }; - import from LibItsIicp_TypesAndValues all; - import from LibItsIicp_Templates all; - import from LibItsIicp_Pics { - modulepar PICS_ITS_MGT_NOT - }; - import from LibItsIicp_Pixits all; - import from LibItsCalm_Interface { - type - UtInitialize, CfInitialize, CfEventInd, - UtResult, CfResult, - ItsCalm - }; - - /** - * @desc Upper tester functions - */ - group utFunctions { - - /** - * @desc Requests to bring the IUT in an initial state - * @param p_utInitialize The initialisation to trigger. - * @verdict Unchanged on success, fail on error and inconc otherwise - */ - function f_utIicpInitializeIut(template (value) UtInitialize p_utInitialize) runs on ItsCalm { - - utPort.send(p_utInitialize); - tc_wait.start; - alt { - [] utPort.receive(UtResult:true) { - tc_wait.stop; - log("*** f_utIicpInitializeIut: INFO: IUT initialized ***"); - } - [] utPort.receive { - tc_wait.stop; - log("*** f_utIicpInitializeIut: INFO: IUT could not be initialized ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] tc_wait.timeout { - log("*** f_utIicpInitializeIut: INFO: IUT could not be initialized in time ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [else] { // Shortcut defaults - //f_sleep(0.050); // 50 ms - repeat; - } - } // End of 'alt' statement - - } // End of function f_utIicpInitializeIut - - /** - * @desc Send a NFsapPrimitivesDown primitive and wait for the NFsapPrimitivesUp confirm response - * @param p_utIicpEvent The NFsapPrimitivesDown request - * @param p_utIicpEventInd The NFsapPrimitivesDown response - * @param p_discard Set to true if responses shall be discard, otherwise the function failed - * @param p_result The response value - * @verdict Unchanged on success, fail on error and inconc otherwise - */ - function f_utIicpEventResponse( - in template (value) UtIicpEvent p_utIicpEvent, - in template (present) UtIicpEventInd p_utIicpEventInd, - in boolean p_discard, - out UtIicpEventInd p_result) - runs on ItsCalm { - -// log("*** f_utIicpEventResponse: INFO: Send message: ", p_commandReq, " ***"); - utPort.send(p_utIicpEvent); -// log("*** f_utIicpEventResponse: INFO: Expected UtCommandConfirm: ", p_commandConf, " ***"); - tc_wait.start; - alt { - [] utPort.receive(p_utIicpEventInd) -> value p_result { -// log("*** f_utIicpEventResponse: INFO: Receive expected confirm: message ***"); - tc_wait.stop; - } - [] utPort.receive(UtIicpEventInd:? ) -> value p_result { - if (p_discard == false) { - tc_wait.stop; - log("*** f_utIicpEventResponse: ERROR: Event not correctly indicated at application layer ***", p_result); - f_selfOrClientSyncAndVerdict("fail", e_error); - } - else { - log("*** f_utIicpEventResponse: INFO: Another event indicated at application layer, repeating check ***"); - repeat; - } - } - [] tc_wait.timeout { - if (p_discard == false) { - log("*** f_utIicpEventResponse: ERROR: Timeout while waiting for event check result ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - else { - log("*** f_utIicpEventResponse: INFO: Event not indicated at application layer ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - } - } // End of 'alt' statement - - } // End of function f_utIicpEventResponse - - /** - * @desc Send a NFsapPrimitivesDown primitive and do not wait for the NFsapPrimitivesDown confirm response - * @param p_utIicpEvent The NFsapPrimitivesDown primitive - * @verdict Unchanged on success, fail otherwise - */ - function f_utIicpEvent( - in template (value) UtIicpEvent p_utIicpEvent - ) runs on ItsCalm { - utPort.send(p_utIicpEvent); - } // End of function f_utIicpEvent - - } // End of group utFunctions - - /** - * @desc Test trigger function - */ - group whenFunctions { - - /** - * @desc Send a IIC-Request primitive - * @param p_IIC_Request The IIC-Request primitive - * @verdict Unchanged on success, fail otherwise - */ - function f_iicpEvent_IIC_Request( - in template (value) IIC_Request p_IIC_Request - ) runs on ItsCalm { - iicpPort.send( - m_iicpReq( - p_IIC_Request - )); - } // End of function f_iicpEvent_IIC_Request - - /** - * @desc Send a IIC-Request primitive - * @param p_IIC_Request The IIC-Request primitive - * @verdict Unchanged on success, fail otherwise - */ - function f_iicpEvent_IIC_Response( - in template (value) IIC_Response p_IIC_Response - ) runs on ItsCalm { - iicpPort.send( - m_iicpResp( - p_IIC_Response - )); - } // End of function f_iicpEvent_IIC_Response - - } // End of group whenFunctions - - /** - * @desc Test adapter setting functions - */ - group iicpConfigurationFunctions { - - /** - * @desc This configuration features: - *
  • Host and Router are combined (see ISO/WD 29281-2 - Figure 1 - Implementation architecture I)
  • - *
  • MGT1 IISC Port (IISC/LAN) is used if specified
  • - */ - function f_cf01Up() runs on ItsCalm { - - // Map - map(self:utPort, system:utPort); - map(self:iicpPort, system:iicpPort); - - // Connect - f_connect4SelfOrClientSync(); - - // Set processing on shutdown - activate(a_cf01Down()); - - // Initialize the component - f_initialiseComponent("cf01Up"); - - // Initialze the IUT - f_initialState(); - - } // End of function f_cf01Up - - /** - * @desc Deletes configuration cf01 - */ - function f_cf01Down() runs on ItsCalm { - - deactivate; - - // Unmap - unmap(self:utPort, system:utPort); - unmap(self:iicpPort, system:iicpPort); - - // Disconnect - f_disconnect4SelfOrClientSync(); - - } // End of f_cf01Down - - /** - * @desc Behavior function for initializing component's variables and tables - * @param p_componentName Name of the component - * @param p_iicpMGM Set to true if IISC port shall be used - */ - function f_initialiseComponent(in charstring p_componentName) runs on ItsCalm { - - // Initialize variables - - // Set defaults - activate(a_iicpDefault()); - - } // end f_initialiseComponent - - } // End of group iicpConfigurationFunctions - - group functions { - - } // End of group functions - - group messagesTriggering { - - /** - * @desc Triggers a request command event in the test system adaptation. - * @param p_rCmd The remote commad to trigger - * @return FncRetCode - */ - function f_sendAliveMessage( - in ITS_scuId p_scuIdSource, - in ITS_scuId p_scuIdDest, - in template (value) ITS_SCUalive p_scuAlive - ) runs on ItsCalm { - iicpPort.send( - m_iicpReq( - m_iicRequest( - p_scuIdSource, // The ITS SCU-ID of the sender - p_scuIdDest, - f_getNextPduCounter(), - m_pduRequest_scuAlive( - p_scuAlive - ) - ) - ) - ); - - } // End of function f_sendAliveMessage - - } // End of group messagesTriggering - - group iicpAltsteps { - - /** - * @desc Trap for not processed IICP message. - * @verdict Set to fail on unknown message - */ - altstep a_iicpDefault() runs on ItsCalm { - [] iicpPort.receive( - mw_iicpIndReq( - mdw_iicRequestTx_scuAlive( - ?, - 65535, - mw_scuAlive( - ?, - ? - )))) { - log("*** a_iicpDefault: INFO: Broadcasted Alive message, skip it and repeat ***"); - repeat; - } - [] iicpPort.receive(mw_iicpIndReq(mw_iicpRequest_any)) { // Receive any IIC-Request message - log("*** a_iicpDefault: INFO: Remote IIC-Request command service primitive received in default ***"); - repeat; - } - [] iicpPort.receive(mw_iicpIndResp(mw_iicpResponse_any)) { // Receive any IIC-Response message - log("*** a_iicpDefault: INFO: Remote IIC-Response command service primitive received in default ***"); - repeat; - } - [] iicpPort.receive { // Receive unknown message - log("*** a_iicpDefault: ERROR: event received on IICP port in default ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] tc_wait.timeout { - log("*** a_iicpDefault: ERROR: Timeout while awaiting reaction of the IUT prior to Upper Tester action ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [] tc_ac.timeout { - log("*** a_iicpDefault: ERROR: Timeout while awaiting the reception of a message ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [] any timer.timeout { - log("*** a_iicpDefault: INCONC: An unknown timer has expired in default ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [] a_shutdown() { - f_poDefault(); - log("*** a_iicpDefault: INFO: TEST COMPONENT NOW STOPPING ITSELF! ***"); - if(self == mtc) { - f_cf01Down(); - } - stop; - } - } // End of altstep a_iicpDefault - - /** - * @desc Default handling cf01 de-initialisation. - */ - altstep a_cf01Down() runs on ItsCalm { - [] a_shutdown() { - f_poDefault(); - f_cf01Down(); - log("*** a_cf01Down: INFO: TEST COMPONENT NOW STOPPING ITSELF! ***"); - stop; - } - } // End of altstep a_cf01Down() - - } // End of group iicpAltsteps - - group preamble { - - /** - * @desc Brings the IUT into an initial state. - */ - function f_initialState() runs on ItsCalm { - - if (PICS_ITS_MGT_NOT == true) { - f_utIicpInitializeIut(m_utIicpInitialize_with_management); - } else { - f_utIicpInitializeIut(m_utIicpInitialize_without_management); - } -// f_cfIicpInitialize(m_cfIicpInitialize); - f_sleepIgnoreDef(PX_WAIT_FOR_IUT_READY); // Wait until the IUT is in a stable situation (beaconing...) - cfPort.clear; // Because TestConfigIICP should trigger management port deletion message - } // End of function f_initialState - - } // End of group preamble - - group postambles { - - /** - * @desc The default postamble. - */ - function f_poDefault() runs on ItsCalm { - // Nothing to do - } // End of function f_poDefault - - } // End of group postambles - - group adapterControl { - - } // End of group adapterControl - - group testerFunctions { - - /** - * @desc matches a record of values if, and only if, the record of values contains at least all of the elements defined within the SuperSet, and may contain more. - * @param p_vciInfoRes Received datas to be checked - * @param p_baseTemplate Template to be matched - * @return true on matching, false otherwise - * @verdict Unchanged - * @see ETSI ES 201 873-1 V4.3.1 (2011-06) - */ - function f_superset_VCI_Info(in VCI_info_res p_vciInfoRes, in template (present) VCI_Info p_baseTemplate) return boolean { - var integer v_counter; - - for (v_counter := 0; v_counter < lengthof(p_vciInfoRes); v_counter := v_counter + 1) { - if (match(p_vciInfoRes[v_counter], p_baseTemplate)) { - return true; - } - } // End of 'for' statement - - return false; - } - - /** - * @desc matches a record of values if, and only if, the record of values contains at least all of the elements defined within the SuperSet, and may contain more. - * @param p_vciInfoRes Received datas to be checked - * @param p_baseTemplate Template to be matched - * @return true on matching, false otherwise - * @verdict Unchanged - * @see ETSI ES 201 873-1 V4.3.1 (2011-06) - */ - function f_superset_VCI_Update(in VCI_update_req p_vciUpdate, in template (present) VCI_Info p_baseTemplate) return boolean { - var integer v_counter; - - for (v_counter := 0; v_counter < lengthof(p_vciUpdate); v_counter := v_counter + 1) { - if (match(p_vciUpdate[v_counter], p_baseTemplate)) { - return true; - } - } // End of 'for' statement - - return false; - } - - } // End of group testerFunctions - - group iutFunctions { - - /** - * @desc Get the active VCI link identifier - * @return The active VCI link identifier - * @see PX_ACTIVE_VCI_LINK_ID - */ - function f_getIutCiLinkId() return Link_ID { - return PX_ACTIVE_VCI_LINK_ID; - } - - /** - * @desc Gets the Local/source ITS scuID - * @return The Local/source ITS scuID - * @see PX_LOCAL_ITS_SCU_ID - * @see ISO/WD 24102-4 - Table 2 — ITS-SCU-ID value assignment - */ - function f_getIutLocalItsScuId() return ITS_scuId { - return PX_LOCAL_ITS_SCU_ID; - } - - /** - * @desc Get the type of ITS-SCU in the "Data" element - * @return The type of ITS-SCU in the "Data" element - * @see PX_SRC_ITS_SCU_TYPE - */ - function f_getIutSourceItsScuType() return ITS_SCUtype { - return PX_SRC_ITS_SCU_TYPE; - } - - - /** - * @desc Gets the type ITS scuID - * @return The type ITS scuID - * @see PX_LOCAL_ITS_TYPE - * @see ISO/WD 24102-4 - Table 2 — ITS-SCU-ID value assignment - */ - function f_getIutLocalItsType() return ITS_SCUtype { - return PX_LOCAL_ITS_TYPE; - } - - /** - * @desc Gets the Alive timer - * @return The Alive timer - * @see PX_TALIVE - */ - function f_getIutTalive() return Talive { - return PX_TALIVE; - } - - /** - * @desc Gets the Talive retransmit timer. - * @return Talive retransmit timer - * @see PX_TALIVE - */ - function f_getIutTaliveRetransmitTimer() return float { - return 0.9 * int2float(PX_TALIVE); // 90%; - } - - /** - * @desc Gets the maximum Talive jitter. - * @return Maximum Talive jitter - * @see PICS_SAM_RETRANSMIT_TIMER - */ - function f_getIutTaliveMaxJitter() return float { - return 1.1 * int2float(PX_TALIVE); // 110%; - } - - /** - * @desc Get the MI-Command value used for remote command - * @return The MI-Command value used for remote command - * @see PX_MI_RCMD_STATECINOTIFY - */ - function f_getIutRemoteCmdForMiCommand() return WakeUp { - return PX_MI_RCMD_STATECINOTIFY; - } - - /** - * @desc Get the MI-Request value used for remote command - * @return The MI-Request value used for remote command - * @see PX_MI_RCMD_REGTYPE - */ - function f_getIutRemoteCmdForMiRequest() return RegReq { - return PX_MI_RCMD_REGTYPE; - } - - /** - * @desc Get the Link_ID value used for remote command - * @return The MI-Request value used for remote command - * @see PX_MI_RCMD_REGTYPE - */ - function f_getIutRemoteCmdForMiRequestLinkID() return Link_ID { - return PX_MI_RCMD_LINKID; - } - - /** - * @desc Get the MM-Command value used for remote command - * @return The MM-Command value used for remote command - * @see PX_MN_RCMD_STATECINOTIFY - */ - function f_getIutRemoteCmdForMnCommand() return DeleteFNTP { - return PX_MN_RCMD_FWTDELETEFNTP; - } - - /** - * @desc Get the MM-Request value used for remote command - * @return The MN-Request value used for remote command - * @see PX_MN_RCMD_FWYSETNOTIFY - */ - function f_getIutRemoteCmdForMnRequest() return SetNotFNTP { - return PX_MN_RCMD_FWYSETNOTIFY; - } - - /** - * @desc Get the MF-Command value used for remote command - * @return The MF-Command value used for remote command - * @see PX_MF_RCMD_STATECINOTIFY - */ - function f_getIutRemoteCmdForMfCommand() return StateCInotify { - return PX_MF_RCMD_STATECINOTIFY; - } - - /** - * @desc Get the MF-Request value used for remote command - * @return The MF-Request value used for remote command - * @see PX_MF_RCMD_LDM_REGISTER - */ - function f_getIutRemoteCmdForMfRequest() return LDMregister { - return PX_MF_RCMD_LDM_REGISTER; - } - - /** - * @desc Get the List of reference number of parameter to be monitored - * @return The List of reference number of parameter to be monitored - * @see PX_MI_IPARAMNOLIST - */ - function f_getIutIparamNoList() return IParamNoList { - return PX_MI_IPARAMNOLIST; - } - - /** - * @desc Get the list of error status for each parameter to be monitored - * @return The list of error status for each parameter to be monitored - * @see PX_MI_IPARAMNOLIST - */ - function f_getIutIparamList() return IParamList { - return PX_MI_IPARAMLIST; - } - - /** - * @desc Get the list of error status for each parameter to be monitored - * @return The list of error status for each parameter to be monitored - * @see PX_MI_ERRORSLIST - */ - function f_getIutErrorsList() return Errors { - return PX_MI_ERRORSLIST; - } - - /** - * @desc Get a IIC-Response value - * @return The IIC-Response value - * @see PX_IIC_RESPONSE - */ - function f_getIutIicResponse() return MF_Request_confirm { - return PX_IIC_RESPONSE; - } - - } // End of group iutFunctions - -} // End of module LibItsIicp_Functions \ No newline at end of file diff --git a/ttcn/CALM/IICP/LibItsIicp_Pics.ttcn3 b/ttcn/CALM/IICP/LibItsIicp_Pics.ttcn3 deleted file mode 100644 index bab6bfb67c55117c21c02c3d6f16c596a0c5345b..0000000000000000000000000000000000000000 --- a/ttcn/CALM/IICP/LibItsIicp_Pics.ttcn3 +++ /dev/null @@ -1,52 +0,0 @@ -/** - * @author ETSI / STF422_EETS - * @version $URL$ - * $Id$ - * @desc Fast service advertisement protocol (ISO 24102-5) PICS - */ -module LibItsIicp_Pics { - - /** - * @desc IICP PICS - */ - group iicpPics { - - /** - * @desc Is IUT an host only? - * @see ETSI TS 102 797-1 v0.0.0 C.5/1 - */ - modulepar boolean PICS_ROLE_RONLY := false; - - /** - * @desc Is IUT a router only? - * @see ETSI TS 102 797-1 v0.0.0 C.5/2 - */ - modulepar boolean PICS_ROLE_HONLY := false; - - /** - * @desc Is IUT both host and router? - * @see ETSI TS 102 797-1 v0.0.0 C.5/3 - */ - modulepar boolean PICS_ROLE_RH := false; - - /** - * @desc Does the architecture implement ITS station-internal network? - * @see ETSI TS 102 797-1 v0.0.0 C.6/1 - */ - modulepar boolean PICS_ITS_S_INW := false; - - /** - * @desc Is IISC available? - * @see ISO/WD 24102-4 - */ - modulepar boolean PICS_IICP_MGM := true; - - /** - * @desc Is IUT support notification to the ITS Management layer - * @see ETSI TS 102 985-1 v1.1.2 A.6/3 - */ - modulepar boolean PICS_ITS_MGT_NOT := false; - - } // End of group iicpPics - -} // End of module LibItsIicp_Pics \ No newline at end of file diff --git a/ttcn/CALM/IICP/LibItsIicp_Pixits.ttcn3 b/ttcn/CALM/IICP/LibItsIicp_Pixits.ttcn3 deleted file mode 100644 index 318e056762e3a82fae6ad1a290488da8bc6d2dba..0000000000000000000000000000000000000000 --- a/ttcn/CALM/IICP/LibItsIicp_Pixits.ttcn3 +++ /dev/null @@ -1,223 +0,0 @@ -/** - * @author ETSI / STF422_EETS - * @version $URL$ - * $Id$ - * @desc Inter-ITS-SCU communications (ISO 24102-4) Pixits - */ -module LibItsIicp_Pixits { - - // LibCommon - import from LibCommon_DataStrings { - type Bit4 - }; - - // LibIts - import from CALMllsap language "ASN.1:1997" { - type - Link_ID, CIstatus, MedType, Errors - }; - import from CALMmsap language "ASN.1:1997" { - type - MF_Command, MN_Command, MI_Command, - MF_Request, MN_Request, MI_Request, - MF_Request_confirm, - WakeUp, RegReq, StateCInotify, LDMregister - }; - import from CALMmanagement language "ASN.1:1997" { - type - ITS_scuId, Talive - }; - import from CALMiitsscu language "ASN.1:1997" { - type ITS_SCUtype - }; - import from CALMfntp language "ASN.1:1997" { - type - PortNumber, - SetNotFNTP, DeleteFNTP - }; - import from LibItsMgt_TypesAndValues { - type IParamNoList, IParamList - }; - - /** - * @desc Defines the active CI link identifier - */ - modulepar Link_ID PX_ACTIVE_VCI_LINK_ID := { - remoteCIID := '0000000000000000'O, - localCIID := '0000000000000000'O - }; - - /** - * @desc ITS-SCU-ID of the source ITS-SCU which produces the request - */ - modulepar ITS_scuId PX_SRC_ITS_SCU_ID := 5; - - /** - * @desc ITS_SCUtype of the source ITS-SCU which produces the request - */ - modulepar ITS_SCUtype PX_SRC_ITS_SCU_TYPE := 2; // router - - /** - * @desc ITS-SCU-ID of the destination ITS-SCU which shall evaluate the request - */ - modulepar ITS_scuId PX_DST_ITS_SCU_ID := 0; - - /** - * @desc The own ITS scuID - * @see ISO/WD 24102-4 - Table 2 — ITS-SCU-ID value assignment - */ - modulepar ITS_scuId PX_LOCAL_ITS_SCU_ID := 8; - - /** - * @desc The type ITS scuID - * @see ISO/WD 24102-4 - Table 2 — ITS-SCU-ID value assignment - */ -// modulepar ITS_SCUtype PX_LOCAL_ITS_TYPE := 1; // ITS_SCUtype_host_ - modulepar ITS_SCUtype PX_LOCAL_ITS_TYPE := 255; // any - broadcast address - - /** - * @desc Host ITS-SCU-ID - */ - modulepar ITS_scuId PX_HOST_SCU_ID := 0; - - /** - * @desc Alive timer - */ - modulepar Talive PX_TALIVE := 5000; - - /** - * Wait until the IUT is in a stable situation (beaconing...) - */ - modulepar float PX_WAIT_FOR_IUT_READY := 1.0; - - /** - * @desc MI-Command value used for IICP/COM/xx TPs - * NOTE that this PIXIT is used just for compiling purposes. The real PIXIT shall be written according to the IUT capabilities - */ - modulepar WakeUp PX_MI_RCMD_STATECINOTIFY := 10; - - /** - * @desc MN-Command value used for IICP/COM/xx TPs - * NOTE that this PIXIT is used just for compiling purposes. The real PIXIT shall be written according to the IUT capabilities - */ - modulepar DeleteFNTP PX_MN_RCMD_FWTDELETEFNTP := { - reference := 10 - } - - /** - * @desc MN-Request value used for IICP/COM/xx TPs - * NOTE that this PIXIT is used just for compiling purposes. The real PIXIT shall be written according to the IUT capabilities - */ - modulepar SetNotFNTP PX_MN_RCMD_FWYSETNOTIFY := { - reference := 0, - remotePort := { - portLong := 12345 - }, - linkID := { - remoteCIID := '0000000000000000'O, - localCIID := '0000000000000000'O - }, - ciStatus := 0, - linkPort := { - portShort := 0 - }, - serviceInfo := { - servicePort := { - portShort := 0 - }, - hostITSscu := 0, - servicePriority := 0 - }, - priority := 0, - timeout_ := 0 - } - - /** - * @desc MI-Request value used for IICP/COM/xx TPs - * NOTE that this PIXIT is used just for compiling purposes. The real PIXIT shall be written according to the IUT capabilities - */ - modulepar RegReq PX_MI_RCMD_REGTYPE := { - medType := 10 // FIXME Check why TTWB does not accespt MedType_iso17515_ - } - - /** - * @desc Link-ID used for remote command - * NOTE that this PIXIT is used just for compiling purposes. The real PIXIT shall be written according to the IUT capabilities - */ - modulepar Link_ID PX_MI_RCMD_LINKID := { - remoteCIID := '0000000000000000'O, - localCIID := '0000000000000000'O - } - - /** - * @desc MF-Command value used for IICP/COM/xx TPs - * NOTE that this PIXIT is used just for compiling purposes. The real PIXIT shall be written according to the IUT capabilities - */ - modulepar StateCInotify PX_MF_RCMD_STATECINOTIFY := { - linkId := { - remoteCIID := '0000000000000000'O, - localCIID := '0000000000000000'O - }, - cIstatus := 8 - } - - /** - * @desc MF-Command value used for IICP/COM/xx TPs - * NOTE that this PIXIT is used just for compiling purposes. The real PIXIT shall be written according to the IUT capabilities - */ - modulepar LDMregister PX_MF_RCMD_LDM_REGISTER := { - iTS_scuId := 0, - reference := ''O - } - - /** - * @desc List of reference number of parameter to be monitored - * NOTE that this PIXIT is used just for compiling purposes. The real PIXIT shall be written according to the IUT capabilities - * @see ISO 21218 Table A.1 — I parameters - */ - modulepar IParamNoList PX_MI_IPARAMNOLIST := { - 0, // AuxiliaryChannel - 1 // ControlChannel - } - - /** - * @desc List of error status for each parameter to be monitored - * NOTE that this PIXIT is used just for compiling purposes. The real PIXIT shall be written according to the IUT capabilities - * @see ISO 21218 Table A.1 — I parameters - */ - modulepar IParamList PX_MI_IPARAMLIST := { - { - paramNo := 0, - parameter := { - Errors := { - { - paramNo := 0, - errStatus := 0 - } - } - } // End of 'errors' list - } // End of list of 'IParamList' list - } - /** - * @desc List of errors - * NOTE that this PIXIT is used just for compiling purposes. The real PIXIT shall be written according to the IUT capabilities - * @see ISO 21218 Clause A.2.53 Errors (I-Param.No=255) - */ - modulepar Errors PX_MI_ERRORSLIST := { - { - paramNo := 0, - errStatus := 0 - } // End of SingleError list - } - - /** - * @desc Error status in response of MF-REQUEST.request service primitive - */ - modulepar MF_Request_confirm PX_IIC_RESPONSE := { - commandRef := 1, - ref := 9, - reqConfirm_param := {ITS_scuId := 0}, - errStatus := 0 - } // End of modulepar PX_IIC_RESPONSE - -} // End of module LibItsIicp_Pixits diff --git a/ttcn/CALM/IICP/LibItsIicp_Templates.ttcn3 b/ttcn/CALM/IICP/LibItsIicp_Templates.ttcn3 deleted file mode 100644 index a3ecbeffc60d063f08eea3c62901f8600c2699c9..0000000000000000000000000000000000000000 --- a/ttcn/CALM/IICP/LibItsIicp_Templates.ttcn3 +++ /dev/null @@ -1,1762 +0,0 @@ -/** - * @author ETSI / STF422_EETS - * @version $URL$ - * $Id$ - * @desc Templates definitions for Inter-ITS-SCU communications (ISO 24102-4) - */ -module LibItsIicp_Templates { - - // LibCommon - import from LibCommon_BasicTypesAndValues { - type - UInt8, UInt16; - }; - - // LibIts - - // LibItsCalm - import from CALMiitsscu language "ASN.1:1997" { - type - McmdRs, TestConfigIICP, - IIC_Request, IICrequestTX, IICrequestRX, - IIC_Response, IICresponseTX, IICresponseRX, - PduRequest, PduResponse, - PduCounter, - McmdRq, - SimUt, - ITS_SCUalive, ITS_SCUtype, AliveMessage, - VCI_info_req, VCI_info_res, VCI_update_req, VCI_Info, - PduErrStatus - }; - import from CALMmanagement language "ASN.1:1997" { - type ITS_scuId - }; - // FIXME Why ErrStatus not found? - import from CALMllsap language "ASN.1:1997" all;/*{ - type - ErrStatus, - MedType , CIaClass, CIclass, CIstatus - };*/ - import from CALMmsap language "ASN.1:1997" all; - import from CALMfntp language "ASN.1:1997" { - type PortNumber - }; - import from LibItsIicp_TypesAndValues { - type - UtIicpEvent, UtIicpEventInd - }; - import from LibItsCalm_Pixits { - modulepar - PX_LOC_ITS_IICP_ACCESS_SETTINGS_MX_SAP_SET, PX_LOC_ITS_IICP_ACCESS_SETTINGS_MX_SAP_UNSET, - PX_IUT_LOWER_LAYER_USED, PX_IUT_LOWER_LAYER_UNUSED, - PX_IUT_TEST_MODE_ON - }; - import from LibItsMgt_Templates { - template - mw_mfCommandRequest_any - }; - import from LibItsMgt_Functions { - function - f_getIutSourceItsScuId, f_getIutDestItsScuId, f_getIutOtherItsScuId - }; - - import from LibItsCalm_Interface { - type - IicpReq, IicpInd, - UtInitialize, CfInitialize - }; - -// TODO Yann Continue code review from here - /** - * @desc ASSN.1 error status definitions - */ - group errorStatusCstes { - - const ErrStatus c_errStatus_success := 0; - - const ErrStatus c_errStatus_unspecFailure := 1; - - } // group errorStatusCstes - - group iicpPrimitives { - - /** - * @desc Send template for Iisc packet (Inter-ITS-SCU communication Primitives) - * @param p_msgOut Inter-ITS-SCU communication packet to send - */ - template (value) IicpReq m_iicpReq( - template (value) IIC_Request p_msgOut - ) := { - msgOut := { - msg_req := p_msgOut - } - } // End of template m_iicpReq - - /** - * @desc Send template for Iisc packet (Inter-ITS-SCU communication Primitives) - * @param p_msgOut Inter-ITS-SCU communication packet to send - */ - template (value) IicpReq m_iicpResp( - template (value) IIC_Response p_msgOut - ) := { - msgOut := { - msg_resp := p_msgOut - } - } // End of template m_iicpResp - - /** - * @desc Send template for Iisc packet (Inter-ITS-SCU communication Primitives) - * @param p_msgInOut Inter-ITS-SCU communication packet to send - */ - template (present) IicpInd mw_iicpIndReq( - template (present) IIC_Request p_msgInReq - ) := { - msgIn := { - msg_req := p_msgInReq - }, - receptionTime := ? - } // End of template mw_iicpIndReq - - template (present) IicpInd mw_iicpIndResp( - template (present) IIC_Response p_msgInResp - ) := { - msgIn := { - msg_resp := p_msgInResp - }, - receptionTime := ? - } // End of template mw_iicpIndResp - - group testIicpConfig { - - /** - * @desc Initializes the IICP IUT including support notification to the Management entity - * See Test System Configuration Access to SUT - */ - template (value) PduRequest m_pduRequest_testIicpConfig := { - reqRef := 9, - iicpReq := { - McmdRq := { - mCmdRef := 255, - mcmd := { - TestConfigIICP := { - location := PX_LOC_ITS_IICP_ACCESS_SETTINGS_MX_SAP_UNSET, - lowerLayers := PX_IUT_LOWER_LAYER_UNUSED, // PX_IUT_LOWER_LAYER_USED - testMode := PX_IUT_TEST_MODE_ON - } - } // End of field 'mcmd' - } // End of field 'McmdRq' - } // End of field 'iicpReq' - } // End of template m_pduRequest_testIicpConfig - - } // End of group testIicpConfig - - group taPrimitives { - - } // End of group taPrimitives - - /** - * @desc MF-SAP service primitives templates - * @see ISO 24102-3 Clause 8.2.2 MF-COMMAND.request - */ - group mfCommandRequest { - - group mfCommandRequestSend { - - /** - * @desc Send template for PduRequest/MF-COMMAND.request - * @param p_mfCommandReq MF-COMMAND.request description - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template (value) PduRequest m_pduRequest_mfCommandReq( - in template (value) MF_Command_request p_mfCommandReq - ) := { - reqRef := 1, - iicpReq := { MF_Command_request := p_mfCommandReq } - } // End of template m_pduRequest_mfCommandReq - - } // End of group mfCommandRequestSend - - } // End of group mfCommandRequest - - /** - * @desc MF-SAP service primitives templates - * @see ISO 24102-3 Clause 8.2.3 MF-COMMAND.confirm - */ - group mfCommandConfirm { - - group mfCommandConfirmRecv { - - /** - * @desc Send template for PduRequest/MF-COMMAND.confirm - * @param p_mfCommandReq MF-COMMAND.confirm description - * @see ISO 24102-4 Clause 8.2.2 IIC-Response PDU - */ - template (value) PduResponse mw_pduResponse_mfCommandConfirm( - in template (value) MF_Command_confirm p_mfCommandConfirm - ) := { - resRef := 1, - iicpRes := { MF_Command_confirm := p_mfCommandConfirm } - } // End of template mw_pduResponse_mfCommandConfirm - - } // End of group mfCommandConfirmRecv - - } // End of group mfCommandConfirm - - /** - * @desc MF-SAP service primitives templates - * @see ISO 24102-3 Clause 8.3 MF-REQUESTs - */ - group mfRequestRequest { - - group mfRequestRequestSend { - - /** - * @desc Send template for PduRequest/MF-Request.request - * @param p_mf_rreq MF-REQUEST.request mesage description - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ -/*FIXME To be removed template (value) PduRequest m_pduRequest_mfRequestRequest( - in template (value) MF_Request_request p_mfReqReq - ) := { - reqRef := 2, - iicpReq := { MF_Request_request := p_mfReqReq } - } // End of template m_pduRequest_mfRequestRequest -*/ - /** - * @desc Send template for PduResponse/MF-Request.confirm - * @param p_mf_rreq MF-REQUEST.confirm mesage description - * @see ISO 24102-4 Clause 8.2.2 IIC-Response PDU - */ - template (value) PduResponse m_pduResponse_mfRequestConfirm( - in template (value) MF_Request_confirm p_mfReqReq - ) := { - resRef := 2, - iicpRes := { MF_Request_confirm := p_mfReqReq } - } // End of template m_pduResponse_mfRequestConfirm - - } // End of group mfRequestRequestSend - - group mfRequestRequestRecv { - - /** - * @desc Receive template for PduRequest/MF-REQUEST.request message - * @param p_mfRequestReq MF-REQUEST.request message description - */ - template (present) PduRequest mw_pduRequest_mfRequestRequest( - in template (present) MF_Request_request p_mfReqReq - ) := { - reqRef := 2, - iicpReq := { MF_Request_request := p_mfReqReq } - } // End of template mw_pduRequest_mfRequestRequest - - /** - * @desc Receive template for MF-REQUEST.request in case of forwarding the IIC-Request PDU to the IICA - * @param p_commandRef Command reference - * @param p_iICrequestRX IICrequestRX message description - * @see ISO 24102-4 Clause 8.3.1 IIC-Request PDU - */ - template (value) MF_Request_request m_mfRequestRequest_iicRequestRx( - in template (value) CommandRef p_commandRef, - in template (value) IICrequestRX p_iicRequestRx - ) := { - commandRef := p_commandRef, - ref := 12, - request_param := { IICrequestRX := p_iicRequestRx } - } // End of template m_mfRequestRequest_iicRequestRx - - } // End of group mfRequestRequestRecv - - } // End of group mfRequestRequest - - /** - * @desc MN-SAP service primitives templates - * @see ISO 24102-3 Clause 7.2 MN-COMMANDs - */ - group mnCommandRequest { - - group mnCommandRequestSend { - - /** - * @desc Receive template for PduRequest/MN-COMMAND.request - * @param p_mnCommandReq MN-COMMAND.request description - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template (value) PduRequest m_pduRequest_mnCommandReq( - in template (value) MN_Command_request p_mnCommandReq - ) := { - reqRef := 3, - iicpReq := { MN_Command_request := p_mnCommandReq } - } // End of template m_pduRequest_mnCommandReq - - } // End of group mnCommandRequestSend - - group mnCommandRequestRecv { - - /** - * @desc Receive template for PduRequest/MN-COMMAND.request - * @param p_mnCommandReq MN-COMMAND.request description - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template (present) PduRequest mw_pduRequest_mnCommandReq( - in template (present) MN_Command_request p_mnCommandReq - ) := { - reqRef := 3, - iicpReq := { MN_Command_request := p_mnCommandReq } - } // End of template mw_pduRequest_mnCommandReq - - } // End of group mnCommandRequestRecv - - } // End of group mnCommandRequest - - /** - * @desc MN-SAP service primitives templates - * @see ISO 24102-3 Clause 7.3 MN-REQUESTs - */ - group mnRequestRequest { - - group mnRequestRequestSend { - - /** - * @desc Send template for PduRequest/MN-Request.request - * @param p_mn_rreq MMN-Request-request mesage description - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template (value) PduRequest m_pduRequest_mnRequestRequest( - in template (value) MN_Request_request p_mnReqReq - ) := { - reqRef := 4, - iicpReq := { MN_Request_request := p_mnReqReq } - } // End of template m_pduRequest_mnRequestRequest - - } // End of group mnRequestRequestSend - - group mnRequestRequestRecv { - - } // End of group mnRequestRequestRecv - - } // End of group mnRequestRequest - - /** - * @desc MI-SAP service primitives templates - * @see ISO 24102-3 Clause 6.4 MN-COMMANDs - */ - group miCommandRequest { - - group miCommandRequestSend { - - /** - * @desc Send template for PduRequest/MI-COMMAND.request - * @param p_miCommandReq MI-COMMAND.request description - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template (value) PduRequest m_pduRequest_miCommandReq( - in template (value) MI_Command_request p_miCommandReq - ) := { - reqRef := 5, - iicpReq := { MI_Command_request := p_miCommandReq } - } // End of template m_pduRequest_miCommandReq - - } // End of group miCommandRequestSend - - group miCommandRequestRecv { - - /** - * @desc Receive template for PduRequest/MI-COMMAND.request - * @param p_miCommandReq MI-COMMAND.request description - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template (present) PduRequest mw_pduRequest_miCommandReq( - in template (present) MI_Command_request p_miCommandReq - ) := { - reqRef := 5, - iicpReq := { MI_Command_request := p_miCommandReq } - } // End of template mw_pduRequest_miCommandReq - - } // End of group miCommandRequestRecv - - } // End of group miCommandRequest - - /** - * @desc MI-SAP service primitives templates - * @see ISO 24102-3 Clause 6.2 MI-SETs - * @see ISO 24102-3 Clause 6.3 MI-GETs - */ - group miGetSetRequest { - - group miGetSetRequestSend { - - /** - * @desc Send template for PduRequest/MI-GET.request - * @param p_mi_rget MI-GET.request mesage description - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template (value) PduRequest m_pduRequest_miGetReq( - in template (value) MI_Get_request p_miReqGet - ) := { - reqRef := 7, - iicpReq := { MI_Get_request := p_miReqGet } - } // End of template m_pduRequest_miGetReq - - /** - * @desc Send template for PduRequest/MI-SET.request - * @param p_mi_rget MI-SET.request mesage description - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template (value) PduRequest m_pduRequest_miSetReq( - in template (value) MI_Set_request p_miReqSet - ) := { - reqRef := 8, - iicpReq := { MI_Set_request := p_miReqSet } - } // End of template m_pduRequest_miSetReq - - } // End of group miGetSetRequestSend - - } // End of group miGetSetRequest - - /** - * @desc MI-SAP service primitives templates - * @see ISO 24102-3 Clause 6.5 MI-REQUESTs - */ - group miRequestRequest { - - group miRequestRequestSend { - - /** - * @desc Send template for PduRequest/MF-Request.request - * @param p_mi_rreq MI-REQUEST.request mesage description - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template (value) PduRequest m_pduRequest_miRequestRequest( - in template (value) MI_Request_request p_miReqReq - ) := { - reqRef := 6, - iicpReq := { MI_Request_request := p_miReqReq } - } // End of template m_pduRequest_miRequestRequest - - } // End of group miRequestRequestSend - - group miRequestRequestRecv { - - } // End of group miRequestRequestRecv - - } // End of group miRequestRequest - - /** - * @desc ITS-SCUalive templates - * @see ISO 24102-4 Clause 9.2 ITS-SCU-ID assignment - */ - group aliveMessages { - - group aliveMessagesSend { - - /** - * @desc Send template for IIC-Request PDU ITS-SCUalive message - * @param p_alive ITS_SCUalive message description - * @see ISO 24102-4 Clause 9.2 ITS-SCU-ID assignment - */ - template (value) PduRequest m_pduRequest_scuAlive( - in template (value) ITS_SCUalive p_alive - ) := { - reqRef := 0, - iicpReq := { ITS_SCUalive := p_alive } - } // End of template m_pduRequest_scuAlive - - /** - * @desc Send template for IIC-Request PDU ITS-SCUalive message - * @param p_message The Alive message (new, delete...) - * @param p_its_scuType The type of ITS-SCU in the "Data" element - * @see ISO 24102-4 Table 4 — Error handling procedure for IIC-Response PDU - */ - template (value) ITS_SCUalive m_scuAlive( - in template (value) AliveMessage p_message, - in template (value) ITS_SCUtype p_itsScuType - ) := { - message_ := p_message, - its_scuType := p_itsScuType - } // End of template m_scuAlive_any - - } // End of group aliveMessagesSend - - group aliveMessagesRecv { - - /** - * @desc Receive template for ITS-SCUalive message - * @param p_message The Alive message (new, delete...) - * @param p_its_scuType The type of ITS-SCU in the "Data" element - * @see ISO 24102-4 Table 4 — Error handling procedure for IIC-Response PDU - */ - template ITS_SCUalive mw_scuAlive( - in template (present) AliveMessage p_message, - in template (present) ITS_SCUtype p_itsScuType - ) := { - message_ := p_message, - its_scuType := p_itsScuType - } // End of template mw_scuAlive - - /** - * @desc Receive template for IICrequestTX/SCU-Alive message - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The destination ITS-SCU-ID - * @param p_alive The Alive message (new, delete...) - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template IICrequestTX mdw_iicRequestTx_scuAlive( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) ITS_SCUalive p_alive - ) modifies mw_iicRequestTx_any := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduRequest := { - reqRef := 0, - iicpReq := { ITS_SCUalive := p_alive } - } // End of 'pduRequest' field - } // End of template mdw_iicRequestTx_scuAlive - - /** - * @desc Receive template for IICrequestRX/SCU-Alive message - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The destination ITS-SCU-ID - * @param p_alive The Alive message (alive, new, delete) - * @see ISO 24102-4 Clause 8.3.1 IIC-Request PDU - * @see ISO 24102-4 Table B.2 — ITS-SCU-id request PDU - */ - template IICrequestRX mdw_iicRequestRx_scuAlive( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) ITS_SCUalive p_alive - ) modifies mw_iicRequestTx_any := { // WARNING type IIC_Request == IICrequestTX == IICrequestRX; - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduRequest := { - reqRef := 0, - iicpReq := { ITS_SCUalive := p_alive } - } // End of 'pduRequest' field - } // End of template mdw_iicRequestRx_scuAlive - - /** - * @desc Receive template for IICresponseTX/SCU-Alive message - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The destination ITS-SCU-ID - * @param p_alive The Alive message (new, delete...) - * @param p_errorStatus Error status - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - * @see ISO 24102-4 Table 4 — Error handling procedure for IIC-Response PDU - */ - template IICresponseTX mdw_iicResponseTx_scuAlive( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) ITS_SCUalive p_alive, - in template (present) PduErrStatus p_errorStatus - ) modifies mw_iicResponseTx_any := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduResponse := { - resRef := 0, - iicpRes := { ITS_SCUalive := p_alive } - }, // End of 'pduResponse' field - errorStatus := p_errorStatus - } // End of template mdw_iicResponseTx_scuAlive - - } // End of group aliveMessagesRecv - - } // End of group aliveMessages - - /** - * @desc ITS-SCUalive templates - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - * @see ISO 24102-4 Clause B.2.3 VCI-info - */ - group vciInfoReq { - - group vciInfoReqSend { - - /** - * @desc Send template for IIC-Request PDU VCI-info message - * @param p_vCI_info Request to all ITS-SCUs containing a router, to report about existing VCIs. Information to be stored in VCI list - * @see ISO 24102-4 Clause B.2.3 VCI-info - */ - template (value) PduRequest m_pduRequest_vciInfoReq( - in template (value) VCI_info_req p_vciInfo - ) := { - reqRef := 9, - iicpReq := { - McmdRq := { - mCmdRef := 1, - mcmd := { VCI_info_req := p_vciInfo } - } - } - } // End of template m_pduRequest_vciInfoReq - - /** - * @desc Send template for VCI-info-req message - * @param p_medType Indicates requested type of medium as specified in ISO 21218 - * @param p_iciaClass Indicates requested CI access class as specified in ISO 21218 - * @param p_ciClass Indicates requested CI class as specified in ISO 21218 - * @see ISO 24102-4 Table B.4 — VCI-info request PDU - */ - template (value) VCI_info_req m_vciInfoReq( - in template (value) MedType p_medType, - in template (value) CIaClass p_iciaClass, - in template (value) CIclass p_ciClass - ) := { - medType := p_medType, - ciaClass := p_iciaClass, - ciClass := p_ciClass - } // End of template m_vciInfoReq - - } // End of group vciInfoReqSend - - group vciInfoReqSendRecv { - - /** - * @desc Receive template for IICrequestTX/VCI-info message - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The destination ITS-SCU-ID - * @param p_vCI_info The VCI-info request - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template IICrequestRX mdw_iicRequestTx_vciInfoReq( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) VCI_info_req p_vciInfo - ) modifies mw_iicRequestTx_any := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduRequest := { - reqRef := 0, - iicpReq := { - PduRequest := { - reqRef := 9, - iicpReq := { - McmdRq := { - mCmdRef := 1, - mcmd := { VCI_info_req := p_vciInfo } - } // End of 'McmdRq' field - } // End of 'iicpReq' field - } // End of 'PduRequest' field - } // End of 'iicpReq' field - } // End of 'pduRequest' field - } // End of template mdw_iicRequestTx_vciInfoReq - - /** - * @desc Receive template for VCI-info-req message - * @param p_medType Indicates requested type of medium as specified in ISO 21218 - * @param p_iciaClass Indicates requested CI access class as specified in ISO 21218 - * @param p_ciClass Indicates requested CI class as specified in ISO 21218 - * @see ISO 24102-4 Table B.4 — VCI-info request PDU - */ - template VCI_info_req mw_vciInfoReq( - in template (present) MedType p_medType, - in template (present) CIaClass p_iciaClass, - in template (present) CIclass p_ciClass - ) := { - medType := p_medType, - ciaClass := p_iciaClass, - ciClass := p_ciClass - } // End of template mw_vciInfoReq - - } // End of group vciInfoReqSendRecv - - } // End of group vciInfoReq - - group vciInfoRes { - - /** - * @desc Receive template for IICresponse/VCI-info message - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The destination ITS-SCU-ID - * @param p_vCI_info The VCI-info request - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template IIC_Response mw_iicpResponse_vciInfoRes( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) VCI_info_res p_vciInfo - ) modifies mdw_iicpResponse_success := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduResponse := { - resRef := 9, - iicpRes := { - McmdRs := { - mCmdRef := 1, - mcmd := { VCI_info_res := p_vciInfo } - } // End of 'McmdRq' field - } // End of 'iicpRes' field - } // End of 'pduResponse' field - } // End of template mdw_iicRequestTx_vciInfoReq - - template (value) McmdRs m_mcmdRs_vciInfoRes(in template (value) VCI_info_res p_vciInfoRes) := { - mCmdRef := 1, - mcmd := { VCI_info_res := p_vciInfoRes } - } // End of template m_mcmdRs_vciInfoRes - - template (value) VCI_info_res m_vciInfoRes(in template (value) VCI_Info p_vciInfo) := { - p_vciInfo - } // End of template m_pduRequest_vciInfoReq - - } // End of group vciInfoRes - - group vciInfo { - - group vciInfoSend { - - /** - * @desc Send template for VCI-Info message - * @param p_linkId Link identifier of the CI - * @param p_medType Indicates requested type of medium as specified in ISO 21218 - * @param p_iciaClass Indicates requested CI access class as specified in ISO 21218 - * @param p_ciClass Indicates requested CI class as specified in ISO 21218 - * @param p_status Status of the CI - * @see ISO 24102-4 Table B.6 — VCI-update request PDU - */ - template (value) VCI_Info m_vciInfo( - in template (value) Link_ID p_linkId, - in template (value) MedType p_medType, - in template (value) CIaClass p_iciaClass, - in template (value) CIclass p_ciClass, - in template (value) CIstatus p_status - ) := { - linkId := p_linkId, - medType := p_medType, - ciaClass := p_iciaClass, - ciClass := p_ciClass, - status := p_status - } // End of template m_vciInfo - - } // End of group vciInfoSend - - group vciInfoRecv { - - /** - * @desc Receive template for VCI-info-res message - * @param p_linkId Link identifier of the CI - * @param p_medType Indicates requested type of medium as specified in ISO 21218 - * @param p_iciaClass Indicates requested CI access class as specified in ISO 21218 - * @param p_ciClass Indicates requested CI class as specified in ISO 21218 - * @param p_status Status of the CI - */ - template (present) VCI_Info mw_vciInfo( - in template (present) Link_ID p_linkId, - in template (present) MedType p_medType, - in template (present) CIaClass p_iciaClass, - in template (present) CIclass p_ciClass, - in template (present) CIstatus p_status - ) := { - linkId := p_linkId, - medType := p_medType, - ciaClass := p_iciaClass, - ciClass := p_ciClass, - status := p_status - } // End of template mw_vciInfo - - } // End of group vciInfoRecv - - } // End of group vciInfo - - group vciUpdate { - - group vciUpdateSend { - - /** - * @desc Send template for IIC-Request PDU VCI-update message with an empty update list - * Used for VCI-update request - * @see ISO 24102-4 Clause B.2.4 VCI-update - */ - template (value) PduRequest m_pduRequest_vciUpdateReq_empty := { - reqRef := 9, - iicpReq := { - McmdRq := { - mCmdRef := 2, - mcmd := { VCI_update_req := { } } - } // End of 'McmdRq' field - } // End of 'iicpReq' field - } // End of template m_pduRequest_vciUpdateReq_empty - - /** - * @desc Send template for IIC-Request PDU VCI-update message - * @param p_vCI_update VCI-update message description - * @see ISO 24102-4 Clause B.2.4 VCI-update - */ - template (value) PduRequest m_pduRequest_vciUpdateReq( - in template (value) VCI_Info p_vciInfo - ) modifies m_pduRequest_vciUpdateReq_empty := { - iicpReq := { - McmdRq := { - mcmd := { VCI_update_req := { p_vciInfo } } - } // End of 'McmdRq' field - } // End of 'iicpReq' field - } // End of template m_pduRequest_vciUpdateReq - - } // End of group vciUpdateSend - - group vciUpdateRecv { - - /** - * @desc Receive template for IICrequestTX/SCU-Alive message - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The destination ITS-SCU-ID - * @param p_vciUpdate The VCI-update message - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template (present) IICrequestTX mdw_iicRequestTx_vciUpdate( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) VCI_update_req p_vciUpdate - ) modifies mw_iicRequestTx_any := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduRequest := { - reqRef := 0, - iicpReq := { - PduRequest := { - reqRef := 9, - iicpReq := { - McmdRq := { - mCmdRef := 2, - mcmd := { VCI_update_req := p_vciUpdate } - } // End of 'McmdRq' field - } // End of 'iicpReq' field - } // End of 'PduRequest' field - } // End of 'iicpReq' field - } // End of 'pduRequest' field - } // End of template mdw_iicRequestTx_vciUpdate - - } // End of group vciUpdateRecv - - } // End of group vciUpdate - - group iicpTemplates { - - group iicpTemplatesSend { - - template (value) IIC_Request m_iicRequest( - in template (value) ITS_scuId p_sourceItsScuId, - in template (value) ITS_scuId p_destinationItsScuId, - in template (value) PduCounter p_pduCounter, - in template (value) PduRequest p_pduRequest - ) := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduCounter := p_pduCounter, - requestID := 0, - pduRequest := p_pduRequest, - secRq := { - secRqRef := 0, - secRq := { NullType := NULL } // No security - } // End of field 'secRq' - } // End of template m_iicRequest - - template (value) IIC_Response m_iicResponse( - in template (value) ITS_scuId p_sourceItsScuId, - in template (value) ITS_scuId p_destinationItsScuId, - in template (value) PduCounter p_pduCounter, - in template (value) PduResponse p_pduResponse - ) := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduCounter := p_pduCounter, - responseID := 1, - pduResponse := p_pduResponse, - secRs := { - secRsRef := 0, - secRs := { NullType := NULL } // No security - } // End of field 'secRq' - } // End of template m_iicResponse - - } // End of group iicpTemplatesSend - - group iicpTemplatesRecv { - - /** - * @desc Unspecified receive template - * Used for: - *
  • modifying restrictif template
  • - *
  • default altstep
  • - * - * @see ISO 24102-4 Clause 7 - * - * Note that all fields are mandatory - */ - template IIC_Request mw_iicpRequest_any := { - sourceITS_scuId := ?, - destinationITS_scuId := ?, - pduCounter := ?, - requestID := 0, - pduRequest := { - reqRef := ?, - iicpReq := ? - }, // End of field 'pduRequest' - secRq := { - secRqRef := 0, // No security - secRq := ? - } // End of field 'secRq' - } // End of template mw_iicpRequest_any - - template (present) IIC_Request mdw_iicRequest_notify( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) PduCounter p_pduCounter, - in template (present) PduRequest p_pduRequest - ) modifies mw_iicpRequest_any := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduCounter := p_pduCounter, - requestID := 0, - pduRequest := p_pduRequest - } // End of template mdw_iicRequest_notify - - /** - * @desc Unspecified receive template - * Used for: - *
  • modifying restrictif template
  • - *
  • default altstep
  • - * - * @see ISO 24102-4 Clause 7 - * - * Note that all fields are mandatory - */ - template IIC_Response mw_iicpResponse_any := { - sourceITS_scuId := ?, - destinationITS_scuId := ?, - pduCounter := ?, - responseID := 1, - pduResponse := { - resRef := ?, - iicpRes := ? - }, // End of field 'pduResponse' - errorStatus := ?, - secRs := ? - } // End of template mw_iicpResponse_any - - /** - * @desc Receive template for success response - */ - template IIC_Response mdw_iicpResponse_success - modifies mw_iicpResponse_any := { - errorStatus := c_errStatus_success - } // End of template mdw_iicpResponse_success - - /** - * @desc Unspecified receive template - * Used for: - *
  • modifying restrictif template
  • - *
  • default altstep
  • - * - * @see ISO 24102-4 Clause 7 - * - * Note that all fields are mandatory - */ - template IICresponseTX mw_iicpResponseTx_any := { - sourceITS_scuId := ?, - destinationITS_scuId := ?, - pduCounter := ?, - responseID := 1, - pduResponse := { - resRef := ?, - iicpRes := ? - }, // End of field 'pduResponse' - errorStatus := ?, - secRs := ? - } // End of template mw_iicpResponseTx_any - - /** - * @desc Receive template for success response - */ - template IICresponseTX mdw_iicpResponseTx_success - modifies mw_iicpResponseTx_any := { - errorStatus := c_errStatus_success - } // End of template mdw_iicpResponseTx_success - - } // End of group iicpTemplatesRecv - - group remoteCommands { - - /** - * @desc Unspecified receive template for IICRequestRx service primitive - * Used for: - *
  • modifying restrictif template
  • - */ - template IICresponseRX mw_iicResponseRx_any := { - sourceITS_scuId := ?, - destinationITS_scuId := ?, - pduCounter := ?, - responseID := 1, - pduResponse := { - resRef := ?, - iicpRes := ? - }, // End of field 'pduResponse' - errorStatus := ?, - secRs := { - secRsRef := 0, - secRs := ? - } // End of field 'secRs' - } // End of template mw_iicResponseRx_any - - /** - * @desc Unspecified receive template for IICRequestTx service primitive - * Used for: - *
  • modifying restrictif template
  • - */ - template IICrequestTX mw_iicRequestTx_any := { - sourceITS_scuId := ?, - destinationITS_scuId := ?, - pduCounter := ?, - requestID := 0, - pduRequest := { - reqRef := ?, - iicpReq := ? - }, // End of field 'pduRequest' - secRq := { - secRqRef := 0, - secRq := ? - } // End of field 'secRq' - } // End of template mw_iicRequestTx_any - - /** - * @desc Unspecified receive template for IICResponseTx service primitive - * Used for: - *
  • modifying restrictif template
  • - */ - template IICresponseTX mw_iicResponseTx_any := { - sourceITS_scuId := ?, - destinationITS_scuId := ?, - pduCounter := ?, - responseID := 1, - pduResponse := { - resRef := ?, - iicpRes := ? - }, // End of field 'pduResponse' - errorStatus := ?, - secRs := { - secRsRef := 0, - secRs := ? - } // End of field 'secRs' - } // End of template mw_iicResponseTx_any - - group miCommandsRecv { - - /** - * @desc Receive template for IICrequestTX/remote command message - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The other ITS-SCU-ID - * @param p_mi_rcmd The MI-COMMAND.request message - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template IICrequestTX mdw_iicRequestTx_miCommandRequest( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) MI_Command_request p_miReqCmd - ) modifies mw_iicRequestTx_any := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduRequest := { - reqRef := 5, - iicpReq := { MI_Command_request := p_miReqCmd } - } // End of 'pduRequest' field - } // End of template mdw_iicRequestTx_miCommandRequest - - /** - * @desc Receive template for IICresponseTX message with success status - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The destination ITS-SCU-ID - * @param p_mi_rcmd The MI-COMMAND.confirm message - * @see ISO 24102-4 Clause 8.2.2 IIC-Response PDU - */ - template IICresponseTX mdw_iicResponseTx_miCommandConfirm( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) MI_Command_confirm p_miReqCmd - ) modifies mw_iicResponseTx_any := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduResponse := { - resRef := 5, - iicpRes := { MI_Command_confirm := p_miReqCmd } - }, // End of 'pduRequest' field - errorStatus := c_errStatus_success - } // End of template mdw_iicResponseTx_miCommandConfirm - - /** - * @desc Receive template for IICrequestTX/remote command message - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The other ITS-SCU-ID - * @param p_mi_rreq The MI-Request.request message - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template IICrequestTX mdw_iicRequestTx_miRequestRequest( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) MI_Request_request p_miReqReq - ) modifies mw_iicRequestTx_any := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduRequest := { - reqRef := 6, - iicpReq := { MI_Request_request := p_miReqReq } - } // End of 'pduRequest' field - } // End of template mdw_iicRequestTx_miRequestRequest - - /** - * @desc Receive template for IICresponseTX message with success status - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The destination ITS-SCU-ID - * @param p_mi_rcmd The MI-COMMAND.confirm message - * @see ISO 24102-4 Clause 8.2.2 IIC-Response PDU - */ - template IICresponseTX mdw_iicResponseTx_miRequestRequest( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) MI_Request_confirm p_miReqReq - ) modifies mw_iicResponseTx_any := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduResponse := { - resRef := 6, - iicpRes := { MI_Request_confirm := p_miReqReq } - }, // End of 'pduResponse' field - errorStatus := c_errStatus_success - } // End of template mdw_iicResponseTx_miRequestRequest - - } // End of group miCommands - - group miGetSet { - - /** - * @desc Receive template for IICrequestTX/remote command message - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The other ITS-SCU-ID - * @param p_miReqGet The MI-GET.request message - * @see ISO 24102-3 Clause 6.3.1 MI-GET.request - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template IICrequestTX mdw_iicRequestTx_miGetRequest( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) MI_Get_request p_miReqGet - ) modifies mw_iicRequestTx_any := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduRequest := { - reqRef := 7, - iicpReq := { MI_Get_request := p_miReqGet } - } // End of 'pduRequest' field - } // End of template mdw_iicRequestTx_miGetRequest - - /** - * @desc Receive template for IICresponseTX message with success status - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The destination ITS-SCU-ID - * @param p_miReqGet The MI-GET.confirm message - * @see ISO 24102-4 Clause 8.2.2 IIC-Response PDU - */ - template IICresponseTX mdw_iicResponseTx_miGetRequest( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) MI_Get_confirm p_miReqGet - ) modifies mw_iicResponseTx_any := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduResponse := { - resRef := 7, - iicpRes := { MI_Get_confirm := p_miReqGet } - }, // End of 'pduResponse' field - errorStatus := c_errStatus_success - } // End of template mdw_iicResponseTx_miGetRequest - - /** - * @desc Receive template for IICrequestTX/remote command message - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The other ITS-SCU-ID - * @param p_miReqSet The MI-SET.request message - * @see ISO 24102-3 Clause 6.2.1 MI-SET.request - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template IICrequestTX mdw_iicRequestTx_miSetRequest( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) MI_Set_request p_miReqSet - ) modifies mw_iicRequestTx_any := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduRequest := { - reqRef := 8, - iicpReq := { MI_Set_request := p_miReqSet } - } // End of 'pduRequest' field - } // End of template mdw_iicRequestTx_miSetRequest - - /** - * @desc Receive template for IICresponseTX message with success status - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The destination ITS-SCU-ID - * @param p_miReqSet The MI-GET.confirm message - * @see ISO 24102-4 Clause 8.2.2 IIC-Response PDU - */ - template IICresponseTX mdw_iicResponseTx_miSetRequest( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) MI_Set_confirm p_miReqSet - ) modifies mw_iicResponseTx_any := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduResponse := { - resRef := 8, - iicpRes := { MI_Set_confirm := p_miReqSet } - }, // End of 'pduResponse' field - errorStatus := c_errStatus_success - } // End of template mdw_iicResponseTx_miSetRequest - - /** - * @desc Receive template for IICresponse message with success status - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The destination ITS-SCU-ID - * @param p_miCommandConfirm The MI_Command_confirm expected template - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template IICresponseTX mdw_iicpResponseTx_miCommandConfirm( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) MI_Command_confirm p_miCommandConfirm - ) modifies mdw_iicpResponseTx_success := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduResponse := { - resRef := 5, - iicpRes := { MI_Command_confirm := p_miCommandConfirm } - } // End of 'pduResponse' field - } // End of template mdw_iicpResponseTx_miCommandConfirm - - /** - * @desc Receive template for IICresponse message with success status - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The destination ITS-SCU-ID - * @param p_miGetConfirm The MI_Get_confirm expected template - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template IICresponseTX mdw_iicpResponseTx_miGetConfirm( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) MI_Get_confirm p_miGetConfirm - ) modifies mdw_iicpResponseTx_success := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduResponse := { - resRef := 7, - iicpRes := { MI_Get_confirm := p_miGetConfirm } - } // End of 'pduResponse' field - } // End of template mdw_iicpResponseTx_miGetConfirm - - /** - * @desc Receive template for IICresponse message with success status - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The destination ITS-SCU-ID - * @param p_miSetConfirm The MI_Set_confirm expected template - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template IICresponseTX mdw_iicpResponseTx_miSetConfirm( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) MI_Set_confirm p_miSetConfirm - ) modifies mdw_iicpResponseTx_success := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduResponse := { - resRef := 8, - iicpRes := { MI_Set_confirm := p_miSetConfirm } - } // End of 'pduResponse' field - } // End of template mdw_iicpResponseTx_miSetConfirm - - } // End of group miCommandsRecv - - group mnCommands { - - group mnCommandsSend { - - /** - * @desc TODO - */ - template (value) IICrequestTX m_iicRequestTx_mnRequestRequest( - in template (value) ITS_scuId p_sourceItsScuId, - in template (value) ITS_scuId p_destinationItsScuId, - in template (value) PduCounter p_pduCounter, - in template (value) MN_Request_request p_mnReqReq - ) := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduCounter := p_pduCounter, - requestID := 0, - pduRequest := { - reqRef := 4, - iicpReq := { MN_Request_request := p_mnReqReq } - }, // End of 'pduRequest' field - secRq := { - secRqRef := 0, - secRq := { NullType := NULL } // No security - } - } // End of template m_iicRequestTx_mnRequestRequest - - } // End of group mnCommandsSend - - group mnCommandsRecv { - - /** - * @desc Receive template for IICrequestTX/remote command message - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The other ITS-SCU-ID - * @param p_mnCmdReq The MN-COMMAND.request message - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template IICrequestTX mdw_iicRequestTx_mnCommandRequest( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) MN_Command_request p_mnCmdReq - ) modifies mw_iicRequestTx_any := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduRequest := { - reqRef := 3, - iicpReq := { MN_Command_request := p_mnCmdReq } - } // End of 'pduRequest' field - } // End of template mdw_iicRequestTx_mnCommandRequest - - /** - * @desc Receive template for IICrequestTX/remote command message - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The other ITS-SCU-ID - * @param p_mn_rreq The MN-Request.request message - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template IICrequestTX mdw_iicRequestTx_mnRequestRequest( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) MN_Request_request p_mnReqReq - ) modifies mw_iicRequestTx_any := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduRequest := { - reqRef := 4, - iicpReq := { MN_Request_request := p_mnReqReq } - } // End of 'PduRequest' field - } // End of template mdw_iicRequestTx_mnRequestRequest - - /** - * @desc Receive template for IICresponseTX message with success status - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The destination ITS-SCU-ID - * @param p_mnReqConf The MN_Request_confirm expected template - * @see ISO 24102-4 Clause 8.2.2 IIC-Response PDU - */ - template IICresponseTX mdw_iicResponseTx_mnRequestRequest( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) MN_Request_confirm p_mnReqConf - ) modifies mw_iicResponseTx_any := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduResponse := { - resRef := 4, - iicpRes := { MN_Request_confirm := p_mnReqConf } - }, // End of 'pduResponse' field - errorStatus := c_errStatus_success - } // End of template mdw_iicResponseTx_mnRequestRequest - - /** - * @desc Receive template for IICresponse message with success status - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The destination ITS-SCU-ID - * @param p_vCI_info The VCI-info request - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template IICresponseTX mdw_iicpResponseTx_mnCommandConfirm( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) MN_Command_confirm p_mnCommandConfirm - ) modifies mdw_iicpResponseTx_success := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduResponse := { - resRef := 3, - iicpRes := { MN_Command_confirm := p_mnCommandConfirm } - } // End of 'pduResponse' field - } // End of template mdw_iicpResponseTx_mnCommandConfirm - - } // End of group mnCommandsrecv - - } // End of group mnCommands - - group mfCommands { - - group mfCommandsSend { - - /** - * @desc Send template for IICrequestRX/remote message - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The destination ITS-SCU-ID - * @param p_pduCounter Even number generated from a cyclic counter at the ITS-SCU, which produces the request - * @param p_mf_rcmd The MF-COMMAND.request message - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template (value) IICrequestRX m_iicRequestRx_mfCommandRequest( - in template (value) ITS_scuId p_sourceItsScuId, - in template (value) ITS_scuId p_destinationItsScuId, - in template (value) PduCounter p_pduCounter, - in template (value) MF_Command_request p_mfCmdReq - ) := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduCounter := p_pduCounter, - requestID := 0, - pduRequest := { - reqRef := 1, - iicpReq := { MF_Command_request := p_mfCmdReq } - }, // End of 'pduRequest' field - secRq := { - secRqRef := 0, - secRq := { NullType := NULL } // No security - } - } // End of template m_iicRequestRx_mfCommandRequest - - /** - * @desc TODO - */ - template (value) IICrequestRX m_iicRequestRx_mfRequestRequest( - in template (value) ITS_scuId p_sourceItsScuId, - in template (value) ITS_scuId p_destinationItsScuId, - in template (value) PduCounter p_pduCounter, - in template (value) MF_Request_request p_mfReqReq - ) := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduCounter := p_pduCounter, - requestID := 0, - pduRequest := { - reqRef := 0, - iicpReq := { - PduRequest := { - reqRef := 2, - iicpReq := { MF_Request_request := p_mfReqReq } - } // End of 'PduRequest' field - } // End of 'iicpReq' field - }, // End of 'pduRequest' field - secRq := { - secRqRef := 0, - secRq := { NullType := NULL } // No security - } - } // End of template m_iicRequestRx_mfRequestRequest - - } // End of group mfCommandsSend - - group mfCommandsRecv { - - /** - * @desc Receive template for IICrequestTX/remote message - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The destination ITS-SCU-ID - * @param p_mf_rcmd The MF-COMMAND.request message - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template (present) IICrequestTX mdw_iicRequestTx_mfCommandRequest( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) MF_Command_request p_mfCmdReq - ) modifies mw_iicRequestTx_any := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduRequest := { - reqRef := 0, - iicpReq := { - PduRequest := { - reqRef := 1, - iicpReq := { MF_Command_request := p_mfCmdReq } - } // End of 'PduRequest' field - } // End of 'iicpReq' field - } // End of 'pduRequest' field - } // End of template mdw_iicRequestTx_mfCommandRequest - - /** - * @desc Receive template for IICresponseTX message with success status - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The destination ITS-SCU-ID - * @param p_mf_rcmd The MF-COMMAND.confirm message - * @see ISO 24102-4 Clause 8.2.2 IIC-Response PDU - */ - template IICresponseTX mdw_iicResponseTx_mfCommandRequest( // FIXME Rename into mdw_iicResponseTx_mfCommandConfirm - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) MF_Command_confirm p_mnCmdConf - ) modifies mw_iicResponseTx_any := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduResponse := { - resRef := 1, - iicpRes := { MF_Command_confirm := p_mnCmdConf } - }, // End of 'pduRequest' field - errorStatus := c_errStatus_success - } // End of template mdw_iicResponseTx_mfCommandRequest - - /** - * @desc Receive template for IICresponse/VCI-info message - * @param p_sourceItsScuId The source ITS-SCU-ID - * @param p_destinationItsScuId The destination ITS-SCU-ID - * @param p_vCI_info The VCI-info request - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template IICresponseTX mdw_iicpResponse_mfCommandConfirm( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) MF_Command_confirm p_mfCommandConfirm - ) modifies mdw_iicpResponseTx_success := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduResponse := { - resRef := 1, - iicpRes := { MF_Command_confirm := p_mfCommandConfirm } - } // End of 'pduResponse' field - } // End of template mdw_iicpResponse_mfCommandConfirm - - } // End of group mfCommandsRecv - - } // End of group mfCommands - - group mfRequest { - - group mfRequestRecv { - - /** - * @desc Send template for IICrequest/MF_Request_Request - * @param p_sourceItsScuId ITS-SCU-ID of source ITS-SCU, which produces the request - * @param p_destinationItsScuId ITS-SCU-ID of destination ITSSCU, which shall evaluate the request. - * @param p_pduCounter Even number generated from a cyclic counter at the ITS-SCU, which produces the request - * @param pduRequest Information description - * @see ISO 24102-4 Clause 7 Protocol data units - */ - template (present) IICrequestTX mdw_iicRequestTx_mfRequestRequest( - in template (present) ITS_scuId p_sourceItsScuId, - in template (present) ITS_scuId p_destinationItsScuId, - in template (present) MF_Request_request p_mfRequestRequest - ) modifies mw_iicRequestTx_any := { - sourceITS_scuId := p_sourceItsScuId, - destinationITS_scuId := p_destinationItsScuId, - pduRequest := { - reqRef := 2, - iicpReq := { - MF_Request_request := p_mfRequestRequest - } - } - } // End of template mdw_iicRequestTx_mfRequestRequest - - } // End of group mfRequestRecv - - } // End of group mfRequest - - } // End of group remoteCommands - - } // End of group iicpTemplates - - /** - * @desc Templates used to - *
  • trigger message on Upper Tester
  • - *
  • capture indication message sent by the IUT
  • - */ - group utPrimitives { - - /** - * @desc Initializes the FNTP IUT including support notification to the Management entity - * See Test System Configuration Access to SUT - */ - template (value) UtInitialize m_utIicpInitialize_with_management := { - utIicpInitialize := { - mcmdRq := { - mCmdRef := 255, - mcmd := { - TestConfigIICP := { - location := PX_LOC_ITS_IICP_ACCESS_SETTINGS_MX_SAP_SET, - lowerLayers := PX_IUT_LOWER_LAYER_USED, - testMode := PX_IUT_TEST_MODE_ON - } - } // End of field 'mcmd' - } // End of field 'mcmdRq' - } // End of field 'utIicpInitialize' - } // End of template m_utIicpInitialize_with_management - - /** - * @desc Initializes the FNTP IUT without support notification to the Management entity - * See Test System Configuration Access to SUT - */ - template (value) UtInitialize m_utIicpInitialize_without_management := { - utIicpInitialize := { - mcmdRq := { - mCmdRef := 255, - mcmd := { - TestConfigIICP := { - location := PX_LOC_ITS_IICP_ACCESS_SETTINGS_MX_SAP_UNSET, - lowerLayers := PX_IUT_LOWER_LAYER_UNUSED, - testMode := PX_IUT_TEST_MODE_ON - } - } // End of field 'mcmd' - } // End of field 'mcmdRq' - } // End of field 'utIicpInitialize' - } // End of template m_utIicpInitialize_without_management - - /** - * @desc Send template for UtIicpEvent - * @param p_mcmdRs McmdRs message - */ - template (value) UtIicpEvent m_utIicpEvent_McmdRs( - in template (value) McmdRs p_mcmdRs - ) := { - mcmdRs := p_mcmdRs - } // End of template m_utIicpEvent_McmdRs - - /** - * @desc Send template for UtIicpEvent - * @param p_mf_Command_confirm MF_Command_confirm message - */ - template (value) UtIicpEvent m_utIicpEvent_MfCommandConfirm( - in template (value) MF_Command_confirm p_mf_Command_confirm - ) := { - mf_Command_confirm := p_mf_Command_confirm - } // End of template m_utIicpEvent_MfCommandConfirm - - /** - * @desc Send template for UtIicpEvent - * @param p_mn_Command_confirm MN_Command_confirm message - */ - template (value) UtIicpEvent m_utIicpEvent_MnCommandConfirm( - in template (value) MN_Command_confirm p_mn_Command_confirm - ) := { - mn_Command_confirm := p_mn_Command_confirm - } // End of template m_utIicpEvent_MnCommandConfirm - - /** - * @desc Send template for UtIicpEvent - * @param p_mi_Command_confirm MI_Command_confirm message - */ - template (value) UtIicpEvent m_utIicpEvent_MiCommandConfirm( - in template (value) MI_Command_confirm p_mi_Command_confirm - ) := { - mi_Command_confirm := p_mi_Command_confirm - } // End of template m_utIicpEvent_MiCommandConfirm - - /** - * @desc Send template for UtIicpEvent - * @param p_mi_Get_confirm MI_Get_confirm message - */ - template (value) UtIicpEvent m_utIicpEvent_MiGetConfirm( - in template (value) MI_Get_confirm p_mi_Get_confirm - ) := { - mi_Get_confirm := p_mi_Get_confirm - } // End of template m_utIicpEvent_MiGetConfirm - - /** - * @desc Send template for UtIicpEvent - * @param p_mi_Set_confirm MI_Set_confirm message - */ - template (value) UtIicpEvent m_utIicpEvent_MiSetConfirm( - in template (value) MI_Set_confirm p_mi_Set_confirm - ) := { - mi_Set_confirm := p_mi_Set_confirm - } // End of template m_utIicpEvent_MiSetConfirm - - /** - * @desc Receive template for UtIicpEventInd - */ - template (present) UtIicpEventInd mw_utIicpEventInd_McmdRq( - in template (present) McmdRq p_mcmdRq - ) := { - mcmdRq := p_mcmdRq - } // End of template mw_utIicpEventInd_McmdRq - - /** - * @desc Receive template for UtIicpEventInd - */ - template (present) UtIicpEventInd mw_utIicpEventInd_MfCommandRequest( - in template (present) MF_Command_request p_mf_Command_request - ) := { - mf_Command_request := p_mf_Command_request - } // End of template mw_utIicpEventInd_MfCommandRequest - - /** - * @desc Receive template for UtIicpEventInd - */ - template (present) UtIicpEventInd mw_utIicpEventInd_MnCommandRequest( - in template (present) MN_Command_request p_mn_Command_request - ) := { - mn_Command_request := p_mn_Command_request - } // End of template mw_utIicpEventInd_MnCommandRequest - - /** - * @desc Receive template for UtIicpEventInd - */ - template (present) UtIicpEventInd mw_utIicpEventInd_MiCommandRequest( - in template (present) MI_Command_request p_mi_Command_request - ) := { - mi_Command_request := p_mi_Command_request - } // End of template mw_utIicpEventInd_MiCommandRequest - - /** - * @desc Receive template for UtIicpEventInd - */ - template (present) UtIicpEventInd mw_utIicpEventInd_MiGetRequest( - in template (present) MI_Get_request p_mi_Get_request - ) := { - mi_Get_request := p_mi_Get_request - } // End of template mw_utIicpEventInd_MiGetRequest - - /** - * @desc Receive template for UtIicpEventInd - */ - template (present) UtIicpEventInd mw_utIicpEventInd_MiSetRequest( - in template (present) MI_Set_request p_mi_Set_request - ) := { - mi_Set_request := p_mi_Set_request - } // End of template mw_utIicpEventInd_MiSetRequest - - group simUtInPrimitives { // TODO To be removed - - template (value) PduRequest m_iicpSimUtReq( - in template (value) SimUt p_simUtIn - ) := { - } // End of template m_iicpSimUtReqt - - /** - * @desc Send template for IIC-Request SimUtIn message - * @param p_simUtIn SimUtIn message - */ - template (value) SimUt m_simUtIn_vciInfo( - in template (value) VCI_info_req p_vciInfo - ) := { - fill := '000'B, - action_ := { - mcmdTrigger := { - mCmdRef := 1, - mcmd := { VCI_info_req := p_vciInfo } - } // End of field 'mcmdTrigger' - } // End of field 'action' - } // End of template m_simUtIn_vciInfo - - } // End of group simUtInPrimitives - - group simUtOutPrimitives { - /** - * @desc Send template for IIC-Request SimUtOut message - * @param p_simUtOut SimUtOut message - */ - template (present) PduRequest m_pduRequest_simUtOut( - in template (present) SimUt p_simUtOut - ) := { - reqRef := 241, - iicpReq := { - SimUt := p_simUtOut - } - } // End of template m_pduRequest_simUtOut - - - } // End of group simUtInPrimitives - - } // End of group utPrimitives - - } // End of group iicpPrimitives - -} // End of module LibItsIicp_Templates \ No newline at end of file diff --git a/ttcn/CALM/IICP/LibItsIicp_TypesAndValues.ttcn3 b/ttcn/CALM/IICP/LibItsIicp_TypesAndValues.ttcn3 deleted file mode 100644 index 8dcb19745b93dabf41fd8bdae14c3f2fa5b63163..0000000000000000000000000000000000000000 --- a/ttcn/CALM/IICP/LibItsIicp_TypesAndValues.ttcn3 +++ /dev/null @@ -1,99 +0,0 @@ -/** - * @author ETSI / STF422_EETS - * @version $URL$ - * $Id$ - * @desc Types and constants definitions for Inter-ITS-SCU communications (ISO 24102-4) - */ -module LibItsIicp_TypesAndValues { - - // LibCommon - - // LibIts - - // LibItsCalm - import from CALMiitsscu language "ASN.1:1997" { - type - McmdRq, McmdRs, - SimUt - }; - import from CALMmsap language "ASN.1:1997" { - type - MF_Command_request, MF_Command_confirm, MN_Command_request, MN_Command_confirm, MI_Command_request, MI_Command_confirm, - MF_Request_request, MN_Request_request, MI_Request_request, - MI_Get_request, MI_Set_request, MI_Get_confirm, MI_Set_confirm - }; - - group utPrimitives { - - /** - * @desc Trigger to initialize the IUT. - * @member McmdRq IICPrequests/McmdRq message to initialize the upper tester - * - * @see ISO 24102-4 - */ - type record UtIicpInitialize { - McmdRq mcmdRq - } with { - encode (mcmdRq) "LibItsIicp_asn1" - } - - /** - * @desc Events at the application layer of the IUT. - * @member mcmdRs McmdRs confirm - */ - type union UtIicpEvent { - McmdRs mcmdRs, - MF_Request_request mf_Request_request, - MN_Request_request mn_Request_request, - MI_Request_request mi_Request_request, - MI_Get_request mi_Get_request, - MI_Set_request mi_Set_request, - MF_Command_confirm mf_Command_confirm, - MN_Command_confirm mn_Command_confirm, - MI_Command_confirm mi_Command_confirm, - MI_Get_confirm mi_Get_confirm, - MI_Set_confirm mi_Set_confirm - } - with { - encode (mcmdRs) "LibItsIicp_asn1" - encode (mf_Request_request) "LibItsCALMmsap_asn1" - encode (mn_Request_request) "LibItsCALMmsap_asn1" - encode (mi_Request_request) "LibItsCALMmsap_asn1" - encode (mi_Get_request) "LibItsCALMmsap_asn1" - encode (mi_Set_request) "LibItsCALMmsap_asn1" - encode (mf_Command_confirm) "LibItsCALMmsap_asn1" - encode (mn_Command_confirm) "LibItsCALMmsap_asn1" - encode (mi_Command_confirm) "LibItsCALMmsap_asn1" - encode (mi_Get_confirm) "LibItsCALMmsap_asn1" - encode (mi_Set_confirm) "LibItsCALMmsap_asn1" - } - - /** - * @desc Send a IICPpdu primitive from Facility layer through a SAP. FIXME Check the comment - * @member mcmdRq McmdReq data structure - */ - type union UtIicpEventInd { - McmdRq mcmdRq, - MF_Command_request mf_Command_request, - MN_Command_request mn_Command_request, - MI_Command_request mi_Command_request, - MI_Get_request mi_Get_request, - MI_Set_request mi_Set_request - } - with { - encode (mcmdRq) "LibItsIicp_asn1" - encode (mf_Command_request) "LibItsCALMmsap_asn1" - encode (mn_Command_request) "LibItsCALMmsap_asn1" - encode (mi_Command_request) "LibItsCALMmsap_asn1" - encode (mi_Get_request) "LibItsCALMmsap_asn1" - encode (mi_Set_request) "LibItsCALMmsap_asn1" - } - - } with { - encode "UpperTester" - } // End of group utPrimitives - -} -with { - encode "LibItsIicp" -} // End of module LibItsIicp_TypesAndValues diff --git a/ttcn/CALM/LibItsCalm_Interface.ttcn b/ttcn/CALM/LibItsCalm_Interface.ttcn deleted file mode 100644 index dba41a953576a3b062376bd2b51b564bf4026cea..0000000000000000000000000000000000000000 --- a/ttcn/CALM/LibItsCalm_Interface.ttcn +++ /dev/null @@ -1,446 +0,0 @@ -/** - * @author ETSI / STF405 - * @version $URL$ - * $Id$ - * @desc Module containing PTCs and interface ports definitions for ITS - * - */ -module LibItsCalm_Interface { - - // LibCommon - import from LibCommon_Sync { - function f_selfOrClientSyncAndVerdict - }; - - // LibIts - IP Protocols - - // LibItsCalm - import from CALMiitsscu language "ASN.1:1997" { - type - IIC_Request, IIC_Response, - PduCounter - }; - import from CALMllsap language "ASN.1:1997" { - type - INsapPrimitivesUp, INsapPrimitivesDown, - Time48IAT - }; - import from CALMmsap language "ASN.1:1997" { - type - CommandRef - }; - import from CALMfntp language "ASN.1:1997" all; // FIXME Remove 'all' - import from LibItsFntp_TypesAndValues { - type - UtFntpInitialize, UtFntpEvent, UtFntpEventInd, - CfFntpInitialize, CfFntpEventInd - }; - import from LibItsFsap_TypesAndValues { - type - UtFsapInitialize, UtFsapEvent, UtFsapEventInd, - CfFsapInitialize, CfFsapEventInd - , AcFsapPrimitive - }; - import from LibItsIicp_TypesAndValues { - type - UtIicpInitialize, UtIicpEventInd, UtIicpEvent - }; - import from LibItsAtsp_TypesAndValues { - type - UtAtspInitialize, UtAtspEventInd, UtAtspEvent, - CfAtspInitialize, CfAtspEventInd, CfAtspEvent - }; - - // LibIts - import from LibItsCommon_TestSystem { - type ItsBaseComponent - }; - - group adapterInterface { - - group portDefinitions { - - /** - * @desc Adapter control port - */ - type port AdapterControlPort message { - out - AcFsapPrimitive; // Non IP Protocols - } // End AdapterControlPort - - /** - * @desc Upper Tester port - */ - type port UpperTesterPort message { - out - UtInitialize, UtFntpEvent, UtFsapEvent, UtIicpEvent, UtAtspEvent; - in - UtResult, UtFntpEventInd, UtFsapEventInd, UtIicpEventInd, UtAtspEventInd - } // End of UpperTesterPort - - /** - * @desc Configuration IUT port (Management SAP: Mx-SAP) - */ - type port ConfigTesterPort message { - out - CfInitialize, CfAtspEvent; - in - CfResult, CfFntpEventInd, CfFsapEventInd/*, CfIicpEventInd*/, CfAtspEventInd - } // End of ConfigTesterPort - - } // End portDefinitions - - } // adapterInterface - - group interfaceComponents { - - /** - * @desc Test component for ITS Management layer - * @member utPort Upper tester port - * @member acPort TA configuration port - * @member iicpPort IICP protocol port - */ - type component ItsMgt extends ItsBaseComponent { - - port UpperTesterPort utPort; - port AdapterControlPort acPort; - port ConfigTesterPort cfPort; - - // MGT1 ports - Used to send remote command to/from - port IicpPort iicpPort; // ITS station-internal management communications protocol - - // Timers - - // Variables - var CommandRef vc_commandRef := 0; // Cyclic counter identifying a NF-FNTP-COM.request - var PduCounter vc_pduCounter := 0; // Cyclic counter identifying a IICP PDU counter - var integer vc_noFntpFwtEntry := 0; - - } // End of component ItsMgt - - /** - * @desc Test component for ITS Network and Transport layer - * @member fntpPort Fast Network & Transport layer Protocol port - * @member fsapPort Fast Service Advertisement Protocol port - * @member atspPort Access Technology Support Protocol port - */ - type component ItsCalm extends ItsMgt { - // MGT2 ports - Used to send command to/from through SAP interfaces - port FsapPort fsapPort; // Fast Service Advertisement Protocol - // NT3 ports - port FntpPort fntpPort; - // AccessLayer ports - port AtspPort atspPort; - - // timers - - // Variables for Fntp - var charstring vc_componentName := ""; - var PortNumber vc_portNumber := { portLong := 0 }; - var integer vc_reference := 65535; // See noFNTPfwtEntries FIXME Create a constant - var UtEventInd vc_utEventInd; - - } // End of component ItsCalm - - } // End of group interfaceComponents - - group interfacePorts { - - group managementPorts { - - group mgt1Ports { - - /** - * @desc MGT1 IICP Port (IICP/LAN) - */ - type port IicpPort message { - inout - IicpReq, - IicpInd; - } // End of port IicpPort - - } // End of group mgt1Ports - - group mgt2Ports { - - /** - * @desc MGT2 Fsap Port - */ - type port FsapPort message { - in - FsapInd; - out - FsapReq; - } // End of port FsapPort - - } // End of group mgt2Ports - - } // End of group managementPorts - - group networkAndTransportPorts { - - group nt3Ports { - - /** - * @desc NT3 Fntp Port - */ - type port FntpPort message { - in - FntpInd; - out - FntpReq - } // End of port FntpPort - - } // End of group nt3Ports - - } // End of group networkAndTransportPorts - - group accessLayerPorts { - - /** - * @desc AccessLayer Port (Radio, IR...) - */ - type port AtspPort message { - in - AtspInd; - out - AtspReq; - } // End of port AtsPort - - } // End of group accessLayerPorts - - } // End of group interfacePorts - - group interfacePrimitives { - - group managementPrimitives { - - group mgt1Primitives { - - /** - * @desc MGT1 IICP Request Primitive - */ - type record IicpReq { - IicpMsg msgOut - } - with { - encode "LibIts_Interface" - } - - /** - * @desc TODO - */ - type union IicpMsg { - IIC_Request msg_req, - IIC_Response msg_resp - } with { - encode (msg_req) "LibItsIicp_asn1"; - encode (msg_resp) "LibItsIicp_asn1"; - encode "LibIts_Interface" - } - - /** - * @desc MGT1 IICP Request/Indication Primitive - */ - type record IicpInd { - IicpMsg msgIn, - Time48IAT receptionTime - } - with { - encode (receptionTime) "LibItsCALMllsap_asn1"; - encode "LibIts_Interface" - } - - } // End of group mgt1Primitives - - /** - * @desc MGT2 Management Service Primitives - * @see ISO/CD 24102-3 - */ - group mgt2Primitives { - - /** - * @desc TODO - */ - type union FsapReq { - NFsapPrimitivesUp msgOut_nf, - INsapPrimitivesUp msgOut_in - } with { - encode (msgOut_nf) "LibItsCALMfntp_asn1"; - encode (msgOut_in) "LibItsCALMllsap_asn1"; - encode "LibIts_Interface" - } - - /** - * @desc TODO - */ - type union FsapMsg { - NFsapPrimitivesDown msgIn_nf, - INsapPrimitivesDown msgIn_in - } with { - encode (msgIn_nf) "LibItsCALMfntp_asn1"; - encode (msgIn_in) "LibItsCALMllsap_asn1"; - encode "LibIts_Interface" - } - type record FsapInd { - FsapMsg msgIn, - Time48IAT receptionTime - } with { - encode (receptionTime) "LibItsCALMllsap_asn1"; - encode "LibIts_Interface" - } - - } // End of group mgt2Primitives - - } // End of group managementPrimitives - - group networkAndTransportPrimitives { - - group nt3Primitives { - - /** - * @desc FNTP output protocol port primitive - * @member msgOut Message to send to the protocol port (INsapPrimitivesUp) - */ - type union FntpReq { - INsapPrimitivesUp msgOut - } with { - encode (msgOut) "LibItsCALMllsap_asn1"; - encode "LibIts_Interface" - } - - /** - * @desc FNTP input protocol port primitive (INsapPrimitivesDown) - * @member msgIn Message monitored on the protocol port (INsapPrimitivesUp) - * @member receptionTime Timestamp when then message is received by the test adapter (different than the generation generation timestamp) - */ - type record FntpInd { - INsapPrimitivesDown msgIn, - Time48IAT receptionTime - } with { - encode (msgIn) "LibItsCALMllsap_asn1"; - encode (receptionTime) "LibItsCALMllsap_asn1"; - encode "LibIts_Interface" - } - - } // End of group nt3Primitives - - } // End of group networkAndTransportPrimitives - - group accessLayerPrimitives { - - /** - * @desc ATSP (output from ITS test system) port primitive - * @member msgOut Message to send to the protocol port (INsapPrimitivesDown) - * used to communicate with the radio box connected to the ITS test system - */ - type record AtspReq { - INsapPrimitivesDown msgOut - } with { - encode (msgOut) "LibItsCALMllsap_asn1" - encode "LibIts_Interface" - } - - /** - * @desc ATSP (input to ITS test system) port primitive (INsapPrimitivesUp) - * @member msgIn Message monitored on the protocol port (INsapPrimitivesUp) - */ - type record AtspInd { - INsapPrimitivesUp msgIn, - Time48IAT receptionTime - } with { - encode (msgIn) "LibItsCALMllsap_asn1" - encode (receptionTime) "LibItsCALMllsap_asn1"; - encode "LibIts_Interface" - } - - } // End of group accessLayerPrimitives - - } with { - encode "LibIts_Interface" - } // End of group interfacePrimitives - - group upperTester { - - /** - * @desc Upper Tester message to initialize IUT - */ - type union UtInitialize { - UtFntpInitialize utFntpInitialize, - UtFsapInitialize utFsapInitialize, - UtIicpInitialize utIicpInitialize, - UtAtspInitialize utAtspInitialize - } - - /** - * @desc Upper Tester message to trigger an action on IUT - */ - type record UtTrigger { - UtEvent utEvent - } - - /** - * @desc Upper Tester message to check event/status on IUT - */ - type record UtCheck { - UtEvent utEvent - } - - /** - * @desc Upper Tester message describing an action/event - */ - type union UtEvent { // TODO To be moved into each library (cf. CAM/DENM) - UtFntpEvent utFntpEvent, - UtFsapEvent utFsapEvent, - UtAtspEvent utAtspEvent - } - - /** - * @desc Upper Tester message describing an incoming event - */ - type union UtEventInd { // TODO To be moved into each library (cf. CAM/DENM) - UtFntpEventInd utFntpEventInd, - UtFsapEventInd utFsapEventInd, - UtAtspEventInd utAtspEventInd - } - - /** - * @desc Upper Tester response message - */ - type boolean UtResult; - - } with { - encode "UpperTester" - } // End of group upperTester - - group configIUT { - - /** - * @desc Message to initialize Configuration Tester - */ - type union CfInitialize { - CfFntpInitialize cfFntpInitialize, - CfFsapInitialize cfFsapInitialize, - CfAtspInitialize cfAtspInitialize - } - - type union CfEventInd { - CfFntpEventInd cfFntpEventInd, - CfFsapEventInd cfFsapEventInd, - CfAtspEventInd cfAtspEventInd - } - - type union CfEvent { - CfAtspEvent cfAtspEvent - } - - /** - * @desc Config Tester response message - */ - type boolean CfResult; - - } with { - encode "ConfigTester" - } // End of group configIUT - -} // End of module LibItsCalm_Interface diff --git a/ttcn/CALM/LibItsCalm_Pixits.ttcn3 b/ttcn/CALM/LibItsCalm_Pixits.ttcn3 deleted file mode 100644 index 1a2153935c37aa7ce3bee6dc918e4c79bc4ab23d..0000000000000000000000000000000000000000 --- a/ttcn/CALM/LibItsCalm_Pixits.ttcn3 +++ /dev/null @@ -1,192 +0,0 @@ -module LibItsCalm_Pixits { - - // LibCommon - import from LibCommon_DataStrings { - type Bit1, Bit6 - }; - - /** - * @desc Location of the IUT, which defines the interface(s) of the IUT for upper (/ lower) tester access. - * Used for ATSP ATS - *
  • ITS-S access layer: Upper tester access is via IN-SAP
  • - *
  • ITS-S networking & transport layer: Upper / lower tester access is via NF-SAP
  • - *
  • ITS-S facilities layer: Upper / lower tester access is via FA-SAP
  • - *
  • ITS-S management entity: Upper / lower tester access is via MX-SAPs
  • - *
  • ITS-S security entity (not supported in the present document)
  • - *
  • ITS-S application entity (not supported in the present document)
  • - */ - modulepar Bit6 PX_LOC_ITS_ATSP_ACCESS_SETTINGS_MX_SAP_SET := - PX_IUT_AL_xT_AT_IN_SAP_SET & - PX_IUT_FNTP_xT_AT_NF_SAP_UNSET & - PX_IUT_FAC_xT_AT_FA_SAP_UNSET & - PX_IUT_MGT_xT_AT_Mx_SAP_SET & - '00'B; - - /** - * @desc Location of the IUT, which defines the interface(s) of the IUT for upper (/ lower) tester access. - * Used for FNTP ATS - *
  • ITS-S access layer: Upper tester access is via IN-SAP
  • - *
  • ITS-S networking & transport layer: Upper / lower tester access is via NF-SAP
  • - *
  • ITS-S facilities layer: Upper / lower tester access is via FA-SAP
  • - *
  • ITS-S management entity: Upper / lower tester access is via MX-SAPs not supported
  • - *
  • ITS-S security entity (not supported in the present document)
  • - *
  • ITS-S application entity (not supported in the present document)
  • - */ - modulepar Bit6 PX_LOC_ITS_ATSP_ACCESS_SETTINGS_MX_SAP_UNSET := - PX_IUT_AL_xT_AT_IN_SAP_SET & - PX_IUT_FNTP_xT_AT_NF_SAP_UNSET & - PX_IUT_FAC_xT_AT_FA_SAP_UNSET & - PX_IUT_MGT_xT_AT_Mx_SAP_UNSET & - '00'B; - - /** - * @desc Location of the IUT, which defines the interface(s) of the IUT for upper (/ lower) tester access. - * Used for FNTP ATS - *
  • ITS-S access layer: Upper tester access is via IN-SAP
  • - *
  • ITS-S networking & transport layer: Upper / lower tester access is via NF-SAP
  • - *
  • ITS-S facilities layer: Upper / lower tester access is via FA-SAP
  • - *
  • ITS-S management entity: Upper / lower tester access is via MX-SAPs
  • - *
  • ITS-S security entity (not supported in the present document)
  • - *
  • ITS-S application entity (not supported in the present document)
  • - */ - modulepar Bit6 PX_LOC_ITS_FNTP_ACCESS_SETTINGS_MX_SAP_SET := - PX_IUT_AL_xT_AT_IN_SAP_UNSET & - PX_IUT_FNTP_xT_AT_NF_SAP_SET & - PX_IUT_FAC_xT_AT_FA_SAP_UNSET & - PX_IUT_MGT_xT_AT_Mx_SAP_SET & - '00'B; - - /** - * @desc Location of the IUT, which defines the interface(s) of the IUT for upper (/ lower) tester access. - * Used for FNTP ATS - *
  • ITS-S access layer: Upper tester access is via IN-SAP
  • - *
  • ITS-S networking & transport layer: Upper / lower tester access is via NF-SAP
  • - *
  • ITS-S facilities layer: Upper / lower tester access is via FA-SAP
  • - *
  • ITS-S management entity: Upper / lower tester access is via MX-SAPs not supported
  • - *
  • ITS-S security entity (not supported in the present document)
  • - *
  • ITS-S application entity (not supported in the present document)
  • - */ - modulepar Bit6 PX_LOC_ITS_FNTP_ACCESS_SETTINGS_MX_SAP_UNSET := - PX_IUT_AL_xT_AT_IN_SAP_UNSET & - PX_IUT_FNTP_xT_AT_NF_SAP_SET & - PX_IUT_FAC_xT_AT_FA_SAP_UNSET & - PX_IUT_MGT_xT_AT_Mx_SAP_UNSET & - '00'B; - - /** - * @desc Location of the IUT, which defines the interface(s) of the IUT for upper (/ lower) tester access. - * Used for FSAP ATS - *
  • ITS-S access layer: Upper tester access is via IN-SAP
  • - *
  • ITS-S networking & transport layer: Upper / lower tester access is via NF-SAP
  • - *
  • ITS-S facilities layer: Upper / lower tester access is via FA-SAP
  • - *
  • ITS-S management entity: Upper / lower tester access is via MX-SAPs
  • - *
  • ITS-S security entity (not supported in the present document)
  • - *
  • ITS-S application entity (not supported in the present document)
  • - */ - modulepar Bit6 PX_LOC_ITS_FSAP_ACCESS_SETTINGS_MX_SAP_SET := - PX_IUT_AL_xT_AT_IN_SAP_UNSET & - PX_IUT_FNTP_xT_AT_NF_SAP_SET & - PX_IUT_FAC_xT_AT_FA_SAP_SET & - PX_IUT_MGT_xT_AT_Mx_SAP_SET & - '00'B; - /** - * @desc Location of the IUT, which defines the interface(s) of the IUT for upper (/ lower) tester access. - * Used for FSAP ATS - *
  • ITS-S access layer: Upper tester access is via IN-SAP
  • - *
  • ITS-S networking & transport layer: Upper / lower tester access is via NF-SAP
  • - *
  • ITS-S facilities layer: Upper / lower tester access is via FA-SAP
  • - *
  • ITS-S management entity: Upper / lower tester access is via MX-SAPs not supported
  • - *
  • ITS-S security entity (not supported in the present document)
  • - *
  • ITS-S application entity (not supported in the present document)
  • - */ - modulepar Bit6 PX_LOC_ITS_FSAP_ACCESS_SETTINGS_MX_SAP_UNSET := - PX_IUT_AL_xT_AT_IN_SAP_UNSET & - PX_IUT_FNTP_xT_AT_NF_SAP_SET & - PX_IUT_FAC_xT_AT_FA_SAP_SET & - PX_IUT_MGT_xT_AT_Mx_SAP_UNSET & - '00'B; - - /** - * @desc Location of the IUT, which defines the interface(s) of the IUT for upper (/ lower) tester access. - * Used for IICP ATS - *
  • ITS-S access layer: Upper tester access is via IN-SAP
  • - *
  • ITS-S networking & transport layer: Upper / lower tester access is via NF-SAP
  • - *
  • ITS-S facilities layer: Upper / lower tester access is via FA-SAP
  • - *
  • ITS-S management entity: Upper / lower tester access is via MX-SAPs not supported
  • - *
  • ITS-S security entity (not supported in the present document)
  • - *
  • ITS-S application entity (not supported in the present document)
  • - */ - modulepar Bit6 PX_LOC_ITS_IICP_ACCESS_SETTINGS_MX_SAP_SET := - PX_IUT_AL_xT_AT_IN_SAP_UNSET & - PX_IUT_FNTP_xT_AT_NF_SAP_SET & - PX_IUT_FAC_xT_AT_FA_SAP_SET & - PX_IUT_MGT_xT_AT_Mx_SAP_SET & - '00'B; - - /** - * @desc Location of the IUT, which defines the interface(s) of the IUT for upper (/ lower) tester access. - * Used for IICP ATS - *
  • ITS-S access layer: Upper tester access is via IN-SAP
  • - *
  • ITS-S networking & transport layer: Upper / lower tester access is via NF-SAP
  • - *
  • ITS-S facilities layer: Upper / lower tester access is via FA-SAP
  • - *
  • ITS-S management entity: Upper / lower tester access is via MX-SAPs not supported
  • - *
  • ITS-S security entity (not supported in the present document)
  • - *
  • ITS-S application entity (not supported in the present document)
  • - */ - modulepar Bit6 PX_LOC_ITS_IICP_ACCESS_SETTINGS_MX_SAP_UNSET := - PX_IUT_AL_xT_AT_IN_SAP_UNSET & - PX_IUT_FNTP_xT_AT_NF_SAP_UNSET & - PX_IUT_FAC_xT_AT_FA_SAP_UNSET & - PX_IUT_MGT_xT_AT_Mx_SAP_UNSET & - '00'B; - - /** - * @desc Indicates that IN-SAP interface is not used - */ - modulepar Bit1 PX_IUT_AL_xT_AT_IN_SAP_UNSET := '0'B; - /** - * @desc Indicates that IN-SAP interface is used - */ - modulepar Bit1 PX_IUT_AL_xT_AT_IN_SAP_SET := '1'B; - - /** - * @desc Indicates that NF-SAP interface is not used - */ - modulepar Bit1 PX_IUT_FNTP_xT_AT_NF_SAP_UNSET := '0'B; - /** - * @desc Indicates that NF-SAP interface is used - */ - modulepar Bit1 PX_IUT_FNTP_xT_AT_NF_SAP_SET := '1'B; - - /** - * @desc Indicates that FA-SAP interface is not used - */ - modulepar Bit1 PX_IUT_FAC_xT_AT_FA_SAP_UNSET := '0'B; - /** - * @desc Indicates that FA-SAP interface is not used - */ - modulepar Bit1 PX_IUT_FAC_xT_AT_FA_SAP_SET := '1'B; - - /** - * @desc Indicates that management SAP (Mx-SAP) interfaces are not used - */ - modulepar Bit1 PX_IUT_MGT_xT_AT_Mx_SAP_UNSET := '0'B; - /** - * @desc Indicates that management SAP (Mx-SAP) interfaces are used - */ - modulepar Bit1 PX_IUT_MGT_xT_AT_Mx_SAP_SET := '1'B; - - /** - * @desc Lower layers - * This means that Teat Adapter should set fnt port setting to Fntp/ETH - */ - modulepar Bit1 PX_IUT_LOWER_LAYER_USED := '1'B; - modulepar Bit1 PX_IUT_LOWER_LAYER_UNUSED := '0'B; - - /** - * @desc Test mode - */ - modulepar Bit1 PX_IUT_TEST_MODE_OFF := '0'B; - modulepar Bit1 PX_IUT_TEST_MODE_ON := '1'B; - -} // End of module module LibItsCalm_Pixits diff --git a/ttcn/CALM/LibItsCalm_TestSystem.ttcn b/ttcn/CALM/LibItsCalm_TestSystem.ttcn deleted file mode 100644 index 4f021d845cf6f387232fb666afe17397473fcc61..0000000000000000000000000000000000000000 --- a/ttcn/CALM/LibItsCalm_TestSystem.ttcn +++ /dev/null @@ -1,36 +0,0 @@ -/** - * @author ETSI / STF405 - * @version $URL$ - * $Id$ - * @desc Test System module for ITS - * - */ -module LibItsCalm_TestSystem { - - // LibIts - import from LibItsCalm_Interface all; - - group componentDefinitions { - - /** - * @desc ITS System Adapter - */ - type component ItsCalmSystem { - - port UpperTesterPort utPort; - port AdapterControlPort acPort; - port ConfigTesterPort cfPort; - - // MGT1 ports - port IicpPort iicpPort; // ITS station-internal management communications protocol - // MGT2 ports - port FsapPort fsapPort; // Fast Service Advertisement Protocol - // NT3 ports - port FntpPort fntpPort; // Fast Network & Transport layer Protocol - // - port AtspPort atspPort; // Access Layer port - } // End of component ItsCalmSystem - - } // End of group componentDefinitions - -} // End of module LibItsCalm_TestSystem \ No newline at end of file diff --git a/ttcn/CALM/MGT/LibItsMgt_Functions.ttcn3 b/ttcn/CALM/MGT/LibItsMgt_Functions.ttcn3 deleted file mode 100644 index 963868a5ff6630255835faffe8c4975b54d7646a..0000000000000000000000000000000000000000 --- a/ttcn/CALM/MGT/LibItsMgt_Functions.ttcn3 +++ /dev/null @@ -1,146 +0,0 @@ -/** - * @author ETSI / STF422_EETS - * @version $URL$ - * $Id$ - * @desc ITS station management (ISO 24102-3) functions - */ -module LibItsMgt_Functions { - - // LibCommon - import from LibCommon_BasicTypesAndValues { - const - c_uInt8Max; - }; - import from LibCommon_Sync { - function - f_selfOrClientSyncAndVerdict, f_selfOrClientSyncAndVerdictPreamble - }; - import from LibCommon_VerdictControl all; - - // LibIts - import from CALMiitsscu language "ASN.1:1997" { - type - PduCounter - }; - import from CALMllsap language "ASN.1:1997" { - type - MedType, CIaClass, CIclass - }; - import from CALMmanagement language "ASN.1:1997" { - type - ITS_scuId - }; - import from CALMmsap language "ASN.1:1997" { - type - CommandRef, - MN_Request_request, FWTupdate, - MF_Request_request - }; -// import from CALMfsap language "ASN.1:1997" { -// type -// GCregServer, GCregClient, GCderegClient, GCctxTxCmd, CTXrxNot -// }; - import from LibItsMgt_Templates all; - import from LibItsMgt_Pixits all; - import from LibItsCalm_Interface { - type - ItsMgt/*, - MgtMnSapCommandReq FXME To be removed */ - }; - - group preambule { - - } // End of group preambule - - group testerFunctions { - - /** - * @desc Increments the pdu counter and returns the new even value - * @return The new pdu counter value - * - * @see ISO/WD 24102-4 - Clause 6.2.1 - */ - function f_getNextPduCounter() runs on ItsMgt return PduCounter { - vc_pduCounter := (vc_pduCounter + 2) mod (c_uInt8Max - 1); // ISO/WD 24102-4 - Clause 6.2.1: modulus 254 - return vc_pduCounter; - } // End of function f_getNextPduCounter - - /** - * @desc Increments the commandRef value and returns it - * @return The new commandRef value - */ - function f_getNextCommandRef() runs on ItsMgt return CommandRef { - vc_commandRef := (vc_commandRef + 1) mod (c_uInt8Max + 1); - return vc_commandRef; - } // End of function f_getNextCommandRef - - } // End of group testerFunctions - - group iutFunctions { - - /** - * @desc Get the ITS-SCU-ID of the source ITS-SCU which produces the request - * @return The ITS-SCU-ID of the source ITS-SCU which produces the request - * @see PX_SRC_ITS_SCU_ID - */ - function f_getIutSourceItsScuId() return ITS_scuId { - return PX_SRC_ITS_SCU_ID; - } - - /** - * @desc Get the ITS-SCU-ID of the source ITS-SCU which produces AliveMessages - * @return The ITS-SCU-ID of the source ITS-SCU which produces AliveMessages - * @see PX_SRC_ITS_SCU_ID_ALIVE - */ - function f_getIutSourceItsScuIdAlive() return ITS_scuId { - return PX_SRC_ITS_SCU_ID_ALIVE; - } - - /** - * @desc Get the Host ITS-SCU-ID - * @return The Host ITS-SCU-ID - * @see PX_DST_ITS_SCU_ID - */ - function f_getIutDestItsScuId() return ITS_scuId { - return PX_DST_ITS_SCU_ID; - } - - /** - * @desc Get an other ITS-SCU-ID - * @return The other ITS-SCU-ID - * @see PX_OTHER_ITS_SCU_ID - */ - function f_getIutOtherItsScuId() return ITS_scuId { - return PX_OTHER_ITS_SCU_ID; - } - - /** - * @desc Get the type of access technology (medium) - * @return The type of access technology (medium) - * @see PX_MED_TYPE - */ - function f_getIutMedType() return MedType { - return PX_MED_TYPE; - } - - /** - * @desc Get the CI access class - * @return The CI access class - * @see PX_CIACLASS - */ - function f_getIutCiAccessClass() return CIaClass { - return PX_CIACLASS; - } - - /** - * @desc Get the CI class - * @return The CI class - * @see PX_CICLASS - */ - function f_getIutCiClass() return CIclass { - return PX_CICLASS; - } - - } // End of group iutFunctions - -} // End of module LibItsMgt_Functions \ No newline at end of file diff --git a/ttcn/CALM/MGT/LibItsMgt_Pixits.ttcn3 b/ttcn/CALM/MGT/LibItsMgt_Pixits.ttcn3 deleted file mode 100644 index 791a892ebfd69c50fd751784cf467733a00502eb..0000000000000000000000000000000000000000 --- a/ttcn/CALM/MGT/LibItsMgt_Pixits.ttcn3 +++ /dev/null @@ -1,81 +0,0 @@ -/** - * @author ETSI / STF422_EETS - * @version $URL$ - * $Id$ - * @desc ITS station management (ISO 24102-3) Pixits - */ -module LibItsMgt_Pixits { - - // LibCommon - import from LibCommon_DataStrings { - type Bit4 - }; - - // LibIts - import from CALMiitsscu language "ASN.1:1997" { - type ITS_SCUtype - }; - import from CALMllsap language "ASN.1:1997" { - type - MedType, CIaClass, CIclass - }; - import from CALMfntp language "ASN.1:1997" { - type PortNumber - }; - import from CALMmanagement language "ASN.1:1997" { - type ITS_scuId - }; - import from LibItsMgt_TypesAndValues { - group asn1Constants - }; - - /** - * @desc ITS-SCU-ID of the source ITS-SCU which produces the request - */ - modulepar ITS_scuId PX_SRC_ITS_SCU_ID := 10; - - /** - * @desc ITS-SCU-ID of the source ITS-SCU which produces AliveMessages - */ - modulepar ITS_scuId PX_SRC_ITS_SCU_ID_ALIVE := 12; - - /** - * @desc ITS_SCUtype of the source ITS-SCU which produces the request - */ - modulepar ITS_SCUtype PX_SRC_ITS_SCU_TYPE := 2; // router - - /** - * @desc ITS-SCU-ID of the destination ITS-SCU which shall evaluate the request - */ - modulepar ITS_scuId PX_DST_ITS_SCU_ID := 12; - - /** - * @desc ITS-SCU-ID of an other ITS-SCU which shall evaluate the request - */ - modulepar ITS_scuId PX_OTHER_ITS_SCU_ID := 0; - - /** - * @desc Defines the value to set to fill field for PduRequest field - * @see ISO/WD 24102-4 - Clause 7 - */ - modulepar Bit4 PX_PDU_REQUEST_FILL_FIELD_VALUE := '0000'B; - - /** - * @desc Indicates type of access technology (medium) - * @see ISO 21218 - */ - modulepar MedType PX_MED_TYPE := c_medType_unknown; - - /** - * @desc Indicates the CI access class - * @see ISO 21218 - */ - modulepar CIaClass PX_CIACLASS := c_cIaClass_unknown; - - /** - * @desc Indicates the CI class - * @see ISO 21218 - */ - modulepar CIclass PX_CICLASS := c_cIClass_unknown; - -} // End of module LibItsMgt_Pixits diff --git a/ttcn/CALM/MGT/LibItsMgt_Templates.ttcn3 b/ttcn/CALM/MGT/LibItsMgt_Templates.ttcn3 deleted file mode 100644 index ecc94263b8dce1e5b7bba7fcbeca130e6fdcdbbb..0000000000000000000000000000000000000000 --- a/ttcn/CALM/MGT/LibItsMgt_Templates.ttcn3 +++ /dev/null @@ -1,749 +0,0 @@ -/** - * @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, - SetFNTP, UpdateFNTP, SetNotFNTP, DeleteFNTP - }; - import from CALMfsap language "ASN.1:1997" { - type - GCregServer, - GCregClient, - SAMrxNot, - CTXrxNot, - GCsamctxConf - }; - import from LibItsMgt_TypesAndValues { - group constants; - type IParamNoList, IParamList - }; - import from LibItsMgt_Pixits { - modulepar PX_PDU_REQUEST_FILL_FIELD_VALUE - }; - - group mgtSapTemplates { - - /** - * @desc MF-SAP service primitives templates - * @see ISO 24102-3 Clause 8 - */ - group mgtMfSapTemplates { - - /** - * @desc Templates for MF-SAP - * @see ISO 24102-3 Clause 8.2 - */ - group mfCommand { - - group mfCommandSend { - - /** - * @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_stateCInotify( - in template (value) CommandRef p_commandRef, - in template (value) StateCInotify p_stateCInotify - ) := { - commandRef := p_commandRef, - ref := 7, - command_param := { StateCInotify := p_stateCInotify } - } // End of template m_mfCommandRequest_stateCInotify - - /** - * @desc Send template for PduRequest/MF-COMMAND.confirm - * @param p_mfCommandReq MF-COMMAND.confirm description - * @see ISO 24102-4 Clause 8.2.1 IIC-Request PDU - */ - template (value) MF_Command_confirm m_mfCommand_confirm_stateCInotify( - in template (value) CommandRef p_commandRef - ) := { - commandRef := p_commandRef, - ref := 7, - cmdConfirm_param := { NullType := NULL }, - errStatus:= 0 - } // End of template m_mfCommand_confirm_stateCInotify - - } // End of group mfCommandSend - - group mfCommandRecv { - - /** - * @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 := ?, - ref := ?, - command_param := ? - } // 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 := ?, - ref := ?, - cmdConfirm_param := ?, - 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 := { - ref := 2/*, - cmdConfirm_param := { GCsamctxConf := ? }*/ - } // End of template mdw_mfCommandConfirm_gCsamctxConf - - } // End of group mfCommandRecv - - } // End of group mfCommand - - 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_ldmRegister( - in template (value) CommandRef p_commandRef, - in template (value) LDMregister p_ldmRegister - ) := { - commandRef := p_commandRef, - ref := 9, - request_param := { LDMregister := p_ldmRegister } - } // End of template m_mfRequestRequest - - } // End of group mfRequestRequestSend - - group mfRequestRequestRecv { - - /** - * @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_ctx 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_ctx( - in template (present) CTXrxNot p_ctx - ) := { - commandRef := ?, - ref := 11, - request_param := { CTXrxNot := p_ctx } - } // End of template mw_mfRequestRequest_ctx - - /** - * @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_gCregClient 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_gCregClient( - in template (present) CommandRef p_commandRef, - in template (present) GCregClient p_gCregClient - ) := { - commandRef := p_commandRef, - ref := 6, - request_param := { GCregClient := p_gCregClient } - } // End of template mw_mfRequestRequest_gCregClient - - /** - * @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_ldmregister 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_ldmRegister( - in template (present) CommandRef p_commandRef, - in template (present) LDMregister p_ldmregister - ) := { - commandRef := p_commandRef, - ref := 9, - request_param := { LDMregister := p_ldmregister } - } // End of template mw_mfRequestRequest_ldmRegister - - } // 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 mnCommandRequest { - - group mfCommandRequestSend { - - /** - * @desc Receive template for MN-COMMAND.request service primitive - * @param p_commandRef TODO - * @param p_deleteFntp TODO - * @see ISO 24102-3 Clause 7.3.3 - */ - template (value) MN_Command_request m_mnCommandRequest_deleteFntp( - in template (value) CommandRef p_commandRef, - in template (value) DeleteFNTP p_deleteFntp - ) := { - commandRef := p_commandRef, - ref := 4, - command_param := { - FWTdelete := { - fwtNo := 0, - fwt := { - DeleteFNTP := p_deleteFntp - } // End of field 'fwt' - } // End of field 'FWTdelete' - } // End of field 'request_param' - } // End of template m_mnCommandRequest_deleteFntp - - } // group mnCommandRequestSend - - group mnCommandRequestRecv { - - /** - * @desc Receive template for MN-COMMAND.request service primitive - * @param p_commandRef TODO - * @param p_deleteFntp TODO - * @see ISO 24102-3 Clause 7.3.3 - */ - template (present) MN_Command_confirm mw_mnCommandConfirm_deleteFntpConf( - in template (present) CommandRef p_commandRef, - in template (present) DeleteFNTP p_deleteFntp - ) := { - commandRef := p_commandRef, - ref := 4, - cmdConfirm_param := { - FWTdelete := { - fwtNo := 0, - fwt := { - DeleteFNTP := p_deleteFntp - } // End of field 'fwt' - } // End of field 'FWTdelete' - }, // End of field 'request_param' - errStatus := 0 - } // End of template mw_mnCommandRequest_deleteFntp - - /** - * @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 := ?, - ref := ?, - cmdConfirm_param := ?, - 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 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_setNotFNTP( - in template (value) CommandRef p_commandRef, - in template (value) SetNotFNTP p_setNotFntp - ) := { - commandRef := p_commandRef, - ref := 2, - request_param := { - FWTsetNot := { - fwtNo := 0, - fwt := { - SetNotFNTP := p_setNotFntp - } // End of 'fwt' field - } // End of 'FWTsetNot' field - } // End of 'request_param' field - } // End of template m_mnRequestRequest_setNotFNTP - - } // 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 := ?, - ref := ?, - 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 := ?, - ref := ?, - reqConfirm_param := ?, - 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 - ) modifies mw_mnRequestConfirm_any := { - 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_setNotFNTP( - in template (present) CommandRef p_commandRef, - in template (present) SetNotFNTP p_setNotFNTP - ) := { - commandRef := p_commandRef, - ref := 2, - request_param := { - FWTsetNot := { - fwtNo := 0, - fwt := { - SetNotFNTP := p_setNotFNTP - } // End of field 'fwt' - } // End of field 'FWTsetNot' - } // End of field 'request_param' - } // End of template mw_mnRequestRequest_setNotFNTP - - } // 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_any - modifies mw_mnRequestRequest_any := { - ref := 2, - request_param := { - FWTsetNot := { - fwtNo := 0, - fwt := { - SetNotFNTP := mw_fwtSetNot_any - } // End of field 'fwt' - } // End of field 'FWTsetNot' - } // End of field 'request_param' - } // End of template mdw_fWTSetNotRequestReq_any - - /** - * @desc Receive "FWTsetNot message" to notify the creation of an entry in a forwarding table - * @param p_portNumber The provided port number value - * @param p_linkId Set VCI link identifier - * @param p_remotePortNumber The remote port number value - * @param p_linkPortNumber The linked port number value - * @see ISO 24102-3 Clause E.2.3 - */ - template (present) MN_Request_request mdw_fwtSetNotRequestReq( - in template (present) PortNumber p_portNumber, - in template (value) UserPriority p_userPriority, - in template (value) Link_ID p_linkId, - in template (value) PortNumber p_remotePortNumber, - in template (value) PortNumber p_linkPortNumber - ) modifies mdw_fwtSetNotRequestReq_any := { - request_param := { - FWTsetNot := { - fwtNo := 0, - fwt := { - SetNotFNTP := { - remotePort := p_remotePortNumber, - linkID := p_linkId, - linkPort := p_linkPortNumber, - serviceInfo := { - servicePort := p_portNumber, - hostITSscu := ?, - servicePriority := 0 // FIXME Shall be a parameter - }, - priority := p_userPriority - } - } // End of field 'fwt' - } // End of field 'FWTsetNot' - } // End of field 'request_param' - } // End of template mdw_fwtSetNotRequestReq - - /** - * @desc Receive MN_Request_request/FWTdeleteNot template - * @param p_reference The reference value associated to the provided port number - * @see ISO 24102-3 Clause 7.3.3 - */ - template MN_Request_request mdw_fwtDeleteFntp( - in template (present) integer p_reference - ) modifies mw_mnRequestRequest_any := { - ref := 4, - request_param := { - FWTdeleteNot := { - fwtNo := 2, - fwt := { - DeleteNotFNTP := { - reference := p_reference - } - } // End of field 'fwt' - } // End of field 'FWTdeletNot' - } // End of field 'request_param' - } // End of template mw_fwtDeleteFntp - - } // 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 := ?, - ref := 3, - command_param := { - FWTupdate := { - fwtNo := 0, - fwt := { - UpdateFNTP := mw_fwtUpdate - } // End of field 'fwt' - } // End of field 'FWTupdate' - } // 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 := ?, - ref := 2, - command_param := { - FWTset := { - fwtNo := 0, - fwt := { - SetFNTP := mw_fwtSet_any - } // End of field 'fwt' - } // End of field 'FWTset' - } // 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 UpdateFNTP mw_fwtUpdate := { - fill := '0'B, - reference := ?, - remotePort := omit, - linkID := omit, - ciStatus := omit, - linkPort := omit, - serviceInfo := omit, - priority := omit, - timeout_ := 100 - } // 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 SetFNTP mw_fwtSet_any := { - remotePort := ?, - linkID := ?, - ciStatus := ?, - linkPort := ?, - serviceInfo := ?, - priority := ?, - timeout_ := ? - } // End of template mw_fwtSet_any - - template SetNotFNTP mw_fwtSetNot_any := { - reference := ?, - remotePort := ?, - linkID := ?, - ciStatus := ?, - linkPort := ?, - serviceInfo := ?, - priority := ?, - timeout_ := ? - } // End of template mw_fwtSetNot_any - - } // 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_wakeUp( - in template (value) Link_ID p_linkId, - in template (value) CommandRef p_commandRef, - in template (value) WakeUp p_wakeUp - ) := { - linkID := p_linkId, - commandRef := p_commandRef, - ref := 3, - command_param := { - WakeUp := p_wakeUp - } // End of 'command_param' field - } // End of template m_miCommandRequest_wakeUp - - /** - * @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_regReq( - in template (value) Link_ID p_linkId, - in template (value) CommandRef p_commandRef, - in template (value) RegReq p_regReq - ) := { - linkID := p_linkId, - commandRef := p_commandRef, - ref := 1, - request_param := { RegReq := p_regReq } - } // End of template m_miRequestRequest_regReq - - /** - * @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_wakeUp( - in template (present) Link_ID p_linkId, - in template (present) CommandRef p_commandRef, - in template (present) WakeUp p_wakeUp - ) := { - linkID := p_linkId, - commandRef := p_commandRef, - ref := 3, - command_param := {WakeUp := p_wakeUp} - } // End of template mw_miCommandRequest_wakeUp - - /** - * @desc Send template for MI-COMMAND.confirm service primitive - * @see ISO 24102-3 Clause 6.4.3 MI-COMMAND.confirm - */ - template (present) MI_Command_confirm mw_miCommandConfirm_wakeUp( - in template (present) Link_ID p_linkId, - in template (present) CommandRef p_commandRef - ) := { - linkID := p_linkId, - commandRef := p_commandRef, - errStatus := 0 - } // End of template mw_miCommandConfirm_wakeUp - - /** - * @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_regReq( - in template (present) Link_ID p_linkId, - in template (present) CommandRef p_commandRef, - in template (present) RegReq p_regReq - ) := { - linkID := p_linkId, - commandRef := p_commandRef, - ref := 1, - request_param := { RegReq := p_regReq } - } // End of template mw_miRequestRequest_regReq - - 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) Link_ID p_linkId, - in template (present) CommandRef p_commandRef, - in template (present) IParamList p_getParam - ) := { - linkID := p_linkId, - commandRef := p_commandRef, - get_param := p_getParam - } // 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) Link_ID p_linkId, - in template (present) CommandRef p_commandRef, - in template (present) Errors p_setParam - ) := { - linkID := p_linkId, - commandRef := p_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 \ No newline at end of file diff --git a/ttcn/CALM/MGT/LibItsMgt_TypesAndValues.ttcn3 b/ttcn/CALM/MGT/LibItsMgt_TypesAndValues.ttcn3 deleted file mode 100644 index 77d53f59b2df2f6daabbaab46d4d328a7d933eeb..0000000000000000000000000000000000000000 --- a/ttcn/CALM/MGT/LibItsMgt_TypesAndValues.ttcn3 +++ /dev/null @@ -1,114 +0,0 @@ -/** - * @author ETSI / STF422_EETS - * @version $URL$ - * $Id$ - * @desc Types and constants definitions for ITS station management (ISO 24102-3) - */ -module LibItsMgt_TypesAndValues { - - // LibCommon - import from LibCommon_BasicTypesAndValues { - type UInt8 - }; - - // LibIts - - // LibItsCalm - import from CALMllsap language "ASN.1:1997" { - type - I_Param, I_ParamNo, Errors, Link_ID, EUI64 - }; - import from CALMfntp language "ASN.1:1997" { - type - PortNumber - }; - - group asn1Constants { - - group medTypeConstants { // CALMllsap ASN.1 module - - const UInt8 c_medType_unknown := 0; - const UInt8 c_medType_any := 1; - const UInt8 c_medType_iso21212 := 2; // 2G - const UInt8 c_medType_iso21213 := 3; // 3G - const UInt8 c_medType_iso21214 := 4; // IR - const UInt8 c_medType_iso21215 := 5; // M5 - const UInt8 c_medType_iso21216 := 6; // MM - const UInt8 c_medType_iso25112 := 7; // 802.16e - const UInt8 c_medType_iso25113 := 8; // HC-SDMA - const UInt8 c_medType_iso29283 := 9; // 802.20 - const UInt8 c_medType_iso17515 := 10; // LTE - const UInt8 c_medType_iso15628 := 128; // DSRC - const UInt8 c_medType_can := 254; - const UInt8 c_medType_ethernet := 255; - - } // End of group medTypeConstants - - group cIaClassConstants { // CALMllsap ASN.1 module - - const UInt8 c_cIaClass_unknown := 0; - const UInt8 c_cIaClass_ciac_1 := 1; - const UInt8 c_cIaClass_ciac_2 := 2; - const UInt8 c_cIaClass_ciac_3 := 3; - } // End of group cIcClassConstants - - group cIClassConstants { // CALMllsap ASN.1 module - - const UInt8 c_cIClass_unknown := 0; - const UInt8 c_cIClass_cic_l1 := 1; - const UInt8 c_cIClass_cic_l2 := 2; - const UInt8 c_cIClass_cic_l3 := 3; - const UInt8 c_cIClass_cic_l4 := 4; - const UInt8 c_cIClass_cic_l5 := 5; - const UInt8 c_cIClass_cic_il1 := 254; - const UInt8 c_cIClass_cic_il2 := 255; - - } // End of group cIcClassConstants - - group dirModeConstants { // CALMllsap ASN.1 module - - const UInt8 c_dirMode_fixed := 0; - const UInt8 c_dirMode_tracking := 255; - - } // End of group dirModeConstants - - } // End of group asn1Constants - - group constants { - - const PortNumber c_unknown_portLong := { - portLong := 32767 - } - - /** - * @desc Get the DNI CCID value - * @return The DNI CCID value - * @verdict Unchanged - * @see ISO 21218 - Annex C.1 EUI-64 format - */ - const EUI64 c_dniCiid := 'FFFFFFFFFFFFFFFF'O; - - const Link_ID c_linkId_unknown := { - remoteCIID := c_dniCiid, - localCIID := c_dniCiid - } - - } // End of group constants - - - /** - * Need to redefine ASN.1 type get-param-no SEQUENCE OF I-ParamNo - */ - type record of I_ParamNo IParamNoList; - - /** - * Need to redefine ASN.1 type set-param SEQUENCE OF I-Param - */ - type record of I_Param IParamList; - -// type record of Errors IErrorsList; - -} -with { - encode "LibItsMgt_TypesAndValues" -} // End of module LibItsMgt_TypesAndValues diff --git a/ttcn/CAM/LibItsCam_Functions.ttcn b/ttcn/CAM/LibItsCam_Functions.ttcn deleted file mode 100644 index e5787f019b1c2850661fbeddcb049ef265ca1f93..0000000000000000000000000000000000000000 --- a/ttcn/CAM/LibItsCam_Functions.ttcn +++ /dev/null @@ -1,499 +0,0 @@ -/** - * @author ETSI / STF405 / STF449 / STF484 / STF517 - * @version $URL$ - * $Id$ - * @desc Module containing common functions for ITS CAM - * @copyright ETSI Copyright Notification - * No part may be reproduced except as authorized by written permission. - * The copyright and the foregoing restriction extend to reproduction in all media. - * All rights reserved. - * - */ -module LibItsCam_Functions { - - // LibCommon - import from LibCommon_Time all; - import from LibCommon_VerdictControl all; - import from LibCommon_Sync all; - - // LibIts - import from ITS_Container language "ASN.1:1997" all; - import from CAM_PDU_Descriptions language "ASN.1:1997" all; - import from DENM_PDU_Descriptions language "ASN.1:1997" all; - - // LibItsCommon - import from LibItsCommon_Pixits all; - import from LibItsCommon_Templates all; - import from LibItsCommon_Functions all; - import from LibItsCommon_TypesAndValues all; - - // LibItsCam - import from LibItsCam_TestSystem all; - import from LibItsCam_Templates all; - import from LibItsCam_TypesAndValues all; - import from LibItsCam_Pics all; - import from LibItsCam_Pixits all; - - group utFuntions { - - /** - * @desc Requests to bring the IUT in an initial state - * @param p_init The initialisation to trigger. - */ - function f_utInitializeIut(template (value) UtInitialize p_init) runs on ItsCam { - - //deactivate camPort default alts - vc_camDefaultActive := false; - - utPort.send(p_init); - tc_wait.start; - alt { - [] utPort.receive(UtInitializeResult:true) { - tc_wait.stop; - log("*** f_utInitializeIut: INFO: IUT initialized ***"); - } - [] utPort.receive { - tc_wait.stop; - log("*** f_utInitializeIut: INFO: IUT could not be initialized ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] tc_wait.timeout { - log("*** f_utInitializeIut: INFO: IUT could not be initialized in time ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - } - - //activate camPort default alts - vc_camDefaultActive := true; - - } - - /** - * @desc Triggers event from the application layer - * @param p_event The event to trigger. - */ - function f_utTriggerEvent(template (value) UtCamTrigger p_event) runs on ItsCam { - - //deactivate camPort default alts - vc_camDefaultActive := false; - - utPort.send(p_event); - tc_wait.start; - alt { - [] utPort.receive(UtCamTriggerResult:true) { - tc_wait.stop; - } - [] utPort.receive { - tc_wait.stop; - } - [] tc_wait.timeout { - } - } - - //activate camPort default alts - vc_camDefaultActive := true; - - } - - /** - * @desc Changes the position of the IUT - * @param p_position - */ - function f_utChangePosition(template (value) UtChangePosition p_position) runs on ItsCam { - - //deactivate camPort default alts - vc_camDefaultActive := false; - - utPort.send(p_position); - alt { - [] utPort.receive(UtChangePositionResult:?) { - tc_wait.stop; - } - [] utPort.receive { - tc_wait.stop; - } - [] tc_wait.timeout { - log("*** " & testcasename() & ": INFO: Could not receive expected UT message from IUT in time ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - } - - //activate camPort default alts - vc_camDefaultActive := true; - - } - - } // End of group utFunctions - - group adapterControl { - - /** - * @desc Initialise secure mode if required - */ - function f_initialiseSecuredMode( - in charstring p_certificateId := PX_CERT_FOR_TS - ) runs on ItsCam { - - if (PICS_IS_IUT_SECURED == true) { - - if(e_success != f_acTriggerSecEvent(m_acEnableSecurity(p_certificateId))) { - log("*** INFO: TEST CASE NOW STOPPING ITSELF! ***"); - stop; - } - } - - } // End of function f_initialiseSecuredMode() - - function f_uninitialiseSecuredMode() runs on ItsCam { - - if (PICS_IS_IUT_SECURED == true) { - f_acTriggerSecEvent(m_acDisableSecurity); - } - - } // End of function f_initialiseSecuredMode() - - /** - * @desc Triggers event in the test system adaptation. - * @param p_event The event to trigger - * @return FncRetCode - */ - function f_acTriggerSecEvent(template (value) AcSecPrimitive p_event) runs on ItsCam return FncRetCode { - var FncRetCode v_ret := e_success; - - acPort.send(p_event); - tc_ac.start; - alt { - [] acPort.receive(m_acSecResponseSuccess) { - tc_ac.stop; - } - [] acPort.receive { - tc_ac.stop; - log("*** " & __SCOPE__ & ": ERROR: Received unexpected message ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] tc_ac.timeout { - log("*** " & __SCOPE__ & ": ERROR: Timeout while waiting for adapter control event result ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - } - - return v_ret; - } - - /** - * @desc Triggers event in the test system adaptation. - * @param p_event The event to trigger - * @return FncRetCode - */ - function f_acTriggerGnssEvent(template (value) AcGnssPrimitive p_event) runs on ItsCam return FncRetCode { - var FncRetCode v_ret := e_success; - - acPort.send(p_event); - tc_ac.start; - alt { - [] acPort.receive(m_acGnssResponseSuccess) { - tc_ac.stop; - } - [] acPort.receive { - tc_ac.stop; - log("*** " & __SCOPE__ & ": ERROR: Received unexpected message ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] tc_ac.timeout { - log("*** " & __SCOPE__ & ": ERROR: Timeout while waiting for adapter control event result ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - } - - return v_ret; - } - - /** - * @desc Loads the given scenario - * - * @param p_scenario The scenario to load. - */ - function f_acLoadScenario(Scenario p_scenario) runs on ItsCam { - - if (PX_GNSS_SCENARIO_SUPPORT==true) { - f_acTriggerGnssEvent(m_loadScenario(p_scenario)); - } - } // End of function f_acLoadScenario - - /** - * @desc Starts a loaded scenario - */ - function f_acStartScenario() runs on ItsCam { - - if (PX_GNSS_SCENARIO_SUPPORT==true) { - f_acTriggerGnssEvent(m_startScenario); - vc_scenarioStarted := true; - } - } // End of function f_acStartScenario - - /** - * @desc Stops a loaded scenario - */ - function f_acStopScenario() runs on ItsCam { - - if (PX_GNSS_SCENARIO_SUPPORT==true and vc_scenarioStarted==true) { - f_acTriggerGnssEvent(m_stopScenario); - vc_scenarioStarted := false; - } - } // End of function f_acStopScenario - - function f_acAwaitDistanceCovered(float p_distanceToCover) runs on ItsCam return FncRetCode { - var FncRetCode v_ret := e_success; - - if (PX_GNSS_SCENARIO_SUPPORT==true and vc_scenarioStarted==true) { - f_acTriggerGnssEvent(m_distanceToCover(p_distanceToCover)); - - tc_ac.start; - alt { - [] acPort.receive(m_acGnssDistanceCovered) { - tc_ac.stop; - } - [] acPort.receive { - tc_ac.stop; - log("*** " & __SCOPE__ & ": ERROR: Received unexpected message ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] tc_ac.timeout { - log("*** " & __SCOPE__ & ": ERROR: Timeout while waiting for covered distance indication ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - } - - } - return v_ret; - } // End of function f_acAwaitDistanceCovered - - function f_acChangeSpeed(SpeedValue p_deltaSpeedValue) runs on ItsCam { - - if (PX_GNSS_SCENARIO_SUPPORT==true and vc_scenarioStarted==true) { - f_acTriggerGnssEvent(m_changeScenarioSpeed(p_deltaSpeedValue)); - } - } // End of function f_acChangeSpeed - - function f_acChangeHeading(HeadingValue p_deltaHeadingValue) runs on ItsCam { - - if (PX_GNSS_SCENARIO_SUPPORT==true and vc_scenarioStarted==true) { - f_acTriggerGnssEvent(m_changeScenarioHeading(p_deltaHeadingValue)); - } - } // End of function f_acChangeHeading - - } // End of group adapterControl - - group camConfigurationFunctions { - - /** - * @desc Setups default configuration - * @param p_certificateId The certificate identifier the TA shall use in case of secured IUT - */ - function f_cfUp( - in charstring p_certificateId := PX_CERT_FOR_TS - ) runs on ItsCam system ItsCamSystem { - - map(self:utPort, system:utPort); - map(self:acPort, system:acPort); - map(self:camPort, system:camPort); - f_connect4SelfOrClientSync(); - - // Initialise secured mode - f_initialiseSecuredMode(p_certificateId); - - } // End of function f_cfUp - - /** - * @desc Deletes default configuration - */ - function f_cfDown() runs on ItsCam system ItsCamSystem { - - // Initialise secured mode - f_uninitialiseSecuredMode(); - - unmap(self:utPort, system:utPort); - unmap(self:acPort, system:acPort); - unmap(self:camPort, system:camPort); - f_disconnect4SelfOrClientSync(); - - } // End of function f_cfDown - - } // end of camConfigurationFunctions - - group defaults { - - /** - * @desc basic default behaviour handling - */ - altstep a_default() runs on ItsCam { - - [] camPort.receive(mw_camInd ( mw_camMsg_any )){ - log("*** a_default: INFO: CAM message received in default ***"); - vc_camReceived := true; - repeat; - } - [] camPort.receive { - log("*** a_default: ERROR: event received on CAM port in default ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] any timer.timeout { - log("*** a_default: INCONC: a timer expired in default ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [] a_shutdown() { - f_poDefault(); - f_cfDown(); - log("*** a_default: INFO: TEST COMPONENT NOW STOPPING ITSELF! ***"); - stop; - } - }//end altstep a_basicDefault - - /** - * @desc The default for handling upper tester messages. - */ - altstep a_utDefault() runs on ItsCam { - var UtCamEventInd v_event; - [] utPort.receive(UtCamEventInd:?) -> value v_event { - //store every upper tester indication received - vc_utEvents[lengthof(vc_utEvents)] := v_event; - repeat; - } - [] utPort.receive { - log("*** " & testcasename() & ": INFO: Received unhandled/unknown UT message from IUT ***"); - repeat; - } - } - - } // end of defaults - - group preambles { - - /** - * @desc The default preamble. - */ - function f_prDefault() runs on ItsCam { - vc_default := activate(a_default()); - activate(a_utDefault()); - } - - /** - * @desc Initialize the IUT - * @remark No specific actions specified in the base standard - */ - function f_prInitialState( - in Scenario p_scenario := e_staticPosition, - in boolean p_awaitInitialCAM := true, - in template (value) UtInitialize p_camInitialize := m_camInitialize - ) runs on ItsCam { - - f_utInitializeIut(p_camInitialize); - - f_prDefault(); - - f_acLoadScenario(p_scenario); - - //Allow burst mode at the beginning - f_sleep(1.0); - - camPort.clear; - - f_acStartScenario(); - - if (p_awaitInitialCAM) { - tc_ac.start; - alt { - [] camPort.receive(mw_camInd ( mw_camMsg_any )){ - tc_ac.stop; - log("*** " & testcasename() & ": INFO: Received initial CAM ***"); - } - [] tc_ac.timeout { - log("*** " & testcasename() & ": INCONC: Initial CAM not received ***"); - f_selfOrClientSyncAndVerdictPreamble("error", e_timeout); - } - } // End of 'alt' statement - } - - } // End of function f_prInitialState - - } // end of preambles - - group postambles { - - /** - * @desc The default postamble. - */ - function f_poDefault() runs on ItsCam { - f_acStopScenario(); - } - - } // end group postambles - - group camPositionFunctions { - - /** - * @desc Compute a position using a reference position, a distance - * and an orientation - * - * @param p_referencePosition The base reference position. - * @param p_offSet Distance to the reference position (in meter). - * - * @return The new reference position. - */ - function f_computePositionUsingDistance(in ReferencePosition p_referencePosition, in float p_offSet) return ReferencePosition { - var ReferencePosition v_referencePosition := p_referencePosition; - - log("*** f_computePositionUsingDistance: INFO: calling fx_computePositionUsingDistance() ***"); - fx_computePositionUsingDistance( - p_referencePosition.latitude, - p_referencePosition.longitude, - p_offSet, - p_referencePosition.positionConfidenceEllipse.semiMajorOrientation, - v_referencePosition.latitude, - v_referencePosition.longitude - ); - return v_referencePosition; - } - - } // end group camPositionFunctions - - group camAuxilaryFunctions { - - function f_changeSpeed(SpeedValue p_deltaSpeedValue) runs on ItsCam { - if (PX_GNSS_SCENARIO_SUPPORT == false) { - f_utTriggerEvent(m_changeSpeed(p_deltaSpeedValue)); - } - else { - f_acChangeSpeed(p_deltaSpeedValue); - } - } - - function f_changeHeading(HeadingValue p_deltaHeadingValue) runs on ItsCam { - if (PX_GNSS_SCENARIO_SUPPORT == false) { - f_utTriggerEvent(m_changeHeading(p_deltaHeadingValue)); - } - else { - f_acChangeHeading(p_deltaHeadingValue); - } - } - - } // end group camAuxilaryFunctions - - group camGenerators { - function f_generateDefaultCam() - return octetstring { - return bit2oct( - encvalue( - m_camReq( - m_camMsg_vehicle( - f_getTsStationId(), - f_getCurrentTime() mod 65536, // See ETSI EN 302 637-2 V1.3.0 - Clause B.3 generationDelatTime - m_tsPosition - ) - ) - ) - ); - } - } // end of group camGenerators - -} // end LibItsCam_Functions \ No newline at end of file diff --git a/ttcn/CAM/LibItsCam_Pics.ttcn b/ttcn/CAM/LibItsCam_Pics.ttcn deleted file mode 100644 index 5fa0770b2fe41dfb56f59afb2c713487110719b9..0000000000000000000000000000000000000000 --- a/ttcn/CAM/LibItsCam_Pics.ttcn +++ /dev/null @@ -1,116 +0,0 @@ -/** - * @author ETSI / STF405 / STF449 / STF484 / STF517 - * @version $URL$ - * $Id$ - * @desc CAM PICS - * @copyright ETSI Copyright Notification - * No part may be reproduced except as authorized by written permission. - * The copyright and the foregoing restriction extend to reproduction in all media. - * All rights reserved. - * - */ -module LibItsCam_Pics { - - // LibCommon - import from LibCommon_BasicTypesAndValues all; - - group camPics { - - /** - * @desc Is the IUT RSU? - * @see ETSI TS 102 868-1 Table A.1 - */ - modulepar boolean PICS_RSU := false; - - /** - * @desc Is the IUT running in secured mode? - * @see ETSI TS 102 868-1 Table A.1 - */ - modulepar boolean PICS_IS_IUT_SECURED := false; - - /** - * @desc Is IUT a public transport vehicle - * @see ETSI TS 102 868-1 Table A.2 - */ - modulepar boolean PICS_PUBLICTRANS := false; - - /** - * @desc Is IUT a special transport vehicle - * @see ETSI TS 102 868-1 Table A.2 - */ - modulepar boolean PICS_SPECIALTRANS := false; - - /** - * @desc Is IUT a dangerous goods vehicle - * @see ETSI TS 102 868-1 Table A.2 - */ - modulepar boolean PICS_DANGEROUSGOODS := false; - - /** - * @desc Is IUT a road works vehicle - * @see ETSI TS 102 868-1 Table A.2 - */ - modulepar boolean PICS_ROADWORKS := false; - - /** - * @desc Is IUT a rescue vehicle - * @see ETSI TS 102 868-1 Table A.2 - */ - modulepar boolean PICS_RESCUE := false; - - /** - * @desc Is IUT an emergency vehicle - * @see ETSI TS 102 868-1 Table A.2 - */ - modulepar boolean PICS_EMERGENCY := false; - - /** - * @desc Is IUT a safety car vehicle - * @see ETSI TS 102 868-1 Table A.2 - */ - modulepar boolean PICS_SAFETY_CAR := false; - - /** - * @desc Does IUT support 'specialVehicleContainer' in CamParameters? - * @see ETSI TS 102 868-1 Table A.2 - */ - modulepar boolean PICS_SPECIALVEHICLECONTAINER := true; - - /** - * @desc Maximum time interval between CAM generations (in seconds). - * Default value, as per base standard: 1.0s - * @see ETSI TS 102 868-1 Table A.5 - */ - modulepar float PICS_T_GENCAMMAX := 1.000; - - /** - * @desc Minimum time interval between CAM generations (in seconds). - * Default value, as per base standard: 0.1s - * @see ETSI TS 102 868-1 Table A.5 - */ - modulepar float PICS_T_GENCAMMIN := 0.100; - - /** - * @desc Minimum time interval between CAM generations (in seconds) - * according to the requirements of the - * Decentralized Congestion Control(DCC). - * Default value, as per base standard: 0.1s - * @see ETSI TS 102 868-1 Table A.5 - */ - modulepar float PICS_T_GENCAMDCC := 0.100; - - /** - * @desc Support for CAM generation - * @see ETSI TS 102 868-1 Table A.3 - */ - modulepar boolean PICS_CAM_GENERATION := true; - - /** - * @desc Support for CAM reception - * @see ETSI TS 102 868-1 Table A.3 - */ - modulepar boolean PICS_CAM_RECEPTION := true; - - } // end camPics - -} // end LibItsCam_Pics diff --git a/ttcn/CAM/LibItsCam_Pixits.ttcn b/ttcn/CAM/LibItsCam_Pixits.ttcn deleted file mode 100644 index 8e1dbc2df2d138c4cbb0db13db803a265352f7ae..0000000000000000000000000000000000000000 --- a/ttcn/CAM/LibItsCam_Pixits.ttcn +++ /dev/null @@ -1,21 +0,0 @@ -/** - * @author ETSI / STF405 / STF449 / STF484 / STF517 - * @version $URL$ - * $Id$ - * @desc Module containing Pixits for CAM - * @copyright ETSI Copyright Notification - * No part may be reproduced except as authorized by written permission. - * The copyright and the foregoing restriction extend to reproduction in all media. - * All rights reserved. - * - */ -module LibItsCam_Pixits { - - // LibCommon - import from LibCommon_BasicTypesAndValues all; - import from LibCommon_DataStrings all; - - // LibItsSecurity - import from LibItsSecurity_TypesAndValues all; - -} // End of module LibItsSecurity_Pixits \ No newline at end of file diff --git a/ttcn/CAM/LibItsCam_Templates.ttcn b/ttcn/CAM/LibItsCam_Templates.ttcn deleted file mode 100644 index 300bb0cabaa2cc15b36b62178b2a0b545a66a297..0000000000000000000000000000000000000000 --- a/ttcn/CAM/LibItsCam_Templates.ttcn +++ /dev/null @@ -1,864 +0,0 @@ -/** - * @author ETSI / STF405 / STF449 / STF484 / STF517 - * @version $URL$ - * $Id$ - * @desc Module containing base template definitions for CAM - * @copyright ETSI Copyright Notification - * No part may be reproduced except as authorized by written permission. - * The copyright and the foregoing restriction extend to reproduction in all media. - * All rights reserved. - * - */ -module LibItsCam_Templates { - - // LibCommon - import from LibCommon_BasicTypesAndValues all; - import from LibCommon_DataStrings all; - - // LibIts - import from ITS_Container language "ASN.1:1997" all; - import from CAM_PDU_Descriptions language "ASN.1:1997" all; - import from DENM_PDU_Descriptions language "ASN.1:1997" all; - - // LibItsCommon - import from LibItsCommon_Functions all; - import from LibItsCommon_TypesAndValues all; - - // LibItsCam - import from LibItsCam_TestSystem all; - import from LibItsCam_TypesAndValues all; - - group camPrimitives { - - /** - * @desc Receive template for CAM Message (CamPort Primitive) - * @param p_camMsg Expected CAM Message - */ - template CamInd mw_camInd ( - in template (present) CAM p_camMsg - ) := { - msgIn := p_camMsg, - gnNextHeader := *, - gnHeaderType := *, - gnHeaderSubtype := *, - gnLifetime := *, - gnTrafficClass := *, - btpDestinationPort := *, - btpInfo := *, - ssp := *, - its_aid := * - }; - - /** - * @desc Receive template for CAM Message (CamPort Primitive) - * @param p_camMsg Expected CAM Message - * @param p_gnNextHeader GN next header value - * @param p_gnHeaderType GN header type value - * @param p_gnHeaderSubtype GN header subtype value - * @param p_gnLifetime GN packet lifetime value (ms) - * @param p_gnTrafficClass GN traffic class value - */ - template CamInd mw_camIndWithGnParameters ( - in template (present) CAM p_camMsg, - in template UInt8 p_gnNextHeader := *, - in template UInt8 p_gnHeaderType := *, - in template UInt8 p_gnHeaderSubtype := *, - in template UInt32 p_gnLifetime := *, - in template UInt8 p_gnTrafficClass := * - ) modifies mw_camInd := { - gnNextHeader := p_gnNextHeader, - gnHeaderType := p_gnHeaderType, - gnHeaderSubtype := p_gnHeaderSubtype, - gnLifetime := p_gnLifetime, - gnTrafficClass := p_gnTrafficClass - }; - - /** - * @desc Receive template for CA Message (DenmPort Primitive) - * @param p_caMsg The expected CA Message - * @param p_ssp SSP security parameter - * @param p_its_aid ITS-AID value - */ - template CamInd mw_camIndWithSecurityParameters( - template (present) CAM p_camMsg, - template Bit256 p_ssp := *, - template UInt32 p_its_aid := c_its_aid_CAM - ) modifies mw_camInd := { - ssp := p_ssp, - its_aid := p_its_aid - }; - - /** - * @desc Receive template for CAM Message (CamPort Primitive) - * @param p_camMsg Expected CAM Message - * @param p_btpDestinationPort BTP destination port value - * @param p_btpInfo BTP destination port info value (if BTP-B) or BTP source port value (if BTP-A) - */ - template CamInd mw_camIndWithBtpParameters ( - in template (present) CAM p_camMsg, - in template UInt16 p_btpDestinationPort := *, - in template UInt16 p_btpInfo := * - ) modifies mw_camInd := { - btpDestinationPort := p_btpDestinationPort, - btpInfo := p_btpInfo - }; - - /** - * @desc Send template for CAM Message (CamPort Primitive) - * @param p_camMsg CAM Message to be received - */ - template (value) CamReq m_camReq ( - in template (value) CAM p_camMsg - ) := { - msgOut := p_camMsg - }; - - group camUtPrimitives { - - /** - * @desc Initializes the CAM IUT. - */ - template (value) UtInitialize m_camInitialize := { - hashedId8 := '0000000000000000'O - } - - /** - * @desc Change the curvature - * @param p_offset The curvature value offset - */ - template (value) UtCamTrigger m_changeCurvature(CurvatureValue p_changeCurvature) := { - changeCurvature := p_changeCurvature - } - - /** - * @desc Change the speed - * @param p_offset The speed value offset - */ - template (value) UtCamTrigger m_changeSpeed(Int16 p_changeSpeed) := { - changeSpeed := p_changeSpeed - } - - /** - * @desc Set the acceleration control status - * @param p_status The status to set - */ - template (value) UtCamTrigger m_setAccelerationControlStatus(AccelerationControl p_status) := { - setAccelerationControlStatus := p_status - } - - /** - * @desc Set the exterior lights status - * @param p_status The status to set - */ - template (value) UtCamTrigger m_setExteriorLightsStatus(ExteriorLights p_status) := { - setExteriorLightsStatus := p_status - } - - /** - * @desc Change the heading - * @param p_offset The heading value offset - */ - template (value) UtCamTrigger m_changeHeading(HeadingValue p_changeHeading) := { - changeHeading := p_changeHeading - } - - /** - * @desc Set the drive direction - * @param p_driveDirection The drive direction - */ - template (value) UtCamTrigger m_setDriveDirection(DriveDirection p_driveDirection) := { - setDriveDirection := p_driveDirection - } - - /** - * @desc Change the yaw rate - * @param p_offset The yaw rate value offset - */ - template (value) UtCamTrigger m_changeYawRate(YawRateValue p_changeYawRate) := { - changeYawRate := p_changeYawRate - } - - /** - * @desc Set the vehicle role - * @param p_vehicleRole The vehicle role - */ - template (value) UtCamTrigger m_setVehicleRole(VehicleRole p_vehicleRole) := { - setVehicleRole := p_vehicleRole - } - - /** - * @desc Set the dangerous good description - * @param p_dangerousGoods The dangerous good description - */ - template (value) UtCamTrigger m_setDangerousGoods(DangerousGoodsBasic p_dangerousGoods) := { - setDangerousGoods := p_dangerousGoods - } - - } // end utPrimitives - - } // end group Primitives - - group positionTemplates { - - /** - * @desc The test system reference position. - */ - template (value) ReferencePosition m_tsPosition := { - latitude := f_integer2Latitude(f_getTsLatitude()), - longitude := f_integer2Longitude(f_getTsLongitude()), - positionConfidenceEllipse := { - semiMajorConfidence := SemiAxisLength_oneCentimeter_, - semiMinorConfidence := SemiAxisLength_oneCentimeter_, - semiMajorOrientation := HeadingValue_wgs84North_ - }, - altitude := { - altitudeValue := AltitudeValue_referenceEllipsoidSurface_, - altitudeConfidence := unavailable - } - } - - } // end positionTemplates - - /** - * @desc Default Receive template for CAM PDU - */ - template (present) CAM mw_camMsg_any := { - header := { - protocolVersion := ItsPduHeader_protocolVersion_currentVersion_, - messageID := ItsPduHeader_messageID_cam_, - stationID := ? - }, - cam := { - generationDeltaTime := ?, - camParameters := ? - } - } - - group camBasicContainer { - - /** - * @desc - * Receive template for CAM PDU including basic container with - * given reference position - * @param p_referencePosition The reference position - */ - template (present) CAM mw_camMsg_BC_refPos( - in template(present) ReferencePosition p_referencePosition - ) modifies mw_camMsg_any := { - cam := { - camParameters := { - basicContainer := { - stationType := ?, - referencePosition := p_referencePosition - }, - highFrequencyContainer := ?, - lowFrequencyContainer := *, - specialVehicleContainer := * - } - } - } - - } // end group camBasicContainer - - group camHighFrequencyContainer { - - /** - * @desc - * Receive template for CAM PDU including specific basic vehicle container - * @param p_basicVehicleContainer The including basic vehicle container - */ - template (present) CAM mw_camMsg_HF_BV( - in template(present) BasicVehicleContainerHighFrequency p_basicVehicleContainer - ) modifies mw_camMsg_any := { - cam := { - camParameters := { - basicContainer := ?, - highFrequencyContainer := { - basicVehicleContainerHighFrequency := p_basicVehicleContainer - }, - lowFrequencyContainer := *, - specialVehicleContainer := * - } - } - } - - /** - * @desc Default Receive template for basic vehicle container in - * the high frequency container - */ - template (present) BasicVehicleContainerHighFrequency mw_HF_BV_any := { - heading := ?, - speed := ?, - driveDirection := ?, - vehicleLength := ?, - vehicleWidth := ?, - longitudinalAcceleration := ?, - curvature := ?, - curvatureCalculationMode := ?, - yawRate := ?, - accelerationControl := *, - lanePosition := *, - steeringWheelAngle := *, - lateralAcceleration := *, - verticalAcceleration := *, - performanceClass := *, - cenDsrcTollingZone := * - } - - /** - * @desc - * Receive template for CAM PDU including specific basic vehicle container - * @param p_curvatureValue The curvature - */ - template(present) BasicVehicleContainerHighFrequency mw_HF_BV_curvature( - in template(present) CurvatureValue p_curvatureValue - ) modifies mw_HF_BV_any := - { - curvature := { - curvatureValue := p_curvatureValue, - curvatureConfidence := ? - } - } - - /** - * @desc - * Receive template for CAM PDU including specific basic vehicle container - * @param p_accCtrl The acceleration control - */ - template(present) BasicVehicleContainerHighFrequency mw_HF_BV_accCtrl( - in template AccelerationControl p_accCtrl - ) modifies mw_HF_BV_any := - { - accelerationControl := p_accCtrl - } - - /** - * @desc - * Receive template for CAM PDU including specific basic vehicle container - * @param p_headingValue The heading - */ - template(present) BasicVehicleContainerHighFrequency mw_HF_BV_heading( - in template(present) HeadingValue p_headingValue - ) modifies mw_HF_BV_any := - { - heading := { - headingValue := p_headingValue, - headingConfidence := ? - } - } - - /** - * @desc - * Receive template for CAM PDU including specific basic vehicle container - * @param p_speedValue The speed - */ - template(present) BasicVehicleContainerHighFrequency mw_HF_BV_speed( - in template(present) SpeedValue p_speedValue - ) modifies mw_HF_BV_any := - { - speed := { - speedValue := p_speedValue, - speedConfidence := ? - } - } - - /** - * @desc - * Receive template for CAM PDU including specific basic vehicle container - * @param p_driveDirection The drive direction - */ - template(present) BasicVehicleContainerHighFrequency mw_HF_BV_driveDirection( - in template(present) DriveDirection p_driveDirection - ) modifies mw_HF_BV_any := - { - driveDirection := p_driveDirection - } - - /** - * @desc - * Receive template for CAM PDU including specific basic vehicle container - * @param p_yawRateValue The yaw rate - */ - template(present) BasicVehicleContainerHighFrequency mw_HF_BV_yawRate( - in template(present) YawRateValue p_yawRateValue - ) modifies mw_HF_BV_any := - { - yawRate := { - yawRateValue := p_yawRateValue, - yawRateConfidence := ? - } - } - - } // end group camHighFrequencyContainer - - group camLowFrequencyContainer { - - /** - * @desc Default Receive template for CAM PDU including - * optional lowFrequencyContainer - */ - template (present) CAM mw_camMsg_LF_any modifies mw_camMsg_any := { - cam := { - camParameters := { - basicContainer := ?, - highFrequencyContainer := ?, - lowFrequencyContainer := ?, - specialVehicleContainer := * - } - } - } - - /** - * @desc - * Receive template for CAM PDU including specific basic vehicle container - * @param p_basicVehicleContainer The including basic vehicle container - */ - template (present) CAM mw_camMsg_LF_BV( - in template(present) BasicVehicleContainerLowFrequency p_basicVehicleContainer := ? - ) modifies mw_camMsg_any := { - cam := { - camParameters := { - basicContainer := ?, - highFrequencyContainer := ?, - lowFrequencyContainer := { - basicVehicleContainerLowFrequency := p_basicVehicleContainer - }, - specialVehicleContainer := * - } - } - } - - /** - * @desc Default Receive template for basic vehicle container in - * the low frequency container - */ - template (present) BasicVehicleContainerLowFrequency mw_LF_BV_any := { - vehicleRole := ?, - exteriorLights := ?, - pathHistory := ? - } - - /** - * @desc - * Receive template for CAM PDU including specific basic vehicle container - * @param p_extLights The exterior lights - */ - template(present) BasicVehicleContainerLowFrequency mw_LF_BV_extLights( - in template (present) ExteriorLights p_extLights - ) modifies mw_LF_BV_any := - { - exteriorLights := p_extLights - } - - } // end group camLowFrequencyContainer - - group camSpecialVehicleContainer { - - /** - * @desc Default Receive template for CAM PDU including - * optional specialVehicleContainer - */ - template (present) CAM mw_camMsg_SVC_any modifies mw_camMsg_any := { - cam := { - camParameters := { - basicContainer := ?, - highFrequencyContainer := ?, - lowFrequencyContainer := *, - specialVehicleContainer := ? - } - } - } - - /** - * @desc Receive template for CAM PDU including optional specialVehicleContainer - * @param p_specialVehicleContainer The expected specialVehicleContainer - */ - template (present) CAM mw_camMsg_SVC( - in template (present) SpecialVehicleContainer p_specialVehicleContainer - ) modifies mw_camMsg_SVC_any := { - cam := { - camParameters := { - specialVehicleContainer := p_specialVehicleContainer - } - } - } - - /** - * @desc Receive template for specialVehicleContainer public transport - */ - template (present) SpecialVehicleContainer mw_publicTransport_any := { - publicTransportContainer := ? - } - - /** - * @desc Receive template for specialVehicleContainer special transport - */ - template (present) SpecialVehicleContainer mw_specialTransport_any := { - specialTransportContainer := ? - } - - /** - * @desc Receive template for specialVehicleContainer dangerous goods - */ - template (present) SpecialVehicleContainer mw_dangerousGoods_any := { - dangerousGoodsContainer := ? - } - - /** - * @desc Receive template for specialVehicleContainer road works - */ - template (present) SpecialVehicleContainer mw_roadWorks_any := { - roadWorksContainerBasic := ? - } - - /** - * @desc Receive template for specialVehicleContainer rescue - */ - template (present) SpecialVehicleContainer mw_rescue_any := { - rescueContainer := ? - } - - /** - * @desc Receive template for specialVehicleContainer emergency - */ - template (present) SpecialVehicleContainer mw_emergency_any := { - emergencyContainer := ? - } - - /** - * @desc Receive template for specialVehicleContainer safety car - */ - template (present) SpecialVehicleContainer mw_safetyCar_any := { - safetyCarContainer := ? - } - - } //end group camSpecialVehicleContainer - - group camAnyVehicle { - - /** - * @desc Send template for Vehicle CAM PDU - * @param p_stationId Station ID of the source - * @param p_generationTime Timestamp of the generated message - * @param p_referencePosition Position of the sending station - */ - template (value) CAM m_camMsg_vehicle_HF_BV( - StationID p_stationId, - GenerationDeltaTime p_generationTime, - template (value) ReferencePosition p_referencePosition - ) := { - header := { - protocolVersion := ItsPduHeader_protocolVersion_currentVersion_, - messageID := ItsPduHeader_messageID_cam_, - stationID := p_stationId - }, - cam := { - generationDeltaTime := p_generationTime, - camParameters := { - basicContainer := { - stationType := StationType_passengerCar_, - referencePosition := p_referencePosition - }, - highFrequencyContainer := { - basicVehicleContainerHighFrequency := { - heading := { - headingValue := HeadingValue_wgs84North_, //0 - headingConfidence := 10 - }, - speed := { - speedValue := 45, - speedConfidence := 5 - }, - driveDirection := forward, - vehicleLength := { - vehicleLengthValue := 50, - vehicleLengthConfidenceIndication := noTrailerPresent - }, - vehicleWidth := 21, - longitudinalAcceleration := { - longitudinalAccelerationValue := LongitudinalAccelerationValue_unavailable_, - longitudinalAccelerationConfidence := AccelerationConfidence_unavailable_ - }, - curvature := { - curvatureValue := CurvatureValue_straight_, - curvatureConfidence := unavailable - }, - curvatureCalculationMode := yawRateUsed, - yawRate := { - yawRateValue := YawRateValue_straight_, - yawRateConfidence := unavailable - }, - accelerationControl := omit, - lanePosition := omit, - steeringWheelAngle := omit, - lateralAcceleration := omit, - verticalAcceleration := omit, - performanceClass := omit, - cenDsrcTollingZone := omit - } - }, - lowFrequencyContainer := omit, - specialVehicleContainer := omit - } - } - }; // End of template m_camMsg_vehicle_HF_BV - - /** - * @desc Send template for Vehicle CAM PDU - * @param p_stationId Station ID of the source - * @param p_generationTime Timestamp of the generated message - * @param p_referencePosition Position of the sending station - */ - template (value) CAM m_camMsg_vehicle( - StationID p_stationId, - GenerationDeltaTime p_generationTime, - template (value) ReferencePosition p_referencePosition - ) modifies m_camMsg_vehicle_HF_BV := { - cam := { - camParameters := { - lowFrequencyContainer := { - basicVehicleContainerLowFrequency := { - vehicleRole := default_, - exteriorLights := ExteriorLights_daytimeRunningLightsOn_, - pathHistory := {} - } - } - } - } - }; - - template (value) CAM m_camMsg_publicTransport( - StationID p_stationId, - GenerationDeltaTime p_generationTime, - template (value) ReferencePosition p_referencePosition - ) modifies m_camMsg_vehicle := { - cam := { - camParameters := { - lowFrequencyContainer := { - basicVehicleContainerLowFrequency := { - vehicleRole := publicTransport - } - }, - specialVehicleContainer := { - publicTransportContainer := { - embarkationStatus := true, - ptActivation := omit - } - } - } - } - }; - - template (value) CAM m_camMsg_specialTransport( - StationID p_stationId, - GenerationDeltaTime p_generationTime, - template (value) ReferencePosition p_referencePosition - ) modifies m_camMsg_vehicle := { - cam := { - camParameters := { - lowFrequencyContainer := { - basicVehicleContainerLowFrequency := { - vehicleRole := specialTransport - } - }, - specialVehicleContainer := { - specialTransportContainer := { - specialTransportType := '1000'B/* length(4)*/, // heavyLoad - lightBarSirenInUse := '11'B/* length(2)*/ // siren and lightBar - } - } - } - } - }; - } // end camAnyVehicle - - group camAccelerationControlTemplates { - - /** - * @desc Receive template for acceleration control with brake padel active on - */ - template AccelerationControl mw_brakePedalActive_On := '1*'B length(7); - - /** - * @desc Receive template for acceleration control with brake padel active off - */ - template AccelerationControl mw_brakePedalActive_Off := '0*'B length(7); - - /** - * @desc Receive template for acceleration control with gas padel active on - */ - template AccelerationControl mw_gasPedalActive_On := '?1*'B length(7); - - /** - * @desc Receive template for acceleration control with gas padel active off - */ - template AccelerationControl mw_gasPedalActive_Off := '?0*'B length(7); - - /** - * @desc Receive template for acceleration control with emergency brake active on - */ - template AccelerationControl mw_emergencyBrakeActive_On := '??1*'B length(7); - - /** - * @desc Receive template for acceleration control with emergency brake active off - */ - template AccelerationControl mw_emergencyBrakeActive_Off := '??0*'B length(7); - - /** - * @desc Receive template for acceleration control with collision warning active on - */ - template AccelerationControl mw_collisionWarningActive_On := '???1*'B length(7); - - /** - * @desc Receive template for acceleration control with collision warning active off - */ - template AccelerationControl mw_collisionWarningActive_Off := '???0*'B length(7); - - /** - * @desc Receive template for acceleration control with adaptive cruise control active on - */ - template AccelerationControl mw_accActive_On := '????1*'B length(7); - - /** - * @desc Receive template for acceleration control with adaptive cruise control active off - */ - template AccelerationControl mw_accActive_Off := '????0*'B length(7); - - /** - * @desc Receive template for acceleration control with cruise control active on - */ - template AccelerationControl mw_cruiseControl_On := '?????1*'B length(7); - - /** - * @desc Receive template for acceleration control with cruise control active off - */ - template AccelerationControl mw_cruiseControl_Off := '?????0*'B length(7); - - /** - * @desc Receive template for acceleration control with speed limiter active on - */ - template AccelerationControl mw_speedLimiterActive_On := '*1'B length(7); - - /** - * @desc Receive template for acceleration control with speed limiter active off - */ - template AccelerationControl mw_speedLimiterActive_Off := '*0'B length(7); - - } // end group camAccelerationControlTemplates - - group camExteriorLightsTemplates { - - /** - * @desc Receive template for exterior lights with low beam lights off - */ - template ExteriorLights mw_lowBeamLightsOff := '0*'B length (8); - - /** - * @desc Receive template for exterior lights with low beam lights on - */ - template ExteriorLights mw_lowBeamLightsOn := '1*'B length(8); - - /** - * @desc Receive template for exterior lights with high beam lights off - */ - template ExteriorLights mw_highBeamLightsOff := '?0*'B length(8); - - /** - * @desc Receive template for exterior lights with high beam lights on - */ - template ExteriorLights mw_highBeamLightsOn := '?1*'B length(8); - - /** - * @desc Receive template for exterior lights with left turn signal off - */ - template ExteriorLights mw_leftTurnSignalOff := '??0*'B length(8); - - /** - * @desc Receive template for exterior lights with left turn signal on - */ - template ExteriorLights mw_leftTurnSignalOn := '??1*'B length(8); - - /** - * @desc Receive template for exterior lights with right turn signal off - */ - template ExteriorLights mw_rightTurnSignalOff := '???0*'B length(8); - /** - * @desc Receive template for exterior lights with right turn signal on - */ - template ExteriorLights mw_rightTurnSignalOn := '???1*'B length(8); - - /** - * @desc Receive template for exterior lights with day time running lights off - */ - template ExteriorLights mw_daytimeRunningLightsOff := '????0*'B length(8); - /** - * @desc Receive template for exterior lights with day time running lights on - */ - template ExteriorLights mw_daytimeRunningLightsOn := '????1*'B length(8); - - /** - * @desc Receive template for exterior lights with reverse light off - */ - template ExteriorLights mw_reverseLightOff := '?????0*'B length(8); - - /** - * @desc Receive template for exterior lights with reverse light on - */ - template ExteriorLights mw_reverseLightOn := '?????1*'B length(8); - - /** - * @desc Receive template for exterior lights with fog light off - */ - template ExteriorLights mw_fogLightOff := '??????0*'B length(8); - - /** - * @desc Receive template for exterior lights with fog light on - */ - template ExteriorLights mw_fogLightOn := '??????1*'B length(8); - - /** - * @desc Receive template for exterior lights with parking lights off - */ - template ExteriorLights mw_parkingLightsOff := '*0'B length(8); - - /** - * @desc Receive template for exterior lights with parking lights on - */ - template ExteriorLights mw_parkingLightsOn := '*1'B length(8); - - /** - * @desc Receive template for exterior lights with hazard lights on - */ - template ExteriorLights mw_hazardConditionOn := '??11*'B length(8); - - } // end group exteriorLights - - group camTemplateFunctions { - - /** - * @desc Converts an integer to Longitude - * @param p_longitude The integer value - * @return The longitude value - */ - function f_integer2Longitude(in integer p_longitude) return Longitude { - - var Longitude v_longitude := f_abs(p_longitude); - - return v_longitude; - } - - /** - * @desc Converts an integer to Latitude - * @param p_latitude The integer value - * @return The latitude value - */ - function f_integer2Latitude(in integer p_latitude) return Latitude { - - var Latitude v_latitude := f_abs(p_latitude); - - return v_latitude; - } - - } // end camTemplateFunctions - -} // end LibItsCam_Templates diff --git a/ttcn/CAM/LibItsCam_TestSystem.ttcn b/ttcn/CAM/LibItsCam_TestSystem.ttcn deleted file mode 100644 index 71a351f031d1ef47be9058c3163e0cd6e7ec84cb..0000000000000000000000000000000000000000 --- a/ttcn/CAM/LibItsCam_TestSystem.ttcn +++ /dev/null @@ -1,160 +0,0 @@ -/** - * @author ETSI / STF405 / STF449 / STF484 / STF517 - * @version $URL$ - * $Id$ - * @desc Test System module for ITS CAM - * @copyright ETSI Copyright Notification - * No part may be reproduced except as authorized by written permission. - * The copyright and the foregoing restriction extend to reproduction in all media. - * All rights reserved. - * - */ -module LibItsCam_TestSystem { - - // LibCommon - import from LibCommon_Time {modulepar all}; - import from LibCommon_Sync all; - import from LibCommon_BasicTypesAndValues all; - import from LibCommon_DataStrings all; - - // LibIts - import from CAM_PDU_Descriptions language "ASN.1:1997" all; - import from DENM_PDU_Descriptions language "ASN.1:1997" all; - - // LibItsCommon - import from LibItsCommon_TestSystem all; - import from LibItsCommon_TypesAndValues all; - - // LibItsCam - import from LibItsCam_TypesAndValues all; - - group portDefinitions { - - /** - * @desc Adapter control port - */ - type port AdapterControlPort message { - out - AcGnssPrimitive, AcSecPrimitive; - in - AcGnssResponse, AcGnssDistanceCovered, AcSecResponse; - } // end AdapterControlPort - - /** - * @desc Upper Tester port - */ - type port UpperTesterPort message { - out - UtInitialize, UtCamTrigger, UtChangePosition, UtActivatePositionTime, UtDeactivatePositionTime; - in - UtInitializeResult, UtCamTriggerResult, UtChangePositionResult, UtActivatePositionTimeResult, UtDeactivatePositionTimeResult, UtCamEventInd; - } // end UpperTesterPort - - } // end portDefinitions - - group interfacePorts { - - group facilityPorts { - - group fa1Ports { - - /** - * @desc FA1 CAM Port (CAM/BTP/GeoNet/G5) - */ - type port CamPort message { - in CamInd; - out CamReq; - } // End of port CamPort - - } // end fa1Ports - - } // End of group facilityPorts - - } // End of group interfacePorts - - group componentDefinitions { - - /** - * @desc ITS System Adapter - */ - type component ItsCamSystem { - - port UpperTesterPort utPort; - port AdapterControlPort acPort; - - // FA1 ports - port CamPort camPort; - - } // end component ItsAdapter - - } // End of group componentDefinitions - - /** - * @desc Test component for ITS Facility layer - */ - type component ItsCam extends ItsBaseComponent { - - port UpperTesterPort utPort; - port AdapterControlPort acPort; - - // FA1 ports - port CamPort camPort; - //timers - - //component variables - var CamInd vc_camMsg; - - //default - var default vc_default := null; - - //global variables - var boolean vc_camReceived := false; - - var UtCamEventIndList vc_utEvents := {}; - - var boolean vc_utDefaultActive := true; - var boolean vc_camDefaultActive := true; - - } // End of component ItsCam - - group facilityPrimitives { - - group fa1Primitives { - - /** - * @desc FA1 CAM Indication Primitive - */ - type record CamInd { - CAM msgIn, - UInt8 gnNextHeader optional, - UInt8 gnHeaderType optional, - UInt8 gnHeaderSubtype optional, - UInt32 gnLifetime optional, - UInt8 gnTrafficClass optional, - UInt16 btpDestinationPort optional, - UInt16 btpInfo optional, - Bit256 ssp optional, - UInt32 its_aid optional - } - with { - encode (msgIn) "LibItsCam_asn1" - } - - /** - * @desc FA1 CAM Request Primitive - */ - type record CamReq { - CAM msgOut - } - with { - encode (msgOut) "LibItsCam_asn1" - } - - } // end fa1Primitives - - } // End of group facilityPrimitives - with { - encode "LibIts_Interface" - } // end interfacePrimitives - -} // End of module LibIts_TestSystem diff --git a/ttcn/CAM/LibItsCam_TypesAndValues.ttcn b/ttcn/CAM/LibItsCam_TypesAndValues.ttcn deleted file mode 100644 index 5490fea5ca7669ff84404cc1c4fbc7ea17eb27ab..0000000000000000000000000000000000000000 --- a/ttcn/CAM/LibItsCam_TypesAndValues.ttcn +++ /dev/null @@ -1,129 +0,0 @@ -/** - * @author ETSI / STF405 / STF449 / STF484 / STF517 - * @version $URL$ - * $Id$ - * @desc Module containing types and values for CAM Protocol - * @copyright ETSI Copyright Notification - * No part may be reproduced except as authorized by written permission. - * The copyright and the foregoing restriction extend to reproduction in all media. - * All rights reserved. - * - */ -module LibItsCam_TypesAndValues { - - // LibCommon - import from LibCommon_BasicTypesAndValues all; - import from LibCommon_DataStrings all; - - // LibIts - import from ITS_Container language "ASN.1:1997" all; - import from CAM_PDU_Descriptions language "ASN.1:1997" all; - import from DENM_PDU_Descriptions language "ASN.1:1997" all; - - group camValues { - - const float c_lowFrequencyGenerationTime := 0.5; //500 ms - const float c_specialVehicleGenerationTime := 0.5; //500 ms - - const AccelerationControl c_accCtrlIdle := '0000000'B; - - const ExteriorLights c_elAllLightsOff := '00000000'B; - - const VehicleRole c_vehicleRole_publicTransport := publicTransport; - const VehicleRole c_vehicleRole_specialTransport := specialTransport; - const VehicleRole c_vehicleRole_dangerousGoods := dangerousGoods; - const VehicleRole c_vehicleRole_roadWork := roadWork; - const VehicleRole c_vehicleRole_rescue := rescue; - const VehicleRole c_vehicleRole_emergency := emergency; - const VehicleRole c_vehicleRole_safetyCar := safetyCar; - - const DangerousGoodsBasic c_dangerousGoodsBasic_explosives1 := explosives1; - const DangerousGoodsBasic c_dangerousGoodsBasic_explosives2 := explosives2; - const DangerousGoodsBasic c_dangerousGoodsBasic_explosives3 := explosives3; - const DangerousGoodsBasic c_dangerousGoodsBasic_explosives4 := explosives4; - const DangerousGoodsBasic c_dangerousGoodsBasic_explosives5 := explosives5; - const DangerousGoodsBasic c_dangerousGoodsBasic_explosives6 := explosives6; - const DangerousGoodsBasic c_dangerousGoodsBasic_flammableGases := flammableGases; - const DangerousGoodsBasic c_dangerousGoodsBasic_nonFlammableGases := nonFlammableGases; - const DangerousGoodsBasic c_dangerousGoodsBasic_toxicGases := toxicGases; - const DangerousGoodsBasic c_dangerousGoodsBasic_flammableLiquids := flammableLiquids; - const DangerousGoodsBasic c_dangerousGoodsBasic_flammableSolids := flammableSolids; - const DangerousGoodsBasic c_dangerousGoodsBasic_substancesLiableToSpontaneousCombustion := substancesLiableToSpontaneousCombustion; - const DangerousGoodsBasic c_dangerousGoodsBasic_substancesEmittingFlammableGasesUponContactWithWater := substancesEmittingFlammableGasesUponContactWithWater; - const DangerousGoodsBasic c_dangerousGoodsBasic_oxidizingSubstances := oxidizingSubstances; - const DangerousGoodsBasic c_dangerousGoodsBasic_organicPeroxides := organicPeroxides; - const DangerousGoodsBasic c_dangerousGoodsBasic_toxicSubstances := toxicSubstances; - const DangerousGoodsBasic c_dangerousGoodsBasic_infectiousSubstances := infectiousSubstances; - const DangerousGoodsBasic c_dangerousGoodsBasic_radioactiveMaterial := radioactiveMaterial; - const DangerousGoodsBasic c_dangerousGoodsBasic_corrosiveSubstances := corrosiveSubstances; - const DangerousGoodsBasic c_dangerousGoodsBasic_miscellaneousDangerousSubstances := miscellaneousDangerousSubstances; - - } // end group camValues - - group certificates { - - const charstring PX_CERT_IUT_CAM_02 := "CERT_IUT_CAM_BO_02_AT"; - const charstring PX_CERT_IUT_CAM_03 := "CERT_IUT_CAM_BO_03_AT"; - - } - - group utPrimitives { - - /** - * @desc - * @member changeCurvature Changes the curvature. - * @member changeSpeed Changes the speed in cm/s. - * @member setAccelerationControlStatus Sets the acceleration control status. - * @member setExteriorLightsStatus Sets the exterior lights status. - * @member changeHeading Changes the heading. - * @member setDriveDirection Sets the drive direction. - * @member setStationType - * @member setVehicleRole - * @member setEmbarkationStatus - * @member setPtActivation - * @member setDangerousGoods - * @member setLightBarSireneStatus - * @member changeYawRate Changes the yaw rate in offsets of 0.01 degrees per second. - */ - type union UtCamTrigger { - CurvatureValue changeCurvature, - Int16 changeSpeed, - AccelerationControl setAccelerationControlStatus, - ExteriorLights setExteriorLightsStatus, - HeadingValue changeHeading, - DriveDirection setDriveDirection, - YawRateValue changeYawRate, - StationType setStationType, - VehicleRole setVehicleRole, - EmbarkationStatus setEmbarkationStatus, - PtActivation setPtActivation, - DangerousGoodsBasic setDangerousGoods, - LightBarSirenInUse setLightBarSirene - } - - /** - * @desc Upper Tester result message of request of triggering of an event at IUT - */ - type boolean UtCamTriggerResult; - - /** - * @desc Upper Tester message to check event/status on CAM IUT - */ - type record UtCamEventInd { - CAM camMsg - } with { - encode (camMsg) "LibItsCam_asn1" - } - - /** - * @desc List of Upper Tester messages to check event/status on CAM IUT - */ - type record of UtCamEventInd UtCamEventIndList; - - } with { - encode "UpperTester" - } // end utPrimitives -} -with { - encode "LibItsCam" -} diff --git a/ttcn/Common/LibItsCommon_ASN1_ISDSRC_NamedNumbers.ttcn b/ttcn/Common/LibItsCommon_ASN1_ISDSRC_NamedNumbers.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1132f612a2397509af08023390cf4b100061bd0a --- /dev/null +++ b/ttcn/Common/LibItsCommon_ASN1_ISDSRC_NamedNumbers.ttcn @@ -0,0 +1,52 @@ +//This module contains TTCN-3 values for ASN.1 named numbers, aligned with TTWorkbench name convention + +module LibItsCommon_ASN1_ISDSRC_NamedNumbers { + +import from DSRC language "ASN.1:1997" all; + + group IS_DSCR_constants { + + group LaneParameter_constants { + + const LaneAttributes_Barrier LaneAttributes_Barrier_median_RevocableLane_ := '0000000000000000'B; + const LaneAttributes_Bike LaneAttributes_Bike_bikeRevocableLane_ := '0000000000000000'B; + const LaneAttributes_Crosswalk LaneAttributes_Crosswalk_crosswalkRevocableLane_ := '0000000000000000'B; + const LaneAttributes_Parking LaneAttributes_Parking_parkingRevocableLane_ := '0000000000000000'B; + const LaneAttributes_Sidewalk LaneAttributes_Sidewalk_sidewalk_RevocableLane_ := '0000000000000000'B; + const LaneAttributes_Striping LaneAttributes_Striping_stripeToConnectingLanesRevocableLane_ := '0000000000000000'B; + const LaneAttributes_TrackedVehicle LaneAttributes_TrackedVehicle_spec_RevocableLane_ := '0000000000000000'B; + const LaneAttributes_Vehicle LaneAttributes_Vehicle_isVehicleRevocableLane_ := '00000000'B; + const LaneDirection LaneDirection_ingressPath_ := '00'B; + const LaneDirection LaneDirection_egressPath_ := '01'B; + } //end LaneParameter_constants + + group Intersection_constants { + const IntersectionStatusObject IntersectionStatusObject_manualControlIsEnabled_ := '0000000000000000'B; + const IntersectionStatusObject IntersectionStatusObject_stopTimeIsActivated_ := '0000000000000001'B; + const IntersectionStatusObject IntersectionStatusObject_failureFlash_ := '0000000000000010'B; + const IntersectionStatusObject IntersectionStatusObject_preemptIsActive_ := '0000000000000011'B; + const IntersectionStatusObject IntersectionStatusObject_signalPriorityIsActive_ := '0000000000000100'B; + const IntersectionStatusObject IntersectionStatusObject_fixedTimeOperation_ := '0000000000000101'B; + const IntersectionStatusObject IntersectionStatusObject_trafficDependentOperation_ := '0000000000000110'B; + const IntersectionStatusObject IntersectionStatusObject_standbyOperation_ := '0000000000000111'B; + const IntersectionStatusObject IntersectionStatusObject_failureMode_ := '0000000000001000'B; + const IntersectionStatusObject IntersectionStatusObject_off_ := '0000000000001001'B; + const IntersectionStatusObject IntersectionStatusObject_recentMAPmessageUpdate_ := '0000000000001010'B; + const IntersectionStatusObject IntersectionStatusObject_recentChangeInMAPassignedLanesIDsUsed_ := '0000000000001011'B; + const IntersectionStatusObject IntersectionStatusObject_noValidMAPisAvailableAtThisTime_ := '0000000000001100'B; + const IntersectionStatusObject IntersectionStatusObject_noValidSPATisAvailableAtThisTime_ := '0000000000001101'B; + } // End of group Intersection_constants + + group requestor_description { + const TransitVehicleStatus TransitVehicleStatus_loading_ := '10000000'B; + const TransitVehicleStatus TransitVehicleStatus_anADAuse_ := '01000000'B; + const TransitVehicleStatus TransitVehicleStatus_aBikeLoad_ := '00100000'B; + const TransitVehicleStatus TransitVehicleStatus_doorOpen_ := '00010000'B; + const TransitVehicleStatus TransitVehicleStatus_charging_ := '00001000'B; + const TransitVehicleStatus TransitVehicleStatus_atStopLine_ := '00000100'B; + + } // End of of group requestor_description + + } // End of group IS_DSCR_constants + +} // End of module LibItsCommon_ASN1_ISDSRC_NamedNumbers diff --git a/ttcn/Common/LibItsCommon_ASN1_NamedNumbers.ttcn b/ttcn/Common/LibItsCommon_ASN1_NamedNumbers.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1a401f4bc29abf45431285e11ad01129ee92d3f8 --- /dev/null +++ b/ttcn/Common/LibItsCommon_ASN1_NamedNumbers.ttcn @@ -0,0 +1,303 @@ +//This module contains TTCN-3 values for ASN.1 named numbers, aligned with TTWorkbench name convention + +module LibItsCommon_ASN1_NamedNumbers { + + import from ITS_Container language "ASN.1:2008" all; + +// import from IVI language "ASN.1:1997" { +// type IviStatus +// } + + group commonConstants { + + const AccelerationConfidence AccelerationConfidence_pointOneMeterPerSecSquared_ := 1; + const AccelerationConfidence AccelerationConfidence_outOfRange_ := 101; + const AccelerationConfidence AccelerationConfidence_unavailable_ := 102; + + const AccelerationControl AccelerationControl_brakePedalEngaged_ := '1000000'B; + const AccelerationControl AccelerationControl_gasPedalEngaged_ := '0100000'B; + const AccelerationControl AccelerationControl_emergencyBrakeEngaged_ := '0010000'B; + const AccelerationControl AccelerationControl_collisionWarningEngaged_ := '0001000'B; + const AccelerationControl AccelerationControl_accEngaged_ := '0000100'B; + const AccelerationControl AccelerationControl_cruiseControlEngaged_ := '0000010'B; + const AccelerationControl AccelerationControl_speedLimiterEngaged_ := '0000001'B; + + const AltitudeValue AltitudeValue_referenceEllipsoidSurface_ := 0; + const AltitudeValue AltitudeValue_oneCentimeter_ := 1; + const AltitudeValue AltitudeValue_unavailable_ := 800001; + + const CurvatureValue CurvatureValue_straight_ := 0; + const CurvatureValue CurvatureValue_reciprocalOf1MeterRadiusToRight_ := -1023; + const CurvatureValue CurvatureValue_reciprocalOf1MeterRadiusToLeft_ := 1023; + const CurvatureValue CurvatureValue_unavailable_ := 1023; + + const ExteriorLights ExteriorLights_lowBeamHeadlightsOn_ := '10000000'B; + const ExteriorLights ExteriorLights_highBeamHeadlightsOn_ := '01000000'B; + const ExteriorLights ExteriorLights_leftTurnSignalOn_ := '00100000'B; + const ExteriorLights ExteriorLights_rightTurnSignalOn_ := '00010000'B; + const ExteriorLights ExteriorLights_daytimeRunningLightsOn_ := '00001000'B; + const ExteriorLights ExteriorLights_reverseLightOn_ := '00000100'B; + const ExteriorLights ExteriorLights_fogLightOn_ := '00000010'B; + const ExteriorLights ExteriorLights_parkingLightsOn_ := '00000001'B; + + const HeadingConfidence HeadingConfidence_withinZeroPointOneDegree_ := 1; + + const HeadingValue HeadingValue_wgs84North_ := 0; + + const ItsPduHeader.protocolVersion ItsPduHeader_protocolVersion_currentVersion_ := 2; + const ItsPduHeader.messageID ItsPduHeader_messageID_denm_ := 1; + const ItsPduHeader.messageID ItsPduHeader_messageID_cam_ := 2; + const ItsPduHeader.messageID ItsPduHeader_messageID_poi_ := 3; + const ItsPduHeader.messageID ItsPduHeader_messageID_spatem_ := 4; + const ItsPduHeader.messageID ItsPduHeader_messageID_mapem_ := 5; + const ItsPduHeader.messageID ItsPduHeader_messageID_ivim_ := 6; + const ItsPduHeader.messageID ItsPduHeader_messageID_ev_rsr_ := 7; + const ItsPduHeader.messageID ItsPduHeader_messageID_tistpgtransaction_ := 8; + const ItsPduHeader.messageID ItsPduHeader_messageID_srem_ := 9; + const ItsPduHeader.messageID ItsPduHeader_messageID_ssem_ := 10; + const ItsPduHeader.messageID ItsPduHeader_messageID_evcsn_ := 11; + const ItsPduHeader.messageID ItsPduHeader_messageID_saem_ := 12; + const ItsPduHeader.messageID ItsPduHeader_messageID_rtcmem_ := 13; + + const LanePosition LanePosition_offTheRoad_ := -1; + const LanePosition LanePosition_innerHardShoulder_ := 0; + + const LongitudinalAccelerationValue LongitudinalAccelerationValue_unavailable_ := 161; + + const SemiAxisLength SemiAxisLength_oneCentimeter_ := 1; + const SemiAxisLength SemiAxisLength_outOfRange_ := 4094; + const SemiAxisLength SemiAxisLength_unavailable_ := 4095; + + const StationType StationType_unknown_ := 0; + const StationType StationType_pedestrian_ := 1; + const StationType StationType_cyclist_ := 2; + const StationType StationType_moped_ := 3; + const StationType StationType_motorcycle_ := 4; + const StationType StationType_passengerCar_ := 5; + const StationType StationType_bus_ := 6; + const StationType StationType_lightTruck_ := 7; + const StationType StationType_heavyTruck_ := 8; + const StationType StationType_trailer_ := 9; + const StationType StationType_specialVehicles_ := 10; + const StationType StationType_tram_ := 11; + const StationType StationType_roadSideUnit_ := 15; + + const YawRateValue YawRateValue_straight_ := 0; + + group causeCodes { + const CauseCodeType CauseCodeType_reserved_ := 0; + const CauseCodeType CauseCodeType_trafficCondition_ := 1; + const CauseCodeType CauseCodeType_accident_ := 2; + const CauseCodeType CauseCodeType_roadworks_ := 3; + const CauseCodeType CauseCodeType_adverseWeatherCondition_Adhesion_ := 6; + const CauseCodeType CauseCodeType_hazardousLocation_SurfaceCondition_ := 9; + const CauseCodeType CauseCodeType_hazardousLocation_ObstacleOnTheRoad_ := 10; + const CauseCodeType CauseCodeType_hazardousLocation_AnimalOnTheRoad_ := 11; + const CauseCodeType CauseCodeType_humanPresenceOnTheRoad_ := 12; + const CauseCodeType CauseCodeType_wrongWayDriving_ := 14; + const CauseCodeType CauseCodeType_rescueAndRecoveryWorkInProgress_ := 15; + const CauseCodeType CauseCodeType_adverseWeatherCondition_ExtremeWeatherCondition_ := 17; + const CauseCodeType CauseCodeType_adverseWeatherCondition_Visibility_ := 18; + const CauseCodeType CauseCodeType_adverseWeatherCondition_Precipitation_ := 19; + const CauseCodeType CauseCodeType_slowVehicle_ := 26; + const CauseCodeType CauseCodeType_dangerousEndOfQueue_ := 27; + const CauseCodeType CauseCodeType_vehicleBreakdown_ := 91; + const CauseCodeType CauseCodeType_postCrash_ := 92; + const CauseCodeType CauseCodeType_humanProblem_ := 93; + const CauseCodeType CauseCodeType_stationaryVehicle_ := 94; + const CauseCodeType CauseCodeType_emergencyVehicleApproaching_ := 95; + const CauseCodeType CauseCodeType_hazardousLocation_DangerousCurve_ := 96; + const CauseCodeType CauseCodeType_collisionRisk_ := 97; + const CauseCodeType CauseCodeType_signalViolation_ := 98; + const CauseCodeType CauseCodeType_dangerousSituation_ := 99; + + } // end group causeCodes + + group subCauseCodes { + + const SubCauseCodeType SubCauseCodeType_unavailable_ := 0; + + const TrafficConditionSubCauseCode TrafficConditionSubCauseCode_unavailable_ := 0; + const TrafficConditionSubCauseCode TrafficConditionSubCauseCode_increasedVolumeOfTraffic_ := 1; + const TrafficConditionSubCauseCode TrafficConditionSubCauseCode_trafficJamSlowlyIncreasing_ := 2; + const TrafficConditionSubCauseCode TrafficConditionSubCauseCode_trafficJamIncreasing_ := 3; + const TrafficConditionSubCauseCode TrafficConditionSubCauseCode_trafficJamStronglyIncreasing_ := 4; + const TrafficConditionSubCauseCode TrafficConditionSubCauseCode_trafficStationary_ := 5; + const TrafficConditionSubCauseCode TrafficConditionSubCauseCode_trafficJamSlightlyDecreasing_ := 6; + const TrafficConditionSubCauseCode TrafficConditionSubCauseCode_trafficJamDecreasing_ := 7; + const TrafficConditionSubCauseCode TrafficConditionSubCauseCode_trafficJamStronglyDecreasing_ := 8; + + const AccidentSubCauseCode AccidentSubCauseCode_unavailable_ := 0; + const AccidentSubCauseCode AccidentSubCauseCode_multiVehicleAccident_ := 1; + const AccidentSubCauseCode AccidentSubCauseCode_heavyAccident_ := 2; + const AccidentSubCauseCode AccidentSubCauseCode_accidentInvolvingLorry_ := 3; + const AccidentSubCauseCode AccidentSubCauseCode_accidentInvolvingBus_ := 4; + const AccidentSubCauseCode AccidentSubCauseCode_accidentInvolvingHazardousMaterials_ := 5; + const AccidentSubCauseCode AccidentSubCauseCode_accidentOnOppositeLane_ := 6; + const AccidentSubCauseCode AccidentSubCauseCode_unsecuredAccident_ := 7; + const AccidentSubCauseCode AccidentSubCauseCode_assistanceRequested_ := 8; + + const RoadworksSubCauseCode RoadworksSubCauseCode_unavailable_ := 0; + const RoadworksSubCauseCode RoadworksSubCauseCode_majorRoadworks_ := 1; + const RoadworksSubCauseCode RoadworksSubCauseCode_roadMarkingWork_ := 2; + const RoadworksSubCauseCode RoadworksSubCauseCode_slowMovingRoadMaintenance_ := 3; + const RoadworksSubCauseCode RoadworksSubCauseCode_shortTermStationaryRoadworks_ := 4; + const RoadworksSubCauseCode RoadworksSubCauseCode_streetCleaning_ := 5; + const RoadworksSubCauseCode RoadworksSubCauseCode_winterService_ := 6; + + const HumanPresenceOnTheRoadSubCauseCode HumanPresenceOnTheRoadSubCauseCode_unavailable_ := 0; + const HumanPresenceOnTheRoadSubCauseCode HumanPresenceOnTheRoadSubCauseCode_childrenOnRoadway_ := 1; + const HumanPresenceOnTheRoadSubCauseCode HumanPresenceOnTheRoadSubCauseCode_cyclistOnRoadway_ := 2; + const HumanPresenceOnTheRoadSubCauseCode HumanPresenceOnTheRoadSubCauseCode_motorcyclistOnRoadway_ := 3; + + const WrongWayDrivingSubCauseCode WrongWayDrivingSubCauseCode_unavailable_ := 0; + const WrongWayDrivingSubCauseCode WrongWayDrivingSubCauseCode_wrongLane_ := 1; + const WrongWayDrivingSubCauseCode WrongWayDrivingSubCauseCode_wrongDirection_ := 2; + + const AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_unavailable_ := 0; + const AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_strongWinds_ := 1; + const AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_damagingHail_ := 2; + const AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_hurricane_ := 3; + const AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_thunderstorm_ := 4; + const AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_tornado_ := 5; + const AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_blizzard_ := 6; + + const AdverseWeatherCondition_AdhesionSubCauseCode AdverseWeatherCondition_AdhesionSubCauseCode_unavailable_ := 0; + const AdverseWeatherCondition_AdhesionSubCauseCode AdverseWeatherCondition_AdhesionSubCauseCode_heavyFrostOnRoad_ := 1; + const AdverseWeatherCondition_AdhesionSubCauseCode AdverseWeatherCondition_AdhesionSubCauseCode_fuelOnRoad_ := 2; + const AdverseWeatherCondition_AdhesionSubCauseCode AdverseWeatherCondition_AdhesionSubCauseCode_mudOnRoad_ := 3; + const AdverseWeatherCondition_AdhesionSubCauseCode AdverseWeatherCondition_AdhesionSubCauseCode_snowOnRoad_ := 4; + const AdverseWeatherCondition_AdhesionSubCauseCode AdverseWeatherCondition_AdhesionSubCauseCode_iceOnRoad_ := 5; + const AdverseWeatherCondition_AdhesionSubCauseCode AdverseWeatherCondition_AdhesionSubCauseCode_blackIceOnRoad_ := 6; + const AdverseWeatherCondition_AdhesionSubCauseCode AdverseWeatherCondition_AdhesionSubCauseCode_oilOnRoad_ := 7; + const AdverseWeatherCondition_AdhesionSubCauseCode AdverseWeatherCondition_AdhesionSubCauseCode_looseChippings_ := 8; + const AdverseWeatherCondition_AdhesionSubCauseCode AdverseWeatherCondition_AdhesionSubCauseCode_instantBlackIce_ := 9; + const AdverseWeatherCondition_AdhesionSubCauseCode AdverseWeatherCondition_AdhesionSubCauseCode_roadsSalted_ := 10; + + const AdverseWeatherCondition_VisibilitySubCauseCode AdverseWeatherCondition_VisibilitySubCauseCode_unavailable_ := 0; + const AdverseWeatherCondition_VisibilitySubCauseCode AdverseWeatherCondition_VisibilitySubCauseCode_fog_ := 1; + const AdverseWeatherCondition_VisibilitySubCauseCode AdverseWeatherCondition_VisibilitySubCauseCode_smoke_ := 2; + const AdverseWeatherCondition_VisibilitySubCauseCode AdverseWeatherCondition_VisibilitySubCauseCode_heavySnowfall_ := 3; + const AdverseWeatherCondition_VisibilitySubCauseCode AdverseWeatherCondition_VisibilitySubCauseCode_heavyRain_ := 4; + const AdverseWeatherCondition_VisibilitySubCauseCode AdverseWeatherCondition_VisibilitySubCauseCode_heavyHail_ := 5; + const AdverseWeatherCondition_VisibilitySubCauseCode AdverseWeatherCondition_VisibilitySubCauseCode_lowSunGlare_ := 6; + const AdverseWeatherCondition_VisibilitySubCauseCode AdverseWeatherCondition_VisibilitySubCauseCode_sandstorms_ := 7; + const AdverseWeatherCondition_VisibilitySubCauseCode AdverseWeatherCondition_VisibilitySubCauseCode_swarmsOfInsects_ := 8; + + const AdverseWeatherCondition_PrecipitationSubCauseCode AdverseWeatherCondition_PrecipitationSubCauseCode_unavailable_ := 0; + const AdverseWeatherCondition_PrecipitationSubCauseCode AdverseWeatherCondition_PrecipitationSubCauseCode_heavyRain_ := 1; + const AdverseWeatherCondition_PrecipitationSubCauseCode AdverseWeatherCondition_PrecipitationSubCauseCode_heavySnowfall_ := 2; + const AdverseWeatherCondition_PrecipitationSubCauseCode AdverseWeatherCondition_PrecipitationSubCauseCode_softHail_ := 3; + + const SlowVehicleSubCauseCode SlowVehicleSubCauseCode_unavailable_ := 0; + const SlowVehicleSubCauseCode SlowVehicleSubCauseCode_maintenanceVehicle_ := 1; + const SlowVehicleSubCauseCode SlowVehicleSubCauseCode_vehiclesSlowingToLookAtAccident_ := 2; + const SlowVehicleSubCauseCode SlowVehicleSubCauseCode_abnormalLoad_ := 3; + const SlowVehicleSubCauseCode SlowVehicleSubCauseCode_abnormalWideLoad_ := 4; + const SlowVehicleSubCauseCode SlowVehicleSubCauseCode_convoy_ := 5; + const SlowVehicleSubCauseCode SlowVehicleSubCauseCode_snowplough_ := 6; + const SlowVehicleSubCauseCode SlowVehicleSubCauseCode_deicing_ := 7; + const SlowVehicleSubCauseCode SlowVehicleSubCauseCode_saltingVehicles_ := 8; + + const StationaryVehicleSubCauseCode StationaryVehicleSubCauseCode_unavailable_ := 0; + const StationaryVehicleSubCauseCode StationaryVehicleSubCauseCode_humanProblem_ := 1; + const StationaryVehicleSubCauseCode StationaryVehicleSubCauseCode_vehicleBreakdown_ := 2; + const StationaryVehicleSubCauseCode StationaryVehicleSubCauseCode_postCrash_ := 3; + const StationaryVehicleSubCauseCode StationaryVehicleSubCauseCode_publicTransportStop_ := 4; + const StationaryVehicleSubCauseCode StationaryVehicleSubCauseCode_carryingDangerousGoods_ := 5; + + const HumanProblemSubCauseCode HumanProblemSubCauseCode_unavailable_ := 0; + const HumanProblemSubCauseCode HumanProblemSubCauseCode_glycemiaProblem_ := 1; + const HumanProblemSubCauseCode HumanProblemSubCauseCode_heartProblem_ := 2; + + const EmergencyVehicleApproachingSubCauseCode EmergencyVehicleApproachingSubCauseCode_unavailable_ := 0; + const EmergencyVehicleApproachingSubCauseCode EmergencyVehicleApproachingSubCauseCode_emergencyVehicleApproaching_ := 1; + const EmergencyVehicleApproachingSubCauseCode EmergencyVehicleApproachingSubCauseCode_prioritizedVehicleApproaching_ := 2; + + const HazardousLocation_DangerousCurveSubCauseCode HazardousLocation_DangerousCurveSubCauseCode_unavailable_ := 0; + const HazardousLocation_DangerousCurveSubCauseCode HazardousLocation_DangerousCurveSubCauseCode_dangerousLeftTurnCurve_ := 1; + const HazardousLocation_DangerousCurveSubCauseCode HazardousLocation_DangerousCurveSubCauseCode_dangerousRightTurnCurve_ := 2; + const HazardousLocation_DangerousCurveSubCauseCode HazardousLocation_DangerousCurveSubCauseCode_multipleCurvesStartingWithUnknownTurningDirection_ := 3; + const HazardousLocation_DangerousCurveSubCauseCode HazardousLocation_DangerousCurveSubCauseCode_multipleCurvesStartingWithLeftTurn_ := 4; + const HazardousLocation_DangerousCurveSubCauseCode HazardousLocation_DangerousCurveSubCauseCode_multipleCurvesStartingWithRightTurn_ := 5; + + const HazardousLocation_SurfaceConditionSubCauseCode HazardousLocation_SurfaceConditionSubCauseCode_unavailable_ := 0; + const HazardousLocation_SurfaceConditionSubCauseCode HazardousLocation_SurfaceConditionSubCauseCode_rockfalls_ := 1; + const HazardousLocation_SurfaceConditionSubCauseCode HazardousLocation_SurfaceConditionSubCauseCode_earthquakeDamage_ := 2; + const HazardousLocation_SurfaceConditionSubCauseCode HazardousLocation_SurfaceConditionSubCauseCode_sewerCollapse_ := 3; + const HazardousLocation_SurfaceConditionSubCauseCode HazardousLocation_SurfaceConditionSubCauseCode_subsidence_ := 4; + const HazardousLocation_SurfaceConditionSubCauseCode HazardousLocation_SurfaceConditionSubCauseCode_snowDrifts_ := 5; + const HazardousLocation_SurfaceConditionSubCauseCode HazardousLocation_SurfaceConditionSubCauseCode_stormDamage_ := 6; + const HazardousLocation_SurfaceConditionSubCauseCode HazardousLocation_SurfaceConditionSubCauseCode_burstPipe_ := 7; + const HazardousLocation_SurfaceConditionSubCauseCode HazardousLocation_SurfaceConditionSubCauseCode_volcanoEruption_ := 8; + const HazardousLocation_SurfaceConditionSubCauseCode HazardousLocation_SurfaceConditionSubCauseCode_fallingIce_ := 9; + + const HazardousLocation_ObstacleOnTheRoadSubCauseCode HazardousLocation_ObstacleOnTheRoadSubCauseCode_unavailable_ := 0; + const HazardousLocation_ObstacleOnTheRoadSubCauseCode HazardousLocation_ObstacleOnTheRoadSubCauseCode_shedLoad_ := 1; + const HazardousLocation_ObstacleOnTheRoadSubCauseCode HazardousLocation_ObstacleOnTheRoadSubCauseCode_partsOfVehicles_ := 2; + const HazardousLocation_ObstacleOnTheRoadSubCauseCode HazardousLocation_ObstacleOnTheRoadSubCauseCode_partsOfTyres_ := 3; + const HazardousLocation_ObstacleOnTheRoadSubCauseCode HazardousLocation_ObstacleOnTheRoadSubCauseCode_bigObjects_ := 4; + const HazardousLocation_ObstacleOnTheRoadSubCauseCode HazardousLocation_ObstacleOnTheRoadSubCauseCode_fallenTrees_ := 5; + const HazardousLocation_ObstacleOnTheRoadSubCauseCode HazardousLocation_ObstacleOnTheRoadSubCauseCode_hubCaps_ := 6; + const HazardousLocation_ObstacleOnTheRoadSubCauseCode HazardousLocation_ObstacleOnTheRoadSubCauseCode_waitingVehicles_ := 7; + + const HazardousLocation_AnimalOnTheRoadSubCauseCode HazardousLocation_AnimalOnTheRoadSubCauseCode_unavailable_ := 0; + const HazardousLocation_AnimalOnTheRoadSubCauseCode HazardousLocation_AnimalOnTheRoadSubCauseCode_wildAnimals_ := 1; + const HazardousLocation_AnimalOnTheRoadSubCauseCode HazardousLocation_AnimalOnTheRoadSubCauseCode_herdOfAnimals_ := 2; + const HazardousLocation_AnimalOnTheRoadSubCauseCode HazardousLocation_AnimalOnTheRoadSubCauseCode_smallAnimals_ := 3; + const HazardousLocation_AnimalOnTheRoadSubCauseCode HazardousLocation_AnimalOnTheRoadSubCauseCode_largeAnimals_ := 4; + + const CollisionRiskSubCauseCode CollisionRiskSubCauseCode_unavailable_ := 0; + const CollisionRiskSubCauseCode CollisionRiskSubCauseCode_longitudinalCollisionRisk_ := 1; + const CollisionRiskSubCauseCode CollisionRiskSubCauseCode_crossingCollisionRisk_ := 2; + const CollisionRiskSubCauseCode CollisionRiskSubCauseCode_lateralCollisionRisk_ := 3; + const CollisionRiskSubCauseCode CollisionRiskSubCauseCode_vulnerableRoadUser_ := 4; + + const SignalViolationSubCauseCode SignalViolationSubCauseCode_unavailable_ := 0; + const SignalViolationSubCauseCode SignalViolationSubCauseCode_stopSignViolation_ := 1; + const SignalViolationSubCauseCode SignalViolationSubCauseCode_trafficLightViolation_ := 2; + const SignalViolationSubCauseCode SignalViolationSubCauseCode_turningRegulationViolation_ := 3; + + const RescueAndRecoveryWorkInProgressSubCauseCode RescueAndRecoveryWorkInProgressSubCauseCode_unavailable_ := 0; + const RescueAndRecoveryWorkInProgressSubCauseCode RescueAndRecoveryWorkInProgressSubCauseCode_emergencyVehicles_ := 1; + const RescueAndRecoveryWorkInProgressSubCauseCode RescueAndRecoveryWorkInProgressSubCauseCode_rescueHelicopterLanding_ := 2; + const RescueAndRecoveryWorkInProgressSubCauseCode RescueAndRecoveryWorkInProgressSubCauseCode_policeActivityOngoing_ := 3; + const RescueAndRecoveryWorkInProgressSubCauseCode RescueAndRecoveryWorkInProgressSubCauseCode_medicalEmergencyOngoing_ := 4; + const RescueAndRecoveryWorkInProgressSubCauseCode RescueAndRecoveryWorkInProgressSubCauseCode_childAbductionInProgress_ := 5; + + const DangerousEndOfQueueSubCauseCode DangerousEndOfQueueSubCauseCode_unavailable_ := 0; + const DangerousEndOfQueueSubCauseCode DangerousEndOfQueueSubCauseCode_suddenEndOfQueue_ := 1; + const DangerousEndOfQueueSubCauseCode DangerousEndOfQueueSubCauseCode_queueOverHill_ := 2; + const DangerousEndOfQueueSubCauseCode DangerousEndOfQueueSubCauseCode_queueAroundBend_ := 3; + const DangerousEndOfQueueSubCauseCode DangerousEndOfQueueSubCauseCode_queueInTunnel_ := 4; + + const DangerousSituationSubCauseCode DangerousSituationSubCauseCode_unavailable_ := 0; + const DangerousSituationSubCauseCode DangerousSituationSubCauseCode_emergencyElectronicBrakeEngaged_ := 1; + const DangerousSituationSubCauseCode DangerousSituationSubCauseCode_preCrashSystemEngaged_ := 2; + const DangerousSituationSubCauseCode DangerousSituationSubCauseCode_espEngaged_ := 3; + const DangerousSituationSubCauseCode DangerousSituationSubCauseCode_absEngaged_ := 4; + const DangerousSituationSubCauseCode DangerousSituationSubCauseCode_aebEngaged_ := 5; + const DangerousSituationSubCauseCode DangerousSituationSubCauseCode_brakeWarningEngaged_ := 6; + const DangerousSituationSubCauseCode DangerousSituationSubCauseCode_collisionRiskWarningEngaged_ := 7; + + const VehicleBreakdownSubCauseCode VehicleBreakdownSubCauseCode_unavailable_ := 0; + const VehicleBreakdownSubCauseCode VehicleBreakdownSubCauseCode_lackOfFuel_ := 1; + const VehicleBreakdownSubCauseCode VehicleBreakdownSubCauseCode_lackOfBatteryPower_ := 2; + const VehicleBreakdownSubCauseCode VehicleBreakdownSubCauseCode_engineProblem_ := 3; + const VehicleBreakdownSubCauseCode VehicleBreakdownSubCauseCode_transmissionProblem_ := 4; + const VehicleBreakdownSubCauseCode VehicleBreakdownSubCauseCode_engineCoolingProblem_ := 5; + const VehicleBreakdownSubCauseCode VehicleBreakdownSubCauseCode_brakingSystemProblem_ := 6; + const VehicleBreakdownSubCauseCode VehicleBreakdownSubCauseCode_steeringProblem_ := 7; + const VehicleBreakdownSubCauseCode VehicleBreakdownSubCauseCode_tyrePuncture_ := 8; + + const PostCrashSubCauseCode PostCrashSubCauseCode_unavailable_ := 0; + const PostCrashSubCauseCode PostCrashSubCauseCode_accidentWithoutECallTriggered_ := 1; + const PostCrashSubCauseCode PostCrashSubCauseCode_accidentWithECallManuallyTriggered_ := 2; + const PostCrashSubCauseCode PostCrashSubCauseCode_accidentWithECallAutomaticallyTriggered_ := 3; + const PostCrashSubCauseCode PostCrashSubCauseCode_accidentWithECallTriggeredWithoutAccessToCellularNetwork_ := 4; + + } // End of group subCauseCodes + + } // End of group commonConstants + +} // End of module LibIts_ASN1_NamedNumbers diff --git a/ttcn/Common/LibItsCommon_Functions.ttcn b/ttcn/Common/LibItsCommon_Functions.ttcn index 3d7dd52191b63aa4b18e31ed49b68df11e683a63..7424c4847b006953133f2e3845087a81ace2933b 100644 --- a/ttcn/Common/LibItsCommon_Functions.ttcn +++ b/ttcn/Common/LibItsCommon_Functions.ttcn @@ -1,7 +1,7 @@ /** * @author ETSI / STF405 / STF449 / STF484 / STF517 - * @version $URL$ - * $Id$ + * @version $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/Common/LibItsCommon_Functions.ttcn $ + * $Id: LibItsCommon_Functions.ttcn 1318 2017-01-26 10:20:53Z filatov $ * @desc Module containing common functions for ITS * @copyright ETSI Copyright Notification * No part may be reproduced except as authorized by written permission. @@ -13,14 +13,14 @@ module LibItsCommon_Functions { // LibCommon - import from LibCommon_Sync all; - import from LibCommon_VerdictControl all; +// import from LibCommon_Sync all; +// import from LibCommon_VerdictControl all; import from LibCommon_BasicTypesAndValues all; // LibIts import from LibItsCommon_Pixits all; import from ITS_Container language "ASN.1:1997" all; - import from DSRC language "ASN.1:1997" all; +// import from DSRC language "ASN.1:1997" all; group generalFunctions { @@ -117,12 +117,25 @@ module LibItsCommon_Functions { return v_timeStamp; } + /** + * @desc Gets the current time since 01/01/1970 in UTC format + * @return The current time since 01/01/1970 in UTC format in milliseconds + */ + function f_getCurrentTimeUtc() return UInt64 { + var UInt64 v_time := 0; + +// log("*** f_getCurrentTimeUtc: INFO: calling fx_getCurrentTimeUtc() ***"); + v_time := fx_getCurrentTimeUtc(); + + return v_time; + } + /** * @desc Gets the current time since 01/01/2004 * @return TimeMark - tenths of a second in the current or next hour in units of 1/10th second from UTC time */ - function f_getCurrentTimeMark() return TimeMark { - var TimeMark v_timeMark := 0; + function f_getCurrentTimeMark() return UInt32 { + var UInt32 v_timeMark := 0; // log("*** f_getCurrentTimeMark: INFO: calling fx_getCurrentTimeMark() ***"); v_timeMark := fx_getCurrentTimeMark(); @@ -134,8 +147,8 @@ module LibItsCommon_Functions { * @desc Gets the Minute of current UTC year * @return MinuteOfTheYear - tenths of a second in the current or next hour in units of 1/10th second from UTC time */ - function f_getMinuteOfTheYear() return MinuteOfTheYear { - var MinuteOfTheYear v_minuteOfTheYear := 0; + function f_getMinuteOfTheYear() return UInt16 { + var UInt16 v_minuteOfTheYear := 0; // log("*** f_getMinuteOfTheYear: INFO: calling fx_getMinuteOfTheYear() ***"); v_minuteOfTheYear := fx_getMinuteOfTheYear(); @@ -147,8 +160,8 @@ module LibItsCommon_Functions { * @desc Gets the milliseconds point in the current UTC minute * @return DSecond - The milliseconds point in the current UTC minute (0..60000) */ - function f_getDSecond() return DSecond { - var DSecond v_dSecond := 0; + function f_getDSecond() return UInt16 { + var UInt16 v_dSecond := 0; // log("*** f_getDSecond: INFO: calling fx_getDSecond() ***"); v_dSecond := fx_getDSecond(); @@ -218,6 +231,11 @@ module LibItsCommon_Functions { } // end f_getTsLongitude + function f_getTimeForGpsFix() return integer { + + return PX_TIME_FOR_GPS_FIX; + } + } // end itsFunctions group externalFunctions { @@ -228,6 +246,12 @@ module LibItsCommon_Functions { */ external function fx_getCurrentTime() return UInt64; + /** + * @desc Gets the current time since 01/01/1970 in UTC format + * @return The current time since 01/01/1970 in UTC format + */ + external function fx_getCurrentTimeUtc() return UInt64; + /** * @desc Gets the tenths of a second in the current or next hour in units of 1/10th second from UTC time * @return TimeMark - tenths of a second in the current or next hour in units of 1/10th second from UTC time @@ -288,4 +312,4 @@ module LibItsCommon_Functions { } // end externalFunctions -} // end of module \ No newline at end of file +} // end of module diff --git a/ttcn/Common/LibItsCommon_Pixits.ttcn b/ttcn/Common/LibItsCommon_Pixits.ttcn index 964b38acc7045aa18029bea2c5ff79c40d204d6f..9768708f8dac0c658e53d747b65e80539ff79004 100644 --- a/ttcn/Common/LibItsCommon_Pixits.ttcn +++ b/ttcn/Common/LibItsCommon_Pixits.ttcn @@ -1,7 +1,7 @@ /** * @author ETSI / STF405 / STF449 / STF484 / STF517 - * @version $URL$ - * $Id$ + * @version $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/Common/LibItsCommon_Pixits.ttcn $ + * $Id: LibItsCommon_Pixits.ttcn 1318 2017-01-26 10:20:53Z filatov $ * @desc Common PIXITS * @copyright ETSI Copyright Notification * No part may be reproduced except as authorized by written permission. @@ -55,6 +55,21 @@ module LibItsCommon_Pixits { */ modulepar boolean PX_GNSS_SCENARIO_SUPPORT := false; + /** + * @desc Time to guard awaiting the distance covered indication + */ + modulepar float PX_T_GNSS_AWAIT_DISTANCE_COVERED := 120.0; + + /** + * @desc Time to guard awaiting the speed reached indication + */ + modulepar float PX_T_GNSS_AWAIT_SPEED_REACHED := 120.0; + + /** + * @desc Estimated time till DUT gets GPSFix after GPS position data are provided (sec) + */ + modulepar integer PX_TIME_FOR_GPS_FIX := 60; + /** * @desc The certificate identifier the TA shall use in case of secured IUT. Default: CERT_IUT_A_AT * @remark If the IUT cannot use the test certificates, set this PIXIT to CERT_NONE diff --git a/ttcn/Common/LibItsCommon_Templates.ttcn b/ttcn/Common/LibItsCommon_Templates.ttcn index 16f4f7c5416ed0de2e2dee6b211564cb9cb8c95b..f0c5e5f54ffb652b5997582266369d44f008afa0 100644 --- a/ttcn/Common/LibItsCommon_Templates.ttcn +++ b/ttcn/Common/LibItsCommon_Templates.ttcn @@ -1,103 +1,130 @@ -/** - * @author ETSI / STF405 / STF449 / STF484 / STF517 - * @version $URL$ - * $Id$ - * @desc Module containing base template definitions for DENM - * @copyright ETSI Copyright Notification - * No part may be reproduced except as authorized by written permission. - * The copyright and the foregoing restriction extend to reproduction in all media. - * All rights reserved. - * - */ -module LibItsCommon_Templates { - - import from ITS_Container language "ASN.1:1997" all; - - // LibItsCommon - import from LibItsCommon_TypesAndValues all; - - group taPrimitives { - - template (value) AcSecResponse m_acSecResponseSuccess := true; - - /** - * @desc Enable security support - */ - template (value) AcSecPrimitive m_acEnableSecurity( - in charstring p_certificateId, - in boolean p_enforceSecurity := false - ) := { - acEnableSecurity := { - certificateId := p_certificateId, - enforceSecurity := p_enforceSecurity - } - } // End of template m_acEnableSecurity - - /** - * @desc Disable security support - */ - template (value) AcSecPrimitive m_acDisableSecurity := { - acDisableSecurity := { - disable := true - } - } // End of template m_acDisableSecurity - - template AcGnssResponse m_acGnssResponseSuccess := true; - - template AcGnssDistanceCovered m_acGnssDistanceCovered := true; - - /** - * @desc Testsystem will load GNSS scenario - */ - template AcGnssPrimitive m_loadScenario(Scenario p_scenario) := { - loadScenario := { - scenario := p_scenario - } - } - - /** - * @desc Testsystem will start GNSS scenario - */ - template AcGnssPrimitive m_startScenario := { - startScenario := { - } - } - - /** - * @desc Testsystem will stop GNSS scenario - */ - template AcGnssPrimitive m_stopScenario := { - stopScenario := { - } - } - - /** - * @desc Testsystem will request indication if distance was covered - */ - template AcGnssPrimitive m_distanceToCover(float p_distance) := { - distanceToCover := { - distance := p_distance - } - } - - /** - * @desc Testsystem will change the speed (delta value) - */ - template AcGnssPrimitive m_changeScenarioSpeed(SpeedValue p_deltaSpeedValue) := { - changeSpeed := { - deltaSpeed := p_deltaSpeedValue - } - } - - /** - * @desc Testsystem will change the heading (delta value) - */ - template AcGnssPrimitive m_changeScenarioHeading(HeadingValue p_deltaHeadingValue) := { - changeHeading := { - deltaHeading := p_deltaHeadingValue - } - } - - } // end taPrimitives - -} +/** + * @author ETSI / STF405 / STF449 / STF484 / STF517 + * @version $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/Common/LibItsCommon_Templates.ttcn $ + * $Id: LibItsCommon_Templates.ttcn 1318 2017-01-26 10:20:53Z filatov $ + * @desc Module containing base template definitions for DENM + * @copyright ETSI Copyright Notification + * No part may be reproduced except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * All rights reserved. + * + */ +module LibItsCommon_Templates { + + import from ITS_Container language "ASN.1:1997" all; + + // LibItsCommon + import from LibItsCommon_TypesAndValues all; + + group taPrimitives { + + template (value) AdapterControlResults m_acSecResponseSuccess := {acSecResponse:=true}; + + /** + * @desc Enable security support + */ + template (value) AcSecPrimitive m_acEnableSecurity( + in charstring p_certificateId, + in boolean p_enforceSecurity := false + ) := { + acEnableSecurity := { + certificateId := p_certificateId, + enforceSecurity := p_enforceSecurity + } + } // End of template m_acEnableSecurity + + /** + * @desc Disable security support + */ + template (value) AcSecPrimitive m_acDisableSecurity := { + acDisableSecurity := { + disable := true + } + } // End of template m_acDisableSecurity + + template (value) AdapterControlResults m_acGnssResponseSuccess := { acGnssResponse := true } + template (value) AdapterControlResults m_acGnssResponseError := { acGnssResponse := false } + + template (value) AdapterControlResults m_acGnssDistanceCoveredSuccess := { acGnssDistanceCovered := true } + template (value) AdapterControlResults m_acGnssDistanceCoveredError := { acGnssDistanceCovered := false } + + template (value) AdapterControlResults m_acGnssSpeedReachedSuccess := { acGnssSpeedReached := true } + template (value) AdapterControlResults m_acGnssSpeedReachedError := { acGnssSpeedReached := false } + + template (value) AdapterControlResults m_acGnssTimeReachedSuccess := { acGnssTimeReached := true } + template (value) AdapterControlResults m_acGnssTimeReachedError := { acGnssTimeReached := true } + + /** + * @desc Testsystem will load GNSS scenario + */ + template (value) AcGnssPrimitive m_loadScenario(in Scenario p_scenario) := { + loadScenario := { + scenario := p_scenario + } + } + + /** + * @desc Testsystem will start GNSS scenario + */ + template (value) AcGnssPrimitive m_startScenario := { + startScenario := { + } + } + + /** + * @desc Testsystem will stop GNSS scenario + */ + template (value) AcGnssPrimitive m_stopScenario := { + stopScenario := { + } + } + + /** + * @desc Testsystem will request indication if distance was covered + */ + template (value) AcGnssPrimitive m_distanceToCover(float p_distance) := { + distanceToCover := { + distance := p_distance + } + } + + /** + * @desc Testsystem will request indication if speed is reached + */ + template AcGnssPrimitive m_awaitSpeed(float p_speed, SpeedTrend p_speedTrend) := { + speed := { + speed := p_speed, + speedTrend := p_speedTrend + } + } + + /** + * @desc Testsystem will change the speed (delta value) + */ + template (value) AcGnssPrimitive m_changeScenarioSpeed(SpeedValue p_deltaSpeedValue) := { + changeSpeed := { + deltaSpeed := p_deltaSpeedValue + } + } + + /** + * @desc Testsystem will change the heading (delta value) + */ + template (value) AcGnssPrimitive m_changeScenarioHeading(HeadingValue p_deltaHeadingValue) := { + changeHeading := { + deltaHeading := p_deltaHeadingValue + } + } + + /** + * @desc Testsystem will request indication if time (sec) was reached in running scenario + */ + template AcGnssPrimitive m_timeInRunningScenario(integer p_time) := { + timeInRunningScenario := { + time := p_time + } + } + + } // end taPrimitives + +} diff --git a/ttcn/Common/LibItsCommon_TestSystem.ttcn b/ttcn/Common/LibItsCommon_TestSystem.ttcn index 8c5011e8785d3b43992c8cad239f490ef7594627..7a028d73be2bcbce9d95abac9734afdde5e596b3 100644 --- a/ttcn/Common/LibItsCommon_TestSystem.ttcn +++ b/ttcn/Common/LibItsCommon_TestSystem.ttcn @@ -1,7 +1,7 @@ /** * @author ETSI / STF405 / STF449 / STF484 / STF517 - * @version $URL$ - * $Id$ + * @version $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/Common/LibItsCommon_TestSystem.ttcn $ + * $Id: LibItsCommon_TestSystem.ttcn 1318 2017-01-26 10:20:53Z filatov $ * @desc Test System module for ITS * @copyright ETSI Copyright Notification * No part may be reproduced except as authorized by written permission. @@ -27,7 +27,7 @@ module LibItsCommon_TestSystem { // timers timer tc_guard := PX_TDONE; - } // end ItsMtc + } // end ItsBaseMtc /** * @desc Upper tester and Adapter control component diff --git a/ttcn/Common/LibItsCommon_TypesAndValues.ttcn b/ttcn/Common/LibItsCommon_TypesAndValues.ttcn index 190b93cefabe1f0066780ad35415d351502cd608..33179129feeec36599e3b6640956ea6c3acc521f 100644 --- a/ttcn/Common/LibItsCommon_TypesAndValues.ttcn +++ b/ttcn/Common/LibItsCommon_TypesAndValues.ttcn @@ -1,7 +1,7 @@ /** * @author ETSI / STF405 / STF449 / STF484 / STF517 - * @version $URL$ - * $Id$ + * @version $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/Common/LibItsCommon_TypesAndValues.ttcn $ + * $Id: LibItsCommon_TypesAndValues.ttcn 1318 2017-01-26 10:20:53Z filatov $ * @desc Module containing common types and values for ITS Protocols * @copyright ETSI Copyright Notification * No part may be reproduced except as authorized by written permission. @@ -17,78 +17,7 @@ module LibItsCommon_TypesAndValues { // LibIts import from ITS_Container language "ASN.1:1997" all; - group utPrimitives { - - /** - * @desc Upper Tester message to initialize IUT - * @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use - */ - type record UtInitialize { - Oct8 hashedId8 - } - - /** - * @desc Upper Tester result message of the initialization request - */ - type boolean UtInitializeResult; - - /** - * @desc Upper Tester message to change the position of IUT. Values a relatives - */ - type record UtChangePosition { - integer latitude, - integer longitude, - integer elevation - } - - /** - * @desc Upper Tester result message of change position request of IUT - */ - type boolean UtChangePositionResult; - - /** - * @desc Upper Tester message to change the pseudonym of the DENM IUT - */ - type record UtChangePseudonym { - // empty on purpose - } - - /** - * @desc Upper Tester result message of the change pseudonym request - */ - type boolean UtChangePseudonymResult; - - /** - * @desc Upper Tester message to activate position and/or time - */ - type record UtActivatePositionTime { - // empty on purpose - } - - /** - * @desc Upper Tester result message of the activate position and/or time request - */ - type boolean UtActivatePositionTimeResult; - - /** - * @desc Upper Tester message to deactivate position and/or time - */ - type record UtDeactivatePositionTime { - // empty on purpose - } - - /** - * @desc Upper Tester result message of the deactivate position and/or time request - */ - type boolean UtDeactivatePositionTimeResult; - - } - with { - encode "UpperTester" - } - group acPrimitives { - /** * @desc TA primitives for security support * @member acSetCertificate Primitive used to activate security support @@ -117,10 +46,6 @@ module LibItsCommon_TypesAndValues { /** * @desc Primitive for receiving response from TA - */ - type boolean AcSecResponse; - - /** * @desc TA primitives for GNSS * @member loadScenario - * @member startScenario - @@ -132,19 +57,48 @@ module LibItsCommon_TypesAndValues { AcStartScenario startScenario, AcStopScenario stopScenario, AcDistanceToCover distanceToCover, + AcSpeed speed, AcChangeSpeed changeSpeed, - AcChangeHeading changeHeading + AcChangeHeading changeHeading, + AcTimeInRunningScenario timeInRunningScenario + } + + /** + * @desc Primitive for receiving response from TA + * @member acGnssResponse Primitive for receiving response from TA + * @member acGnssDistanceCovered Primitive for receiving an indication if requested distance was covered from TA + * @member AcGnssSpeedReached Primitive for receiving an indication if speed was reached + * @member acGnssTimeReached Primitive for receiving an indication if requested time was reached from TA + * @member acSecResponse + */ + type union AdapterControlResults { + boolean acGnssResponse, + boolean acGnssDistanceCovered, + boolean acGnssSpeedReached, + boolean acGnssTimeReached, + boolean acSecResponse } /** * @desc Primitive for receiving response from TA */ - type boolean AcGnssResponse; + type AdapterControlResults.acSecResponse AcSecResponse; + + type AdapterControlResults.acGnssResponse AcGnssResponse; /** * @desc Primitive for receiving an indication if requested distance was covered from TA */ - type boolean AcGnssDistanceCovered; + type AdapterControlResults.acGnssDistanceCovered AcGnssDistanceCovered; + /** + * @desc Primitive for receiving an indication if speed was reached + */ + type AdapterControlResults.acGnssSpeedReached AcGnssSpeedReached; + + /** + * @desc Primitive for receiving an indication if requested time was reached from TA + */ + type AdapterControlResults.acGnssTimeReached AcGnssTimeReached; /** * @desc Primitive for loading a scenario @@ -156,8 +110,14 @@ module LibItsCommon_TypesAndValues { type enumerated Scenario { e_staticPosition(0), + e_dynamicPositionTwoAccelerationsLowSpeed(101), + e_dynamicPositionTwoAccelerations(102), + e_dynamicPositionChangeHeading(104), + e_dynamicPositionSixAccelerations(106), e_dynamicPosition200m(200), + e_dynamicPosition250m(250), e_dynamicPosition1000m(1000), + e_dynamicPosition1000m_45ms(1045), e_dynamicPosition1500m(1500) } @@ -180,6 +140,29 @@ module LibItsCommon_TypesAndValues { float distance } + /** + * @desc Defines the check for speed values. + * e_accelerate - speed value should be equal or above the speed value to check + * e_deaccelerate - speed value should be equal or below the speed value to check + * e_fix - speed value should be equal the speed value to check + */ + type enumerated SpeedTrend { + e_accelerate(0), + e_deaccelerate(1), + e_fix(2) + } + with { + variant "8 bits" + } + + /** + * @desc Primitive to inform when speed is reached + */ + type record AcSpeed{ + float speed, + SpeedTrend speedTrend + } + /** * @desc Primitive to change speed in current scenario */ @@ -194,18 +177,35 @@ module LibItsCommon_TypesAndValues { HeadingValue deltaHeading } + /** + * @desc Primitive to inform when given time in the running scenario was reached + */ + type record AcTimeInRunningScenario { + integer time + } + } // end acPrimitives with { encode "AdapterControl" } - + + /** + * @see ETSI TS 102 965 Intelligent Transport Systems (ITS); Application Object Identifier (ITS-AID); Registration list ETSI ITS registration list + * @see https://standards.iso.org/iso/ts/17419/TS17419%20Assigned%20Numbers/TS17419_ITS-AID_AssignedNumbers.pdf + */ group securityConstants { - const integer c_its_aid_CAM := 36; - const integer c_its_aid_DENM := 37; - const integer c_its_aid_SPAT := 137; - const integer c_its_aid_MAP := 138; - const integer c_its_aid_IVI := 139; - const integer c_its_aid_TLC := 140; + const integer c_its_aid_CAM := 36; + const integer c_its_aid_DENM := 37; + const integer c_its_aid_GPC := 128; + const integer c_its_aid_SPAT := 137; + const integer c_its_aid_MAP := 138; + const integer c_its_aid_IVI := 139; + const integer c_its_aid_TLC := 140; + const integer c_its_aid_TLS := 140; + const integer c_its_aid_GN := 141; + const integer c_its_aid_CRL := 622; // ETSI TS 102 941 Clause 6.4 Generation and distribution of TLM / RCA Link Certificates + const integer c_its_aid_SCR := 623; // Secured Certificate Request, https://standards.ieee.org/products-services/regauth/psid/public.html + const integer c_its_aid_CPOC := 624; // ETSI TS 102 941 Clause 6.4 Generation and distribution of TLM / RCA Link Certificates } } with { diff --git a/ttcn/Common/LibItsExternal_TypesAndValues.ttcn b/ttcn/Common/LibItsExternal_TypesAndValues.ttcn index ae1654c10ee91431a2c24287f8a8b5aec9d179d2..9f8dbfacc4c640d1e9cb3b4e3e8348d77b407b81 100644 --- a/ttcn/Common/LibItsExternal_TypesAndValues.ttcn +++ b/ttcn/Common/LibItsExternal_TypesAndValues.ttcn @@ -1,7 +1,7 @@ /** * @author ETSI / STF405 / STF449 / STF484 / STF517 - * @version $URL$ - * $Id$ + * @version $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/Common/LibItsExternal_TypesAndValues.ttcn $ + * $Id: LibItsExternal_TypesAndValues.ttcn 1318 2017-01-26 10:20:53Z filatov $ * @desc Module containing types and values for External protocols * @copyright ETSI Copyright Notification * No part may be reproduced except as authorized by written permission. diff --git a/ttcn/Common/module.mk b/ttcn/Common/module.mk new file mode 100644 index 0000000000000000000000000000000000000000..7f8bb5daa8092a800cff8bba4666283f009847b3 --- /dev/null +++ b/ttcn/Common/module.mk @@ -0,0 +1,14 @@ +sources := \ + LibItsCommon_ASN1_NamedNumbers.ttcn \ + LibItsCommon_Functions.ttcn \ + LibItsCommon_Pixits.ttcn \ + LibItsCommon_Templates.ttcn \ + LibItsCommon_TestSystem.ttcn \ + LibItsCommon_TypesAndValues.ttcn \ + LibItsExternal_TypesAndValues.ttcn \ +# LibItsCommon_ASN1_ISDSRC_NamedNumbers.ttcn \ + +ifeq (,$(ITS_CONTAINER)) + ITS_CONTAINER := defined + sources += ../../../AtsDENM/lib/asn1/cdd/ITS_Container.asn #../../asn1/cdd/ITS_Container.asn +endif diff --git a/ttcn/DCC/LibItsDcc_Functions.ttcn b/ttcn/DCC/LibItsDcc_Functions.ttcn deleted file mode 100644 index 69b4d6b6775be5df9e4e3dcbb650036f2283103f..0000000000000000000000000000000000000000 --- a/ttcn/DCC/LibItsDcc_Functions.ttcn +++ /dev/null @@ -1,944 +0,0 @@ -module LibItsDcc_Functions { - - // Libcommon - import from LibCommon_Sync all; - import from LibCommon_Time all; - import from LibCommon_VerdictControl all; - - // LibIts - import from LibItsDcc_TypesAndValues all; - import from LibItsDcc_Templates all; - import from LibItsDcc_Pixits all; - import from LibItsDcc_Pics all; - import from LibItsDcc_TestSystem all; - - group dccConfigurationFunctions { - - /** - * @desc Setups default configuration - */ - function f_cfUp(out UtComp p_utComp, - out ItsInDcc p_itsInDcc, - out ItsRrxDcc p_itsRrxDcc, - in template (value) UtTrigger p_trigger) runs on ServerSyncComp { - - // Create - p_utComp := UtComp.create("Upper Tester") alive; - p_itsInDcc := ItsInDcc.create("IN_SAP"); - p_itsRrxDcc := ItsRrxDcc.create("RRX"); - - // Connect - connect(p_utComp:syncPort, self:syncPort); - connect(p_itsInDcc:syncPort, self:syncPort); - connect(p_itsRrxDcc:syncPort, self:syncPort); - connect(p_itsInDcc:checkPort, mtc:checkPort); - connect(p_itsRrxDcc:checkPort, mtc:checkPort); - - //Map - map(p_utComp:utPort, system:utPort); - map(p_itsInDcc:inPort, system:inPort); - map(p_itsRrxDcc:rrxPort, system:rrxPort); - - // Initialize radio equipment - p_utComp.start(f_utInitializeIut(m_utInitialize(m_utRadioInitialize))); - p_utComp.done; - // Put channel(s) into defined state - p_utComp.start(f_utTriggerEvent(p_trigger)); - p_utComp.done; - } // end f_cfUp - - /** - * @desc Deletes default configuration - */ - function f_cfDown(in UtComp p_utComp, - in ItsInDcc p_itsInDcc, - in ItsRrxDcc p_itsRrxDcc) runs on ServerSyncComp { - - f_serverWaitForAllClientsToStop(); - // Disconnect - disconnect(p_utComp:syncPort, self:syncPort); - disconnect(p_itsInDcc:syncPort, self:syncPort); - disconnect(p_itsRrxDcc:syncPort, self:syncPort); - disconnect(p_itsInDcc:checkPort, mtc:checkPort); - disconnect(p_itsRrxDcc:checkPort, mtc:checkPort); - - // Unmap - unmap(p_utComp:utPort, system:utPort); - unmap(p_itsInDcc:inPort, system:inPort); - unmap(p_itsRrxDcc:rrxPort, system:rrxPort); - - } // end f_cfDown - - } // end of dccConfigurationFunctions - - /** - * @desc Upper tester functions - */ - group utFuntions { - - /** - * @desc Requests to bring the IUT in an initial state - * @param p_init The initialisation to trigger. - */ - function f_utInitializeIut(template (value) UtInitialize p_init) runs on UtComp { - - utPort.send(p_init); - tc_wait.start; - alt { - [] utPort.receive(UtResult:true) { - tc_wait.stop; - log("*** " & __SCOPE__ & ": INFO: IUT initialized ***"); - } - [] utPort.receive { - tc_wait.stop; - log("*** " & __SCOPE__ & ": INFO: IUT could not be initialized ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] tc_wait.timeout { - log("*** " & __SCOPE__ & ": INFO: IUT could not be initialized in time ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [else] { // Shortcut defaults - //f_sleep(0.050); // 50 ms - repeat; - } - } - } - - /** - * @desc Triggers event on the radio interface - * @param p_trigger The event to trigger. - */ - function f_utTriggerEvent(template (value) UtTrigger p_trigger) runs on UtComp { - - utPort.send(p_trigger); - alt { - [] utPort.receive(UtResult:true) { - tc_wait.stop; - log("*** " & __SCOPE__ & ": INFO: Event sccessfully triggered ***"); - } - [] utPort.receive { - tc_wait.stop; - log("*** " & __SCOPE__ & ": INFO: Event could not be triggered ***"); - f_selfOrClientSyncAndVerdict("error", e_error); - } - [] tc_wait.timeout { - log("*** " & __SCOPE__ & ": INFO: Event could not be triggered in time ***"); - f_selfOrClientSyncAndVerdict("error", e_timeout); - } - [else] { // Shortcut defaults - //f_sleep(0.050); // 50 ms - repeat; - } - } - - } - } // End of group utFunctions - - group rrxFunctions { - - /** - * @desc Receive frames via the radio link and check that all expected frames are sent with - * the requested Tx power and inter-packet spacing on the chosen channel - * @param p_tOff Requested Toff value - * @param p_expectedTxPower Expected Tx send power value - * @param p_channel Channel on which the frame has been sent - * @param p_checkPower If true, the power of the received signal will be checked - */ - function f_rRX_ExpectedFramesSent(float p_tOff, - integer p_expectedTxPower, - Channel p_channel, - boolean p_checkPower := true) runs on ItsRrxDcc { - - var RrxInd v_rrxInd; - var integer v_frameReceivedCount := 0; - - template integer m_expectedPowerWithDelta := ((p_expectedTxPower - PIXIT_POWER_DELTA) .. (p_expectedTxPower + PIXIT_POWER_DELTA)); - - timer tc_testDuration := f_getTestDuration(p_tOff) + p_tOff; - timer tc_tOffCheck := 2.0 * p_tOff; - - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - - tc_testDuration.start; - - alt { - [] rrxPort.receive(m_rrxInd(p_channel, ?)) -> value v_rrxInd { - v_frameReceivedCount := v_frameReceivedCount + 1; - if(p_checkPower and match(v_rrxInd.measuredPower, m_expectedPowerWithDelta)) - { log("*** function " & __SCOPE__ & ": FAIL: The measured Tx power is different to the requested Tx power. ***"); - setverdict(fail)} - tc_tOffCheck.start; - alt { - [] rrxPort.receive(m_rrxInd(p_channel, ?)) -> value v_rrxInd { - v_frameReceivedCount := v_frameReceivedCount + 1; - if(p_checkPower and match(v_rrxInd.measuredPower, m_expectedPowerWithDelta)) - { log("*** function " & __SCOPE__ & ": FAIL: The measured Tx power is different to the requested Tx power. ***"); - setverdict(fail)} - if(tc_tOffCheck.read < p_tOff) - { log("*** function " & __SCOPE__ & ": FAIL: The inter-packet spacing time interval is smaller than the minimum allowed. ***"); - setverdict(fail)} - tc_tOffCheck.start; - repeat; - } - [] tc_tOffCheck.timeout { - tc_tOffCheck.start; - repeat; - } - [] tc_testDuration.timeout - {setverdict(pass)} - } - } - [] tc_testDuration.timeout { - log("*** function " & __SCOPE__ & ": FAIL: No packet received on the radio interface. ***"); - setverdict(fail) - } - } - - checkPort.send(v_frameReceivedCount); - f_selfOrClientSyncAndVerdict(c_tbDone, e_success); - - } // End of function f_rRX_ExpectedFramesSent - - /** - * @desc Receive frames via the radio link and check that all expected frames are sent with - * the requested Tx power and inter-packet spacing on the chosen channels - * @param p_tOff Requested Toff value - * @param p_expectedTxPower Expected Tx send power value - * @param p_channel_1 Channel on which the frame has been sent - * @param p_channel_2 Channel on which the frame has been sent - * @param p_checkPower If true, the power of the received signal will be checked - */ - function f_rRX_ExpectedFramesSentOn2Channels(float p_tOff, - integer p_expectedTxPower, - Channel p_channel_1, - Channel p_channel_2, - boolean p_checkPower := false) runs on ItsRrxDcc { - - var RrxInd v_rrxInd; - var integer v_frameReceivedCount := 0; - var boolean v_channel_1, v_channel_2 := false; - - template integer m_expectedPowerWithDelta := ((p_expectedTxPower - PIXIT_POWER_DELTA) .. (p_expectedTxPower + PIXIT_POWER_DELTA)); - - timer tc_testDuration := f_getTestDuration(p_tOff) + p_tOff; - timer tc_tOffCheck := 2.0 * p_tOff; - - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - - tc_testDuration.start; - - alt { - [] rrxPort.receive(m_rrxInd((p_channel_1, p_channel_2), ?)) -> value v_rrxInd { - v_frameReceivedCount := v_frameReceivedCount + 1; - select (v_rrxInd.channel) { - case (p_channel_1) { - v_channel_1 := true; - } - case (p_channel_2) { - v_channel_2 := true; - } - } - if(p_checkPower and match(v_rrxInd.measuredPower, m_expectedPowerWithDelta)) - { log("*** function " & __SCOPE__ & ": FAIL: The measured Tx power is different to the requested Tx power. ***"); - setverdict(fail)} - tc_tOffCheck.start; - alt { - [] rrxPort.receive(m_rrxInd((p_channel_1, p_channel_2), ?)) -> value v_rrxInd { - v_frameReceivedCount := v_frameReceivedCount + 1; - select (v_rrxInd.channel) { - case (p_channel_1) { - v_channel_1 := true; - } - case (p_channel_2) { - v_channel_2 := true; - } - } - if(p_checkPower and match(v_rrxInd.measuredPower, m_expectedPowerWithDelta)) - { log("*** function " & __SCOPE__ & ": FAIL: The measured Tx power is different to the requested Tx power. ***"); - setverdict(fail)} - if(tc_tOffCheck.read < p_tOff) - { log("*** function " & __SCOPE__ & ": FAIL: The inter-packet spacing time interval is smaller than the minimum allowed. ***"); - setverdict(fail)} - tc_tOffCheck.start; - repeat; - } - [] tc_tOffCheck.timeout { - tc_tOffCheck.start; - repeat; - } - [] tc_testDuration.timeout { - if(not v_channel_1 and not v_channel_2) { - log("*** function " & __SCOPE__ & ": FAIL: All frames have been sent via the two channel. ***"); - setverdict(fail); - } - else { - setverdict(pass); - } - } - } - } - [] tc_testDuration.timeout { - log("*** function " & __SCOPE__ & ": FAIL: No packet received on the radio interface. ***"); - setverdict(fail) - } - } - - checkPort.send(v_frameReceivedCount); - f_selfOrClientSyncAndVerdict(c_tbDone, e_success); - - } // End of function f_rRX_ExpectedFramesSent - - /** - * @desc Check that no frames are received via the radio link - * @param p_tOff Requested Toff value - */ - function f_rRX_NoFramesSent(float p_tOff) runs on ItsRrxDcc { - - timer tc_testDuration := f_getTestDuration(p_tOff); - - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - - tc_testDuration.start; - - alt { - [] rrxPort.receive(m_rrxInd(?, ?)) { - log("*** function " & __SCOPE__ & ": FAIL: A radio frame was received when none was expected. ***"); - setverdict(fail) - } - [] tc_testDuration.timeout { - setverdict(pass) - } - } - - f_selfOrClientSyncAndVerdict(c_tbDone, e_success); - - } // End of function f_rRX_NoFramesSent - } // End of group rrxFunctions - - /** - * @desc IN SAP functions - */ - group inFuntions { - - /** - * @desc Request sending of frames via the IN_SAP and check that all frames are - * reported as sent with the requested Tx power - * @param p_tOff Requested Toff value - * @param p_requestedTxPower Requested Tx send power value - * @param p_dCCProfileIdentifier Requested DCC profile - * @param p_channel Channel on which the frame has been sent - */ - function f_iN_AllRequestedFramesSent(float p_tOff, - integer p_requestedTxPower, - integer p_dCCProfileIdentifier, - Channel p_channel) runs on ItsInDcc { - - var integer v_commandReference := float2int(int2float(c_maxCommandReference)*rnd()); - var InSta v_inSta; - var integer v_frameRequestedCount := 1; - var integer v_frameAcknowledgedCount := 0; - - timer tc_testDuration := f_getTestDuration(p_tOff); - timer tc_tOff := p_tOff; - - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - - inPort.send(m_In_Request(v_commandReference, - PIXIT_REFERENCE_BURST, - p_requestedTxPower, - p_dCCProfileIdentifier)); - tc_testDuration.start; - - alt { - [] inPort.receive(mw_In_Status(v_commandReference, - p_channel, - true)) -> value v_inSta { - v_commandReference := (v_commandReference + 1) mod c_maxCommandReference; - v_frameAcknowledgedCount := v_frameAcknowledgedCount + 1; - if(v_inSta.achievedSendPower != p_requestedTxPower) - { log("*** function " & __SCOPE__ & ": FAIL: The achieved Tx power is different to the requested Tx power. ***"); - setverdict(fail)} - tc_tOff.start; - repeat; - } - - [] tc_tOff.timeout { - inPort.send(m_In_Request(v_commandReference, - PIXIT_REFERENCE_BURST, - p_requestedTxPower, - p_dCCProfileIdentifier)); - v_frameRequestedCount := v_frameRequestedCount + 1; - repeat; - } - - [] tc_testDuration.timeout { - if(v_frameAcknowledgedCount == v_frameRequestedCount) - {setverdict(pass)} - else - {tc_tOff.start; - alt { - [] inPort.receive(mw_In_Status(v_commandReference, - p_channel, - true)) -> value v_inSta { - tc_tOff.stop; - v_frameAcknowledgedCount := v_frameAcknowledgedCount + 1; - if(v_inSta.achievedSendPower != p_requestedTxPower) - { log("*** function " & __SCOPE__ & ": FAIL: The achieved Tx power is different to the requested Tx power. ***"); - setverdict(fail)} - else if(v_frameAcknowledgedCount != v_frameRequestedCount) - { log("*** function " & __SCOPE__ & ": FAIL: Not all requested frames have been acknowledged. ***"); - setverdict(fail)} - else - {setverdict(pass)} - } - - [] tc_tOff.timeout { - log("*** function " & __SCOPE__ & ": FAIL: Not all requested frames have been acknowledged. ***"); - setverdict(fail) - } - } - } - } - } - checkPort.send(v_frameAcknowledgedCount); - f_selfOrClientSyncAndVerdict(c_tbDone, e_success); - - } // End of function f_iN_AllRequestedFramesSent - - /** - * @desc Request sending of frames via the IN_SAP and check that all frames are - * reported as sent with reduced Tx power being lower than the maximum allowed Tx power - * @param p_tOff Requested Toff value - * @param p_requestedTxPower Requested Tx send power value - * @param p_dCCProfileIdentifier Requested DCC profile - * @param p_channel Channel on which the frame has been sent - * @param p_maxTxPower Maximum allowed Tx power value - */ - function f_iN_FramesSentTxPowerReduction(float p_tOff, - integer p_requestedTxPower, - integer p_dCCProfileIdentifier, - Channel p_channel, - integer p_maxTxPower) runs on ItsInDcc { - - var integer v_commandReference := float2int(int2float(c_maxCommandReference)*rnd()); - var InSta v_inSta; - var integer v_frameRequestedCount := 1; - var integer v_frameAcknowledgedCount := 0; - - timer tc_testDuration := f_getTestDuration(p_tOff); - timer tc_tOff := p_tOff; - - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - - inPort.send(m_In_Request(v_commandReference, - PIXIT_REFERENCE_BURST, - p_requestedTxPower, - p_dCCProfileIdentifier)); - tc_testDuration.start; - - alt { - [] inPort.receive(mw_In_Status(v_commandReference, - p_channel, - true)) -> value v_inSta { - v_commandReference := (v_commandReference