Update for certified/16.8-cert4-rc3

changes/50/15050/1 certified/16.8-cert4-rc3
Asterisk Development Team 6 years ago
parent d5df3b95c8
commit cb9f1759fb

@ -1 +1 @@
certified/16.8-cert4-rc2
certified/16.8-cert4-rc3

@ -1,3 +1,539 @@
2020-10-06 22:53 +0000 Asterisk Development Team <asteriskteam@digium.com>
* asterisk certified/16.8-cert4-rc3 Released.
2020-09-22 05:05 +0000 [d5df3b95c8] Joshua C. Colp <jcolp@sangoma.com>
* res_pjsip_session: Fix stream name memory leak.
When constructing a stream name based on the media type
and position the allocated name was not being freed
causing a leak.
Change-Id: I52510863b24a2f531f0a55b440bb2c81844029de
2020-09-22 05:13 +0000 [3e54af3afb] Joshua C. Colp <jcolp@sangoma.com>
* res_pjsip_session: Fix session reference leak.
The ast_sip_dialog_get_session function returns the session
with reference count increased. This was not taken into
account and was causing sessions to remain around when they
should not be.
ASTERISK-29089
Change-Id: I430fa721b0a824311a59effec6056e9ec528e3e8
2020-09-17 11:40 +0000 [f74ecc4498] George Joseph <gjoseph@digium.com>
* logger.h: Fix ast_trace to respect scope_level
ast_trace() was always emitting messages when it's level was set to -1
because it was ignoring scope_level.
Change-Id: I849c8f4f4613899c37f82be0202024e7d117e506
2020-09-17 13:01 +0000 [251c9a1891] George Joseph <gjoseph@digium.com>
* bridge_softmix/sfu_topologies_on_join: Ignore topology change failures
When a channel joins a bridge, we do topology change requests on all
existing channels to add the new participant to them. However the
announcer channel will return an error because it doesn't support
topology in the first place. Unfortunately, there doesn't seem to be a
reliable way to tell if the error is expected or not so the error is
ignored for all channels. If the request fails on a "real" channel,
that channel just won't get the new participant's video.
Change-Id: Ic95db4683f27d224c1869fe887795d6b9fdea4f0
2020-09-11 11:09 +0000 [1620e94af5] George Joseph <gjoseph@digium.com>
* res_pjsip_session: Fix issue with COLP and 491
The recent 491 changes introduced a check to determine if the active
and pending topologies were equal and to suppress the re-invite if they
were. When a re-invite is sent for a COLP-only change, the pending
topology is NULL so that check doesn't happen and the re-invite is
correctly sent. Of course, sending the re-invite sets the pending
topology. If a 491 is received, when we resend the re-invite, the
pending topology is set and since we didn't request a change to the
topology in the first place, pending and active topologies are equal so
the topologies-equal check causes the re-invite to be erroneously
suppressed.
This change checks if the topologies are equal before we run the media
state resolver (which recreates the pending topology) so that when we
do the final topologies-equal check we know if this was a topology
change request. If it wasn't a change request, we don't suppress
the re-invite even though the topologies are equal.
ASTERISK-29014
Change-Id: Iffd7dd0500301156a566119ebde528d1a9573314
2020-08-20 15:09 +0000 [f67c58aa13] George Joseph <gjoseph@digium.com>
* debugging: Add enough to choke a mule
Added to:
* bridges/bridge_softmix.c
* channels/chan_pjsip.c
* include/asterisk/res_pjsip_session.h
* main/channel.c
* res/res_pjsip_session.c
There NO functional changes in this commit.
Change-Id: I06af034d1ff3ea1feb56596fd7bd6d7939dfdcc3
2020-08-20 11:21 +0000 [9e54db24b6] George Joseph <gjoseph@digium.com>
* res_pjsip_session: Handle multi-stream re-invites better
When both Asterisk and a UA send re-invites at the same time, both
send 491 "Transaction in progress" responses to each other and back
off a specified amount of time before retrying. When Asterisk
prepares to send its re-invite, it sets up the session's pending
media state with the new topology it wants, then sends the
re-invite. Unfortunately, when it received the re-invite from the
UA, it partially processed the media in the re-invite and reset
the pending media state before sending the 491 losing the state it
set in its own re-invite.
Asterisk also was not tracking re-invites received while an existing
re-invite was queued resulting in sending stale SDP with missing
or duplicated streams, or no re-invite at all because we erroneously
determined that a re-invite wasn't needed.
There was also an issue in bridge_softmix where we were using a stream
from the wrong topology to determine if a stream was added. This also
caused us to erroneously determine that a re-invite wasn't needed.
Regardless of how the delayed re-invite was triggered, we need to
reconcile the topology that was active at the time the delayed
request was queued, the pending topology of the queued request,
and the topology currently active on the session. To do this we
need a topology resolver AND we need to make stream named unique
so we can accurately tell what a stream has been added or removed
and if we can re-use a slot in the topology.
Summary of changes:
* bridge_softmix:
* We no longer reset the stream name to "removed" in
remove_all_original_streams(). That was causing multiple streams
to have the same name and wrecked the checks for duplicate streams.
* softmix_bridge_stream_sources_update() was checking the old_stream
to see if it had the softmix prefix and not considering the stream
as "new" if it did. If the stream in that slot has something in it
because another re-invite happened, then that slot in old might
have a softmix stream but the same stream in new might actually
be a new one. Now we check the new_stream's name instead of
the old_stream's.
* stream:
* Instead of using plain media type name ("audio", "video", etc) as
the default stream name, we now append the stream position to it
to make it unique. We need to do this so we can distinguish multiple
streams of the same type from each other.
* When we set a stream's state to REMOVED, we no longer reset its
name to "removed" or destroy its metadata. Again, we need to
do this so we can distinguish multiple streams of the same
type from each other.
* res_pjsip_session:
* Added resolve_refresh_media_states() that takes in 3 media states
and creates an up-to-date pending media state that includes the changes
that might have happened while a delayed session refresh was in the
delayed queue.
* Added is_media_state_valid() that checks the consistency of
a media state and returns a true/false value. A valid state has:
* The same number of stream entries as media session entries.
Some media session entries can be NULL however.
* No duplicate streams.
* A valid stream for each non-NULL media session.
* A stream that matches each media session's stream_num
and media type.
* Updated handle_incoming_sdp() to set the stream name to include the
stream position number in the name to make it unique.
* Updated the ast_sip_session_delayed_request structure to include both
the pending and active media states and updated the associated delay
functions to process them.
* Updated sip_session_refresh() to accept both the pending and active
media states that were in effect when the request was originally queued
and to pass them on should the request need to be delayed again.
* Updated sip_session_refresh() to call resolve_refresh_media_states()
and substitute its results for the pending state passed in.
* Updated sip_session_refresh() with additional debugging.
* Updated session_reinvite_on_rx_request() to simply return PJ_FALSE
to pjproject if a transaction is in progress. This stops us from
creating a partial pending media state that would be invalid later on.
* Updated reschedule_reinvite() to clone both the current pending and
active media states and pass them to delay_request() so the resolver
can tell what the original intention of the re-invite was.
* Added a large unit test for the resolver.
ASTERISK-29014
Change-Id: Id3440972943c611a15f652c6c569fa0e4536bfcb
2020-08-31 11:14 +0000 [c2701d8069] Ben Ford <bford@digium.com>
* Bridging: Use a ref to bridge_channel's channel to prevent crash.
There's a race condition with bridging where a bridge can be torn down
causing the bridge_channel's ast_channel to become NULL when it's still
needed. This particular case happened with attended transfers, but the
crash occurred when trying to publish a stasis message. Now, the
bridge_channel is locked, a ref to the ast_channel is obtained, and that
ref is passed down the chain.
Change-Id: Ic48715c0c041615d17d286790ae3e8c61bb28814
2020-08-20 08:32 +0000 [fb78adce21] George Joseph <gjoseph@digium.com>
* stream.c: Added 2 more debugging utils and added pos to stream string
* Added ast_stream_to_stra and ast_stream_topology_to_stra() macros
which are shortcuts for
ast_str_tmp(256, ast_stream_to_str(stream, &STR_TMP))
* Added the stream position to the string representation of the
stream.
* Fixed some formatting in ast_stream_to_str().
Change-Id: Idaf4cb0affa46d4dce58a73a111f35435331cc4b
2020-08-19 07:37 +0000 [d942fe4837] George Joseph <gjoseph@digium.com>
* scope_trace: Added debug messages and added additional macros
The SCOPE_ENTER and SCOPE_EXIT* macros now print debug messages
at the same level as the scope level. This allows the same
messages to be printed to the debug log when AST_DEVMODE
isn't enabled.
Also added a few variants of the SCOPE_EXIT macros that will
also call ast_log instead of ast_debug to make it easier to
use scope tracing and still print error messages.
Change-Id: I7fe55f7ec28069919a0fc0b11a82235ce904cc21
2020-08-14 11:13 +0000 [0430e1b3c3] George Joseph <gjoseph@digium.com>
* logger.c: Added a new log formatter called "plain"
Added a new log formatter called "plain" that always prints
file, function and line number if available (even for verbose
messages) and never prints color control characters. It also
doesn't apply any special formatting for verbose messages.
Most suitable for file output but can be used for other channels
as well.
You use it in logger.conf like so:
debug => [plain]debug
console => [plain]error,warning,debug,notice,pjsip_history
messages => [plain]warning,error,verbose
Change-Id: I4fdfe4089f66ce2f9cb29f3005522090dbb5243d
2020-08-28 09:34 +0000 [950784a446] George Joseph <gjoseph@digium.com>
* ast_coredumper: Fix issues with naming
If you run ast_coredumper --tarball-coredumps in the same directory
as the actual coredump, tar can fail because the link to the
actual coredump becomes recursive. The resulting tarball will
have everything _except_ the coredump (which is usually what
you need)
There's also an issue that the directory name in the tarball
is the same as the coredump so if you extract the tarball the
directory it creates will overwrite the coredump.
So:
* Made the link to the coredump use the absolute path to the
file instead of a relative one. This prevents the recursive
link and allows tar to add the coredump.
* The tarballed directory is now named <coredump>.output instead
of just <coredump> so if you expand the tarball it won't
overwrite the coredump.
Change-Id: I8b3eeb26e09a577c702ff966924bb0a2f9a759ea
2020-08-18 04:36 +0000 [7b1ace9040] Joshua C. Colp <jcolp@sangoma.com>
* res_pjsip_session: Don't aggressively terminate on failed re-INVITE.
Per the RFC when an outgoing re-INVITE is done we should
only terminate the dialog if a 481 or 408 is received.
ASTERISK-29033
Change-Id: I6c3ff513aa41005d02de0396ba820083e9b18503
2020-07-23 14:47 +0000 [d189bf9ae5] George Joseph <gjoseph@digium.com>
* res_pjsip_session: Ensure reused streams have correct bundle group
When a bundled stream is removed, its bundle_group is reset to -1.
If that stream is later reused, the bundle parameters on session
media need to be reset correctly it could mistakenly be rebundled
with a stream that was removed and never reused. Since the removed
stream has no rtp instance, a crash will result.
Change-Id: Ie2b792220f9291587ab5f9fd123145559dba96d7
2020-07-13 04:41 +0000 [b8bb63c82f] Joshua C. Colp <jcolp@sangoma.com>
* pjsip: Add timer refactor patch and timer 0 cancellation.
There have been numerous timer issues over the years which
resulted in Teluu doing a major refactor of the timer
implementation whereby the timer entries themselves are not
trusted. This change backports this refactor which has
been shown to resolve timer crashes.
Additionally another patch has been backported to prevent
timer entries with an internal id of 0 from being canceled.
This would result in the invalid timer id of 0 being placed
into the timer heap causing issues. This is also a backport.
Change-Id: I1ba318b1f153a6dd7458846396e2867282b428e7
(cherry picked from commit 9ce6d46aea3a7ec70fe923a58cb2aafaa1ea64a8)
2020-06-10 17:05 +0000 [5e58fc3939] Kevin Harwell <kharwell@digium.com>
* manager - Add Content-Type parameter to the SendText action
This patch allows a user of AMI to now specify the type of message
content contained within by setting the 'Content-Type' parameter.
Note, the AMI version has been bumped for this change.
ASTERISK-28945 #close
Change-Id: Ibb5315702532c6b954e1498beddc8855fabdf4bb
2020-08-06 12:51 +0000 [4e9e503132] cmaj <chris@penguinpbx.com>
* Makefile: Fix certified version numbers
Adds sed before awk to produce reasonable ASTERISKVERSIONNUM
on certified versions of Asterisk eg. 16.8-cert3 is 160803
instead of the previous 00800.
ASTERISK-29021 #close
Change-Id: Icf241df0ff6db09011b8c936a317a84b0b634e16
2020-07-05 18:51 +0000 [8ebe4c772e] George Joseph <gjoseph@digium.com>
* Scope Trace: Make it easier to trace through synchronous tasks
Tracing through synchronous tasks was a little troublesome because
the new thread's stack counter reset to 0. This change allows
a synchronous task to set its trace level to be the same as the
thread that pushed the task. For now, the task's level has to be
passed in the task's data structure but a future enhancement to the
taskprocessor subsystem could automatically set the trace level
of the servant to be that of the caller.
This doesn't really make sense for async tasks because you never
know when they're going to run anyway.
Change-Id: Ib8049c0b815063a45d8c7b0cb4e30b7b87b1d825
2020-08-07 06:58 +0000 [8076ed59f0] George Joseph <gjoseph@digium.com>
* scope_trace: Add/update utilities
* Added a AST_STREAM_STATE_END sentinel
* Add ast_stream_to_str()
* Add ast_stream_state_to_str()
* Add ast_stream_get_format_count()
* Add ast_stream_topology_to_str()
* Add ast_stream_topology_get_active_count()
* Add ast_format_cap_append_names()
* Add ast_sip_session_get_name()
Change-Id: I132eb5971ea41509c660f64e9113cda8c9013b0b
2020-06-30 08:56 +0000 [9d3b01e874] George Joseph <gjoseph@digium.com>
* Scope Trace: Add some new tracing macros and an ast_str helper
Created new SCOPE_ functions that don't depend on RAII_VAR. Besides
generating less code, the use of the explicit SCOPE_EXIT macros
capture the line number where the scope exited. The RAII_VAR
versions can't do that.
* SCOPE_ENTER(level, ...): Like SCOPE_TRACE but doesn't use
RAII_VAR and therefore needs needs one of...
* SCOPE_EXIT(...): Decrements the trace stack counter and optionally
prints a message.
* SCOPE_EXIT_EXPR(__expr, ...): Decrements the trace stack counter,
optionally prints a message, then executes the expression.
SCOPE_EXIT_EXPR(break, "My while got broken\n");
* SCOPE_EXIT_RTN(, ...): Decrements the trace stack counter,
optionally prints a message, then returns without a value.
SCOPE_EXIT_RTN("Bye\n");
* SCOPE_EXIT_RTN_VALUE(__return_value, ...): Decrements the trace
stack counter, optionally prints a message, then returns the value
specified.
SCOPE_EXIT_RTN_VALUE(rc, "Returning with RC: %d\n", rc);
Create an ast_str helper ast_str_tmp() that allocates a temporary
ast_str that can be passed to a function that needs it, then frees
it. This makes using the above macros easier. Example:
SCOPE_ENTER(1, Format Caps 1: %s Format Caps 2: %s\n",
ast_str_tmp(32, ast_format_cap_get_names(cap1, &STR_TMP),
ast_str_tmp(32, ast_format_cap_get_names(cap2, &STR_TMP));
The calls to ast_str_tmp create an ast_str of the specified initial
length which can be referenced as STR_TMP. It then calls the
expression, which must return a char *, ast_strdupa's it, frees
STR_TMP, then returns the ast_strdupa'd string. That string is
freed when the function returns.
Change-Id: I44059b20d55a889aa91440d2f8a590865998be51
(cherry picked from commit 43ba72dea099b5448fdeb0fcab44b6186a0ddf75)
2020-05-14 13:24 +0000 [360efdd94f] George Joseph <gjoseph@digium.com>
* Scope Tracing: A new facility for tracing scope enter/exit
What's wrong with ast_debug?
ast_debug is fine for general purpose debug output but it's not
really geared for scope tracing since it doesn't present its
output in a way that makes capturing and analyzing flow through
Asterisk easy.
How is scope tracing better?
Scope tracing uses the same "cleanup" attribute that RAII_VAR
uses to print messages to a separate "trace" log level. Even
better, the messages are indented and unindented based on a
thread-local call depth counter. When output to a separate log
file, the output is uncluttered and easy to follow.
Here's an example of the output. The leading timestamps and
thread ids are removed and the output cut off at 68 columns for
commit message restrictions but you get the idea.
--> res_pjsip_session.c:3680 handle_incoming PJSIP/1173-00000001
--> res_pjsip_session.c:3661 handle_incoming_response PJSIP/1173
--> res_pjsip_session.c:3669 handle_incoming_response PJSIP/
--> chan_pjsip.c:3265 chan_pjsip_incoming_response_after
--> chan_pjsip.c:3194 chan_pjsip_incoming_response P
chan_pjsip.c:3245 chan_pjsip_incoming_respon
<-- chan_pjsip.c:3194 chan_pjsip_incoming_response P
<-- chan_pjsip.c:3265 chan_pjsip_incoming_response_after
<-- res_pjsip_session.c:3669 handle_incoming_response PJSIP/
<-- res_pjsip_session.c:3661 handle_incoming_response PJSIP/1173
<-- res_pjsip_session.c:3680 handle_incoming PJSIP/1173-00000001
The messages with the "-->" or "<--" were produced by including
the following at the top of each function:
SCOPE_TRACE(1, "%s\n", ast_sip_session_get_name(session));
Scope isn't limited to functions any more than RAII_VAR is. You
can also see entry and exit from "if", "for", "while", etc blocks.
There is also an ast_trace() macro that doesn't track entry or
exit but simply outputs a message to the trace log using the
current indent level. The deepest message in the sample
(chan_pjsip.c:3245) was used to indicate which "case" in a
"select" was executed.
How do you use it?
More documentation is available in logger.h but here's an overview:
* Configure with --enable-dev-mode. Like debug, scope tracing
is #ifdef'd out if devmode isn't enabled.
* Add a SCOPE_TRACE() call to the top of your function.
* Set a logger channel in logger.conf to output the "trace" level.
* Use the CLI (or cli.conf) to set a trace level similar to setting
debug level... CLI> core set trace 2 res_pjsip.so
Summary Of Changes:
* Added LOG_TRACE logger level. Actually it occupies the slot
formerly occupied by the now defunct "event" level.
* Added core asterisk option "trace" similar to debug. Includes
ability to specify global trace level in asterisk.conf and CLI
commands to turn on/off and set levels. Levels can be set
globally (probably not a good idea), or by module/source file.
* Updated sample asterisk.conf and logger.conf. Tracing is
disabled by default in both.
* Added __ast_trace() to logger.c which keeps track of the indent
level using TLS. It's #ifdef'd out if devmode isn't enabled.
* Added ast_trace() and SCOPE_TRACE() macros to logger.h.
These are all #ifdef'd out if devmode isn't enabled.
Why not use gcc's -finstrument-functions capability?
gcc's facility doesn't allow access to local data and doesn't
operate on non-function scopes.
Known Issues:
The only know issue is that we currently don't know the line
number where the scope exited. It's reported as the same place
the scope was entered. There's probably a way to get around it
but it might involve looking at the stack and doing an 'addr2line'
to get the line number. Kind of like ast_backtrace() does.
Not sure if it's worth it.
Change-Id: Ic5ebb859883f9c10a08c5630802de33500cad027
(cherry picked from commit 6a0c47237480d750023561b004f2c4052bfab210)
2020-07-06 10:57 +0000 [944d691319] George Joseph <gjoseph@digium.com>
* frame.c: Make debugging easier
* ast_frame_subclass2str() and ast_frame_type2str() now return
a pointer to the buffer that was passed in instead of void.
This makes it easier to use these functions inline in
printf-style debugging statements.
* Added many missing control frame entries in
ast_frame_subclass2str.
Change-Id: Ifd0d6578e758cd644c96d17a5383ff2128c572fc
(cherry picked from commit fdcb3e2ead11243cd8becb2a9778a4fb4ac8b63c)
2020-07-23 18:57 +0000 Asterisk Development Team <asteriskteam@digium.com>
* asterisk certified/16.8-cert4-rc2 Released.

@ -1,18 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><title>Release Summary - asterisk-certified/16.8-cert4-rc2</title><h1 align="center"><a name="top">Release Summary</a></h1><h3 align="center">asterisk-certified/16.8-cert4-rc2</h3><h3 align="center">Date: 2020-07-23</h3><h3 align="center">&lt;asteriskteam@digium.com&gt;</h3><hr><h2 align="center">Table of Contents</h2><ol>
<li><a href="#summary">Summary</a></li>
<li><a href="#contributors">Contributors</a></li>
<li><a href="#closed_issues">Closed Issues</a></li>
<li><a href="#commits">Other Changes</a></li>
<li><a href="#diffstat">Diffstat</a></li>
</ol><hr><a name="summary"><h2 align="center">Summary</h2></a><center><a href="#top">[Back to Top]</a></center><p>This release is a point release of an existing major version. The changes included were made to address problems that have been identified in this release series, or are minor, backwards compatible new features or improvements. Users should be able to safely upgrade to this version if this release series is already in use. Users considering upgrading from a previous version are strongly encouraged to review the UPGRADE.txt document as well as the CHANGES document for information about upgrading to this release series.</p><p>The data in this summary reflects changes that have been made since the previous release, asterisk-certified/16.8-cert4-rc1.</p><hr><a name="contributors"><h2 align="center">Contributors</h2></a><center><a href="#top">[Back to Top]</a></center><p>This table lists the people who have submitted code, those that have tested patches, as well as those that reported issues on the issue tracker that were resolved in this release. For coders, the number is how many of their patches (of any size) were committed into this release. For testers, the number is the number of times their name was listed as assisting with testing a patch. Finally, for reporters, the number is the number of issues that they reported that were affected by commits that went into this release.</p><table width="100%" border="0">
<tr><th width="33%">Coders</th><th width="33%">Testers</th><th width="33%">Reporters</th></tr>
<tr valign="top"><td width="33%">2 Joshua C. Colp <jcolp@sangoma.com><br/></td><td width="33%"><td width="33%">1 Joshua C. Colp <jcolp@digium.com><br/></td></tr>
</table><hr><a name="closed_issues"><h2 align="center">Closed Issues</h2></a><center><a href="#top">[Back to Top]</a></center><p>This is a list of all issues from the issue tracker that were closed by changes that went into this release.</p><h3>Bug</h3><h4>Category: Resources/res_pjsip</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28965">ASTERISK-28965</a>: res_pjsip: Apply outbound proxy to static contacts on AOR<br/>Reported by: Joshua C. Colp<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=5eec77b452e271c54a966797e88ac892e109cef0">[5eec77b452]</a> Joshua C. Colp -- res_pjsip: Apply AOR outbound proxy to static contacts.</li>
</ul><br><hr><a name="commits"><h2 align="center">Commits Not Associated with an Issue</h2></a><center><a href="#top">[Back to Top]</a></center><p>This is a list of all changes that went into this release that did not reference a JIRA issue.</p><table width="100%" border="1">
<tr><th>Revision</th><th>Author</th><th>Summary</th></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=bd86f382ed56e54b82401aaf5002b0753bf2e960">bd86f382ed</a></td><td>Joshua C. Colp</td><td>websocket / pjsip: Increase maximum packet size.</td></tr>
</table><hr><a name="diffstat"><h2 align="center">Diffstat Results</h2></a><center><a href="#top">[Back to Top]</a></center><p>This is a summary of the changes to the source code that went into this release that was generated using the diffstat utility.</p><pre>res/res_http_websocket.c | 32 ++++++++++++++++----------------
res/res_pjsip/location.c | 25 ++++++++++++++++++++++++-
res/res_pjsip_pubsub.c | 16 ++++------------
3 files changed, 44 insertions(+), 29 deletions(-)</pre><br></html>

@ -1,101 +0,0 @@
Release Summary
asterisk-certified/16.8-cert4-rc2
Date: 2020-07-23
<asteriskteam@digium.com>
----------------------------------------------------------------------
Table of Contents
1. Summary
2. Contributors
3. Closed Issues
4. Other Changes
5. Diffstat
----------------------------------------------------------------------
Summary
[Back to Top]
This release is a point release of an existing major version. The changes
included were made to address problems that have been identified in this
release series, or are minor, backwards compatible new features or
improvements. Users should be able to safely upgrade to this version if
this release series is already in use. Users considering upgrading from a
previous version are strongly encouraged to review the UPGRADE.txt
document as well as the CHANGES document for information about upgrading
to this release series.
The data in this summary reflects changes that have been made since the
previous release, asterisk-certified/16.8-cert4-rc1.
----------------------------------------------------------------------
Contributors
[Back to Top]
This table lists the people who have submitted code, those that have
tested patches, as well as those that reported issues on the issue tracker
that were resolved in this release. For coders, the number is how many of
their patches (of any size) were committed into this release. For testers,
the number is the number of times their name was listed as assisting with
testing a patch. Finally, for reporters, the number is the number of
issues that they reported that were affected by commits that went into
this release.
Coders Testers Reporters
2 Joshua C. Colp 1 Joshua C. Colp
----------------------------------------------------------------------
Closed Issues
[Back to Top]
This is a list of all issues from the issue tracker that were closed by
changes that went into this release.
Bug
Category: Resources/res_pjsip
ASTERISK-28965: res_pjsip: Apply outbound proxy to static contacts on AOR
Reported by: Joshua C. Colp
* [5eec77b452] Joshua C. Colp -- res_pjsip: Apply AOR outbound proxy to
static contacts.
----------------------------------------------------------------------
Commits Not Associated with an Issue
[Back to Top]
This is a list of all changes that went into this release that did not
reference a JIRA issue.
+------------------------------------------------------------------------+
| Revision | Author | Summary |
|------------+----------------+------------------------------------------|
| bd86f382ed | Joshua C. Colp | websocket / pjsip: Increase maximum |
| | | packet size. |
+------------------------------------------------------------------------+
----------------------------------------------------------------------
Diffstat Results
[Back to Top]
This is a summary of the changes to the source code that went into this
release that was generated using the diffstat utility.
res/res_http_websocket.c | 32 ++++++++++++++++----------------
res/res_pjsip/location.c | 25 ++++++++++++++++++++++++-
res/res_pjsip_pubsub.c | 16 ++++------------
3 files changed, 44 insertions(+), 29 deletions(-)

@ -0,0 +1,74 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><title>Release Summary - asterisk-certified/16.8-cert4-rc3</title><h1 align="center"><a name="top">Release Summary</a></h1><h3 align="center">asterisk-certified/16.8-cert4-rc3</h3><h3 align="center">Date: 2020-10-06</h3><h3 align="center">&lt;asteriskteam@digium.com&gt;</h3><hr><h2 align="center">Table of Contents</h2><ol>
<li><a href="#summary">Summary</a></li>
<li><a href="#contributors">Contributors</a></li>
<li><a href="#closed_issues">Closed Issues</a></li>
<li><a href="#commits">Other Changes</a></li>
<li><a href="#diffstat">Diffstat</a></li>
</ol><hr><a name="summary"><h2 align="center">Summary</h2></a><center><a href="#top">[Back to Top]</a></center><p>This release is a point release of an existing major version. The changes included were made to address problems that have been identified in this release series, or are minor, backwards compatible new features or improvements. Users should be able to safely upgrade to this version if this release series is already in use. Users considering upgrading from a previous version are strongly encouraged to review the UPGRADE.txt document as well as the CHANGES document for information about upgrading to this release series.</p><p>The data in this summary reflects changes that have been made since the previous release, asterisk-certified/16.8-cert4-rc2.</p><hr><a name="contributors"><h2 align="center">Contributors</h2></a><center><a href="#top">[Back to Top]</a></center><p>This table lists the people who have submitted code, those that have tested patches, as well as those that reported issues on the issue tracker that were resolved in this release. For coders, the number is how many of their patches (of any size) were committed into this release. For testers, the number is the number of times their name was listed as assisting with testing a patch. Finally, for reporters, the number is the number of issues that they reported that were affected by commits that went into this release.</p><table width="100%" border="0">
<tr><th width="33%">Coders</th><th width="33%">Testers</th><th width="33%">Reporters</th></tr>
<tr valign="top"><td width="33%">15 George Joseph <gjoseph@digium.com><br/>4 Joshua C. Colp <jcolp@sangoma.com><br/>1 cmaj <chris@penguinpbx.com><br/>1 Kevin Harwell <kharwell@digium.com><br/>1 Ben Ford <bford@digium.com><br/></td><td width="33%"><td width="33%">2 George Joseph <gjoseph@digium.com><br/>1 Ross Beer <ross.beer@voicehost.co.uk><br/>1 cmaj <chris@penguinpbx.com><br/>1 Kevin Harwell <kharwell@digium.com><br/>1 Joshua C. Colp <jcolp@digium.com><br/></td></tr>
</table><hr><a name="closed_issues"><h2 align="center">Closed Issues</h2></a><center><a href="#top">[Back to Top]</a></center><p>This is a list of all issues from the issue tracker that were closed by changes that went into this release.</p><h3>Bug</h3><h4>Category: Functions/func_version</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-29021">ASTERISK-29021</a>: [patch] Fix VERSION(ASTERISK_VERSION_NUM) on certified versions<br/>Reported by: cmaj<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=4e9e5031329b5f47667480c53d210e4469a16c44">[4e9e503132]</a> cmaj -- Makefile: Fix certified version numbers</li>
</ul><br><h4>Category: Resources/res_pjsip_session</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-29014">ASTERISK-29014</a>: res_pjsip_session: Re-INVITE collisions aren't handled correctly<br/>Reported by: George Joseph<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=1620e94af5795408395ce216368acbbc1a43b71e">[1620e94af5]</a> George Joseph -- res_pjsip_session: Fix issue with COLP and 491</li>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=9e54db24b6b8d92189f92e879536224c859fab54">[9e54db24b6]</a> George Joseph -- res_pjsip_session: Handle multi-stream re-invites better</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-29033">ASTERISK-29033</a>: res_pjsip_session: Aggressively terminates session on failed re-INVITE<br/>Reported by: Joshua C. Colp<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=7b1ace90402695ead0bfc5284686d49e8761562d">[7b1ace9040]</a> Joshua C. Colp -- res_pjsip_session: Don't aggressively terminate on failed re-INVITE.</li>
</ul><br><h4>Category: Resources/res_rtp_asterisk</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-29089">ASTERISK-29089</a>: RTP Ports not cleared after hangup<br/>Reported by: Ross Beer<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=3e54af3afbd04d70170ec3c4347da1f592db2992">[3e54af3afb]</a> Joshua C. Colp -- res_pjsip_session: Fix session reference leak.</li>
</ul><br><h3>Improvement</h3><h4>Category: Core/ManagerInterface</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28945">ASTERISK-28945</a>: AMI SendText - add Content-Type parameter<br/>Reported by: Kevin Harwell<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=5e58fc3939ce739a4f64fde34d7f6548bf6fa890">[5e58fc3939]</a> Kevin Harwell -- manager - Add Content-Type parameter to the SendText action</li>
</ul><br><hr><a name="commits"><h2 align="center">Commits Not Associated with an Issue</h2></a><center><a href="#top">[Back to Top]</a></center><p>This is a list of all changes that went into this release that did not reference a JIRA issue.</p><table width="100%" border="1">
<tr><th>Revision</th><th>Author</th><th>Summary</th></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=d5df3b95c8c32c40e997bd455f0fbee3dd2719ee">d5df3b95c8</a></td><td>Joshua C. Colp</td><td>res_pjsip_session: Fix stream name memory leak.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=f74ecc44982e6893a55056ee8cb61d52668bcd94">f74ecc4498</a></td><td>George Joseph</td><td>logger.h: Fix ast_trace to respect scope_level</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=251c9a18912f8b96e7ba7aa699f5267ddcf3140e">251c9a1891</a></td><td>George Joseph</td><td>bridge_softmix/sfu_topologies_on_join: Ignore topology change failures</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=f67c58aa13ae0cbe6af838726f646534bd8e5c9b">f67c58aa13</a></td><td>George Joseph</td><td>debugging: Add enough to choke a mule</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=c2701d80690931cb0a1c49902173046150368183">c2701d8069</a></td><td>Ben Ford</td><td>Bridging: Use a ref to bridge_channel's channel to prevent crash.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=fb78adce210bae296099a8e8a5df1f3918a39f54">fb78adce21</a></td><td>George Joseph</td><td>stream.c: Added 2 more debugging utils and added pos to stream string</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=d942fe4837ad21f9d5ddd249343b70eb80559a7c">d942fe4837</a></td><td>George Joseph</td><td>scope_trace: Added debug messages and added additional macros</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=0430e1b3c3c5d58aa5a5f932b848a9d89198e958">0430e1b3c3</a></td><td>George Joseph</td><td>logger.c: Added a new log formatter called "plain"</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=950784a4460b4f6fc07e2ffa8b1c6a201b480567">950784a446</a></td><td>George Joseph</td><td>ast_coredumper: Fix issues with naming</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=d189bf9ae593a3015e8801ffa80c54734c8162cf">d189bf9ae5</a></td><td>George Joseph</td><td>res_pjsip_session: Ensure reused streams have correct bundle group</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=b8bb63c82f3acc19e8eee6f5938772f3fb5620c6">b8bb63c82f</a></td><td>Joshua C. Colp</td><td>pjsip: Add timer refactor patch and timer 0 cancellation.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=8ebe4c772e41ccc6ae43ce4d22d09339bd2329fb">8ebe4c772e</a></td><td>George Joseph</td><td>Scope Trace: Make it easier to trace through synchronous tasks</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=8076ed59f0c8ae5c0f5ed2abdd6c309cfcd61540">8076ed59f0</a></td><td>George Joseph</td><td>scope_trace: Add/update utilities</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=9d3b01e87442f7c88f14cd812d67b4918e5abeb3">9d3b01e874</a></td><td>George Joseph</td><td>Scope Trace: Add some new tracing macros and an ast_str helper</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=360efdd94f7312970d1dde97b7e7fb3c8f58a6aa">360efdd94f</a></td><td>George Joseph</td><td>Scope Tracing: A new facility for tracing scope enter/exit</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=944d6913190cf79b74cf35927f5c7d05a0173635">944d691319</a></td><td>George Joseph</td><td>frame.c: Make debugging easier</td></tr>
</table><hr><a name="diffstat"><h2 align="center">Diffstat Results</h2></a><center><a href="#top">[Back to Top]</a></center><p>This is a summary of the changes to the source code that went into this release that was generated using the diffstat utility.</p><pre>Makefile | 2
bridges/bridge_softmix.c | 143
channels/chan_pjsip.c | 74
configs/samples/asterisk.conf.sample | 1
configs/samples/logger.conf.sample | 15
contrib/scripts/ast_coredumper | 4
doc/CHANGES-staging/ami_sendtext_content_type.txt | 4
doc/CHANGES-staging/logger_format.txt | 12
include/asterisk/bridge_channel.h | 14
include/asterisk/format_cap.h | 11
include/asterisk/frame.h | 13
include/asterisk/logger.h | 426 ++
include/asterisk/manager.h | 2
include/asterisk/message.h | 18
include/asterisk/options.h | 4
include/asterisk/res_pjsip_session.h | 12
include/asterisk/stream.h | 117
include/asterisk/strings.h | 53
main/asterisk.c | 1
main/asterisk.exports.in | 1
main/bridge.c | 21
main/bridge_channel.c | 20
main/channel.c | 13
main/cli.c | 261 +
main/format_cap.c | 22
main/frame.c | 87
main/logger.c | 150
main/manager.c | 115
main/message.c | 26
main/options.c | 9
main/stream.c | 109
res/res_pjsip_session.c | 1809 ++++++++--
tests/test_scope_trace.c | 126
tests/test_strings.c | 39
third-party/pjproject/patches/0040-pjsip-timer-refactor.patch | 1148 ++++++
35 files changed, 4430 insertions(+), 452 deletions(-)</pre><br></html>

@ -0,0 +1,213 @@
Release Summary
asterisk-certified/16.8-cert4-rc3
Date: 2020-10-06
<asteriskteam@digium.com>
----------------------------------------------------------------------
Table of Contents
1. Summary
2. Contributors
3. Closed Issues
4. Other Changes
5. Diffstat
----------------------------------------------------------------------
Summary
[Back to Top]
This release is a point release of an existing major version. The changes
included were made to address problems that have been identified in this
release series, or are minor, backwards compatible new features or
improvements. Users should be able to safely upgrade to this version if
this release series is already in use. Users considering upgrading from a
previous version are strongly encouraged to review the UPGRADE.txt
document as well as the CHANGES document for information about upgrading
to this release series.
The data in this summary reflects changes that have been made since the
previous release, asterisk-certified/16.8-cert4-rc2.
----------------------------------------------------------------------
Contributors
[Back to Top]
This table lists the people who have submitted code, those that have
tested patches, as well as those that reported issues on the issue tracker
that were resolved in this release. For coders, the number is how many of
their patches (of any size) were committed into this release. For testers,
the number is the number of times their name was listed as assisting with
testing a patch. Finally, for reporters, the number is the number of
issues that they reported that were affected by commits that went into
this release.
Coders Testers Reporters
15 George Joseph 2 George Joseph
4 Joshua C. Colp 1 Ross Beer
1 cmaj 1 cmaj
1 Kevin Harwell 1 Kevin Harwell
1 Ben Ford 1 Joshua C. Colp
----------------------------------------------------------------------
Closed Issues
[Back to Top]
This is a list of all issues from the issue tracker that were closed by
changes that went into this release.
Bug
Category: Functions/func_version
ASTERISK-29021: [patch] Fix VERSION(ASTERISK_VERSION_NUM) on certified
versions
Reported by: cmaj
* [4e9e503132] cmaj -- Makefile: Fix certified version numbers
Category: Resources/res_pjsip_session
ASTERISK-29014: res_pjsip_session: Re-INVITE collisions aren't handled
correctly
Reported by: George Joseph
* [1620e94af5] George Joseph -- res_pjsip_session: Fix issue with COLP
and 491
* [9e54db24b6] George Joseph -- res_pjsip_session: Handle multi-stream
re-invites better
ASTERISK-29033: res_pjsip_session: Aggressively terminates session on
failed re-INVITE
Reported by: Joshua C. Colp
* [7b1ace9040] Joshua C. Colp -- res_pjsip_session: Don't aggressively
terminate on failed re-INVITE.
Category: Resources/res_rtp_asterisk
ASTERISK-29089: RTP Ports not cleared after hangup
Reported by: Ross Beer
* [3e54af3afb] Joshua C. Colp -- res_pjsip_session: Fix session
reference leak.
Improvement
Category: Core/ManagerInterface
ASTERISK-28945: AMI SendText - add Content-Type parameter
Reported by: Kevin Harwell
* [5e58fc3939] Kevin Harwell -- manager - Add Content-Type parameter to
the SendText action
----------------------------------------------------------------------
Commits Not Associated with an Issue
[Back to Top]
This is a list of all changes that went into this release that did not
reference a JIRA issue.
+------------------------------------------------------------------------+
| Revision | Author | Summary |
|------------+-----------+-----------------------------------------------|
| d5df3b95c8 | Joshua C. | res_pjsip_session: Fix stream name memory |
| | Colp | leak. |
|------------+-----------+-----------------------------------------------|
| f74ecc4498 | George | logger.h: Fix ast_trace to respect |
| | Joseph | scope_level |
|------------+-----------+-----------------------------------------------|
| 251c9a1891 | George | bridge_softmix/sfu_topologies_on_join: Ignore |
| | Joseph | topology change failures |
|------------+-----------+-----------------------------------------------|
| f67c58aa13 | George | debugging: Add enough to choke a mule |
| | Joseph | |
|------------+-----------+-----------------------------------------------|
| c2701d8069 | Ben Ford | Bridging: Use a ref to bridge_channel's |
| | | channel to prevent crash. |
|------------+-----------+-----------------------------------------------|
| fb78adce21 | George | stream.c: Added 2 more debugging utils and |
| | Joseph | added pos to stream string |
|------------+-----------+-----------------------------------------------|
| d942fe4837 | George | scope_trace: Added debug messages and added |
| | Joseph | additional macros |
|------------+-----------+-----------------------------------------------|
| 0430e1b3c3 | George | logger.c: Added a new log formatter called |
| | Joseph | "plain" |
|------------+-----------+-----------------------------------------------|
| 950784a446 | George | ast_coredumper: Fix issues with naming |
| | Joseph | |
|------------+-----------+-----------------------------------------------|
| d189bf9ae5 | George | res_pjsip_session: Ensure reused streams have |
| | Joseph | correct bundle group |
|------------+-----------+-----------------------------------------------|
| b8bb63c82f | Joshua C. | pjsip: Add timer refactor patch and timer 0 |
| | Colp | cancellation. |
|------------+-----------+-----------------------------------------------|
| 8ebe4c772e | George | Scope Trace: Make it easier to trace through |
| | Joseph | synchronous tasks |
|------------+-----------+-----------------------------------------------|
| 8076ed59f0 | George | scope_trace: Add/update utilities |
| | Joseph | |
|------------+-----------+-----------------------------------------------|
| 9d3b01e874 | George | Scope Trace: Add some new tracing macros and |
| | Joseph | an ast_str helper |
|------------+-----------+-----------------------------------------------|
| 360efdd94f | George | Scope Tracing: A new facility for tracing |
| | Joseph | scope enter/exit |
|------------+-----------+-----------------------------------------------|
| 944d691319 | George | frame.c: Make debugging easier |
| | Joseph | |
+------------------------------------------------------------------------+
----------------------------------------------------------------------
Diffstat Results
[Back to Top]
This is a summary of the changes to the source code that went into this
release that was generated using the diffstat utility.
Makefile | 2
bridges/bridge_softmix.c | 143
channels/chan_pjsip.c | 74
configs/samples/asterisk.conf.sample | 1
configs/samples/logger.conf.sample | 15
contrib/scripts/ast_coredumper | 4
doc/CHANGES-staging/ami_sendtext_content_type.txt | 4
doc/CHANGES-staging/logger_format.txt | 12
include/asterisk/bridge_channel.h | 14
include/asterisk/format_cap.h | 11
include/asterisk/frame.h | 13
include/asterisk/logger.h | 426 ++
include/asterisk/manager.h | 2
include/asterisk/message.h | 18
include/asterisk/options.h | 4
include/asterisk/res_pjsip_session.h | 12
include/asterisk/stream.h | 117
include/asterisk/strings.h | 53
main/asterisk.c | 1
main/asterisk.exports.in | 1
main/bridge.c | 21
main/bridge_channel.c | 20
main/channel.c | 13
main/cli.c | 261 +
main/format_cap.c | 22
main/frame.c | 87
main/logger.c | 150
main/manager.c | 115
main/message.c | 26
main/options.c | 9
main/stream.c | 109
res/res_pjsip_session.c | 1809 ++++++++--
tests/test_scope_trace.c | 126
tests/test_strings.c | 39
third-party/pjproject/patches/0040-pjsip-timer-refactor.patch | 1148 ++++++
35 files changed, 4430 insertions(+), 452 deletions(-)
Loading…
Cancel
Save