konference
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
Introduction App_konference is a channel-independent conference application. Design goals Appkonference 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. License Naturally, app_konference 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_konference app_konference is available via SVN from its own home on sourceforge: * http://sourceforge.net/projects/appkonference Compiling app_konference * download asterisk source * modify Makefile to point to your source directory * make * sudo make install Using app_konference There is no configuration file. Conferences are created on-the-fly. Dialplan syntax: Konference(NAME,FLAGS[,MAXUSERS][,TYPE][,SPY][,VADSTART][,VADCONTINUE]) * NAME: whatever you want to identify the conference * FLAGS: dialplan flags, see Flags.txt for a comprehensive list * MAXUSERS: limit conference participants to max_users * TYPE: conference type identifier * SPY: channel name to spy CLI Commands Please look at CLI.txt for a comprehensive list of CLI commands and parameters. Manager Events app_konference generates several detailed manager events so that applications interfacing with the manager API can monitor conferences: * ConferenceJoin: join conference * ConferenceLeave: leave conference * ConferenceDTMF: dtmf received * ConferenceState: speaking state changed * ConferenceSoundComplete: sound completed * ConferenceMemberMute: mute member * ConferenceMute: mute conference * ConferenceMemberUnmute: unmute member * ConferenceUnmute: unmute conference 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 appkonference-devel mailing list is the place to discuss everything related to app_konference. The bug tracker on SourceForge gets a little bit of attention now and then.