diff options
author | Matthew Jordan <mjordan@digium.com> | 2014-12-22 02:35:05 +0000 |
---|---|---|
committer | Matthew Jordan <mjordan@digium.com> | 2014-12-22 02:35:05 +0000 |
commit | b79a4a464f90e172d56a0dcccb19ca89bd6bb446 (patch) | |
tree | 42ae80af6a2cbefd009e3583003bfac44c6f1407 /apps/app_confbridge.c | |
parent | b137a92aef5f08359f11bc7ea686cd361814f3b7 (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.c | 11 |
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) |