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

Merge branch 'TTF011'

parents e5237969 d4311521
Loading
Loading
Loading
Loading

.gitmodules

0 → 100644
+4 −0
Original line number Diff line number Diff line
[submodule "asn1/cdd"]
	path = asn1/cdd
	url = https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2.git
	branch = testing

asn1/CALMfntp/CALMfntp.asn

deleted100644 → 0
+0 −235
Original line number Diff line number Diff line
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
+0 −29
Original line number Diff line number Diff line
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

asn1/CALMfsap/CALMfsap.asn

deleted100644 → 0
+0 −333
Original line number Diff line number Diff line
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

asn1/CALMiitsscu/CALMiitsscu.asn

deleted100644 → 0
+0 −392

File deleted.

Preview size limit exceeded, changes collapsed.

Loading