Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/2600hz/kazoo

The core of an open-source, distributed, highly scalable platform designed to provide robust telecom services
https://github.com/2600hz/kazoo

Last synced: 3 months ago
JSON representation

The core of an open-source, distributed, highly scalable platform designed to provide robust telecom services

Awesome Lists containing this project

README

        

## Kazoo [![TravisCI build status](https://travis-ci.org/2600hz/kazoo.svg?branch=master)](https://travis-ci.org/2600hz/kazoo) [![CircleCI](https://circleci.com/gh/2600hz/kazoo/tree/master.svg?style=svg)](https://circleci.com/gh/2600hz/kazoo/tree/master) [![2600Hz IRC](https://img.shields.io/badge/irc-%232600hz-orange.svg)](https://webchat.freenode.net/?channels=2600hz) [![Project Stats](https://www.openhub.net/p/KazooPlatform/widgets/project_thin_badge.gif)](https://www.openhub.net/p/KazooPlatform)

**See current announcements for updates on KAZOO master / 5.x work below**

**[Periodically check our announcements for important developer updates!](https://github.com/2600hz/kazoo/tree/master/doc/announcements.md)**

````
... ........                                                
......+OO=..                                                
....IOOOO8?......                                           
.:O,.8OO8OO7......                                          
..IO.~OOOOO8O.. ..                                          
...O8.OOOOOOO8~... .. .                                     
...I8=,8OOOO8OO=........                                    
....$O.:8OOOOOOO?.......                                    
... .8O.OOO8OOOOO8......                                    
.....7O8.ZOOOOOO8O8,....                                    
.. ...88I.8OOOOOOOO8:....                                   
  ....:OO7,OOOOOOOOOO:...                                   
      .=OO,$8OOOOOOOO8Z...                                  
      ..$O8.=OOOOOOOOO8O,.......                            
      ...O8O.ZOOOOOOOO8OO,......                            
       ...OO8.$OO8OOOOOO8O:.....                            
       ...?OOO.8OOOOOOOOO8O$...     ..                      
       ....8OOO.OOOOOOOOOOOO$.... .  . .                    
       .....8OO7,8OOOOOOOOOO88.........                     
       .  ...OO8:,OOOOOOOOOOO88..... .                      
       . ... +8OO++OOOOOOOOOOO88,.....                      
        ......~8O8.:OOOOOOOOOOOOO.. ..                      
            ...OO88,$OOOOOOOOOOOOO?...                      
              ..8OO8.OOOOOOOOOOOO8O+.... .....              
              ..:88O8.OOOOOOOOOOOOOO+...............        
              ...,OOOO.OOOOOOOOOOOOO88.:O8OO8O:.....        
               ...+OO88.O8OOOOOOOOOO8:Z8OOIIO8O8....        
               .....OO8O.8OOOOOOOOOZ+:8OO8~...=OOZ..        
                ....:O88O.8OOOOOOOO?.?8OOO88~...8O:.        
               ......$OOOO.OOOOOOO.O.$O8O8O8O:..~8D.        
                  . ..?OOO?.8OOOO~.8,+OOI:OOO8...7O.. .     
                     ..ZOOOZ,8OOO..8+,OO...8OO...:O: ..     
                     ...7OO8~.8O8,.88.8O:..8O8:..,8+...     
                     .. .ZOOO+,OOO.$8~OOOOOOOO~..+8I..      
                     .....8OOO,=88$:88,8O8OO88...8O,.       
                      .....OOO8.,OO=8OZ.O8OO8...8O8.. .     
                      ......OOO8.I8OZ7O8.8OO?~O8O8,...      
                      .  . ..$OO8.~OOOOOO.+OO88O?...        
                           ...88OZ.=OOOOO88:....,.....      
                            ...8OO8.OOOOOOOOOOOOOO...       
                            ....ZOO7.?8OOO8OOOOOOO+..       
                             ....?OO$.=8OOOOOOOOOOO~...     
                           .......,OO8.,OO8OOOOOOOO8:..     
                             ..... ~OO+.+88OOOOOOOOOO.......
                            ........=8O$.IOOOOOOOOOOOO... ..
                                  ....OO=.~8OOOOOOOOOO8. .  
                                  .....OO,.78OOOOOOOO8O7....
                                   ... .O8+.~OOOOOOOOOO7....
                                  .......D8..+OOOOOOOOO.....
                                   . ... .?8~.OOOOO8O8......
                                   ...... .?8:.?8OO8+.......
                                     . . ....8..I$........  
                                    . ..   ............  .  
                                             ....           
````

### Cloud-Based Telecommunications For Everyone

Welcome to Kazoo, an ambitious project to bring cloud-based VoIP and telecommunications to everyone. Our goal is to provide the world with a free, open telecommunications software platform. Released under the [OSI-approved MPL 1.1 open source software license](https://opensource.org/licenses/MPL-1.1), we're building upon strong FOSS components like [GNU](https://www.gnu.org/)/[Linux](https://en.wikipedia.org/wiki/Linux), [Erlang](https://www.erlang.org/), [FreeSWITCH](https://freeswitch.org), [Apache CouchDB](https://couchdb.apache.org/), and [RabbitMQ](https://www.rabbitmq.com). Our project is a great example of the wonderful things that can happen when software is open.

### What is Kazoo?

Kazoo is an API-based platform that lets you use your existing phones,
programming languages and IT skills to build voice, video and SMS services. We
focus on building a simple, powerful communications platform and let you focus
on marketing, servicing and integrating communications with your clients
systems.

Dubbed a "scalable, distributed, cloud-based" telephony platform, Kazoo
provides simple to use, consistent API so that people who know little about
building telecom systems can still dive in and utilize the power of the phone
network. In practical terms that means you can create your own phone service
in the cloud. Or on a server in your mother's basement. Or in a distributed
cluster of servers around the globe. It's up to you.

### Who is 2600Hz?

We're a bunch of crazy engineers who dreamt of a world where business
communications wasn't so complicated. So we abandoned the old infrastructure
altogether and teamed up to build a new platform from the ground up that would
take out all the complexity while giving the power of customization to you,
the user.

Led by the founders of successful commercial and open-source telephony and
networking projects, our carrier-grade software helps people create solid
voice, video and SMS solutions that work. We provide you with the open-source
infrastructure to run your own hosted PBX service, conferencing platform or
any API-powered VoIP service that scales as your company grows!

We are an exciting team of experienced and knowledgeable thought leaders in
the enterprise communications space. Our experience ranges from hosting and
managing services to carrier-grade termination, software design and
professional services. Let us know how we can help you and, in return, we will
ensure 2600Hz is always leading the way in cloud telecom.

## Who Can Contribute?

**Everyone can!**

### Not a coder?

No problem! We have many different places where folks can chip in time. These include (but aren't limited to):

* Maintaining and expanding the documentation
* Blogging, tweeting, and other forms of publicizing your usage of and love for the platform, community, code, company, etc.
* Join us in real time and help other community members:
* [![2600Hz IRC](https://img.shields.io/badge/irc-%232600hz-orange.svg)](https://webchat.freenode.net/?channels=2600Hz)
* our [Forum](http://forum.2600Hz.com/)
* at [KazooCon!](http://kazoocon.com/)
* follow us on [twitter](https://twitter.com/2600hertz)
* Help find mistakes and write [user guides](https://forums.2600hz.com/forums/kazoo-platform-guides/index/)
* Contribute scripts to the [community repo](https://github.com/2600Hz/community-scripts)
* Help with building RPMs, DEBs, and other system packages
* Browse the open [issues](https://2600Hz.atlassian.net/browse/KAZOO) and test bugs to see if they're valid
* Make a suggestion!

### I know me some Erlang! How can I contribute?

* Clone the repo
* If you're completely new to Git, read Github's [great introduction](https://help.github.com/articles/fork-a-repo/) to forking repos
* Squash a bug, build a feature, etc
* Browse the [ticket queue](https://2600Hz.atlassian.net/browse/KAZOO) and find one you'd like to tackle.
* Feel free to drop a line in the [forums](http://forum.2600Hz.com/) letting us know you're taking on a ticket, especially if you have questions.
* Once you feel the code is ready for inclusion, issue a [pull request](https://help.github.com/articles/using-pull-requests/)!
* Please keep your pull requests focused and specific to the task at hand
* If, in the course of your work you add/modify/delete code unrelated to the core task, create a new ticket describing why you've made these additional changes, and issue a separate pull request.

### Do you know other languages?

* Help us write some automated testing tools
* [Make Busy Core](https://github.com/2600hz/make-busy)
* [Make Busy Callflow Tests](https://github.com/2600hz/make-busy-callflow)
* [Make Busy Example Component](https://github.com/2600hz/make-busy-skel)
* Help out with the configuration scripts
* [Kazoo Core](https://github.com/2600hz/kazoo-configs-core)
* [Kamailio](https://github.com/2600hz/kazoo-configs-kamailio)
* [FreeSWITCH](https://github.com/2600hz/kazoo-configs-freeswitch)
* [RabbitMQ Server](https://github.com/2600hz/kazoo-configs-rabbitmq)
* [HAProxy](https://github.com/2600hz/kazoo-configs-haproxy)
* [CouchDB/Bigcouch](https://github.com/2600hz/kazoo-configs-bigcouch)
* Check out our Javascript/HTML/CSS [GUI](https://github.com/2600Hz/monster-ui)
* Check out our REST APIs and help us create SDKs in your favorite languages ([PHP](https://github.com/2600Hz/kazoo-php-sdk) | [PYTHON](https://github.com/2600hz/kazoo-python-sdk) | [RUBY](https://github.com/2600Hz/kazoo-ruby-sdk))
* Check out our [Pivot APIs](https://docs.2600hz.com/dev/applications/pivot/doc/README/) and help us create SDKs in your favorite languages
* Check out our AMQP APIs and create a Kazoo application in your favorite language

## Building Kazoo

See the [installation](./doc/installation.md) page to build.

## Learn More

* Join us at [KazooCon!](http://kazoocon.com/)
* Visit [the community site](http://2600hz.org)
* Have a look at our:
* [KAZOO developer documentation](https://docs.2600hz.com/dev/)
* [UI developer documentation](https://docs.2600hz.com/ui/)
* [System administrator documentation](https://docs.2600hz.com/sysadmin/)
* Bugs and feature requests can be found [here](https://tickets.2600hz.org)
* [Learn you some Erlang!](http://learnyousomeerlang.com/)
* Check out the [FreeSWITCH documentation](https://freeswitch.org/confluence/display/FREESWITCH/FreeSWITCH+Explained)
* Take a look at the [Kamailio documentation](https://www.kamailio.org/w/documentation/)
* Learn all about [AMQP basics](https://www.rabbitmq.com/tutorials/amqp-concepts.html)
* Get introduced to [CouchDB/Bigcouch](http://docs.couchdb.org/)
* Get some pointers to using [CouchDB/Bigcouch views](http://guide.couchdb.org/draft/cookbook.html)
* Learn about [GIT branching](https://learngitbranching.js.org/)
* Get familiar with [JSON schemas](http://json-schema.org/)
* Find out about [JSON web tokens](https://jwt.io/)
* We cover a lot of topics in our [blog](http://blog.2600hz.com/) as well
* Watch our past [presentations](https://www.youtube.com/user/2600hzOfficial/videos)