commit de lancement : 2.0.1-1
[asterisk-app-conference.git] / README
1 Introduction
2
3 App_conference is a channel-independent conference application.
4 It features efficient audio mixing algorithms as well as video selection
5 support based on VAD, DTMF or CLI. 
6
7
8 Design goals
9
10 Appconference has several design goals which are different than Meetme:
11
12     * It does not require a zap channel for timing.
13     * It is very efficient when used with channels which support DTX (silence
14         detection/discontinuous transmission).
15
16     * It can do VAD on channels which do not support DTX (although this 
17         is more expensive than just mixing them, but less expensive then
18         encoding; therefore it might still be a win). 
19     * It presents messages on the Monitor interface for determine which 
20         speakers are active. 
21
22 Mixing design
23
24     * Minimize encoding/decoding, minimize mixing.
25     * Minimize generational loss from trancoding.
26     * Usual cases are handled very efficiently:
27           o One speaker: That speaker's frame is sent directly to each 
28                 participant which uses the same codec. It is trancoded 
29                 _once_ for each additional codec type used by participants.
30           o Two speakers: Each speaker gets the other speaker's frames.  
31                 The two speaker's frames are decoded and mixed, and then 
32                 encoded _once_ for each codec type used by participants. 
33
34 Video features
35
36     * Video passthrough: video from selected member is passed to every
37         member of the conference.
38     * Multiple ways to select video
39         - VAD
40         - DTMF from conference members
41         - CLI 
42     * Ability to set default video sources and to lock/unlock video sources.
43
44
45 License
46
47 Naturally, app_conference is GPL. The SVN repository also includes parts of 
48 libspeex, which is distributed under a BSD-style license. See LICENSE for more
49 details.
50
51
52 Getting app_conference
53
54 app_conference is available via SVN from its own home on sourceforge:
55
56     * http://sourceforge.net/projects/appconference
57
58
59 Compiling app_conference
60
61     * Checkout sources
62     * Modify Makefile to point to your Asterisk include directory
63     * make
64     * sudo make install 
65
66
67 Using app_conference
68
69 There is no configuration file. Conferences are created on-the-fly.
70
71 Dialplan syntax: Conference(ConferenceName/Flags/Priority[/VADSTART/VADCONTINUE])
72
73     * ConferenceName: Whatever you want to name the conference
74     * Flags: please see Flags.txt for a comprehensive list of dialplan flags
75     * Priority: Currently ignored; was to be a "speaking priority" so a 
76         higher priority caller could "override" others.
77     * VADSTART: Optional: "probability" to use to detect start of speech.
78     * VADCONTINUE: Optional: "probability" to use to detect continuation 
79         of speech. 
80
81
82 CLI Commands
83
84 Please look at CLI.txt for a comprehensive list of CLI commands and parameters.
85
86
87 Manager Events
88
89 <This section is outdated>
90 app_conference generates several detailed manager events so that applications
91 interfacing with the manager API can monitor conferences:
92
93     * ConferenceState:  sent as members begin/end speaking.
94         Channel: The channel
95         State: "speaking" or "silent"
96
97     * ConferenceDTMF: sent when conference members send DTMF to the conference
98         Channel: The channel
99         Key: The DTMF key send [0-9*#]
100
101     * ConferenceSoundComplete: send when the conference has finished playing 
102                 a sound to a user       
103         Channel: The channel
104         Sound: The first 255 bytes of the file requested in conference play 
105                 sound CLI/Mgr command.  
106
107
108 Benchmarking
109
110 It would be nice to have solid benchmarks to present, but a good size 
111 machine should be able to handle many callers when either (a) they are 
112 using DTX, or (b) they are listen-only.  It's used often with hundreds of
113 simultaneous callers.
114
115
116 Discussion
117
118 The appconference-devel mailing list is the place to discuss everything related
119 to app_conference.  The bug tracker on SourceForge gets a little bit of 
120 attention now and then.
121
122
123 ---
124
125 app_conference is brought to you by the letter q, and the number e