summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--UPGRADE-11.txt24
-rw-r--r--channels/chan_sip.c13
2 files changed, 33 insertions, 4 deletions
diff --git a/UPGRADE-11.txt b/UPGRADE-11.txt
index de880408f..d65151a19 100644
--- a/UPGRADE-11.txt
+++ b/UPGRADE-11.txt
@@ -20,6 +20,30 @@
===
===========================================================
+From 11.4 to 11.5:
+* The default settings for chan_sip are now overriden properly by the general
+ settings in sip.conf. Please look over your settings upon upgrading.
+
+From 11.3 to 11.4:
+* Added the 'n' option to MeetMe to prevent application of the DENOISE function
+ to a channel joining a conference. Some channel drivers that vary the number
+ of audio samples in a voice frame will experience significant quality problems
+ if a denoiser is attached to the channel; this option gives them the ability
+ to remove the denoiser without having to unload func_speex.
+
+* The Registry AMI event for SIP registrations will now always include the
+ Username field. A previous bug fix missed an instance where it was not
+ included; that has been corrected in this release.
+
+From 11.2.0 to 11.2.1:
+* Asterisk would previously not output certain error messages when a remote
+ console attempted to connect to Asterisk and no instance of Asterisk was
+ running. This error message is displayed on stderr; as a result, some
+ initialization scripts that used remote consoles to test for the presence
+ of a running Asterisk instance started to display erroneous error messages.
+ The init.d scripts and the safe_asterisk have been updated in the contrib
+ folder to account for this.
+
From 11.2 to 11.3:
* Now by default, when Asterisk is installed in a path other than /usr, the
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 9b6b97ff7..3d1800dbb 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -31402,7 +31402,8 @@ static int reload_config(enum channelreloadreason reason)
struct sip_peer *peer;
char *cat, *stringp, *context, *oldregcontext;
char newcontexts[AST_MAX_CONTEXT], oldcontexts[AST_MAX_CONTEXT];
- struct ast_flags dummy[3];
+ struct ast_flags mask[3] = {{0}};
+ struct ast_flags setflags[3] = {{0}};
struct ast_flags config_flags = { (reason == CHANNEL_MODULE_LOAD || reason == CHANNEL_ACL_RELOAD) ? 0 : ast_test_flag(&global_flags[1], SIP_PAGE2_RTCACHEFRIENDS) ? 0 : CONFIG_FLAG_FILEUNCHANGED };
int auto_sip_domains = FALSE;
struct ast_sockaddr old_bindaddr = bindaddr;
@@ -31647,13 +31648,12 @@ static int reload_config(enum channelreloadreason reason)
ast_clear_flag(&global_flags[1], SIP_PAGE2_TEXTSUPPORT);
ast_clear_flag(&global_flags[1], SIP_PAGE2_IGNORESDPVERSION);
-
/* Read the [general] config section of sip.conf (or from realtime config) */
for (v = ast_variable_browse(cfg, "general"); v; v = v->next) {
- if (handle_common_options(&global_flags[0], &dummy[0], v)) {
+ if (handle_common_options(&setflags[0], &mask[0], v)) {
continue;
}
- if (handle_t38_options(&global_flags[0], &dummy[0], v, &global_t38_maxdatagram)) {
+ if (handle_t38_options(&setflags[0], &mask[0], v, &global_t38_maxdatagram)) {
continue;
}
/* handle jb conf */
@@ -32199,6 +32199,11 @@ static int reload_config(enum channelreloadreason reason)
}
}
+ /* Override global defaults if setting found in general section */
+ ast_copy_flags(&global_flags[0], &setflags[0], mask[0].flags);
+ ast_copy_flags(&global_flags[1], &setflags[1], mask[1].flags);
+ ast_copy_flags(&global_flags[2], &setflags[2], mask[2].flags);
+
/* For backwards compatibility the corresponding registration timer value is used if subscription timer value isn't set by configuration */
if (!min_subexpiry_set) {
min_subexpiry = min_expiry;