OCPP 1.6J profile
Admit a selected charge-point action set over the WebSocket gateway with verified identity.
Selected WSS application profileOCPP reuses the MQTT-over-WebSocket gateway. A charge point connects over WSS, negotiates the ocpp1.6 subprotocol, and receives an immutable identity from a configured header, mTLS variable, or cookie boundary.
nginx validates and reassembles bounded UTF-8 text frames. nginz-iotd owns CALL parsing, boot state, topic translation, broker admission, correlated CALLRESULT generation, and duplicate unique-ID replay across reconnect.
Certified security profile
The selected profile requires nginx-verified client certificates and maps a bounded certificate common name to charge-point identity. A client without that certificate cannot complete the TLS handshake.
map $ssl_client_s_dn $ocpp_identity {
~^(?:.*,)?CN=(?<ocpp_cn>[A-Za-z0-9_.:-]+)(?:,.*)?$ $ocpp_cn;
default "";
}
location /ocpp {
iot_gateway_websocket on;
iot_gateway_websocket_protocol ocpp1.6;
iot_gateway_websocket_max_frame 16384;
iot_gateway_websocket_identity mtls ocpp_identity;
iot_gateway_websocket_iotd on;
iot_gateway_websocket_iotd_rings /nginz-iot-production 4096 1024 1024 1 1;
}
Configure ssl_client_certificate and ssl_verify_client on on the same listener.
Selected action set
The first frozen actions are BootNotification, Heartbeat, Authorize, and MeterValues.
Calls older than the 30-second broker response window fail closed. Pending ingress uses a 32-slot selected ring profile. Delivery correlation is bounded to 128 records. Only 64 completed unique IDs are retained for reconnect replay.
This is not the SOAP binding, the complete OCPP 1.6 action catalog, or central-system-to-charge-point remote command control.
An nginz-iotd restart clears OCPP lifecycle state. The charge point must send a fresh BootNotification. Credentials and OCPP payloads are not emitted in admin snapshots or metrics.
OCPP is a Max and Enterprise capability.
This page is a customer-oriented guide. The source contract remains authoritative for exact behavior and release evidence.
docs/phase21-ocpp-1.6j-profile.md