summaryrefslogtreecommitdiff
path: root/apps/app_confbridge.c
diff options
context:
space:
mode:
authorMatthew Jordan <mjordan@digium.com>2014-12-22 02:35:05 +0000
committerMatthew Jordan <mjordan@digium.com>2014-12-22 02:35:05 +0000
commitb79a4a464f90e172d56a0dcccb19ca89bd6bb446 (patch)
tree42ae80af6a2cbefd009e3583003bfac44c6f1407 /apps/app_confbridge.c
parentb137a92aef5f08359f11bc7ea686cd361814f3b7 (diff)
app_confbridge: Add the ability to pass options/command to MixMonitor
This patch adds the ability to pass options and a command to MixMontor when recording a conference using ConfBridge. New options are - * record_options: Options to MixMontor, eg: m(), W() etc. * record_command: The command to execute when recording is over. * record_file_timestamp: Append the start time to the file name. These options can also be used with the CONFBRIDGE function, e.g., Set(CONFBRIDGE(bridge,record_command)=/path/to/command ^{MIXMONITOR_FILENAME})) Review: https://reviewboard.asterisk.org/r/4023 ASTERISK-24351 #close Reported by: Gareth Palmer patches: record_command-428838.patch uploaded by Gareth Palmer (License 5169) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@429934 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps/app_confbridge.c')
-rw-r--r--apps/app_confbridge.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/apps/app_confbridge.c b/apps/app_confbridge.c
index fd28395f4..8bffb2958 100644
--- a/apps/app_confbridge.c
+++ b/apps/app_confbridge.c
@@ -569,7 +569,7 @@ static void set_rec_filename(struct confbridge_conference *conference, struct as
ast_str_reset(*filename);
if (ast_strlen_zero(rec_file)) {
ast_str_set(filename, 0, "confbridge-%s-%u.wav", conference->name, (unsigned int)now);
- } else {
+ } else if (ast_test_flag(&conference->b_profile, BRIDGE_OPT_RECORD_FILE_TIMESTAMP)) {
/* insert time before file extension */
ext = strrchr(rec_file, '.');
if (ext) {
@@ -578,11 +578,14 @@ static void set_rec_filename(struct confbridge_conference *conference, struct as
} else {
ast_str_set(filename, 0, "%s-%u", rec_file, (unsigned int)now);
}
+ } else {
+ ast_str_set(filename, 0, "%s", rec_file);
}
- if (ast_test_flag(&conference->b_profile, BRIDGE_OPT_RECORD_FILE_APPEND)) {
- ast_str_append(filename, 0, ",a");
- }
+ ast_str_append(filename, 0, ",%s%s,%s",
+ ast_test_flag(&conference->b_profile, BRIDGE_OPT_RECORD_FILE_APPEND) ? "a" : "",
+ conference->b_profile.rec_options,
+ conference->b_profile.rec_command);
}
static int is_new_rec_file(const char *rec_file, struct ast_str **orig_rec_file)