diff options
Diffstat (limited to 'main/asterisk/ASTERISK-19109.patch')
-rw-r--r-- | main/asterisk/ASTERISK-19109.patch | 126 |
1 files changed, 61 insertions, 65 deletions
diff --git a/main/asterisk/ASTERISK-19109.patch b/main/asterisk/ASTERISK-19109.patch index b7b8d76e0d..09491bd8b6 100644 --- a/main/asterisk/ASTERISK-19109.patch +++ b/main/asterisk/ASTERISK-19109.patch @@ -1,20 +1,20 @@ -diff -ru asterisk-12.1.0.orig/CHANGES asterisk-12.1.0/CHANGES ---- asterisk-12.1.0.orig/CHANGES 2014-03-04 12:28:27.967573113 +0000 -+++ asterisk-12.1.0/CHANGES 2014-03-04 12:25:54.994802007 +0000 -@@ -8,6 +8,10 @@ - === - ============================================================================== +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 @@ + + + + * Added support for deaf participants with CLI commands, manager actions + and ConfBridge DTMF actions to toggle the deaf state. + ------------------------------------------------------------------------------ - --- Functionality changes from Asterisk 12.0.0 to Asterisk 12.1.0 ------------ + --- Functionality changes from Asterisk 12.1.0 to Asterisk 12.2.0 ------------ ------------------------------------------------------------------------------ -diff -ru asterisk-12.1.0.orig/apps/app_confbridge.c asterisk-12.1.0/apps/app_confbridge.c ---- asterisk-12.1.0.orig/apps/app_confbridge.c 2014-03-04 12:28:27.970906507 +0000 -+++ asterisk-12.1.0/apps/app_confbridge.c 2014-03-04 12:35:39.105383185 +0000 +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 @@ <description> </description> @@ -71,7 +71,7 @@ diff -ru asterisk-12.1.0.orig/apps/app_confbridge.c asterisk-12.1.0/apps/app_con case CONF_SOUND_ONLY_ONE: return S_OR(custom_sounds->onlyone, "conf-onlyone"); case CONF_SOUND_THERE_ARE: -@@ -493,6 +528,16 @@ +@@ -495,6 +530,16 @@ send_conf_stasis(conference, chan, confbridge_unmute_type(), NULL, 1); } @@ -88,23 +88,19 @@ diff -ru asterisk-12.1.0.orig/apps/app_confbridge.c asterisk-12.1.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; -@@ -1661,11 +1706,14 @@ - volume_adjustments[0] = ast_audiohook_volume_get(chan, AST_AUDIOHOOK_DIRECTION_READ); - volume_adjustments[1] = ast_audiohook_volume_get(chan, AST_AUDIOHOOK_DIRECTION_WRITE); - -- /* If the caller should be joined already muted, make it so */ -+ /* If the caller should be joined already muted or deaf, make it so */ - if (ast_test_flag(&user.u_profile, USER_OPT_STARTMUTED)) { +@@ -1657,6 +1702,11 @@ /* Set user level mute request. */ user.muted = 1; } ++ /* If the caller should be joined already deafened, set the flag before we join. */ + if (ast_test_flag(&user.u_profile, USER_OPT_STARTDEAF)) { ++ /* Set user level deaf request */ + user.features.deaf = 1; + } - if (ast_test_flag(&user.u_profile, USER_OPT_DROP_SILENCE)) { - user.tech_args.drop_silence = 1; -@@ -1845,6 +1893,30 @@ + /* Look for a conference bridge matching the provided name */ + if (!(conference = join_conference_bridge(args.conf_name, &user))) { +@@ -1846,6 +1896,30 @@ return 0; } @@ -135,7 +131,7 @@ diff -ru asterisk-12.1.0.orig/apps/app_confbridge.c asterisk-12.1.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); -@@ -2033,6 +2105,11 @@ +@@ -2034,6 +2108,11 @@ case MENU_ACTION_PARTICIPANT_COUNT: announce_user_count(conference, user); break; @@ -147,7 +143,7 @@ diff -ru asterisk-12.1.0.orig/apps/app_confbridge.c asterisk-12.1.0/apps/app_con case MENU_ACTION_PLAYBACK: if (!stop_prompts) { res |= action_playback(bridge_channel, menu_action->data.playback_file); -@@ -2379,14 +2456,29 @@ +@@ -2380,14 +2459,29 @@ return res; } @@ -179,7 +175,7 @@ diff -ru asterisk-12.1.0.orig/apps/app_confbridge.c asterisk-12.1.0/apps/app_con { struct confbridge_conference *conference; struct confbridge_user *user; -@@ -2403,25 +2495,33 @@ +@@ -2404,25 +2498,33 @@ } } if (user) { @@ -228,7 +224,7 @@ diff -ru asterisk-12.1.0.orig/apps/app_confbridge.c asterisk-12.1.0/apps/app_con } ao2_unlock(conference); ao2_ref(conference, -1); -@@ -2429,9 +2529,10 @@ +@@ -2430,9 +2532,10 @@ return res; } @@ -241,7 +237,7 @@ diff -ru asterisk-12.1.0.orig/apps/app_confbridge.c asterisk-12.1.0/apps/app_con if (res == -1) { ast_cli(a->fd, "No conference bridge named '%s' found!\n", a->argv[2]); -@@ -2440,7 +2541,24 @@ +@@ -2441,7 +2544,24 @@ ast_cli(a->fd, "No channel named '%s' found in conference %s\n", a->argv[3], a->argv[2]); return -1; } @@ -267,7 +263,7 @@ diff -ru asterisk-12.1.0.orig/apps/app_confbridge.c asterisk-12.1.0/apps/app_con return 0; } -@@ -2469,7 +2587,7 @@ +@@ -2470,7 +2590,7 @@ return CLI_SHOWUSAGE; } @@ -276,7 +272,7 @@ diff -ru asterisk-12.1.0.orig/apps/app_confbridge.c asterisk-12.1.0/apps/app_con return CLI_SUCCESS; } -@@ -2499,7 +2617,53 @@ +@@ -2500,7 +2620,53 @@ return CLI_SHOWUSAGE; } @@ -331,7 +327,7 @@ diff -ru asterisk-12.1.0.orig/apps/app_confbridge.c asterisk-12.1.0/apps/app_con return CLI_SUCCESS; } -@@ -2654,6 +2818,8 @@ +@@ -2655,6 +2821,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."), @@ -340,7 +336,7 @@ diff -ru asterisk-12.1.0.orig/apps/app_confbridge.c asterisk-12.1.0/apps/app_con 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"), -@@ -2804,10 +2970,11 @@ +@@ -2805,10 +2973,11 @@ return 0; } @@ -353,7 +349,7 @@ diff -ru asterisk-12.1.0.orig/apps/app_confbridge.c asterisk-12.1.0/apps/app_con int res = 0; if (ast_strlen_zero(conference_name)) { -@@ -2823,7 +2990,7 @@ +@@ -2824,7 +2993,7 @@ return 0; } @@ -362,7 +358,7 @@ diff -ru asterisk-12.1.0.orig/apps/app_confbridge.c asterisk-12.1.0/apps/app_con if (res == -1) { astman_send_error(s, m, "No Conference by that name found."); -@@ -2833,17 +3000,41 @@ +@@ -2834,17 +3003,41 @@ return 0; } @@ -407,7 +403,7 @@ diff -ru asterisk-12.1.0.orig/apps/app_confbridge.c asterisk-12.1.0/apps/app_con } static int action_lock_unlock_helper(struct mansession *s, const struct message *m, int lock) -@@ -3196,6 +3387,8 @@ +@@ -3197,6 +3390,8 @@ ast_manager_unregister("ConfbridgeListRooms"); ast_manager_unregister("ConfbridgeMute"); ast_manager_unregister("ConfbridgeUnmute"); @@ -416,7 +412,7 @@ diff -ru asterisk-12.1.0.orig/apps/app_confbridge.c asterisk-12.1.0/apps/app_con ast_manager_unregister("ConfbridgeKick"); ast_manager_unregister("ConfbridgeUnlock"); ast_manager_unregister("ConfbridgeLock"); -@@ -3265,6 +3458,8 @@ +@@ -3266,6 +3461,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); @@ -425,9 +421,9 @@ diff -ru asterisk-12.1.0.orig/apps/app_confbridge.c asterisk-12.1.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.1.0.orig/apps/confbridge/conf_config_parser.c asterisk-12.1.0/apps/confbridge/conf_config_parser.c ---- asterisk-12.1.0.orig/apps/confbridge/conf_config_parser.c 2014-03-04 12:28:27.970906507 +0000 -+++ asterisk-12.1.0/apps/confbridge/conf_config_parser.c 2014-03-04 12:25:54.998135400 +0000 +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 @@ -862,6 +862,10 @@ ast_string_field_set(sounds, muted, sound_file); } else if (!strcasecmp(sound_name, "sound_unmuted")) { @@ -439,7 +435,7 @@ diff -ru asterisk-12.1.0.orig/apps/confbridge/conf_config_parser.c asterisk-12.1 } else if (!strcasecmp(sound_name, "sound_there_are")) { ast_string_field_set(sounds, thereare, sound_file); } else if (!strcasecmp(sound_name, "sound_other_in_party")) { -@@ -1001,6 +1005,7 @@ +@@ -1014,6 +1018,7 @@ switch (id) { case MENU_ACTION_NOOP: case MENU_ACTION_TOGGLE_MUTE: @@ -447,7 +443,7 @@ diff -ru asterisk-12.1.0.orig/apps/confbridge/conf_config_parser.c asterisk-12.1 case MENU_ACTION_INCREASE_LISTENING: case MENU_ACTION_DECREASE_LISTENING: case MENU_ACTION_INCREASE_TALKING: -@@ -1291,6 +1296,9 @@ +@@ -1304,6 +1309,9 @@ ast_cli(a->fd,"Start Muted: %s\n", u_profile.flags & USER_OPT_STARTMUTED? "true" : "false"); @@ -457,7 +453,7 @@ diff -ru asterisk-12.1.0.orig/apps/confbridge/conf_config_parser.c asterisk-12.1 ast_cli(a->fd,"MOH When Empty: %s\n", u_profile.flags & USER_OPT_MUSICONHOLD ? "enabled" : "disabled"); -@@ -1494,6 +1502,8 @@ +@@ -1507,6 +1515,8 @@ ast_cli(a->fd,"sound_kicked: %s\n", conf_get_sound(CONF_SOUND_KICKED, b_profile.sounds)); ast_cli(a->fd,"sound_muted: %s\n", conf_get_sound(CONF_SOUND_MUTED, b_profile.sounds)); ast_cli(a->fd,"sound_unmuted: %s\n", conf_get_sound(CONF_SOUND_UNMUTED, b_profile.sounds)); @@ -466,7 +462,7 @@ diff -ru asterisk-12.1.0.orig/apps/confbridge/conf_config_parser.c asterisk-12.1 ast_cli(a->fd,"sound_there_are: %s\n", conf_get_sound(CONF_SOUND_THERE_ARE, b_profile.sounds)); ast_cli(a->fd,"sound_other_in_party: %s\n", conf_get_sound(CONF_SOUND_OTHER_IN_PARTY, b_profile.sounds)); ast_cli(a->fd,"sound_place_into_conference: %s\n", conf_get_sound(CONF_SOUND_PLACE_IN_CONF, b_profile.sounds)); -@@ -1621,6 +1631,9 @@ +@@ -1635,6 +1645,9 @@ case MENU_ACTION_TOGGLE_MUTE: ast_cli(a->fd, "toggle_mute"); break; @@ -476,7 +472,7 @@ diff -ru asterisk-12.1.0.orig/apps/confbridge/conf_config_parser.c asterisk-12.1 case MENU_ACTION_NOOP: ast_cli(a->fd, "no_op"); break; -@@ -1917,6 +1930,7 @@ +@@ -1932,6 +1945,7 @@ aco_option_register(&cfg_info, "admin", ACO_EXACT, user_types, "no", OPT_BOOLFLAG_T, 1, FLDSET(struct user_profile, flags), USER_OPT_ADMIN); aco_option_register(&cfg_info, "marked", ACO_EXACT, user_types, "no", OPT_BOOLFLAG_T, 1, FLDSET(struct user_profile, flags), USER_OPT_MARKEDUSER); aco_option_register(&cfg_info, "startmuted", ACO_EXACT, user_types, "no", OPT_BOOLFLAG_T, 1, FLDSET(struct user_profile, flags), USER_OPT_STARTMUTED); @@ -484,9 +480,9 @@ diff -ru asterisk-12.1.0.orig/apps/confbridge/conf_config_parser.c asterisk-12.1 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.1.0.orig/apps/confbridge/confbridge_manager.c asterisk-12.1.0/apps/confbridge/confbridge_manager.c ---- asterisk-12.1.0.orig/apps/confbridge/confbridge_manager.c 2014-03-04 12:28:27.970906507 +0000 -+++ asterisk-12.1.0/apps/confbridge/confbridge_manager.c 2014-03-04 12:25:54.998135400 +0000 +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 @@ </see-also> </managerEventInstance> @@ -614,9 +610,9 @@ diff -ru asterisk-12.1.0.orig/apps/confbridge/confbridge_manager.c asterisk-12.1 } if (stasis_message_router_add(channel_state_router, confbridge_talking_type(), -diff -ru asterisk-12.1.0.orig/apps/confbridge/include/confbridge.h asterisk-12.1.0/apps/confbridge/include/confbridge.h ---- asterisk-12.1.0.orig/apps/confbridge/include/confbridge.h 2014-03-04 12:28:27.970906507 +0000 -+++ asterisk-12.1.0/apps/confbridge/include/confbridge.h 2014-03-04 12:25:54.998135400 +0000 +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 @@ -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. */ @@ -642,7 +638,7 @@ diff -ru asterisk-12.1.0.orig/apps/confbridge/include/confbridge.h asterisk-12.1 CONF_SOUND_ONLY_ONE, CONF_SOUND_THERE_ARE, CONF_SOUND_OTHER_IN_PARTY, -@@ -170,6 +174,8 @@ +@@ -171,6 +175,8 @@ AST_STRING_FIELD(kicked); AST_STRING_FIELD(muted); AST_STRING_FIELD(unmuted); @@ -651,7 +647,7 @@ diff -ru asterisk-12.1.0.orig/apps/confbridge/include/confbridge.h asterisk-12.1 AST_STRING_FIELD(onlyone); AST_STRING_FIELD(thereare); AST_STRING_FIELD(otherinparty); -@@ -344,6 +350,8 @@ +@@ -346,6 +352,8 @@ struct conf_menu_entry *menu_entry, struct conf_menu *menu); @@ -660,10 +656,10 @@ diff -ru asterisk-12.1.0.orig/apps/confbridge/include/confbridge.h asterisk-12.1 /*! \brief Looks to see if sound file is stored in bridge profile sounds, if not * default sound is provided.*/ -diff -ru asterisk-12.1.0.orig/bridges/bridge_softmix.c asterisk-12.1.0/bridges/bridge_softmix.c ---- asterisk-12.1.0.orig/bridges/bridge_softmix.c 2014-03-04 12:28:27.970906507 +0000 -+++ asterisk-12.1.0/bridges/bridge_softmix.c 2014-03-04 12:38:29.791808091 +0000 -@@ -923,16 +923,23 @@ +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 +@@ -926,16 +926,23 @@ ast_mutex_lock(&sc->lock); @@ -696,9 +692,9 @@ diff -ru asterisk-12.1.0.orig/bridges/bridge_softmix.c asterisk-12.1.0/bridges/b ast_mutex_unlock(&sc->lock); -diff -ru asterisk-12.1.0.orig/configs/confbridge.conf.sample asterisk-12.1.0/configs/confbridge.conf.sample ---- asterisk-12.1.0.orig/configs/confbridge.conf.sample 2014-03-04 12:28:27.970906507 +0000 -+++ asterisk-12.1.0/configs/confbridge.conf.sample 2014-03-04 12:25:54.998135400 +0000 +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 @@ -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. @@ -716,7 +712,7 @@ diff -ru asterisk-12.1.0.orig/configs/confbridge.conf.sample asterisk-12.1.0/con ;sound_only_person ; The sound played when the user is the only person in the conference. ;sound_only_one ; The sound played to a user when there is only one other ; person is in the conference. -@@ -275,6 +278,8 @@ +@@ -278,6 +281,8 @@ ; using the '&' character as a delimiter. ; toggle_mute ; Toggle turning on and off mute. Mute will make the user silent ; to everyone else, but the user will still be able to listen in. @@ -725,9 +721,9 @@ diff -ru asterisk-12.1.0.orig/configs/confbridge.conf.sample asterisk-12.1.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.1.0.orig/include/asterisk/bridge_features.h asterisk-12.1.0/include/asterisk/bridge_features.h ---- asterisk-12.1.0.orig/include/asterisk/bridge_features.h 2014-03-04 12:28:27.970906507 +0000 -+++ asterisk-12.1.0/include/asterisk/bridge_features.h 2014-03-04 12:25:54.998135400 +0000 +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 @@ unsigned int usable:1; /*! TRUE if the channel/bridge is muted. */ @@ -737,10 +733,10 @@ diff -ru asterisk-12.1.0.orig/include/asterisk/bridge_features.h asterisk-12.1.0 /*! TRUE if DTMF should be passed into the bridge tech. */ unsigned int dtmf_passthrough:1; }; -diff -ru asterisk-12.1.0.orig/main/bridge_channel.c asterisk-12.1.0/main/bridge_channel.c ---- asterisk-12.1.0.orig/main/bridge_channel.c 2014-03-04 12:28:27.974239900 +0000 -+++ asterisk-12.1.0/main/bridge_channel.c 2014-03-04 12:40:23.980543471 +0000 -@@ -549,7 +549,21 @@ +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 @@ return 0; } |