{"templateId":"markdown","versions":[{"version":"2.0","label":"2.0","link":"/guides/prerequisites","default":true,"active":true,"folderId":"9817d8cf"},{"version":"1.0","label":"1.0","link":"/guides/1.0/prerequisites","default":false,"active":false,"folderId":"9817d8cf"}],"sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Prerequisites","description":"This is our Guide to help you find your way around Exolink."},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"prerequisites","__idx":0},"children":["Prerequisites"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Exolink sits between your charger and your CPMS: the charger connects to the Exolink OCPP Broker, and the broker forwards the traffic to your CPMS. Before you start the Setup Wizard, make sure these three things are in place."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"access-to-the-chargers-configuration","__idx":1},"children":["Access to the charger's configuration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You need to be able to change the charger's ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["OCPP backend URL"]}," (also called ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Central System URL"]}," or ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Backend URL"]},"). You can usually do this via the charger's web interface, remotely through your current CPMS, or on site."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Make sure you have write access — not just read access — and the installer or service credentials, which are often different from the regular operator login."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"connectivity-with-the-internet","__idx":2},"children":["Connectivity with the internet"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The charger opens the connection to Exolink, so it needs a working outbound internet connection: a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["wss://"]}," connection on port 443 or a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ws://"]}," connection on port 80 must not be blocked by a firewall or proxy."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Watch out for proprietary SIM cards."]}," Many chargers ship with a SIM card provided by the manufacturer or your current CPMS. These SIMs are often locked to a private APN that only routes traffic to that provider's own backend. The charger is online, but it cannot reach any other host, including Exolink. Typical symptoms are a charger that keeps working with its old backend while the wizard stays at ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Waiting for Connection"]},", because the connection attempt never arrives at the broker."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you use such a SIM, you have three options:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["ask your provider to allow the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://docs.exolink.com/guides/faq#which-ip-addresses-do-you-use-for-communication"},"children":["Exolink IPs"]}," on the APN,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["replace the SIM with one that has unrestricted internet access,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["connect the charger via Ethernet or Wi-Fi instead."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If desired, Exolink can provide you with SIM cards from our partner."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"a-cpms-url","__idx":3},"children":["A CPMS URL"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the wizard you enter the WebSocket URL of your CPMS. It must:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["start with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["wss://"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ws://"]},","]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["be the base endpoint — ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["not"]}," end with a charger ID (the broker appends each charger's identity itself),"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["be publicly reachable; private addresses such as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["10.x.x.x"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["192.168.x.x"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["172.x.x.x"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["127.x.x.x"]}," do not work."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You will usually find it in your charger's current configuration — the backend URL it uses today is your CPMS URL. If your provider is in the wizard's list, the URL is filled in for you; otherwise choose ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Custom"]}," and use ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Test connection"]}," to verify it before saving."]}]},"headings":[{"value":"Prerequisites","id":"prerequisites","depth":1},{"value":"Access to the charger's configuration","id":"access-to-the-chargers-configuration","depth":2},{"value":"Connectivity with the internet","id":"connectivity-with-the-internet","depth":2},{"value":"A CPMS URL","id":"a-cpms-url","depth":2}],"frontmatter":{"seo":{"title":"Prerequisites"}},"lastModified":"2026-09-24T11:50:13.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/prerequisites","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}