Skip to content

kalda341/kazoo

 
 

Repository files navigation

Kazoo Build Status Issue Stats

    ... ........                                                
    ......+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, we're building upon strong FOSS components like GNU/Linux, Erlang, FreeSWITCH, CouchDB (specifically BigCouch), and RabbitMQ. 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:
  • Contribute scripts to the community repo
  • Help with building RPMs, DEBs, and other system packages
  • Browse the open Issues and test bugs to see if they're valid
  • Make a sugestion!

Internationalization Help

Translation efforts are always appreciated. We're working on redesigning how our back- and front-ends handle the world's languages and hope to make it easy to contribute translations. Stay tuned for more; please let us know of your interest and be sure to join the mailing lists so you can receive announcements regarding internationalization efforts.

If you have a non-US deployment, please consider sharing your system configuration! We are trying to build examples for every locality and fix any deficiencies.

I know me some Erlang! How can I contribute?

  • Clone the repo
  • Squash a bug, build a feature, etc
    • Browse the ticket queue and find one you'd like to tackle.
    • Feel free to drop a line to the dev mailing list 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!
    • 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
  • Check out our Javascript/HTML/CSS GUI
  • Check out our REST APIs and help us create SDKs in your favorite languages (PHP | RUBY)
  • Check out our Pivot APIs and help us create SDKs in your favorite languages
  • Check out our AMQP APIs and create a WhApp in your favorite language
  • Help out with the configuration scripts

Build Dependencies

  • erlang ≥ 18.2
  • python2
  • libxslt
  • gcc-c++
  • zip
  • unzip
  • expat-devel
  • zlib-devel
  • openssl-devel
  • libxml-devel
  • make
  • nc

How to Build

  • Once the dependencies are all here, after a fresh git clone https://github.com/2600hz/kazoo.git just make.
  • When developing, one can cd into any app directory (within applications/ or core/) and run:
    • make (make all or make clean)
    • make xref to look for calls to undefined functions (uses Xref)
    • make dialyze to statically type-check the app (uses Dialyzer)
    • make test runs the app / sub-apps test suite, if any.
      • Note: make sure to make clean all after running your tests, as test BEAMs are generated in ebin/!
  • To run the full test suite it is advised to
    1. cd into the root of the project
    2. make compile-test to compile every app with the TEST macro defined
    3. make eunit (instead of make test) to run the test suite without recompiling each app
    • This way apps can call code from other apps that was compiled with the TEST macro defined
  • make build-release will generate a deployable release
  • make sup_completion creates sup.bash: a Bash completion file for the SUP command

Learn More

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Erlang 99.3%
  • Shell 0.3%
  • C 0.2%
  • Makefile 0.2%
  • PHP 0.0%
  • Batchfile 0.0%