[Freeswitch-users] mod_conference "auto-record" enhancement
Chris Danielson
chris at maxpowersoft.com
Mon Jul 7 14:46:54 PDT 2008
This patch is the equivalent of automatically running the following
command every time a new conference starts.
conference <conference name> record <my auto record
location>/<conference name>
*Chris Danielson*
Software Consultant and Co-Founder
Web: MaxPowerSoft, LLC <http://www.maxpowersoft.com/>
e schmidbauer wrote:
> can the auto-record send the conference to an icecast stream using
> mod_shout?
>
> On Mon, Jul 7, 2008 at 5:36 PM, Chris Danielson
> <chris at maxpowersoft.com <mailto:chris at maxpowersoft.com>> wrote:
>
> FreeSWITCH may or may not need this but I added an auto-record
> feature into the mod_conference module. Essentially, one can
> specify within the "conf/autoload_configs/conference.conf.xml" the
> following attribute:
> <param name="auto-record" value="/var/myNFSshare/audio/" />
> When this is specified the conference will automatically record
> the conference->name with an appended ".wav" into that folder. I
> built this out of necessity for my current implementation. I
> thought since it is able to be toggled off and on based on
> specifying the "auto-record" parameter that it might be worthy of
> inclusion.
>
> Attached is my svn diff.
>
> Kind Regards,
> Chris
>
> --
> *Chris Danielson*
> Software Consultant and Co-Founder
> Web: MaxPowerSoft, LLC <http://www.maxpowersoft.com/>
> Email: chris at maxpowersoft.com <mailto:chris at maxpowersoft.com>
>
> Index: mod_conference.c
> ===================================================================
> --- mod_conference.c (revision 8910)
> +++ mod_conference.c (working copy)
> @@ -27,8 +27,8 @@
> * Neal Horman <neal at wanlink dot com>
> * Bret McDanel <trixter at 0xdecafbad dot com>
> * Dale Thatcher <freeswitch at dalethatcher dot com>
> + * Chris Danielson <chris at maxpowersoft dot com>
> *
> - *
> * mod_conference.c -- Software Conference Bridge
> *
> */
> @@ -230,6 +230,7 @@
> char *caller_id_number;
> char *sound_prefix;
> char *special_announce;
> + char *auto_record;
> uint32_t max_members;
> char *maxmember_sound;
> uint32_t anounce_count;
> @@ -880,6 +881,14 @@
> switch_mutex_lock(globals.hash_mutex);
> globals.threads++;
> switch_mutex_unlock(globals.hash_mutex);
> +
> + if (conference->auto_record) {
> + char *rfile = switch_mprintf("%s%s%s",
> conference->auto_record, conference->name, ".wav");
> + switch_assert(rfile);
> + switch_log_printf(SWITCH_CHANNEL_LOG,
> SWITCH_LOG_DEBUG, "Auto recording file: %s\n", rfile);
> + launch_conference_record_thread(conference, rfile);
> + switch_safe_free(rfile);
> + }
>
> while (globals.running && !switch_test_flag(conference,
> CFLAG_DESTRUCT)) {
> switch_size_t file_sample_len = samples;
> @@ -4806,6 +4815,7 @@
> switch_status_t status;
> int comfort_noise_level = 0;
> char *suppress_events = NULL;
> + char *auto_record = NULL;
>
> /* Validate the conference name */
> if (switch_strlen_zero(name)) {
> @@ -4923,6 +4933,8 @@
> }
> } else if (!strcasecmp(var, "suppress-events") &&
> !switch_strlen_zero(val)) {
> suppress_events = val;
> + } else if (!strcasecmp(var, "auto-record") &&
> !switch_strlen_zero(val)) {
> + auto_record = val;
> }
> }
>
> @@ -5078,6 +5090,10 @@
> clear_eflags(suppress_events, &conference->eflags);
> }
>
> + if (!switch_strlen_zero(auto_record)) {
> + conference->auto_record =
> switch_core_strdup(conference->pool, auto_record);
> + }
> +
> /* caller control configuration chores */
> if (switch_ivr_digit_stream_parser_new(conference->pool,
> &conference->dtmf_parser) == SWITCH_STATUS_SUCCESS) {
>
>
> _______________________________________________
> Freeswitch-users mailing list
> Freeswitch-users at lists.freeswitch.org
> <mailto:Freeswitch-users at lists.freeswitch.org>
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Freeswitch-users mailing list
> Freeswitch-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20080707/e7d3b995/attachment-0002.html
More information about the FreeSWITCH-users
mailing list