Once again, another layer of abstraction can be observed; all the proxy servers do the same thing, but with different **data** types. By adding this abstraction layer, we minimize the future impact of adding another streaming functionality to the application like screen sharing or file transfer. The gains in this case are self-evident. Both the web servers and proxy servers rely on abstraction to form a common way of working, facilitating the adding of new features. All of them in concept behave the same but, one of them acts different at a lower level. The Signaling web-server and proxy server, as the name suggests, is responsible of for the initialization and for the termination of a connection.