Giter VIP home page Giter VIP logo

vialer-js's Introduction

CircleCI

Quickstart

Requirements

  • Node.js 10.0.0 or higher
  • Npm 6 or higher
  • Electron executable for the desktop version (optional)

Setup

Checkout the project and install its dependencies from npm:

git clone [email protected]:VoIPGRID/vialer-js.git
cd vialer-js
npm i
# Setup the default settings file:
cp ./.vialer-jsrc.example ~/.vialer-jsrc
# Build a Chrome extension:
gulp build

Go to chrome://extensions in your Chrome/Chromium browser and point to the build/vialer/chrome directory. You now have a Vialer-js softphone running as a Chrome WebExtension! Checkout {@tutorial install} to learn more about different builds.

About Vialer-js

Vialer-js is a free and open-source communication platform. It's purpose is to be an attractive unified communication tool to end-users, who value cross-platform user- and privacy-friendly features, like being able to accept and place calls over a phone network, setting up (p2p) video conferences, chatting and sharing files; all over secured encrypted channels.

Written in environment-agnostic JavaScript, using a simple but powerful reactive data-orientated design, it can operate as a WebExtension for Blink & Gecko-compatible browsers, a website widget, a desktop app(Electron) or as a headless Node.js application, while at the same time keeping it easy for developers to implement new features for all platforms at once at a very fast pace.

As a developer platform, the Vialer-js project aims to be open and accessible to developers that may be interested in adding their own custom endpoint protocol to Vialer-js, which is much faster to implement than building all the involved plumbing themselves. Vialer-js may also be an attractive option for those interested in creating their own softphones, without having to reinvent the wheel.

The core of the software is designed around the notion of a generic 'Call' abstraction, that allows it to be flexible about using different technology stacks, while keeping the core functionality generic. Core functionality includes:

  • Audio for: DTMF, Busy, ringback & build-time selected ringtone
  • Audio device selection for headset input/output and ringtone device
  • Automated builds and deploys using gulp
  • Brandable design
  • Call dialogs with context switching
  • Call notifications with animated menubar icons and system notifications
  • Clickable call icons and call status next to phonenumbers in browser tabs
  • Configuration screen + developer modus
  • Configuration wizard
  • Contacts & endpoints
  • Dialpad with Contact autocomplete and volume meter
  • Do-not-disturb
  • Password-encrypted data storage (WebCrypto/PBKDF2)]
  • Keyboard shortcuts (WebExtension-only) for several Call actions
  • Multi-language support (NL/EN only at the moment)
  • Non-blocking UX for Call management
  • Online/offline detection & status monitoring
  • Reactive flexible UI & data store (Vue & Vue-stash)
  • Recent calls list
  • Telemetry opt-in (Google-analytics events & Sentry exception logging)
  • User sessions

The CallSIP implementation can be harnessed to use Vialer-js as a softphone when used in combination with an SIP-over-websocket compatible PBX infrastructure. It supports most of the features you would expect from a PBX softphone, like:

  • Blind & attended transfer
  • On-hold & call switching
  • DTMF support
  • VoIP-account selection and feature detection (avpf/encryption)

vialer-js's People

Contributors

frenchvillain avatar

Watchers

 avatar  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.