Skip to content
/ fonos Public
forked from fonoster/fonoster

πŸš€ An open-source alternative to Twilio.

License

Notifications You must be signed in to change notification settings

zmilan/fonos

Repository files navigation

Fonos build Quality Gate Status Join the chat at https://gitter.im/fonoster/fonos license: MIT Tweet

Project Fonos assembles the 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.

⚠️ This platform is not yet production ready. We are working to deliver a beta version as soon as possible. Please keep an eye on the projects section for development status.

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:

  • Docker Compose
  • Node and NPM
  • Git (optional)
  • A softphone (with support for tcp)
Running the Infrastructure
Once all the requirements are installed, the next step is to run the infraestructure. For that, you must clone or download Fonos git repository. The first time you run this commands it will take awhile. Run using docker-compose

git clone https://github.com/fonoster/fonos
cd fonos
docker-compose up

Work is on the way to enable Fonos for Docker Swarm and K8s.

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. Asterisk will be listening for SIP traffic on port 6060\tcp. 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 Docker and Kubernetes environments
  • 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

Bugs and Feedback

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

We are currently unable to place calls using UDP do to NAT issues.

Contributing

For contributing, please see the following links:

Authors

License

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

About

πŸš€ An open-source alternative to Twilio.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 58.5%
  • TypeScript 40.7%
  • Other 0.8%