[asterisk-commits] bebuild: tag 12.0.0-alpha1 r398164 - /tags/12.0.0-alpha1/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Aug 30 16:48:38 CDT 2013


Author: bebuild
Date: Fri Aug 30 16:48:36 2013
New Revision: 398164

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=398164
Log:
Importing files for 12.0.0-alpha1 release.

Added:
    tags/12.0.0-alpha1/.lastclean   (with props)
    tags/12.0.0-alpha1/.version   (with props)
    tags/12.0.0-alpha1/ChangeLog   (with props)

Added: tags/12.0.0-alpha1/.lastclean
URL: http://svnview.digium.com/svn/asterisk/tags/12.0.0-alpha1/.lastclean?view=auto&rev=398164
==============================================================================
--- tags/12.0.0-alpha1/.lastclean (added)
+++ tags/12.0.0-alpha1/.lastclean Fri Aug 30 16:48:36 2013
@@ -1,0 +1,1 @@
+40

Propchange: tags/12.0.0-alpha1/.lastclean
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tags/12.0.0-alpha1/.lastclean
------------------------------------------------------------------------------
    svn:keywords = none

Propchange: tags/12.0.0-alpha1/.lastclean
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tags/12.0.0-alpha1/.version
URL: http://svnview.digium.com/svn/asterisk/tags/12.0.0-alpha1/.version?view=auto&rev=398164
==============================================================================
--- tags/12.0.0-alpha1/.version (added)
+++ tags/12.0.0-alpha1/.version Fri Aug 30 16:48:36 2013
@@ -1,0 +1,1 @@
+12.0.0-alpha1

Propchange: tags/12.0.0-alpha1/.version
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tags/12.0.0-alpha1/.version
------------------------------------------------------------------------------
    svn:keywords = none

