From ed2eb0483ad45b7886519a3b8a997b85e12758a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= Date: Thu, 25 Sep 2014 09:46:08 +0300 Subject: main/asterisk: upgrade to 12.16.0 rebase the conference 'deafen' patch --- main/asterisk/ASTERISK-19109.patch | 267 ++++++++++++++++++++----------------- 1 file changed, 143 insertions(+), 124 deletions(-) (limited to 'main/asterisk/ASTERISK-19109.patch') diff --git a/main/asterisk/ASTERISK-19109.patch b/main/asterisk/ASTERISK-19109.patch index 09491bd8b6..2e812f78e0 100644 --- a/main/asterisk/ASTERISK-19109.patch +++ b/main/asterisk/ASTERISK-19109.patch @@ -1,21 +1,21 @@ -diff -ru asterisk-12.2.0.orig/CHANGES asterisk-12.2.0/CHANGES ---- asterisk-12.2.0.orig/CHANGES 2014-04-22 00:02:00.000000000 -0300 -+++ asterisk-12.2.0/CHANGES 2014-05-03 11:54:02.079108226 -0300 -@@ -10,6 +10,10 @@ - - +diff -ru asterisk-12.6.0.orig/CHANGES asterisk-12.6.0/CHANGES +--- asterisk-12.6.0.orig/CHANGES 2014-08-05 23:10:52.000000000 -0300 ++++ asterisk-12.6.0/CHANGES 2014-09-25 09:22:51.419497839 -0300 +@@ -8,6 +8,10 @@ + === + ============================================================================== + + * Added support for deaf participants with CLI commands, manager actions + and ConfBridge DTMF actions to toggle the deaf state. + ------------------------------------------------------------------------------ - --- Functionality changes from Asterisk 12.1.0 to Asterisk 12.2.0 ------------ + --- Functionality changes from Asterisk 12.4.0 to Asterisk 12.5.0 ------------ ------------------------------------------------------------------------------ -diff -ru asterisk-12.2.0.orig/apps/app_confbridge.c asterisk-12.2.0/apps/app_confbridge.c ---- asterisk-12.2.0.orig/apps/app_confbridge.c 2014-03-21 00:54:59.000000000 -0200 -+++ asterisk-12.2.0/apps/app_confbridge.c 2014-05-03 11:53:14.806030993 -0300 -@@ -215,6 +215,30 @@ +diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_confbridge.c +--- asterisk-12.6.0.orig/apps/app_confbridge.c 2014-08-30 20:28:04.000000000 -0300 ++++ asterisk-12.6.0/apps/app_confbridge.c 2014-09-25 09:38:27.299505944 -0300 +@@ -219,6 +219,30 @@ @@ -46,7 +46,7 @@ diff -ru asterisk-12.2.0.orig/apps/app_confbridge.c asterisk-12.2.0/apps/app_con Kick a Confbridge user. -@@ -311,6 +335,13 @@ +@@ -318,6 +342,13 @@ CONF_RECORD_STOP, }; @@ -60,7 +60,7 @@ diff -ru asterisk-12.2.0.orig/apps/app_confbridge.c asterisk-12.2.0/apps/app_con /*! \brief Container to hold all conference bridges in progress */ struct ao2_container *conference_bridges; -@@ -382,6 +413,10 @@ +@@ -389,6 +420,10 @@ return S_OR(custom_sounds->muted, "conf-muted"); case CONF_SOUND_UNMUTED: return S_OR(custom_sounds->unmuted, "conf-unmuted"); @@ -71,8 +71,8 @@ diff -ru asterisk-12.2.0.orig/apps/app_confbridge.c asterisk-12.2.0/apps/app_con case CONF_SOUND_ONLY_ONE: return S_OR(custom_sounds->onlyone, "conf-onlyone"); case CONF_SOUND_THERE_ARE: -@@ -495,6 +530,16 @@ - send_conf_stasis(conference, chan, confbridge_unmute_type(), NULL, 1); +@@ -539,6 +574,16 @@ + ast_json_unref(json_object); } +static void send_deafen_event(struct ast_channel *chan, struct confbridge_conference *conference) @@ -88,7 +88,7 @@ diff -ru asterisk-12.2.0.orig/apps/app_confbridge.c asterisk-12.2.0/apps/app_con static void set_rec_filename(struct confbridge_conference *conference, struct ast_str **filename, int is_new) { char *rec_file = conference->b_profile.rec_file; -@@ -1657,6 +1702,11 @@ +@@ -1697,6 +1742,11 @@ /* Set user level mute request. */ user.muted = 1; } @@ -100,7 +100,7 @@ diff -ru asterisk-12.2.0.orig/apps/app_confbridge.c asterisk-12.2.0/apps/app_con /* Look for a conference bridge matching the provided name */ if (!(conference = join_conference_bridge(args.conf_name, &user))) { -@@ -1846,6 +1896,30 @@ +@@ -1885,6 +1935,30 @@ return 0; } @@ -131,7 +131,7 @@ diff -ru asterisk-12.2.0.orig/apps/app_confbridge.c asterisk-12.2.0/apps/app_con static int action_playback(struct ast_bridge_channel *bridge_channel, const char *playback_file) { char *file_copy = ast_strdupa(playback_file); -@@ -2034,6 +2108,11 @@ +@@ -2071,6 +2145,11 @@ case MENU_ACTION_PARTICIPANT_COUNT: announce_user_count(conference, user); break; @@ -143,88 +143,107 @@ diff -ru asterisk-12.2.0.orig/apps/app_confbridge.c asterisk-12.2.0/apps/app_con case MENU_ACTION_PLAYBACK: if (!stop_prompts) { res |= action_playback(bridge_channel, menu_action->data.playback_file); -@@ -2380,14 +2459,29 @@ - return res; +@@ -2446,38 +2525,65 @@ } + /* \internal +- * \brief Mute/unmute a single user. ++ * \brief Send feature change test event. + */ +-static void generic_mute_unmute_user(struct confbridge_conference *conference, struct confbridge_user *user, int mute) +static void test_suite_feature_action_event_notify( + struct confbridge_conference *conference, + struct confbridge_user *user, + const char *state, const char *verb) -+{ + { +- /* Set user level mute request. */ +- user->muted = mute ? 1 : 0; +- +- conf_update_user_mute(user); +- ast_test_suite_event_notify("CONF_MUTE", + ast_test_suite_event_notify(state, -+ "Message: participant %s %s\r\n" -+ "Conference: %s\r\n" -+ "Channel: %s", -+ ast_channel_name(user->chan), + "Message: participant %s %s\r\n" + "Conference: %s\r\n" + "Channel: %s", + ast_channel_name(user->chan), +- mute ? "muted" : "unmuted", + verb, -+ conference->b_profile.name, -+ ast_channel_name(user->chan)); + conference->b_profile.name, + ast_channel_name(user->chan)); +- if (mute) { +- send_mute_event(user, conference); +- } else { +- send_unmute_event(user, conference); +} + ++/* \internal ++ * \brief Change a feature for one conference user. ++ */ ++static void generic_feature_action_helper_user( ++ struct confbridge_conference *conference, struct confbridge_user *user, ++ enum confbridge_feature_action action) ++{ ++ switch (action) { ++ case CONFBRIDGE_FEATURE_DEAFEN: ++ user->features.deaf = 1; ++ test_suite_feature_action_event_notify(conference, user, "CONF_DEAF", "deafened"); ++ send_deafen_event(user->chan, conference); ++ break; ++ case CONFBRIDGE_FEATURE_UNDEAFEN: ++ user->features.deaf = 0; ++ test_suite_feature_action_event_notify(conference, user, "CONF_DEAF", "undeafened"); ++ send_undeafen_event(user->chan, conference); ++ break; ++ case CONFBRIDGE_FEATURE_MUTE: ++ user->muted = 1; ++ conf_update_user_mute(user); ++ test_suite_feature_action_event_notify(conference, user, "CONF_MUTE", "muted"); ++ send_mute_event(user->chan, conference); ++ break; ++ case CONFBRIDGE_FEATURE_UNMUTE: ++ default: ++ user->muted = 0; ++ conf_update_user_mute(user); ++ test_suite_feature_action_event_notify(conference, user, "CONF_MUTE", "unmuted"); ++ send_unmute_event(user->chan, conference); ++ break; + } + } + /* \internal - * \brief finds a conference user by channel name and mutes/unmutes them. +- * + * \brief finds a conference user by channel name and changes feature bits on it. - * * \retval 0 success * \retval -1 conference not found * \retval -2 user not found */ --static int generic_mute_unmute_helper(int mute, const char *conference_name, const char *chan_name) -+static int generic_feature_action_helper(enum confbridge_feature_action action, const char *conference_name, const char *chan_name) +-static int generic_mute_unmute_helper(int mute, const char *conference_name, +- const char *chan_name) ++static int generic_feature_action_helper(enum confbridge_feature_action action, ++ const char *conference_name, const char *chan_name) { - struct confbridge_conference *conference; + RAII_VAR(struct confbridge_conference *, conference, NULL, ao2_cleanup); struct confbridge_user *user; -@@ -2404,25 +2498,33 @@ - } - } - if (user) { -- /* Set user level mute request. */ -- user->muted = mute ? 1 : 0; -- -- conf_update_user_mute(user); -- ast_test_suite_event_notify("CONF_MUTE", -- "Message: participant %s %s\r\n" -- "Conference: %s\r\n" -- "Channel: %s", -- ast_channel_name(user->chan), -- mute ? "muted" : "unmuted", -- conference->b_profile.name, -- ast_channel_name(user->chan)); -- if (mute) { -+ switch (action) { -+ case CONFBRIDGE_FEATURE_DEAFEN: -+ user->features.deaf = 1; -+ test_suite_feature_action_event_notify(conference, user, "CONF_DEAF", "deafened"); -+ send_deafen_event(user->chan, conference); -+ break; -+ case CONFBRIDGE_FEATURE_UNDEAFEN: -+ user->features.deaf = 0; -+ test_suite_feature_action_event_notify(conference, user, "CONF_DEAF", "undeafened"); -+ send_undeafen_event(user->chan, conference); -+ break; -+ case CONFBRIDGE_FEATURE_MUTE: -+ user->muted = 1; -+ conf_update_user_mute(user); -+ test_suite_feature_action_event_notify(conference, user, "CONF_MUTE", "muted"); - send_mute_event(user->chan, conference); -- } else { -+ break; -+ case CONFBRIDGE_FEATURE_UNMUTE: -+ default: -+ user->muted = 0; -+ conf_update_user_mute(user); -+ test_suite_feature_action_event_notify(conference, user, "CONF_MUTE", "unmuted"); - send_unmute_event(user->chan, conference); -+ break; - } - } else { -- res = -2;; -+ res = -2; - } - ao2_unlock(conference); - ao2_ref(conference, -1); -@@ -2430,9 +2532,10 @@ +@@ -2497,7 +2603,7 @@ + strlen(chan_name)); + if (match || all + || (participants && !ast_test_flag(&user->u_profile, USER_OPT_ADMIN))) { +- generic_mute_unmute_user(conference, user, mute); ++ generic_feature_action_helper_user(conference, user, action); + res = 0; + if (match) { + return res; +@@ -2510,7 +2616,7 @@ + strlen(chan_name)); + if (match || all + || (participants && !ast_test_flag(&user->u_profile, USER_OPT_ADMIN))) { +- generic_mute_unmute_user(conference, user, mute); ++ generic_feature_action_helper_user(conference, user, action); + res = 0; + if (match) { + return res; +@@ -2522,9 +2628,10 @@ return res; } @@ -237,8 +256,8 @@ diff -ru asterisk-12.2.0.orig/apps/app_confbridge.c asterisk-12.2.0/apps/app_con if (res == -1) { ast_cli(a->fd, "No conference bridge named '%s' found!\n", a->argv[2]); -@@ -2441,7 +2544,24 @@ - ast_cli(a->fd, "No channel named '%s' found in conference %s\n", a->argv[3], a->argv[2]); +@@ -2537,7 +2644,24 @@ + } return -1; } - ast_cli(a->fd, "%s %s from confbridge %s\n", mute ? "Muting" : "Unmuting", a->argv[3], a->argv[2]); @@ -263,7 +282,7 @@ diff -ru asterisk-12.2.0.orig/apps/app_confbridge.c asterisk-12.2.0/apps/app_con return 0; } -@@ -2470,7 +2590,7 @@ +@@ -2567,7 +2691,7 @@ return CLI_SHOWUSAGE; } @@ -272,7 +291,7 @@ diff -ru asterisk-12.2.0.orig/apps/app_confbridge.c asterisk-12.2.0/apps/app_con return CLI_SUCCESS; } -@@ -2500,7 +2620,53 @@ +@@ -2598,7 +2722,53 @@ return CLI_SHOWUSAGE; } @@ -327,16 +346,16 @@ diff -ru asterisk-12.2.0.orig/apps/app_confbridge.c asterisk-12.2.0/apps/app_con return CLI_SUCCESS; } -@@ -2655,6 +2821,8 @@ +@@ -2753,6 +2923,8 @@ AST_CLI_DEFINE(handle_cli_confbridge_kick, "Kick participants out of conference bridges."), - AST_CLI_DEFINE(handle_cli_confbridge_mute, "Mute a participant."), - AST_CLI_DEFINE(handle_cli_confbridge_unmute, "Unmute a participant."), + AST_CLI_DEFINE(handle_cli_confbridge_mute, "Mute participants."), + AST_CLI_DEFINE(handle_cli_confbridge_unmute, "Unmute participants."), + AST_CLI_DEFINE(handle_cli_confbridge_deafen, "Deafen a participant."), + AST_CLI_DEFINE(handle_cli_confbridge_undeafen, "Undeafen a participant."), AST_CLI_DEFINE(handle_cli_confbridge_lock, "Lock a conference."), AST_CLI_DEFINE(handle_cli_confbridge_unlock, "Unlock a conference."), AST_CLI_DEFINE(handle_cli_confbridge_start_record, "Start recording a conference"), -@@ -2805,10 +2973,11 @@ +@@ -2905,10 +3077,11 @@ return 0; } @@ -349,7 +368,7 @@ diff -ru asterisk-12.2.0.orig/apps/app_confbridge.c asterisk-12.2.0/apps/app_con int res = 0; if (ast_strlen_zero(conference_name)) { -@@ -2824,7 +2993,7 @@ +@@ -2924,7 +3097,7 @@ return 0; } @@ -358,7 +377,7 @@ diff -ru asterisk-12.2.0.orig/apps/app_confbridge.c asterisk-12.2.0/apps/app_con if (res == -1) { astman_send_error(s, m, "No Conference by that name found."); -@@ -2834,17 +3003,41 @@ +@@ -2934,17 +3107,41 @@ return 0; } @@ -403,7 +422,7 @@ diff -ru asterisk-12.2.0.orig/apps/app_confbridge.c asterisk-12.2.0/apps/app_con } static int action_lock_unlock_helper(struct mansession *s, const struct message *m, int lock) -@@ -3197,6 +3390,8 @@ +@@ -3297,6 +3494,8 @@ ast_manager_unregister("ConfbridgeListRooms"); ast_manager_unregister("ConfbridgeMute"); ast_manager_unregister("ConfbridgeUnmute"); @@ -412,7 +431,7 @@ diff -ru asterisk-12.2.0.orig/apps/app_confbridge.c asterisk-12.2.0/apps/app_con ast_manager_unregister("ConfbridgeKick"); ast_manager_unregister("ConfbridgeUnlock"); ast_manager_unregister("ConfbridgeLock"); -@@ -3266,6 +3461,8 @@ +@@ -3366,6 +3565,8 @@ res |= ast_manager_register_xml("ConfbridgeListRooms", EVENT_FLAG_REPORTING, action_confbridgelistrooms); res |= ast_manager_register_xml("ConfbridgeMute", EVENT_FLAG_CALL, action_confbridgemute); res |= ast_manager_register_xml("ConfbridgeUnmute", EVENT_FLAG_CALL, action_confbridgeunmute); @@ -421,9 +440,9 @@ diff -ru asterisk-12.2.0.orig/apps/app_confbridge.c asterisk-12.2.0/apps/app_con res |= ast_manager_register_xml("ConfbridgeKick", EVENT_FLAG_CALL, action_confbridgekick); res |= ast_manager_register_xml("ConfbridgeUnlock", EVENT_FLAG_CALL, action_confbridgeunlock); res |= ast_manager_register_xml("ConfbridgeLock", EVENT_FLAG_CALL, action_confbridgelock); -diff -ru asterisk-12.2.0.orig/apps/confbridge/conf_config_parser.c asterisk-12.2.0/apps/confbridge/conf_config_parser.c ---- asterisk-12.2.0.orig/apps/confbridge/conf_config_parser.c 2014-03-27 21:15:35.000000000 -0200 -+++ asterisk-12.2.0/apps/confbridge/conf_config_parser.c 2014-05-03 11:51:44.939851173 -0300 +diff -ru asterisk-12.6.0.orig/apps/confbridge/conf_config_parser.c asterisk-12.6.0/apps/confbridge/conf_config_parser.c +--- asterisk-12.6.0.orig/apps/confbridge/conf_config_parser.c 2014-05-10 01:39:22.000000000 -0300 ++++ asterisk-12.6.0/apps/confbridge/conf_config_parser.c 2014-09-25 09:22:51.419497839 -0300 @@ -862,6 +862,10 @@ ast_string_field_set(sounds, muted, sound_file); } else if (!strcasecmp(sound_name, "sound_unmuted")) { @@ -480,10 +499,10 @@ diff -ru asterisk-12.2.0.orig/apps/confbridge/conf_config_parser.c asterisk-12.2 aco_option_register(&cfg_info, "music_on_hold_when_empty", ACO_EXACT, user_types, "no", OPT_BOOLFLAG_T, 1, FLDSET(struct user_profile, flags), USER_OPT_MUSICONHOLD); aco_option_register(&cfg_info, "quiet", ACO_EXACT, user_types, "no", OPT_BOOLFLAG_T, 1, FLDSET(struct user_profile, flags), USER_OPT_QUIET); aco_option_register_custom(&cfg_info, "announce_user_count_all", ACO_EXACT, user_types, "no", announce_user_count_all_handler, 0); -diff -ru asterisk-12.2.0.orig/apps/confbridge/confbridge_manager.c asterisk-12.2.0/apps/confbridge/confbridge_manager.c ---- asterisk-12.2.0.orig/apps/confbridge/confbridge_manager.c 2013-09-30 21:48:57.000000000 -0300 -+++ asterisk-12.2.0/apps/confbridge/confbridge_manager.c 2014-05-03 11:51:44.939851173 -0300 -@@ -161,6 +161,38 @@ +diff -ru asterisk-12.6.0.orig/apps/confbridge/confbridge_manager.c asterisk-12.6.0/apps/confbridge/confbridge_manager.c +--- asterisk-12.6.0.orig/apps/confbridge/confbridge_manager.c 2014-08-27 20:21:57.000000000 -0300 ++++ asterisk-12.6.0/apps/confbridge/confbridge_manager.c 2014-09-25 09:22:51.419497839 -0300 +@@ -189,6 +189,38 @@ @@ -522,8 +541,8 @@ diff -ru asterisk-12.2.0.orig/apps/confbridge/confbridge_manager.c asterisk-12.2 Raised when a confbridge participant unmutes. -@@ -271,6 +303,18 @@ - confbridge_publish_manager_event(message, "ConfbridgeUnmute", NULL); +@@ -338,6 +370,18 @@ + ast_free(extra_text); } +static void confbridge_deafen_cb(void *data, struct stasis_subscription *sub, @@ -541,7 +560,7 @@ diff -ru asterisk-12.2.0.orig/apps/confbridge/confbridge_manager.c asterisk-12.2 static void confbridge_talking_cb(void *data, struct stasis_subscription *sub, struct stasis_message *message) { -@@ -297,6 +341,8 @@ +@@ -366,6 +410,8 @@ STASIS_MESSAGE_TYPE_DEFN(confbridge_stop_record_type); STASIS_MESSAGE_TYPE_DEFN(confbridge_mute_type); STASIS_MESSAGE_TYPE_DEFN(confbridge_unmute_type); @@ -550,7 +569,7 @@ diff -ru asterisk-12.2.0.orig/apps/confbridge/confbridge_manager.c asterisk-12.2 STASIS_MESSAGE_TYPE_DEFN(confbridge_talking_type); void manager_confbridge_shutdown(void) { -@@ -308,6 +354,8 @@ +@@ -377,6 +423,8 @@ STASIS_MESSAGE_TYPE_CLEANUP(confbridge_stop_record_type); STASIS_MESSAGE_TYPE_CLEANUP(confbridge_mute_type); STASIS_MESSAGE_TYPE_CLEANUP(confbridge_unmute_type); @@ -559,7 +578,7 @@ diff -ru asterisk-12.2.0.orig/apps/confbridge/confbridge_manager.c asterisk-12.2 STASIS_MESSAGE_TYPE_CLEANUP(confbridge_talking_type); if (bridge_state_router) { -@@ -331,6 +379,8 @@ +@@ -400,6 +448,8 @@ STASIS_MESSAGE_TYPE_INIT(confbridge_stop_record_type); STASIS_MESSAGE_TYPE_INIT(confbridge_mute_type); STASIS_MESSAGE_TYPE_INIT(confbridge_unmute_type); @@ -568,7 +587,7 @@ diff -ru asterisk-12.2.0.orig/apps/confbridge/confbridge_manager.c asterisk-12.2 STASIS_MESSAGE_TYPE_INIT(confbridge_talking_type); bridge_state_router = stasis_message_router_create( -@@ -397,6 +447,20 @@ +@@ -466,6 +516,20 @@ return -1; } if (stasis_message_router_add(bridge_state_router, @@ -589,7 +608,7 @@ diff -ru asterisk-12.2.0.orig/apps/confbridge/confbridge_manager.c asterisk-12.2 confbridge_talking_type(), confbridge_talking_cb, NULL)) { -@@ -467,6 +531,20 @@ +@@ -536,6 +600,20 @@ NULL)) { manager_confbridge_shutdown(); return -1; @@ -610,9 +629,9 @@ diff -ru asterisk-12.2.0.orig/apps/confbridge/confbridge_manager.c asterisk-12.2 } if (stasis_message_router_add(channel_state_router, confbridge_talking_type(), -diff -ru asterisk-12.2.0.orig/apps/confbridge/include/confbridge.h asterisk-12.2.0/apps/confbridge/include/confbridge.h ---- asterisk-12.2.0.orig/apps/confbridge/include/confbridge.h 2014-02-10 17:54:45.000000000 -0200 -+++ asterisk-12.2.0/apps/confbridge/include/confbridge.h 2014-05-03 11:51:44.939851173 -0300 +diff -ru asterisk-12.6.0.orig/apps/confbridge/include/confbridge.h asterisk-12.6.0/apps/confbridge/include/confbridge.h +--- asterisk-12.6.0.orig/apps/confbridge/include/confbridge.h 2014-06-04 10:23:58.000000000 -0300 ++++ asterisk-12.6.0/apps/confbridge/include/confbridge.h 2014-09-25 09:22:51.419497839 -0300 @@ -58,6 +58,7 @@ USER_OPT_DTMF_PASS = (1 << 13), /*!< Sets if dtmf should be passed into the conference or not */ USER_OPT_ANNOUNCEUSERCOUNTALL = (1 << 14), /*!< Sets if the number of users should be announced to everyone. */ @@ -656,9 +675,9 @@ diff -ru asterisk-12.2.0.orig/apps/confbridge/include/confbridge.h asterisk-12.2 /*! \brief Looks to see if sound file is stored in bridge profile sounds, if not * default sound is provided.*/ -diff -ru asterisk-12.2.0.orig/bridges/bridge_softmix.c asterisk-12.2.0/bridges/bridge_softmix.c ---- asterisk-12.2.0.orig/bridges/bridge_softmix.c 2014-03-17 18:52:12.000000000 -0200 -+++ asterisk-12.2.0/bridges/bridge_softmix.c 2014-05-03 11:51:44.943184488 -0300 +diff -ru asterisk-12.6.0.orig/bridges/bridge_softmix.c asterisk-12.6.0/bridges/bridge_softmix.c +--- asterisk-12.6.0.orig/bridges/bridge_softmix.c 2014-05-10 01:39:22.000000000 -0300 ++++ asterisk-12.6.0/bridges/bridge_softmix.c 2014-09-25 09:22:51.419497839 -0300 @@ -926,16 +926,23 @@ ast_mutex_lock(&sc->lock); @@ -692,9 +711,9 @@ diff -ru asterisk-12.2.0.orig/bridges/bridge_softmix.c asterisk-12.2.0/bridges/b ast_mutex_unlock(&sc->lock); -diff -ru asterisk-12.2.0.orig/configs/confbridge.conf.sample asterisk-12.2.0/configs/confbridge.conf.sample ---- asterisk-12.2.0.orig/configs/confbridge.conf.sample 2014-02-10 17:54:45.000000000 -0200 -+++ asterisk-12.2.0/configs/confbridge.conf.sample 2014-05-03 11:51:44.943184488 -0300 +diff -ru asterisk-12.6.0.orig/configs/confbridge.conf.sample asterisk-12.6.0/configs/confbridge.conf.sample +--- asterisk-12.6.0.orig/configs/confbridge.conf.sample 2014-02-10 17:54:45.000000000 -0200 ++++ asterisk-12.6.0/configs/confbridge.conf.sample 2014-09-25 09:22:51.419497839 -0300 @@ -20,6 +20,7 @@ ;admin=yes ; Sets if the user is an admin or not. Off by default. ;marked=yes ; Sets if this is a marked user or not. Off by default. @@ -721,10 +740,10 @@ diff -ru asterisk-12.2.0.orig/configs/confbridge.conf.sample asterisk-12.2.0/con ; 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. -diff -ru asterisk-12.2.0.orig/include/asterisk/bridge_features.h asterisk-12.2.0/include/asterisk/bridge_features.h ---- asterisk-12.2.0.orig/include/asterisk/bridge_features.h 2013-08-21 18:51:19.000000000 -0300 -+++ asterisk-12.2.0/include/asterisk/bridge_features.h 2014-05-03 11:51:44.943184488 -0300 -@@ -253,6 +253,8 @@ +diff -ru asterisk-12.6.0.orig/include/asterisk/bridge_features.h asterisk-12.6.0/include/asterisk/bridge_features.h +--- asterisk-12.6.0.orig/include/asterisk/bridge_features.h 2014-08-07 18:19:53.000000000 -0300 ++++ asterisk-12.6.0/include/asterisk/bridge_features.h 2014-09-25 09:22:51.419497839 -0300 +@@ -273,6 +273,8 @@ unsigned int usable:1; /*! TRUE if the channel/bridge is muted. */ unsigned int mute:1; @@ -733,10 +752,10 @@ diff -ru asterisk-12.2.0.orig/include/asterisk/bridge_features.h asterisk-12.2.0 /*! TRUE if DTMF should be passed into the bridge tech. */ unsigned int dtmf_passthrough:1; }; -diff -ru asterisk-12.2.0.orig/main/bridge_channel.c asterisk-12.2.0/main/bridge_channel.c ---- asterisk-12.2.0.orig/main/bridge_channel.c 2014-03-17 18:52:12.000000000 -0200 -+++ asterisk-12.2.0/main/bridge_channel.c 2014-05-03 11:51:44.943184488 -0300 -@@ -756,7 +756,21 @@ +diff -ru asterisk-12.6.0.orig/main/bridge_channel.c asterisk-12.6.0/main/bridge_channel.c +--- asterisk-12.6.0.orig/main/bridge_channel.c 2014-08-13 18:21:07.000000000 -0300 ++++ asterisk-12.6.0/main/bridge_channel.c 2014-09-25 09:22:51.422831171 -0300 +@@ -903,7 +903,21 @@ return 0; } -- cgit v1.2.3