aboutsummaryrefslogtreecommitdiffstats
path: root/main/asterisk/ASTERISK-19109.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/asterisk/ASTERISK-19109.patch')
-rw-r--r--main/asterisk/ASTERISK-19109.patch126
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;
}