diff options
author | Timo Teräs <timo.teras@iki.fi> | 2014-10-31 10:48:26 +0200 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2014-10-31 10:50:31 +0200 |
commit | 538699c853816755c66c15f39f5d783005e1480a (patch) | |
tree | d9d076b8e15b1dd592b7f048fc1a5a7dcff34281 /main/asterisk/ASTERISK-19109.patch | |
parent | 1e50aa00c309d65fcaafd9f2491492cb3766780a (diff) | |
download | aports-538699c853816755c66c15f39f5d783005e1480a.tar.bz2 aports-538699c853816755c66c15f39f5d783005e1480a.tar.xz |
main/asterisk: upgrade to 13.0.0
Diffstat (limited to 'main/asterisk/ASTERISK-19109.patch')
-rw-r--r-- | main/asterisk/ASTERISK-19109.patch | 181 |
1 files changed, 94 insertions, 87 deletions
diff --git a/main/asterisk/ASTERISK-19109.patch b/main/asterisk/ASTERISK-19109.patch index 2e812f78e0..f4399a0d4e 100644 --- a/main/asterisk/ASTERISK-19109.patch +++ b/main/asterisk/ASTERISK-19109.patch @@ -1,6 +1,6 @@ -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 +diff -ru asterisk-13.0.0.orig/CHANGES asterisk-13.0.0/CHANGES +--- asterisk-13.0.0.orig/CHANGES 2014-10-31 09:25:50.097163496 -0200 ++++ asterisk-13.0.0/CHANGES 2014-10-31 09:23:05.690495201 -0200 @@ -8,6 +8,10 @@ === ============================================================================== @@ -10,12 +10,12 @@ diff -ru asterisk-12.6.0.orig/CHANGES asterisk-12.6.0/CHANGES + and ConfBridge DTMF actions to toggle the deaf state. + ------------------------------------------------------------------------------ - --- Functionality changes from Asterisk 12.4.0 to Asterisk 12.5.0 ------------ + --- Functionality changes from Asterisk 12 to Asterisk 13 -------------------- ------------------------------------------------------------------------------ -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 @@ +diff -ru asterisk-13.0.0.orig/apps/app_confbridge.c asterisk-13.0.0/apps/app_confbridge.c +--- asterisk-13.0.0.orig/apps/app_confbridge.c 2014-10-31 09:25:50.097163496 -0200 ++++ asterisk-13.0.0/apps/app_confbridge.c 2014-10-31 09:29:06.293832109 -0200 +@@ -234,6 +234,30 @@ <description> </description> </manager> @@ -46,7 +46,7 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_con <manager name="ConfbridgeKick" language="en_US"> <synopsis> Kick a Confbridge user. -@@ -318,6 +342,13 @@ +@@ -333,6 +357,13 @@ CONF_RECORD_STOP, }; @@ -60,7 +60,7 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_con /*! \brief Container to hold all conference bridges in progress */ struct ao2_container *conference_bridges; -@@ -389,6 +420,10 @@ +@@ -404,6 +435,10 @@ return S_OR(custom_sounds->muted, "conf-muted"); case CONF_SOUND_UNMUTED: return S_OR(custom_sounds->unmuted, "conf-unmuted"); @@ -71,24 +71,24 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_con case CONF_SOUND_ONLY_ONE: return S_OR(custom_sounds->onlyone, "conf-onlyone"); case CONF_SOUND_THERE_ARE: -@@ -539,6 +574,16 @@ +@@ -554,6 +589,16 @@ ast_json_unref(json_object); } -+static void send_deafen_event(struct ast_channel *chan, struct confbridge_conference *conference) ++static void send_deafen_event(struct confbridge_user *user, struct confbridge_conference *conference) +{ -+ send_conf_stasis(conference, chan, confbridge_deafen_type(), NULL, 1); ++ send_conf_stasis(conference, user->chan, confbridge_deafen_type(), NULL, 1); +} + -+static void send_undeafen_event(struct ast_channel *chan, struct confbridge_conference *conference) ++static void send_undeafen_event(struct confbridge_user *user, struct confbridge_conference *conference) +{ -+ send_conf_stasis(conference, chan, confbridge_undeafen_type(), NULL, 1); ++ send_conf_stasis(conference, user->chan, confbridge_undeafen_type(), NULL, 1); +} + static void set_rec_filename(struct confbridge_conference *conference, struct ast_str **filename, int is_new) { char *rec_file = conference->b_profile.rec_file; -@@ -1697,6 +1742,11 @@ +@@ -1734,6 +1779,11 @@ /* Set user level mute request. */ user.muted = 1; } @@ -100,7 +100,7 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_con /* Look for a conference bridge matching the provided name */ if (!(conference = join_conference_bridge(args.conf_name, &user))) { -@@ -1885,6 +1935,30 @@ +@@ -1928,6 +1978,30 @@ return 0; } @@ -118,9 +118,9 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_con + user->b_profile.name, + ast_channel_name(chan)); + if (user->features.deaf) { -+ send_deafen_event(chan, conference); ++ send_deafen_event(user, conference); + } else { -+ send_undeafen_event(chan, conference); ++ send_undeafen_event(user, conference); + } + return ast_stream_and_wait(chan, (user->features.deaf ? + conf_get_sound(CONF_SOUND_DEAFENED, user->b_profile.sounds) : @@ -131,7 +131,7 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.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); -@@ -2071,6 +2145,11 @@ +@@ -2115,6 +2189,11 @@ case MENU_ACTION_PARTICIPANT_COUNT: announce_user_count(conference, user); break; @@ -143,7 +143,7 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_con case MENU_ACTION_PLAYBACK: if (!stop_prompts) { res |= action_playback(bridge_channel, menu_action->data.playback_file); -@@ -2446,38 +2525,65 @@ +@@ -2499,38 +2578,65 @@ } /* \internal @@ -171,9 +171,6 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_con conference->b_profile.name, ast_channel_name(user->chan)); - if (mute) { -- send_mute_event(user, conference); -- } else { -- send_unmute_event(user, conference); +} + +/* \internal @@ -187,25 +184,26 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_con + 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); ++ send_deafen_event(user, 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); ++ send_undeafen_event(user, 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); + send_mute_event(user, 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); + send_unmute_event(user, conference); + break; } } @@ -225,7 +223,7 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_con { RAII_VAR(struct confbridge_conference *, conference, NULL, ao2_cleanup); struct confbridge_user *user; -@@ -2497,7 +2603,7 @@ +@@ -2550,7 +2656,7 @@ strlen(chan_name)); if (match || all || (participants && !ast_test_flag(&user->u_profile, USER_OPT_ADMIN))) { @@ -234,7 +232,7 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_con res = 0; if (match) { return res; -@@ -2510,7 +2616,7 @@ +@@ -2563,7 +2669,7 @@ strlen(chan_name)); if (match || all || (participants && !ast_test_flag(&user->u_profile, USER_OPT_ADMIN))) { @@ -243,7 +241,7 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_con res = 0; if (match) { return res; -@@ -2522,9 +2628,10 @@ +@@ -2575,9 +2681,10 @@ return res; } @@ -256,7 +254,7 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_con if (res == -1) { ast_cli(a->fd, "No conference bridge named '%s' found!\n", a->argv[2]); -@@ -2537,7 +2644,24 @@ +@@ -2590,7 +2697,24 @@ } return -1; } @@ -282,7 +280,7 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_con return 0; } -@@ -2567,7 +2691,7 @@ +@@ -2620,7 +2744,7 @@ return CLI_SHOWUSAGE; } @@ -291,7 +289,7 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_con return CLI_SUCCESS; } -@@ -2598,7 +2722,53 @@ +@@ -2651,7 +2775,53 @@ return CLI_SHOWUSAGE; } @@ -346,7 +344,7 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_con return CLI_SUCCESS; } -@@ -2753,6 +2923,8 @@ +@@ -2806,6 +2976,8 @@ AST_CLI_DEFINE(handle_cli_confbridge_kick, "Kick participants out of conference bridges."), AST_CLI_DEFINE(handle_cli_confbridge_mute, "Mute participants."), AST_CLI_DEFINE(handle_cli_confbridge_unmute, "Unmute participants."), @@ -355,7 +353,7 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.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"), -@@ -2905,10 +3077,11 @@ +@@ -2958,10 +3130,11 @@ return 0; } @@ -368,7 +366,7 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_con int res = 0; if (ast_strlen_zero(conference_name)) { -@@ -2924,7 +3097,7 @@ +@@ -2977,7 +3150,7 @@ return 0; } @@ -377,7 +375,7 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_con if (res == -1) { astman_send_error(s, m, "No Conference by that name found."); -@@ -2934,17 +3107,41 @@ +@@ -2987,17 +3160,41 @@ return 0; } @@ -422,7 +420,7 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_con } static int action_lock_unlock_helper(struct mansession *s, const struct message *m, int lock) -@@ -3297,6 +3494,8 @@ +@@ -3350,6 +3547,8 @@ ast_manager_unregister("ConfbridgeListRooms"); ast_manager_unregister("ConfbridgeMute"); ast_manager_unregister("ConfbridgeUnmute"); @@ -431,7 +429,7 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.0/apps/app_con ast_manager_unregister("ConfbridgeKick"); ast_manager_unregister("ConfbridgeUnlock"); ast_manager_unregister("ConfbridgeLock"); -@@ -3366,6 +3565,8 @@ +@@ -3419,6 +3618,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); @@ -440,10 +438,14 @@ diff -ru asterisk-12.6.0.orig/apps/app_confbridge.c asterisk-12.6.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.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 @@ +Binary files asterisk-13.0.0.orig/apps/app_confbridge.o and asterisk-13.0.0/apps/app_confbridge.o differ +Binary files asterisk-13.0.0.orig/apps/app_confbridge.so and asterisk-13.0.0/apps/app_confbridge.so differ +Binary files asterisk-13.0.0.orig/apps/app_meetme.o and asterisk-13.0.0/apps/app_meetme.o differ +Binary files asterisk-13.0.0.orig/apps/app_meetme.so and asterisk-13.0.0/apps/app_meetme.so differ +diff -ru asterisk-13.0.0.orig/apps/confbridge/conf_config_parser.c asterisk-13.0.0/apps/confbridge/conf_config_parser.c +--- asterisk-13.0.0.orig/apps/confbridge/conf_config_parser.c 2014-10-31 09:25:50.097163496 -0200 ++++ asterisk-13.0.0/apps/confbridge/conf_config_parser.c 2014-10-31 09:23:05.690495201 -0200 +@@ -869,6 +869,10 @@ ast_string_field_set(sounds, muted, sound_file); } else if (!strcasecmp(sound_name, "sound_unmuted")) { ast_string_field_set(sounds, unmuted, sound_file); @@ -454,7 +456,7 @@ diff -ru asterisk-12.6.0.orig/apps/confbridge/conf_config_parser.c asterisk-12.6 } 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")) { -@@ -1014,6 +1018,7 @@ +@@ -1068,6 +1072,7 @@ switch (id) { case MENU_ACTION_NOOP: case MENU_ACTION_TOGGLE_MUTE: @@ -462,7 +464,7 @@ diff -ru asterisk-12.6.0.orig/apps/confbridge/conf_config_parser.c asterisk-12.6 case MENU_ACTION_INCREASE_LISTENING: case MENU_ACTION_DECREASE_LISTENING: case MENU_ACTION_INCREASE_TALKING: -@@ -1304,6 +1309,9 @@ +@@ -1358,6 +1363,9 @@ ast_cli(a->fd,"Start Muted: %s\n", u_profile.flags & USER_OPT_STARTMUTED? "true" : "false"); @@ -472,7 +474,7 @@ diff -ru asterisk-12.6.0.orig/apps/confbridge/conf_config_parser.c asterisk-12.6 ast_cli(a->fd,"MOH When Empty: %s\n", u_profile.flags & USER_OPT_MUSICONHOLD ? "enabled" : "disabled"); -@@ -1507,6 +1515,8 @@ +@@ -1562,6 +1570,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)); @@ -481,7 +483,7 @@ diff -ru asterisk-12.6.0.orig/apps/confbridge/conf_config_parser.c asterisk-12.6 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)); -@@ -1635,6 +1645,9 @@ +@@ -1690,6 +1700,9 @@ case MENU_ACTION_TOGGLE_MUTE: ast_cli(a->fd, "toggle_mute"); break; @@ -491,7 +493,7 @@ diff -ru asterisk-12.6.0.orig/apps/confbridge/conf_config_parser.c asterisk-12.6 case MENU_ACTION_NOOP: ast_cli(a->fd, "no_op"); break; -@@ -1932,6 +1945,7 @@ +@@ -2063,6 +2076,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); @@ -499,9 +501,9 @@ diff -ru asterisk-12.6.0.orig/apps/confbridge/conf_config_parser.c asterisk-12.6 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.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 +diff -ru asterisk-13.0.0.orig/apps/confbridge/confbridge_manager.c asterisk-13.0.0/apps/confbridge/confbridge_manager.c +--- asterisk-13.0.0.orig/apps/confbridge/confbridge_manager.c 2014-10-31 09:25:50.097163496 -0200 ++++ asterisk-13.0.0/apps/confbridge/confbridge_manager.c 2014-10-31 09:23:05.690495201 -0200 @@ -189,6 +189,38 @@ </see-also> </managerEventInstance> @@ -629,18 +631,18 @@ diff -ru asterisk-12.6.0.orig/apps/confbridge/confbridge_manager.c asterisk-12.6 } if (stasis_message_router_add(channel_state_router, confbridge_talking_type(), -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 */ +diff -ru asterisk-13.0.0.orig/apps/confbridge/include/confbridge.h asterisk-13.0.0/apps/confbridge/include/confbridge.h +--- asterisk-13.0.0.orig/apps/confbridge/include/confbridge.h 2014-10-31 09:25:50.097163496 -0200 ++++ asterisk-13.0.0/apps/confbridge/include/confbridge.h 2014-10-31 09:23:05.690495201 -0200 +@@ -60,6 +60,7 @@ USER_OPT_ANNOUNCEUSERCOUNTALL = (1 << 14), /*!< Sets if the number of users should be announced to everyone. */ USER_OPT_JITTERBUFFER = (1 << 15), /*!< Places a jitterbuffer on the user. */ -+ USER_OPT_STARTDEAF = (1 << 16), /*!< Set if the caller should be initially set deaf */ + USER_OPT_ANNOUNCE_JOIN_LEAVE_REVIEW = (1 << 16), /*!< modifies ANNOUNCE_JOIN_LEAVE - user reviews the recording before continuing */ ++ USER_OPT_STARTDEAF = (1 << 17), /*!< Set if the caller should be initially set deaf */ }; enum bridge_profile_flags { -@@ -70,6 +71,7 @@ +@@ -72,6 +73,7 @@ enum conf_menu_action_id { MENU_ACTION_TOGGLE_MUTE = 1, @@ -648,7 +650,7 @@ diff -ru asterisk-12.6.0.orig/apps/confbridge/include/confbridge.h asterisk-12.6 MENU_ACTION_PLAYBACK, MENU_ACTION_PLAYBACK_AND_CONTINUE, MENU_ACTION_INCREASE_LISTENING, -@@ -144,6 +146,8 @@ +@@ -146,6 +148,8 @@ CONF_SOUND_KICKED, CONF_SOUND_MUTED, CONF_SOUND_UNMUTED, @@ -657,7 +659,7 @@ diff -ru asterisk-12.6.0.orig/apps/confbridge/include/confbridge.h asterisk-12.6 CONF_SOUND_ONLY_ONE, CONF_SOUND_THERE_ARE, CONF_SOUND_OTHER_IN_PARTY, -@@ -171,6 +175,8 @@ +@@ -173,6 +177,8 @@ AST_STRING_FIELD(kicked); AST_STRING_FIELD(muted); AST_STRING_FIELD(unmuted); @@ -666,7 +668,7 @@ diff -ru asterisk-12.6.0.orig/apps/confbridge/include/confbridge.h asterisk-12.6 AST_STRING_FIELD(onlyone); AST_STRING_FIELD(thereare); AST_STRING_FIELD(otherinparty); -@@ -346,6 +352,8 @@ +@@ -365,6 +371,8 @@ struct conf_menu_entry *menu_entry, struct conf_menu *menu); @@ -675,17 +677,16 @@ diff -ru asterisk-12.6.0.orig/apps/confbridge/include/confbridge.h asterisk-12.6 /*! \brief Looks to see if sound file is stored in bridge profile sounds, if not * default sound is provided.*/ -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 @@ +diff -ru asterisk-13.0.0.orig/bridges/bridge_softmix.c asterisk-13.0.0/bridges/bridge_softmix.c +--- asterisk-13.0.0.orig/bridges/bridge_softmix.c 2014-10-31 09:25:50.097163496 -0200 ++++ asterisk-13.0.0/bridges/bridge_softmix.c 2014-10-31 09:23:05.690495201 -0200 +@@ -942,15 +942,21 @@ ast_mutex_lock(&sc->lock); - /* Make SLINEAR write frame from local buffer */ -- if (sc->write_frame.subclass.format.id != cur_slin_id) { -- ast_format_set(&sc->write_frame.subclass.format, cur_slin_id, 0); -- } +- ao2_t_replace(sc->write_frame.subclass.format, cur_slin, +- "Replace softmix channel slin format"); - sc->write_frame.datalen = softmix_datalen; - sc->write_frame.samples = softmix_samples; - memcpy(sc->final_buf, buf, softmix_datalen); @@ -695,9 +696,8 @@ diff -ru asterisk-12.6.0.orig/bridges/bridge_softmix.c asterisk-12.6.0/bridges/b + } else { + /* Make SLINEAR write frame from local buffer */ + sc->write_frame.frametype = AST_FRAME_VOICE; -+ if (sc->write_frame.subclass.format.id != cur_slin_id) { -+ ast_format_set(&sc->write_frame.subclass.format, cur_slin_id, 0); -+ } ++ ao2_t_replace(sc->write_frame.subclass.format, cur_slin, ++ "Replace softmix channel slin format"); + sc->write_frame.datalen = softmix_datalen; + sc->write_frame.samples = softmix_samples; + memcpy(sc->final_buf, buf, softmix_datalen); @@ -705,15 +705,14 @@ diff -ru asterisk-12.6.0.orig/bridges/bridge_softmix.c asterisk-12.6.0/bridges/b - /* process the softmix channel's new write audio */ - softmix_process_write_audio(&trans_helper, ast_channel_rawwriteformat(bridge_channel->chan), sc); + /* process the softmix channel's new write audio */ -+ softmix_process_write_audio(&trans_helper, -+ ast_channel_rawwriteformat(bridge_channel->chan), sc); ++ softmix_process_write_audio(&trans_helper, ast_channel_rawwriteformat(bridge_channel->chan), sc); + } ast_mutex_unlock(&sc->lock); -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 +diff -ru asterisk-13.0.0.orig/configs/samples/confbridge.conf.sample asterisk-13.0.0/configs/samples/confbridge.conf.sample +--- asterisk-13.0.0.orig/configs/samples/confbridge.conf.sample 2014-10-31 09:25:50.100496828 -0200 ++++ asterisk-13.0.0/configs/samples/confbridge.conf.sample 2014-10-31 09:23:05.693828534 -0200 @@ -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. @@ -722,7 +721,7 @@ diff -ru asterisk-12.6.0.orig/configs/confbridge.conf.sample asterisk-12.6.0/con ;music_on_hold_when_empty=yes ; Sets whether MOH should be played when only ; one person is in the conference or when the ; the user is waiting on a marked user to enter -@@ -217,6 +218,8 @@ +@@ -222,6 +223,8 @@ ;sound_kicked ; The sound played to a user who has been kicked from the conference. ;sound_muted ; The sound played when the mute option it toggled on. ;sound_unmuted ; The sound played when the mute option it toggled off. @@ -731,7 +730,7 @@ diff -ru asterisk-12.6.0.orig/configs/confbridge.conf.sample asterisk-12.6.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. -@@ -278,6 +281,8 @@ +@@ -283,6 +286,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. @@ -740,9 +739,9 @@ diff -ru asterisk-12.6.0.orig/configs/confbridge.conf.sample asterisk-12.6.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.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 +diff -ru asterisk-13.0.0.orig/include/asterisk/bridge_features.h asterisk-13.0.0/include/asterisk/bridge_features.h +--- asterisk-13.0.0.orig/include/asterisk/bridge_features.h 2014-10-31 09:25:50.100496828 -0200 ++++ asterisk-13.0.0/include/asterisk/bridge_features.h 2014-10-31 09:23:05.693828534 -0200 @@ -273,6 +273,8 @@ unsigned int usable:1; /*! TRUE if the channel/bridge is muted. */ @@ -752,10 +751,18 @@ diff -ru asterisk-12.6.0.orig/include/asterisk/bridge_features.h asterisk-12.6.0 /*! TRUE if DTMF should be passed into the bridge tech. */ unsigned int dtmf_passthrough:1; }; -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 @@ +diff -ru asterisk-13.0.0.orig/main/bridge_channel.c asterisk-13.0.0/main/bridge_channel.c +--- asterisk-13.0.0.orig/main/bridge_channel.c 2014-10-31 09:25:50.100496828 -0200 ++++ asterisk-13.0.0/main/bridge_channel.c 2014-10-31 09:35:50.917169437 -0200 +@@ -43,6 +43,7 @@ + #include "asterisk/app.h" + #include "asterisk/pbx.h" + #include "asterisk/channel.h" ++#include "asterisk/format_cache.h" + #include "asterisk/timing.h" + #include "asterisk/bridge.h" + #include "asterisk/bridge_channel.h" +@@ -910,7 +911,21 @@ return 0; } @@ -765,11 +772,11 @@ diff -ru asterisk-12.6.0.orig/main/bridge_channel.c asterisk-12.6.0/main/bridge_ + short buf[fr->samples]; + struct ast_frame sframe = { + .frametype = AST_FRAME_VOICE, ++ .subclass.format = ast_format_slin, + .data.ptr = buf, + .samples = fr->samples, + .datalen = sizeof(buf), + }; -+ ast_format_set(&sframe.subclass.format, AST_FORMAT_SLINEAR, 0); + memset(buf, 0, sizeof(buf)); + dup = ast_frdup(&sframe); + } else { |