You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Issue Description:
The current implementation of the OCPP server does not adhere to the specified behavior in the OCPP documentation regarding concurrent transactions. The documentation states that if an idTag is already involved in an active transaction, any attempt to initiate a new transaction with the same idTag should result in an AuthorizationStatus of ConcurrentTx. However, I've observed two issues:
The server allows initiation of multiple transactions using the same idTag without the ConcurrentTx status.
A StopTransaction message with a random transactionId can stop the current transaction.
Steps to Reproduce:
Send a StartTransaction message using a specific idTag.
While the transaction is active, send another StartTransaction message with the same idTag.
Observe that the server does not return an AuthorizationStatus of ConcurrentTx.
Send a StopTransaction message with a random transactionId.
Note that the server stops the most recent transaction.
Expected Behavior:
In compliance with the OCPP specification, the server should not allow a new transaction to start with an idTag that is already in use for an ongoing transaction. The server should issue an AuthorizationStatus of ConcurrentTx.
Actual Behavior:
Multiple transactions are allowed for the same idTag without returning a ConcurrentTx status, and transactions can be stopped using random transactionIds.
Potential Impact:
This could cause a critical error in transaction management and billing processes, affecting operational integrity.
Suggested Solution:
Update the server logic to return an AuthorizationStatus of ConcurrentTx for StartTransaction requests that involve an idTag in an ongoing transaction.
Validate transactionId in StopTransaction requests to ensure the correct transaction is being stopped.
Best regards,
Gaetano Coppoletta
The text was updated successfully, but these errors were encountered:
You are correct. The specification describes the status "ConcurrentTx" this way. But does it make sense in real life?
Imagine you've got two cars in your family and want to charge both in parallel on the same account/token? Why should that be rejected?
I've added a configuration switch (appsettings.json) to enable this behavior (next version 1.3.0).
It might make more sense to add a corresponding setting to the charge tags. So it can be enabled/disabled individually. Maybe in a later version :-)
Issue Description:
The current implementation of the OCPP server does not adhere to the specified behavior in the OCPP documentation regarding concurrent transactions. The documentation states that if an
idTag
is already involved in an active transaction, any attempt to initiate a new transaction with the sameidTag
should result in anAuthorizationStatus
ofConcurrentTx
. However, I've observed two issues:idTag
without theConcurrentTx
status.StopTransaction
message with a randomtransactionId
can stop the current transaction.Steps to Reproduce:
StartTransaction
message using a specificidTag
.StartTransaction
message with the sameidTag
.AuthorizationStatus
ofConcurrentTx
.StopTransaction
message with a randomtransactionId
.Expected Behavior:
In compliance with the OCPP specification, the server should not allow a new transaction to start with an
idTag
that is already in use for an ongoing transaction. The server should issue anAuthorizationStatus
ofConcurrentTx
.Actual Behavior:
Multiple transactions are allowed for the same
idTag
without returning aConcurrentTx
status, and transactions can be stopped using randomtransactionIds
.Potential Impact:
This could cause a critical error in transaction management and billing processes, affecting operational integrity.
Suggested Solution:
AuthorizationStatus
ofConcurrentTx
forStartTransaction
requests that involve anidTag
in an ongoing transaction.transactionId
inStopTransaction
requests to ensure the correct transaction is being stopped.Best regards,
Gaetano Coppoletta
The text was updated successfully, but these errors were encountered: