Newer
Older
/**
* @author ETSI / STF422_EETS
* @version $URL:$
* $Id:$
* @desc Templates definitions for Fast service advertisement protocol (ISO 24102-5)
*/
module LibItsFsap_Templates {
// LibIts
import from CALMmanagement language "ASN.1:1997" {
type
ITS_scuId, StationID
};
import from CITSapplMgmtApplReg language "ASN.1:1997" {
type
ITSaid
};
import from CALMmsap language "ASN.1:1997" {
type
MF_Command, MF_Command_confirm,
import from CALMllsap language "ASN.1:1997" {
garciay
committed
type
LLserviceAddr, Link_ID,
UserPriority
import from CALMfntp language "ASN.1:1997" {
type
PortNumber
};
import from CALMfsap language "ASN.1:1997" {
type
ApplicationID,
garciay
committed
GCctxTxCmd, GCregServer, GCregClient, GCderegClient, GCschedule,
ServiceDataReg, ServiceData, ContextData, ServiceList, ServiceInfo,
NonipContext,
garciay
committed
SAMserviceData, CTXserviceData,
SAM, SAMrxNot,
CTX, CTXrxNot
import from LibItsFntp_Templates {
template m_fntpInSapAddress_src_command
};
garciay
committed
modulepar
PX_FMTID_CTX, PX_VERSION_FSAP, PX_FMTID_SAM,
garciay
committed
PX_USER_PRIORITY
};
import from LibItsCommon_TypesAndValues {
type UtInitialize, UtCommandRequest
group fsapPrimitives {
group utPrimitives {
/**
*/
template (value) UtInitialize m_fsapInitialize := {
utFsapInitialize := {
}
} // End of template m_fsapInitialize
* @desc Send template to generate a COMMAND.request primitive
* @param p_mfRequestReq Command issued by the ITS-S facilities layer and sent to the ITS-S management entity via the MF-SAP
*/
template (value) UtCommandRequest m_generateMFRequestReq(
in template (value) MF_Request_request p_mfRequestReq
) := {
utFsapCommandRequest := {
mfRequestReq := p_mfRequestReq
} // End of field 'utFsapCommandRequest'
} // End of template m_generateMFRequestReq
} // End of group utPrimitives
group taPrimitives {
garciay
committed
// /***
// * @desc TODO
// * @param p_serverID TODO
// */
// template (value) SAM m_sam(
// in template (value) StationID p_serverID
// ) := {
// fmtID := 0, // FIXME Use PIXIT PX_FMTID_SAM
// version := 0, // FIXME Use PIXIT PX_VERSIONFSAP
// serverID := p_serverID,
// serviceList := { },
// channelList := { },
// ipServList := { }
// } // End of template m_sam
//
// /***
// * @desc TODO
// * @param p_clientID TODO
// */
// template (value) CTX m_ctx(
// in template (value) StationID p_clientID
// ) := {
// fmtID := 0, // FIXME Use PIXIT PX_FMTID_CTX
// version := 0, // FIXME Use PIXIT PX_VERSIONFSAP
// clientID := p_clientID,
// servContextList := { },
// ipContextList := { }
// } // End of template m_ctx
//
} // End of group taPrimitives
group cregServerMessagePDU {
group send_ {
template (value) MF_Request m_mfRequest_GCregServer(
in template (value) ApplicationID p_applicationID,
in template (value) GCschedule p_gCschedule,
in template (value) ServiceDataReg p_serviceDataReg
) := {
fill := '0000'B,
mfReq := {
gCregServer := {
applicationID := p_applicationID,
gCschedule := p_gCschedule,
priority := PX_USER_PRIORITY,
serviceDataReg := p_serviceDataReg
} // End of field 'gCregServer'
} // End of field 'mfReq'
} // End of template m_mfRequest_GCregServer
} // End of group send_
group recv_ {
template GCregServer mw_gCregServer_any := {
applicationID := {
hostITS_scuId := ?,
seqNumber := ?
}, // End of field applicationID''
gCschedule := ?,
priority := ?,
serviceDataReg := {
fill := ?,
datareg := {
nonipData := ?
} // End of field 'datareg'
} // End of field 'serviceDataReg'
} // End of template mw_gCregServer
} // End of group recv_
} // End of group cregServerMessagePDU
group cregClientMessagePDU {
group send_ {
/**
* @desc ITS-S application shall register its supported service at the groupcasting manager using the services of the groupcasting registration handler
* @param p_hostITS_scuId The ITS-SCU-ID of the ITS-S host where the service provider ITS-S application resides together with an ITS-S application reference number being unique at this ITS-SCU
* @param p_serviceID The globally unique ITS-AID of the ITS-S application
*
garciay
committed
@see ISO/CD 24102-5 Clause 8.5
template (value) MF_Request m_mfRequest_GCregClientWithNoSessionAndNoCTX(
in template (value) ApplicationID p_applicationID,
in template (value) ITSaid p_serviceID
) := {
fill := '0000'B,
mfReq := {
gCregClient := {
applicationID := p_applicationID,
priority := PX_USER_PRIORITY,
serviceID := p_serviceID,
contextData := ''O
} // End of field 'gCregClient'
} // End of field 'mfReq'
} // End of template m_mfRequest_GCregClientWithNoSessionAndNoCTX
template (value) MF_Request m_mfRequest_GCregClientWithSessionAndCTX(
in template (value) ApplicationID p_applicationID,
in template (value) ITSaid p_serviceID
) := {
fill := '0000'B,
mfReq := {
gCregClient := {
applicationID := p_applicationID,
priority := PX_USER_PRIORITY,
serviceID := p_serviceID,
contextData := ''O
} // End of field 'gCregClient'
} // End of field 'mfReq'
} // End of template m_mfRequest_GCregClientWithSessionAndCTX
group recv_ {
template (value) GCregClient m_gCregClient(
in template (value) ITS_scuId p_hostITS_scuId,
in template (value) ITSaid p_serviceID
) := {
applicationID := {
hostITS_scuId := p_hostITS_scuId,
seqNumber := 0
}, // End of 'applicationID' field
priority := 0,
serviceID := p_serviceID,
contextData := ''O
} // End of template m_gCregClient
/**
* @desc Confirmation of the ITS-S application shall deregistration
* @param p_hostITS_scuId The ITS-SCU-ID of the ITS-S host where the service provider ITS-S application resides together with an ITS-S application reference number being unique at this ITS-SCU
* @param p_serviceID The globally unique ITS-AID of the ITS-S application
*
garciay
committed
@see ISO/CD 29281-2 Clause 8.1
@see ISO/CD 24102-5 Clause 8.3.1
*/
template GCregClient mw_gCregClient(
in template (present) ITS_scuId p_hostITS_scuId,
in template (present) ITSaid p_serviceID
) := {
applicationID := {
hostITS_scuId := p_hostITS_scuId,
seqNumber := ?
}, // End of 'applicationID' field
priority := ?,
serviceID := p_serviceID,
contextData := ?
} // End of template mw_gCregClient
} // End of group cregMessagePDU
group cderegClientMessagePDU {
/**
* @desc ITS-S application shall deregister its supported service at the groupcasting manager using the services of the groupcasting registration handler
* @param p_hostITS_scuId The ITS-SCU-ID of the ITS-S host where the service provider ITS-S application resides together with an ITS-S application reference number being unique at this ITS-SCU
*
garciay
committed
@see ISO/CD 24102-5 Clause 8.3.3
*/
template (value) GCderegClient m_gCderegClient(
in template (value) ITS_scuId p_hostITS_scuId
) := {
applicationID := {
hostITS_scuId := p_hostITS_scuId,
seqNumber := 0
}
} // End of template m_gCderegClient
/**
* @desc Confirmation of the ITS-S application shall deregistration
* @param p_hostITS_scuId The ITS-SCU-ID of the ITS-S host where the service provider ITS-S application resides together with an ITS-S application reference number being unique at this ITS-SCU
*
garciay
committed
@see ISO/CD 29281-2 Clause 8.1
@see ISO/CD 24102-5 Clause 8.3.3
*/
template GCderegClient mw_gCderegClient(
in template (present) ITS_scuId p_hostITS_scuId
) := {
applicationID := {
hostITS_scuId := p_hostITS_scuId,
seqNumber := ?
}
} // End of template mw_gCderegClient
} // End of group cderegClientMessagePDU
group samMessagePDU {
template (value) MF_Request m_mfRequest_SAMrxNot(
in template (value) LLserviceAddr p_link,
in template (value) StationID p_serverID,
in template (value) ServiceList p_serviceList
) := {
fill := '0000'B,
mfReq := {
sAMrxNot := {
link := p_link,
sam := {
fmtID := PX_FMTID_SAM,
version := PX_VERSION_FSAP,
serverID := p_serverID,
serviceList := p_serviceList,
channelList := { },
ipServList := { }
} // End of field 'sam'
} // End of field 'sAMrxNot'
} // End of field 'mfReq'
} // End of template m_mfRequest_SAMrxNot
garciay
committed
template (present) MF_Command mw_mfCommand_any := {
fill := ?,
mfCmd := ?
} // End of template mw_mfCommand_any
/**
* @desc TODO
*/
garciay
committed
template (present) MF_Command mdw_mfCommand_gCSAM(
in template (present) ApplicationID p_applicationID,
in template (present) StationID p_serverID,
in template (present) SAMserviceData p_serviceData
garciay
committed
) modifies mw_mfCommand_any := {
mfCmd := {
gCsam := {
applicationID := p_applicationID,
serverID := p_serverID,
serviceData := p_serviceData
} // End of header 'gCsam'
} // End of header 'mfCmd'
garciay
committed
} // End of template mw_mfCommand_gCSAM
/**
* @desc TODO
*/
template (present) MF_Command mdw_mfCommand_gCSAMctx(
in template (present) ApplicationID p_applicationID,
in template (present) StationID p_serverID,
in template (present) ServiceInfo p_serviceInfo
) modifies mw_mfCommand_any := {
garciay
committed
mfCmd := {
gCsamctx := {
applicationID := p_applicationID,
serverID := p_serverID,
serviceInfo := p_serviceInfo
} // End of header 'gCsam'
garciay
committed
} // End of header 'mfCmd'
} // End of template mdw_mfCommand_gCSAMctx
garciay
committed
/**
* @desc TODO
*/
template (present) SAMserviceData mw_samDataServerciceWithAccessTechAndNonIP(
garciay
committed
in template (present) ITSaid p_serviceID,
in template (present) ServiceData p_serviceData,
in template (present) PortNumber p_providerPort
garciay
committed
servData := {
nonipService := {
serviceID := p_serviceID,
serviceData := p_serviceData,
providerPort := p_providerPort
} // End of field 'nonipService'
} // End of field 'servData'
} // End of template mw_samDataServerciceWithAccessTechAndNonIP
garciay
committed
garciay
committed
// template SAMrxNot mw_sAMrxNot(
// in template (present) IN_SAPaddress p_csap,
// in template (present) Link_ID p_linkID,
// in template (present) StationID p_serverID
// ) := {
// link := {
// csap := p_csap,
// linkID := p_linkID
// },
// sam := {
// fmtID := 0, // FIXME Use PIXIT PX_FMTID_CTX
// version := 0, // FIXME Use PIXIT PX_VERSIONFSAP
// serverID := p_serverID,
// serviceList := ?,
// channelList := ?,
// ipServList := ?
// }
// } // End of template m_sAMrxNot
//
} // End of group samMessagePDU
group ctxMessagePDU {
garciay
committed
group send_ {
/**
* @desc Send "CTX" in reply to SAM
* @param p_csap Source address - see ISO 21218 Clause 5.4.2.1 & 5.4.2.2
* @param p_linkID Destination link ID - see ISO 21218 Clause 5.4.2.2
* @param p_clientID Station ID of the client ITS station
*
@see ISO/CD 24102-5 Clause 8.2.6
*/
template (value) MF_Request m_mfRequest_ctx(
in template (value) LLserviceAddr p_linkID,
in template (value) CTX p_ctx
) := {
fill := '0000'B,
mfReq := {
cTXrxNot := {
link := p_linkID,
ctx := p_ctx
} // // End of field 'cTXrxNot'
} // End of field 'mfReq'
} // End of template m_mfRequest_ctx
/**
* @desc TODO
*/
garciay
committed
template (value) CTX m_ctx(
in template (value) StationID p_clientID
) := {
fmtID := PX_FMTID_CTX,
version := PX_VERSION_FSAP,
clientID := p_clientID,
servContextList := { },
ipContextList := { }
garciay
committed
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
} // End of template m_ctx
// /**
// * @desc Send "Service Table Context" (STC) to FAST networking protocol for the purpose of unicast delivery to the selected peer station
// * @param p_csap Source address - see ISO 21218 Clause 5.4.2.1 & 5.4.2.2
// * @param p_linkID Destination link ID - see ISO 21218 Clause 5.4.2.2
// * @param p_clientID Station ID of the client ITS station
// *
// @see ISO/CD 24102-5 Clause 7.2.3
// */
// template (value) GCctxTxCmd m_gCctxTxCmd(
// in template (value) IN_SAPaddress p_csap,
// in template (value) Link_ID p_linkID,
// in template (value) StationID p_clientID
// ) := {
// link := {
// csap := p_csap,
// linkID := p_linkID
// },
// ctx := {
// fmtID := 0, // FIXME Use PIXIT PX_FMTID_CTX
// version := 0, // FIXME Use PIXIT PX_VERSIONFSAP
// clientID := p_clientID,
// servContextList := { },
// ipContextList := { }
// }
// } // End of template m_gCctxTxCmd
//
// /**
// * @desc Send "CTX" in reply to SAM
// * @param p_csap Source address - see ISO 21218 Clause 5.4.2.1 & 5.4.2.2
// * @param p_linkID Destination link ID - see ISO 21218 Clause 5.4.2.2
// * @param p_clientID Station ID of the client ITS station
// *
// @see ISO/CD 24102-5 Clause 7.2.3
// */
// template (value) CTXrxNot m_cTXrxNot(
// in template (value) IN_SAPaddress p_csap,
// in template (value) Link_ID p_linkID,
// in template (value) StationID p_clientID
// ) := {
// link := {
// csap := p_csap,
// linkID := p_linkID
// },
// ctx := {
// fmtID := 0, // FIXME Use PIXIT PX_FMTID_CTX
// version := 0, // FIXME Use PIXIT PX_VERSIONFSAP
// clientID := p_clientID,
// servContextList := { },
// ipContextList := { }
// }
// } // End of template m_cTXrxNot
} // End of group send_
garciay
committed
group recv_ {
/**
* @desc TODO
*/
template (present) MF_Command mdw_mfCommand_gCctx(
in template (present) ApplicationID p_applicationID,
in template (present) StationID p_clientID,
in template (present) CTXserviceData p_serviceContext
) modifies mw_mfCommand_any := {
mfCmd := {
gCctx := {
applicationID := p_applicationID,
clientID := p_clientID,
serviceContext := p_serviceContext
} // End of header 'gCctx'
} // End of header 'mfCmd'
} // End of template mw_mfCommand_gCctx
/**
* @desc TODO
*/
template (present) MF_Command mw_mfCommand_gCctxTxCmd(
garciay
committed
in template (present) CALMllsap.LLserviceAddr p_link,
in template (present) CTX p_ctx
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
) modifies mw_mfCommand_any := {
mfCmd := {
gCctxTxCmd := {
link := p_link,
ctx := p_ctx
} // End of header 'gCctxTxCmd'
} // End of header 'mfCmd'
} // End of template mw_mfCommand_gCctxTxCmd
/**
* @desc TODO
*/
template (present) CTX mw_ctx_any := {
fmtID := PX_FMTID_CTX,
version := PX_VERSION_FSAP,
clientID := ?,
servContextList := ?,
ipContextList := ?
} // End of template mw_ctx_any
/**
* @desc TODO
*/
template (present) CTX mw_ctx_NonipContext(
in template (present) NonipContext p_servContext
) modifies mw_ctx_any := {
servContextList := superset(p_servContext)
} // End of template mw_ctx_NonipContext
/**
* @desc TODO
*/
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
// template (present) CTXrxNot mw_ctxRxNotify(
// in template (present) CALMllsap.LLserviceAddr p_link,
// in template (present) CTX p_ctx
// ) := {
// link := p_link,
// ctx := p_ctx
// } // End of template mw_ctxRxNotify
garciay
committed
/**
* @desc TODO
*/
template (present) CTXserviceData mw_ctxDataServercice_any := {
fill := ?,
servData := ?
} // End of template mw_ctxDataServercice_any
/**
* @desc TODO
*/
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
garciay
committed
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
// /**
// * @desc Confirmation of Service context message transmission
// * @param p_csap Source address - see ISO 21218 Clause 5.4.2.1 & 5.4.2.2
// * @param p_linkID Destination link ID - see ISO 21218 Clause 5.4.2.2
// * @param p_clientID Station ID of the client ITS station
// *
// @see ISO/CD 24102-5 Clause 7.2.3
// */
// template GCctxTxCmd mw_gCctxTxCmd(
// in template (present) IN_SAPaddress p_csap,
// in template (present) Link_ID p_linkID,
// in template (present) StationID p_clientID
// ) := {
// link := {
// csap := p_csap,
// linkID := p_linkID
// },
// ctx := {
// fmtID := 0, // FIXME Use PIXIT PX_FMTID_CTX
// version := 0, // FIXME Use PIXIT PX_VERSIONFSAP
// clientID := p_clientID,
// servContextList := ?,
// ipContextList := ?
// }
// } // End of template mw_gCctxTxCmd
} // End of group recv_