Compare commits

...

33 Commits

Author SHA1 Message Date
Kevin Harwell
c6d6dd133c ChangeLog: Updated for 14.0.0 2016-09-23 15:38:14 -05:00
Kevin Harwell
1c648c3ebe Release summaries: Add summaries for 14.0.0 2016-09-23 15:38:00 -05:00
Kevin Harwell
4c941e856b Release summaries: Remove previous versions 2016-09-23 14:49:21 -05:00
Kevin Harwell
bacd5521a0 .version: Update for 14.0.0 2016-09-23 14:49:21 -05:00
Kevin Harwell
0a939b274e .lastclean: Update for 14.0.0 2016-09-23 14:49:21 -05:00
Kevin Harwell
6acd3e3f35 realtime: Add database scripts for 14.0.0 2016-09-23 14:49:21 -05:00
Kevin Harwell
ca81c80ca0 ChangeLog: Updated for 14.0.0 2016-09-23 13:43:18 -05:00
Kevin Harwell
9d2c6bf0f5 Release summaries: Add summaries for 14.0.0 2016-09-23 13:43:09 -05:00
Kevin Harwell
7b52be6019 Release summaries: Remove previous versions 2016-09-23 12:34:29 -05:00
Kevin Harwell
97d18e8649 .version: Update for 14.0.0 2016-09-23 12:34:29 -05:00
Kevin Harwell
0f4f2c6884 .lastclean: Update for 14.0.0 2016-09-23 12:34:29 -05:00
Kevin Harwell
67da18293f realtime: Add database scripts for 14.0.0 2016-09-23 12:34:29 -05:00
Joshua Colp
82e513d699 ChangeLog: Updated for 14.0.0-rc2 2016-09-22 10:26:06 -05:00
Joshua Colp
35de18d636 Release summaries: Add summaries for 14.0.0-rc2 2016-09-22 10:25:48 -05:00
Joshua Colp
fc8ac2fd17 Release summaries: Remove previous versions 2016-09-22 10:25:26 -05:00
Joshua Colp
75acfb0168 .version: Update for 14.0.0-rc2 2016-09-22 10:25:26 -05:00
Joshua Colp
169bfc9b55 .lastclean: Update for 14.0.0-rc2 2016-09-22 10:25:26 -05:00
Joshua Colp
d5ea628298 realtime: Add database scripts for 14.0.0-rc2 2016-09-22 10:25:26 -05:00
Joshua Colp
de456d5e31 Merge "core: Ensure presencestate subtype and message are NULL." into 14.0 2016-09-22 08:56:23 -05:00
Joshua Colp
bc876e50f1 Merge "res_odbc: Make pooling option deprecation notice more useful." into 14.0 2016-09-22 07:10:45 -05:00
Joshua Colp
31fa14264b 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 14:27:38 -05:00
Joshua Colp
885945af03 Merge "logger: Always enable verbose for console channel." into 14.0 2016-09-21 12:59:19 -05:00
Joshua Colp
672a1a5854 Merge "logger: Fix default console settings." into 14.0 2016-09-21 12:59:15 -05:00
Joshua Colp
3facd0febb 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 11:05:49 -05:00
Joshua Colp
29358ce602 Merge "core: Fix LOW_MEMORY missing symbol ast_pbx_uuid_get." into 14.0 2016-09-21 10:05:32 -05:00
Joshua Colp
27dcb25612 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-21 08:47:35 -05:00
Corey Farrell
cab2e4514e 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 16:32:08 -04:00
Corey Farrell
c4ef22b5f7 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 16:29:35 -04:00
Corey Farrell
6e78b5c257 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-20 15:23:11 -05:00
Joshua Colp
1bae929f5c Merge "res_pjsip_multihomed: Change Contact port to listening port." into 14.0 2016-09-20 12:20:07 -05:00
Joshua Colp
76418b5666 Merge "rtp: Only accept the first payload for a format in SDP." into 14.0 2016-09-20 10:03:14 -05:00
Joshua Colp
a2b03cf0b4 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-15 14:27:54 -05:00
Joshua Colp
7244ff1ccd 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-15 08:26:16 -05:00
13 changed files with 14701 additions and 243 deletions

View File

@@ -1 +1 @@
14.0.0-rc1
14.0.0

189
ChangeLog
View File

@@ -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.

View File

@@ -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">&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 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>

View File

@@ -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

File diff suppressed because one or more lines are too long

10112
asterisk-14.0.0-summary.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -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.

View File

@@ -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);

View File

@@ -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);

View File

@@ -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;

View File

@@ -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;

View File

@@ -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")) {

View File

@@ -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)) {