LiteNet Extension Status

<%= endpoints.length %> Endpoints connected to <%= Object.keys(userInfo).length %> Extensions. With an average latency of <%= (endpoints.reduce((sum, ep) => { const avgLatency = ep.contacts.reduce((contactSum, contact) => contactSum + contact.ping, 0) / ep.contacts.length; return sum + (isNaN(avgLatency) ? 0 : avgLatency); }, 0) / endpoints.filter(ep => ep.contacts.length > 0).length).toFixed(2) %>ms

<%= endpoints.filter(ep => ep.state !== 'Unavailable').length %> online / <%= endpoints.length %> total

<%= endpoints.filter(ep => ep.state === 'In use').length %> In-use

● Not in use ● Unavailable ● In use

Last Updated:

Updating in 10

<% endpoints.forEach(function(ep) { %> <% }); %>
Extension Number Name Status Endpoints Avg Latency
● <%= ep.endpoint %> <%= userInfo[ep.endpoint] %> <%= ep.state %> <%= ep.contacts.length %> <%= isNaN(ep.contacts.reduce((sum, contact) => sum + contact.ping, 0) / ep.contacts.length) ? 'No Data' : `${(ep.contacts.reduce((sum, contact) => sum + contact.ping, 0) / ep.contacts.length).toFixed(2)}ms` %>