#system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=515340240,longitude=139274330,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=../data/certificates/certificates)/ETH(mac_src=e2b7b30429eb)/PCAP(mac_src=e2b7b30429eb,nic=CEBB111F-D749-4B40-8B4D-DBB060E90987,filter=and ether proto 0x8947)"
# Linux
#system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=515340240,longitude=139274330,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=../data/certificates/certificates)/ETH(mac_src=8c554ac1eee0)/PCAP(mac_src=8c554ac1eee0,nic=wlp0s20f3,filter=and ether proto 0x8947)"
system.camPort.params:="CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=515340240,longitude=139274330,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=../data/certificates/certificates)/ETH(mac_src=8c554ac1eee0)/PCAP(mac_src=8c554ac1eee0,nic=wlp0s20f3,filter=and ether proto 0x8947)"
#system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=515340240,longitude=139274330,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=../data/certificates/certificates)/LTE(mac_src=8c554ac1eee0,nic=wlp0s20f3,filter=and ether proto 0x8947,pc5_layer=QUALCOMM,uu_protocol=mqtt,mqtt_client_id=8c554ac1eee0,mqtt_topics=rsu,uu_transport=udp,debug=1,server=192.168.1.39,port=1883)"
# MQTT over TCP
system.camPort.params:="CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=515340240,longitude=139274330,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=../data/certificates/certificates)/LTE(mac_src=8c554ac1eee0,nic=wlp0s20f3,filter=and ether proto 0x8947,pc5_layer=QUALCOMM,uu_protocol=mqtt,mqtt_client_id=8c554ac1eee0,mqtt_topics=rsu,uu_transport=tcp,debug=1,server=192.168.1.39,port=1883)"
#system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=515340240,longitude=139274330,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=../data/certificates/certificates)/LTE(mac_src=8c554ac1eee0,nic=wlp0s20f3,filter=and ether proto 0x8947,pc5_layer=QUALCOMM,uu_protocol=mqtt,mqtt_client_id=8c554ac1eee0,mqtt_topics=rsu,uu_transport=tcp,debug=1,server=192.168.1.39,port=1883)"
# time_offset : Time offset, used to skip packets with time offset < time_offset
# save_mode : Set to 1 to save sent packet, 0 otherwise
system.denmPort.params:="DENM(next_header=btpB,header_type=tsb)/BTP(dst_port=2002)/GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=/home/vagrant/tmp/certificates)/ETH(mac_src=e2b7b30429eb)/PCAP(mac_src=e2b7b30429eb,nic=wlan0,filter=and ether proto 0x8947)"
system.denmPort.params:="DENM(next_header=btpB,header_type=tsb)/BTP(dst_port=2002)/GN(ll_address=4C5E0C14D2EA,latitude=515340240,longitude=139274330,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=../data/certificates/certificates)/ETH(mac_src=8c554ac1eee0)/PCAP(mac_src=8c554ac1eee0,nic=wlp0s20f3,filter=and ether proto 0x8947)"
# Check that protocolVersion is set to 2 and messageID is set to 1
ItsDenm_TestCases.TC_DEN_MSGF_BV_01
# Check that sent DENM contains at least one 'trace' DE
#ItsDenm_TestCases.TC_DEN_MSGF_BV_02
# Check that DEN Basic Service generates a new DENM on reception of a valid AppDENM_Trigger request
#ItsDenm_TestCases.TC_DEN_EVGN_BV_01
# Check that a new ActionID value is assigned for each newly generated DENM
#ItsDenm_TestCases.TC_DEN_EVGN_BV_02
# Check that a newly created ActionID contains the StationID of the originating ITS-S that detected the event
#ItsDenm_TestCases.TC_DEN_EVGN_BV_03
# Check that Cause and subcause values included in DENM as provided by application
#ItsDenm_TestCases.TC_DEN_EVGN_BV_04
# Check that referenceTime is set to the current time when generating a DENM for a new event
#ItsDenm_TestCases.TC_DEN_EVGN_BV_05
# Check that sequenceNumber is set to a next unused value each time an event is detected
#ItsDenm_TestCases.TC_DEN_EVGN_BV_07
# Check that actionID are generated using newly assigned stationID when a pseudonym change occurs
#ItsDenm_TestCases.TC_DEN_EVGN_BV_10
# Check that DEN Basic Service generates an update DENM on reception of a valid AppDENM_update request
#ItsDenm_TestCases.TC_DEN_EVUP_BV_01
# Check that the actionID is not changed by DENM update, as long as the stationID of the originating ITS-S remains unchanged
#ItsDenm_TestCases.TC_DEN_EVUP_BV_02
# Check that referenceTime is set to the current time when generating a DENM for an updated eventCheck
#ItsDenm_TestCases.TC_DEN_EVUP_BV_03
# Check that DEN Basic Service does not send any update DENM if actionID is not in originating ITS-S message table
#ItsDenm_TestCases.TC_DEN_EVUP_BO_04
# Check that DEN Basic Service generates a cancellation DENM when application indicates the premature termination of an event for which it is the originator
#ItsDenm_TestCases.TC_DEN_EVTR_BV_01
ItsDenm_TestCases.TC_DEN_MSRV_BV_01
# Check that DEN Basic Service generates a negation DENM when application indicates the premature termination of an event for which it is not the originator
#ItsDenm_TestCases.TC_DEN_EVTR_BV_02
# Check that referenceTime is set to the latest value received for this event in negation DENM
#ItsDenm_TestCases.TC_DEN_EVTR_BV_03
# Check that situation container, location container and alacarte container are not present in a cancellation DENM
#ItsDenm_TestCases.TC_DEN_EVTR_BV_04
# Check that situation container, location container and alacarte container are not present in a negation DENM
#ItsDenm_TestCases.TC_DEN_EVTR_BV_05
# Check that DEN Basic Service does not send any termination DENM if actionID is not in originating ITS-S message table or receiving ITS-S message table (own stationID)
#ItsDenm_TestCases.TC_DEN_EVTR_BO_06
# Check that DEN Basic Service does not send any termination DENM if actionID is not in originating ITS-S message table or receiving ITS-S message table (other stationID)
#ItsDenm_TestCases.TC_DEN_EVTR_BO_07
# Check that referenceTime is set to to the current time when generating a cancellation DENM
#ItsDenm_TestCases.TC_DEN_EVTR_BV_08
# Check that DEN Basic Sercive repeats DENM transmission according to repetitionInterval parameter provided by application
#ItsDenm_TestCases.TC_DEN_EVRP_TI_01
# Check that the repeated DENM is always the most up-to-date message
#ItsDenm_TestCases.TC_DEN_EVRP_BV_02
# Check that DEN Basic Service stops retransmitting DENM after event’s validityDuration expiration
#ItsDenm_TestCases.TC_DEN_EVRP_BV_03
# Check that DEN Basic Service stops retransmitting DENM after event’s repetitionDuration expiration
#ItsDenm_TestCases.TC_DEN_EVRP_BV_04
# Check that DEN Basic Service does not repeat transmission of DENM if repetitionInterval is not provided by application
#ItsDenm_TestCases.TC_DEN_EVRP_BV_05
# Check that DEN Basic Service does not repeat transmission of DENM if repetitionDuration is not provided by application
#ItsDenm_TestCases.TC_DEN_EVRP_BV_06
# Check that existing actionID in originating ITS-S are updated when stationID is modified
#ItsDenm_TestCases.TC_DEN_EVRP_BV_08
# Check that actionID is not modified in repetitions of DENM if stationID is not modified
#ItsDenm_TestCases.TC_DEN_EVRP_BV_09
# Check that actionID is not modified in repetitions of DENM if stationID is not modified
#ItsDenm_TestCases.TC_DEN_EVRP_BV_10
# Check that DEN Basic Service stops retransmitting DENM after event's validityDuration expiration, when validityDuration was not provided
#ItsDenm_TestCases.TC_DEN_EVRP_BV_11
# Check that DENM is encapsulated in BTP type B packet
#ItsDenm_TestCases.TC_DEN_PAR_BV_01
# Check that DENM is encapsulated in a GBC packet
#ItsDenm_TestCases.TC_DEN_PAR_BV_02
# Check that IUT does not send a DENM if it is not permitted by signing certificate
#ItsDenm_TestCases.TC_DEN_SSP_BV_01_01
# Check that IUT does not send a DENM if it is not permitted by signing certificate
#ItsDenm_TestCases.TC_DEN_SSP_BV_01_02
# Check that receiving ITS-S transmits DENM to application if it concerns an unknown ActionID and if it is not a termination DENM
#ItsDenm_TestCases.TC_DEN_MSRV_BV_01
#Check that receiving ITS-S transmits DENM to application if it concerns a known ActionID and referenceTime is greater than highest value received for this ActionID
#ItsDenm_TestCases.TC_DEN_MSRV_BV_02
# Check that receiving ITS-S discards termination DENM if it concerns an unknown ActionID (own actionID)
#ItsDenm_TestCases.TC_DEN_MSRV_BO_03
# Check that receiving ITS-S discards termination DENM if it concerns an unknown ActionID (other actionID)
#ItsDenm_TestCases.TC_DEN_MSRV_BO_04
# Check that receiving ITS-S discards DENM if referenceTime is lower than highest value received for this ActionID
#ItsDenm_TestCases.TC_DEN_MSRV_BO_05
# Check that receiving ITS-S discards DENM if detectionTime is smaller than highest value received for this ActionID
#ItsDenm_TestCases.TC_DEN_MSRV_BO_06
# Check that receiving ITS-S transmits DENM to application if it concerns a known ActionID and referenceTime is equal to highest received value and detectionTime is more recent
#ItsDenm_TestCases.TC_DEN_MSRV_BV_07
# Check that receiving ITS-S discards DENM for new event if SSP value of the signing certificate is not consistent with the causeCode
#ItsDenm_TestCases.TC_DEN_MSRV_BO_08_01
# Check that receiving ITS-S discards DENM for new event if SSP value of the signing certificate is not consistent with the causeCode
#ItsDenm_TestCases.TC_DEN_MSRV_BO_08_02
# Check that receiving ITS-S discards DENM for existing event if SSP value of the signing certificate is not consistent with the causeCode
#ItsDenm_TestCases.TC_DEN_MSRV_BO_09_01
# Check that receiving ITS-S discards DENM for existing event if SSP value of the signing certificate is not consistent with the causeCode
#ItsDenm_TestCases.TC_DEN_MSRV_BO_09_02
# Check that receiving ITS-S replies to requestResponseIndication
#ItsDenm_TestCases.TC_DEN_MSRV_BV_10
# Check that forwarding ITS-S forwards DENM if no DENM with same ActionId has been received during forwarding delay
#ItsDenm_TestCases.TC_DEN_KAFW_BV_01
# Check that forwarding ITS-S forwards DENM if no DENM with same ActionId and referenceTime greater or equal to the last received DENM has been received during forwarding delay
#ItsDenm_TestCases.TC_DEN_KAFW_BV_02
# Check that forwarding delay is set to min(2*transmissionInterval + rnd(0, 150ms), validityDuration)
#ItsDenm_TestCases.TC_DEN_KAFW_TI_03
# Check that Forwarding ITS-S replaces the ITS PDU header of forwarded DENMs
#ItsDenm_TestCases.TC_DEN_KAFW_BV_04
# Check that forwarding ITS-S does not change actionID
#ItsDenm_TestCases.TC_DEN_KAFW_BV_05
# Check that forwarding ITS-S does not change referenceTime
#ItsDenm_TestCases.TC_DEN_KAFW_BV_06
# Check that forwarding ITS-S does not change termination
#ItsDenm_TestCases.TC_DEN_KAFW_BV_07
# Check that Forwarding ITS-S does not modify management, situation, location and alacarte containers when forwarding a DENM
#ItsDenm_TestCases.TC_DEN_KAFW_BV_08
# Check that forwarding ITS-S stops forwarding DENM after validity expiration
#ItsDenm_TestCases.TC_DEN_KAFW_BV_09
# Check that forwarding ITS-S stops forwarding DENM if it is outside relevance area
#ItsDenm_TestCases.TC_DEN_KAFW_BV_10
# Check that forwarding ITS-S does not forward DENM is transmissionInterval is not present
LibItsPki_Pics.PICS_TS_EA_CERTIFICATE_ID := "CERT_TS_A_EA" #"ATOS_EA_D41845A1F71C356A" # Use CERT_TS_A_EA when the TS simulate the EA (TC_SECPKI_AA_AUTHVAL_01_BV)
LibItsPki_Pics.PICS_TS_EA_CERTIFICATE_ID := "ATOS_EA_D41845A1F71C356A" # Use CERT_TS_A_EA when the TS simulate the EA (TC_SECPKI_AA_AUTHVAL_01_BV)
# The EnrolmentResponse message shall be sent by the EA to the ITS-S across the interface at reference point S3 in response to a received EnrolmentRequest message
#ItsPki_TestCases.TC_SECPKI_EA_ENR_RCV_01_BV
ItsPki_TestCases.TC_SECPKI_EA_ENR_RCV_01_BV
# Check that EA doesn't accept Enrolment rekeying request when enrolment is not permitted by signing certificate (not containing an item of type PsidSsp)