Commits (2)
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
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
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
--<OSS.PDU>--
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
......@@ -199,7 +199,7 @@ module LibItsGeoNetworking_Functions {
// Disconnect
f_disconnect4SelfOrClientSync();
} // end f_cf01Down
} // End of function f_cf01Down
/**
* @desc This configuration features:
......@@ -270,7 +270,7 @@ module LibItsGeoNetworking_Functions {
}
}
} // end f_cf02Up
} // End of group f_cf02Up
/**
* @desc Deletes configuration cf02
......@@ -293,7 +293,7 @@ module LibItsGeoNetworking_Functions {
unmap(self:utPort, system:utPort);
disconnect(self:syncPort, mtc:syncPort);
} // end f_cf02Down
} // End of group f_cf02Down
/**
* @desc This configuration features:
......@@ -364,7 +364,7 @@ module LibItsGeoNetworking_Functions {
}
}
} // end f_cf03Up
} // End of group f_cf03Up
/**
* @desc Deletes configuration cf03
......@@ -387,7 +387,7 @@ module LibItsGeoNetworking_Functions {
unmap(self:utPort, system:utPort);
disconnect(self:syncPort, mtc:syncPort);
} // end f_cf03Down
} // End of group f_cf03Down
/**
* @desc This configuration features:
......@@ -460,7 +460,7 @@ module LibItsGeoNetworking_Functions {
}
}
} // end f_cf04Up
} // End of group f_cf04Up
/**
* @desc Deletes configuration cf04
......@@ -483,7 +483,7 @@ module LibItsGeoNetworking_Functions {
unmap(self:utPort, system:utPort);
disconnect(self:syncPort, mtc:syncPort);
} // end f_cf04Down
} // End of group f_cf04Down
/**
* @desc This configuration features:
......@@ -574,7 +574,7 @@ module LibItsGeoNetworking_Functions {
unmap(self:utPort, system:utPort);
disconnect(self:syncPort, mtc:syncPort);
} // end f_cf05Down
} // End of group f_cf05Down
/**
* @desc This configuration features:
......@@ -666,7 +666,7 @@ module LibItsGeoNetworking_Functions {
unmap(self:utPort, system:utPort);
disconnect(self:syncPort, mtc:syncPort);
} // end f_cf06Down
} // End of group f_cf06Down
/**
* @desc This configuration features:
......@@ -757,7 +757,7 @@ module LibItsGeoNetworking_Functions {
unmap(self:utPort, system:utPort);
disconnect(self:syncPort, mtc:syncPort);
} // end f_cf07Down
} // End of group f_cf07Down
/**
* @desc Behavior function for initializing component's variables and tables
......@@ -778,7 +778,7 @@ module LibItsGeoNetworking_Functions {
vc_localSeqNumber := f_getInitialSequenceNumber();
vc_multipleMessagesCount := f_getMessageCount();
} // end f_initialiseComponent
} // End of function f_initialiseComponent
/**
* @desc Makes the simulated ITS node behave as a neighbour of IUT
......@@ -788,7 +788,7 @@ module LibItsGeoNetworking_Functions {
vc_neighbourDefault := activate(a_neighbourDefault());
f_acTriggerEvent(m_startBeaconing(m_beaconHeader(f_getPosition(vc_componentName)).beaconHeader));
f_sleepIgnoreDef(PX_NEIGHBOUR_DISCOVERY_DELAY);
} // end f_startBeingNeighbour
} // End of function f_startBeingNeighbour
/**
* @desc Makes the simulated ITS node behave as not being a neighbour of IUT
......@@ -799,7 +799,7 @@ module LibItsGeoNetworking_Functions {
if (PICS_GN_SECURITY == true) {
deactivate(vc_neighbourDefault);
}
} // end f_stopBeingNeighbour
} // End of function f_stopBeingNeighbour
/**
* @desc Initialise secure mode if required
......@@ -834,7 +834,7 @@ module LibItsGeoNetworking_Functions {
}
} // End of function f_uninitialiseSecuredMode()
} // end geoConfigurationFunctions
} // End of group geoConfigurationFunctions
group componentFunctions {
/**
......@@ -1201,7 +1201,7 @@ module LibItsGeoNetworking_Functions {
return fx_computeDistance(p_pointA.latitude, p_pointA.longitude, p_pointB.latitude, p_pointB.longitude);
}
} // end geoPositionFunctions
} // End of group geoPositionFunctions
group geoAltsteps {
......@@ -1397,7 +1397,7 @@ module LibItsGeoNetworking_Functions {
[vc_gnDefaultActive] a_receiveGeoUnicast(?, ?) {}
}
} // end geoGeoUnicastAltsteps
} // End of group geoGeoUnicastAltsteps
group geoGeoBroadcastAltsteps {
......@@ -1466,7 +1466,7 @@ module LibItsGeoNetworking_Functions {
}
}
} // end geoGeoBroadcastAltsteps
} // End of group geoGeoBroadcastAltsteps
group geoGeoAnycastAltsteps {
......@@ -1537,7 +1537,7 @@ module LibItsGeoNetworking_Functions {
}
}
} // end geoGeoAnycastAltsteps
} // End of group geoGeoAnycastAltsteps
group geoLocationServiceAltsteps {
......@@ -1610,10 +1610,10 @@ module LibItsGeoNetworking_Functions {
}
}
} // end geoLocationServiceAltsteps
} // End of group geoLocationServiceAltsteps
} // end geoAltsteps
} // End of group geoAltsteps
group preambles {
......@@ -1739,7 +1739,7 @@ module LibItsGeoNetworking_Functions {
return v_ret;
}
} // end preambles
} // End of group preambles
group postambles {
......@@ -1758,7 +1758,7 @@ module LibItsGeoNetworking_Functions {
f_poDefault();
}
} // end postambles
} // End of group postambles
group adapterControl {
......@@ -1918,7 +1918,7 @@ module LibItsGeoNetworking_Functions {
if (PX_GNSS_SCENARIO_SUPPORT==true) {
f_acTriggerGnssEvent(m_loadScenario(p_scenario));
}
} // end f_acLoadScenario
} // End of function f_acLoadScenario
/**
* @desc Starts a loaded scenario
......@@ -1929,7 +1929,7 @@ module LibItsGeoNetworking_Functions {
f_acTriggerGnssEvent(m_startScenario);
vc_scenarioStarted := true;
}
} // end f_acStartScenario
} // End of function f_acStartScenario
/**
* @desc Stops a loaded scenario
......@@ -1940,7 +1940,7 @@ module LibItsGeoNetworking_Functions {
f_acTriggerGnssEvent(m_stopScenario);
vc_scenarioStarted := false;
}
} // end f_acStopScenario
} // End of function f_acStopScenario
function f_acAwaitTimeInRunningScenario(integer p_time) runs on ItsBaseGeoNetworking return FncRetCode {
var FncRetCode v_ret := e_success;
......@@ -1966,9 +1966,9 @@ module LibItsGeoNetworking_Functions {
}
return v_ret;
} // end f_acAwaitTimeInRunningScenario
} // End of function f_acAwaitTimeInRunningScenario
} // end adapterControl
} // End of group adapterControl
group commonFunctions {
......@@ -2009,7 +2009,7 @@ module LibItsGeoNetworking_Functions {
return v_timestamp;
}
} // end commonFunctions
} // End of group commonFunctions
group testerFunctions {
......@@ -2120,7 +2120,7 @@ module LibItsGeoNetworking_Functions {
return PX_MESSAGE_COUNT;
}
} // end testerFunctions
} // End of group testerFunctions
group iutFunctions {
......@@ -2155,19 +2155,19 @@ module LibItsGeoNetworking_Functions {
/**
* @desc Gets the GeoUnicast forwarding algorithm
* @return IUT's GeoUnicast forwarding algorithm
* @see PICS_GN_GEOUNICAST_FORWARDING_ALGORITHM
* @see PICS_GN_NON_AREA_FORWARDING_ALGORITHM
*/
function f_getGeoUnicastForwardingAlgorithm() return GeoUnicastForwardingAlgorithm {
return PICS_GN_GEOUNICAST_FORWARDING_ALGORITHM;
function f_getNonAreaForwardingAlgorithm() return NonAreaForwardingAlgorithm {
return PICS_GN_NON_AREA_FORWARDING_ALGORITHM;
}
/**
* @desc Gets the GeoBroadcast forwarding algorithm
* @return IUT's GeoBroadcast forwarding algorithm
* @see PICS_GN_GEOBROADCAST_FORWARDING_ALGORITHM
* @see PICS_GN_AREA_FORWARDING_ALGORITHM
*/
function f_getGeoBroadcastForwardingAlgorithm() return GeoBroadcastForwardingAlgorithm {
return PICS_GN_GEOBROADCAST_FORWARDING_ALGORITHM;
function f_getAreaForwardingAlgorithm() return AreaForwardingAlgorithm {
return PICS_GN_AREA_FORWARDING_ALGORITHM;
}
/**
......@@ -2288,7 +2288,7 @@ module LibItsGeoNetworking_Functions {
var integer v_itsGnLocationServicePacketBufferSize := PICS_GN_LOCATION_SERVICE_PACKET_BUFFER_SIZE;
return v_itsGnLocationServicePacketBufferSize;
} // end f_getLsPacketBufferSize
} // End of function f_getLsPacketBufferSize
/**
* @desc Gets the UC forwarding packet buffer size.
......@@ -2299,7 +2299,7 @@ module LibItsGeoNetworking_Functions {
var integer v_itsGnUcForwardingPacketBufferSize := PICS_GN_UC_FORWARDING_PACKET_BUFFER_SIZE;
return v_itsGnUcForwardingPacketBufferSize * 1024;
} // end f_getUcForwardingPacketBufferSize
} // End of function f_getUcForwardingPacketBufferSize
/**
* @desc Gets the BC forwarding packet buffer size.
......@@ -2310,7 +2310,7 @@ module LibItsGeoNetworking_Functions {
var integer v_itsGnBcForwardingPacketBufferSize := PICS_GN_BC_FORWARDING_PACKET_BUFFER_SIZE;
return v_itsGnBcForwardingPacketBufferSize * 1024;
} // end f_getBcForwardingPacketBufferSize
} // End of function f_getBcForwardingPacketBufferSize
/**
* @desc Gets the maximum lifetime of a packet.
......@@ -2392,7 +2392,7 @@ module LibItsGeoNetworking_Functions {
var float v_itsGnLifetimeLocTableEntry := int2float(PICS_GN_LIFETIME_LOC_TE);
return v_itsGnLifetimeLocTableEntry;
} // end f_getLifetimeLocTableEntry
} // End of function f_getLifetimeLocTableEntry
/**
* @desc Gets the maximum communication range for CBF algorithm
......@@ -2403,37 +2403,25 @@ module LibItsGeoNetworking_Functions {
var integer v_maxCommunicationRange := PICS_GN_DEFAULT_MAX_COMMUNICATION_RANGE;
return v_maxCommunicationRange;
} // end f_getCbfMaxCommunicationRange
} // End of function f_getCbfMaxCommunicationRange
function f_getGeoUnicastCbfMaxTime() return integer {
var integer v_cbfMaxTime := PICS_GN_GEOUNICAST_CBF_MAX_TIME;
function f_getCbfMaxTime() return integer {
var integer v_cbfMaxTime := PICS_GN_CBF_MAX_TIME;
return v_cbfMaxTime;
} // end f_getGeoUnicastCbfMaxTime
return v_cbfMaxTime;
} // End of function f_getCbfMaxTime
function f_getGeoUnicastCbfMinTime() return integer {
var integer v_cbfMinTime := PICS_GN_GEOUNICAST_CBF_MIN_TIME;
function f_getCbfMinTime() return integer {
var integer v_cbfMinTime := PICS_GN_CBF_MIN_TIME;
return v_cbfMinTime;
} // end f_getGeoUnicastCbfMinTime
function f_getGeoBroadcastCbfMaxTime() return integer {
var integer v_cbfMaxTime := PICS_GN_GEOBROADCAST_CBF_MAX_TIME;
return v_cbfMaxTime;
} // end f_getGeoBroadcastCbfMaxTime
function f_getGeoBroadcastCbfMinTime() return integer {
var integer v_cbfMinTime := PICS_GN_GEOBROADCAST_CBF_MIN_TIME;
return v_cbfMinTime;
} // end f_getGeoBroadcastCbfMinTime
return v_cbfMinTime;
} // End of function f_getCbfMinTime
function f_getGnMaxAreaSize() return float {
var float v_maxAreaSize := PICS_GN_MAX_GEO_AREA_SIZE;
return v_maxAreaSize;
} // end f_getGnMaxAreaSize
} // End of function f_getGnMaxAreaSize
function f_getAdvancedGbcForwardingMaxCounter() return integer {
var integer v_maxCounter := PICS_GN_ADVANCED_BC_FORWARDING_MAX_COUNTER;
......@@ -2450,7 +2438,7 @@ module LibItsGeoNetworking_Functions {
f_acStartBeaconingMultipleNeighbour(v_nrNeighbour);
} // end f_setNrNeighbourLocTableDefault
} // End of function f_setNrNeighbourLocTableDefault
/**
* @desc Set the number of neighbour in the Location Table (medium).
......@@ -2462,7 +2450,7 @@ module LibItsGeoNetworking_Functions {
f_acStartBeaconingMultipleNeighbour(v_nrNeighbour);
} // end f_setNrNeighbourLocTableMedium
} // End of function f_setNrNeighbourLocTableMedium
/**
* @desc Set the number of neighbour in the Location Table (maximum).
......@@ -2474,9 +2462,9 @@ module LibItsGeoNetworking_Functions {
f_acStartBeaconingMultipleNeighbour(v_nrNeighbour);
} // end f_setNrNeighbourLocTableMaximum
} // End of function f_setNrNeighbourLocTableMaximum
} // end iutFunctions
} // End of group iutFunctions
group posVectorFunctions {
......@@ -2539,7 +2527,7 @@ module LibItsGeoNetworking_Functions {
return v_result;
}
} // end posVectorFunctions
} // End of group posVectorFunctions
group externalFunctions {
......@@ -2594,7 +2582,7 @@ module LibItsGeoNetworking_Functions {
) {
// Nothing to do
}
} // End of altstep a_securedMessageWithCertificate
} // End of 'altstep' a_securedMessageWithCertificate
/**
* @desc Receive GN message with security containing digest as a signer info
......@@ -2652,9 +2640,9 @@ module LibItsGeoNetworking_Functions {
* @desc Ask for the certificate chain and wait for GN message with security containing certificate chain as a signer info
* @return the certificate chain used for sign received message
*/
function f_askForCertificateChain (in template(value) octetstring p_CamPayload)
runs on ItsGeoNetworking
return boolean {
function f_askForCertificateChain(
in template(value) octetstring p_CamPayload
) runs on ItsGeoNetworking return boolean {
var EtsiTs103097Data v_recv;
var boolean v_ret := false;
......@@ -2772,7 +2760,7 @@ module LibItsGeoNetworking_Functions {
m_geoNwSecPdu(
v_gnNonSecuredPacket,
v_securedMessage
) // End of template m_geoNwSecPdu
)
)); // End of template m_geoNwReq_linkLayerBroadcast
// Send Message
......@@ -2834,11 +2822,12 @@ module LibItsGeoNetworking_Functions {
* @param p_msg GeoNetworking packet
* @return the EtsiTs103097Data if any
*/
function f_getSecuredMessage(in GeoNetworkingPdu p_msg)
return EtsiTs103097Data {
function f_getSecuredMessage(
in GeoNetworkingPdu p_msg
) return EtsiTs103097Data {
return p_msg.gnPacket.securedMsg;
}
}
} // end LibItsGeoNetworking_Functions
} // End of module LibItsGeoNetworking_Functions
/**
* @author ETSI / STF405 / STF449 / STF484 / STF517
* @version $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/GeoNetworking/LibItsGeoNetworking_Pics.ttcn $
* $Id: LibItsGeoNetworking_Pics.ttcn,v 1.4 2018/05/31 15:57:10 dte Exp $
* @version $URL$
* $Id$
* @desc GeoNetworking PICS
* @copyright ETSI Copyright Notification
* No part may be reproduced except as authorized by written permission.
......@@ -23,7 +23,7 @@ module LibItsGeoNetworking_Pics {
/**
* @desc GeoNetworking address of the GeoAdhoc router
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar GN_Address PICS_GN_LOCAL_GN_ADDR := {
typeOfAddress := e_manual,
......@@ -34,43 +34,43 @@ module LibItsGeoNetworking_Pics {
/**
* @desc Is address manually configured
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar GnAddressConfigurationMethod PICS_GN_LOCAL_ADDR_CONF_METHOD := e_anonymous;
/**
* @desc Is the IUT mobile?
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_IS_MOBILE := true;
/**
* @desc Minimum update frequency of local position vector (LPV) in ms
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar integer PICS_GN_MINIMUM_UPDATE_FREQUENCY_LPV := 1000;
/**
* @desc Maximum size of GN-SDU [bytes]
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar integer PICS_GN_MAX_SDU_SIZE := 1398;
/**
* @desc GN_MAX: Maximum size of GeoNetworking header [bytes]
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar integer PICS_GN_MAX_GN_HEADER_SIZE := 88;
/**
* @desc Lifetime of location table entry [s]
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar integer PICS_GN_LIFETIME_LOC_TE := 20;
/**
* @desc GN Security support enabled or disabled
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
* @remark This PIC is different than PICS_IS_IUT_SECURED.
* When set to true, this PIC indicates that the GeoNetworking is running with security ATS
* UtInitialse shall indicate which certificate the IUT shall use
......@@ -79,271 +79,289 @@ module LibItsGeoNetworking_Pics {
/**
* @desc Maximum number of retransmissions of LS_REQUEST packets
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar integer PICS_GN_LOCATION_SERVICE_MAX_RETRANS := 10;
/**
* @desc Duration of Location service retransmit timer [ms]
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar integer PICS_GN_LOCATION_SERVICE_RETRANSMIT_TIMER := 1000;
/**
* @desc Size of Location service packet buffer [Byte]
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar integer PICS_GN_LOCATION_SERVICE_PACKET_BUFFER_SIZE := 1024;
/**
* @desc Duration of Beacon service retransmit timer [ms]
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar integer PICS_GN_BEACON_SERVICE_RETRANSMIT_TIMER := 3000;
/**
* @desc Maximum beacon jitter [ms]
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar integer PICS_GN_BEACON_SERVICE_MAX_JITTER := 750;
/**
* @desc Default hop limit indicating the maximum number of hops a packet travels
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar UInt8 PICS_GN_DEFAULT_HOP_LIMIT := 10;
/**
* @desc Upper limit of the maximum lifetime [s]
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar integer PICS_GN_MAX_PACKET_LIFETIME := 600;
/**
* @desc Lower limit of the packet repetition interval [km^2]
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar float PICS_GN_MAX_GEO_AREA_SIZE:= 10.0;
/**
* @desc Lower limit of the packet repetition interval [ms]
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar integer PICS_GN_MIN_PACKET_REPETITION_INTERVAL := 100;
/**
* @desc Default GeoUnicast forwarding algorithm
* @see ETSI TS 102 871-2 Table 4
* @desc Default NON-AREA forwarding algorithm
* @see ETSI TS 102 871-1 Table 1
*/
modulepar GeoUnicastForwardingAlgorithm PICS_GN_GEOUNICAST_FORWARDING_ALGORITHM := e_greedy;
modulepar NonAreaForwardingAlgorithm PICS_GN_NON_AREA_FORWARDING_ALGORITHM := e_greedy;
/**
* @desc Default GeoBroadcast forwarding algorithm
* @see ETSI TS 102 871-2 Table 4
* @desc Default AREA forwarding algorithm
* @see ETSI TS 102 871-1 Table 1
*/
modulepar GeoBroadcastForwardingAlgorithm PICS_GN_GEOBROADCAST_FORWARDING_ALGORITHM := e_advanced;
modulepar AreaForwardingAlgorithm PICS_GN_AREA_FORWARDING_ALGORITHM := e_cbf;
/**
* @desc Minimum duration a GUC shall be buffered in the CBF packet buffer [ms]
* @see ETSI TS 102 871-2 Table 4
* @desc Minimum duration a packet shall be buffered in the CBF packet buffer [ms]
* @see ETSI TS 102 871-1 Table 1
*/
modulepar integer PICS_GN_GEOUNICAST_CBF_MIN_TIME := 1;
modulepar integer PICS_GN_CBF_MIN_TIME := 1;
/**
* @desc Maximum duration a GUC shall be buffered in the CBF packet buffer [ms]
* @see ETSI TS 102 871-2 Table 4
* @desc Maximum duration a packet shall be buffered in the CBF packet buffer [ms]
* @see ETSI TS 102 871-1 Table 1
*/
modulepar integer PICS_GN_GEOUNICAST_CBF_MAX_TIME := 100;
modulepar integer PICS_GN_CBF_MAX_TIME := 100;
/**
* @desc Minimum duration a GBC shall be buffered in the CBF packet buffer [ms]
* @see ETSI TS 102 871-2 Table 4
*/
modulepar integer PICS_GN_GEOBROADCAST_CBF_MIN_TIME := 1;
/**
* @desc Maximum duration a GBC shall be buffered in the CBF packet buffer [ms]
* @see ETSI TS 102 871-2 Table 4
*/
modulepar integer PICS_GN_GEOBROADCAST_CBF_MAX_TIME := 100;
/**
* @desc Default theoretical maximum communication range [m]
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar integer PICS_GN_DEFAULT_MAX_COMMUNICATION_RANGE := 1000;
/**
* @desc Size of UC forwarding packet buffer [Kbytes]
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar integer PICS_GN_UC_FORWARDING_PACKET_BUFFER_SIZE := 256;
/**
* @desc Size of BC forwarding packet buffer [Kbytes]
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar integer PICS_GN_BC_FORWARDING_PACKET_BUFFER_SIZE := 1024;
/**
* @desc Support for Basic header
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_BASIC_HEADER := true;
/**
* @desc Support for Common header
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_COMMON_HEADER := true;
/**
* @desc Support for Beacon source operations
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_BEACON_SRC := true;
/**
* @desc Support for Beacon destination operations
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_BEACON_DST := true;
/**
* @desc Support for GUC operations
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_GUC := true;
/**
* @desc Support for GUC source operations
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_GUC_SRC := true;
/**
* @desc Support for GUC destination operations
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_GUC_DST := true;
/**
* @desc Support for GUC forwarding
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_GUC_FWD := true;
/**
* @desc Support for GBC operations
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_GBC := true;
/**
* @desc Support for GBC source operations
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_GBC_SRC := true;
/**
* @desc Support for GBC destination operations
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_GBC_DST := true;
/**
* @desc Support for GBC forwarding
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_GBC_FWD := true;
/**
* @desc Support for GAC operations
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_GAC := true;
/**
* @desc Support for GAC source operations
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_GAC_SRC := true;
/**
* @desc Support for GAC destination operations
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_GAC_DST := true;
/**
* @desc Support for GAC forwarding
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_GAC_FWD := true;
/**
* @desc Support for SHB operations
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_SHB := true;
/**
* @desc Support for SHB source operations
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_SHB_SRC := true;
/**
* @desc Support for SHB destination operations
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_SHB_DST := true;
/**
* @desc Support for TSB operations
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_TSB := true;
/**
* @desc Support for TSB source operations
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_TSB_SRC := true;
/**
* @desc Support for TSB destination operations
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_TSB_DST := true;
/**
* @desc Support for TSB forwarding
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_TSB_FWD := true;
/**
* @desc Support for LS Request source operations
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_LS_REQ_SRC := true;
/**
* @desc Support for LS Request retransmission
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_LS_REQ_RETRANSMISSION := true;
/**
* @desc Support for LS Request destination operations
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_LS_REQ_DST := true;
/**
* @desc Support for LS Reply destination operations
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_LS_REP_DST := true;
/**
* @desc Support for LS forwarding
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_LS_FWD := true;
/**
* @desc Support for automatic address
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_ADDR_AUTO := true;
/**
* @desc Support for Managed address
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_ADDR_MANAGED := true;
/**
* @desc Support for Anonymous address
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_ADDR_ANONYMOUS := true;
/**
* @desc Support for DAD
* @see ETSI TS 102 871-2 Table 4
* @see ETSI TS 102 871-1 Table 1
*/
modulepar boolean PICS_GN_DAD := true;
......@@ -368,4 +386,4 @@ module LibItsGeoNetworking_Pics {
*/
modulepar boolean PICS_IS_IUT_SECURED := false;
} // end LibItsGeoNetworking_Pics
\ No newline at end of file
} // End of module LibItsGeoNetworking_Pics
......@@ -881,7 +881,7 @@ module LibItsGeoNetworking_TypesAndValues {
/**
* @desc The GeoUnicast forwarding algorithm.
*/
type enumerated GeoUnicastForwardingAlgorithm {
type enumerated NonAreaForwardingAlgorithm {
e_unspecified(0),
e_greedy(1),
e_cbf(2)
......@@ -890,7 +890,7 @@ module LibItsGeoNetworking_TypesAndValues {
/**
* @desc The GeoBroadcast forwarding algorithm.
*/
type enumerated GeoBroadcastForwardingAlgorithm {
type enumerated AreaForwardingAlgorithm {
e_unspecified(0),
e_simple(1),
e_cbf(2),
......