summaryrefslogtreecommitdiff
path: root/apps/confbridge/conf_config_parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/confbridge/conf_config_parser.c')
-rw-r--r--apps/confbridge/conf_config_parser.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/apps/confbridge/conf_config_parser.c b/apps/confbridge/conf_config_parser.c
index b8b1e2a9c..f5bb7eb57 100644
--- a/apps/confbridge/conf_config_parser.c
+++ b/apps/confbridge/conf_config_parser.c
@@ -317,6 +317,22 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
on a conference.
</para></description>
</configOption>
+ <configOption name="regcontext">
+ <synopsis>The name of the context into which to register the name of the conference bridge as NoOP() at priority 1</synopsis>
+ <description><para>
+ When set this will cause the name of the created conference to be registered
+ into the named context at priority 1 with an operation of NoOP(). This can
+ then be used in other parts of the dialplan to test for the existence of a
+ specific conference bridge.
+ You should be aware that there are potential races between testing for the
+ existence of a bridge, and taking action upon that information, consider
+ for example two callers executing the check simultaniously, and then taking
+ special action as "first caller" into the bridge. The same for exiting,
+ directly after the check the bridge can be destroyed before the new caller
+ enters (creating a new bridge), for example, and the "first member" actions
+ could thus be missed.
+ </para></description>
+ </configOption>
<configOption name="video_mode">
<synopsis>Sets how confbridge handles video distribution to the conference participants</synopsis>
<description><para>
@@ -1563,6 +1579,8 @@ static char *handle_cli_confbridge_show_bridge_profile(struct ast_cli_entry *e,
ast_cli(a->fd,"Max Members: No Limit\n");
}
+ ast_cli(a->fd,"Registration context: %s\n", b_profile.regcontext);
+
switch (b_profile.flags
& (BRIDGE_OPT_VIDEO_SRC_LAST_MARKED | BRIDGE_OPT_VIDEO_SRC_FIRST_MARKED
| BRIDGE_OPT_VIDEO_SRC_FOLLOW_TALKER)) {
@@ -2128,6 +2146,7 @@ int conf_load_config(void)
aco_option_register(&cfg_info, "record_file_append", ACO_EXACT, bridge_types, "yes", OPT_BOOLFLAG_T, 1, FLDSET(struct bridge_profile, flags), BRIDGE_OPT_RECORD_FILE_APPEND);
aco_option_register(&cfg_info, "max_members", ACO_EXACT, bridge_types, "0", OPT_UINT_T, 0, FLDSET(struct bridge_profile, max_members));
aco_option_register(&cfg_info, "record_file", ACO_EXACT, bridge_types, NULL, OPT_CHAR_ARRAY_T, 0, CHARFLDSET(struct bridge_profile, rec_file));
+ aco_option_register(&cfg_info, "regcontext", ACO_EXACT, bridge_types, NULL, OPT_CHAR_ARRAY_T, 0, CHARFLDSET(struct bridge_profile, regcontext));
aco_option_register(&cfg_info, "language", ACO_EXACT, bridge_types, "en", OPT_CHAR_ARRAY_T, 0, CHARFLDSET(struct bridge_profile, language));
aco_option_register_custom(&cfg_info, "^sound_", ACO_REGEX, bridge_types, NULL, sound_option_handler, 0);
/* This option should only be used with the CONFBRIDGE dialplan function */