Commit f466f31f authored by ASN.1 Documenter's avatar ASN.1 Documenter
Browse files

Merge branch 'TTF011'

parents e5237969 d4311521
[submodule "asn1/cdd"]
path = asn1/cdd
url = https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2.git
branch = testing
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
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
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
--<OSS.PDU>--
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),