Data Retreival Methods

Poll - Use poll method (default)
In this method the server polls FreeSWITCH for the entire channel list once per second. And then will emit that full list tot he client via websockets. This causes a full redraw of the table, and for the server to buffer the list. This method is the least efficient, but is the quickest and least complex. Also, it is possible the the amount of events having to be processed on high traffic servers may add more overhead than this method (I have no metrics to base that on). I've also noticed that the Call-UUID field will not update on this method since you are getting channels, not calls; however the other methods will add the call_uuid to the unique_id of the channel.
Live - Use live method
In this method the server listens to ESL events and sends row updates to the client, unfortunately this will not detect channels that existed before you started listening. Only channels that are created after listening are displayed. The benefit is that the server does not have to buffer a channel list, and the client only has to update rows that change. Unfortunately it increases complexity and introduces a problem where a message can be missed and the client can be out of date. Note: Although this method requires no server buffer, this implementation does buffer a channel list based on events from this method. However, to simulate an unbuffered server if you switch to this method, the entire list is not sent down as a refresh.
Hybrid - Use hybrid method
In this method the server tries to combine both. It initially fills a buffers a full channel list from FreeSWITCH using "show channels as json". Then, it subscribes to events for new events. When the websocket initially connects it gets a full list of the buffer, then as events come in it is notified of changes to rows. In this way you get the benefits of both: lightweight messaging, but access tot he full list.

FreeSWITCH Channels

Uuid Direction Created Channel State CallState Caller Id Application Read Codec Write Codec Host Call Uuid

Here is the full JSON object for this row. It was constructed to look just like a row returned from FreeSWITCH with show channels as json. Note that this is not live updating.

Any null values are are set as such because I was not able to quickly see where those values came from in events sent during a call. It is possible that these values are not sent over ESL, or that they were blank in testing, or that I am stupid.

Obviously, if this is a "poll" method row there should be no null values.