What is the relationship between erizo,erizoAPI and erizoJS in the code?

Hello All,
What is the relationship between erizo,erizoAPI and erizoJS in the code?

Thanks

Erizo is the low-level C++ implementation of the SFU. It includes things like the ICE implementation and the connection pipelines.
ErizoAPI is node.js wrapper for erizo exporting the needed functionality so it can be used in javascript.
ErizoJS uses ErizoJS to implement the higher abstraction levels of the SFU. It implements the concept of publisher and subscribers and manages the negotiation among other things.

Can I understand the licode event flow as shown below? @pedro
client(nuveClient and erizoClient) → nuve → erizo_controller → erizoAgent → ErizoJS → ErizoAPI → Erizo.

More or less. Nuve is only involved for user authorization and room management.
When a user successfully gets a token, it contains the url for the erizoController where that room is hosted. After that, the client no longer needs to communicate with nuve.
All signalling and control messages will go through erizoController via websocket and all the A/V data will go through erizo via WebRTC.

Thanks very much for you reply.