All this steps need to happen at the same time in order for high quality communication to be achieved. Thus, we need to expose the right degree of parallelization to achieve higher performance, but also avoid communication overhead between the threads. Each web service is hosted individually in the application domain, and that each web service is self-contained from the rest of the web services and from the application. The working principle is the following: the Web-services act as receivers; they are responsible of capturing all incoming **data** and forward it to the application. Each web service runs on a separate thread, and does not depend on the other services. This provides high flexibility for the SDK allowing the end user to realize different combinations of multimedia streaming like , for instance, adding a capability of screen sharing while in a video call and so on. Each web-service handles incoming **data** and forwards it to the application to be processed.