1. A system for enabling real-time communication between an HTML5 application and a server-side real-time communication signaling controller, the system comprising: a computer including one or more microprocessors; a client-side controller operating on the computer, wherein the client-side controller provides a JavaScript application programming interface (API) to interface with the HTML5 application and to facilitate communication between the HTML5 application and the server-side real-time communication signaling controller; wherein the JavaScript API includes a plurality of libraries for use by the HTML5 application in adding functionalities thereto; wherein the functionalities are used by the HTML5 application to communicate with the server-side real-time communication signaling controller, and are added using one or more elements selected from the group consisting of an extension header of a message transmitted between the HTML5 application and the server-side real-time communication signaling controller, a new JavaScript package created by extending an existing package in the JavaScript API, and a new object created by extending an existing JavaScript object in the JavaScript API.
1. A system for enabling real-time communication between an HTML5 application and a server-side real-time communication signaling controller, the system comprising: a computer including one or more microprocessors; a client-side controller operating on the computer, wherein the client-side controller provides a JavaScript application programming interface (API) to interface with the HTML5 application and to facilitate communication between the HTML5 application and the server-side real-time communication signaling controller; wherein the JavaScript API includes a plurality of libraries for use by the HTML5 application in adding functionalities thereto; wherein the functionalities are used by the HTML5 application to communicate with the server-side real-time communication signaling controller, and are added using one or more elements selected from the group consisting of an extension header of a message transmitted between the HTML5 application and the server-side real-time communication signaling controller, a new JavaScript package created by extending an existing package in the JavaScript API, and a new object created by extending an existing JavaScript object in the JavaScript API. 4. The system of claim 1 , wherein the newly created JavaScript object contains logic to determine whether to delegate handling of messages to the existing object based on types of the messages.