Giter Site home page Giter Site logo

mcr / app-conference Goto Github PK

View Code? Open in Web Editor NEW
1.0 4.0 0.0 168 KB

fork of http://sourceforge.net/projects/appconference/ with bug fixes to compile

Home Page: http://sourceforge.net/projects/appconference/

License: GNU General Public License v2.0

C 100.00%

app-conference's Introduction

Introduction

App_conference is a channel-independent conference application.
It features efficient audio mixing algorithms as well as video selection
support based on VAD, DTMF or CLI. 


Design goals

Appconference has several design goals which are different than Meetme:

    * It does not require a zap channel for timing.
    * It is very efficient when used with channels which support DTX (silence
	detection/discontinuous transmission).

    * It can do VAD on channels which do not support DTX (although this 
	is more expensive than just mixing them, but less expensive then
	encoding; therefore it might still be a win). 
    * It presents messages on the Monitor interface for determine which 
	speakers are active. 

Mixing design

    * Minimize encoding/decoding, minimize mixing.
    * Minimize generational loss from trancoding.
    * Usual cases are handled very efficiently:
          o One speaker: That speaker's frame is sent directly to each 
		participant which uses the same codec. It is trancoded 
		_once_ for each additional codec type used by participants.
          o Two speakers: Each speaker gets the other speaker's frames.  
		The two speaker's frames are decoded and mixed, and then 
		encoded _once_ for each codec type used by participants. 

Video features

    * Video passthrough: video from selected member is passed to every
        member of the conference.
    * Multiple ways to select video
        - VAD
	- DTMF from conference members
	- CLI 
    * Ability to set default video sources and to lock/unlock video sources.


License

Naturally, app_conference is GPL. The SVN repository also includes parts of 
libspeex, which is distributed under a BSD-style license. See LICENSE for more
details.


Getting app_conference

app_conference is available via SVN from its own home on sourceforge:

    * http://sourceforge.net/projects/appconference


Compiling app_conference

    * Checkout sources
    * Modify Makefile to point to your Asterisk include directory
    * make
    * sudo make install 


Using app_conference

There is no configuration file. Conferences are created on-the-fly.
Please see the file Dialplan.txt for details about the Dialplan syntax.

CLI Commands

Please look at CLI.txt for a comprehensive list of CLI commands and parameters.


Manager Events

<This section is outdated>
app_conference generates several detailed manager events so that applications
interfacing with the manager API can monitor conferences:

    * ConferenceState:  sent as members begin/end speaking.
	Channel: The channel
	State: "speaking" or "silent"

    * ConferenceDTMF: sent when conference members send DTMF to the conference
	Channel: The channel
	Key: The DTMF key send [0-9*#]

    * ConferenceSoundComplete: send when the conference has finished playing 
		a sound to a user	
	Channel: The channel
	Sound: The first 255 bytes of the file requested in conference play 
		sound CLI/Mgr command.	


Benchmarking

It would be nice to have solid benchmarks to present, but a good size 
machine should be able to handle many callers when either (a) they are 
using DTX, or (b) they are listen-only.  It's used often with hundreds of
simultaneous callers.


Discussion

The appconference-devel mailing list is the place to discuss everything related
to app_conference.  The bug tracker on SourceForge gets a little bit of 
attention now and then.


---

app_conference is brought to you by the letter q, and the number e

app-conference's People

Contributors

mcr avatar

Stargazers

 avatar

Watchers

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