mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-20 16:50:14 +00:00
Compare commits
33 Commits
14.0.0-rc1
...
14.0.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c6d6dd133c | ||
|
|
1c648c3ebe | ||
|
|
4c941e856b | ||
|
|
bacd5521a0 | ||
|
|
0a939b274e | ||
|
|
6acd3e3f35 | ||
|
|
ca81c80ca0 | ||
|
|
9d2c6bf0f5 | ||
|
|
7b52be6019 | ||
|
|
97d18e8649 | ||
|
|
0f4f2c6884 | ||
|
|
67da18293f | ||
|
|
82e513d699 | ||
|
|
35de18d636 | ||
|
|
fc8ac2fd17 | ||
|
|
75acfb0168 | ||
|
|
169bfc9b55 | ||
|
|
d5ea628298 | ||
|
|
de456d5e31 | ||
|
|
bc876e50f1 | ||
|
|
31fa14264b | ||
|
|
885945af03 | ||
|
|
672a1a5854 | ||
|
|
3facd0febb | ||
|
|
29358ce602 | ||
|
|
27dcb25612 | ||
|
|
cab2e4514e | ||
|
|
c4ef22b5f7 | ||
|
|
6e78b5c257 | ||
|
|
1bae929f5c | ||
|
|
76418b5666 | ||
|
|
a2b03cf0b4 | ||
|
|
7244ff1ccd |
189
ChangeLog
189
ChangeLog
@@ -1,3 +1,192 @@
|
||||
2016-09-23 20:38 +0000 Asterisk Development Team <asteriskteam@digium.com>
|
||||
|
||||
* asterisk 14.0.0 Released.
|
||||
|
||||
2016-09-23 15:38 +0000 [1c648c3ebe] Kevin Harwell <kharwell@digium.com>
|
||||
|
||||
* Release summaries: Add summaries for 14.0.0
|
||||
|
||||
2016-09-23 14:49 +0000 [4c941e856b] Kevin Harwell <kharwell@digium.com>
|
||||
|
||||
* Release summaries: Remove previous versions
|
||||
|
||||
2016-09-23 14:49 +0000 [bacd5521a0] Kevin Harwell <kharwell@digium.com>
|
||||
|
||||
* .version: Update for 14.0.0
|
||||
|
||||
2016-09-23 14:49 +0000 [0a939b274e] Kevin Harwell <kharwell@digium.com>
|
||||
|
||||
* .lastclean: Update for 14.0.0
|
||||
|
||||
2016-09-23 14:49 +0000 [6acd3e3f35] Kevin Harwell <kharwell@digium.com>
|
||||
|
||||
* realtime: Add database scripts for 14.0.0
|
||||
|
||||
2016-09-23 13:43 +0000 [ca81c80ca0] Kevin Harwell <kharwell@digium.com>
|
||||
|
||||
* ChangeLog: Updated for 14.0.0
|
||||
|
||||
2016-09-23 13:43 +0000 [9d2c6bf0f5] Kevin Harwell <kharwell@digium.com>
|
||||
|
||||
* Release summaries: Add summaries for 14.0.0
|
||||
|
||||
2016-09-23 12:34 +0000 [7b52be6019] Kevin Harwell <kharwell@digium.com>
|
||||
|
||||
* Release summaries: Remove previous versions
|
||||
|
||||
2016-09-23 12:34 +0000 [97d18e8649] Kevin Harwell <kharwell@digium.com>
|
||||
|
||||
* .version: Update for 14.0.0
|
||||
|
||||
2016-09-23 12:34 +0000 [0f4f2c6884] Kevin Harwell <kharwell@digium.com>
|
||||
|
||||
* .lastclean: Update for 14.0.0
|
||||
|
||||
2016-09-23 12:34 +0000 [67da18293f] Kevin Harwell <kharwell@digium.com>
|
||||
|
||||
* realtime: Add database scripts for 14.0.0
|
||||
|
||||
2016-09-22 15:26 +0000 Asterisk Development Team <asteriskteam@digium.com>
|
||||
|
||||
* asterisk 14.0.0-rc2 Released.
|
||||
|
||||
2016-09-22 10:25 +0000 [35de18d636] Joshua Colp <jcolp@digium.com>
|
||||
|
||||
* Release summaries: Add summaries for 14.0.0-rc2
|
||||
|
||||
2016-09-22 10:25 +0000 [fc8ac2fd17] Joshua Colp <jcolp@digium.com>
|
||||
|
||||
* Release summaries: Remove previous versions
|
||||
|
||||
2016-09-22 10:25 +0000 [75acfb0168] Joshua Colp <jcolp@digium.com>
|
||||
|
||||
* .version: Update for 14.0.0-rc2
|
||||
|
||||
2016-09-22 10:25 +0000 [169bfc9b55] Joshua Colp <jcolp@digium.com>
|
||||
|
||||
* .lastclean: Update for 14.0.0-rc2
|
||||
|
||||
2016-09-22 10:25 +0000 [d5ea628298] Joshua Colp <jcolp@digium.com>
|
||||
|
||||
* realtime: Add database scripts for 14.0.0-rc2
|
||||
|
||||
2016-09-21 14:24 +0000 [31fa14264b] Joshua Colp <jcolp@digium.com>
|
||||
|
||||
* core: Ensure presencestate subtype and message are NULL.
|
||||
|
||||
When retrieving presence state information there is no
|
||||
guarantee that the subtype and message passed in are
|
||||
set to NULL. This change ensures they are.
|
||||
|
||||
ASTERISK-26397 #close
|
||||
|
||||
Change-Id: If38cd730e409e9a9b6eb9adef6591d15a9e61f86
|
||||
|
||||
2016-09-21 10:48 +0000 [3facd0febb] Joshua Colp <jcolp@digium.com>
|
||||
|
||||
* res_odbc: Make pooling option deprecation notice more useful.
|
||||
|
||||
This changes the notice for the deprecation of the old
|
||||
pooling options to point to the new option for doing
|
||||
pooling. This gives a clearer direction as to what to
|
||||
look into.
|
||||
|
||||
ASTERISK-26389 #close
|
||||
|
||||
Change-Id: I2ca9cdfdcd75aec170a7db9d5ff69a4cd25b7c10
|
||||
|
||||
2016-09-21 08:46 +0000 [27dcb25612] Joshua Colp <jcolp@digium.com>
|
||||
|
||||
* odbc: Remove options that are no longer applicable.
|
||||
|
||||
The pooling, shared_connection, limit, and idlecheck options
|
||||
are no longer used in res_odbc.
|
||||
|
||||
ASTERISK-26389
|
||||
|
||||
Change-Id: I2fde7b467d01f9d1c82cc0a339bb4f7e1dd6bbe6
|
||||
|
||||
2016-09-20 09:22 +0000 [cab2e4514e] Corey Farrell <git@cfware.com>
|
||||
|
||||
* logger: Always enable verbose for console channel.
|
||||
|
||||
Previous versions of Asterisk did not require verbose to be specified in
|
||||
logger.conf for the console channel, if it was requested by command line
|
||||
or asterisk.conf it just worked. This change causes Asterisk to always
|
||||
enable verbose in the console channel level mask. Verbose is displayed
|
||||
on consoles if requested by command line, option_verbose or 'core set
|
||||
verbose'.
|
||||
|
||||
This also delays initialization of the logger until after threadstorage
|
||||
is initialized. Initializing too early can cause messages to be printed
|
||||
multiple times to the console (stdout).
|
||||
|
||||
ASTERISK-26391 #close
|
||||
|
||||
Change-Id: I52187d67c2fcb3efd5561bf04b3e5e23e5ee8a04
|
||||
|
||||
2016-09-20 10:16 +0000 [c4ef22b5f7] Corey Farrell <git@cfware.com>
|
||||
|
||||
* logger: Fix default console settings.
|
||||
|
||||
When logger.conf is missing or invalid we should be printing notices,
|
||||
warnings and errors to the console. The logmask was incorrectly
|
||||
calculated.
|
||||
|
||||
Change-Id: Ibaa9465a8682854bc1a5e9ba07079bea1bfb6bb3
|
||||
|
||||
2016-09-20 15:17 +0000 [6e78b5c257] Corey Farrell <git@cfware.com>
|
||||
|
||||
* core: Fix LOW_MEMORY missing symbol ast_pbx_uuid_get.
|
||||
|
||||
Move the function outside the conditional block that excludes
|
||||
LOW_MEMORY.
|
||||
|
||||
ASTERISK-26273 #close
|
||||
|
||||
Change-Id: Ic290fa128222c410c3531107e30efacabc8493b4
|
||||
|
||||
2016-09-14 06:53 +0000 [a2b03cf0b4] Joshua Colp <jcolp@digium.com>
|
||||
|
||||
* rtp: Only accept the first payload for a format in SDP.
|
||||
|
||||
When receiving an SDP offer with multiple payloads for
|
||||
the same format we would generate an answer with the first
|
||||
payload, but during the payload crossover operation
|
||||
(to set the payloads for receiving) we would remove all
|
||||
payloads but the last. This would result in incoming
|
||||
traffic being matched against the wrong format and outgoing
|
||||
traffic being sent using the wrong payload.
|
||||
|
||||
This change makes it so that once a format has a payload
|
||||
number put into the mapping all subsequent ones are ignored.
|
||||
This ensures there is only ever one payload in the mapping
|
||||
and that it is the payload placed into the answer SDP.
|
||||
|
||||
ASTERISK-26365 #close
|
||||
|
||||
Change-Id: I1e8150860a3518cab36d00b1fab50f9352b64e60
|
||||
|
||||
2016-09-14 08:42 +0000 [7244ff1ccd] Joshua Colp <jcolp@digium.com>
|
||||
|
||||
* res_pjsip_multihomed: Change Contact port to listening port.
|
||||
|
||||
The res_pjsip_multihomed module determines what interface and transport
|
||||
a request is going out on and updates the SIP message accordingly with
|
||||
the address information. This currently incorrectly updates the Contact
|
||||
header for connectionful protocols to the ephemeral connection port,
|
||||
instead of the bound address for the listening socket which can actually
|
||||
accept the connection back. If the remote side attempts to connect back on
|
||||
the epehemeral port it will fail.
|
||||
|
||||
This change makes it so the port is updated to the bound port on
|
||||
connectionful protocols and is maintained on UDP (as there can be
|
||||
multiple of those).
|
||||
|
||||
ASTERISK-26374 #close
|
||||
|
||||
Change-Id: I50f8dab65b9f75117d73ba5f6bbcf6c9871854ab
|
||||
|
||||
2016-09-19 14:18 +0000 Asterisk Development Team <asteriskteam@digium.com>
|
||||
|
||||
* asterisk 14.0.0-rc1 Released.
|
||||
|
||||
@@ -1,34 +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-14.0.0-rc1</title><h1 align="center"><a name="top">Release Summary</a></h1><h3 align="center">asterisk-14.0.0-rc1</h3><h3 align="center">Date: 2016-09-19</h3><h3 align="center"><asteriskteam@digium.com></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 is the first release of a major new version of Asterisk. For a list of new features that have been included with this release, please see the CHANGES file inside the source package. Since this is a new major release, users are encouraged to do extended testing before upgrading to this version in a production environment.</p><p>The data in this summary reflects changes that have been made since the previous release, asterisk-14.0.0-beta2.</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%">7 Joshua Colp <jcolp@digium.com><br/>1 Matt Jordan <mjordan@digium.com><br/>1 Mark Michelson <mmichelson@digium.com><br/>1 Corey Farrell <git@cfware.com><br/></td><td width="33%"><td width="33%">2 Joshua Colp <jcolp@digium.com><br/>1 Etienne Lessard <elessard@proformatique.com><br/>1 nappsoft <infos@nappsoft.com><br/>1 Dmitry Melekhov <dm@belkam.com><br/>1 Matt Jordan <mjordan@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: Channels/chan_sip/General</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26272">ASTERISK-26272</a>: chan_sip: File descriptors leak (UDP sockets)<br/>Reported by: Etienne Lessard<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=f877e62cc9f600f85c403d5e11fca8946e70dee1">[f877e62cc9]</a> Corey Farrell -- chan_sip: Don't allocate new RTP instances on top of old ones.</li>
|
||||
</ul><br><h4>Category: Resources/res_ari_playbacks</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26341">ASTERISK-26341</a>: ARI: Stopping a media playlist only stops the current media URI being played back, and not the whole list<br/>Reported by: Matt Jordan<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=b17ee861489810b1ec4d34ad4ba3fac77abbadb7">[b17ee86148]</a> Matt Jordan -- res/res_stasis_playback: Cancel the entire playlist when a stop occurs</li>
|
||||
</ul><br><h4>Category: Resources/res_pjsip</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26375">ASTERISK-26375</a>: res_pjsip_transport_management: Log message states seconds, but time value is milliseconds<br/>Reported by: Joshua Colp<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=205e2ea3516fd9760acbc2b220819240ba30f118">[205e2ea351]</a> Joshua Colp -- res_pjsip_transport_management: Convert time in log message to seconds.</li>
|
||||
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26364">ASTERISK-26364</a>: res_pjsip: Don't assume a request will have target addresses<br/>Reported by: Joshua Colp<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=bc085bba248b8611a42ca8cb64e150d3074edcac">[bc085bba24]</a> Joshua Colp -- res_pjsip: Don't assume a request will have any addresses.</li>
|
||||
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26264">ASTERISK-26264</a>: res_pjsip: Crash when applying ACL from non-existent endpoint<br/>Reported by: nappsoft<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=137aa2f13cb30bf25ad122ca92dd47f4f1b90ca2">[137aa2f13c]</a> Mark Michelson -- res_pjsip: Do not crash on ACKs from unknown endpoints.</li>
|
||||
</ul><br><h4>Category: pjproject/pjsip</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26349">ASTERISK-26349</a>: 13.11.1 res_pjsip/pjsip_distributor.c: Request 'REGISTER' failed<br/>Reported by: Dmitry Melekhov<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=9a800b24acee2304027e075829022ca8c11cc570">[9a800b24ac]</a> Joshua Colp -- res_pjsip: Only invoke unidentified endpoint logic when unidentified.</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=e11354b8641ec9fdd41bb5b2f665d8d8c7613c92">e11354b864</a></td><td>Joshua Colp</td><td>Release summaries: Remove previous versions</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=24fac2271a5e9e167114b768954f9544dd457623">24fac2271a</a></td><td>Joshua Colp</td><td>.version: Update for 14.0.0-rc1</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=52c101d441f2a77be204ef03eb77c34649236bae">52c101d441</a></td><td>Joshua Colp</td><td>.lastclean: Update for 14.0.0-rc1</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=edae56dc6535afd8a8bffde3775e1d698837dcc7">edae56dc65</a></td><td>Joshua Colp</td><td>realtime: Add database scripts for 14.0.0-rc1</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>asterisk-14.0.0-beta2-summary.html | 60 -----------
|
||||
asterisk-14.0.0-beta2-summary.txt | 181 ------------------------------------
|
||||
b/.version | 2
|
||||
b/channels/chan_sip.c | 61 +++++++-----
|
||||
b/res/res_pjsip.c | 2
|
||||
b/res/res_pjsip/pjsip_distributor.c | 4
|
||||
6 files changed, 42 insertions(+), 268 deletions(-)</pre><br></html>
|
||||
@@ -1,145 +0,0 @@
|
||||
Release Summary
|
||||
|
||||
asterisk-14.0.0-rc1
|
||||
|
||||
Date: 2016-09-19
|
||||
|
||||
<asteriskteam@digium.com>
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Table of Contents
|
||||
|
||||
1. Summary
|
||||
2. Contributors
|
||||
3. Closed Issues
|
||||
4. Other Changes
|
||||
5. Diffstat
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Summary
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This is the first release of a major new version of Asterisk. For a list
|
||||
of new features that have been included with this release, please see the
|
||||
CHANGES file inside the source package. Since this is a new major release,
|
||||
users are encouraged to do extended testing before upgrading to this
|
||||
version in a production environment.
|
||||
|
||||
The data in this summary reflects changes that have been made since the
|
||||
previous release, asterisk-14.0.0-beta2.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
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
|
||||
7 Joshua Colp 2 Joshua Colp
|
||||
1 Matt Jordan 1 Etienne Lessard
|
||||
1 Mark Michelson 1 nappsoft
|
||||
1 Corey Farrell 1 Dmitry Melekhov
|
||||
1 Matt Jordan
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
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: Channels/chan_sip/General
|
||||
|
||||
ASTERISK-26272: chan_sip: File descriptors leak (UDP sockets)
|
||||
Reported by: Etienne Lessard
|
||||
* [f877e62cc9] Corey Farrell -- chan_sip: Don't allocate new RTP
|
||||
instances on top of old ones.
|
||||
|
||||
Category: Resources/res_ari_playbacks
|
||||
|
||||
ASTERISK-26341: ARI: Stopping a media playlist only stops the current
|
||||
media URI being played back, and not the whole list
|
||||
Reported by: Matt Jordan
|
||||
* [b17ee86148] Matt Jordan -- res/res_stasis_playback: Cancel the entire
|
||||
playlist when a stop occurs
|
||||
|
||||
Category: Resources/res_pjsip
|
||||
|
||||
ASTERISK-26375: res_pjsip_transport_management: Log message states
|
||||
seconds, but time value is milliseconds
|
||||
Reported by: Joshua Colp
|
||||
* [205e2ea351] Joshua Colp -- res_pjsip_transport_management: Convert
|
||||
time in log message to seconds.
|
||||
ASTERISK-26364: res_pjsip: Don't assume a request will have target
|
||||
addresses
|
||||
Reported by: Joshua Colp
|
||||
* [bc085bba24] Joshua Colp -- res_pjsip: Don't assume a request will
|
||||
have any addresses.
|
||||
ASTERISK-26264: res_pjsip: Crash when applying ACL from non-existent
|
||||
endpoint
|
||||
Reported by: nappsoft
|
||||
* [137aa2f13c] Mark Michelson -- res_pjsip: Do not crash on ACKs from
|
||||
unknown endpoints.
|
||||
|
||||
Category: pjproject/pjsip
|
||||
|
||||
ASTERISK-26349: 13.11.1 res_pjsip/pjsip_distributor.c: Request 'REGISTER'
|
||||
failed
|
||||
Reported by: Dmitry Melekhov
|
||||
* [9a800b24ac] Joshua Colp -- res_pjsip: Only invoke unidentified
|
||||
endpoint logic when unidentified.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
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 |
|
||||
|------------+-------------+---------------------------------------------|
|
||||
| e11354b864 | Joshua Colp | Release summaries: Remove previous versions |
|
||||
|------------+-------------+---------------------------------------------|
|
||||
| 24fac2271a | Joshua Colp | .version: Update for 14.0.0-rc1 |
|
||||
|------------+-------------+---------------------------------------------|
|
||||
| 52c101d441 | Joshua Colp | .lastclean: Update for 14.0.0-rc1 |
|
||||
|------------+-------------+---------------------------------------------|
|
||||
| edae56dc65 | Joshua Colp | realtime: Add database scripts for |
|
||||
| | | 14.0.0-rc1 |
|
||||
+------------------------------------------------------------------------+
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
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.
|
||||
|
||||
asterisk-14.0.0-beta2-summary.html | 60 -----------
|
||||
asterisk-14.0.0-beta2-summary.txt | 181 ------------------------------------
|
||||
b/.version | 2
|
||||
b/channels/chan_sip.c | 61 +++++++-----
|
||||
b/res/res_pjsip.c | 2
|
||||
b/res/res_pjsip/pjsip_distributor.c | 4
|
||||
6 files changed, 42 insertions(+), 268 deletions(-)
|
||||
4318
asterisk-14.0.0-summary.html
Normal file
4318
asterisk-14.0.0-summary.html
Normal file
File diff suppressed because one or more lines are too long
10112
asterisk-14.0.0-summary.txt
Normal file
10112
asterisk-14.0.0-summary.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -38,19 +38,6 @@ pre-connect => yes
|
||||
; record. The default is "select 1".
|
||||
;sanitysql => select 1
|
||||
;
|
||||
; On some databases, the connection times out and a reconnection will be
|
||||
; necessary. This setting configures the amount of time a connection
|
||||
; may sit idle (in seconds) before a reconnection will be attempted.
|
||||
;idlecheck => 3600
|
||||
;
|
||||
; Should we use a single connection for all queries? Most databases will
|
||||
; allow sharing the connection, though Sybase and MS SQL Server will not.
|
||||
;share_connections => yes
|
||||
;
|
||||
; If we aren't sharing connections, what is the maximum number of connections
|
||||
; that we should attempt?
|
||||
;limit => 5
|
||||
;
|
||||
; The maximum number of connections to have open at any given time.
|
||||
; This defaults to 1 and it is highly recommended to only set this higher
|
||||
; if using a version of UnixODBC greater than 2.3.1.
|
||||
|
||||
@@ -591,11 +591,6 @@ void ast_unregister_thread(void *id)
|
||||
}
|
||||
}
|
||||
|
||||
int ast_pbx_uuid_get(char *pbx_uuid, int length)
|
||||
{
|
||||
return ast_db_get("pbx", "UUID", pbx_uuid, length);
|
||||
}
|
||||
|
||||
/*! \brief Give an overview of core settings */
|
||||
static char *handle_show_settings(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
|
||||
{
|
||||
@@ -1040,6 +1035,11 @@ static char *handle_clear_profile(struct ast_cli_entry *e, int cmd, struct ast_c
|
||||
|
||||
#endif /* ! LOW_MEMORY */
|
||||
|
||||
int ast_pbx_uuid_get(char *pbx_uuid, int length)
|
||||
{
|
||||
return ast_db_get("pbx", "UUID", pbx_uuid, length);
|
||||
}
|
||||
|
||||
static void publish_fully_booted(void)
|
||||
{
|
||||
RAII_VAR(struct ast_json *, json_object, NULL, ast_json_unref);
|
||||
@@ -4454,11 +4454,6 @@ static void asterisk_daemon(int isroot, const char *runuser, const char *rungrou
|
||||
|
||||
aco_init();
|
||||
|
||||
if (init_logger()) { /* Start logging subsystem */
|
||||
printf("Failed: init_logger\n%s", term_quit());
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (ast_bucket_init()) {
|
||||
printf("Failed: ast_bucket_init\n%s", term_quit());
|
||||
exit(1);
|
||||
@@ -4503,6 +4498,11 @@ static void asterisk_daemon(int isroot, const char *runuser, const char *rungrou
|
||||
|
||||
threadstorage_init();
|
||||
|
||||
if (init_logger()) { /* Start logging subsystem */
|
||||
printf("Failed: init_logger\n%s", term_quit());
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (ast_rtp_engine_init()) {
|
||||
printf("Failed: ast_rtp_engine_init\n%s", term_quit());
|
||||
exit(1);
|
||||
|
||||
@@ -479,6 +479,7 @@ static void make_components(struct logchannel *chan)
|
||||
* with calculating the ast_verb_sys_level value.
|
||||
*/
|
||||
chan->verbosity = -1;
|
||||
logmask |= (1 << __LOG_VERBOSE);
|
||||
} else {
|
||||
chan->verbosity = verb_level;
|
||||
}
|
||||
@@ -663,7 +664,8 @@ static int init_logger_chain(const char *altconf)
|
||||
return -1;
|
||||
}
|
||||
chan->type = LOGTYPE_CONSOLE;
|
||||
chan->logmask = __LOG_WARNING | __LOG_NOTICE | __LOG_ERROR;
|
||||
chan->logmask = (1 << __LOG_WARNING) | (1 << __LOG_NOTICE) | (1 << __LOG_ERROR)
|
||||
| (1 << __LOG_VERBOSE);
|
||||
memcpy(&chan->formatter, &logformatter_default, sizeof(chan->formatter));
|
||||
|
||||
AST_RWLIST_INSERT_HEAD(&logchannels, chan, list);
|
||||
|
||||
@@ -161,6 +161,9 @@ static enum ast_presence_state ast_presence_state_helper(const char *presence_pr
|
||||
[AST_PRESENCE_DND] = 7
|
||||
};
|
||||
|
||||
*subtype = NULL;
|
||||
*message = NULL;
|
||||
|
||||
while ((label = strsep(&labels, "&"))) {
|
||||
enum ast_presence_state next_state = AST_PRESENCE_INVALID;
|
||||
char *next_subtype = NULL;
|
||||
|
||||
@@ -747,18 +747,18 @@ static void rtp_codecs_payloads_copy_rx(struct ast_rtp_codecs *src, struct ast_r
|
||||
|
||||
/*!
|
||||
* \internal
|
||||
* \brief Remove other matching payload mappings.
|
||||
* \brief Determine if a type of payload is already present in mappings.
|
||||
* \since 14.0.0
|
||||
*
|
||||
* \param codecs Codecs that need tx mappings removed.
|
||||
* \param instance RTP instance to notify of any payloads removed.
|
||||
* \param codecs Codecs to be checked for mappings.
|
||||
* \param to_match Payload type object to compare against.
|
||||
*
|
||||
* \note It is assumed that codecs is write locked before calling.
|
||||
*
|
||||
* \return Nothing
|
||||
* \retval 0 not found
|
||||
* \retval 1 found
|
||||
*/
|
||||
static void payload_mapping_tx_remove_other_mappings(struct ast_rtp_codecs *codecs, struct ast_rtp_instance *instance, struct ast_rtp_payload_type *to_match)
|
||||
static int payload_mapping_tx_is_present(const struct ast_rtp_codecs *codecs, const struct ast_rtp_payload_type *to_match)
|
||||
{
|
||||
int idx;
|
||||
struct ast_rtp_payload_type *current;
|
||||
@@ -766,12 +766,18 @@ static void payload_mapping_tx_remove_other_mappings(struct ast_rtp_codecs *code
|
||||
for (idx = 0; idx < AST_VECTOR_SIZE(&codecs->payload_mapping_tx); ++idx) {
|
||||
current = AST_VECTOR_GET(&codecs->payload_mapping_tx, idx);
|
||||
|
||||
if (!current || current == to_match) {
|
||||
if (!current) {
|
||||
continue;
|
||||
}
|
||||
if (current == to_match) {
|
||||
/* The exact object is already in the mapping. */
|
||||
return 1;
|
||||
}
|
||||
if (current->asterisk_format && to_match->asterisk_format) {
|
||||
if (ast_format_cmp(current->format, to_match->format) == AST_FORMAT_CMP_NOT_EQUAL) {
|
||||
if (ast_format_get_codec_id(current->format) != ast_format_get_codec_id(to_match->format)) {
|
||||
continue;
|
||||
} else if (current->payload == to_match->payload) {
|
||||
return 0;
|
||||
}
|
||||
} else if (!current->asterisk_format && !to_match->asterisk_format) {
|
||||
if (current->rtp_code != to_match->rtp_code) {
|
||||
@@ -781,13 +787,10 @@ static void payload_mapping_tx_remove_other_mappings(struct ast_rtp_codecs *code
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Remove other mapping */
|
||||
AST_VECTOR_REPLACE(&codecs->payload_mapping_tx, idx, NULL);
|
||||
ao2_ref(current, -1);
|
||||
if (instance && instance->engine && instance->engine->payload_set) {
|
||||
instance->engine->payload_set(instance, idx, 0, NULL, 0);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -827,13 +830,14 @@ static void rtp_codecs_payloads_copy_tx(struct ast_rtp_codecs *src, struct ast_r
|
||||
if (instance && instance->engine && instance->engine->payload_set) {
|
||||
instance->engine->payload_set(instance, idx, type->asterisk_format, type->format, type->rtp_code);
|
||||
}
|
||||
|
||||
payload_mapping_tx_remove_other_mappings(dest, instance, type);
|
||||
}
|
||||
}
|
||||
|
||||
void ast_rtp_codecs_payloads_copy(struct ast_rtp_codecs *src, struct ast_rtp_codecs *dest, struct ast_rtp_instance *instance)
|
||||
{
|
||||
int idx;
|
||||
struct ast_rtp_payload_type *type;
|
||||
|
||||
ast_rwlock_wrlock(&dest->codecs_lock);
|
||||
|
||||
/* Deadlock avoidance because of held write lock. */
|
||||
@@ -843,6 +847,17 @@ void ast_rtp_codecs_payloads_copy(struct ast_rtp_codecs *src, struct ast_rtp_cod
|
||||
ast_rwlock_wrlock(&dest->codecs_lock);
|
||||
}
|
||||
|
||||
/*
|
||||
* This represents a completely new mapping of what the remote party is
|
||||
* expecting for payloads, so we clear out the entire tx payload mapping
|
||||
* vector and replace it.
|
||||
*/
|
||||
for (idx = 0; idx < AST_VECTOR_SIZE(&dest->payload_mapping_tx); ++idx) {
|
||||
type = AST_VECTOR_GET(&dest->payload_mapping_tx, idx);
|
||||
ao2_t_cleanup(type, "destroying ast_rtp_codec tx mapping");
|
||||
AST_VECTOR_REPLACE(&dest->payload_mapping_tx, idx, NULL);
|
||||
}
|
||||
|
||||
rtp_codecs_payloads_copy_rx(src, dest, instance);
|
||||
rtp_codecs_payloads_copy_tx(src, dest, instance);
|
||||
dest->framing = src->framing;
|
||||
@@ -915,18 +930,20 @@ void ast_rtp_codecs_payloads_set_m_type(struct ast_rtp_codecs *codecs, struct as
|
||||
|
||||
ast_rwlock_wrlock(&codecs->codecs_lock);
|
||||
|
||||
if (payload < AST_VECTOR_SIZE(&codecs->payload_mapping_tx)) {
|
||||
ao2_t_cleanup(AST_VECTOR_GET(&codecs->payload_mapping_tx, payload),
|
||||
"cleaning up replaced tx payload type");
|
||||
}
|
||||
AST_VECTOR_REPLACE(&codecs->payload_mapping_tx, payload, new_type);
|
||||
if (!payload_mapping_tx_is_present(codecs, new_type)) {
|
||||
if (payload < AST_VECTOR_SIZE(&codecs->payload_mapping_tx)) {
|
||||
ao2_t_cleanup(AST_VECTOR_GET(&codecs->payload_mapping_tx, payload),
|
||||
"cleaning up replaced tx payload type");
|
||||
}
|
||||
AST_VECTOR_REPLACE(&codecs->payload_mapping_tx, payload, new_type);
|
||||
|
||||
if (instance && instance->engine && instance->engine->payload_set) {
|
||||
instance->engine->payload_set(instance, payload, new_type->asterisk_format, new_type->format, new_type->rtp_code);
|
||||
if (instance && instance->engine && instance->engine->payload_set) {
|
||||
instance->engine->payload_set(instance, payload, new_type->asterisk_format, new_type->format, new_type->rtp_code);
|
||||
}
|
||||
} else {
|
||||
ao2_ref(new_type, -1);
|
||||
}
|
||||
|
||||
payload_mapping_tx_remove_other_mappings(codecs, instance, new_type);
|
||||
|
||||
ast_rwlock_unlock(&codecs->codecs_lock);
|
||||
}
|
||||
|
||||
@@ -989,17 +1006,20 @@ int ast_rtp_codecs_payloads_set_rtpmap_type_rate(struct ast_rtp_codecs *codecs,
|
||||
new_type->format = ast_format_parse_sdp_fmtp(new_type->format, "");
|
||||
}
|
||||
|
||||
if (pt < AST_VECTOR_SIZE(&codecs->payload_mapping_tx)) {
|
||||
ao2_t_cleanup(AST_VECTOR_GET(&codecs->payload_mapping_tx, pt),
|
||||
"cleaning up replaced tx payload type");
|
||||
}
|
||||
AST_VECTOR_REPLACE(&codecs->payload_mapping_tx, pt, new_type);
|
||||
if (!payload_mapping_tx_is_present(codecs, new_type)) {
|
||||
if (pt < AST_VECTOR_SIZE(&codecs->payload_mapping_tx)) {
|
||||
ao2_t_cleanup(AST_VECTOR_GET(&codecs->payload_mapping_tx, pt),
|
||||
"cleaning up replaced tx payload type");
|
||||
}
|
||||
AST_VECTOR_REPLACE(&codecs->payload_mapping_tx, pt, new_type);
|
||||
|
||||
if (instance && instance->engine && instance->engine->payload_set) {
|
||||
instance->engine->payload_set(instance, pt, new_type->asterisk_format, new_type->format, new_type->rtp_code);
|
||||
if (instance && instance->engine && instance->engine->payload_set) {
|
||||
instance->engine->payload_set(instance, pt, new_type->asterisk_format, new_type->format, new_type->rtp_code);
|
||||
}
|
||||
} else {
|
||||
ao2_ref(new_type, -1);
|
||||
}
|
||||
|
||||
payload_mapping_tx_remove_other_mappings(codecs, instance, new_type);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1082,11 +1102,14 @@ int ast_rtp_codecs_payload_replace_format(struct ast_rtp_codecs *codecs, int pay
|
||||
type->primary_mapping = 1;
|
||||
|
||||
ast_rwlock_wrlock(&codecs->codecs_lock);
|
||||
if (payload < AST_VECTOR_SIZE(&codecs->payload_mapping_tx)) {
|
||||
ao2_cleanup(AST_VECTOR_GET(&codecs->payload_mapping_tx, payload));
|
||||
if (!payload_mapping_tx_is_present(codecs, type)) {
|
||||
if (payload < AST_VECTOR_SIZE(&codecs->payload_mapping_tx)) {
|
||||
ao2_cleanup(AST_VECTOR_GET(&codecs->payload_mapping_tx, payload));
|
||||
}
|
||||
AST_VECTOR_REPLACE(&codecs->payload_mapping_tx, payload, type);
|
||||
} else {
|
||||
ao2_ref(type, -1);
|
||||
}
|
||||
AST_VECTOR_REPLACE(&codecs->payload_mapping_tx, payload, type);
|
||||
payload_mapping_tx_remove_other_mappings(codecs, NULL, type);
|
||||
ast_rwlock_unlock(&codecs->codecs_lock);
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -522,7 +522,7 @@ static int load_odbc_config(void)
|
||||
!strncasecmp(v->name, "share", 5) ||
|
||||
!strcasecmp(v->name, "limit") ||
|
||||
!strcasecmp(v->name, "idlecheck")) {
|
||||
ast_log(LOG_WARNING, "The 'pooling', 'shared_connections', 'limit', and 'idlecheck' options are deprecated. Please see UPGRADE.txt for information\n");
|
||||
ast_log(LOG_WARNING, "The 'pooling', 'shared_connections', 'limit', and 'idlecheck' options were replaced by 'max_connections'. See res_odbc.conf.sample.\n");
|
||||
} else if (!strcasecmp(v->name, "enabled")) {
|
||||
enabled = ast_true(v->value);
|
||||
} else if (!strcasecmp(v->name, "pre-connect")) {
|
||||
|
||||
@@ -109,8 +109,11 @@ static pj_status_t multihomed_on_tx_message(pjsip_tx_data *tdata)
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
/* The port in the message should always be that of the original transport */
|
||||
prm.ret_port = tdata->tp_info.transport->local_name.port;
|
||||
/* For UDP we can have multiple transports so the port needs to be maintained */
|
||||
if (tdata->tp_info.transport->key.type == PJSIP_TRANSPORT_UDP ||
|
||||
tdata->tp_info.transport->key.type == PJSIP_TRANSPORT_UDP6) {
|
||||
prm.ret_port = tdata->tp_info.transport->local_name.port;
|
||||
}
|
||||
|
||||
/* If the IP source differs from the existing transport see if we need to update it */
|
||||
if (pj_strcmp(&prm.ret_addr, &tdata->tp_info.transport->local_name.host)) {
|
||||
|
||||
Reference in New Issue
Block a user