Code Monkey home page Code Monkey logo

fonos's Introduction

Repo Banner

build license: MIT Tweet

Project Fonos is open-source telecommunications for the cloud. This repository assembles the various components needed to deploy a telephony system. It helps VoIP integrators quickly deploy new networks and include value-added services such as Programmable Voice, Messaging, and Video.


Special Announcement:

We now have a Slack Channel
There we plan to discuss roadmaps, feature requests and and more
Join the channel


Getting started

To get started with Fonos Programmable Voice follow the next few steps.

Preparation
The first step with Fonos Programmable Voice is to install all the requirements. Refer to websites of the various products in the list bellow for detail on installation and configuration.

Requirements:

  • K8S Cluster
  • Node and NPM
  • A softphone (with support for tcp)
Running the Infrastructure
To run Fonos in your cluster, please follow the deployment instructions

Work is on the way to enable Fonos for Docker Swarm

Installing the Tools
The next step is to install the Command-Line Tool. To install the tool run the following command:

npm install @fonos/ctl -g

For details on this tool please go to ctl @ npmjs.

Creating and Deploy an Application
If everything is went to plan, it is now time to generate and deploy your first Voice Application.

mkdir voice-app
cd voice-app
fonos apps:init
fonos apps:deploy

For more examples go the examples folder in this repository.

Testing
To interact with your application, point your softphone to Asterisk sub-system. The testing information is as follows:

USENAME = 1001
PASSWORD = 1234
TEST EXTENSION = 1002
What's Next?
Congratulations if you made it this far. The next step with Fonos is to get familiar with the Command-Line Tool and the SDK.

Features

Fonos' main features are:

  • Programmable Voice
  • Available on Kubernetes environment
  • Typical SIP Server functions; Proxy, Registrar, Location Service
  • Configurable routing strategies; Intra-Domain, Domain Ingress, Domain Egress and Peer Egress
  • Per node Multi-Tenancy/Multi-Domain with Domain level Access Control List
  • Transport: TCP, UDP, TLS, WebSocket
  • Database: Redis

Modules and Components

The following is a list of modules and other subcomponents of Project Fonos by topic and current status.

Name Topic Description Status
core Core Core API alpha
events Core Event managment alpha
storage Core Utility module for storage managment alpha
ctl Tooling Controls a Fonos deployment using the API alpha
sdk Tooling Bundle API for all user facing components alpha
voice Programmable Voice NodeJS Implementation of Voice API alpha
appmanager Programmable Voice API for deployment and managment of PVAs alpha
dispatcher Programmable Voice Takes a call and passes control to media controller alpha
tts Programmable Voice Abstracts for TTS features beta
marytts Programmable Voice Default TTS implementation beta
googleasr Programmable Voice Google implementation for ASR feature beta
googletts Programmable Voice Google implementation for TTS feature beta
mediacontroller Programmable Voice NodeJS implementation for Fonos media controller alpha
mediaserver VoIP Network, Programmable Voice Asterisk based media server beta
agents VoIP Network API to create, update, get and delete Agents alpha
domains VoIP Network API to create, update, get and delete Domains alpha
providers VoIP Network API to create, update, get and delete Providers alpha
numbers VoIP Network API to create, update, get and delete Numbers alpha
sipproxy VoIP Network SIP proxy subcomponent rc
mediarelay VoIP Network RTPEngine controller and balancer alpha
aaa VoIP Network Access Authorization Accounting not yet implemented
logger Misc Useful for Programmable Voice Applications (PVAs) alpha
certs Misc Certificate creation and managment alpha
errors Misc Util module for error managment alpha
roles Misc API Access Control not yet implemented

Bugs and Feedback

For bugs, questions, and discussions please use the Github Issues

Contributing

For contributing, please see the following links:

Authors

License

Copyright (C) 2020 by Fonoster Inc. MIT License (see LICENSE for details).

fonos's People

Contributors

gitter-badger avatar psanders 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.