summaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1/its/EV-RSR-PDU-Descriptions.asn
blob: 8a61a6e46e4da6f497864b8629442cac767f1dc3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
EV-RechargingSpotReservation-PDU-Descriptions {
 itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (101556) ev-rsr (4) version (1) 
}

DEFINITIONS AUTOMATIC TAGS ::= 

BEGIN

IMPORTS 
   ItsPduHeader FROM ITS-Container {
 itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) 
};

EV-RSR ::= SEQUENCE {
	header		ItsPduHeader,
	messageBody	EV-RSR-MessageBody
}

EV-RSR-MessageBody ::= CHOICE {
 preReservationRequestMessage		PreReservationRequestMessage,
 preReservationResponseMessage		PreReservationResponseMessage,
 reservationRequestMessage				ReservationRequestMessage,
 reservationResponseMessage			ReservationResponseMessage,
 cancellationRequestMessage			CancellationRequestMessage,
 cancellationResponseMessage			CancellationResponseMessage,
 updateRequestMessage						UpdateRequestMessage,
 updateResponseMessage					UpdateResponseMessage,
...
}

PreReservationRequestMessage ::= SEQUENCE {
 evse-ID 			EVSE-ID,
 arrivalTime		TimestampUTC,
 departureTime	TimestampUTC OPTIONAL,
 rechargingType	RechargingType,
 batteryType		BatteryType OPTIONAL,
 ...
}

PreReservationResponseMessage ::= SEQUENCE {
 preReservation-ID						PreReservation-ID,
 availabilityStatus					AvailabilityStatus,
 preReservationExpirationTime	TimestampUTC,
 supportedPaymentTypes 				SupportedPaymentTypes,
 ...
}
 
ReservationRequestMessage ::= SEQUENCE {
 currentTime			TimestampUTC,
 preReservation-ID	PreReservation-ID,
 arrivalTime			TimestampUTC,
 departureTime		TimestampUTC OPTIONAL,
 eAmount				EAmount,
 eAmountMin			EAmount,
 paymentType			PaymentType,
 payment-ID 			Payment-ID,
 secondPayment-ID	Payment-ID OPTIONAL,
 pairing-ID			Pairing-ID OPTIONAL,
 ...
}

ReservationResponseMessage ::= SEQUENCE {
 reservationResponseCode			ReservationResponseCode,
 reservation-ID							Reservation-ID OPTIONAL,
 reservation-Password					Reservation-Password OPTIONAL,
 stationDetails							StationDetails OPTIONAL,
 chargingSpotLabel						ChargingSpotLabel OPTIONAL,
 expirationTime							TimestampUTC,
 freeCancelTimeLimit					TimestampUTC OPTIONAL,
 ...
}

CancellationRequestMessage ::= SEQUENCE {
 reservation-ID				Reservation-ID,
 reservation-Password		Reservation-Password,
 currentTime					TimestampUTC,
 ...
}

CancellationResponseMessage ::= SEQUENCE {
 reservation-ID					Reservation-ID,
 cancellationResponseCode	CancellationResponseCode,
 ...
}

UpdateRequestMessage ::= SEQUENCE {
 reservation-ID				Reservation-ID,
 reservation-Password		Reservation-Password,
 updatedArrivalTime		TimestampUTC,
 updatedDepartureTime		TimestampUTC,
 ...
}

UpdateResponseMessage ::= SEQUENCE {
 reservation-ID			Reservation-ID,
 updateResponseCode	UpdateResponseCode,
 chargingSpotLabel		ChargingSpotLabel OPTIONAL,
 ...
}



AvailabilityStatus ::= ENUMERATED { available, no-free-capacity }

BatteryType ::= UTF8String (SIZE(1..16))

CancellationResponseCode ::= ENUMERATED { ok, unknown-Reservation-ID, mismatching-Reservation-Password }

ChargingSpotLabel ::= UTF8String (SIZE(1..4))

ContractID ::= UTF8String (SIZE(1..24))

EAmount ::= INTEGER { oneWh(1) } (1..500000)

ChargingPower ::= INTEGER { oneW(1) } (1..200000)

EVSE-ID ::= OCTET STRING (SIZE(1..32))

ExternalIdentificationMeans ::= UTF8String (SIZE(1..24))

Pairing-ID ::= VisibleString (SIZE(1..64))

PaymentType ::= ENUMERATED {contract, externalIdentification}

Payment-ID ::= CHOICE {
 contractID ContractID,
 externalIdentificationMeans	ExternalIdentificationMeans
}

RechargingType ::= SEQUENCE {
 rechargingMode RechargingMode,
 powerSource PowerSource
}

RechargingMode ::=  INTEGER { mode1(0), mode2(1), mode3(2), mode4(3), quickDrop(8), inductiveChargingWhileStationary(12), inductiveChargingWhileDriving(14) } (0..15)

PowerSource::=  INTEGER { notApplicable(0), ac1Phase(1), ac2Phase(2), ac3Phase(3), dcc(4), chaDeMo(5) } (0..7)
ReservationResponseCode ::= ENUMERATED {ok, invalid-EVSE-ID, payment-type-not-supported, payment-error, authentication-error, insufficient-power-availability }

Reservation-ID ::= VisibleString (SIZE(8))

PreReservation-ID ::= Reservation-ID

Reservation-Password ::= VisibleString (SIZE(8))


StationDetails ::= UTF8String (SIZE(1..32))

SupportedPaymentTypes ::= BIT STRING { contract(0), externalIdentification (1) } (SIZE(2))

TimestampUTC ::= INTEGER { utcStartOf2013(0), oneSecondAfterUTCStartOf2013(1) }

UpdateResponseCode ::= ENUMERATED { ok, unknown-Reservation-ID, mismatching-Reservation-Password, invalid-Arrival-Time, invalid-Departure-Time }

StatusResponseCode ::= ENUMERATED { charging-Spot-Occupied, charging-Spot-Unoccupied, charging-Ongoing, reservation-Limit-Exceeded, reservation-Cancelled, unknown-Reservation-ID, expired-Reservation-ID }

END