[asterisk-commits] mjordan: branch mjordan/terrys_parting_shot r379381 - in /team/mjordan/terrys...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Jan 17 10:51:54 CST 2013
Author: mjordan
Date: Thu Jan 17 10:51:48 2013
New Revision: 379381
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=379381
Log:
Create a branch for Terry's crazy config doc in XML work
Added:
team/mjordan/terrys_parting_shot/
- copied from r379344, trunk/
Modified:
team/mjordan/terrys_parting_shot/Makefile
team/mjordan/terrys_parting_shot/apps/app_skel.c
team/mjordan/terrys_parting_shot/apps/confbridge/conf_config_parser.c
team/mjordan/terrys_parting_shot/channels/chan_motif.c
team/mjordan/terrys_parting_shot/configs/motif.conf.sample
team/mjordan/terrys_parting_shot/configs/xmpp.conf.sample
team/mjordan/terrys_parting_shot/doc/appdocsxml.dtd
team/mjordan/terrys_parting_shot/include/asterisk/_private.h
team/mjordan/terrys_parting_shot/include/asterisk/config_options.h
team/mjordan/terrys_parting_shot/include/asterisk/xml.h
team/mjordan/terrys_parting_shot/include/asterisk/xmldoc.h
team/mjordan/terrys_parting_shot/main/asterisk.c
team/mjordan/terrys_parting_shot/main/config_options.c
team/mjordan/terrys_parting_shot/main/named_acl.c
team/mjordan/terrys_parting_shot/main/udptl.c
team/mjordan/terrys_parting_shot/main/xml.c
team/mjordan/terrys_parting_shot/main/xmldoc.c
team/mjordan/terrys_parting_shot/res/res_xmpp.c
Modified: team/mjordan/terrys_parting_shot/Makefile
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/terrys_parting_shot/Makefile?view=diff&rev=379381&r1=379344&r2=379381
==============================================================================
--- team/mjordan/terrys_parting_shot/Makefile (original)
+++ team/mjordan/terrys_parting_shot/Makefile Thu Jan 17 10:51:48 2013
@@ -463,21 +463,21 @@
done
$(MAKE) -C sounds install
-doc/core-en_US.xml: $(foreach dir,$(MOD_SUBDIRS),$(shell $(GREP) -l "language=\"en_US\"" $(dir)/*.c $(dir)/*.cc 2>/dev/null))
+doc/core-en_US.xml: $(foreach dir,$(MOD_SUBDIRS),$(shell $(GREP) -r -l --include *.c --include *.cc "language=\"en_US\"" $(dir) 2>/dev/null))
@printf "Building Documentation For: "
@echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" > $@
@echo "<!DOCTYPE docs SYSTEM \"appdocsxml.dtd\">" >> $@
@echo "<docs xmlns:xi=\"http://www.w3.org/2001/XInclude\">" >> $@
@for x in $(MOD_SUBDIRS); do \
printf "$$x " ; \
- for i in $$x/*.c; do \
+ for i in `find $$x -name *.c`; do \
$(AWK) -f build_tools/get_documentation $$i >> $@ ; \
done ; \
done
@echo
@echo "</docs>" >> $@
-doc/full-en_US.xml: $(foreach dir,$(MOD_SUBDIRS),$(shell $(GREP) -l "language=\"en_US\"" $(dir)/*.c $(dir)/*.cc 2>/dev/null))
+doc/full-en_US.xml: $(foreach dir,$(MOD_SUBDIRS),$(shell $(GREP) -r -l --include *.c --include *.cc "language=\"en_US\"" $(dir) 2>/dev/null))
ifeq ($(PYTHON),:)
@echo "--------------------------------------------------------------------------"
@echo "--- Please install python to build full documentation ---"
Modified: team/mjordan/terrys_parting_shot/apps/app_skel.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/terrys_parting_shot/apps/app_skel.c?view=diff&rev=379381&r1=379344&r2=379381
==============================================================================
--- team/mjordan/terrys_parting_shot/apps/app_skel.c (original)
+++ team/mjordan/terrys_parting_shot/apps/app_skel.c Thu Jan 17 10:51:48 2013
@@ -86,6 +86,51 @@
from. It shows you the basic structure to create your own Asterisk applications.</para>
</description>
</application>
+
+ <configInfo name="app_skel" language="en_US">
+ <configFile name="app_skel.conf">
+ <configObject name="globals">
+ <synopsis>Options that apply globally to app_skel</synopsis>
+ <configOption name="games">
+ <synopsis>The number of games a single execution of SkelGuessNumber will play</synopsis>
+ </configOption>
+ <configOption name="cheat">
+ <synopsis>Should the computer cheat?</synopsis>
+ <description><para>If enabled, the computer will ignore winning guesses.</para></description>
+ </configOption>
+ </configObject>
+ <configObject name="sounds">
+ <synopsis>Prompts for SkelGuessNumber to play</synopsis>
+ <configOption name="prompt" default="please-enter-your&number&queue-less-than">
+ <synopsis>A prompt directing the user to enter a number less than the max number</synopsis>
+ </configOption>
+ <configOption name="wrong_guess" default="vm-pls-try-again">
+ <synopsis>The sound file to play when a wrong guess is made</synopsis>
+ </configOption>
+ <configOption name="right_guess" default="auth-thankyou">
+ <synopsis>The sound file to play when a correct guess is made</synopsis>
+ </configOption>
+ <configOption name="too_low">
+ <synopsis>The sound file to play when a guess is too low</synopsis>
+ </configOption>
+ <configOption name="too_high">
+ <synopsis>The sound file to play when a guess is too high</synopsis>
+ </configOption>
+ <configOption name="lose" default="vm-goodbye">
+ <synopsis>The sound file to play when a player loses</synopsis>
+ </configOption>
+ </configObject>
+ <configObject name="level">
+ <synopsis>Defined levels for the SkelGuessNumber game</synopsis>
+ <configOption name="max_number">
+ <synopsis>The maximum in the range of numbers to guess (1 is the implied minimum)</synopsis>
+ </configOption>
+ <configOption name="max_guesses">
+ <synopsis>The maximum number of guesses before a game is considered lost</synopsis>
+ </configOption>
+ </configObject>
+ </configFile>
+ </configInfo>
***/
static char *app = "SkelGuessNumber";
@@ -197,6 +242,7 @@
/*! \brief An aco_type structure to link the "general" category to the skel_global_config type */
static struct aco_type global_option = {
.type = ACO_GLOBAL,
+ .name = "globals",
.item_offset = offsetof(struct skel_config, global),
.category_match = ACO_WHITELIST,
.category = "^general$",
@@ -207,6 +253,7 @@
/*! \brief An aco_type structure to link the "sounds" category to the skel_global_config type */
static struct aco_type sound_option = {
.type = ACO_GLOBAL,
+ .name = "sounds",
.item_offset = offsetof(struct skel_config, global),
.category_match = ACO_WHITELIST,
.category = "^sounds$",
@@ -217,6 +264,7 @@
/*! \brief An aco_type structure to link the everything but the "general" and "sounds" categories to the skel_level type */
static struct aco_type level_option = {
.type = ACO_ITEM,
+ .name = "level",
.category_match = ACO_BLACKLIST,
.category = "^(general|sounds)$",
.item_alloc = skel_level_alloc,
Modified: team/mjordan/terrys_parting_shot/apps/confbridge/conf_config_parser.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/terrys_parting_shot/apps/confbridge/conf_config_parser.c?view=diff&rev=379381&r1=379344&r2=379381
==============================================================================
--- team/mjordan/terrys_parting_shot/apps/confbridge/conf_config_parser.c (original)
+++ team/mjordan/terrys_parting_shot/apps/confbridge/conf_config_parser.c Thu Jan 17 10:51:48 2013
@@ -40,6 +40,403 @@
#include "asterisk/stringfields.h"
#include "asterisk/pbx.h"
+
+/*** DOCUMENTATION
+ <configInfo name="app_confbridge" language="en_US">
+ <configFile name="confbridge.conf">
+ <configObject name="global">
+ <synopsis>Unused, but reserved</synopsis>
+ </configObject>
+ <configObject name="user_profile">
+ <synopsis>A named profile to apply to specific callers</synopsis>
+ <configOption name="type">
+ <synopsis>Define this configuration category as a user profile</synopsis>
+ </configOption>
+ <configOption name="admin">
+ <synopsis>Sets if the user is an admin or not</synopsis>
+ </configOption>
+ <configOption name="marked">
+ <synopsis>Sets if this is a marked user or not</synopsis>
+ </configOption>
+ <configOption name="startmuted">
+ <synopsis>Sets if all users should start out muted</synopsis>
+ </configOption>
+ <configOption name="music_on_hold_when_empty">
+ <synopsis>Play MOH when user is alone or waiting on a marked user</synopsis>
+ </configOption>
+ <configOption name="quiet">
+ <synopsis>Silence enter/leave prompts and user intros for this user</synopsis>
+ </configOption>
+ <configOption name="announce_user_count">
+ <synopsis>Sets if the number of users should be announced to the user</synopsis>
+ </configOption>
+ <configOption name="announce_user_count_all">
+ <synopsis>Announce user count to all the other users when this user joins</synopsis>
+ <description><para>Sets if the number of users should be announced to all the other users
+ in the conference when this user joins. This option can be either set to 'yes' or
+ a number. When set to a number, the announcement will only occur once the user
+ count is above the specified number.
+ </para></description>
+ </configOption>
+ <configOption name="announce_only_user">
+ <synopsis>Announce to a user when they join an empty conference</synopsis>
+ </configOption>
+ <configOption name="wait_marked">
+ <synopsis>Sets if the user must wait for a marked user to enter before joining a conference</synopsis>
+ </configOption>
+ <configOption name="end_marked">
+ <synopsis>Kick the user from the conference when the last marked user leaves</synopsis>
+ </configOption>
+ <configOption name="talk_detection_events">
+ <synopsis>Set whether or not notifications of when a user begins and ends talking should be sent out as events over AMI</synopsis>
+ </configOption>
+ <configOption name="dtmf_passthrough">
+ <synopsis>Sets whether or not DTMF should pass through the conference</synopsis>
+ </configOption>
+ <configOption name="announce_join_leave">
+ <synopsis>Prompt user for their name when joining a conference and play it to the conference when they enter</synopsis>
+ </configOption>
+ <configOption name="pin">
+ <synopsis>Sets a PIN the user must enter before joining the conference</synopsis>
+ </configOption>
+ <configOption name="music_on_hold_class">
+ <synopsis>The MOH class to use for this user</synopsis>
+ </configOption>
+ <configOption name="announcement">
+ <synopsis>Sound file to play to the user when they join a conference</synopsis>
+ </configOption>
+ <configOption name="denoise">
+ <synopsis>Apply a denoise filter to the audio before mixing</synopsis>
+ <description><para>Sets whether or not a denoise filter should be applied
+ to the audio before mixing or not. Off by default. Requires
+ codec_speex to be built and installed. Do not confuse this option
+ with drop_silence. Denoise is useful if there is a lot of background
+ noise for a user as it attempts to remove the noise while preserving
+ the speech. This option does NOT remove silence from being mixed into
+ the conference and does come at the cost of a slight performance hit.
+ </para></description>
+ </configOption>
+ <configOption name="dsp_drop_silence">
+ <synopsis>Drop what Asterisk detects as silence from audio sent to the bridge</synopsis>
+ <description><para>
+ This option drops what Asterisk detects as silence from
+ entering into the bridge. Enabling this option will drastically
+ improve performance and help remove the buildup of background
+ noise from the conference. Highly recommended for large conferences
+ due to its performance enhancements.
+ </para></description>
+ </configOption>
+ <configOption name="dsp_silence_threshold">
+ <synopsis>The number ofmilliseconds of detected silence necessary to trigger silence detection</synopsis>
+ <description><para>
+ The time in milliseconds of sound falling within the what
+ the dsp has established as baseline silence before a user
+ is considered be silent. This value affects several
+ operations and should not be changed unless the impact
+ on call quality is fully understood.
+
+ What this value affects internally:
+
+ 1. When talk detection AMI events are enabled, this value
+ determines when the user has stopped talking after a
+ period of talking. If this value is set too low
+ AMI events indicating the user has stopped talking
+ may get falsely sent out when the user briefly pauses
+ during mid sentence.
+ 2. The drop_silence option depends on this value to
+ determine when the user's audio should begin to be
+ dropped from the conference bridge after the user
+ stops talking. If this value is set too low the user's
+ audio stream may sound choppy to the other participants.
+ This is caused by the user transitioning constantly from
+ silence to talking during mid sentence.
+
+ The best way to approach this option is to set it slightly above
+ the maximum amount of ms of silence a user may generate during
+ natural speech.
+
+ By default this value is 2500ms. Valid values are 1 through 2^31
+ </para></description>
+ </configOption>
+ <configOption name="dsp_talking_threshold">
+ <synopsis>The number of milliseconds of detected non-silence necessary to triger talk detection</synopsis>
+ <description><para>
+ The time in milliseconds of sound above what the dsp has
+ established as base line silence for a user before a user
+ is considered to be talking. This value affects several
+ operations and should not be changed unless the impact on
+ call quality is fully understood.
+
+ What this value affects internally:
+
+ 1. Audio is only mixed out of a user's incoming audio stream
+ if talking is detected. If this value is set too
+ loose the user will hear themselves briefly each
+ time they begin talking until the dsp has time to
+ establish that they are in fact talking.
+ 2. When talk detection AMI events are enabled, this value
+ determines when talking has begun which results in
+ an AMI event to fire. If this value is set too tight
+ AMI events may be falsely triggered by variants in
+ room noise.
+ 3. The drop_silence option depends on this value to determine
+ when the user's audio should be mixed into the bridge
+ after periods of silence. If this value is too loose
+ the beginning of a user's speech will get cut off as they
+ transition from silence to talking.
+
+ By default this value is 160 ms. Valid values are 1 through 2^31
+ </para></description>
+ </configOption>
+ <configOption name="jitterbuffer">
+ <synopsis>Place a jitter buffer on the user's audio stream before audio mixing is performed</synopsis>
+ <description><para>
+ Enabling this option places a jitterbuffer on the user's audio stream
+ before audio mixing is performed. This is highly recommended but will
+ add a slight delay to the audio. This option is using the JITTERBUFFER
+ dialplan function's default adaptive jitterbuffer. For a more fine tuned
+ jitterbuffer, disable this option and use the JITTERBUFFER dialplan function
+ on the user before entering the ConfBridge application.
+ </para></description>
+ </configOption>
+ <configOption name="template">
+ <synopsis>When using the CONFBRIDGE dialplan function, use a user profile as a template for creating a new temporary profile</synopsis>
+ </configOption>
+ </configObject>
+ <configObject name="bridge_profile">
+ <configOption name="type">
+ <synopsis>Define this configuration category as a bridge profile</synopsis>
+ </configOption>
+ <configOption name="jitterbuffer">
+ <synopsis>Place a jitter buffer on the conference's audio stream</synopsis>
+ </configOption>
+ <configOption name="internal_sample_rate">
+ <synopsis>Set the internal native sample rate for mixing the conference</synopsis>
+ <description><para>
+ Sets the internal native sample rate the
+ conference is mixed at. This is set to automatically
+ adjust the sample rate to the best quality by default.
+ Other values can be anything from 8000-192000. If a
+ sample rate is set that Asterisk does not support, the
+ closest sample rate Asterisk does support to the one requested
+ will be used.
+ </para></description>
+ </configOption>
+ <configOption name="mixing_interval">
+ <synopsis>Sets the internal mixing interval in milliseconds for the bridge</synopsis>
+ <description><para>
+ Sets the internal mixing interval in milliseconds for the bridge. This
+ number reflects how tight or loose the mixing will be for the conference.
+ In order to improve performance a larger mixing interval such as 40ms may
+ be chosen. Using a larger mixing interval comes at the cost of introducing
+ larger amounts of delay into the bridge. Valid values here are 10, 20, 40,
+ or 80.
+ </para></description>
+ </configOption>
+ <configOption name="record_conference">
+ <synopsis>Record the conference starting with the first active user's entrance and ending with the last active user's exit</synopsis>
+ <description><para>
+ Records the conference call starting when the first user
+ enters the room, and ending when the last user exits the room.
+ The default recorded filename is
+ 'confbridge-${name of conference bridge}-${start time}.wav
+ and the default format is 8khz slinear. This file will be
+ located in the configured monitoring directory in asterisk.conf.
+ </para></description>
+ </configOption>
+ <configOption name="record_file" default="confbridge-${name of conference bridge}-${start time}.wav">
+ <synopsis>The filename of the conference recording</synopsis>
+ <description><para>
+ When record_conference is set to yes, the specific name of the
+ record file can be set using this option. Note that since multiple
+ conferences may use the same bridge profile, this may cause issues
+ depending on the configuration. It is recommended to only use this
+ option dynamically with the CONFBRIDGE() dialplan function. This
+ allows the record name to be specified and a unique name to be chosen.
+ By default, the record_file is stored in Asterisk's spool/monitor directory
+ with a unique filename starting with the 'confbridge' prefix.
+ </para></description>
+ </configOption>
+ <configOption name="video_mode">
+ <synopsis>Sets how confbridge handles video distribution to the conference participants</synopsis>
+ <description><para>
+ Sets how confbridge handles video distribution to the conference participants.
+ Note that participants wanting to view and be the source of a video feed
+ _MUST_ be sharing the same video codec. Also, using video in conjunction with
+ with the jitterbuffer currently results in the audio being slightly out of sync
+ with the video. This is a result of the jitterbuffer only working on the audio
+ stream. It is recommended to disable the jitterbuffer when video is used.
+
+ --- MODES ---
+ none: No video sources are set by default in the conference. It is still
+ possible for a user to be set as a video source via AMI or DTMF action
+ at any time.
+
+ follow_talker: The video feed will follow whoever is talking and providing video.
+
+ last_marked: The last marked user to join the conference with video capabilities
+ will be the single source of video distributed to all participants.
+ If multiple marked users are capable of video, the last one to join
+ is always the source, when that user leaves it goes to the one who
+ joined before them.
+
+ first_marked: The first marked user to join the conference with video capabilities
+ is the single source of video distribution among all participants. If
+ that user leaves, the marked user to join after them becomes the source.
+ </para></description>
+ </configOption>
+ <configOption name="max_members">
+ <synopsis>Limit the maximum number of participants for a single conference</synopsis>
+ <description><para>
+ This option limits the number of participants for a single
+ conference to a specific number. By default conferences
+ have no participant limit. After the limit is reached, the
+ conference will be locked until someone leaves. Note however
+ that an Admin user will always be alowed to join the conference
+ regardless if this limit is reached or not.
+ </para></description>
+ </configOption>
+ <configOption name="^sound_">
+ <synopsis>Override the various conference bridge sound files</synopsis>
+ <description><para>
+ All sounds in the conference are customizable using the bridge profile options below.
+ Simply state the option followed by the filename or full path of the filename after
+ the option. Example: sound_had_joined=conf-hasjoin This will play the conf-hasjoin
+ sound file found in the sounds directory when announcing someone's name is joining the
+ conference.
+
+ sound_join : The sound played to everyone when someone enters the conference.
+ sound_leave : The sound played to everyone when someone leaves the conference.
+ sound_has_joined : The sound played before announcing someone's name has
+ joined the conference. This is used for user intros.
+ Example "_____ has joined the conference"
+ sound_has_left : The sound played when announcing someone's name has
+ left the conference. This is used for user intros.
+ Example "_____ has left the conference"
+ sound_kicked : The sound played to a user who has been kicked from the conference.
+ sound_muted : The sound played when the mute option it toggled on.
+ sound_unmuted : The sound played when the mute option it toggled off.
+ sound_only_person: The sound played when the user is the only person in the conference.
+ sound_only_one : The sound played to a user when there is only one other
+ person is in the conference.
+ sound_there_are : The sound played when announcing how many users there
+ are in a conference.
+ sound_other_in_party : This file is used in conjunction with 'sound_there_are"
+ when announcing how many users there are in the conference.
+ The sounds are stringed together like this.
+ "sound_there_are" ${number of participants} "sound_other_in_party"
+ sound_place_into_conference : The sound played when someone is placed into the conference
+ after waiting for a marked user.
+ sound_wait_for_leader : The sound played when a user is placed into a conference that
+ can not start until a marked user enters.
+ sound_leader_has_left : The sound played when the last marked user leaves the conference.
+ sound_get_pin : The sound played when prompting for a conference pin number.
+ sound_invalid_pin : The sound played when an invalid pin is entered too many times.
+ sound_locked : The sound played to a user trying to join a locked conference.
+ sound_locked_now : The sound played to an admin after toggling the conference to locked mode.
+ sound_unlocked_now: The sound played to an admin after toggling the conference to unlocked mode.
+ sound_error_menu : The sound played when an invalid menu option is entered.
+ </para></description>
+ </configOption>
+ <configOption name="template">
+ <synopsis>When using the CONFBRIDGE dialplan function, use a bridge profile as a template for creating a new temporary profile</synopsis>
+ </configOption>
+ </configObject>
+ <configObject name="menu">
+ <configOption name="type">
+ <synopsis>Define this configuration category as a menu</synopsis>
+ </configOption>
+ <configOption name="^[0-9A-D*#]+$">
+ <synopsis>DTMF sequences to assign various confbridge actions to</synopsis>
+ <description><para>
+--- ConfBridge Menu Options ---
+The ConfBridge application also has the ability to apply custom DTMF menus to
+each channel using the application. Like the User and Bridge profiles a menu
+is passed in to ConfBridge as an argument in the dialplan.
+
+Below is a list of menu actions that can be assigned to a DTMF sequence.
+
+A single DTMF sequence can have multiple actions associated with it. This is
+accomplished by stringing the actions together and using a ',' as the
+delimiter. Example: Both listening and talking volume is reset when '5' is
+pressed. 5=reset_talking_volume, reset_listening_volume
+
+playback(filename&filename2&...)
+ ; Playback will play back an audio file to a channel
+ ; and then immediately return to the conference.
+ ; This file can not be interupted by DTMF.
+ ; Mutliple files can be chained together using the
+ ; '&' character.
+playback_and_continue(filename&filename2&...)
+ ; playback_and_continue will
+ ; play back a prompt while continuing to
+ ; collect the dtmf sequence. This is useful
+ ; when using a menu prompt that describes all
+ ; the menu options. Note however that any DTMF
+ ; during this action will terminate the prompts
+ ; playback. Prompt files can be chained together
+ ; using the '&' character as a delimiter.
+toggle_mute ; Toggle turning on and off mute. Mute will make the user silent
+ ; to everyone else, but the user will still be able to listen in.
+ ; continue to collect the dtmf sequence.
+no_op ; This action does nothing (No Operation). Its only real purpose exists for
+ ; being able to reserve a sequence in the config as a menu exit sequence.
+decrease_listening_volume ; Decreases the channel's listening volume.
+increase_listening_volume ; Increases the channel's listening volume.
+reset_listening_volume ; Reset channel's listening volume to default level.
+
+decrease_talking_volume ; Decreases the channel's talking volume.
+increase_talking_volume ; Icreases the channel's talking volume.
+reset_talking_volume ; Reset channel's talking volume to default level.
+
+dialplan_exec(context,exten,priority) ; The dialplan_exec action allows a user
+ ; to escape from the conference and execute
+ ; commands in the dialplan. Once the dialplan
+ ; exits the user will be put back into the
+ ; conference. The possibilities are endless!
+leave_conference ; This action allows a user to exit the conference and continue
+ ; execution in the dialplan.
+
+admin_kick_last ; This action allows an Admin to kick the last participant from the
+ ; conference. This action will only work for admins which allows
+ ; a single menu to be used for both users and admins.
+
+admin_toggle_conference_lock ; This action allows an Admin to toggle locking and
+ ; unlocking the conference. Non admins can not use
+ ; this action even if it is in their menu.
+
+set_as_single_video_src ; This action allows any user to set themselves as the
+ ; single video source distributed to all participants.
+ ; This will make the video feed stick to them regardless
+ ; of what the video_mode is set to.
+
+release_as_single_video_src ; This action allows a user to release themselves as
+ ; the video source. If video_mode is not set to "none"
+ ; this action will result in the conference returning to
+ ; whatever video mode the bridge profile is using.
+ ;
+ ; Note that this action will have no effect if the user
+ ; is not currently the video source. Also, the user is
+ ; not guaranteed by using this action that they will not
+ ; become the video source again. The bridge will return
+ ; to whatever operation the video_mode option is set to
+ ; upon release of the video src.
+
+admin_toggle_mute_participants ; This action allows an administrator to toggle the mute
+ ; state for all non-admins within a conference. All
+ ; admin users are unaffected by this option. Note that all
+ ; users, regardless of their admin status, are notified
+ ; that the conference is muted.
+
+participant_count ; This action plays back the number of participants currently
+ ; in a conference
+ </para></description>
+ </configOption>
+ </configObject>
+ </configFile>
+ </configInfo>
+***/
+
struct confbridge_cfg {
struct ao2_container *bridge_profiles;
struct ao2_container *user_profiles;
@@ -81,6 +478,7 @@
static struct aco_type bridge_type = {
.type = ACO_ITEM,
+ .name = "bridge_profile",
.category_match = ACO_BLACKLIST,
.category = "^general$",
.matchfield = "type",
@@ -117,6 +515,7 @@
static struct aco_type user_type = {
.type = ACO_ITEM,
+ .name = "user_profile",
.category_match = ACO_BLACKLIST,
.category = "^general$",
.matchfield = "type",
@@ -147,6 +546,7 @@
static struct aco_type menu_type = {
.type = ACO_ITEM,
+ .name = "menu",
.category_match = ACO_BLACKLIST,
.category = "^general$",
.matchfield = "type",
@@ -164,6 +564,7 @@
/* The general category is reserved, but unused */
static struct aco_type general_type = {
.type = ACO_GLOBAL,
+ .name = "global",
.category_match = ACO_WHITELIST,
.category = "^general$",
};
@@ -1289,8 +1690,6 @@
/* User options */
aco_option_register(&cfg_info, "type", ACO_EXACT, user_types, NULL, OPT_NOOP_T, 0, 0);
- aco_option_register(&cfg_info, "type", ACO_EXACT, bridge_types, NULL, OPT_NOOP_T, 0, 0);
- aco_option_register(&cfg_info, "type", ACO_EXACT, menu_types, NULL, OPT_NOOP_T, 0, 0);
aco_option_register(&cfg_info, "admin", ACO_EXACT, user_types, "no", OPT_BOOLFLAG_T, 1, FLDSET(struct user_profile, flags), USER_OPT_ADMIN);
aco_option_register(&cfg_info, "marked", ACO_EXACT, user_types, "no", OPT_BOOLFLAG_T, 1, FLDSET(struct user_profile, flags), USER_OPT_MARKEDUSER);
aco_option_register(&cfg_info, "startmuted", ACO_EXACT, user_types, "no", OPT_BOOLFLAG_T, 1, FLDSET(struct user_profile, flags), USER_OPT_STARTMUTED);
@@ -1317,6 +1716,7 @@
aco_option_register_custom(&cfg_info, "template", ACO_EXACT, user_types, NULL, user_template_handler, 0);
/* Bridge options */
+ aco_option_register(&cfg_info, "type", ACO_EXACT, bridge_types, NULL, OPT_NOOP_T, 0, 0);
aco_option_register(&cfg_info, "jitterbuffer", ACO_EXACT, bridge_types, "no", OPT_BOOLFLAG_T, 1, FLDSET(struct bridge_profile, flags), USER_OPT_JITTERBUFFER);
/* "auto" will fail to parse as a uint, but we use PARSE_DEFAULT to set the value to 0 in that case, which is the value that auto resolves to */
aco_option_register(&cfg_info, "internal_sample_rate", ACO_EXACT, bridge_types, "0", OPT_UINT_T, PARSE_DEFAULT, FLDSET(struct bridge_profile, internal_sample_rate), 0);
@@ -1330,6 +1730,7 @@
aco_option_register_custom(&cfg_info, "template", ACO_EXACT, bridge_types, NULL, bridge_template_handler, 0);
/* Menu options */
+ aco_option_register(&cfg_info, "type", ACO_EXACT, menu_types, NULL, OPT_NOOP_T, 0, 0);
aco_option_register_custom(&cfg_info, "^[0-9A-D*#]+$", ACO_REGEX, menu_types, NULL, menu_option_handler, 0);
if (aco_process_config(&cfg_info, reload) == ACO_PROCESS_ERROR) {
Modified: team/mjordan/terrys_parting_shot/channels/chan_motif.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/terrys_parting_shot/channels/chan_motif.c?view=diff&rev=379381&r1=379344&r2=379381
==============================================================================
--- team/mjordan/terrys_parting_shot/channels/chan_motif.c (original)
+++ team/mjordan/terrys_parting_shot/channels/chan_motif.c Thu Jan 17 10:51:48 2013
@@ -76,6 +76,54 @@
#include "asterisk/astobj.h"
#include "asterisk/abstract_jb.h"
#include "asterisk/xmpp.h"
+
+/*** DOCUMENTATION
+ <configInfo name="chan_motif" language="en_US">
+ <configFile name="motif.conf">
+ <configObject name="endpoint">
+ <configOption name="context">
+ <synopsis>Default dialplan context that incoming sessions will be routed to</synopsis>
+ </configOption>
+ <configOption name="callgroup">
+ <synopsis></synopsis>
+ </configOption>
+ <configOption name="pickupgroup">
+ <synopsis></synopsis>
+ </configOption>
+ <configOption name="language">
+ <synopsis></synopsis>
+ </configOption>
+ <configOption name="musicclass">
+ <synopsis></synopsis>
+ </configOption>
+ <configOption name="parkinglot">
+ <synopsis></synopsis>
+ </configOption>
+ <configOption name="accountcode">
+ <synopsis>Accout code for CDR purposes</synopsis>
+ </configOption>
+ <configOption name="allow">
+ <synopsis>Codecs to allow</synopsis>
+ </configOption>
+ <configOption name="disallow">
+ <synopsis>Codecs to disallow</synopsis>
+ </configOption>
+ <configOption name="connection">
+ <synopsis>Connection to accept traffic on and on which to send traffic out</synopsis>
+ </configOption>
+ <configOption name="transport">
+ <synopsis>The transport to use (ice-udp, google, or google-v1)</synopsis>
+ </configOption>
+ <configOption name="maxicecandidates">
+ <synopsis>Maximum number of ICE candidates to offer</synopsis>
+ </configOption>
+ <configOption name="maxpayloads">
+ <synopsis>Maximum number of pyaloads to offer</synopsis>
+ </configOption>
+ </configObject>
+ </configFile>
+ </configInfo>
+***/
/*! \brief Default maximum number of ICE candidates we will offer */
#define DEFAULT_MAX_ICE_CANDIDATES "10"
@@ -406,6 +454,7 @@
static struct aco_type endpoint_option = {
.type = ACO_ITEM,
+ .name = "endpoint",
.category_match = ACO_BLACKLIST,
.category = "^general$",
.item_alloc = jingle_endpoint_alloc,
Modified: team/mjordan/terrys_parting_shot/configs/motif.conf.sample
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/terrys_parting_shot/configs/motif.conf.sample?view=diff&rev=379381&r1=379344&r2=379381
==============================================================================
--- team/mjordan/terrys_parting_shot/configs/motif.conf.sample (original)
+++ team/mjordan/terrys_parting_shot/configs/motif.conf.sample Thu Jan 17 10:51:48 2013
@@ -75,18 +75,25 @@
;maxpayloads = 30 ; Maximum number of payloads we will offer
; Sample configuration entry for Jingle
-[jingle-endpoint](default)
-transport=ice-udp ; Change the default protocol of outgoing sessions to Jingle ICE-UDP
-allow=g722 ; Add G.722 as an allowed format since the other side may support it
-connection=local-jabber-account ; Connection to accept traffic on and send traffic out
-accountcode=jingle ; Account code for CDR purposes
+;[jingle-endpoint](default)
+;transport=ice-udp ; Change the default protocol of outgoing sessions to Jingle ICE-UDP
+;allow=g722 ; Add G.722 as an allowed format since the other side may support it
+;connection=local-jabber-account ; Connection to accept traffic on and send traffic out
+;accountcode=jingle ; Account code for CDR purposes
; Sample configuration entry for Google Talk
[gtalk-endpoint](default)
-transport=google ; Since this is a Google Talk endpoint we want to offer Google Jingle for outgoing sessions
-connection=gtalk-account
+;transport=google ; Since this is a Google Talk endpoint we want to offer Google Jingle for outgoing sessions
+;connection=gtalk-account
; Sample configuration entry for Google Voice
-[gvoice](default)
-transport=google-v1 ; Google Voice uses the original Google Talk protocol
-connection=gvoice-account
+;[gvoice](default)
+;transport=google-v1 ; Google Voice uses the original Google Talk protocol
+;connection=gvoice-account
+
+; Additional options
+; callgroup
+; pickupgroup
+; language
+; musicclass
+; parkinglot
Modified: team/mjordan/terrys_parting_shot/configs/xmpp.conf.sample
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/terrys_parting_shot/configs/xmpp.conf.sample?view=diff&rev=379381&r1=379344&r2=379381
==============================================================================
--- team/mjordan/terrys_parting_shot/configs/xmpp.conf.sample (original)
+++ team/mjordan/terrys_parting_shot/configs/xmpp.conf.sample Thu Jan 17 10:51:48 2013
@@ -37,3 +37,6 @@
;sendtodialplan=yes ; Send incoming messages into the dialplan. Off by default.
;context=messages ; Dialplan context to send incoming messages to. If not set,
; "default" will be used.
+;forceoldssl=no ; Force the use of old-style SSL.
+;keepalive=
+
Modified: team/mjordan/terrys_parting_shot/doc/appdocsxml.dtd
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/terrys_parting_shot/doc/appdocsxml.dtd?view=diff&rev=379381&r1=379344&r2=379381
==============================================================================
--- team/mjordan/terrys_parting_shot/doc/appdocsxml.dtd (original)
+++ team/mjordan/terrys_parting_shot/doc/appdocsxml.dtd Thu Jan 17 10:51:48 2013
@@ -1,13 +1,13 @@
- <!ELEMENT docs (application|function|agi|manager|managerEvent|info)*>
+ <!ELEMENT docs (application|function|agi|manager|managerEvent|info|configInfo)*>
<!ATTLIST docs xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude">
<!ELEMENT xi:include (xi:fallback?) >
- <!ATTLIST xi:include
+ <!ATTLIST xi:include
xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude"
href CDATA #IMPLIED
parse (xml|text) "xml"
xpointer CDATA #IMPLIED
- encoding CDATA #IMPLIED
+ encoding CDATA #IMPLIED
accept CDATA #IMPLIED
accept-language CDATA #IMPLIED >
@@ -39,6 +39,34 @@
<!ELEMENT managerEventInstance (synopsis?,syntax?,description?,see-also?)*>
<!ATTLIST managerEventInstance class CDATA #REQUIRED>
+ <!ELEMENT configInfo (configFile+)>
+ <!ATTLIST configInfo name CDATA #REQUIRED>
+ <!ATTLIST configInfo language CDATA #REQUIRED>
+
+ <!ELEMENT configFile (configObject+)>
+ <!ATTLIST configFile name CDATA #REQUIRED>
+
+ <!ELEMENT configObject (synopsis?|description?|syntax?|configOption)*>
+ <!ATTLIST configObject name CDATA #REQUIRED>
+
+ <!ELEMENT configOption (synopsis,description?,syntax?)*>
+ <!ATTLIST configOption name CDATA #REQUIRED>
+ <!ATTLIST configOption regex (yes|no|true|false) "false">
+ <!ATTLIST configOption default CDATA #IMPLIED>
+
+ <!ELEMENT matchInfo (category|field?)>
+
[... 1337 lines stripped ...]
More information about the asterisk-commits
mailing list