Coder Social home page Coder Social logo

esfak47 / freeswitch-monitoring Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gnostix/freeswitch-monitoring

0.0 1.0 0.0 4.44 MB

Project to monitor FreeSwitch status and health

License: Apache License 2.0

Scala 9.06% Shell 0.84% Java 0.48% HTML 6.11% Jolie 6.22% CSS 28.12% JavaScript 49.17%

freeswitch-monitoring's Introduction

Freeswitch-monitoring

Project to monitor FreeSwitch status and health in Real-Time.

Description

Freeswitch-monitoring is a distributed application based in the actor-based paradigm. As events are comming from the Freeswitch ESL connection, these messages are routed and processed by the Actor system, keeping in this way the main statistics data ready in memory for fast access. These data are also served in the front client through a WS or/and an REST API. The Scala, Scalatra ,Atmosphere and Akka.io are the tools used to achive the goal of this project.

Design stack

Application stack

image

Actor System

image

Dashboard pic

image image

How to run

First have a Freeswitch instance. You can install the war file in two ways:

a) Clone the project and from the application git folder, run bellow commands.

  • ./sbt
  • compile
  • jetty:start
  • jetty:stop

After the last command the container will start on localhost:8080

b) You can also download a ready build war file.

  • download file from location
  • have installed in a server java oracle 7 or 8
  • have installed a jetty server 9 between versions 9.2.1.v20140609 or 9.2.10.v20150310
  • add war file as root app in the Jetty webapps folder. We do that by copying the freeswitch-monitoring.war file to root.war file inside the webapps folder. e.g. in linux cp /war/location/freeswitch-monitoring.war /path/to/jetty/webapps/root.war
  • start jetty and connect your browser to url jetty-ip:8080

After the installation is complete then:

The application will try to connect to default hostname fs-instance.com and password ClueCon. You can add to your machine in /etc/hosts file the correct entry for fs-instance.com OR you can just navigate through the interface and go to the configuration and add there your Freeswitch credentials.

Login use credentials user: admin and password: admin

Basic events arriving in the web socket

  • New Call
  • End Call
  • Failed Call
  • Freeswitch Heartbeat
  • Basic Stats (ACD, ASR, Live Calls..)

HTTP/WS routes

  1. ws://localhost:8080/fs-moni/live/events
  2. http://localhost:8080/actors/GetCompletedCalls
  3. http://localhost:8080/actors/GetConcurrentCalls
  4. http://localhost:8080/actors/GetTotalConcurrentCalls
  5. http://localhost:8080/actors/GetFailedCalls
  6. http://localhost:8080/actors/GetTotalFailedCalls
  7. http://localhost:8080/actors/call/:callid
  8. http://localhost:8080/actors/call/:callUuid/channel/:channelUuid
  9. http://localhost:8080/actors/lastHeartbeat
  10. http://localhost:8080/actors/allHeartbeats
  11. http://localhost:8080/actors/stats/GetBasicStatsTimeSeries

Contact: p_alx at hotmail dot com

freeswitch-monitoring's People

Contributors

gnostix avatar nikgon avatar xelinorg avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.