[asterisk-commits] bebuild: tag 12.0.0-alpha2 r400611 - /tags/12.0.0-alpha2/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Sat Oct 5 12:59:34 CDT 2013
Author: bebuild
Date: Sat Oct 5 12:59:32 2013
New Revision: 400611
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=400611
Log:
Importing files for 12.0.0-alpha2 release.
Added:
tags/12.0.0-alpha2/.lastclean (with props)
tags/12.0.0-alpha2/.version (with props)
tags/12.0.0-alpha2/ChangeLog (with props)
Added: tags/12.0.0-alpha2/.lastclean
URL: http://svnview.digium.com/svn/asterisk/tags/12.0.0-alpha2/.lastclean?view=auto&rev=400611
==============================================================================
--- tags/12.0.0-alpha2/.lastclean (added)
+++ tags/12.0.0-alpha2/.lastclean Sat Oct 5 12:59:32 2013
@@ -1,0 +1,1 @@
+40
Propchange: tags/12.0.0-alpha2/.lastclean
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tags/12.0.0-alpha2/.lastclean
------------------------------------------------------------------------------
svn:keywords = none
Propchange: tags/12.0.0-alpha2/.lastclean
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: tags/12.0.0-alpha2/.version
URL: http://svnview.digium.com/svn/asterisk/tags/12.0.0-alpha2/.version?view=auto&rev=400611
==============================================================================
--- tags/12.0.0-alpha2/.version (added)
+++ tags/12.0.0-alpha2/.version Sat Oct 5 12:59:32 2013
@@ -1,0 +1,1 @@
+12.0.0-alpha2
Propchange: tags/12.0.0-alpha2/.version
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tags/12.0.0-alpha2/.version
------------------------------------------------------------------------------
svn:keywords = none
Propchange: tags/12.0.0-alpha2/.version
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: tags/12.0.0-alpha2/ChangeLog
URL: http://svnview.digium.com/svn/asterisk/tags/12.0.0-alpha2/ChangeLog?view=auto&rev=400611
==============================================================================
--- tags/12.0.0-alpha2/ChangeLog (added)
+++ tags/12.0.0-alpha2/ChangeLog Sat Oct 5 12:59:32 2013
@@ -1,0 +1,19179 @@
+2013-10-05 Asterisk Development Team <asteriskteam at digium.com>
+
+ * Asterisk 12.0.0-alpha2 Released.
+
+2013-10-05 00:41 +0000 [r400588] Richard Mudgett <rmudgett at digium.com>
+
+ * channels/iax2/include/parser.h: chan_iax2: Fix compile error.
+
+2013-10-04 21:40 +0000 [r400567] Michael L. Young <elgueromexicano at gmail.com>
+
+ * channels/iax2/include/parser.h, main/acl.c,
+ include/asterisk/netsock2.h, CHANGES, channels/chan_iax2.c,
+ channels/iax2/parser.c, main/netsock.c, main/netsock2.c: Add IPv6
+ Support To chan_iax2 This patch adds IPv6 support to chan_iax2.
+ Yay! (closes issue ASTERISK-22025) Patches:
+ iax2-ipv6-v5-reviewboard.diff by Michael L. Young (license 5026)
+ Review: https://reviewboard.asterisk.org/r/2660/
+
+2013-10-04 19:31 +0000 [r400552] David M. Lee <dlee at digium.com>
+
+ * rest-api/api-docs/applications.json (added): Added missing file
+ from r400522
+
+2013-10-04 18:42 +0000 [r400532-400542] Jonathan Rose <jrose at digium.com>
+
+ * res/res_pjsip_logger.c: chan_pjsip: Make logger togglable without
+ loading/unloading This patch makes the res_pjsip_logger do a few
+ things... First, it will be built and installed by default now,
+ so end users won't need to enable it in menuselect. Second, while
+ it is loaded, it no longer will immediately issue log messages.
+ Upon loading, it is in the disabled state and must be turned on
+ with the new CLI command. The CLI command 'pjsip set logger
+ <on/off/host> has been added and can be used to do the following:
+ pjsip set logger on: Enables logger for all PJSIP traffic pjsip
+ set logger off: Disables logger for all PJSIP traffic pjsip set
+ logger host <host>: Enables logger for the specific host Review:
+ https://reviewboard.asterisk.org/r/2900/
+
+ * configs/extconfig.conf.sample, configs/sorcery.conf.sample,
+ contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py
+ (added),
+ contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py:
+ chan_pjsip: Add alembic scripts for generating db tables for
+ PJSIP Also updates sample configurations for sorcery and
+ extconfig to demonstrate how to use databases created by that
+ alembic script. (closes issue ASTERISK-22133) Reported by: Matt
+ Jordan Review: https://reviewboard.asterisk.org/r/2892/
+
+2013-10-04 15:54 +0000 [r400522] Matthew Jordan <mjordan at digium.com>
+
+ * main/endpoints.c, res/ari/ari_model_validators.c,
+ res/ari/ari_model_validators.h, res/res_ari_model.c, main/json.c,
+ res/ari.make, res/ari/resource_applications.c (added),
+ res/ari/resource_applications.h (added), res/res_stasis.c,
+ main/asterisk.c, rest-api/api-docs/endpoints.json,
+ rest-api/api-docs/events.json, res/stasis/app.c,
+ include/asterisk/endpoints.h,
+ rest-api-templates/ari_model_validators.h.mustache,
+ res/res_ari_applications.c (added), res/ari/resource_endpoints.h,
+ include/asterisk/stasis_app.h, res/stasis/app.h,
+ rest-api/resources.json, include/asterisk/_private.h: ARI: Add
+ subscription support This patch adds an /applications API to ARI,
+ allowing explicit management of Stasis applications. * GET
+ /applications - list current applications * GET
+ /applications/{applicationName} - get details of a specific
+ application * POST /applications/{applicationName}/subscription -
+ explicitly subscribe to a channel, bridge or endpoint * DELETE
+ /applications/{applicationName}/subscription - explicitly
+ unsubscribe from a channel, bridge or endpoint Subscriptions work
+ by a reference counting mechanism: if you subscript to an event
+ source X number of times, you must unsubscribe X number of times
+ to stop receiveing events for that event source. Review:
+ https://reviewboard.asterisk.org/r/2862 (issue ASTERISK-22451)
+ Reported by: Matt Jordan
+
+2013-10-04 15:48 +0000 [r400510-400520] Joshua Colp <jcolp at digium.com>
+
+ * res/res_pjsip.c: Enclose the To URI and update its user portion
+ if a request user has been specified.
+
+ * res/res_pjsip_session.c: Replace the connection address at the
+ SDP level if altering the SDP with the external media address.
+
+2013-10-04 04:54 +0000 [r400508] David M. Lee <dlee at digium.com>
+
+ * rest-api/api-docs/playback.json, res/res_ari_playback.c:
+ Corrected response class for stopPlayback
+
+2013-10-03 23:11 +0000 [r400471] Jonathan Rose <jrose at digium.com>
+
+ * /, channels/chan_sip.c: chan_sip: Don't ignore expires value in
+ contact header if it lacks semicolon (closes issue
+ ASTERISK-22574) Reported by: Filip Jenicek Patches:
+ chan_sip_expires.patch uploaded by Filip Jenicek (license 6277)
+ ........ Merged revisions 400469 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 400470 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-10-03 21:40 +0000 [r400460] Matthew Jordan <mjordan at digium.com>
+
+ * main/channel_internal_api.c: Remove publication of a channel
+ snapshot when the technology is set This patch removes said
+ publication for a few reasons: (1) It is unnecessary. Association
+ of the channel technology with a specific channel is an
+ implementation detail that should be assumed to "just happen",
+ and consumers of Stasis don't need to be informed about it. (2)
+ Publication of said message can now cause crashes, as the actual
+ creation of a channel in normal locations now stages its
+ messages. As a result, things that create dummy channels (such as
+ the SIP RTP QOS unit test) and associate them with a channel
+ technology were now crashing, as the channel itself was not known
+ by Stasis.
+
+2013-10-03 19:31 +0000 [r400442] Joshua Colp <jcolp at digium.com>
+
+ * main/cdr.c: When serializing CDR variables (like for "core show
+ channels") don't output an error if CDRs aren't enabled.
+
+2013-10-03 19:29 +0000 [r400440] Kinsey Moore <kmoore at digium.com>
+
+ * /, main/security_events.c: Fix security events for AMI invalid
+ password In r337595, additional security events were added for
+ chan_sip authentication failures. The new IEs added to the
+ existing invalid password event were defined as required IEs, but
+ existing users of the event did not set the new IEs and could not
+ since they didn't apply to existing uses. They are now marked as
+ optional IEs. (closes issue ASTERISK-22578) Reported by: Matt
+ Jordan ........ Merged revisions 400421 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-10-03 19:11 +0000 [r400403] Mark Michelson <mmichelson at digium.com>
+
+ * include/asterisk/bridge_technology.h,
+ bridges/bridge_native_rtp.c: Fix assumption in
+ bridge_native_rtp.c regarding number of participants in a bridge.
+ When a party leaves a bridge, there may be more participants in
+ the bridge than expected. As such, it is important not to make
+ assumptions regarding the list of channels in a bridge. This
+ change makes it so that when a party leaves a native RTP bridge,
+ we unbridge it and the party it was bridged with. Previously, the
+ first and last channels in the list were unbridged since it was
+ assumed that these were the two channels that had been bridged.
+ As previously stated, a new party had been inserted into the
+ bridge, so this logic did not work properly. (closes issue
+ ASTERISK-22615) reported by Matt Jordan (closes issue
+ ASTERISK-22532) reported by Matt Jordan Review:
+ https://reviewboard.asterisk.org/r/2899
+
+2013-10-03 19:05 +0000 [r400401] Joshua Colp <jcolp at digium.com>
+
+ * res/ari/resource_channels.c: Fix a crash caused by muting and
+ unmuting a channel in ARI without specifying a direction. (closes
+ issue ASTERISK-22637) Reported by: Scott Griepentrog Patch by
+ Matt Jordan, whose office I have taken over in the name of
+ Canada.
+
+2013-10-03 18:44 +0000 [r400398] Richard Mudgett <rmudgett at digium.com>
+
+ * main/cel.c: cel: Some whitespace cleanups
+
+2013-10-03 18:28 +0000 [r400384-400395] Kinsey Moore <kmoore at digium.com>
+
+ * res/res_rtp_multicast.c, /: Ensure res_rtp_mutlicast sets SSRC
+ properly This fixes a bug where the SSRC field on multicast RTP
+ can be stuck at 0 which can cause problems for endpoints trying
+ to make sense of incoming streams. (closes issue ASTERISK-22567)
+ Reported by: Simone Camporeale Patches:
+ 22567_res_mulitcast_ssrc.patch uploaded by Simone Camporeale
+ (License 6536) ........ Merged revisions 400393 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 400394 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+ * configure, include/asterisk/autoconfig.h.in, configure.ac,
+ main/xml.c: Detect and use xsltCleanupGlobals when available This
+ introduces usage of an additional libxslt cleanup function,
+ xsltCleanupGlobals, when the configure script detects that it is
+ available. Early versions of the library did not include this
+ function. (closes issue ASTERISK-22570) Reported by: Corey
+ Farrell Patches: xsltCleanupGlobals.patch uploaded by Corey
+ Farrell (License 5909)
+
+2013-10-03 17:55 +0000 [r400383] Matthew Jordan <mjordan at digium.com>
+
+ * contrib/ast-db-manage/config/env.py,
+ contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py,
+ contrib/ast-db-manage/voicemail/env.py: Update Alembic database
+ scripts for external scripting and PostgreSQL, Oracle This patch
+ does the following: 1) The env scripts have been updated to be
+ tolerant of a NULL configuration file. This occurs when
+ configuration is provided by an external script, such that the
+ actual config.ini file is not used. 2) Enum types have all been
+ given names. This is needed for PostgreSQL script generation. 3)
+ The identifier meetme_confno_starttime_endtime is greater than 30
+ characters, and hence invalid for Oracle databases. This has been
+ truncated down to meetme_confno_start_end.
+
+2013-10-03 16:22 +0000 [r400373] Richard Mudgett <rmudgett at digium.com>
+
+ * channels/chan_vpb.cc: chan_vpb: Make compile again.
+
+2013-10-03 14:56 +0000 [r400362] Mark Michelson <mmichelson at digium.com>
+
+ * tests/test_cel.c: Get rid of uses of stasis_topic_wait()
+
+2013-10-03 14:51 +0000 [r400360] Joshua Colp <jcolp at digium.com>
+
+ * res/res_pjsip_sdp_rtp.c, res/res_pjsip_t38.c: Fix crashes in
+ res_pjsip_sdp_rtp and res_pjsip_t38 when a stream is rejected and
+ external_media_address is set. The callback function for changing
+ the media address in streams wrongly assumes that a connection
+ line will always be present. This is false as no line is present
+ if a stream has been rejected. (closes issue ASTERISK-22645)
+ Reported by: Rusty Newton
+
+2013-10-02 22:34 +0000 [r400318-400356] Mark Michelson <mmichelson at digium.com>
+
+ * channels/chan_skinny.c, main/file.c,
+ res/res_pjsip/pjsip_configuration.c, channels/chan_alsa.c,
+ tests/test_config.c, channels/chan_nbs.c,
+ bridges/bridge_native_rtp.c, addons/chan_mobile.c,
+ channels/chan_pjsip.c, channels/chan_mgcp.c,
+ res/res_clioriginate.c, channels/chan_unistim.c,
+ main/rtp_engine.c, channels/chan_multicast_rtp.c, main/ccss.c,
+ channels/chan_bridge_media.c, apps/app_meetme.c,
+ main/bridge_basic.c, apps/app_originate.c,
+ res/parking/parking_applications.c, channels/chan_gtalk.c,
+ res/ari/resource_bridges.c, channels/chan_jingle.c,
+ channels/chan_phone.c, channels/chan_dahdi.c, main/dial.c,
+ pbx/pbx_spool.c, channels/dahdi/bridge_native_dahdi.c,
+ main/format_cap.c, channels/chan_motif.c, res/res_agi.c,
+ channels/chan_h323.c, apps/app_confbridge.c, res/res_stasis.c,
+ addons/chan_ooh323.c, channels/chan_sip.c,
+ bridges/bridge_holding.c, res/res_pjsip_sdp_rtp.c,
+ tests/test_format_api.c, bridges/bridge_simple.c,
+ bridges/bridge_softmix.c, main/core_local.c,
+ channels/chan_console.c, channels/chan_iax2.c,
+ channels/chan_oss.c, include/asterisk/format_cap.h,
+ res/res_pjsip_session.c, main/media_index.c, main/channel.c,
+ channels/chan_misdn.c, main/manager.c: Cache string values of
+ formats on ast_format_cap() to save processing. Channel snapshots
+ have string representations of the channel's native formats.
+ Prior to this change, the format strings were re-created on ever
+ channel snapshot creation. Since channel native formats rarely
+ change, this was very wasteful. Now, string representations of
+ formats may optionally be stored on the ast_format_cap for cases
+ where string representations may be requested frequently. When
+ formats are altered, the string cache is marked as invalid. When
+ strings are requested, the cache validity is checked. If the
+ cache is valid, then the cached strings are copied. If the cache
+ is invalid, then the string cache is rebuilt and copied, and the
+ cache is marked as being valid again. Review:
+ https://reviewboard.asterisk.org/r/2879
+
+ * /: Remove svn:mergeinfo property.
+
+ * include/asterisk/stasis.h, tests/test_cel.c,
+ include/asterisk/stasis_endpoints.h, channels/chan_pjsip.c,
+ main/stasis.c, main/stasis_endpoints.c, main/stasis_wait.c
+ (removed), res/ari/resource_endpoints.c, /: Remove unnecessary
+ waits from stasis. Since caches are updated on publisher threads,
+ there is no need to wait for the cache updates to occur after a
+ stasis message is published. In the case of chan_pjsip device
+ state changes, this set of changes caused an improvement to
+ performance. Review: https://reviewboard.asterisk.org/r/2890
+
+2013-10-02 21:32 +0000 [r400316] Michael L. Young <elgueromexicano at gmail.com>
+
+ * channels/chan_iax2.c, /: Cast Integer Argument To Unsigned Char
+ The member reg in the peercnt structure is an unsigned char and
+ peercnt_modify() is expecting an unsigned char argument which
+ gets assigned to peercnt->reg. This patch fixes that by casting
+ the integer argument being passed to peercnt_modify to unsigned
+ char. ........ Merged revisions 400314 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 400315 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-10-02 21:25 +0000 [r400312] Matthew Jordan <mjordan at digium.com>
+
+ * main/cel.c, main/cdr.c, main/manager.c: Only create Stasis
+ subscriptions when enabled Subscribing to Stasis isn't free. As
+ such, this patch makes AMI, CDR, and CEL - the "big 3" - only
+ subscribe when enabled. Toggling their availability via a .conf
+ file will unsubscribe/subscribe as appropriate. Review:
+ https://reviewboard.asterisk.org/r/2888/
+
+2013-10-02 20:30 +0000 [r400303] Richard Mudgett <rmudgett at digium.com>
+
+ * main/pbx.c: Originate: Make setting caller id on outgoing call
+ use either name or number. Previous code was requiring both name
+ and number to be available. Also restored a comment block on why
+ caller id is also set on an outgoing call leg in addition to
+ connected line from earlier versions of Asterisk.
+
+2013-10-02 19:19 +0000 [r400291] Kinsey Moore <kmoore at digium.com>
+
+ * rest-api/api-docs/asterisk.json: Correct allowable values for ARI
+ general information filter
+
+2013-10-02 18:57 +0000 [r400286] Matthew Jordan <mjordan at digium.com>
+
+ * main/cdr.c: Fix the CDR CLI command 'cdr show active {channel}'
+ When the switch from channel names to channel unique IDs
+ happened, the poor CLI command got left in the dust. This fixes
+ the command so that users can once again see how Asterisk is
+ messing up your billing information.
+
+2013-10-02 18:42 +0000 [r400284] Joshua Colp <jcolp at digium.com>
+
+ * res/res_pjsip_t38.c: Fix a crash in res_pjsip_t38 caused by the
+ wrong assumption that a session will always have a channel. When
+ starting up or shutting down this assumption is false.
+
+2013-10-02 18:25 +0000 [r400281] Tzafrir Cohen <tzafrir.cohen at xorcom.com>
+
+ * doc/astdb2bdb.8 (added), Makefile, doc/astdb2sqlite3.8 (added),
+ /: man pages for astdb2bdb and astdb2sqlite3 Review:
+ https://reviewboard.asterisk.org/r/2898/ ........ Merged
+ revisions 400279 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-10-02 17:11 +0000 [r400268-400270] Richard Mudgett <rmudgett at digium.com>
+
+ * res/stasis_recording/stored.c, main/json.c, main/stasis_cache.c,
+ res/res_ari.c, main/utils.c, apps/app_stack.c: MALLOC_DEBUG: Fix
+ some misuses of free() when MALLOC_DEBUG is enabled. * There were
+ several places in ARI where an external library was mallocing
+ memory that must always be released with free(). When
+ MALLOC_DEBUG is enabled, free() is redirected to the MALLOC_DEBUG
+ version. Since the external library call still uses the normal
+ malloc(), MALLOC_DEBUG complains that the freed memory block is
+ not registered and will not free it. These cases must use
+ ast_std_free(). * Changed calls to asprintf() and vasprintf() to
+ the equivalent ast_asprintf() and ast_vasprintf() versions
+ respectively.
+
+ * channels/sig_ss7.c: sig_ss7: Fix compiler warnings.
+
+2013-10-02 16:20 +0000 [r400245-400265] Joshua Colp <jcolp at digium.com>
+
+ * include/asterisk/channel.h, channels/chan_gtalk.c,
+ channels/chan_console.c, channels/sig_pri.c,
+ channels/chan_iax2.c, channels/chan_jingle.c, main/channel.c,
+ main/dial.c, channels/chan_dahdi.c,
+ include/asterisk/stasis_channels.h, channels/chan_skinny.c,
+ channels/chan_motif.c, channels/chan_alsa.c,
+ main/stasis_channels.c, channels/chan_pjsip.c,
+ channels/sig_ss7.c, channels/chan_mgcp.c,
+ channels/chan_unistim.c, apps/app_dial.c, main/pbx.c,
+ channels/chan_sip.c, main/bridge.c: Reduce channel snapshot
+ creation and publishing by up to 50%. This change introduces the
+ ability to stage channel snapshot creation and publishing by
+ suppressing the implicit creation and publishing that some
+ functions have. Once all operations are executed the staging is
+ marked as done and a single snapshot is created and published.
+ Review: https://reviewboard.asterisk.org/r/2889/
+
+ * res/res_pjsip_session.c: Fix a random one way audio issue in
+ PJSIP. Due to the asynchronous design of the PJMEDIA SDP
+ negotiator it was possible for the SDP to be negotiated *after* a
+ channel was created and after it was being wait on by an
+ application. It is only after negotiation occurs that the file
+ descriptors for RTP are placed on the channel. Since the channel
+ was already being waited on these file descriptors were not
+ monitored, causing incoming media to never be read. This change
+ wakes up any application waiting on the channel so that added
+ file descriptors end up being monitored. (closes issue AST-1227)
+ Reported by: John Bigelow
+
+ * res/stasis/control.c, include/asterisk/stasis_app.h,
+ res/ari/resource_channels.c: Allow specifying a channel to dial
+ an extension and context in an ARI dial operation. (issue
+ ASTERISK-22625) Reported by: Scott Griepentrog
+
+ * res/res_pjsip_session.c: Retrieve and store the hostname only
+ once so multiple threads do not potentially initialize it at the
+ same time.
+
+2013-10-01 21:17 +0000 [r400227-400236] Richard Mudgett <rmudgett at digium.com>
+
+ * channels/chan_dahdi.c, channels/sig_analog.c: chan_dahdi: Fix
+ analog parking using flash-hook. Transferring an analog call
+ using a flash-hook to parking would fail to park the call and
+ result in an invalid ao2 object unref. * Park the correct bridged
+ channel.
+
+ * main/features_config.c: Features: Rearm the parking config
+ options have moved warning for each reload.
+
+2013-10-01 15:48 +0000 [r400217] Matthew Jordan <mjordan at digium.com>
+
+ * main/cdr.c: Filter out internal channels for bridge leave
+ messages and parked call messages Granted, if you manage to park
+ a Conference announcer channel, something has gone horrifically
+ wrong.
+
+2013-09-30 21:31 +0000 [r400205] Jonathan Rose <jrose at digium.com>
+
+ * configs/features.conf.sample, configs/res_parking.conf.sample:
+ configuration samples: Pull all parking related stuff out of
+ features.conf This patch also adds documentation for parking from
+ features.conf to res_parking.conf
+
+2013-09-30 19:57 +0000 [r400194-400196] Matthew Jordan <mjordan at digium.com>
+
+ * funcs/func_cdr.c: Parse arguments passed to the CDR_PROP function
+ correctly I can only blame this on a bad merge, because this in
+ no way worked properly the way it was written. Mea culpa. The
+ function should now parse its arguments correctly and function
+ properly. (Note that the API used by the CDR_PROP function has
+ working unit tests... this was merely bad coding of the actual
+ registered function) (closes issue ASTERISK-22613) Reported by:
+ Private Name
+
+ * main/cdr.c: Remove spurious event raised when CDRs are reloaded
+ The Reload event is now raised by the module loading core. As
+ such, the Reload event in the CDR engine was a duplicate and not
+ needed.
+
+2013-09-30 18:48 +0000 [r400178-400181] David M. Lee <dlee at digium.com>
+
+ * main/ccss.c, apps/app_meetme.c, include/asterisk/taskprocessor.h,
+ res/parking/parking_applications.c, channels/sig_pri.c,
+ apps/app_queue.c, main/cel.c, main/stasis.c,
+ channels/chan_dahdi.c, main/stasis_message_router.c,
+ funcs/func_presencestate.c, apps/confbridge/confbridge_manager.c,
+ res/res_agi.c, res/res_stasis_test.c, main/manager_channels.c,
+ main/manager_mwi.c, res/res_pjsip_refer.c, apps/app_voicemail.c,
+ main/stasis_cache.c, main/stasis_wait.c, res/stasis/app.c,
+ include/asterisk/stasis_internal.h, channels/chan_sip.c,
+ main/manager_endpoints.c, include/asterisk/stasis.h,
+ main/devicestate.c, res/res_xmpp.c, main/taskprocessor.c,
+ main/sounds_index.c, main/endpoints.c, channels/chan_iax2.c,
+ res/res_jabber.c, res/parking/parking_bridge_features.c,
+ res/res_chan_stats.c, main/cdr.c, main/manager_bridges.c,
+ main/manager.c, channels/chan_skinny.c, tests/test_devicestate.c,
+ res/res_pjsip_mwi.c, tests/test_taskprocessor.c,
+ tests/test_stasis.c, res/parking/parking_manager.c,
+ channels/chan_mgcp.c, res/res_security_log.c, main/pbx.c: Remove
+ dispatch object allocation from Stasis publishing While looking
+ for areas for performance improvement, I realized that an unused
+ feature in Stasis was negatively impacting performance. When a
+ message is sent to a subscriber, a dispatch object is allocated
+ for the dispatch, containing the topic the message was published
+ to, the subscriber the message is being sent to, and the message
+ itself. The topic is actually unused by any subscriber in
+ Asterisk today. And the subscriber is associated with the
+ taskprocessor the message is being dispatched to. First, this
+ patch removes the unused topic parameter from Stasis subscription
+ callbacks. Second, this patch introduces the concept of
+ taskprocessor local data, data that may be set on a taskprocessor
+ and provided along with the data pointer when a task is pushed
+ using the ast_taskprocessor_push_local() call. This allows the
+ task to have both data specific to that taskprocessor, in
+ addition to data specific to that invocation. With those two
+ changes, the dispatch object can be removed completely, and the
+ message is simply refcounted and sent directly to the
+ taskprocessor. Review: https://reviewboard.asterisk.org/r/2884/
+
+ * tests/test_stasis.c, main/manager_channels.c, main/manager_mwi.c,
+ main/stasis_cache_pattern.c, include/asterisk/vector.h (added),
+ res/stasis/app.c, main/channel_internal_api.c,
+ include/asterisk/stasis.h, apps/app_queue.c, main/cel.c,
+ main/stasis.c, tests/test_stasis_endpoints.c, main/cdr.c,
+ main/manager_bridges.c, main/manager.c, main/manager_system.c:
+ Optimize how Stasis forwards are dispatched This patch optimizes
+ how forwards are dispatched in Stasis. Originally, forwards were
+ dispatched as subscriptions that are invoked on the publishing
+ thread. This did not account for the vast number of forwards we
+ would end up having in the system, and the amount of work it
+ would take to walk though the forward subscriptions. This patch
+ modifies Stasis so that rather than walking the tree of forwards
+ on every dispatch, when forwards and subscriptions are changed,
+ the subscriber list for every topic in the tree is changed. This
+ has a couple of benefits. First, this reduces the workload of
+ dispatching messages. It also reduces contention when dispatching
+ to different topics that happen to forward to the same
+ aggregation topic (as happens with all of the channel, bridge and
+ endpoint topics). Since forwards are no longer subscriptions, the
+ bulk of this patch is simply changing stasis_subscription objects
+ to stasis_forward objects (which, admittedly, I should have done
+ in the first place.) Since this required me to yet again put in a
+ growing array, I finally abstracted that out into a set of
+ ast_vector macros in asterisk/vector.h. Review:
+ https://reviewboard.asterisk.org/r/2883/
+
+ * main/sem.c (added), main/stasis.c, main/stasis_config.c
+ (removed), include/asterisk/taskprocessor.h, configure,
+ include/asterisk/autoconfig.h.in, configs/stasis.conf.sample
+ (removed), include/asterisk/sem.h (added), configure.ac,
+ include/asterisk/stasis.h, main/taskprocessor.c: Taskprocessor
+ optimization; switch Stasis to use taskprocessors This patch
+ optimizes taskprocessor to use a semaphore for signaling, which
+ the OS can do a better job at managing contention and waiting
+ that we can with a mutex and condition. The taskprocessor
+ execution was also slightly optimized to reduce the number of
+ locks taken. The only observable difference in the taskprocessor
+ implementation is that when the final reference to the
+ taskprocessor goes away, it will execute all tasks to completion
+ instead of discarding the unexecuted tasks. For systems where
+ unnamed semaphores are not supported, a really simple semaphore
+ implementation is provided. (Which gives identical performance as
+ the original taskprocessor implementation). The way we ended up
+ implementing Stasis caused the threadpool to be a burden instead
+ of a boost to performance. This was switched to just use
+ taskprocessors directly for subscriptions. Review:
+ https://reviewboard.asterisk.org/r/2881/
+
+2013-09-30 15:55 +0000 [r400141] Kinsey Moore <kmoore at digium.com>
+
+ * /, channels/chan_sip.c, configs/pjsip.conf.sample,
+ res/res_pjsip_outbound_registration.c, configs/sip.conf.sample,
+ CHANGES: Allow Asterisk to retry after 403 on register This adds
+ a global option in chan_sip to allow it to continue attempting
+ registration if a 403 is received, clearing the cached nonce and
+ treating it as a non-fatal response. Normally, this would cause
+ registration attempts to that endpoint to stop. This also adds a
+ similar per-outbound-registration option to chan_pjsip which
+ allows the retry interval to be altered for 403 responses to
+ REGISTER requests. (closes issue ASTERISK-17138) Review:
+ https://reviewboard.asterisk.org/r/2874/ Reported by: Rudi
+ ........ Merged revisions 400137 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 400140 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-09-30 15:24 +0000 [r400138] David M. Lee <dlee at digium.com>
+
+ * main/stasis_message_router.c, main/taskprocessor.c,
+ include/asterisk/stasis_message_router.h,
+ res/res_pjsip/include/res_pjsip_private.h, tests/test_stasis.c,
+ main/astobj2.c, main/stasis.c: Stasis performance improvements
+ This patch addresses several performance problems that were found
+ in the initial performance testing of Asterisk 12. The Stasis
+ dispatch object was allocated as an AO2 object, even though it
+ has a very confined lifecycle. This was replaced with a straight
+ ast_malloc(). The Stasis message router was spending an
+ inordinate amount of time searching hash tables. In this case,
+ most of our routers had 6 or fewer routes in them to begin with.
+ This was replaced with an array that's searched linearly for the
+ route. We more heavily rely on AO2 objects in Asterisk 12, and
+ the memset() in ao2_ref() actually became noticeable on the
+ profile. This was #ifdef'ed to only run when AO2_DEBUG was
+ enabled. After being misled by an erroneous comment in
+ taskprocessor.c during profiling, the wrong comment was removed.
+ Review: https://reviewboard.asterisk.org/r/2873/
+
+2013-09-28 22:56 +0000 [r400058-400121] Matthew Jordan <mjordan at digium.com>
+
+ * res/res_pjsip_notify.c, configs/pjsip_notify.conf.sample (added):
+ res_pjsip_notify: Add documentation We forgot to add
+ documentation for res_pjsip_notify, which would prevent it from
+ being loaded. Whoops. This patch also updates res_pjsip_notify to
+ use pjsip_notify.conf, which now has its own sample file in the
+ configs directory as well. Review:
+ https://reviewboard.asterisk.org/r/2835/
+
+ * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Correct erroneous
+ lost packet information in RTCP reports RTCP's calculation of the
+ number of lost packets in an RTP stream is based on that stream's
+ sequence number count, the number of received packets, and how
+ many packets we expect to receive. When the SSRC for an RTP
+ stream changes, there can - and almost always will be - a large
+ jump in the next packet's timestamp and sequence number. If we
+ don't reset the number of received packets, sequence number
+ count, and other metrics used by RTCP, the next RR/SR report will
+ use the previous SSRC's values to calculate the lost packet count
+ for the new SSRC - resulting in a very large number of lost
+ packets. This patch modifies res_rtp_asterisk such that, if it
+ detects a SSRC change, it will reset the various values used by
+ the RTCP calculations. From the perspective of RTCP, this appears
+ as a new media stream - which is what it is. Review:
+ https://reviewboard.asterisk.org/r/2886/ (closes issue AST-1174)
+ Reported by: Thomas Arimont ........ Merged revisions 400089 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 400093 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+ * configure.ac, /, configure: Add check for openSUSE when detecting
+ bfd library In ASTERISK-17842, some additional library checks
+ were added to the configure script so that the bfd library could
+ be found on CentOS and Fedora systems. As it turns out, openSUSE
+ requires an additional library. This patch adds another check to
+ the configure script for openSUSE that will add that library.
+ Review: https://reviewboard.asterisk.org/r/2885/ (closes issue
+ AST-1169) Reported by: Guenther Kelleter ........ Merged
+ revisions 400073 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 400075 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+ * main/cdr.c: CDR: Improve handling of parking; resolve assertion
+ when originating into park This patch covers two problems: 1)
+ Currently, when a call is transferred into a parking lot from a
+ bridge (using either the blind transfer or one touch parking
+ mechanisms), the application fails to be set to "Park" in the
+ resulting CDR record for the parked channel. This is due to the
+ ParkedCall message arriving before the BridgeEnter for the
+ channel entering the parking bridge. The ParkedCall message isn't
+ handled as the CDR for the channel has already been finalized
+ (due to the channel having left its two party bridge), and the
+ BridgeEnter - which creates the new CDR - doesn't have the
+ parking information. This patch modifies the behavior so that
+ reception of a ParkedCall message will - if not handled by a CDR
+ chain - cause a new CDR to be created and put into the Parking
+ state. 2) It fixes a FRACK that occurred when a channel is
+ originated into a parking space. The DialedPending state - which
+ occurs for both Dialed and Originated channels - assumed that it
+ couldn't handle the parking transitions due to it having a Party
+ B; however, Originated channels don't have a Party B. As such,
+ the existing CDR needs to transition into the parking state -
+ this patch does that. Review:
+ https://reviewboard.asterisk.org/r/2877/ (closes issue
+ ASTERISK-22482) Reported by: Richard Mudgett
+
+ * apps/app_queue.c: app_queue: Make manager events tolerant of
+ Local channel shenanigans app_queue currently attempts to handle
+ Local channel optimizations in an effort to provide accurate
+ information in Stasis messages (and their corresponding AMI
+ events) as well as the Queue log. Sometimes, however, things
+ don't go as planned. Consider the following scenario: SIP/foo <->
+ L;1 <-> L;2 <-> SIP/agent SIP/agent answers, triggering a Local
+ channel optimization. app_queue will normally do the following: *
+ Listen for the Local optimization events and update our agent
+ accordingly to SIP/agent in the queue log and messages * When we
+ get a hangup, publish the AgentComplete event based on our
+ information (SIP/foo and SIP/agent) However, as with all things
+ that depend on sanity from something as capricious as Local
+ channels, things can go wrong: (1) SIP/agent immediately hangs up
+ upon answering. This triggers a race condition between
+ termination messages coming from SIP/agent and the ongoing Local
+ channel optimization messages. (Note that this can also occur
+ with SIP/foo) (2) In a race condition, Asterisk can (rarely)
+ deliver the hangup messages prior to the Local channel
+ optimization. In that case, the messages *may* arrive to
+ app_queue in the following order: * Hangup SIP/Agent * Hangup
+ SIP/foo * Optimize L;1/L;2 * Hangup L;2 * Hangup L;1 When
+ app_queue receives the hangup of the agent or the caller, it will
+ attempt to publish the AgentComplete event. However, it now has a
+ problem - it thinks its agent is the ;1 side of the Local
+ channel, as it never received the optimization event. At the same
+ time, that channel is already gone. This results in getting NULL
+ from the Stasis cache. What's more, we can't really wait for the
+ optimization message, as we are currently handling the hangup of
+ the channel that the optimization event would tell us to use.
+ This patch modifies the behavior in app_queue such that, since we
+ still have a lot of pertinent queue information (interface, queue
+ name, etc.), we now raise the event with what information we
+ know. The channels involved now may or may not be present. Users
+ will still at least get the "AgentComplete" event, which
+ "completes" the known Agent information. Review:
+ https://reviewboard.asterisk.org/r/2878/ (closes issue
+ ASTERISK-22507) Reported by: Richard Mudgett
+
+ * main/manager.c: manager: Fix crash when appending a manager
+ channel variable In r399887, a minor performance improvement was
+ introduced by not allocating the manager variable struct if it
+ wasn't used. Unfortunately, when directly accessing an
+ ast_channel struct, manager assumed that the struct was always
+ allocated. Since this was no longer the case, things got a bit
+ crashy. This fixes that problem by simply bypassing appending
+ variables if the manager channel variable struct isn't there.
+
+2013-09-27 21:56 +0000 [r400015-400020] Richard Mudgett <rmudgett at digium.com>
+
+ * apps/app_cdr.c, res/res_parking.c: app_cdr and res_parking: Fix
+ some resource leaks. * app_cdr left the ResetCDR application
+ registered. * res_parking leaked a ref to config global. (closes
+ issue ASTERISK-22566) Reported by: Corey Farrell Patches:
+ ASTERISK-22566-r2.patch (license #5909) patch uploaded by Corey
+ Farrell
+
+ * /, channels/chan_sip.c, channels/sip/reqresp_parser.c: chan_sip:
+ Increase some scratch buffer sizes dealing with caller id. *
+ Eliminated an unnecessary initialization in check_user_full().
+ (closes issue ASTERISK-22477) Reported by: Michael Shepelev
+ ........ Merged revisions 400013 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 400014 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-09-27 18:26 +0000 [r399990] Kevin Harwell <kharwell at digium.com>
+
+ * res/res_pjsip.exports.in, res/res_pjsip.c,
+ res/res_pjsip_session.c, include/asterisk/res_pjsip.h: res_pjsip:
+ crash when using localnet and external_signaling_address options
+ There was a collision of mod_data use on the transaction between
+ using a nat hook and an session response callback. During state
+ change it was assumed what was in the mod_data was nothing or the
+ response callback. However, it was possible for it to also
+ contain a nat hook thus resulting in a bad cast and a crash.
+ Added the ability to store multiple data elements in mod_data via
+ a hash table. In this instance, mod_data now stores a hash table
+ of the two values that can be retrieved using an associated
+ string key. (closes issue ASTERISK-22394) Reported by: Rusty
+ Newton Review: https://reviewboard.asterisk.org/r/2843/
+
+2013-09-27 17:34 +0000 [r399976] Jonathan Rose <jrose at digium.com>
+
+ * /, channels/chan_sip.c, channels/sip/include/sip.h: chan_sip:
+ Reject calls on 200 OKs if no SDP has been received When Asterisk
[... 18489 lines stripped ...]
More information about the asterisk-commits
mailing list