Propchange: tags/12.0.0-alpha1/.version
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tags/12.0.0-alpha1/ChangeLog
URL: http://svnview.digium.com/svn/asterisk/tags/12.0.0-alpha1/ChangeLog?view=auto&rev=398164
==============================================================================
--- tags/12.0.0-alpha1/ChangeLog (added)
+++ tags/12.0.0-alpha1/ChangeLog Fri Aug 30 16:48:36 2013
@@ -1,0 +1,17431 @@
+2013-08-30  Asterisk Development Team <asteriskteam at digium.com>
+
+	* Asterisk 12.0.0-alpha1 Released.
+
+2013-08-30 20:58 +0000 [r398149]  David M. Lee <dlee at digium.com>
+
+	* main/asterisk.c, include/asterisk/optional_api.h,
+	  main/optional_api.c: Fix graceful shutdown crash. The cleanup
+	  code for optional_api needs to happen after all of the optional
+	  API users and providers have unused/unprovided. Unfortunately,
+	  regsitering the atexit() handler at the beginning of main() isn't
+	  soon enough, since module destructors run after that.
+
+2013-08-30 20:34 +0000 [r398147]  Rusty Newton <rnewton at digium.com>
+
+	* configs/pjsip.conf.sample: New pjsip.conf.sample (issue
+	  ASTERISK-22145) (closes issue ASTERISK-22145) Reported By: Matt
+	  Jordan Review: https://reviewboard.asterisk.org/r/2811/
+
+2013-08-30 19:51 +0000 [r398116-398139]  kharwell <kharwell at localhost>:
+
+	* res/res_pjsip/config_transport.c, main/sorcery.c,
+	  res/res_pjsip_outbound_registration.c,
+	  include/asterisk/sorcery.h, res/res_pjsip.c: Add a reloadable
+	  option for sorcery type objects Some configuration objects
+	  currently won't place nice if reloaded. Specifically, in this
+	  case the pjsip transport objects. Now when registering an object
+	  in sorcery one may specify that the object is allowed to be
+	  reloaded or not. If the object is set to not reload then upon
+	  reloading of the configuration the objects of that type will not
+	  be reloaded. The initially loaded objects of that type however
+	  will remain. While the transport objects will not longer be
+	  reloaded it is still possible for a user to configure an endpoint
+	  to an invalid transport. A couple of log messages were added to
+	  help diagnose this problem if it occurs. (closes issue
+	  ASTERISK-22382) Reported by: Rusty Newton (closes issue
+	  ASTERISK-22384) Reported by: Rusty Newton Review:
+	  https://reviewboard.asterisk.org/r/2807/
+
+	* main/indications.c, main/config.c, res/res_security_log.c, /,
+	  channels/chan_sip.c, main/translate.c, main/named_acl.c: Fix
+	  various memory leaks main/config.c - cleanup cache fie includes
+	  res/res_security_log.c - unregister logger level
+	  channesl/chan_sip.c - cleanup io context and notify_types
+	  main/translator.c - cleanup at shutdown main/named_acl.c -
+	  cleanup cli commands main/indications.c -
+	  ast_get_indication_tone() unref default_tone_zone if used (closes
+	  issues ASTERISK-22378) Reported by: Corey Farrell Patches:
+	  config_shutdown.patch uploaded by coreyfarrell (license 5909)
+	  res_security_log.patch uploaded by coreyfarrell (license 5909)
+	  chan_sip-11.patch uploaded by coreyfarrell (license 5909)
+	  indications_refleak.patch uploaded by coreyfarrell (license 5909)
+	  named_acl-cli_unreg-trunk.patch uploaded by coreyfarrell (license
+	  5909) translate_shutdown.patch uploaded by coreyfarrell (license
+	  5909) ........ Merged revisions 398102 from
+	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+	  revisions 398103 from
+	  http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-08-30 18:35 +0000 [r398100]  Matthew Jordan <mjordan at digium.com>
+
+	* UPGRADE.txt: Update UPGRADE.txt file for Asterisk 12 This simply
+	  pulls in the changes that were breaking from the CHANGES file and
+	  updates a few other areas accordingly. It also removes the 10 =>
+	  11 notes, which are traditionally removed from each major version
+	  and stored in the appropriate UPGRADE-X.txt file.
+
+2013-08-30 18:18 +0000 [r398068]  Jonathan Rose <jrose at digium.com>
+
+	* main/config_options.c, main/features_config.c: features_config:
+	  Ignore parkinglots in features.conf instead of failing to load
+	  Parkinglots are defined in res_features.conf now, but this patch
+	  fixes features_config so that features don't fail to load when
+	  parkinglots are present in features.conf Review:
+	  https://reviewboard.asterisk.org/r/2801/
+
+2013-08-30 17:57 +0000 [r398062]  kharwell <kharwell at localhost>:
+
+	* main/manager.c, /, res/res_agi.c: Memory leak fix
+	  ast_xmldoc_printable returns an allocated block that must be
+	  freed by the caller. Fixed manager.c and res_agi.c to stop
+	  leaking these results. (closes issue ASTERISK-22395) Reported by:
+	  Corey Farrell Patches: manager-leaks-12.patch uploaded by
+	  coreyfarrell (license 5909) res_agi-xmldoc-leaks.patch uploaded
+	  by coreyfarrell (license 5909) ........ Merged revisions 398060
+	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
+	  Merged revisions 398061 from
+	  http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-08-30 17:10 +0000 [r398023-398025]  Richard Mudgett <rmudgett at digium.com>
+
+	* tests/test_substitution.c: test_substitution: Fix failing test.
+	  Revert the -r392190 change. The original test was correct. The
+	  CDR code was actually returning an unititialized buffer.
+
+	* tests/test_substitution.c, /: test_substituition: Fix failed test
+	  reporting to actually report failure. You cannot put the "Testing
+	  <blah> pass/fail" on a single line before actually performing the
+	  test. Now any additional failure information is logged before the
+	  test pass/fail announcement. * Added an additional CDR(answer,u)
+	  test. ........ Merged revisions 398018 from
+	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+	  revisions 398019 from
+	  http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-08-30 16:57 +0000 [r398020]  Jonathan Rose <jrose at digium.com>
+
+	* main/udptl.c, main/features_config.c: features_config: Don't
+	  require features.conf to be present for Asterisk to load (closes
+	  issue ASTERISK-22426) Reported by: Matt Jordan Review:
+	  https://reviewboard.asterisk.org/r/2806/
+
+2013-08-30 16:26 +0000 [r398002-398016]  kharwell <kharwell at localhost>:
+
+	* apps/app_mixmonitor.c, /: Fix memory leaks (closes issue
+	  ASTERISK-22368) Reported by: Corey Farrell Patches:
+	  issueA22368_mixmonitor_free_filename.patch uploaded by wdoekes
+	  (license 5674) ........ Merged revisions 398004 from
+	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
+	  revisions 398011 from
+	  http://svn.asterisk.org/svn/asterisk/branches/11
+
+	* main/asterisk.c, /: Check return value on fwrite ........ Merged
+	  revisions 398000 from
+	  http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-08-30 13:39 +0000 [r397985-397989]  David M. Lee <dlee at digium.com>
+
+	* res/ari/ari_websockets.c, main/asterisk.c,
+	  channels/sip/include/sip.h, res/res_ari.c,
+	  tests/test_optional_api.c (added), channels/chan_sip.c,
+	  include/asterisk/autoconfig.h.in, configure.ac,
+	  rest-api-templates/res_ari_resource.c.mustache,
+	  res/ari/internal.h, res/res_http_websocket.c, CHANGES,
+	  include/asterisk/compiler.h, include/asterisk/ari.h,
+	  main/loader.c, include/asterisk/optional_api.h,
+	  build_tools/cflags.xml, configure, res/res_ari_events.c,
+	  include/asterisk/http_websocket.h, main/optional_api.c (added),
+	  rest-api-templates/swagger_model.py: optional_api: Fix linking
+	  problems between modules that export global symbols With the new
+	  work in Asterisk 12, there are some uses of the optional_api that
+	  are prone to failure. The details are rather involved, and
+	  captured on [the wiki][1]. This patch addresses the issue by
+	  removing almost all of the magic from the optional API
+	  implementation. Instead of relying on weak symbol resolution, a
+	  new optional_api.c module was added to Asterisk core. For modules
+	  providing an optional API, the pointer to the implementation
+	  function is registered with the core. For modules that use an
+	  optional API, a pointer to a stub function, along with a
+	  optional_ref function pointer are registered with the core. The
+	  optional_ref function pointers is set to the implementation
+	  function when it's provided, or the stub function when it's now.
+	  Since the implementation no longer relies on magic, it is now
+	  supported on all platforms. In the spirit of choice, an
+	  OPTIONAL_API flag was added, so we can disable the optional_api
+	  if needed (maybe it's buggy on some bizarre platform I haven't
+	  tested on) The AST_OPTIONAL_API*() macros themselves remained
+	  unchanged, so existing code could remain unchanged. But to help
+	  with debugging the optional_api, the patch limits the #include of
+	  optional API's to just the modules using the API. This also
+	  reduces resource waste maintaining optional_ref pointers that
+	  aren't used. Other changes made as a part of this patch: * The
+	  stubs for http_websocket that wrap system calls set errno to
+	  ENOSYS. * res_http_websocket now properly increments module use
+	  count. * In loader.c, the while() wrappers around dlclose() were
+	  removed. The while(!dlclose()) is actually an anti-pattern, which
+	  can lead to infinite loops if the module you're attempting to
+	  unload exports a symbol that was directly linked to. * The
+	  special handling of nonoptreq on systems without weak symbol
+	  support was removed, since we no longer rely on weak symbols for
+	  optional_api. [1]: https://wiki.asterisk.org/wiki/x/wACUAQ
+	  (closes issue ASTERISK-22296) Reported by: Matt Jordan Review:
+	  https://reviewboard.asterisk.org/r/2797/
+
+	* rest-api/api-docs/recordings.json, res/stasis_recording (added),
+	  res/ari/resource_recordings.c, res/ari/ari_model_validators.h,
+	  res/res_ari_recordings.c, res/res_stasis_playback.c,
+	  include/asterisk/stasis_app_recording.h,
+	  res/ari/resource_recordings.h, res/res_stasis_recording.c,
+	  res/Makefile, res/ari/ari_model_validators.c: ARI: Implement
+	  /recordings/stored API's his patch implements the ARI API's for
+	  stored recordings. While the original task only specified
+	  deleting a recording, it was simple enough to implement the GET
+	  for all recordings, and for an individual recording. The
+	  recording playback operation was modified to use the same code
+	  for accessing the recording as the REST API, so that they will
+	  behave consistently. There were several problems with the
+	  api-docs that were also fixed, bringing the ARI spec in line with
+	  the implementation. There were some 'wishful thinking' fields on
+	  the stored recording model (duration and timestamp) that were
+	  removed, because I ended up not implementing a metadata file to
+	  go along with the recording to store such information. The GET
+	  /recordings/live operation was removed, since it's not really
+	  that useful to get a list of all recordings that are currently
+	  going on in the system. (At least, if we did that, we'd probably
+	  want to also list all of the current playbacks. Which seems
+	  weird.) (closes issue ASTERISK-21582) Review:
+	  https://reviewboard.asterisk.org/r/2693/
+
+2013-08-30 01:19 +0000 [r397975-397977]  Richard Mudgett <rmudgett at digium.com>
+
+	* main/pbx.c: pbx.c: Make pbx_substitute_variables_helper_full()
+	  not mask variables.
+
+	* main/pbx.c, tests/test_substitution.c, funcs/func_cdr.c: Revert
+	  last commit.
+
+	* main/pbx.c, tests/test_substitution.c, funcs/func_cdr.c: pbx.c:
+	  Make ast_str_substitute_variables_full() not mask variables.
+
+2013-08-30 00:10 +0000 [r397960-397968]  Mark Michelson <mmichelson at digium.com>
+
+	* res/res_pjsip_pidf.c: Sanitize XML output for PIDF bodies.
+	  PJSIP's PIDF API does not replace angle brackets with their
+	  appropriate counterparts for XML. So we have to do it ourself. In
+	  this particular case, the problem had to do with attempting to
+	  place an unsanitized SIP URI into an XML node. Now we don't get a
+	  488 from recipients of our PIDF NOTIFYs.
+
+	* res/res_pjsip_pidf.c: Fix method for creating activities string
+	  in PIDF bodies. The previous method did not allocate enough space
+	  to create the entire string, but adjusted the string's slen value
+	  to be larger than the actual allocation. This resulted in garbled
+	  text in NOTIFY requests from Asterisk. This method allocates the
+	  proper amount of space first and then writes the content into the
+	  buffer.
+
+2013-08-29 22:45 +0000 [r397958]  kharwell <kharwell at localhost>:
+
+	* apps/app_verbose.c, main/asterisk.c, channels/chan_misdn.c, /,
+	  apps/app_dumpchan.c, main/logger.c: Verbose logging discrepancies
+	  Refactored cases where a combination of
+	  ast_verbose/options_verbose were present. Also in general tried
+	  to eliminate, in as many places as possible, where the
+	  options_verbose global variable was being used. Refactored the
+	  way local and remote consoles handle verbose message logging in
+	  an attempt to solve the various discrepancies that sometimes
+	  would show between the two. (closes issue AST-1193) Reported by:
+	  Guenther Kelleter Review:
+	  https://reviewboard.asterisk.org/r/2798/ ........ Merged
+	  revisions 397948 from
+	  http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-08-29 22:24 +0000 [r397955]  Mark Michelson <mmichelson at digium.com>
+
+	* res/res_pjsip_pubsub.c: Fix when the subscription_terminated
+	  callback is called for subscription handlers. The previous
+	  placement would result in the resubscribe() callback called
+	  instead of the subscription_terminated() callback being called
+	  when a subscription was ended via a SUBSCRIBE request. This would
+	  result in confusing PJSIP and having it throw an assertion.
+
+2013-08-29 21:34 +0000 [r397946]  kharwell <kharwell at localhost>:
+
+	* main/asterisk.c, main/cdr.c, main/manager.c,
+	  main/stasis_config.c, main/file.c, main/app.c,
+	  main/config_options.c, main/cel.c: Memory leaks fix (closes
+	  ASTERISK-22376) Reported by: John Hardin Patches: memleak.patch
+	  uploaded by jhardin (license 6512) memleak2.patch uploaded by
+	  jhardin (license 6512)
+
+2013-08-29 21:33 +0000 [r397945]  Mark Michelson <mmichelson at digium.com>
+
+	* res/res_pjsip_session.c: Fix a race condition where a canceled
+	  call was answered. RFC 5407 section 3.1.2 details a scenario
+	  where a UAC sends a CANCEL at the same time that a UAS sends a
+	  200 OK for the INVITE that the UAC is canceling. When this
+	  occurs, it is the role of the UAC to immediately send a BYE to
+	  terminate the call. This scenario was reproducible by have a
+	  Digium phone with two lines place a call to a second phone that
+	  forwarded the call to the second line on the original phone. The
+	  Digium phone, upon realizing that it was connecting to itself,
+	  would attempt to cancel the call. The timing of this happened to
+	  trigger the aforementioned race condition about 80% of the time.
+	  Asterisk was not doing its job of sending a BYE when receiving a
+	  200 OK on a cancelled INVITE. The result was that the ast_channel
+	  structure was destroyed but the underlying SIP session, as well
+	  as the PJSIP inv_session and dialog, were still alive. Attempting
+	  to perform an action such as a transfer, once in this state,
+	  would result in Asterisk crashing. The circumstances are now
+	  detected properly and the session is ended as recommended in RFC
+	  5407. (closes issue AST-1209) reported by John Bigelow
+
+2013-08-29 20:21 +0000 [r397938]  Matthew Jordan <mjordan at digium.com>
+
+	* contrib/scripts/safe_asterisk, Makefile,
+	  configs/safe_asterisk.conf.sample (removed), CHANGES: Revert
+	  r394939 due to (numerous) objections The patch from
+	  ASTERISK-21965 was committed perhaps a bit too hastily. Walter
+	  and Tzafrir have pointed out numerous issues with the approach
+	  and have propsed an alternative in r/2757. Since it's not a time
+	  critical issue and is not worth holding up the release of 12 for
+	  it, I've gone ahead and reverted r394939 from 12/trunk and
+	  re-opened ASTERISK-21965.
+
+2013-08-29 16:18 +0000 [r397927]  David M. Lee <dlee at digium.com>
+
+	* rest-api-templates/asterisk_processor.py,
+	  rest-api-templates/make_ari_stubs.py,
+	  rest-api-templates/api.wiki.mustache: Account for {} in Swagger
+	  notes
+
+2013-08-29 16:04 +0000 [r397924]  Matthew Jordan <mjordan at digium.com>
+
+	* Makefile: Recursively search for '.c' files when making
+	  documentation with 'make full' Without this, documentation
+	  defined in sub-folders is ignored. Since having properly
+	  generated documentation is especially important in Asterisk 12 -
+	  not having it can cause a module to not load - 'make full' needs
+	  to look in all .c files.
+
+2013-08-29 15:42 +0000 [r397921-397922]  Mark Michelson <mmichelson at digium.com>
+
+	* main/cel.c: Remove extra debug message.
+
+	* main/stasis_bridges.c, apps/app_queue.c, main/cel.c: Resolve
+	  assumptions that bridge snapshots would be non-NULL for transfer
+	  stasis events. Attempting to transfer an unbridged call would
+	  result in crashes in either CEL code or in the conversion to AMI
+	  messages.
+
+2013-08-29 12:27 +0000 [r397911]  Matthew Jordan <mjordan at digium.com>
+
+	* contrib/ast-db-manage/voicemail/script.py.mako (added),
+	  contrib/ast-db-manage/README.md (added),
+	  contrib/ast-db-manage/config/versions (added),
+	  contrib/ast-db-manage/voicemail/versions/a2e9769475e_create_tables.py
+	  (added), contrib/ast-db-manage (added),
+	  contrib/ast-db-manage/voicemail/versions (added),
+	  contrib/ast-db-manage/config.ini.sample (added),
+	  contrib/ast-db-manage/config/env.py (added),
+	  contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py
+	  (added), contrib/ast-db-manage/config (added),
+	  contrib/ast-db-manage/config/script.py.mako (added),
+	  contrib/ast-db-manage/voicemail.ini.sample (added),
+	  contrib/ast-db-manage/voicemail/env.py (added),
+	  contrib/ast-db-manage/voicemail (added): Actually *add* the
+	  database schema management utilities In r397874, the scripts were
+	  removed... but not replaced. Thanks to Michael Young for noticing
+	  this!
+
+2013-08-28 23:14 +0000 [r397885-397902]  Richard Mudgett <rmudgett at digium.com>
+
+	* main/cdr.c, funcs/func_cdr.c, main/stdtime/localtime.c: Fix some
+	  uninitialized buffers for CDR handling valgrind found. * Made
+	  ast_strftime_locale() ensure that the output buffer is
+	  initialized. The std library strftime() returns 0 and does not
+	  touch the buffer if it has an error. However, the function can
+	  also return 0 without an error. (closes issue ASTERISK-22412)
+	  Reported by: rmudgett
+
+	* main/cdr.c: Fixed problems with ast_cdr_serialize_variables(). *
+	  Fixed return value of ast_cdr_serialize_variables() on error. It
+	  needs to return 0 indicating no CDR variables found. * Made
+	  ast_cdr_serialize_variables() check the return value of
+	  cdr_object_format_property() and assert if nonzero. A member of
+	  the cdr_readonly_vars[] was not handled. * Removed unused
+	  elements from cdr_readonly_vars[]: total_duration, total_billsec,
+	  first_start, and first_answer.
+
+	* main/cdr.c: Made the on/off in CLI "cdr set debug [on|off]" case
+	  insensitive.
+
+	* main/cdr.c: Make CDR variable name chandling consistently case
+	  insensitive.
+
+	* main/cdr.c: Make CDR code deal with channel names case
+	  insensitively.
+
+	* main/cdr.c, funcs/func_cdr.c: Some CDR code optimization.
+
+	* funcs/func_cdr.c: Whitespace and curly braces.
+
+2013-08-28 21:05 +0000 [r397876]  Mark Michelson <mmichelson at digium.com>
+
+	* res/res_pjsip_refer.c: Improve detection of answer on SIP blind
+	  transfer. A problem encountered during testing was that
+	  res_pjsip_refer would not ever send a NOTIFY with a 200 OK
+	  sipfrag. This is because the framehook that was supposed to send
+	  the NOTIFY would never be told that an answer had occurred. This
+	  happened for two reasons: 1) The transferee channel on which the
+	  framehook was on was already up. 2) Answers are rarely if ever
+	  written to channels. Rather, the ast_answer() or ast_raw_answer()
+	  function is used to answer channels. Thanks to a suggestion by
+	  Matt Jordan, the best way to detect that the call had been
+	  answered was to find out when the transferee channel joined a
+	  bridge. With stasis this is an easy task. So now, in addition to
+	  the framehook logic, there is a stasis subscription used to
+	  determine when the transferee has entered a bridge. Once it has
+	  entered, an appropriate NOTIFY is sent.
+
+2013-08-28 20:55 +0000 [r397870-397874]  Matthew Jordan <mjordan at digium.com>
+
+	* contrib/realtime/mysql/musiconhold.sql,
+	  contrib/realtime/mysql/queue_log.sql,
+	  contrib/realtime/mysql/voicemail.sql,
+	  contrib/realtime/mysql/sippeers.sql,
+	  contrib/realtime/mysql/iaxfriends.sql,
+	  contrib/realtime/mysql/meetme.sql,
+	  contrib/realtime/mysql/voicemail_messages.sql,
+	  contrib/realtime/postgresql/realtime.sql,
+	  contrib/realtime/mysql/voicemail_data.sql, CHANGES: Add database
+	  schema management using Alembic This patch replaces
+	  contrib/realtime/ with a new setup for managing the database
+	  schema required for database integration with Asterisk. In
+	  addition to initializing a database with the proper schema,
+	  alembic can do a database migration to assist with upgrading
+	  Asterisk in the future. Hopefully this helps make setting up and
+	  operating Asterisk with a database easier. With this the schema
+	  only needs to be maintained in one place instead of once per
+	  database. The schemas I have added here have a bit of improvement
+	  over the examples that were there before (some added consistency
+	  and added some missing indexes). Managing the schema in one place
+	  here also applies to all databases supported by SQLAlchemy. See
+	  contrib/ast-db-manage/README.md for more details. Review:
+	  https://reviewboard.asterisk.org/r/2731 patch by Russell Bryant
+	  (license 6300)
+
+	* CHANGES: Update CHANGES file for Asterisk 12 This updates the
+	  Asterisk 12 CHANGES file with the things that were missed during
+	  the development cycle. Review:
+	  https://reviewboard.asterisk.org/r/2795/
+
+2013-08-28 16:12 +0000 [r397856-397859]  Richard Mudgett <rmudgett at digium.com>
+
+	* main/pbx.c: pbx.c: Make ast_str_substitute_variables_full() not
+	  mask variables.
+
+	* include/asterisk/threadstorage.h: Match use of ast_free() with
+	  ast_calloc() and add some curly braces.
+
+2013-08-28 15:40 +0000 [r397854]  Mark Michelson <mmichelson at digium.com>
+
+	* res/res_pjsip/pjsip_distributor.c: Fix dialog matching in the SIP
+	  distributor. Dialog matching is performed in the distributor for
+	  the sole purpose of retrieving an associated serializer so the
+	  request may be serialized. This patch fixes two problems. First,
+	  incoming CANCEL requests that had no to-tag (which really should
+	  be *all* CANCEL requests) would not match with a dialog. An
+	  earlier bug fix to deal with early CANCEL requests would result
+	  in the CANCEL being replied to with a 481. The fix for this is to
+	  find the matching INVITE transaction and get the dialog from that
+	  transaction. Second, no SIP responses were matching dialogs. This
+	  is because we were inverting the tags that we were passing into
+	  PJSIP's dialog finding function. This logic has been corrected by
+	  setting local and remote tag variables based on whether the
+	  incoming message is a request or response.
+
+2013-08-27 19:15 +0000 [r397816]  David M. Lee <dlee at digium.com>
+
+	* res/res_stasis.c, main/stasis_bridges.c,
+	  rest-api-templates/param_parsing.mustache, res/res_ari_bridges.c,
+	  res/stasis/app.c, res/res_ari_events.c, res/res_ari_asterisk.c,
+	  rest-api-templates/res_ari_resource.c.mustache, res/stasis/app.h:
+	  ARI: WebSocket event cleanup Stasis events (which get distributed
+	  over the ARI WebSocket) are created by subscribing to the
+	  channel_all_cached and bridge_all_cached topics, filtering out
+	  events for channels/bridges currently subscribed to. There are
+	  two issues with that. First was a race condition, where messages
+	  in-flight to the master subscribe-to-all-things topic would get
+	  sent out, even though the events happened before the channel was
+	  put into Stasis. Secondly, as the number of channels and bridges
+	  grow in the system, the work spent filtering messages becomes
+	  excessive. Since r395954, individual channels and bridges have
+	  caching topics, and can be subscribed to individually. This patch
+	  takes advantage, so that channels and bridges are subscribed to
+	  on demand, instead of filtering the global topics. The one case
+	  where filtering is still required is handling BridgeMerge
+	  messages, which are published directly to the bridge_all topic.
+	  Other than the change to how subscriptions work, this patch
+	  mostly just moves code around. Most of the work generating JSON
+	  objects from messages was moved to .to_json handlers on the
+	  message types. The callback functions handling app subscriptions
+	  were moved from res_stasis (b/c they were global to the model) to
+	  stasis/app.c (b/c they are local to the app now). (closes issue
+	  ASTERISK-21969) Reported by: Matt Jordan Review:
+	  https://reviewboard.asterisk.org/r/2754/
+
+2013-08-27 18:49 +0000 [r397809]  Richard Mudgett <rmudgett at digium.com>
+
+	* main/astmm.c: Made MALLOC_DEBUG less CPU intensive by default.
+	  Storing a backtrace for each allocation in anticipation of a
+	  memory management problem is very CPU intensive. * Added the CLI
+	  "memory backtrace {on|off}" command to request that the backtrace
+	  be gathered only on request. The backtrace is off by default.
+	  (issue ASTERISK-22221) Reported by: Matt Jordan
+
+2013-08-27 18:05 +0000 [r397759]  Matthew Jordan <mjordan at digium.com>
+
+	* /, channels/chan_sip.c: AST-2013-005: Fix crash caused by invalid
+	  SDP If the SIP channel driver processes an invalid SDP that
+	  defines media descriptions before connection information, it may
+	  attempt to reference the socket address information even though
+	  that information has not yet been set. This will cause a crash.
+	  This patch adds checks when handling the various media
+	  descriptions that ensures the media descriptions are handled only
+	  if we have connection information suitable for that media. Thanks
+	  to Walter Doekes, OSSO B.V., for reporting, testing, and
+	  providing the solution to this problem. (closes issue
+	  ASTERISK-22007) Reported by: wdoekes Tested by: wdoekes patches:
+	  issueA22007_sdp_without_c_death.patch uploaded by wdoekes
+	  (License 5674) ........ Merged revisions 397756 from
+	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+	  revisions 397757 from
+	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
+	  revisions 397758 from
+	  http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-08-27 16:47 +0000 [r397745]  Richard Mudgett <rmudgett at digium.com>
+
+	* channels/sig_ss7.c, channels/chan_dahdi.c, channels/sig_analog.c,
+	  /, channels/chan_sip.c, channels/chan_motif.c,
+	  channels/chan_iax2.c, channels/sig_pri.c: Fix uninitialized value
+	  in struct ast_control_pvt_cause_code usage. ........ Merged
+	  revisions 397744 from
+	  http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-08-27 16:03 +0000 [r397690-397713]  Matthew Jordan <mjordan at digium.com>
+
+	* /, channels/chan_sip.c: AST-2013-004: Fix crash when handling ACK
+	  on dialog that has no channel A remote exploitable crash
+	  vulnerability exists in the SIP channel driver if an ACK with SDP
+	  is received after the channel has been terminated. The handling
+	  code incorrectly assumed that the channel would always be
+	  present. This patch adds a check such that the SDP will only be
+	  parsed and applied if Asterisk has a channel present that is
+	  associated with the dialog. Note that the patch being applied was
+	  modified only slightly from the patch provided by Walter Doekes
+	  of OSSO B.V. (closes issue ASTERISK-21064) Reported by: Colin
+	  Cuthbertson Tested by: wdoekes, Colin Cutherbertson patches:
+	  issueA21064_fix.patch uploaded by wdoekes (License 5674) ........
+	  Merged revisions 397710 from
+	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+	  revisions 397711 from
+	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
+	  revisions 397712 from
+	  http://svn.asterisk.org/svn/asterisk/branches/11
+
+	* main/bridge_channel.c: Better handle clearing the OUTGOING flag
+	  when a channel leaves a bridge When a channel with the OUTGOING
+	  flag leaves a bridge, and it will survive being pulled from the
+	  bridge (either because it will execute dialplan, go into another
+	  bridge, or live in a friendly autoloop), we have to clear the
+	  OUTGOING flag. This is the signal to the CDR engine that this
+	  channel is no longer a second class citizen, i.e., it is not
+	  "dialed". The soft hangup flags are only half the picture. If a
+	  channel is being moved from one bridge to another, the soft
+	  hangup flags aren't set; however, the state of the bridge_channel
+	  will not be hung up. Since the channel does not have one of the
+	  two hang up states, that implies that the channel is still
+	  technically alive. This patch modifies the check so that it
+	  checks both the soft hangup flags as well as the bridge_channel
+	  state. If either suggests that the channel is going to persist,
+	  we clear the OUTGOING flag.
+
+2013-08-26 21:30 +0000 [r397673]  David M. Lee <dlee at digium.com>
+
+	* main/bucket.c: Fixed bucket.c for systems where tv_usec is not an
+	  unsigned long.
+
+2013-08-26 16:24 +0000 [r397643-397650]  Richard Mudgett <rmudgett at digium.com>
+
+	* main/bridge_channel.c, include/asterisk/bridge_channel.h:
+	  bridging: Fix a livelock with local channel optimization. Use a
+	  better means of waking up the bridge channel thread.
+
+	* channels/Makefile: chan_dahdi: Add some missing build cleanup.
+
+2013-08-25 18:12 +0000 [r397621-397630]  Matthew Jordan <mjordan at digium.com>
+
+	* tests/test_bucket.c: Fix bucket unit tests After the review for
+	  buckets was completed (r2715), the handling of names in the
+	  bucket core was deferred to the wizards. As such, the bucket unit
+	  tests cannot expect that passing a URI with a scheme specified
+	  but no actual resource name will automatically fail. The tests
+	  have been updated to not make this check.
+
+	* include/asterisk/config_options.h, main/config_options.c,
+	  tests/test_config.c: Fix the config_options_test The config
+	  options test requires the entire configuration item to be
+	  transparent from the documentation system. So we let it do that
+	  too. As an aside, please do not use this power for evil.
+	  Documentation is your friend, and you really should document your
+	  configurations. Hiding your module's configuration information
+	  from the system attempting to enforce some sanity in the universe
+	  is something only a Bond villain would contemplate.
+
+	* res/res_pjsip/pjsip_configuration.c: Add rtpengine configuration
+	  parameter The rtpengine configuration parameter was documented in
+	  the XML documentation, but it was not actually registered with
+	  the sorcery object. This adds the parameter with a default of
+	  "asterisk", such that res_rtp_asterisk is chosen as the default
+	  RTP implementation. (closes issue ASTERISK-22380) Reported by:
+	  Rusty Newton Tested by: Rusty Newton
+
+2013-08-23 22:36 +0000 [r397614]  Matthew Jordan <mjordan at digium.com>
+
+	* / (added): __________ | \ |_______ | | | ______| | / | _ _ _ _ _
+	  | _______| / \ ___| |_ ___ _ __(_)___| | __ / || | / _ \ / __|
+	  __/ _ \ '__| / __| |/ / | || |_______ / ___ \__ \| | __/ | | \__
+	  \ < | || | /_/ \_\___/\__\___|_| |_|___/_|\_\ |_| \__________|
+
+2013-08-23 22:20 +0000 [r397613]  Joshua Colp <jcolp at digium.com>
+
+	* main/bucket.c: Fix building of trunk. Note: This is why I commit
+	  on the weekend.
+
+2013-08-23 22:12 +0000 [r397606]  Matthew Jordan <mjordan at digium.com>
+
+	* main/pbx.c: Fix channel reference leak in Originated channels
+	  When originating channels, ast_pbx_outgoing_* caused the dialed
+	  channel reference to be bumped twice. Ostensibly, this routine is
+	  bumping the channel lifetime such that the channel doesn't get
+	  nuked in between locks/unlocks; however, since the routine should
+	  return the dialed channel with its reference bumped, it only
+	  needs to do this one time.
+
+2013-08-23 21:53 +0000 [r397603]  Mark Michelson <mmichelson at digium.com>
+
+	* res/res_pjsip.c: Add some clarifying documentation to the
+	  rewrite_contact endpoint option.
+
+2013-08-23 21:51 +0000 [r397602]  Richard Mudgett <rmudgett at digium.com>
+
+	* main/bridge_channel.c: Blank line tweaks.
+
+2013-08-23 21:49 +0000 [r397599-397600]  Joshua Colp <jcolp at digium.com>
+
+	* include/asterisk/config_options.h, tests/test_bucket.c (added),
+	  build_tools/menuselect-deps.in, configure,
+	  include/asterisk/autoconfig.h.in, main/Makefile, main/bucket.c
+	  (added), configure.ac, main/config_options.c, makeopts.in,
+	  main/asterisk.c, include/asterisk/bucket.h (added),
+	  main/sorcery.c: Add the bucket API. Bucket is a URI based API for
+	  the creation, retrieval, updating, and deletion of "buckets" and
+	  files contained within them. Review:
+	  https://reviewboard.asterisk.org/r/2715/
+
+	* include/asterisk/sorcery.h: Fix a bug where the argc value was
+	  passed as no_doc when registering custom sorcery types. This also
+	  adds a _nodoc equivalent.
+
+2013-08-23 21:02 +0000 [r397593]  Mark Michelson <mmichelson at digium.com>
+
+	* main/bridge_channel.c: Add test events necessary for bridge tests
+	  to pass in the test suite. (closes issue AST-1200) reported by
+	  John Bigelow Review: https://reviewboard.asterisk.org/r/2790/
+
+2013-08-23 20:14 +0000 [r397585]  Matthew Jordan <mjordan at digium.com>
+
+	* main/stasis_channels.c: Fix error in using
+	  ast_channel_snapshot_type before initialization Starting Asterisk
+	  would kick back an ERROR message stating that the Stasis message
+	  type ast_channel_snapshot_type was used prior to initialization.
+	  This occurred due to the caching topic being created prior to the
+	  message type that it depended on. This patch re-orders the start
+	  up such that the message type is initialized prior to the caching
+	  topic. It also checks the return value of the initialization of
+	  the agent login/logoff types.
+
+2013-08-23 19:05 +0000 [r397578]  Jonathan Rose <jrose at digium.com>
+
+	* bridges/bridge_native_rtp.c: bridge_native_rtp: Fix hold chain
+	  bugs caused by native RTP bridge framehook Issuing hold/unhold
+	  would lead to odd behavior. Between two chan_sip devices, a hold
+	  could cause an endless chain of updates while with pjsip a
+	  similar chain would begin but then end somewhat randomly. This
+	  patch fixes that by no longer tweaking the RTP glue on both sides
+	  of the call for every HOLD/UNHOLD/UPDATE_RTP_PEER frame. (issue
+	  ASTERISK-22217) Reported by: Matt Jordan Review:
+	  https://reviewboard.asterisk.org/r/2794/
+
+2013-08-23 18:33 +0000 [r397577]  Richard Mudgett <rmudgett at digium.com>
+
+	* main/channel.c, include/asterisk/bridge_channel_internal.h,
+	  main/bridge.c, include/asterisk/bridge_channel.h,
+	  main/channel_internal_api.c,
+	  bridges/bridge_builtin_interval_features.c,
+	  include/asterisk/channel.h, res/res_musiconhold.c,
+	  main/bridge_channel.c: Handle DTMF and hold wrapup when a channel
+	  leaves the bridging system. DTMF start/end and hold/unhold events
+	  have state because a DTMF begin event and hold event must be
+	  ended by something. The following cases need to be handled when a
+	  channel is moved around in the system. * When a channel leaves a
+	  bridge it may owe a DTMF end event to the bridge. * When a
+	  channel leaves a bridge it may owe an UNHOLD event to the bridge.
+	  (This case is explicitly ignored because things like transfers
+	  need explicit control over this.) * When a channel leaves the
+	  bridging system it may need to simulate a DTMF end event to the
+	  channel. * When a channel leaves the bridging system it may need
+	  to simulate an UNHOLD event to the channel. The patch also fixes
+	  the following: * Fixes playing a file and restarting MOH using
+	  the latest MOH class used. (closes issue ASTERISK-22043) Reported
+	  by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2791/
+
+2013-08-23 18:10 +0000 [r397571]  Matthew Jordan <mjordan at digium.com>
+
+	* tests/test_sorcery_astdb.c, tests/test_sorcery.c,
+	  tests/test_sorcery_realtime.c: Fix sorcery unit tests When strict
+	  XML documentation checking was re-enabled, the test objects used
+	  in sorcery would fail to register as the types were not marked
+	  internal and the nodoc option wasn't used for the options. This
+	  fixes that problem, such that, as one would hope, they once again
+	  pass.
+
+2013-08-23 18:07 +0000 [r397570]  Richard Mudgett <rmudgett at digium.com>
+
+	* include/asterisk/backtrace.h, main/lock.c,
+	  include/asterisk/utils.h, include/asterisk/astmm.h, /,
+	  main/backtrace.c, main/logger.c, main/utils.c,
+	  include/asterisk/lock.h, main/astmm.c, channels/sig_pri.c,
+	  main/astobj2.c: Fix memory corruption when trying to get "core
+	  show locks". Review https://reviewboard.asterisk.org/r/2580/
+	  tried to fix the mismatch in memory pools but had a math error
+	  determining the buffer size and didn't address other similar
+	  memory pool mismatches. * Effectively reverted the previous patch
+	  to go in the same direction as trunk for the returned memory pool
+	  of ast_bt_get_symbols(). * Fixed memory leak in
+	  ast_bt_get_symbols() when BETTER_BACKTRACES is defined. * Fixed
+	  some formatting in ast_bt_get_symbols(). * Fixed sig_pri.c
+	  freeing memory allocated by libpri when MALLOC_DEBUG is enabled.

[... 16723 lines stripped ...]



More information about the asterisk-commits mailing list