Simple answer: Use LiveScan3D. Should be easy enough.
Longer answer: You are looking for a way to 'register' multiple point clouds. This is an extremely well studied problem in computer vision. In your case I would consider two scenarios:
Target-based (photogrammetry-like): Place some targets in the world such as markers (see OpenCV Aruco markers). Estimate the marker pose in each camera image (the camera center is set to be the origin). Once the marker pose is computed in all views, you could transform each 3D cloud into the coordinate frame of one of the cameras (choice is arbitrary).
Markerless: The 3D geometry itself is usually rich enough to relate the views together. This is called registration. You are indeed looking into a multiview registration problem. The typical pipelines follow two main steps: (i) pairwise registration; you can use for example FGR for this. Then these individual pairwise transformation estimates have to be linked together. If your view-graph in which there exist an edge for each pair of cameras seeing common structure, is simple, you could compute the minimum spanning tree and chain the transformations along the tree to compute all the coordinate frames with respect to the first one (free to choose).
Note that, with the advances in deep learning we can now solve this problem in an end-to-end manner, efficiently:
Gojcic, Z., Zhou, C., Wegner, J. D., Guibas, L. J., & Birdal, T. (2020). Learning multiview 3D point cloud registration. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 1759-1769). https://arxiv.org/pdf/2001.05119.pdf
The first option requires you to physically place fiducial tags in the scene but is easier to implement. The second option is more automatic, but might be harder to get to work.