[asterisk-commits] bebuild: tag 12.0.0-alpha2 r400603 - /tags/12.0.0-alpha2/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Oct 4 21:34:32 CDT 2013


Author: bebuild
Date: Fri Oct  4 21:34:29 2013
New Revision: 400603

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=400603
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=400603
==============================================================================
--- tags/12.0.0-alpha2/.lastclean (added)
+++ tags/12.0.0-alpha2/.lastclean Fri Oct  4 21:34:29 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=400603
==============================================================================
--- tags/12.0.0-alpha2/.version (added)
+++ tags/12.0.0-alpha2/.version Fri Oct  4 21:34:29 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=400603
==============================================================================
--- tags/12.0.0-alpha2/ChangeLog (added)
+++ tags/12.0.0-alpha2/ChangeLog Fri Oct  4 21:34:29 2013
@@ -1,0 +1,19187 @@
+2013-10-04  Asterisk Development Team <asteriskteam at digium.com>
+
+	* Asterisk 12.0.0-alpha2 Released. Kind of.
+
+	* Also, the time on this machine may be a lie, cus it's 21:33
+	  and Richard committed that IAX2 compilation fix an hour ago.
+	  Time: it's a weird thing.
+
+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>
+
+	* main/netsock2.c, channels/iax2/include/parser.h, main/acl.c,
+	  include/asterisk/netsock2.h, CHANGES, channels/chan_iax2.c,
+	  channels/iax2/parser.c, main/netsock.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>
+
+	* 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,
+	  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): 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_t38.c, res/res_pjsip_sdp_rtp.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_motif.c, res/res_agi.c, channels/chan_alsa.c,
+	  apps/app_confbridge.c, addons/chan_mobile.c,
+	  channels/chan_mgcp.c, res/res_clioriginate.c,
+	  channels/chan_sip.c, channels/chan_bridge_media.c,
+	  res/res_pjsip_sdp_rtp.c, tests/test_format_api.c,
+	  bridges/bridge_simple.c, apps/app_originate.c,
+	  res/parking/parking_applications.c, main/core_local.c,
+	  channels/chan_console.c, channels/chan_oss.c,
+	  include/asterisk/format_cap.h, res/res_pjsip_session.c,
+	  res/ari/resource_bridges.c, channels/chan_jingle.c,
+	  channels/chan_misdn.c, channels/dahdi/bridge_native_dahdi.c,
+	  channels/chan_h323.c, main/file.c,
+	  res/res_pjsip/pjsip_configuration.c, tests/test_config.c,
+	  channels/chan_nbs.c, bridges/bridge_native_rtp.c,
+	  res/res_stasis.c, channels/chan_pjsip.c, channels/chan_unistim.c,
+	  main/rtp_engine.c, addons/chan_ooh323.c,
+	  channels/chan_multicast_rtp.c, main/ccss.c, apps/app_meetme.c,
+	  bridges/bridge_holding.c, main/bridge_basic.c,
+	  bridges/bridge_softmix.c, channels/chan_gtalk.c,
+	  channels/chan_iax2.c, main/media_index.c, main/channel.c,
+	  channels/chan_phone.c, channels/chan_dahdi.c, main/dial.c,
+	  main/manager.c, pbx/pbx_spool.c, channels/chan_skinny.c,
+	  main/format_cap.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.
+
+	* main/stasis_endpoints.c, main/stasis_wait.c (removed),
+	  res/ari/resource_endpoints.c, /, include/asterisk/stasis.h,
+	  tests/test_cel.c, include/asterisk/stasis_endpoints.h,
+	  channels/chan_pjsip.c, main/stasis.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>
+
+	* Makefile, doc/astdb2sqlite3.8 (added), /, doc/astdb2bdb.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>
+
+	* apps/app_stack.c, res/stasis_recording/stored.c, main/json.c,
+	  main/stasis_cache.c, res/res_ari.c, main/utils.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>
+
+	* 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, include/asterisk/channel.h,
+	  channels/chan_gtalk.c, channels/chan_console.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/res_parking.conf.sample, configs/features.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>
+
+	* 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,
+	  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: 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/
+
+	* 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,
+	  tests/test_stasis.c, main/manager_channels.c, main/manager_mwi.c,
+	  main/stasis_cache_pattern.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>
+
+	* configs/sip.conf.sample, CHANGES, /, channels/chan_sip.c,
+	  configs/pjsip.conf.sample, res/res_pjsip_outbound_registration.c:
+	  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/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, main/stasis_message_router.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, configure.ac: 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.c, res/res_pjsip_session.c,
+	  include/asterisk/res_pjsip.h, res/res_pjsip.exports.in:
+	  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/
+

[... 18495 lines stripped ...]



More information about the asterisk-commits mailing list