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

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Oct 4 19:46:25 CDT 2013


Author: bebuild
Date: Fri Oct  4 19:46:22 2013
New Revision: 400589

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=400589
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=400589
==============================================================================
--- tags/12.0.0-alpha2/.lastclean (added)
+++ tags/12.0.0-alpha2/.lastclean Fri Oct  4 19:46:22 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=400589
==============================================================================
--- tags/12.0.0-alpha2/.version (added)
+++ tags/12.0.0-alpha2/.version Fri Oct  4 19:46:22 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=400589
==============================================================================
--- tags/12.0.0-alpha2/ChangeLog (added)
+++ tags/12.0.0-alpha2/ChangeLog Fri Oct  4 19:46:22 2013
@@ -1,0 +1,19189 @@
+2013-10-04  Asterisk Development Team <asteriskteam at digium.com>
+
+	* Asterisk 12.0.0-alpha2 Released.
+
+2013-10-04 21:40 +0000 [r400567]  Michael L. Young <elgueromexicano at gmail.com>
+
+	* channels/iax2/parser.c, main/netsock.c, main/netsock2.c,
+	  channels/iax2/include/parser.h, main/acl.c,
+	  include/asterisk/netsock2.h, CHANGES, channels/chan_iax2.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.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,
+	  main/endpoints.c, res/ari/ari_model_validators.c,
+	  res/ari/ari_model_validators.h, res/res_ari_model.c, main/json.c:
+	  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>
+
+	* 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, channels/chan_skinny.c,
+	  main/file.c, res/res_pjsip/pjsip_configuration.c,
+	  channels/chan_alsa.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/manager.c, main/cel.c, main/cdr.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>
+
+	* main/utils.c, apps/app_stack.c, res/stasis_recording/stored.c,
+	  main/json.c, main/stasis_cache.c, res/res_ari.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/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,
+	  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:
+	  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/sounds_index.c, channels/sig_pri.c, apps/app_queue.c,
+	  main/cel.c, res/parking/parking_bridge_features.c,
+	  main/stasis_message_router.c, funcs/func_presencestate.c,
+	  apps/confbridge/confbridge_manager.c, res/res_pjsip_mwi.c,
+	  tests/test_stasis.c, res/parking/parking_manager.c,
+	  main/manager_mwi.c, apps/app_voicemail.c, main/stasis_wait.c,
+	  res/stasis/app.c, main/ccss.c, apps/app_meetme.c,
+	  include/asterisk/stasis_internal.h, main/manager_endpoints.c,
+	  main/devicestate.c, res/res_xmpp.c, main/taskprocessor.c,
+	  main/endpoints.c, channels/chan_iax2.c, res/res_jabber.c,
+	  res/res_chan_stats.c, main/stasis.c, main/cdr.c,
+	  main/manager_bridges.c, channels/chan_dahdi.c, main/manager.c,
+	  channels/chan_skinny.c, tests/test_devicestate.c, res/res_agi.c,
+	  tests/test_taskprocessor.c, res/res_stasis_test.c,
+	  main/manager_channels.c, channels/chan_mgcp.c,
+	  res/res_pjsip_refer.c, res/res_security_log.c,
+	  main/stasis_cache.c, main/pbx.c, channels/chan_sip.c,
+	  include/asterisk/taskprocessor.h, include/asterisk/stasis.h,
+	  res/parking/parking_applications.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/
+
+	* 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,
+	  tests/test_stasis.c, main/manager_channels.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/taskprocessor.c, 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: 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>
+
+	* CHANGES, /, channels/chan_sip.c, configs/pjsip.conf.sample,
+	  res/res_pjsip_outbound_registration.c, configs/sip.conf.sample:
+	  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>
+
+	* 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,
+	  main/taskprocessor.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>
+
+	* configs/pjsip_notify.conf.sample (added), res/res_pjsip_notify.c:
+	  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>
+
+	* res/res_parking.c, apps/app_cdr.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_session.c, include/asterisk/res_pjsip.h,
+	  res/res_pjsip.exports.in, res/res_pjsip.c: 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
+	  receives a 200 OK in response to an invite, that peer should have
+	  sent an SDP at some point by then. If the channel has never

[... 18499 lines stripped ...]



More information about the asterisk-commits mailing list